@charset "UTF-8";

/*  reset
-------------------------------------------------------*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

*,
::before,
::after {
  background-repeat: no-repeat;
  zoom: 1;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

html,
body {
  font-size: 62.5%;
  -webkit-overflow-scrolling: touch;
}

html {
  overflow-y: scroll;
  cursor: default;
}

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-print-color-adjust: exact;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  font-weight: 700;
  line-height: 1em;
}

ol,
ul,
li {
  list-style: none;
  zoom: normal;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

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

th {
  font-weight: normal;
}

td,
th {
  padding: 0;
}

blockquote {
  quotes: none;
}

blockquote:before,
blockquote:after {
  content: '';
  content: none;
}

a {
  color: inherit;
  background-color: transparent;
  text-decoration: none;
  -webkit-text-decoration-skip: objects;
  cursor: pointer;
}

a:active,
a:hover {
  outline-width: 0;
}

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

img {
  border-style: none;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}

[type="text"],
[type="tel"],
[type="email"],
[type="date"],
[type="number"],
[type="submit"],
[type="button"],
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

@media all and (-ms-high-contrast: none) {

  [type="text"],
  [type="tel"],
  [type="email"],
  [type="date"],
  [type="number"],
  [type="submit"],
  [type="button"],
  textarea,
  select {
    font-family: sans-serif !important;
  }
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}

input,
select {
  vertical-align: middle;
}

select {
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select::-ms-expand {
  display: none;
}

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
}

/* IEのinput要素に出てくるマークを消去 */
input::-ms-clear {
  visibility: hidden;
}

/* IEのinput要素に出てくるマークを消去 */
input::-ms-reveal {
  visibility: hidden;
}

@font-face {
  font-family: 'NotoSansJP';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansJP/NotoSansJP-Regular.eot");
  src: url("../fonts/NotoSansJP/NotoSansJP-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansJP/NotoSansJP-Regular.woff2") format("woff2"), url("../fonts/NotoSansJP/NotoSansJP-Regular.woff") format("woff"), url("../fonts/NotoSansJP/NotoSansJP-Regular.ttf") format("truetype");
}

@font-face {
  font-family: 'NotoSansJP';
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSansJP/NotoSansJP-Medium.eot");
  src: url("../fonts/NotoSansJP/NotoSansJP-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansJP/NotoSansJP-Medium.woff2") format("woff2"), url("../fonts/NotoSansJP/NotoSansJP-Medium.woff") format("woff"), url("../fonts/NotoSansJP/NotoSansJP-Medium.ttf") format("truetype");
}

@font-face {
  font-family: 'NotoSansJP';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansJP/NotoSansJP-Bold.eot");
  src: url("../fonts/NotoSansJP/NotoSansJP-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/NotoSansJP/NotoSansJP-Bold.woff2") format("woff2"), url("../fonts/NotoSansJP/NotoSansJP-Bold.woff") format("woff"), url("../fonts/NotoSansJP/NotoSansJP-Bold.ttf") format("truetype");
}

@font-face {
  font-family: 'Pill Gothic 300mg';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/PillGothic300mg/PillGothic300mg-Regular.eot");
  src: url("../fonts/PillGothic300mg/PillGothic300mg-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/PillGothic300mg/PillGothic300mg-Regular.woff2") format("woff2"), url("../fonts/PillGothic300mg/PillGothic300mg-Regular.woff") format("woff"), url("../fonts/PillGothic300mg/PillGothic300mg-Regular.ttf") format("truetype");
}

/*  html / body
-------------------------------------------------------*/
html {
  font-size: 62.5%;
}

body {
  width: 100%;
  height: 100%;
  color: #333333;
  background-color: #ffffff;
  font-family: "NotoSansJP", sans-serif;
  font-size: 3.73333vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .15em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  overflow-x: hidden;
}

@media all and (-ms-high-contrast: none) {
  body {
    font-family: sans-serif !important;
  }
}

@media screen and (min-width: 751px) {
  body {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  body {
    font-size: 1.5em;
  }
}

/*  リンク
-------------------------------------------------------*/
a.on--opa {
  display: inline-block;
  transition: opacity .4s;
}

a.on--opa:hover {
  opacity: 0.7;
}

.on--popup {
  position: relative;
  display: block;
}

.on--popup:after {
  content: '';
  position: absolute;
  bottom: 2vw;
  right: 2vw;
  display: inline-block;
  width: 5.33333vw;
  height: 5.33333vw;
  background-image: url(../img/common/popup.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 1;
}

@media screen and (min-width: 751px) {
  .on--popup:after {
    bottom: 0.78125vw;
    right: 0.78125vw;
    width: 2.34375vw;
    height: 2.34375vw;
  }
}

@media screen and (min-width: 1201px) {
  .on--popup:after {
    bottom: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
  }
}

/*  header
-------------------------------------------------------*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

.header-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 16vw 0 2.66667vw;
  width: 100%;
  height: 16vw;
  background-color: #ffffff;
}

.header-logo {
  width: 52vw;
}

.header-logo img {
  width: 12vw;
}

.header-logo a {
  display: block;
}

.header-logo span {
  font-size: 2vw;
  letter-spacing: 0.2em;
  line-height: 1.3;
  display: inline-block;
  width: 34vw;
  margin-left: 5px;
  position: relative;
  top: -2px;
}

.header-logo span span {
  background: #333;
  color: #fff;
  display: block;
  padding: 3px 5px 3px;
  text-align: center;
  margin: 5px 0 0px;
  font-size: 2vw;
}

@media screen and (max-width: 750px) {
  .header.is-open .header-bar {
    position: fixed;
    top: 0;
    left: 0;
  }

  /* .header-logo {
    width: 50vw;
  }
  .header-logo span {
    width: 35vw;
  } */
  .header-logo a {
    display: flex;
    align-items: center;
  }
}

@media screen and (min-width: 751px) {
  .header-bar {
    position: fixed;
    padding: 0 6.25vw 0 3.90625vw;
    height: 6.25vw;
  }

  .header--front .header-bar {
    position: relative;
    background-color: #ffffff;
  }

  .header-logo {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 140px;
    /* width: 16.40625vw;
    height: 12.5vw; */
    background-color: #ffffff;
    text-align: center;
    margin: 15px 0 0 10px;
    height: auto;
  }


  .header-logo a {
    /* width: 9.375vw; */
    width: 100%;
  }

  .header-logo img {
    width: 90px;
  }

  .header-logo span {
    display: block;
    width: auto;
    font-size: 11px;
    width: 145px;
    position: static;
    margin-left: 0;
    text-align: left;
    margin-top: 5px;
  }

  .header-logo span span {
    font-size: 11px;
    padding: 3px 5px 5px;

    margin: 5px 0 3px;
  }

  .header.is-scroll .header-logo {
    visibility: hidden;
    opacity: 0;
  }

  .header-contacts {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-left: auto;
    width: 44.84375vw;
  }
}

@media screen and (min-width: 1201px) {
  .header-bar {
    padding: 0 80px 0 50px;
    height: 80px;
  }

  .header-logo {
    width: 140px;
    /* height: 160px; */
    text-align: center;
    margin: 15px 0 0 10px;
    height: auto;
  }

  .header-logo a {
    /* width: 120px; */
    width: 100%;
  }

  .header-logo img {
    width: 120px;
  }

  .header-logo span {
    font-size: 11px;
    letter-spacing: 0.2em;
    line-height: 1.3;
    display: block;
  }

  .header-logo span span {
    background: #333;
    color: #fff;
    display: block;
    padding: 3px 5px 5px;
    text-align: center;
    margin: 5px 0 3px;
    font-size: 12px;
  }


  .header-contacts {
    width: 510px;
  }
}

/*  メニュー
-------------------------------------------------------*/
.header-content {
  position: fixed;
  top: 16vw;
  left: 0;
  background-color: #1c7496;
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
  transition: visibility 0.3s;
}

.header-content.is-open {
  width: 100%;
  height: calc(100% - 16vw);
  opacity: 1;
  visibility: visible;
}

.header-content-navis {
  position: relative;
  margin-top: 2vw;
  height: 100%;
  overflow-x: scroll;
  z-index: 999;
}

.header-content-main {
  display: none;
}

@media screen and (min-width: 751px) {
  .header-content {
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #ffffff;
    width: 0;
    transition: width .2s ease-in;
    z-index: 8888;
  }

  .header-content.is-open {
    width: 100%;
    height: 100%;
  }

  .header-content-main {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    background-color: #ffffff;
  }

  .header-main-logo {
    margin: 0 auto 1.95312vw auto;
    width: 16.40625vw;
  }

  .header-content-main .header-cta {
    margin-bottom: 2.34375vw;
  }

  .header-content-main .header-cta .cta {
    border-right: none;
  }

  .header-main-btns {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    width: 31.25vw;
  }

  .header-main-btns a {
    width: 15.23438vw;
  }

  .header-content-navis {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: 50%;
    background-color: #1c7496;
    overflow: hidden;
  }

  .header-content-inner {
    position: relative;
    margin: 0;
    padding: 0 3.90625vw;
    width: 100%;
  }
}

@media screen and (min-width: 1201px) {
  .header-main-logo {
    margin: 0 auto 25px auto;
    width: 210px;
  }

  .header-content-main .header-cta {
    margin-bottom: 30px;
  }

  .header-main-btns {
    width: 400px;
  }

  .header-main-btns a {
    width: 195px;
  }

  .header-cta .cta-comment {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

/* ----------------- グローバルナビ (SP) - */
.navi {
  margin: 8vw auto 12vw auto;
  width: 80vw;
}

.navi>li>div {
  position: relative;
}

.navi-menu {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 16vw;
  cursor: pointer;
}

.navi-en {
  position: relative;
  padding-left: 13.33333vw;
  color: #ffffff;
  font-family: din-2014-narrow, sans-serif;
  font-size: 6.4vw;
  letter-spacing: .15em;
}

.navi-en:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 8vw;
  height: 0.53333vw;
  background-color: #ffffff;
  transform: translateY(-50%);
}

.navi>li>.navi-parent:after {
  content: '＋';
  position: absolute;
  top: 50%;
  right: 0;
  color: #ffffff;
  font-size: 6.4vw;
  font-weight: 500;
  letter-spacing: .15em;
  transform: translateY(-50%);
}

.navi>li>.navi-parent.is-open:after {
  content: 'ー';
}

.navi>li>div:not(.navi-submenu) a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
}

.navi-submenu {
  display: none;
  margin-bottom: 4.66667vw;
  padding-left: 13.33333vw;
}

.navi-submenu-list a {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: .7em 0;
  color: #ffffff;
  font-size: 4.8vw;
  line-height: 1.5em;
}

@media screen and (min-width: 751px) {
  .navi {
    margin: 0 auto 2.73438vw auto;
    width: 100%;
  }

  .navi-menu {
    width: 100%;
    height: 3.51562vw;
  }

  .navi-en {
    position: relative;
    display: block;
    padding-left: 3.90625vw;
    color: #ffffff;
    font-family: din-2014-narrow, sans-serif;
    font-size: 1.875vw;
    letter-spacing: .15em;
    transition: color .4s;
  }

  .navi-en:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 2.34375vw;
    height: 1px;
    background-color: #ffffff;
    transform: translateY(-50%);
  }

  .navi-menu:hover .navi-en {
    color: #040000;
  }

  .navi>li>.navi-parent:after {
    color: #ffffff;
    font-size: 1.875vw;
  }

  .navi>li>.navi-parent.is-open:after {
    content: 'ー';
  }

  .navi>li>div:not(.navi-submenu) a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
  }

  .navi-submenu {
    margin-bottom: 2.73438vw;
    padding-left: 6.64062vw;
  }

  .navi-submenu-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .navi-submenu-list a {
    width: 48%;
    height: 2.73438vw;
    color: #ffffff;
    font-size: 1.25vw;
    transition: color .4s;
  }

  .navi-submenu-list a:hover {
    color: #040000;
  }
}

@media screen and (min-width: 1201px) {
  .navi {
    margin: 0 auto 35px auto;
  }

  .navi-menu {
    height: 45px;
  }

  .navi-en {
    padding-left: 50px;
    font-size: 24px;
    font-size: 2.4rem;
  }

  .navi-en:before {
    width: 30px;
  }

  .navi>li>.navi-parent:after {
    font-size: 24px;
    font-size: 2.4rem;
  }

  .navi-submenu {
    margin-bottom: 35px;
    padding-left: 85px;
  }

  .navi-submenu-list a {
    height: 35px;
    font-size: 16px;
    font-size: 1.6rem;
  }
}

/* ------------------------------------------- subnavi - */
.header-subnavi {
  margin-bottom: 8vw;
}

@media screen and (max-width: 750px) {
  .header-content .header-contacts {
    padding: 13.33333vw 0;
    background-color: #ffffff;
  }

  .header-main-logo {
    margin: 0 auto 6vw auto;
    width: 56vw;
  }

  .header-main-btns {
    margin: 0 auto 8vw auto;
    width: 52vw;
  }

  .header-main-btns a:nth-child(n + 2) {
    margin-top: 5.33333vw;
  }
}

@media screen and (min-width: 751px) {
  .header-subnavi {
    margin-bottom: 0;
  }

  .header-subnavi .subnavi a {
    color: #ffffff;
    transition: color .4s;
  }

  .header-subnavi .subnavi a:hover {
    color: #040000;
  }

  .header-subnavi .subnavi li:first-child::before {
    background-color: #ffffff;
  }

  .header-content-navis .header-contacts {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
}

/* ------------------------------------------- cta - */
.header-cta {
  display: flex;
  justify-content: center;
  margin-bottom: 6.66667vw;
}

@media screen and (min-width: 751px) {
  .header-cta {
    margin-bottom: 0;
  }

  .header-cta .cta-comment {
    font-size: 1vw;
  }
}

@media screen and (min-width: 1201px) {
  .header-cta .cta-comment {
    font-size: 10px;
  }
}

/* ------------------------------------------- social - */
@media screen and (max-width: 750px) {
  .header-bar .header-social {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30.66667vw;
    height: 6.26667vw;
  }

  .header-bar .header-social .social a {
    margin-right: 8vw;
  }

  .header-bar .header-social .social a:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width: 751px) {
  .header-social {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 12.5vw;
    border-left: 1px solid #040000;
  }

  .header-main-social .social--instagram:before {
    background-image: url(../img/common/instagram-wh.svg);
  }

  .header-main-social .social--facebook:before {
    background-image: url(../img/common/facebook-wh.svg);
  }
}

@media screen and (min-width: 1201px) {
  .header-social {
    width: 160px;
    height: 47px;
  }
}

/* ------------------------------------------- toggle - */
.toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 16vw;
  height: 16vw;
  background-color: #1c7496;
  transition: opacity 0.25s ease;
  cursor: pointer;
  z-index: 9999;
}

.header.is-open .toggle {
  position: fixed;
}

.toggle span {
  position: absolute;
  left: 3.6vw;
  height: 1px;
  background-color: #ffffff;
  transition: .3s;
}

.toggle span:nth-of-type(1) {
  top: 6.4vw;
  width: 8.8vw;
}

.toggle span:nth-of-type(2) {
  top: 9.6vw;
  width: 6.13333vw;
}

.toggle.is-active span:nth-of-type(1) {
  top: 8.13333vw;
  transform: rotate(45deg);
}

.toggle.is-active span:nth-of-type(2) {
  top: 8.13333vw;
  width: 8.8vw;
  transform: rotate(-45deg);
}

@media screen and (min-width: 751px) {
  .toggle {
    width: 6.25vw;
    height: 6.25vw;
  }

  .toggle.is-active {
    position: fixed;
    top: 0;
    right: 0;
  }

  .toggle span {
    left: 1.32812vw;
    background-color: #ffffff;
  }

  .toggle span:nth-of-type(1) {
    top: 2.5vw;
    width: 3.51562vw;
  }

  .toggle span:nth-of-type(2) {
    top: 3.75vw;
    width: 2.5vw;
  }

  .toggle.is-active span:nth-of-type(1) {
    top: 3.20312vw;
  }

  .toggle.is-active span:nth-of-type(2) {
    top: 3.20312vw;
    width: 3.59375vw;
  }
}

@media screen and (min-width: 1201px) {
  .toggle {
    width: 80px;
    height: 80px;
  }

  .toggle span {
    left: 17px;
  }

  .toggle span:nth-of-type(1) {
    top: 32px;
    width: 45px;
  }

  .toggle span:nth-of-type(2) {
    top: 48px;
    width: 32px;
  }

  .toggle.is-active span:nth-of-type(1) {
    top: 41px;
  }

  .toggle.is-active span:nth-of-type(2) {
    top: 41px;
    width: 46px;
  }
}

/*  footer
-------------------------------------------------------*/
/* ------------------------------------------- footer - */
.footer {
  margin-top: 32vw;
  margin-bottom: 20vw;
}

@media screen and (min-width: 751px) {
  .footer {
    margin-top: 11.71875vw;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 1201px) {
  .footer {
    margin-top: 150px;
  }
}

/* ------------------------------------------- footer first - */
.footer-first {
  position: relative;
  padding: 26.66667vw 0 11.33333vw 0;
  background-color: #f8f9f9;
}

.footer-logo {
  position: absolute;
  top: -21.73333vw;
  left: 50%;
  width: 43.46667vw;
  height: 43.46667vw;
  transform: translateX(-50%);
  z-index: 2;
}

.footer-logo a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  border-radius: 50%;
}

.footer-logo a img {
  width: 32vw;
}

@media screen and (min-width: 751px) {
  .footer-first {
    padding: 8.59375vw 0 3.90625vw 0;
  }

  .footer-logo {
    top: -6.40625vw;
    width: 12.8125vw;
    height: 12.8125vw;
  }

  .footer-logo a img {
    width: 9.375vw;
  }
}

@media screen and (min-width: 1201px) {
  .footer-first {
    padding: 110px 0 50px 0;
  }

  .footer-logo {
    top: -82px;
    width: 164px;
    height: 164px;
  }

  .footer-logo a img {
    width: 120px;
  }
}

/* ------------------------------------------- infos - */
.footer-info {
  margin: 0 auto;
  width: 89.33333vw;
}

.footer-add {
  margin-bottom: 5.33333vw;
  font-size: 4vw;
  text-align: center;
  line-height: 1.86em;
}

.footer-btn {
  display: none;
}

.footer-cta .cta-comment {
  font-size: 3vw;
}

@media screen and (min-width: 751px) {
  .footer-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 70.3125vw;
  }

  .footer-add {
    margin-bottom: 0;
    width: 24.5vw;
    font-size: 1.17188vw;
    text-align: left;
  }

  .footer-cta {
    width: 32vw;
  }

  .footer-btn {
    display: block;
    width: 14vw;
  }

  .footer-cta .cta-comment {
    font-size: 1vw;
  }

  .footer-btn a:nth-child(n + 2) {
    margin-top: 0.78125vw;
  }
}

@media screen and (min-width: 1201px) {
  .footer-info {
    width: 900px;
  }

  .footer-add {
    width: 330px;
    font-size: 15px;
    font-size: 1.5rem;
  }

  .footer-cta {
    width: 325px;
  }

  .footer-cta .cta-comment {
    font-size: 12px;
    font-size: 1.2rem;
  }

  .footer-btn {
    width: 195px;
  }

  .footer-btn a:nth-child(n + 2) {
    margin-top: 10px;
  }
}

/* ------------------------------------------- footer second - */
.footer-second {
  padding: 8vw 0 6.66667vw 0;
}

.footer-area {
  margin: 0 auto;
  width: 89.33333vw;
}

.footer-area dt {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 4vw;
  padding: 0 0 .15em .15em;
  background-color: #333333;
  color: #ffffff;
  width: 37.33333vw;
  height: 7.46667vw;
  font-size: 4vw;
  font-weight: 500;
}

.footer-area dd {
  position: relative;
  font-size: 3.46667vw;
  font-weight: 500;
  line-height: 2em;
}

@media screen and (min-width: 751px) {
  .footer-second {
    padding: 3.90625vw 0;
  }

  .footer-area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 70.3125vw;
  }

  .footer-area dt {
    display: flex;
    margin-bottom: 0;
    width: 10.9375vw;
    height: 2.1875vw;
    font-size: 1.25vw;
  }

  .footer-area dd {
    width: 51.5625vw;
    font-size: 1.01562vw;
  }

  .footer-area dd:before {
    content: '.............';
    position: absolute;
    top: 50%;
    left: -7.03125vw;
    font-family: "Pill Gothic 300mg";
    transform: translateY(-50%);
  }
}

@media screen and (min-width: 1201px) {
  .footer-second {
    padding: 50px 0;
  }

  .footer-area {
    width: 900px;
  }

  .footer-area dt {
    width: 140px;
    height: 28px;
    font-size: 16px;
    font-size: 1.6rem;
  }

  .footer-area dd {
    width: 660px;
    font-size: 13px;
    font-size: 1.3rem;
  }

  .footer-area dd:before {
    left: -90px;
  }
}

/* ------------------------------------------- footer second - */
.footer-third {
  position: relative;
  padding: 32vw 0 13.33333vw 0;
}

.footer-third:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 48vw;
  background-image: url(../img/footer/bg_sp.jpg);
  background-size: cover;
  background-position: center;
  z-index: -1;
}

@media screen and (min-width: 751px) {
  .footer-third {
    padding: 16.40625vw 0 3.90625vw 0;
  }

  .footer-third:before {
    height: 23.4375vw;
    background-image: url(../img/footer/bg.jpg);
    background-image: image-set(url(../img/footer/bg.jpg) 1x, url(../img/footer/bg-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/footer/bg.jpg) 1x, url(../img/footer/bg-2x.jpg) 2x);
  }
}

@media screen and (min-width: 1201px) {
  .footer-third {
    padding: 210px 0 50px 0;
  }

  .footer-third:before {
    height: 300px;
  }
}

/* ------------------------------------------- navi - */
.footer-navis {
  position: relative;
  margin: 0 auto;
  padding: 8vw 6.66667vw 0 6.66667vw;
  width: 89.86667vw;
}

.footer-navis:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background-color: #ffffff;
  z-index: -1;
}

.footer-navi {
  display: none;
}

@media screen and (min-width: 751px) {
  .footer-navis {
    padding: 3.51562vw 3.90625vw 0 3.90625vw;
    width: 70.3125vw;
  }

  .footer-navi {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 3.51562vw;
  }

  .footer-navi-head {
    margin-bottom: 1em;
    padding-bottom: .8em;
    font-size: 1.01562vw;
    font-weight: 500;
  }

  .footer-navi-head a {
    transition: color .4s;
  }

  .footer-navi-head a:hover {
    color: #1c7496;
  }

  .footer-navi-list {
    display: block;
  }

  .footer-navi-list li:before {
    content: '-';
    margin-right: .5em;
  }

  .footer-navi-list li a {
    position: relative;
    display: inline-block;
    padding: .3em 0;
    font-size: 1.01562vw;
    line-height: 1.4em;
  }

  .footer-navi-list li a:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #1c7496;
    transition: .3s;
  }

  .footer-navi-list li a:hover::after {
    width: 100%;
  }
}

@media screen and (min-width: 1201px) {
  .footer-navis {
    padding: 45px 50px 0 50px;
    width: 900px;
  }

  .footer-navi {
    margin-bottom: 45px;
  }

  .footer-navi-head {
    font-size: 13px;
    font-size: 1.3rem;
  }

  .footer-navi-list li a {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

/* ------------------------------------------- subnavi - */
.footer-subnavi {
  margin-bottom: 8vw;
}

@media screen and (min-width: 751px) {
  .footer-subnavi {
    margin-bottom: 2.34375vw;
  }
}

@media screen and (min-width: 1201px) {
  .footer-subnavi {
    margin-bottom: 30px;
  }
}

/* ------------------------------------------- social - */
.footer-social {
  margin-bottom: 8vw;
}

@media screen and (min-width: 751px) {
  .footer-social {
    margin-bottom: 2.34375vw;
  }
}

@media screen and (min-width: 1201px) {
  .footer-social {
    margin-bottom: 30px;
  }
}

/* ------------------------------------------- copy - */
.footer-copy {
  position: relative;
}

.footer-copy p {
  font-family: din-2014-narrow, sans-serif;
  font-size: 3.46667vw;
  text-align: center;
}

@media screen and (min-width: 751px) {
  .footer-copy p {
    font-size: 1.01562vw;
  }
}

@media screen and (min-width: 1201px) {
  .footer-copy p {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

/* ------------------------------------------- pagetop - */
@media screen and (max-width: 750px) {
  .pagetop {
    display: none !important;
  }
}

@media screen and (min-width: 751px) {
  .pagetop {
    position: fixed;
    bottom: 5.46875vw;
    right: 3.125vw;
    display: flex;
    align-items: center;
    font-family: "Pill Gothic 300mg";
    text-transform: uppercase;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    transition: .3s;
    z-index: 999;
  }

  .pagetop span {
    position: relative;
    padding: 1em 0;
  }

  .pagetop span:before,
  .pagetop span:after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #333333;
  }

  .pagetop span:before {
    top: 0;
  }

  .pagetop span:after {
    bottom: 0;
  }

  .pagetop:before {
    content: '';
    position: absolute;
    bottom: 110%;
    left: 50%;
    display: inline-block;
    width: 0.23438vw;
    height: 5.625vw;
    background-image: url(../img/common/pagetop.png);
    background-image: image-set(url(../img/common/pagetop.png) 1x, url(../img/common/pagetop-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/pagetop.png) 1x, url(../img/common/pagetop-2x.png) 2x);
    transform: translateX(-50%);
    animation: 2s arrow-up infinite ease-in;
  }

  .pagetop:hover {
    opacity: .7;
    cursor: pointer;
  }
}

@media screen and (min-width: 1201px) {
  .pagetop {
    bottom: 70px;
    right: 40px;
  }

  .pagetop:before {
    width: 3px;
    height: 72px;
  }
}

@media all and (-ms-high-contrast: none) {
  .pagetop:before {
    content: none !important;
  }
}

@keyframes arrow-up {
  0% {
    bottom: 110%;
  }

  66% {
    bottom: 130%;
  }
}

/* ------------------------------------------- floating - */
.floating {
  position: fixed;
  top: 50%;
  right: 1.33333vw;
  width: 17.33333vw;
  transform: translateY(-50%);
  z-index: 999;
  display: none;
}

.floating-btn a {
  position: relative;
  display: block;
  padding-top: 8.66667vw;
  width: 100%;
  height: 23.2vw;
  background-size: 100%;
  transition: opacity .4s;
}

.floating-btn a:nth-child(1) {
  background-image: url(../img/footer/label01_sp.png);
}

.floating-btn a:nth-child(2) {
  background-image: url(../img/footer/label02_sp.png);
}

.floating-btn a:before {
  content: '';
  position: absolute;
  left: 50%;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateX(-50%);
}

.floating-btn a:nth-child(1):before {
  top: 3.06667vw;
  width: 4.26667vw;
  height: 3.2vw;
  background-image: url(../img/footer/contact.svg);
}

.floating-btn a:nth-child(2):before {
  top: 3.46667vw;
  width: 4vw;
  height: 3.2vw;
  background-image: url(../img/footer/reserve.svg);
}

.floating-btn a:nth-child(n + 2) {
  margin-top: 3.33333vw;
}

.floating-btn a:hover {
  opacity: 0.7;
}

.floating-btn-en {
  margin-bottom: .3em;
  color: #ffffff;
  font-family: din-2014-narrow, sans-serif;
  font-size: 2.66667vw;
  text-align: center;
  text-transform: uppercase;
}

.floating-btn-jp {
  color: #ffffff;
  font-size: 2.66667vw;
  text-align: center;
  letter-spacing: 0;
}

@media screen and (max-width: 750px) {

  .floating {
    display: none !important;
  }

}

@media screen and (min-width: 751px) {
  .floating {
    top: 45%;
    right: 0.39062vw;
    width: 7.03125vw;
  }

  .floating-btn a {
    padding-top: 3.51562vw;
    height: 9.375vw;
  }

  .floating-btn a:nth-child(1) {
    background-image: url(../img/footer/label01.png);
    background-image: image-set(url(../img/footer/label01.png) 1x, url(../img/footer/label01-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/footer/label01.png) 1x, url(../img/footer/label01-2x.png) 2x);
  }

  .floating-btn a:nth-child(2) {
    background-image: url(../img/footer/label02.png);
    background-image: image-set(url(../img/footer/label02.png) 1x, url(../img/footer/label02-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/footer/label02.png) 1x, url(../img/footer/label02-2x.png) 2x);
  }

  .floating-btn a:nth-child(1):before {
    top: 1.25vw;
    width: 1.79688vw;
    height: 1.32812vw;
  }

  .floating-btn a:nth-child(2):before {
    top: 1.40625vw;
    width: 1.64062vw;
    height: 1.32812vw;
  }

  .floating-btn a:nth-child(n + 2) {
    margin-top: 1.5625vw;
  }

  .floating-btn-en {
    font-size: 1.17188vw;
  }

  .floating-btn-jp {
    font-size: 1.01562vw;
  }
}

@media screen and (min-width: 1201px) {
  .floating {
    right: 5px;
    width: 90px;
  }

  .floating-btn a {
    padding-top: 45px;
    height: 120px;
  }

  .floating-btn a:nth-child(1):before {
    top: 16px;
    width: 23px;
    height: 17px;
  }

  .floating-btn a:nth-child(2):before {
    top: 18px;
    width: 21px;
    height: 17px;
  }

  .floating-btn a:nth-child(n + 2) {
    margin-top: 20px;
  }

  .floating-btn-en {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .floating-btn-jp {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.sp_floating {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 10000;
}

.sp_floating ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.sp_floating ul li {
  width: calc(100% / 3);
}

.sp_floating ul li a {
  text-align: center;
  color: #fff;
  width: 100%;
  padding: 8vw 0 3vw;
  position: relative;
}

.sp_floating ul li a p.en {
  font-family: din-2014-narrow, sans-serif;
  text-transform: uppercase;
  margin-bottom: 0.3em;
}

.sp_floating ul li a p.jp {
  font-size: 2vw;
}

.sp_floating ul li:first-child a {
  background: #fff;
  color: #333;
  border: 1px solid #333;
}

.sp_floating ul li:first-child a::before {
  position: absolute;
  top: 3vw;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: 3.2vw;
  height: 3.2vw;
  background: url(../img/common/telephone.svg) 0 0 no-repeat;
  background-size: cover;
}

.sp_floating ul li:nth-child(2) a {
  background: #1c7496;
  border: 1px solid #1c7496;
}

.sp_floating ul li:nth-child(2) a::before {
  position: absolute;
  top: 3vw;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: 4.26667vw;
  height: 3.2vw;
  background: url(../img/footer/contact.svg) 0 0 no-repeat;
  background-size: cover;
}

.sp_floating ul li:last-child a {
  background: #9a7a3b;
  border: 1px solid #9a7a3b;
}

.sp_floating ul li:last-child a::before {
  position: absolute;
  top: 3vw;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: 4vw;
  height: 3.2vw;
  background: url(../img/footer/reserve.svg) 0 0 no-repeat;
  background-size: cover;
}

@media screen and (min-width: 751px) {

  .sp_floating {
    display: none !important;
  }

}

/*  content
-------------------------------------------------------*/
.content {
  margin-top: 16vw;
}

@media screen and (min-width: 751px) {
  .content {
    margin-top: 6.25vw;
  }
}

@media screen and (min-width: 1201px) {
  .content {
    margin-top: 80px;
  }
}

.sec {
  position: relative;
}

.sec__in {
  position: relative;
  margin: 0 auto;
  width: 89.33333vw;
}

.sec--cmn {
  margin-bottom: 13.33333vw;
}

.sec--bottom {
  margin-top: 13.33333vw;
}

.sec--page {
  padding: 6.66667vw 0 0 0;
}

@media screen and (min-width: 751px) {
  .sec__in {
    width: 78.125vw;
  }

  .sec--cmn {
    margin-bottom: 6.64062vw;
  }

  .sec--bottom {
    margin-top: 6.64062vw;
  }

  .sec--page {
    padding: 2.34375vw 0 0 0;
  }
}

@media screen and (min-width: 1201px) {
  .sec__in {
    width: 1000px;
  }

  .sec--cmn {
    margin-bottom: 85px;
  }

  .sec--bottom {
    margin-top: 85px;
  }

  .sec--page {
    padding: 30px 0 0 0;
  }
}

/*  front -- > #hero
-------------------------------------------------------*/
/* ------------------------------------------- front slide - */
.hero {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 84vw;
  z-index: 2;
}

.hero:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: inherit;
  height: 53.33333vw;
  background-image: url(../img/hero/main_sp.jpg);
  background-size: cover;
  background-position: center;
  z-index: -1;
}

.hero-text {
  position: absolute;
  top: 48vw;
  left: 5.33333vw;
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-size: 7.46667vw;
  font-weight: 700;
  line-height: 1.66em;
  letter-spacing: .25em;
  z-index: 2;
  opacity: 0;
}

.hero-text span {
  opacity: 0;
}

@media screen and (min-width: 751px) {
  .hero {
    margin: 0 auto;
    width: calc(100% - 12.5vw);
    height: 48.4375vw;
  }

  .hero:before {
    left: auto;
    right: 0;
    width: calc(100% - 8.59375vw);
    height: inherit;
    background-image: url(../img/hero/main.jpg);
    background-image: image-set(url(../img/hero/main.jpg) 1x, url(../img/hero/main-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/hero/main.jpg) 1x, url(../img/hero/main-2x.jpg) 2x);
  }

  .hero-text {
    top: 27.34375vw;
    left: 0;
    font-size: 2.8125vw;
  }
}

@media screen and (min-width: 1201px) {
  .hero {
    width: calc(100% - 160px);
    height: 620px;
  }

  .hero:before {
    width: calc(100% - 110px);
  }

  .hero-text {
    top: 350px;
    font-size: 36px;
    font-size: 3.6rem;
  }
}

/* ------------------------------------------- hero-scroll - */
.hero-scroll {
  display: none;
}

@media screen and (min-width: 751px) {
  .hero-scroll {
    position: absolute;
    right: -3.125vw;
    bottom: 1.5625vw;
    display: flex !important;
    align-items: center;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }

  .hero-scroll span {
    position: relative;
    padding: 1em .1em;
    background-color: #333333;
    color: #ffffff;
    font-family: din-2014-narrow, sans-serif;
    font-size: 1.17188vw;
    text-transform: uppercase;
  }

  .hero-scroll a {
    transition: opacity .4s;
  }

  .hero-scroll:before {
    content: '.............';
    position: absolute;
    top: 110%;
    left: 50%;
    margin-left: .5em;
    letter-spacing: .15em;
    transform: translateX(-50%);
    white-space: nowrap;
    animation: 2s arrow-down infinite ease-in;
  }

  .hero-scroll a:hover {
    opacity: .7;
    cursor: pointer;
  }
}

@media all and (-ms-high-contrast: none) {
  .hero-scroll:before {
    content: none !important;
  }
}

@media screen and (min-width: 1201px) {
  .hero-scroll {
    right: -40px;
    bottom: 20px;
  }

  .hero-scroll span {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

@keyframes arrow-down {
  0% {
    top: 110%;
  }

  66% {
    top: 130%;
  }
}

/* front -- > #intro
-------------------------------------------------------------------------------*/
/* ------------------------------------------- section - */
.sec--intro {
  padding: 10.66667vw 0 12vw 0;
  z-index: 2;
}

@media screen and (min-width: 751px) {
  .sec--intro {
    padding: 11.71875vw 0 6.64062vw 0;
  }
}

@media screen and (min-width: 1201px) {
  .sec--intro {
    padding: 150px 0 85px 0;
  }
}

/* ------------------------------------------- content - */
.intro {
  position: relative;
  margin: 0 auto;
  width: 100%;
  z-index: 2;
}

.intro:before {
  content: '';
  position: absolute;
  top: 22vw;
  left: 0;
  width: 100vw;
  height: 120vw;
  background-color: #f8f9f9;
  z-index: -1;
}

.intro-message {
  display: none;
}

.intro-image {
  position: relative;
  display: block;
  width: 48vw;
  height: 72vw;
}

.intro-image img {
  border: 1.06667vw solid #333333;
}

.intro-image:before {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  background-size: auto auto;
  background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  z-index: -1;
}

.intro-box {
  position: relative;
}

.intro-head {
  position: relative;
  margin-bottom: 1em;
  padding-bottom: 1em;
  font-size: 6.93333vw;
  font-weight: 500;
  white-space: nowrap;
  letter-spacing: .05em;
}

.intro-head:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.intro-desc p {
  font-size: 3.46667vw;
  line-height: 2.4em;
}

.intro-desc p:nth-child(n + 2) {
  margin-top: 2.4em;
}

.intro-btn {
  width: 86.66667vw;
}

@media screen and (max-width: 750px) {
  .intro-box {
    top: -19.33333vw;
    left: 4.53333vw;
    margin-bottom: -19.33333vw;
    padding: 8vw 6vw;
    width: 90vw;
    background-color: rgba(255, 255, 255, 0.9);
  }

  .intro-btn {
    margin-top: 8vw;
  }
}

@media screen and (min-width: 751px) {
  .intro-message {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    font-family: din-2014-narrow, sans-serif;
    font-size: 1.17188vw;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .15em;
    white-space: nowrap;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }

  .intro {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    padding: 0 0.78125vw 0 3.90625vw;
    width: 78.125vw;
  }

  .intro:before {
    top: auto;
    bottom: -6.64062vw;
    left: 13.28125vw;
    height: 43.75vw;
  }

  .intro-image {
    width: 32.03125vw;
    height: 47.89062vw;
    order: 2;
  }

  .intro-image img {
    border: 0.3125vw solid #333333;
  }

  .intro-image:before {
    top: 0.78125vw;
    left: 0.78125vw;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
  }

  .intro-content {
    width: 38.28125vw;
    order: 1;
  }

  .intro-head {
    font-size: 2.8125vw;
    letter-spacing: .25em;
  }

  .intro-head:after {
    width: calc(100% - 3em);
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .intro-desc p {
    font-size: 1.17188vw;
  }

  .intro-btn {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 28.125vw;
  }
}

@media screen and (min-width: 1201px) {
  .intro-message {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .intro {
    padding: 0 10px 0 50px;
    width: 1000px;
  }

  .intro:before {
    top: auto;
    bottom: -85px;
    left: 170px;
    height: 560px;
  }

  .intro-image {
    width: 410px;
    height: 613px;
  }

  .intro-image img {
    border: 4px solid #333333;
  }

  .intro-image:before {
    top: 10px;
    left: 10px;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
  }

  .intro-content {
    width: 490px;
  }

  .intro-head {
    font-size: 36px;
    font-size: 3.6rem;
  }

  .intro-head:after {
    height: 2px;
    background-size: auto 2px;
  }

  .intro-desc p {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .intro-btn {
    margin-top: 145px;
    width: 360px;
  }
}

/*  #update
-------------------------------------------------------------------------------*/
/* ------------------------------------------- section - */
.sec--update {
  padding: 13.33333vw 0;
}

.cmn-head--update {
  margin-bottom: 10.66667vw;
}

@media screen and (max-width: 750px) {
  .cmn-head--update .cmn-head-en {
    letter-spacing: .2em;
  }
}

@media screen and (min-width: 751px) {
  .sec--update {
    padding: 4.6875vw 0;
  }

  .cmn-head--update {
    margin: 0 auto 3.90625vw auto;
    width: 70.3125vw;
  }
}

@media screen and (min-width: 1201px) {
  .sec--update {
    padding: 60px 0;
  }

  .cmn-head--update {
    margin-bottom: 50px;
    width: 900px;
  }
}

/* ------------------------------------------- update - */
.updates {
  position: relative;
  margin: 0 auto;
  z-index: 2;
}

.update {
  position: relative;
}

.update-box {
  position: relative;
}

.update-btn {
  margin: 8vw auto 0 auto;
  width: 86.66667vw;
}

@media screen and (max-width: 750px) {
  .updates .update:nth-child(1) {
    margin-bottom: 16vw;
  }
}

@media screen and (min-width: 751px) {
  .updates {
    display: flex;
    justify-content: space-between;
    width: 70.3125vw;
  }

  .updates>div {
    position: relative;
  }

  .updates>div:nth-child(2):after {
    content: '';
    position: absolute;
    top: 0;
    left: -2.34375vw;
    display: inline-block;
    width: 0.15625vw;
    height: 100%;
    background-image: url(../img/update/line.png);
    background-image: image-set(url(../img/update/line.png) 1x, url(../img/update/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/update/line.png) 1x, url(../img/update/line-2x.png) 2x);
    background-size: 0.15625vw auto;
    background-repeat: repeat-y;
  }

  .update--event {
    width: 28.90625vw;
  }

  .update--news {
    width: 36.71875vw;
  }

  .update-box {
    height: 35.15625vw;
  }

  .update-btn {
    position: absolute;
    left: 50%;
    bottom: 0.78125vw;
    margin: 0;
    width: 26.95312vw;
    transform: translateX(-50%);
  }
}

@media screen and (min-width: 1201px) {
  .updates {
    width: 900px;
  }

  .updates>div:nth-child(2):after {
    left: -30px;
    width: 2px;
    background-size: 2px auto;
  }

  .update--event {
    width: 370px;
  }

  .update--news {
    width: 470px;
  }

  .update-box {
    height: 450px;
  }

  .update-btn {
    bottom: 10px;
    width: 345px;
  }
}

/* front -- > #event
-------------------------------------------------------------------------------*/
/* ------------------------------------------- section - */
.sec--event {
  padding: 24vw 0 16vw 0;
  background-color: #f5f5f5;
}

@media screen and (min-width: 751px) {
  .sec--event {
    padding: 6.25vw 0;
  }
}

@media screen and (min-width: 1201px) {
  .sec--event {
    padding: 80px 0;
  }
}

/* ------------------------------------------- event - */
.events {
  position: relative;
  z-index: 2;
}

.events:after {
  content: '';
  position: absolute;
  top: -24vw;
  left: 5.33333vw;
  display: inline-block;
  width: 21.33333vw;
  height: 27.6vw;
  background-image: url(../img/event/pendant.png);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 2;
}

.event-header {
  margin-bottom: 16vw;
}

.events-btn {
  margin: 10.66667vw auto 0 auto;
  width: 66.66667vw;
}

@media screen and (min-width: 751px) {
  .events {
    display: flex;
    justify-content: space-between;
  }

  .events:after {
    top: -6.25vw;
    left: -6.64062vw;
    width: 5.46875vw;
    height: 7.10938vw;
  }

  .event-header {
    margin-bottom: 0;
    width: 14.84375vw;
  }

  .events-btn {
    position: absolute;
    left: 0;
    bottom: 0;
    margin: 0;
    width: 14.84375vw;
  }
}

@media screen and (min-width: 1201px) {
  .events:after {
    top: -80px;
    left: -85px;
    width: 70px;
    height: 91px;
  }

  .event-header {
    width: 190px;
  }

  .events-btn {
    width: 190px;
  }
}

/*  front -- > #blog
-------------------------------------------------------------------------------*/
/* ------------------------------------------- section - */
.sec--blog {
  padding: 13.33333vw 0;
}

.sec--blog:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 23.33333vw;
  width: 100vw;
  height: 126vw;
  background-color: #f8f9f9;
  z-index: -1;
}

.cmn-head--blog {
  margin-bottom: 10.66667vw;
}

@media screen and (min-width: 751px) {
  .sec--blog {
    padding: 4.6875vw 0 9.375vw 0;
  }

  .sec--blog:before {
    bottom: 5.46875vw;
    width: 50vw;
    height: 37.10938vw;
  }

  .sec--blog:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50vw;
    height: 46.48438vw;
    background-color: #f8f9f9;
    z-index: -1;
  }

  .cmn-head--blog {
    margin: 0 auto 3.90625vw auto;
    width: 70.3125vw;
  }
}

@media screen and (min-width: 1201px) {
  .sec--blog {
    padding: 60px 0 120px 0;
  }

  .sec--blog:before {
    bottom: 70px;
    height: 475px;
  }

  .sec--blog:after {
    height: 595px;
  }

  .cmn-head--blog {
    margin-bottom: 50px;
    width: 900px;
  }
}

/* ------------------------------------------- btns - */
.blog-btn {
  margin-top: 8.66667vw;
  width: 86.66667vw;
}

@media screen and (min-width: 751px) {
  .blog-btn {
    margin: 4.6875vw auto 0 auto;
    width: 26.95312vw;
  }
}

@media screen and (min-width: 1201px) {
  .blog-btn {
    margin-top: 60px;
    width: 345px;
  }
}

/*  front -- > #works
-------------------------------------------------------------------------------*/
/* ------------------------------------------- section - */
.sec--works {
  padding: 10.66667vw 0;
  z-index: 1;
}

.cmn-head--works {
  margin-bottom: 21.33333vw;
  z-index: 3;
}

@media screen and (min-width: 751px) {
  .sec--works {
    padding: 5.85938vw 0 2.34375vw 0;
  }

  .cmn-head--works {
    margin: 0 auto 4.6875vw auto;
    width: 70.3125vw;
  }
}

@media screen and (min-width: 1201px) {
  .sec--works {
    padding: 75px 0 30px 0;
  }

  .cmn-head--works {
    margin-bottom: 60px;
    width: 900px;
  }
}

/* ------------------------------------------- works front - */
.works-front {
  position: relative;
  padding-bottom: 28.66667vw;
}

.works-front-main {
  display: none;
}

.works-front-slide {
  position: relative;
  width: 85.33333vw;
}

.works-front-slide .swiper-wrapper {
  margin-bottom: 8vw;
  height: auto;
}

.works-front-slide .swiper-slide {
  opacity: 0.5;
}

.works-front-slide .swiper-slide a {
  position: relative;
  display: block;
}

.works-front-slide .swiper-slide-active {
  opacity: 1;
}

.works-front-title {
  position: absolute;
  top: -8.66667vw;
  left: 3.33333vw;
  padding: 1em 0;
  max-height: 104vw;
  border: 0.53333vw solid #040000;
  border-top: 4vw solid #040000;
  background-color: #ffffff;
  font-weight: 500;
  text-orientation: upright;
  white-space: nowrap;
  line-height: 2em;
  letter-spacing: .2em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  z-index: 2;
}

.works-front-title:before {
  content: '#';
}

.works-front-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 128vw;
}

.works-front-content {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 4vw;
  background-color: #ffffff;
  z-index: 4;
}

.works-front-name {
  font-size: 3.73333vw;
  font-weight: 500;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.works-front-name span:nth-child(n + 2) {
  margin-left: .5em;
}

.works-front-story {
  margin-top: 1em;
}

.works-front-story p {
  font-size: 3.46667vw;
  line-height: 1.5em;
}

.works-btn {
  margin-top: 10vw;
  width: 86.66667vw;
}

@media screen and (max-width: 750px) {
  .works-front-slide {
    margin: 0 auto 7.33333vw auto;
  }
}

@media screen and (min-width: 751px) {
  .works-front {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 11.71875vw auto;
    padding-bottom: 3.90625vw;
    width: 70.3125vw;
  }

  .works-front-main {
    position: relative;
    display: block;
    width: 32.26562vw;
    border-color: #040000;
    border-style: solid;
    border-width: 0.15625vw;
    z-index: 3;
  }

  .works-front-main:before {
    content: '';
    position: absolute;
    top: 0;
    left: 1.95312vw;
    width: 7.03125vw;
    height: 0.78125vw;
    background-color: #040000;
    z-index: 3;
  }

  .works-front-slide {
    top: -2.34375vw;
    margin-bottom: -2.34375vw;
    width: 28.125vw;
  }

  .works-front-slide:after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 100%;
    width: 100vw;
    height: 150%;
    background-color: #ffffff;
    z-index: 2;
  }

  .works-front-slide .swiper-wrapper {
    margin-bottom: 1.5625vw;
  }

  .works-front-slide .swiper-slide:not(.swiper-slide-active) {
    top: -3.125vw;
  }

  .works-front-title {
    top: -3.90625vw;
    left: 1.5625vw;
    max-height: 35.15625vw;
    border: 0.15625vw solid #040000;
    border-top: 1.17188vw solid #040000;
    font-size: 1.17188vw;
    letter-spacing: .15em;
  }

  .works-front-image img {
    height: 42.1875vw;
  }

  .works-front-content {
    padding: 1.17188vw;
  }

  .works-front-name {
    font-size: 1.17188vw;
  }

  .works-front-story p {
    font-size: 1.09375vw;
  }

  .works-btn {
    position: absolute;
    left: 42.73438vw;
    bottom: 0;
    margin: 0;
    width: 26.95312vw;
  }
}

@media screen and (min-width: 1201px) {
  .works-front {
    margin: 0 auto 150px auto;
    padding-bottom: 50px;
    width: 900px;
  }

  .works-front-main {
    width: 413px;
    border-width: 2px;
  }

  .works-front-main:before {
    left: 25px;
    width: 90px;
    height: 10px;
  }

  .works-front-slide {
    top: -30px;
    margin-bottom: -30px;
    width: 360px;
  }

  .works-front-slide .swiper-wrapper {
    margin-bottom: 20px;
  }

  .works-front-slide .swiper-slide:not(.swiper-slide-active) {
    top: 40px;
  }

  .works-front-title {
    top: -50px;
    left: 20px;
    max-height: 450px;
    border: 2px solid #040000;
    border-top: 15px solid #040000;
    font-size: 15px;
    font-size: 1.5rem;
  }

  .works-front-image img {
    height: 540px;
  }

  .works-front-content {
    padding: 15px;
  }

  .works-front-name {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .works-front-story p {
    font-size: 14px;
    font-size: 1.4rem;
  }

  .works-btn {
    left: 547px;
    margin-top: 30px;
    width: 345px;
  }
}

/* ------------------------------------------- works front gallery- */
.works-front-gallery {
  position: relative;
}

.works-front-gallery:before {
  content: '';
  position: absolute;
  top: -8vw;
  left: 0;
  width: 100%;
  height: calc(100% + 16vw);
  background-color: #f8f9f9;
}

@media screen and (min-width: 751px) {
  .works-front-gallery:before {
    top: -2.73438vw;
    width: calc(100% - 14.84375vw);
    height: 23.4375vw;
  }

  .works-front-gallery:after {
    content: '';
    position: absolute;
    bottom: -2.73438vw;
    right: 0;
    width: calc(100% - 14.84375vw);
    height: 23.4375vw;
    background-color: #f8f9f9;
  }
}

@media screen and (min-width: 1201px) {
  .works-front-gallery:before {
    top: -35px;
    width: calc(100% - 190px);
    height: 300px;
  }

  .works-front-gallery:after {
    bottom: -35px;
    width: calc(100% - 190px);
    height: 300px;
  }
}

/*  front -- > #voice
-------------------------------------------------------------------------------*/
/* ------------------------------------------- section - */
.sec--voice {
  padding: 13.33333vw 0;
  z-index: 1;
}

.sec--voice:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 20vw;
  width: 100vw;
  height: 114.66667vw;
  background-color: #f8f9f9;
  z-index: -1;
}

.cmn-head--voice {
  margin-bottom: 13.33333vw;
}

@media screen and (min-width: 751px) {
  .sec--voice {
    padding: 7.42188vw 0 2.34375vw 0;
  }

  .sec--voice:before {
    bottom: 4.53125vw;
    width: calc(100% - 22.65625vw);
    height: 34.375vw;
  }

  .cmn-head--voice {
    margin: 0 auto 4.6875vw auto;
    width: 70.3125vw;
  }
}

@media screen and (min-width: 1201px) {
  .sec--voice {
    padding: 95px 0 30px 0;
  }

  .sec--voice:before {
    bottom: 58px;
    width: calc(100% - 290px);
    height: 440px;
  }

  .cmn-head--voice {
    margin-bottom: 60px;
    width: 900px;
  }
}

/* ------------------------------------------- btns - */
.voice-btn {
  margin-top: 8.66667vw;
  width: 86.66667vw;
}

@media screen and (min-width: 751px) {
  .voice-btn {
    margin: 3.90625vw auto 0 auto;
    width: 26.95312vw;
  }
}

@media screen and (min-width: 1201px) {
  .voice-btn {
    margin-top: 50px;
    width: 345px;
  }
}

/* front -- > #company
-------------------------------------------------------------------------------*/
/* ------------------------------------------- section - */
.sec--company {
  padding: 11.33333vw 0;
}

.cmn-head--company {
  margin-bottom: 34vw;
}

@media screen and (min-width: 751px) {
  .sec--company {
    padding: 5.46875vw 0 3.90625vw 0;
  }

  .cmn-head--company {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 1201px) {
  .sec--company {
    padding: 70px 0 50px 0;
  }
}

/* ------------------------------------------- company - */
.company {
  position: relative;
  padding: 5.33333vw 0 0 0;
}

.company-image {
  position: relative;
  margin: 0 auto 7.33333vw auto;
  width: 74.4vw;
}

.company-catch {
  position: absolute;
  top: -19.33333vw;
  left: 7.33333vw;
  font-size: 4vw;
  font-weight: 500;
  text-align: right;
  line-height: 2em;
  letter-spacing: .3em;
  white-space: nowrap;
  transform: rotate(5deg);
}

.company-catch:before,
.company-catch:after {
  content: '...........';
  position: absolute;
  font-family: "Pill Gothic 300mg";
  letter-spacing: .15em;
}

.company-box {
  position: relative;
  margin-bottom: 16.66667vw;
  padding: 6.66667vw;
  width: 100%;
  background-color: #ffffff;
  border-color: #333333;
  border-style: solid;
  border-width: 0.53333vw;
  z-index: 2;
}

.company-head {
  margin-bottom: 1.5em;
  font-size: 4.53333vw;
  font-weight: 500;
  line-height: 2em;
  letter-spacing: .05em;
}

.company-content p {
  font-size: 3.46667vw;
  line-height: 2.15em;
  letter-spacing: .075em;
}

.company-btn {
  margin-top: 4vw;
  width: 72.26667vw;
}

@media screen and (max-width: 750px) {
  .company-catch:before {
    top: 11.33333vw;
    left: -11.33333vw;
    transform: rotate(60deg);
  }

  .company-catch:after {
    top: 9.33333vw;
    right: -11.33333vw;
    transform: rotate(-80deg);
  }
}

@media screen and (min-width: 751px) {
  .company {
    padding-top: 30.46875vw;
  }

  .company:before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -3.125vw;
    width: 96.875vw;
    height: 34.375vw;
    background-color: #f8f9f9;
    transform: translateX(-50%);
    z-index: -1;
  }

  .company-image {
    position: absolute;
    top: -2.73438vw;
    left: 50%;
    margin: 0;
    width: 36.95312vw;
    transform: translateX(-50%);
  }

  .company-catch {
    top: 14.45312vw;
    left: -23.4375vw;
    font-size: 1.40625vw;
  }

  .company-catch:before,
  .company-catch:after {
    content: '..........................';
  }

  .company-catch:before {
    top: -4.6875vw;
    right: -5.46875vw;
    transform: rotate(25deg);
  }

  .company-catch:after {
    bottom: -3.125vw;
    right: -3.90625vw;
    transform: rotate(-20deg);
  }

  .company-box {
    margin: 0 0 0 auto;
    padding: 3.51562vw 3.51562vw 4.29688vw 3.51562vw;
    width: 39.0625vw;
    border-width: 0.15625vw;
  }

  .company-head {
    font-size: 1.40625vw;
    letter-spacing: .3em;
  }

  .company-content p {
    font-size: 1.17188vw;
  }

  .company-btn {
    margin-top: 2.34375vw;
    width: 30.46875vw;
  }
}

@media screen and (min-width: 1201px) {
  .company {
    padding-top: 390px;
  }

  .company:before {
    bottom: -40px;
    width: 1240px;
    height: 440px;
  }

  .company-image {
    top: -35px;
    width: 473px;
  }

  .company-catch {
    top: 185px;
    left: -300px;
    font-size: 18px;
    font-size: 1.8rem;
  }

  .company-catch:before {
    top: -60px;
    right: -70px;
  }

  .company-catch:after {
    bottom: -40px;
    right: -50px;
  }

  .company-box {
    padding: 45px 45px 55px 45px;
    width: 500px;
    border-width: 2px;
  }

  .company-head {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .company-content p {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .company-btn {
    margin-top: 30px;
    width: 390px;
  }
}

/* ------------------------------------------- company slide- */
.company-slide {
  margin: 0 auto;
  width: 80vw;
  overflow: visible;
}

.company-slide .swiper-wrapper {
  margin-bottom: 2.66667vw;
}

.company-slide .swiper-slide {
  opacity: 0.5;
}

.company-slide .swiper-slide-active {
  top: -9.33333vw;
  opacity: 1;
}

@media screen and (min-width: 751px) {
  .company-slide {
    position: absolute;
    left: -3.90625vw;
    bottom: 7.8125vw;
    margin: 0;
    width: 23.4375vw;
  }

  .company-slide .swiper-wrapper {
    margin-bottom: 0.78125vw;
  }

  .company-slide .swiper-slide-active {
    top: -2.73438vw;
  }
}

@media screen and (min-width: 1201px) {
  .company-slide {
    left: -50px;
    bottom: 100px;
    width: 300px;
  }

  .company-slide .swiper-wrapper {
    margin-bottom: 10px;
  }

  .company-slide .swiper-slide-active {
    top: -35px;
  }
}

/* front -- > #info
-------------------------------------------------------------------------------*/
/* ------------------------------------------- section - */
.sec--info {
  padding: 9.33333vw 0 0 0;
}

@media screen and (min-width: 751px) {
  .sec--info {
    padding: 3.90625vw 0 0 0;
  }
}

@media screen and (min-width: 1201px) {
  .sec--info {
    padding: 50px 0 0 0;
  }
}

/* ------------------------------------------- content - */
.cmn-head--info {
  margin-bottom: 8.66667vw;
}

.info-image {
  position: relative;
  margin-bottom: 10.66667vw;
  width: 88vw;
}

.info-image>div {
  position: relative;
  z-index: 2;
}

.info-image>div:before {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  background-size: auto auto;
  background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  z-index: -1;
}

.info-detail {
  position: relative;
  margin: 0 0 7.33333vw 0;
  padding: 6.66667vw 0 0 0;
}

.info-detail:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.info-detail-head {
  margin-bottom: 6vw;
  font-size: 4.13333vw;
  font-weight: 500;
  line-height: 1.35em;
  letter-spacing: .15em;
}

.info-detail-add p {
  font-size: 4vw;
  line-height: 1.86em;
}

.info-btn {
  margin: 0 0 10.66667vw 0;
  width: 86.66667vw;
}

@media screen and (min-width: 751px) {
  .info {
    position: relative;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    width: 78.125vw;
  }

  .cmn-head--info {
    margin-bottom: 3.125vw;
  }

  .info-image {
    margin: 0;
    width: 37.5vw;
    height: 31.25vw;
  }

  .info-image>div {
    position: absolute;
    top: 0;
    right: 0;
    width: 47.65625vw;
    height: inherit;
  }

  .info-image>div:before {
    top: 0.78125vw;
    left: 0.78125vw;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
  }

  .info-content {
    width: 35.9375vw;
  }

  .info-detail {
    margin: 0 0 2.34375vw auto;
    padding: 2.34375vw 0 0 0;
    width: 32.42188vw;
  }

  .info-detail:before {
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .info-detail-head {
    margin-bottom: 1em;
    font-size: 1.40625vw;
  }

  .info-detail-add p {
    font-size: 1.17188vw;
  }

  .info-btn {
    position: absolute;
    left: 0;
    bottom: 2.34375vw;
    margin: 0;
    width: 25vw;
  }
}

@media screen and (min-width: 1201px) {
  .info {
    width: 1000px;
  }

  .cmn-head--info {
    margin-bottom: 40px;
  }

  .info-image {
    width: 480px;
    height: 400px;
  }

  .info-image>div {
    width: 610px;
  }

  .info-image>div:before {
    top: 10px;
    left: 10px;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
  }

  .info-content {
    width: 460px;
  }

  .info-detail {
    margin-bottom: 30px;
    padding: 30px 0 0 0;
    width: 415px;
  }

  .info-detail:before {
    height: 2px;
    background-size: auto 2px;
  }

  .info-detail-head {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .info-detail-add p {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .info-btn {
    bottom: 30px;
    width: 320px;
  }
}

/*  blog
-------------------------------------------------------*/
/* ------------------------------------------- blogs - */
.blog-slide,
.blog {
  margin: 0 auto;
  z-index: 2;
}

@media screen and (max-width: 750px) {

  .blog-slide,
  .blog {
    padding-right: 2.66667vw;
    width: 82.66667vw;
    z-index: 2;
  }

  .blog-slide .blog {
    padding-right: 0;
    width: 100%;
  }
}

@media screen and (min-width: 751px) {
  .blog {
    padding: 0;
    width: 77.34375vw;
  }

  .blog-slide .swiper-wrapper {
    width: auto !important;
    height: auto !important;
  }
}

@media screen and (min-width: 1201px) {
  .blog {
    width: 990px;
  }
}

/* ------------------------------------------- blog - */
.blog-post {
  position: relative;
  background-color: #ffffff;
  border: 0.53333vw solid #040000;
}

.blog-post:before {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  background-size: auto auto;
  background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  z-index: -1;
}

.blog-post a {
  display: block;
}

@media screen and (max-width: 750px) {
  .blog {
    margin-bottom: 11.33333vw;
    width: 80vw;
  }

  .blog li:nth-child(n + 2) {
    margin-top: 10.66667vw;
  }

  .blog-slide .blog li:nth-child(n + 2) {
    margin-top: 0 !important;
  }
}

@media screen and (min-width: 751px) {
  .blog {
    display: flex;
    flex-wrap: wrap;
    margin-left: -3.51562vw;
  }

  .blog-post {
    margin-left: 3.51562vw;
    width: calc(33.33333% - 3.51562vw);
  }

  .blog-post:before {
    top: 0.78125vw;
    left: 0.78125vw;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
  }

  .blog-post {
    border: 0.15625vw solid #040000;
  }

  .blog li:nth-child(n + 4) {
    margin-top: 5.46875vw;
  }
}

@media screen and (min-width: 1201px) {
  .blog {
    margin-left: -45px;
  }

  .blog-post {
    margin-left: 45px;
    width: calc(33.33333% - 45px);
  }

  .blog-post:before {
    top: 10px;
    left: 10px;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
  }

  .blog-post {
    border: 2px solid #040000;
  }

  .blog li:nth-child(n + 4) {
    margin-top: 70px;
  }
}

/* ------------------------------------------- blog component - */
.blog-image {
  position: relative;
  border-bottom: 0.26667vw solid #040000;
}

.blog-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 65.33333vw;
}

.blog-post a:hover .img--scale img {
  transform: scale(1.1, 1.1);
  cursor: pointer;
}

.blog-new {
  position: absolute;
  top: 2.66667vw;
  left: -0.53333vw;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24vw;
  height: 8vw;
}

.blog-new:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 24vw;
  height: 8vw;
  background-image: url(../img/blog/new_sp.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.blog-content {
  padding: 5.33333vw 7.46667vw;
  height: 57.33333vw;
  background-color: #ffffff;
  overflow: hidden;
}

.blog-date {
  margin-bottom: .5em;
  color: #666666;
  font-family: din-2014-narrow, sans-serif;
  font-size: 4.8vw;
  letter-spacing: .075em;
}

.blog-title {
  position: relative;
  margin-bottom: .8em;
  padding-bottom: .8em;
  min-height: calc(2 * 1.8em);
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.8em;
}

.blog-title:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.blog-excerpt p {
  min-height: calc(3 * 1.8em);
  font-size: 3.46667vw;
  line-height: 1.8em;
}

@media screen and (min-width: 751px) {
  .blog-image {
    border-bottom: 0.15625vw solid #040000;
  }

  .blog-image img {
    height: 19.14062vw;
  }

  .blog-new {
    top: 0.78125vw;
    left: -0.15625vw;
    width: 7.03125vw;
    height: 2.34375vw;
  }

  .blog-new:before {
    width: 7.03125vw;
    height: 2.34375vw;
    background-image: url(../img/blog/new.png);
    background-image: image-set(url(../img/blog/new.png) 1x, url(../img/blog/new-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/blog/new.png) 1x, url(../img/blog/new-2x.png) 2x);
  }

  .blog-content {
    padding: 1.40625vw 2.1875vw 1.5625vw 2.1875vw;
    height: 16.79688vw;
  }

  .blog-date {
    font-size: 1.40625vw;
  }

  .blog-title {
    font-size: 1.17188vw;
  }

  .blog-title:after {
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .blog-excerpt p {
    font-size: 1.01562vw;
  }
}

@media screen and (min-width: 1201px) {
  .blog-image {
    border-bottom: 2px solid #040000;
  }

  .blog-image img {
    height: 245px;
  }

  .blog-new {
    top: 10px;
    left: -2px;
    width: 90px;
    height: 30px;
  }

  .blog-new:before {
    width: 90px;
    height: 30px;
  }

  .blog-content {
    padding: 18px 28px 20px 28px;
    height: 215px;
  }

  .blog-date {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .blog-title {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .blog-title:after {
    height: 2px;
    background-size: auto 2px;
  }

  .blog-excerpt p {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

/*  news
-------------------------------------------------------*/
/* ------------------------------------------- front - */
.news-front a {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 5.33333vw 0;
}

.news-front a:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.news-front a:first-child {
  padding-top: 0 !important;
}

.news-front a:last-child {
  padding-bottom: 0 !important;
}

.news-front a:last-child:after {
  content: none;
}

.news-front-image {
  width: 26.66667vw;
}

.news-front-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 20.66667vw;
}

.news-front a:hover .img--scale img {
  transform: scale(1.1, 1.1);
  cursor: pointer;
}

.news-front-content {
  width: 58.66667vw;
}

.news-front-date {
  margin-bottom: .5em;
  color: #666666;
  font-family: din-2014-narrow, sans-serif;
  font-size: 4.8vw;
  letter-spacing: .075em;
}

.news-front-date .label,
.news-date .label {
  background: #000;
  color: #fff;
  text-transform: uppercase;
  padding: 0 0.5em;
}

.news-front-date .label.label-blog,
.news-date .label.label-blog {
  background: #1c7496;
}

.news-front-date .label.label-works,
.news-date .label.label-works {
  background: #B71C1C;
}

.news-front-title {
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.8em;
  letter-spacing: .15em;
}

@media screen and (min-width: 751px) {
  .news-front a {
    padding: 1.5625vw 0;
  }

  .news-front a:after {
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .news-front-image {
    width: 10.9375vw;
  }

  .news-front-image img {
    height: 7.03125vw;
  }

  .news-front-content {
    width: 24.21875vw;
  }

  .news-front-date {
    font-size: 1.40625vw;
  }

  .news-front-title {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .news-front a {
    padding: 20px 0;
  }

  .news-front a:after {
    height: 2px;
    background-size: auto 2px;
  }

  .news-front-image {
    width: 140px;
  }

  .news-front-image img {
    height: 90px;
  }

  .news-front-content {
    width: 310px;
  }

  .news-front-date {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .news-front-title {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ------------------------------------------- news - */
.news {
  margin: 0 auto;
  width: 80vw;
  z-index: 2;
}

.news li {
  position: relative;
  background-color: #ffffff;
}

.news li:nth-child(n + 2) {
  margin-top: 10.66667vw;
}

.news li:before {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  background-size: auto auto;
  background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  z-index: -1;
}

.news li a {
  position: relative;
  display: block;
  border: 0.53333vw solid #040000;
}

@media screen and (max-width: 750px) {
  .news {
    margin-bottom: 11.33333vw;
    width: 80vw;
  }
}

@media screen and (min-width: 751px) {
  .news {
    width: 100%;
  }

  .news li:nth-child(n + 2) {
    margin-top: 3.90625vw;
  }

  .news li:before {
    top: 0.78125vw;
    left: 0.78125vw;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
  }

  .news li a {
    display: flex;
    align-items: stretch;
    border: 0.15625vw solid #040000;
  }
}

@media screen and (min-width: 1201px) {
  .news li:nth-child(n + 2) {
    margin-top: 50px;
  }

  .news li:before {
    top: 10px;
    left: 10px;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
  }

  .news li a {
    border: 2px solid #040000;
  }
}

/* ------------------------------------------- news component - */
.news-image {
  position: relative;
}

.news-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 53.33333vw;
}

.news a:hover .img--scale img {
  transform: scale(1.1, 1.1);
  cursor: pointer;
}

.news-content {
  padding: 5.33333vw 7.46667vw 6vw 7.46667vw;
  background-color: #ffffff;
}

.news-date {
  margin-bottom: .5em;
  color: #666666;
  font-family: din-2014-narrow, sans-serif;
  font-size: 4.26667vw;
  letter-spacing: .075em;
}

.news-title {
  margin-bottom: 1em;
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.8em;
  letter-spacing: .15em;
}

.news-excerpt p {
  margin-top: 1em;
  font-size: 3.73333vw;
  min-height: calc(3 * 1.8em);
  line-height: 1.8em;
}

@media screen and (min-width: 751px) {
  .news-image {
    width: 27.34375vw;
  }

  .news-image img {
    height: 19.14062vw;
  }

  .news-content {
    padding: 2.73438vw 2.96875vw;
    width: calc(100% - 27.34375vw);
    height: auto;
  }

  .news-date {
    font-size: 1.40625vw;
  }

  .news-title {
    font-size: 1.40625vw;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  .news-excerpt p {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .news-image {
    width: 350px;
  }

  .news-image img {
    height: 245px;
  }

  .news-content {
    padding: 35px 38px;
    width: calc(100% - 350px);
  }

  .news-date {
    margin-bottom: 1em;
    font-size: 18px;
    font-size: 1.8rem;
  }

  .news-title {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .news-excerpt p {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/*  event
-------------------------------------------------------*/
/* ------------------------------------------- front - */
.event-front a {
  position: relative;
  display: block;
  background-color: #ffffff;
}

.event-front-image {
  position: relative;
  margin-bottom: 8vw;
  z-index: 2;
}

.event-front-image:before {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  background-size: auto auto;
  background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  z-index: -1;
}

.event-front-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 57.33333vw;
}

.event-front a:hover .img--scale img {
  transform: scale(1.1, 1.1);
  cursor: pointer;
}

.event-front-date {
  margin-bottom: .5em;
  color: #666666;
  font-family: din-2014-narrow, sans-serif;
  font-size: 4.26667vw;
  letter-spacing: .075em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.event-front-title {
  position: relative;
  display: block;
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.8em;
  letter-spacing: .075em;
}

@media screen and (max-width: 750px) {
  .event-front-image {
    width: 86.66667vw;
  }
}

@media screen and (min-width: 751px) {
  .event-front-image {
    margin-bottom: 2.34375vw;
  }

  .event-front-image:before {
    top: 0.78125vw;
    left: 0.78125vw;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
  }

  .event-front-image img {
    height: 19.14062vw;
  }

  .event-front-head {
    display: flex;
    align-items: flex-start;
    margin-bottom: .5em;
  }

  .event-front-date {
    font-size: 1.40625vw;
  }

  .event-front-title {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .event-front-image {
    margin-bottom: 30px;
  }

  .event-front-image:before {
    top: 10px;
    left: 10px;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
  }

  .event-front-image img {
    height: 245px;
  }

  .event-front-date {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .event-front-title {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ------------------------------------------- event - */
.event {
  margin: 0 auto;
  width: 80vw;
  z-index: 2;
}

.event li {
  position: relative;
  background-color: #ffffff;
}

.event li:nth-child(n + 2) {
  margin-top: 10.66667vw;
}

.event li:before {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  background-size: auto auto;
  background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  z-index: -1;
}

.event li a {
  position: relative;
  display: block;
  border: 0.53333vw solid #040000;
}

@media screen and (max-width: 750px) {
  .event {
    margin-bottom: 11.33333vw;
    width: 80vw;
  }
}

@media screen and (min-width: 751px) {
  .event {
    width: 100%;
  }

  .event li:nth-child(n + 2) {
    margin-top: 3.90625vw;
  }

  .event li:before {
    top: 0.78125vw;
    left: 0.78125vw;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
  }

  .event li a {
    display: flex;
    align-items: stretch;
    border: 0.15625vw solid #040000;
  }
}

@media screen and (min-width: 1201px) {
  .event li:nth-child(n + 2) {
    margin-top: 50px;
  }

  .event li:before {
    top: 10px;
    left: 10px;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
  }

  .event li a {
    border: 2px solid #040000;
  }
}

/* ------------------------------------------- event component - */
.event-image {
  position: relative;
}

.event-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 53.33333vw;
}

.event a:hover .img--scale img {
  transform: scale(1.1, 1.1);
  cursor: pointer;
}

.event-content {
  padding: 5.33333vw 7.46667vw 8vw 7.46667vw;
  background-color: #ffffff;
}

.event-date {
  position: relative;
  margin-bottom: 1em;
}

.event-date:before,
.event-date:after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.event-date:before {
  top: 3.46667vw;
  left: 0;
  transform: translateY(-50%);
}

.event-date:after {
  left: 0;
  bottom: 0;
}

.event-date dt {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-top: -.1em;
  padding-bottom: .1em;
  width: 4em;
  height: 6.93333vw;
  border: 1px solid #040000;
  background-color: #ffffff;
  font-weight: 500;
  letter-spacing: .15em;
}

.event-date dd {
  padding: .8em 0 1.5em 0;
  color: #666666;
  font-family: din-2014-narrow, sans-serif;
  font-size: 1.2em;
  letter-spacing: .15em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.event-title {
  min-height: calc(2 * 1.8em);
  font-weight: 500;
  line-height: 1.8em;
}

.event-overdlay {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 2;
}

.event-closed {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 57.33333vw;
  height: 24vw;
  background-color: #040000;
  color: #ffffff;
  font-family: din-2014-narrow, sans-serif;
  font-size: 9.6vw;
  text-transform: uppercase;
  letter-spacing: .3em;
  transform: rotate(-10deg);
}

@media screen and (min-width: 751px) {
  .event-image {
    width: 27.34375vw;
  }

  .event-image img {
    height: 19.14062vw;
  }

  .event-content {
    padding: 3.51562vw 2.96875vw;
    width: calc(100% - 27.34375vw);
    height: auto;
  }

  .event-date:before,
  .event-date:after {
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .event-date:before {
    top: 1.01562vw;
  }

  .event-date dt {
    height: 2.03125vw;
  }

  .event-date dd {
    padding: .8em 1em 1.5em 1em;
  }

  .event-title {
    font-size: 1.17188vw;
  }

  .event-closed {
    width: 16.79688vw;
    height: 7.03125vw;
    font-size: 2.8125vw;
  }
}

@media screen and (min-width: 1201px) {
  .event-image {
    width: 350px;
  }

  .event-image img {
    height: 245px;
  }

  .event-content {
    padding: 45px 38px;
    width: calc(100% - 350px);
  }

  .event-date:before,
  .event-date:after {
    height: 2px;
    background-size: auto 2px;
  }

  .event-date:before {
    top: 13px;
  }

  .event-date dt {
    height: 26px;
  }

  .event-title {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .event-closed {
    width: 215px;
    height: 90px;
    font-size: 36px;
    font-size: 3.6rem;
  }
}

/*  イベント情報  --> 詳細
-------------------------------------------------------*/
.event-single-image {
  margin-bottom: 13.33333vw;
  width: 100%;
}

@media screen and (min-width: 751px) {
  .event-single-image {
    margin-bottom: 3.90625vw;
  }
}

@media screen and (min-width: 1201px) {
  .event-single-image {
    margin-bottom: 50px;
  }
}

/* ----------------- イベント概要・地図 - */
.event-single-info {
  padding: 11.33333vw 5.33333vw;
  width: 100vw;
  background-color: #f8f9f9;
}

.event-single-info__in {
  margin: 0 auto;
  width: 100%;
}

.event-single-map {
  margin-top: 5.33333vw;
}

@media screen and (max-width: 750px) {
  .event-single-info {
    margin-left: -5.33333vw;
  }
}

@media screen and (min-width: 751px) {
  .event-single-info {
    margin-left: 0;
    padding: 3.125vw 3.90625vw 3.90625vw 3.90625vw;
    width: 100%;
  }

  .event-single-info__in {
    display: flex;
    align-content: space-between;
    margin-left: 0;
    width: 100%;
  }

  .event-single-data {
    width: calc(100% - 35.15625vw);
    align-self: flex-start;
  }

  .event-single-data--ful {
    width: 100% !important;
  }

  .event-single-map {
    margin-top: 0;
    margin-left: 2.34375vw;
    width: 34.375vw;
    align-self: flex-start;
  }
}

@media screen and (min-width: 1201px) {
  .event-single-info {
    padding: 40px 50px 50px 50px;
  }

  .event-single-data {
    width: calc(100% - 450px);
  }

  .event-single-map {
    margin-left: 30px;
    width: 440px;
  }
}

.event-single-summary dt {
  display: inline-block;
  padding: .5em 0;
  width: 8em;
  font-weight: 500;
  line-height: 1.6em;
}

.event-single-summary dd {
  margin-bottom: .5em;
  padding: .5em 1em;
  border-left: 1px solid #040000;
  width: 100%;
  line-height: 1.6em;
}

.event-single-summary dd span {
  font-family: din-2014-narrow, sans-serif, "NotoSansJP", sans-serif;
  font-size: 1.33em;
}

.event-single-summary dt:last-of-type,
.event-single-summary dd:last-of-type {
  margin-bottom: 0;
}

@media screen and (min-width: 751px) {
  .event-single-summary {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .event-single-summary dt {
    align-items: flex-start;
    display: block;
    margin: 0 0 1.5em 0;
    width: 10.15625vw;
    font-size: 1.17188vw;
  }

  .event-single-summary dd {
    margin-bottom: 1.5em;
    padding: .5em 1.5em;
    width: calc(100% - 10.15625vw);
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .event-single-summary dt {
    margin: 0 0 1.5em 0;
    width: 130px;
    font-size: 15px;
    font-size: 1.5rem;
  }

  .event-single-summary dd {
    margin-bottom: 1.5em;
    width: calc(100% - 130px);
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ----------------- イベントカテゴリ - */
.event-category {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 6.66667vw 0 0 -2.66667vw;
}

.event-category li {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 2.66667vw;
  margin-bottom: 2.66667vw;
  padding: 0 1em .1em 1em;
  width: calc(50% - 2.66667vw);
  height: 12.53333vw;
  color: #ffffff;
  font-size: 4.26667vw;
  font-weight: 500;
}

.event-category--cat1 {
  background-color: #333333;
}

.event-category--cat2 {
  background-color: #d3b3a1;
}

.event-category--cat3 {
  background-color: #9cafb9;
}

.event-category--cat4 {
  background-color: #af879e;
}

@media screen and (min-width: 751px) {
  .event-category {
    margin: 2.34375vw 0 0 0;
    justify-content: flex-start;
    flex-wrap: nowrap;
  }

  .event-category li {
    margin: 0 .5em 0 0;
    width: auto;
    height: 3.67188vw;
    font-size: 1.40625vw;
  }

  .event-category li:last-child {
    margin: 0;
  }
}

@media screen and (min-width: 1201px) {
  .event-category {
    margin-top: 30px;
  }

  .event-category li {
    height: 47px;
    font-size: 18px;
    font-size: 1.8rem;
  }
}

/*  works
-------------------------------------------------------*/
/* ------------------------------------------- archive - */
/* ------------------------------------------- works - */
.works-post {
  position: relative;
  background-color: #ffffff;
  border: 0.53333vw solid #040000;
}

.works-post:before {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  background-size: auto auto;
  background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  z-index: -1;
}

.works-post a {
  display: block;
}

@media screen and (max-width: 750px) {
  .works {
    margin: 0 auto;
    width: 80vw;
  }

  .works-slide {
    margin: 0 auto;
    width: 80vw;
  }

  .works-slide .swiper-wrapper {
    margin-bottom: 8vw;
  }

  .works li:nth-child(n + 2) {
    margin-top: 10.66667vw;
  }

  .works-slide .works li:nth-child(n + 2) {
    margin-top: 0 !important;
  }
}

@media screen and (min-width: 751px) {
  .works-archive {
    width: 77.34375vw;
  }

  .works-slide .swiper-wrapper {
    width: auto;
  }

  .works {
    display: flex;
    flex-wrap: wrap;
    margin-left: -3.51562vw;
  }

  .works-post {
    margin-left: 3.51562vw;
    width: calc(33.33333% - 3.51562vw);
  }

  .works-post:before {
    top: 0.78125vw;
    left: 0.78125vw;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
  }

  .works-post {
    border: 0.15625vw solid #040000;
  }

  .works li:nth-child(n + 4) {
    margin-top: 5.46875vw;
  }
}

@media screen and (min-width: 1201px) {
  .works-archive {
    width: 990px;
  }

  .works {
    margin-left: -45px;
  }

  .works-post {
    margin-left: 45px;
    width: calc(33.33333% - 45px);
  }

  .works-post:before {
    top: 10px;
    left: 10px;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
  }

  .works-post {
    border: 2px solid #040000;
  }

  .works li:nth-child(n + 4) {
    margin-top: 70px;
  }
}

/* ------------------------------------------- works component - */
.works-image {
  position: relative;
  border-bottom: 0.26667vw solid #040000;
}

.works-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 65.33333vw;
}

.works-post a:hover .img--scale img {
  transform: scale(1.1, 1.1);
  cursor: pointer;
}

.works-new {
  position: absolute;
  top: 2.66667vw;
  left: -0.53333vw;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24vw;
  height: 8vw;
  z-index: 2;
}

.works-new:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 24vw;
  height: 8vw;
  background-image: url(../img/works/new_sp.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.works-content {
  position: relative;
  padding: 8.66667vw 7.46667vw 5.33333vw 7.46667vw;
  background-color: #ffffff;
  overflow: hidden;
}

.works-cat {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .3em .5em .4em .7em;
  background-color: #333333;
  color: #ffffff;
  font-size: 3.73333vw;
  font-weight: 500;
}

.works-name {
  position: relative;
  margin-bottom: .8em;
  padding-bottom: .8em;
  color: #666666;
  font-size: 4vw;
  letter-spacing: .2em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.works-name span:nth-child(n + 2) {
  margin-left: .5em;
}

.works-name:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.works-title {
  position: relative;
  margin-bottom: .8em;
  min-height: calc(2 * 1.8em);
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.8em;
}

@media screen and (min-width: 751px) {
  .works-image {
    border-bottom: 0.15625vw solid #040000;
  }

  .works-image img {
    height: 15.625vw;
  }

  .works-new {
    top: 0.78125vw;
    left: -0.15625vw;
    width: 7.03125vw;
    height: 2.34375vw;
  }

  .works-new:before {
    width: 7.03125vw;
    height: 2.34375vw;
    background-image: url(../img/works/new.png);
    background-image: image-set(url(../img/works/new.png) 1x, url(../img/works/new-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/works/new.png) 1x, url(../img/works/new-2x.png) 2x);
  }

  .works-content {
    padding: 2.73438vw 2.1875vw 1.5625vw 2.1875vw;
    height: 12.89062vw;
  }

  .works-cat {
    font-size: 1.09375vw;
  }

  .works-name {
    font-size: 1.17188vw;
  }

  .works-name:after {
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .works-title {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .works-image {
    border-bottom: 2px solid #040000;
  }

  .works-image img {
    height: 200px;
  }

  .works-new {
    top: 10px;
    left: -2px;
    width: 90px;
    height: 30px;
  }

  .works-new:before {
    width: 90px;
    height: 30px;
  }

  .works-content {
    padding: 35px 28px 20px 28px;
    height: 165px;
  }

  .works-cat {
    font-size: 14px;
    font-size: 1.4rem;
  }

  .works-name {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .works-name:after {
    height: 2px;
    background-size: auto 2px;
  }

  .works-title {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ------------------------------------------- single - */
.works-single-head {
  position: relative;
  margin-bottom: 1.5em;
  padding-left: 13.33333vw;
  font-size: 4.8vw;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: .15em;
}

.works-single-head:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 10.66667vw;
  height: 0.26667vw;
  background-color: #040000;
}

@media screen and (min-width: 751px) {
  .works-single-head {
    margin-bottom: 1.5em;
    padding-left: 6.25vw;
    font-size: 1.875vw;
  }

  .works-single-head:before {
    width: 4.6875vw;
    height: 0.07812vw;
  }
}

@media screen and (min-width: 1201px) {
  .works-single-head {
    margin-bottom: 1.5em;
    padding-left: 80px;
    font-size: 24px;
    font-size: 2.4rem;
  }

  .works-single-head:before {
    width: 60px;
    height: 1px;
  }
}

/* ---------------------------- images - */
.works-single-image,
.works-before {
  margin-bottom: 5.33333vw;
}

@media screen and (min-width: 751px) {

  .works-single-image,
  .works-before {
    margin-bottom: 2.34375vw;
  }
}

@media screen and (min-width: 1201px) {

  .works-single-image,
  .works-before {
    margin-bottom: 30px;
  }
}

/* ---------------------------- commont - */
.works-single-desc {
  padding: 1em;
  width: 100%;
  background-color: #f8f9f9;
}

.works-single-desc p {
  font-size: 3.73333vw;
  line-height: 2em;
}

@media screen and (min-width: 751px) {
  .works-single-desc {
    padding: 2em;
  }

  .works-single-desc p {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .works-single-desc {
    padding: 2em;
  }

  .works-single-desc p {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ------------------------------------------- works-before-main - */
.works-before-main {
  position: relative;
  margin-bottom: 2.66667vw;
  width: 100%;
  height: 64vw;
  background-size: contain;
  background-position: center top;
  transition: background-image .05s;
}

.works-before-thumb {
  display: flex;
  flex-wrap: wrap;
  margin-left: -2.66667vw;
}

.works-before-thumb li {
  margin: 0 0 0 2.66667vw;
  width: calc(25% - 2.66667vw);
  height: 16vw;
  background-size: cover;
  background-position: center center;
  transition: opacity .3s;
}

.works-before-thumb li:hover {
  opacity: 0.7;
  cursor: pointer;
}

.works-before-desc {
  margin-top: 5.33333vw;
}

.works-before-desc p {
  font-size: 3.73333vw;
  line-height: 2em;
}

@media screen and (max-width: 750px) {
  .works-before-thumb li:nth-child(n + 5) {
    margin-top: 2.66667vw;
  }
}

@media screen and (min-width: 751px) {
  .works-before {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  .works-before-main {
    margin-bottom: 0;
    width: 39.0625vw;
    height: 29.29688vw;
  }

  .works-before-thumb {
    margin-left: -1.17188vw;
    width: 37.10938vw;
  }

  .works-before-thumb li {
    margin: 0 0 0 1.17188vw;
    width: calc(33.33333% - 2vw);
    height: 8.98438vw;
  }

  .works-before-thumb li:nth-child(n + 4) {
    margin-top: 1.17188vw;
  }

  .works-before-desc {
    margin-top: 2.34375vw;
  }

  .works-before-desc p {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .works-before-main {
    width: 500px;
    height: 375px;
  }

  .works-before-thumb {
    margin-left: -15px;
    width: 475px;
  }

  .works-before-thumb li {
    margin: 0 0 0 15px;
    width: calc(33.33333% - 15px);
    height: 115px;
  }

  .works-before-thumb li:nth-child(n + 4) {
    margin-top: 15px;
  }

  .works-before-desc {
    margin-top: 30px;
  }

  .works-before-desc p {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ---------------------------- perth - */
.works-single-perth li {
  margin-bottom: 8.66667vw;
  width: 100%;
}

.works-single-perth li:last-child {
  margin-bottom: 0;
}

.works-single-perth-head {
  position: relative;
  display: inline-block;
  margin-bottom: 4vw;
  padding: .2em .5em;
  background-color: #333333;
  color: #ffffff;
  font-family: din-2014-narrow, sans-serif;
  font-size: 4.8vw;
  text-align: center;
}

.works-single-perth-image {
  margin-bottom: .7em;
}

.works-single-perth-image a {
  display: block;
  text-align: center;
}

.works-single-perth-image img {
  object-fit: contain;
  object-position: top center;
  font-family: 'object-fit: contain; object-position: bottom;';
  height: 59.33333vw;
}

@media screen and (min-width: 751px) {
  .works-single-perth {
    display: flex;
    margin-left: -2.34375vw;
  }

  .works-single-perth li {
    margin: 0 0 0 2.34375vw;
    width: calc(50% - 2.34375vw);
  }

  .works-single-perth-head {
    margin-bottom: 1.5625vw;
    font-size: 1.875vw;
  }

  .works-single-perth-image img {
    height: 19.53125vw;
  }
}

@media screen and (min-width: 1201px) {
  .works-single-perth {
    display: flex;
    margin: 0 0 0 -30px;
  }

  .works-single-perth li {
    margin-left: 30px;
    width: calc(50% - 30px);
  }

  .works-single-perth-head {
    margin-bottom: 20px;
    font-size: 24px;
    font-size: 2.4rem;
  }

  .works-single-perth-image img {
    height: 250px;
  }
}

/* ---------------------------- point - */
.works-single-point {
  display: flex;
  flex-wrap: wrap;
  margin: 6.66667vw 0 0 -2.66667vw;
}

.works-single-point>li {
  display: block;
  margin: 0 0 0 2.66667vw;
  width: calc(50% - 2.66667vw);
}

.works-single-point>li a {
  display: block;
}

.works-single-point>li img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 28.66667vw;
}

.works-single-point li:hover .img--scale img {
  transform: scale(1.1, 1.1);
  cursor: pointer;
}

.works-single-point-image {
  margin-bottom: 1em;
}

.works-single-point-desc p {
  line-height: 1.8em;
}

@media screen and (max-width: 750px) {
  .works-single-point>li:nth-child(n + 3) {
    margin-top: 8.66667vw;
  }
}

@media screen and (min-width: 751px) {
  .works-single-point {
    margin: 3.51562vw 0 0 -2.73438vw;
  }

  .works-single-point>li {
    margin: 0 0 0 2.73438vw;
    width: calc(33.33333% - 2.73438vw);
  }

  .works-single-point>li:nth-child(n + 4) {
    margin-top: 3.90625vw;
  }

  .works-single-point>li img {
    height: 17.1875vw;
  }
}

@media screen and (min-width: 1201px) {
  .works-single-point {
    margin: 45px 0 0 -35px;
  }

  .works-single-point>li {
    margin: 0 0 0 35px;
    width: calc(33.33333% - 35px);
  }

  .works-single-point>li:nth-child(n + 4) {
    margin-top: 50px;
  }

  .works-single-point>li img {
    height: 220px;
  }
}

/* ------------------------------------------- works-single-data - */
.works-single-datas {
  position: relative;
  padding: 6.66667vw 0;
}

.works-single-datas:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  background-color: #f8f9f9;
  transform: translateX(-50%);
  z-index: -1;
}

.works-single-data {
  display: flex;
  align-self: stretch;
}

.works-single-data dt {
  display: flex;
  align-items: center;
  width: 28vw;
  min-height: 8.66667vw;
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.35em;
}

.works-single-data dd {
  display: flex;
  align-items: center;
  padding: .7em 0 .7em 1em;
  width: calc(100% - 28vw);
  border-left: 1px solid #040000;
  font-size: 3.73333vw;
  line-height: 1.35em;
}

@media screen and (max-width: 750px) {
  .works-single-datas .works-single-data:nth-child(n + 2) {
    margin-top: 4.66667vw;
  }
}

@media screen and (min-width: 751px) {
  .works-single-datas {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 3.90625vw 0;
  }

  .works-single-data {
    margin-top: 1.5625vw;
    width: 38.67188vw;
  }

  .works-single-data--full {
    width: 100% !important;
  }

  .works-single-data dt {
    width: 14.0625vw;
    min-height: 3.125vw;
    font-size: 1.25vw;
  }

  .works-single-data dd {
    padding: .7em 1.5em;
    width: calc(100% - 14.0625vw);
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .works-single-datas {
    padding: 50px 0;
  }

  .works-single-data {
    margin-top: 20px;
    width: 495px;
  }

  .works-single-data dt {
    width: 180px;
    min-height: 40px;
    font-size: 16px;
    font-size: 1.6rem;
  }

  .works-single-data dd {
    width: calc(100% - 180px);
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ------------------------------------------- works tantou - */
.works-tantou {
  position: relative;
  margin-top: 16vw;
  padding: 9.33333vw 5.33333vw 5.33333vw 5.33333vw;
  background-color: #ffffff;
  border-color: #040000;
  border-style: solid;
  border-width: 0.53333vw;
}

.works-tantou-head {
  position: absolute;
  top: -5.33333vw;
  left: -0.53333vw;
  display: flex;
  align-items: center;
  padding: 0 .5em .1em .65em;
  height: 10.66667vw;
  background-color: #333333;
  color: #ffffff;
  font-size: 4.8vw;
  font-weight: 500;
  letter-spacing: .15em;
}

.works-tantou-image {
  margin-bottom: 4.66667vw;
  width: 100%;
}

.works-tantou-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 54.66667vw;
}

.works-tantou-content p {
  font-size: 3.73333vw;
  line-height: 2em;
}

@media screen and (max-width: 750px) {
  .works-tantou-content:before {
    left: 50%;
    bottom: 100%;
    transform: translateX(-50%);
  }
}

@media screen and (min-width: 751px) {
  .works-tantou {
    display: flex;
    justify-content: space-between;
    margin-top: 7.8125vw;
    padding: 3.90625vw 2.73438vw 2.73438vw 2.73438vw;
    border-width: 0.15625vw;
  }

  .works-tantou-head {
    top: -1.5625vw;
    left: -0.15625vw;
    padding: 0 1.5em;
    height: 3.125vw;
    font-size: 1.40625vw;
  }

  .works-tantou-image {
    margin: 0;
    width: 23.4375vw;
  }

  .works-tantou-image img {
    height: 17.1875vw;
  }

  .works-tantou-content {
    width: 46.09375vw;
  }

  .works-tantou-content--full {
    width: 100% !important;
  }

  .works-tantou-content p {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .works-tantou {
    margin-top: 100px;
    padding: 50px 35px 35px 35px;
    border-width: 2px;
  }

  .works-tantou-head {
    top: -20px;
    left: -2px;
    height: 40px;
    font-size: 18px;
    font-size: 1.8rem;
  }

  .works-tantou-image {
    width: 300px;
  }

  .works-tantou-image img {
    height: 220px;
  }

  .works-tantou-content {
    width: 590px;
  }

  .works-tantou-content p {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ---------------------------- gallery - */
.works-gallery-main,
.works-gallery-thumb {
  position: relative;
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
}

.works-gallery-main {
  position: relative;
  margin-bottom: 3.33333vw;
  width: 100%;
  height: 59.33333vw;
}

.works-gallery-main .swiper-slide {
  text-align: center;
}

.works-gallery-main img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  width: auto;
  max-width: 100%;
  height: 59.33333vw;
}

.works-gallery-thumb>div img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 12vw;
}

.works-gallery-thumb .swiper-slide {
  opacity: 0.5;
  overflow: hidden;
  transition: opacity .2s;
}

.works-gallery-thumb .swiper-slide-thumb-active {
  opacity: 1 !important;
}

.works-gallery-thumb .swiper-slide:hover {
  opacity: 0.7;
  cursor: pointer;
}

.works-gallery-btn-prev,
.works-gallery-btn-next {
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 5.33333vw;
  height: 18.66667vw;
  background-size: contain;
  transform: translateY(-50%);
  z-index: 5;
  transition: .3s;
}

.works-gallery-btn-prev:hover,
.works-gallery-btn-next:hover {
  opacity: 0.7;
}

.works-gallery-btn-prev {
  left: 0;
  background-image: url(../img/slide/prev_sp.png);
}

.works-gallery-btn-next {
  right: 0;
  background-image: url(../img/slide/next_sp.png);
}

@media screen and (min-width: 751px) {
  .works-gallery-main {
    margin-bottom: 1.17188vw;
    height: 40.625vw;
  }

  .works-gallery-main img {
    height: 40.625vw;
  }

  .works-gallery-thumb>div img {
    height: 6.25vw;
  }

  .works-gallery-btn-prev,
  .works-gallery-btn-next {
    width: 2.34375vw;
    height: 8.20312vw;
  }

  .works-gallery-btn-prev {
    background-image: url(../img/slide/prev.png);
    background-image: image-set(url(../img/slide/prev.png) 1x, url(../img/slide/prev-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/slide/prev.png) 1x, url(../img/slide/prev-2x.png) 2x);
  }

  .works-gallery-btn-next {
    background-image: url(../img/slide/next.png);
    background-image: image-set(url(../img/slide/next.png) 1x, url(../img/slide/next-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/slide/next.png) 1x, url(../img/slide/next-2x.png) 2x);
  }
}

@media screen and (min-width: 1201px) {
  .works-gallery-main {
    margin-bottom: 15px;
    height: 520px;
  }

  .works-gallery-main img {
    height: 520px;
  }

  .works-gallery-thumb>div img {
    height: 80px;
  }

  .works-gallery-btn-prev,
  .works-gallery-btn-next {
    width: 30px;
    height: 105px;
  }
}

/* ---------------------------- search - */
.works-search {
  padding: 8vw 5.33333vw;
  background-color: #f8f9f9;
}

.works-search-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -4vw;
}

.works-search-list a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 4vw;
  padding-top: 2vw;
  width: calc(50% - 4vw);
  height: 16vw;
  background-color: #ffffff;
  border: 0.53333vw solid #040000;
  font-size: 4vw;
  font-weight: 500;
  transition: background-color .4s, color .4s;
}

.works-search-list a:hover {
  background-color: #040000;
  color: #ffffff;
}

.works-search-list a:before {
  content: '';
  position: absolute;
  top: -0.53333vw;
  left: 50%;
  width: 16vw;
  height: 2vw;
  background-color: #040000;
  transform: translateX(-50%);
  transition: background-color .4s;
}

.works-search-list a:hover::before {
  background-color: #f8f9f9;
}

@media screen and (max-width: 750px) {
  .works-search {
    margin-left: -5.33333vw;
    width: 100vw;
  }

  .works-search-list a:nth-child(n + 3) {
    margin-top: 4vw;
  }
}

@media screen and (min-width: 751px) {
  .works-search {
    padding: 3.125vw 3.90625vw;
    border-radius: 0.78125vw;
  }

  .works-search-list {
    margin-left: -2.34375vw;
  }

  .works-search-list a {
    margin-left: 2.34375vw;
    padding-top: 0.78125vw;
    width: calc(25% - 2.34375vw);
    height: 6.25vw;
    border: 0.15625vw solid #333333;
    font-size: 1.25vw;
  }

  .works-search-list a:nth-child(n + 5) {
    margin-top: 1.5625vw;
  }

  .works-search-list a:before {
    top: -0.15625vw;
    width: 4.6875vw;
    height: 0.78125vw;
  }
}

@media screen and (min-width: 1201px) {
  .works-search {
    padding: 40px 50px;
    border-radius: 10px;
  }

  .works-search-list {
    margin-left: -30px;
  }

  .works-search-list a {
    margin-left: 30px;
    padding-top: 10px;
    width: calc(25% - 30px);
    height: 80px;
    border: 2px solid #333333;
    font-size: 16px;
    font-size: 1.6rem;
  }

  .works-search-list a:nth-child(n + 5) {
    margin-top: 20px;
  }

  .works-search-list a:before {
    top: -2px;
    width: 60px;
    height: 10px;
  }
}

/*  voice
-------------------------------------------------------*/
/* ------------------------------------------- archive - */
.voice-post {
  position: relative;
}

.voice-post a {
  display: block;
}

@media screen and (max-width: 750px) {

  .voice,
  .voice-slide {
    margin: 0 auto;
    width: 85.33333vw;
  }

  .voice-slide .swiper-wrapper {
    margin-bottom: 8vw;
  }

  .voice li:nth-child(n + 2) {
    margin-top: 13.33333vw;
  }

  .voice-slide .voice li:nth-child(n + 2) {
    margin-top: 0 !important;
  }
}

@media screen and (min-width: 751px) {
  .voice {
    display: flex;
    flex-wrap: wrap;
    margin-left: -1.5625vw;
  }

  .voice-post {
    margin: 0 0 0 1.5625vw;
    width: calc(33.33333% - 1.5625vw);
  }

  .voice li:nth-child(n + 4) {
    margin-top: 5.07812vw;
  }
}

@media screen and (min-width: 1201px) {
  .voice {
    margin-left: -20px;
  }

  .voice-post {
    margin: 0 0 0 20px;
    width: calc(33.33333% - 20px);
  }

  .voice li:nth-child(n + 4) {
    margin-top: 65px;
  }
}

/* ------------------------------------------- voice post - */
.voice-image {
  position: relative;
  margin: 0 auto;
  width: 69.33333vw;
  height: 69.33333vw;
  border: 0.53333vw solid #040000;
  border-radius: 50%;
  overflow: hidden;
  z-index: 2;
}

.voice-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 69.33333vw;
}

.voice-content {
  position: relative;
  top: -4.66667vw;
  margin-bottom: -4.66667vw;
  padding: 10vw 6.66667vw 16vw 6.66667vw;
  background-color: #ffffff;
  border: 0.53333vw solid #040000;
}

.voice-name {
  position: relative;
  margin-bottom: .7em;
  padding-bottom: .7em;
  font-size: 5.33333vw;
  font-weight: 500;
  letter-spacing: .15em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.voice-name:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.voice-title {
  font-size: 3.46667vw;
  font-weight: 400;
  line-height: 1.8em;
}

.voice-more {
  position: absolute;
  right: 15px;
  bottom: 23px;
  width: 37.33333vw;
  height: 5.33333vw;
}

.voice-more span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding-bottom: .1em;
  width: 26.66667vw;
  height: 5.33333vw;
  background-color: #333333;
  color: #ffffff;
  font-size: 3.46667vw;
  font-weight: 500;
}

.voice-more:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 8vw;
  height: 1px;
  background-color: #333333;
  transform: translateY(-50%);
  transition: transform .4s;
}

.voice-post a:hover .voice-more:after {
  transform: translateX(0.5em) translateY(-50%);
}

@media screen and (min-width: 751px) {
  .voice-image {
    width: 20.3125vw;
    height: 20.3125vw;
    border: 0.15625vw solid #040000;
  }

  .voice-image img {
    height: 20.3125vw;
  }

  .voice-post a:hover .img--scale img {
    transform: scale(1.1, 1.1);
    cursor: pointer;
  }

  .voice-content {
    height: 17.57812vw;
  }

  .voice-content {
    top: -1.17188vw;
    margin-bottom: -1.17188vw;
    padding: 3.125vw 1.95312vw 4.29688vw 1.95312vw;
    height: 15.625vw;
    border: 0.15625vw solid #040000;
  }

  .voice-name {
    font-size: 1.5625vw;
  }

  .voice-name:after {
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .voice-title {
    font-size: 1.01562vw;
  }

  .voice-more {
    right: 1.17188vw;
    bottom: 1.79688vw;
    width: 10.9375vw;
    height: 1.71875vw;
  }

  .voice-more span {
    width: 7.8125vw;
    height: 1.71875vw;
    font-size: 1.01562vw;
  }

  .voice-more:after {
    width: 2.34375vw;
  }
}

@media screen and (min-width: 1201px) {
  .voice-image {
    width: 260px;
    height: 260px;
    border: 2px solid #040000;
  }

  .voice-image img {
    height: 260px;
  }

  .voice-content {
    top: -15px;
    margin-bottom: -15px;
    padding: 40px 25px 55px 25px;
    height: 200px;
    border: 2px solid #040000;
  }

  .voice-name {
    font-size: 20px;
    font-size: 2.0rem;
  }

  .voice-name:after {
    height: 2px;
    background-size: auto 2px;
  }

  .voice-title {
    font-size: 13px;
    font-size: 1.3rem;
  }

  .voice-more {
    right: 15px;
    bottom: 23px;
    width: 140px;
    height: 22px;
  }

  .voice-more span {
    width: 100px;
    height: 22px;
    font-size: 13px;
    font-size: 1.3rem;
  }

  .voice-more:after {
    width: 30px;
  }
}

/* ------------------------------------------- single - */
.voice-single-image {
  position: relative;
  margin-bottom: 8.66667vw;
  width: 86.66667vw;
  border: 0.53333vw solid #040000;
}

.voice-single-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 57.33333vw;
}

.voice-single-image:after {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  background-size: auto auto;
  background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  z-index: -1;
}

.voice-single-image a {
  display: block;
}

.voice-single-message-head {
  position: relative;
  margin-bottom: 1.2em;
  padding-bottom: .8em;
  font-size: 4.8vw;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: .15em;
}

.voice-single-message-head:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.voice-single-desc p {
  font-size: 3.73333vw;
  line-height: 2em;
}

@media screen and (min-width: 751px) {
  .voice-single-main {
    display: flex;
    justify-content: space-between;
  }

  .voice-single-image {
    margin-bottom: 0;
    width: 37.5vw;
    border: 0.15625vw solid #040000;
  }

  .voice-single-image img {
    height: 25.39062vw;
  }

  .voice-single-image:after {
    top: 0.78125vw;
    left: 0.78125vw;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
  }

  .voice-single-content {
    width: 37.5vw;
  }

  .voice-single-message-head {
    font-size: 1.5625vw;
  }

  .voice-single-message-head:after {
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .voice-single-desc p {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .voice-single-image {
    width: 480px;
    border: 2px solid #040000;
  }

  .voice-single-image img {
    height: 325px;
  }

  .voice-single-image:after {
    top: 10px;
    left: 10px;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
  }

  .voice-single-content {
    width: 480px;
  }

  .voice-single-message-head {
    font-size: 20px;
    font-size: 2.0rem;
  }

  .voice-single-message-head:after {
    height: 2px;
    background-size: auto 2px;
  }

  .voice-single-desc p {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ------------------------------------------- voice-single-btn - */
.voice-single-btn {
  margin-top: 9.33333vw;
  width: 86.66667vw;
}

@media screen and (min-width: 751px) {
  .voice-single-btn {
    margin: 3.90625vw auto 0 auto;
    width: 26.95312vw;
  }
}

@media screen and (min-width: 1201px) {
  .voice-single-btn {
    margin-top: 50px;
    width: 345px;
  }
}

/* ------------------------------------------- voice-single-data - */
.voice-single-datas {
  position: relative;
  margin-top: 16vw;
  padding: 6.66667vw 0;
}

.voice-single-datas:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  background-color: #f8f9f9;
  transform: translateX(-50%);
  z-index: -1;
}

.voice-single-data {
  display: flex;
  align-self: stretch;
}

.voice-single-data dt {
  display: flex;
  align-items: center;
  width: 28vw;
  min-height: 8.66667vw;
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.35em;
}

.voice-single-data dd {
  display: flex;
  align-items: center;
  padding: .7em 0 .7em 1em;
  width: calc(100% - 28vw);
  border-left: 1px solid #040000;
  font-size: 3.73333vw;
  line-height: 1.35em;
}

@media screen and (max-width: 750px) {
  .voice-single-datas .voice-single-data:nth-child(n + 2) {
    margin-top: 4.66667vw;
  }
}

@media screen and (min-width: 751px) {
  .voice-single-datas {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 5.07812vw;
    padding: 3.90625vw 0;
  }

  .voice-single-data {
    width: 38.67188vw;
  }

  .voice-single-data--full {
    width: 100% !important;
  }

  .voice-single-data dt {
    width: 14.0625vw;
    min-height: 3.125vw;
    font-size: 1.25vw;
  }

  .voice-single-data dd {
    padding: .7em 1.5em;
    width: calc(100% - 14.0625vw);
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .voice-single-datas {
    margin-top: 65px;
    padding: 50px 0;
  }

  .voice-single-data {
    width: 495px;
  }

  .voice-single-data dt {
    width: 180px;
    min-height: 40px;
    font-size: 16px;
    font-size: 1.6rem;
  }

  .voice-single-data dd {
    width: calc(100% - 180px);
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ------------------------------------------- voice tantou - */
.voice-tantou {
  position: relative;
  margin-top: 16vw;
  padding: 9.33333vw 5.33333vw 5.33333vw 5.33333vw;
  background-color: #ffffff;
  border-color: #040000;
  border-style: solid;
  border-width: 0.53333vw;
}

.voice-tantou-head {
  position: absolute;
  top: -5.33333vw;
  left: -0.53333vw;
  display: flex;
  align-items: center;
  padding: 0 .5em .1em .65em;
  height: 10.66667vw;
  background-color: #333333;
  color: #ffffff;
  font-size: 4.8vw;
  font-weight: 500;
  letter-spacing: .15em;
}

.voice-tantou-image {
  margin-bottom: 4.66667vw;
  width: 100%;
}

.voice-tantou-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 54.66667vw;
}

.voice-tantou-content p {
  font-size: 3.73333vw;
  line-height: 2em;
}

@media screen and (max-width: 750px) {
  .voice-tantou-content:before {
    left: 50%;
    bottom: 100%;
    transform: translateX(-50%);
  }
}

@media screen and (min-width: 751px) {
  .voice-tantou {
    display: flex;
    justify-content: space-between;
    margin-top: 4.6875vw;
    padding: 3.90625vw 2.73438vw 2.73438vw 2.73438vw;
    border-width: 0.15625vw;
  }

  .voice-tantou-head {
    top: -1.5625vw;
    left: -0.15625vw;
    padding: 0 1.5em;
    height: 3.125vw;
    font-size: 1.40625vw;
  }

  .voice-tantou-image {
    margin: 0;
    width: 23.4375vw;
  }

  .voice-tantou-image img {
    height: 17.1875vw;
  }

  .voice-tantou-content {
    width: 46.09375vw;
  }

  .voice-tantou-content--full {
    width: 100% !important;
  }

  .voice-tantou-content p {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .voice-tantou {
    margin-top: 60px;
    padding: 50px 35px 35px 35px;
    border-width: 2px;
  }

  .voice-tantou-head {
    top: -20px;
    left: -2px;
    height: 40px;
    font-size: 18px;
    font-size: 1.8rem;
  }

  .voice-tantou-image {
    width: 300px;
  }

  .voice-tantou-image img {
    height: 220px;
  }

  .voice-tantou-content {
    width: 590px;
  }

  .voice-tantou-content p {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ---------------------------- interview - */
.voice-interv {
  margin-top: 13.33333vw;
}

.voice-interv>li:nth-child(n + 2) {
  margin-top: 13.33333vw;
}

.voice-interv-head {
  position: relative;
  margin-bottom: 1.5em;
  padding-bottom: .8em;
  font-size: 4.8vw;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: .15em;
}

.voice-interv-head:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.voice-interv-child>li:nth-child(n + 2) {
  margin-top: 10.66667vw;
}

.voice-interv-image {
  position: relative;
  margin-bottom: 4vw;
  border: 0.53333vw solid #040000;
}

.voice-interv-image a {
  display: block;
}

.voice-interv-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 57.33333vw;
}

.voice-interv-image a:hover .img--scale img {
  transform: scale(1.1, 1.1);
  cursor: pointer;
}

.voice-interv-subhead {
  margin-bottom: 1em;
  font-size: 4.26667vw;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: .15em;
}

.voice-interv-content p {
  font-size: 3.73333vw;
  line-height: 2em;
}

@media screen and (min-width: 751px) {
  .voice-interv {
    margin-top: 6.25vw;
  }

  .voice-interv>li:nth-child(n + 2) {
    margin-top: 3.90625vw;
  }

  .voice-interv-head {
    font-size: 1.875vw;
  }

  .voice-interv-head:after {
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .voice-interv-child>li:nth-child(n + 2) {
    margin-top: 3.51562vw;
  }

  .voice-interv-contents {
    display: flex;
    justify-content: space-between;
  }

  .voice-interv-image {
    margin-bottom: 0;
    width: 31.25vw;
    border: 0.15625vw solid #040000;
    order: 2;
  }

  .voice-interv-image img {
    height: 21.09375vw;
  }

  .voice-interv-content {
    width: 42.96875vw;
    order: 1;
  }

  .voice-interv-contents--full {
    width: 100% !important;
  }

  .voice-interv-subhead {
    font-size: 1.40625vw;
  }

  .voice-interv-content p {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .voice-interv {
    margin-top: 80px;
  }

  .voice-interv>li:nth-child(n + 2) {
    margin-top: 50px;
  }

  .voice-interv-head {
    font-size: 24px;
    font-size: 2.4rem;
  }

  .voice-interv-head:after {
    height: 2px;
    background-size: auto 2px;
  }

  .voice-interv-child>li:nth-child(n + 2) {
    margin-top: 45px;
  }

  .voice-interv-image {
    width: 400px;
    border: 2px solid #040000;
  }

  .voice-interv-image img {
    height: 270px;
  }

  .voice-interv-content {
    width: 550px;
  }

  .voice-interv-subhead {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .voice-interv-content p {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/*  faq
-------------------------------------------------------*/
.faq {
  position: relative;
}

.faq-item {
  position: relative;
  width: 100%;
  background-color: #ffffff;
  border: 0.53333vw solid #040000;
}

.faq .faq-item:nth-child(n + 2) {
  margin-top: 4vw;
}

.faq-ques {
  position: relative;
  display: flex;
  align-items: center;
  padding: 4vw 6.66667vw 4vw 12vw;
}

.faq-ques:hover {
  cursor: pointer;
}

.faq-ques:after {
  position: absolute;
  right: 2.4vw;
  content: '';
  display: inline-block;
  width: 2.66667vw;
  height: 1.46667vw;
  background-image: url(../img/faq/open.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.faq-ques.is-show:after {
  background-image: url(../img/faq/close.svg);
}

.faq-title {
  font-size: 3.73333vw;
  font-weight: 500;
  line-height: 1.6em;
}

.faq-ans {
  display: none;
  position: relative;
  padding: 4vw 1.33333vw 4vw 12vw;
}

.faq-ans:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.faq-ans p {
  font-size: 3.73333vw;
}

.faq-ques:before,
.faq-ans:before {
  position: absolute;
  top: 4vw;
  font-family: din-2014-narrow, sans-serif;
  font-size: 7.46667vw;
  font-weight: 600;
}

.faq-ques:before {
  content: 'Q';
  left: 3.33333vw;
  color: #040000;
}

.faq-ans:before {
  content: 'A';
  left: 3.33333vw;
  color: #1c7496;
}

.faq-ans p {
  line-height: 1.8em;
}

@media screen and (min-width: 751px) {
  .faq-item {
    border: 0.15625vw solid #040000;
  }

  .faq .faq-item:nth-child(n + 2) {
    margin-top: 1.95312vw;
  }

  .faq-ques {
    padding: 1.5625vw 7.03125vw 1.5625vw 5.85938vw;
  }

  .faq-ques:after {
    right: 1.95312vw;
    width: 1.17188vw;
    height: 0.625vw;
  }

  .faq-title {
    font-size: 1.25vw;
  }

  .faq-ques:before {
    top: 1.5625vw;
    left: 1.95312vw;
    font-size: 2.8125vw;
  }

  .faq-ans {
    padding: 1.5625vw 2.73438vw 1.5625vw 5.85938vw;
  }

  .faq-ans:after {
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .faq-ans p {
    font-size: 1.17188vw;
  }

  .faq-ans:before {
    top: 1.5625vw;
    left: 1.95312vw;
    font-size: 2.8125vw;
  }
}

@media screen and (min-width: 1201px) {
  .faq-item {
    border: 2px solid #040000;
  }

  .faq .faq-item:nth-child(n + 2) {
    margin-top: 25px;
  }

  .faq-ques {
    padding: 20px 90px 20px 75px;
  }

  .faq-ques:after {
    right: 25px;
    width: 15px;
    height: 8px;
  }

  .faq-title {
    font-size: 16px;
    font-size: 1.6rem;
  }

  .faq-ques:before {
    top: 20px;
    left: 25px;
    font-size: 36px;
    font-size: 3.6rem;
  }

  .faq-ans {
    padding: 20px 35px 20px 75px;
  }

  .faq-ans:after {
    height: 2px;
    background-size: auto 2px;
  }

  .faq-ans p {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .faq-ans:before {
    top: 20px;
    left: 25px;
    font-size: 36px;
    font-size: 3.6rem;
  }
}

/*  PAGE -->  common
-------------------------------------------------------*/
/* ----------------- page hero / title - */
.page-hero {
  position: relative;
  padding-top: 35.33333vw;
  width: 100%;
}

.page-hero:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 13.33333vw;
  width: 100vw;
  height: 26vw;
  background-color: #f8f9f9;
  transform: translateX(-50%);
  z-index: -1;
}

.page-hero-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 94.66667vw;
  height: 32vw;
}

.page-hero-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 32vw;
}

.page-hero-title {
  position: relative;
  display: flex;
  align-items: center;
  padding: 4vw 5.33333vw;
  width: 94.66667vw;
  z-index: 2;
}

.page-hero-title:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  z-index: -1;
}

@media screen and (min-width: 751px) {
  .page-hero {
    padding-top: 10.15625vw;
  }

  .page-hero:before {
    bottom: 2.73438vw;
    height: 10.15625vw;
  }

  .page-hero-image {
    width: calc(100% - 155px);
    height: 15.625vw;
  }

  .page-hero-image img {
    height: 15.625vw;
  }

  .page-hero-title {
    margin: 0 auto;
    padding: 2.34375vw 7.8125vw 2.34375vw 0;
    width: 78.125vw;
  }

  .page-hero-title:before {
    left: auto;
    right: 50px;
    width: 81.25vw;
  }
}

@media screen and (min-width: 1201px) {
  .page-hero {
    padding-top: 130px;
  }

  .page-hero:before {
    bottom: 35px;
    height: 130px;
  }

  .page-hero-image {
    width: calc(100% - 190px);
    height: 200px;
  }

  .page-hero-image img {
    height: 200px;
  }

  .page-hero-title {
    padding: 30px 100px 30px 0;
    width: 1000px;
  }

  .page-hero-title:before {
    right: 50px;
    width: 1040px;
  }
}

/* ----------------- pega head - */
.page-head {
  position: relative;
  margin-bottom: 6.66667vw;
  font-size: 6.13333vw;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: .15em;
}

@media screen and (min-width: 751px) {
  .page-head {
    margin-bottom: 3.125vw;
    font-size: 2.34375vw;
  }
}

@media screen and (min-width: 1201px) {
  .page-head {
    margin-bottom: 40px;
    font-size: 30px;
    font-size: 3.0rem;
  }
}

.page-date {
  margin-bottom: 1.5em;
  color: #040000;
  font-family: din-2014-narrow, sans-serif;
  font-size: 1.2em;
  font-weight: 500;
  text-align: right;
}

.page-content {
  margin: 0 auto;
  width: 100%;
}

@media screen and (min-width: 751px) {
  .page-content {
    width: 60.9375vw;
  }
}

@media screen and (min-width: 1201px) {
  .page-content {
    width: 780px;
  }
}

/* ------------------------------------------- none - */
.none {
  margin-top: 3em;
}

/*  event
-------------------------------------------------------*/
/* ------------------------------------------- page ctas - */
.form-ctas {
  position: relative;
  margin-top: 20vw;
  padding: 15.33333vw 3.33333vw 8.66667vw 3.33333vw;
  width: 84vw;
  border: 0.53333vw solid #040000;
  background-color: #ffffff;
  box-shadow: 0px 10px 10px 0px rgba(4, 0, 0, 0.05);
}

.form-ctas-head {
  position: absolute;
  top: -11.33333vw;
  left: -5.33333vw;
  padding: .5em 2em;
  border: 0.53333vw solid #040000;
  border-left: 2.66667vw solid #040000;
  background-color: #ffffff;
  font-weight: 500;
  line-height: 1.7em;
  z-index: 2;
}

.form-ctas-btns {
  margin: 0 auto;
  width: 52vw;
}

@media screen and (max-width: 750px) {
  .form-ctas {
    margin-left: auto;
  }

  .form-ctas .cta {
    margin-bottom: 5.33333vw;
  }

  .form-ctas-social {
    margin: 2.66667vw 0 0 0;
  }
}

@media screen and (min-width: 751px) {
  .form-ctas {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 4.6875vw auto 0 auto;
    padding: 3.125vw 0 2.34375vw 0;
    width: 58.59375vw;
    border: 0.15625vw solid #040000;
  }

  .form-ctas-head {
    top: -1.40625vw;
    left: -2.34375vw;
    padding: 0 1em;
    border: 0.15625vw solid #040000;
    border-left: 0.78125vw solid #040000;
    line-height: 2.8125vw;
  }

  .form-ctas-social {
    margin: 0 0 0 3.90625vw;
  }

  .form-ctas-btns {
    margin: 0 0 0 3.51562vw;
    width: 15.23438vw;
  }
}

@media screen and (min-width: 1201px) {
  .form-ctas {
    margin: 60px auto 0 auto;
    padding: 40px 0 30px 0;
    width: 750px;
    border: 2px solid #040000;
  }

  .form-ctas-head {
    top: -18px;
    left: -30px;
    border: 2px solid #040000;
    border-left: 10px solid #040000;
    line-height: 36px;
  }

  .form-ctas-social {
    margin: 0 0 0 50px;
  }

  .form-ctas-btns {
    margin: 0 0 0 45px;
    width: 195px;
  }
}

/*  company
-------------------------------------------------------*/
/* ------------------------------------------- company-intro - */
.sec--company-intro {
  margin-bottom: 31.33333vw;
}

.sec--company-intro:before {
  content: '';
  position: absolute;
  top: 26vw;
  right: 0;
  width: 64vw;
  height: 333.33333vw;
  background-color: #f8f9f9;
}

.company-intros {
  margin: 0 auto;
  width: 89.33333vw;
}

.company-intro-head {
  position: relative;
  margin-bottom: 1em;
  padding-bottom: 1em;
  font-size: 6.93333vw;
  font-weight: 500;
  line-height: 2em;
  letter-spacing: .15em;
}

.company-intro-head:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.company-intro>li {
  position: relative;
  z-index: 2;
}

.company-intro>li:nth-child(n + 2) {
  margin-top: 26.66667vw;
}

.company-intro>li:before {
  content: '';
  position: absolute;
  top: 19.33333vw;
  width: 64vw;
  height: 100%;
  background-color: #f8f9f9;
  z-index: -1;
}

.company-intro>li:nth-child(odd):before {
  right: 0;
}

.company-intro>li:nth-child(even):before {
  right: 0;
}

.company-intro>li:nth-child(1):before {
  content: none !important;
}

.company-intro-content {
  margin-bottom: 5.33333vw;
}

.company-intro-subhead {
  margin-bottom: 1em;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 2em;
  letter-spacing: .15em;
}

.company-intro-desc p {
  font-size: 4vw;
  line-height: 2.4em;
}

.company-intro-desc p:nth-child(n + 2) {
  margin-top: 2.4em;
}

.company-intro-image {
  position: relative;
  display: block;
  width: 86.66667vw;
}

.company-intro-image img {
  border: 1.06667vw solid #333333;
}

.company-intro-image>div:before {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  background-size: auto auto;
  background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  z-index: -1;
}

@media screen and (min-width: 751px) {
  .sec--company-intro {
    margin-bottom: 6.64062vw;
  }

  .sec--company-intro:before {
    top: 7.42188vw;
    width: 75.78125vw;
    height: 40.23438vw;
  }

  .company-intros {
    width: 70.3125vw;
  }

  .company-intro-head {
    margin-bottom: 0;
    font-size: 2.8125vw;
    letter-spacing: .25em;
  }

  .company-intro-head:after {
    width: 30.46875vw;
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .company-intro>li {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .company-intro>li:nth-child(n + 2) {
    margin-top: 1.5625vw;
  }

  .company-intro>li:before {
    top: 50%;
    height: 30.07812vw;
    transform: translateY(-50%);
  }

  .company-intro>li:nth-child(odd):before {
    left: 8.98438vw;
  }

  .company-intro>li:nth-child(even):before {
    right: 8.98438vw;
  }

  .company-intro-content {
    margin-bottom: 0;
    width: 44.53125vw;
  }

  .company-intro>li:nth-child(even) .company-intro-image {
    order: 1;
  }

  .company-intro>li:nth-child(even) .company-intro-content {
    order: 2;
  }

  .company-intro-subhead {
    font-size: 1.40625vw;
  }

  .company-intro-desc p {
    font-size: 1.17188vw;
  }

  .company-intro-image {
    width: 23.04688vw;
    height: 37.5vw;
  }

  .company-intro-image img {
    border: 0.3125vw solid #333333;
  }

  .company-intro-image>div {
    position: absolute;
    top: 0;
    width: 25vw;
    height: inherit;
  }

  .company-intro>li:nth-child(odd) .company-intro-image>div {
    left: 0;
    right: auto;
  }

  .company-intro>li:nth-child(even) .company-intro-image>div {
    right: 0;
  }

  .company-intro-image>div:before {
    top: 0.78125vw;
    left: 0.78125vw;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
  }
}

@media screen and (min-width: 1201px) {
  .sec--company-intro {
    margin-bottom: 85px;
  }

  .sec--company-intro:before {
    top: 95px;
    width: 970px;
    height: 515px;
  }

  .company-intros {
    width: 900px;
  }

  .company-intro-head {
    font-size: 36px;
    font-size: 3.6rem;
  }

  .company-intro-head:after {
    width: 390px;
    height: 2px;
    background-size: auto 2px;
  }

  .company-intro>li:nth-child(n + 2) {
    margin-top: 20px;
  }

  .company-intro>li:before {
    height: 385px;
  }

  .company-intro>li:nth-child(odd):before {
    left: 115px;
  }

  .company-intro>li:nth-child(even):before {
    right: 115px;
  }

  .company-intro-content {
    width: 570px;
  }

  .company-intro-subhead {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .company-intro-desc p {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .company-intro-image {
    width: 295px;
    height: 480px;
  }

  .company-intro-image img {
    border: 4px solid #333333;
  }

  .company-intro-image>div {
    width: 320px;
  }

  .company-intro-image>div:before {
    top: 10px;
    left: 10px;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
  }
}

/* ------------------------------------------- data - */
.sec--company-data {
  margin-bottom: 13.33333vw;
}

.company-data-head {
  margin-bottom: 1em;
  padding: .5em 1em;
  background-color: #f8f9f9;
  border-left: 1.6vw solid #333333;
  font-size: 6.4vw;
  font-weight: 500;
  line-height: 1.5em;
}

.company-data {
  display: flex;
  flex-wrap: wrap;
  padding: 5.33333vw 2.66667vw;
  border-bottom: 1px solid #ccc;
}

.company-data:last-of-type {
  margin-bottom: 0;
}

.company-data dt {
  position: relative;
  margin-bottom: .8em;
  width: 100%;
  font-size: 4.8vw;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: .1em;
}

.company-data dd {
  width: 100%;
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.8em;
  letter-spacing: .1em;
}

@media screen and (min-width: 751px) {
  .sec--company-data {
    margin-bottom: 6.25vw;
  }

  .company-data-head {
    border-left: 0.46875vw solid #333333;
    font-size: 1.875vw;
  }

  .company-data {
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 0;
    padding: 0;
  }

  .company-data dt {
    display: flex;
    align-items: center;
    margin-bottom: 0;
    padding: 1.5625vw 1em;
    width: 23.4375vw;
    font-size: 1.40625vw;
  }

  .company-data dt:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.11719vw;
    width: 100%;
    height: 0.23438vw;
    background-color: #888;
  }

  .company-data dd {
    padding: 1.5625vw 2em;
    width: calc(100% - 23.4375vw);
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .sec--company-data {
    margin-bottom: 80px;
  }

  .company-data-head {
    border-left: 6px solid #333333;
    font-size: 24px;
    font-size: 2.4rem;
  }

  .company-data dt {
    padding: 20px 1em;
    width: 300px;
    font-size: 18px;
    font-size: 1.8rem;
  }

  .company-data dt:after {
    bottom: -1.5px;
    height: 3px;
  }

  .company-data dd {
    padding: 20px 2em;
    width: calc(100% - 300px);
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ------------------------------------------- message - */
.sec--company-message {
  margin-bottom: 16vw;
}

.company-message {
  position: relative;
  padding-top: 68.66667vw;
}

.company-message-content {
  background-color: #ffffff;
  z-index: 2;
}

.company-message-head {
  margin-bottom: 1em;
  font-size: 4.8vw;
  font-weight: 500;
  line-height: 1.5em;
}

.company-message-desc p {
  font-size: 4vw;
  line-height: 2.4em;
  letter-spacing: .1em;
}

.company-message-image01 {
  position: absolute;
  top: 0;
  left: -4vw;
  width: 23.2vw;
}

.company-message-image02 {
  position: absolute;
  top: 3.33333vw;
  right: -5.33333vw;
  width: 36.26667vw;
}

.company-message-image03 {
  position: absolute;
  top: 38.66667vw;
  left: -5.33333vw;
  width: 35.6vw;
}

.company-message-image04 {
  position: absolute;
  top: 16vw;
  left: 33.33333vw;
  width: 21.46667vw;
}

@media screen and (min-width: 751px) {
  .sec--company-message {
    margin-bottom: 10.15625vw;
  }

  .company-message {
    padding-top: 0;
    height: 58.59375vw;
  }

  .company-message-content {
    position: absolute;
    right: -6.64062vw;
    bottom: 5.46875vw;
    padding: 3.51562vw 2.73438vw;
    width: 37.10938vw;
  }

  .company-message-head {
    font-size: 1.40625vw;
  }

  .company-message-desc p {
    font-size: 1.17188vw;
  }

  .company-message-image01 {
    left: -3.90625vw;
    width: 21.48438vw;
  }

  .company-message-image02 {
    top: 2.73438vw;
    right: -6.64062vw;
    width: 34.29688vw;
  }

  .company-message-image03 {
    top: 36.32812vw;
    left: -9.375vw;
    width: 33.35938vw;
  }

  .company-message-image04 {
    top: 15.625vw;
    left: 27.34375vw;
    width: 20.07812vw;
  }
}

@media screen and (min-width: 1201px) {
  .sec--company-message {
    margin-bottom: 130px;
  }

  .company-message {
    height: 750px;
  }

  .company-message-content {
    right: -85px;
    bottom: 70px;
    padding: 45px 35px;
    width: 475px;
  }

  .company-message-head {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .company-message-desc p {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .company-message-image01 {
    left: -50px;
    width: 275px;
  }

  .company-message-image02 {
    top: 35px;
    right: -85px;
    width: 439px;
  }

  .company-message-image03 {
    top: 465px;
    left: -120px;
    width: 427px;
  }

  .company-message-image04 {
    top: 200px;
    left: 350px;
    width: 257px;
  }
}

/* ------------------------------------------- info - */
.sec--company-info {
  padding: 13.33333vw 0 0 0;
}

@media screen and (min-width: 751px) {
  .sec--company-info {
    padding: 5.85938vw 0 0 0;
  }
}

@media screen and (min-width: 1201px) {
  .sec--company-info {
    padding: 75px 0 0 0;
  }
}

/*  concept
-------------------------------------------------------*/
.concept-mainhead {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 26.66667vw auto;
  width: 100%;
  height: 21.33333vw;
  border-left: 1px solid #040000;
  border-right: 1px solid #040000;
  font-size: 4.8vw;
  font-weight: 500;
  text-indent: .3em;
  letter-spacing: .3em;
}

.concept>li {
  position: relative;
  z-index: 2;
}

.concept>li:nth-child(n + 2) {
  margin-top: 26.66667vw;
}

.concept>li:before {
  content: '';
  position: absolute;
  top: 50%;
  width: 64vw;
  height: calc(100% + 16vw);
  background-color: #f8f9f9;
  transform: translateY(-50%);
  z-index: -1;
}

.concept>li:nth-child(odd):before {
  right: -5.33333vw;
}

.concept>li:nth-child(even):before {
  right: -5.33333vw;
}

.concept-label {
  position: relative;
  left: -5.33333vw;
  display: flex;
  align-items: center;
  margin-bottom: 13.33333vw;
}

.concept-label dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32vw;
  height: 12vw;
  background-color: #1c7496;
  color: #ffffff;
  font-family: din-2014-narrow, sans-serif;
  font-size: 4.8vw;
  font-weight: 700;
}

.concept-label dt span {
  display: inline-block;
  margin-left: .5em;
}

.concept-label dd {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 1em;
  height: 12vw;
  background-color: #ffffff;
  font-size: 4.8vw;
  font-weight: 500;
  text-indent: .3em;
  letter-spacing: .3em;
  white-space: nowrap;
}

.concept-content {
  margin-bottom: 5.33333vw;
}

.concept-head {
  position: relative;
  margin-bottom: 1em;
  padding-bottom: 1em;
  font-size: 5.73333vw;
  font-weight: 500;
  line-height: 2em;
  letter-spacing: .15em;
  white-space: nowrap;
}

.concept-head:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.concept-desc p {
  font-size: 4vw;
  line-height: 2.4em;
}

.concept-desc p:nth-child(n + 2) {
  margin-top: 2.4em;
}

.concept-images {
  position: relative;
  display: block;
  width: 86.66667vw;
  height: 130.66667vw;
}

.concept-images img {
  border: 1.06667vw solid #333333;
}

.concept-images>div:before {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  background-size: auto auto;
  background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  z-index: -1;
}

.concept03-image01 {
  position: absolute;
  top: 0;
  right: 0;
  width: 47.06667vw;
}

.concept03-image02 {
  position: absolute;
  left: 0;
  bottom: -35px;
  width: 34.53333vw;
}

.concept05-image01 {
  position: absolute;
  top: 8.66667vw;
  right: 0;
  width: 46.26667vw;
}

.concept05-image02 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 33.06667vw;
}

.concept05-image03 {
  position: absolute;
  top: 0;
  left: 16vw;
  width: 19.86667vw;
}

@media screen and (max-width: 750px) {
  .concept>li:nth-child(3) .concept-images {
    height: 78.66667vw;
  }

  .concept>li:nth-child(5) .concept-images {
    height: 88vw;
  }
}

@media screen and (min-width: 751px) {
  .concept-mainhead {
    margin: 0 auto 9.375vw auto;
    width: 28.90625vw;
    height: 6.25vw;
    font-size: 1.40625vw;
  }

  .concept>li {
    display: flex;
    justify-content: space-between;
  }

  .concept>li:nth-child(odd) {
    padding-right: 0.78125vw;
  }

  .concept>li:nth-child(n + 2) {
    margin-top: 10.9375vw;
  }

  .concept>li:before {
    top: -7.42188vw;
    width: 100vw;
    height: 100%;
    transform: none;
  }

  .concept>li:nth-child(odd):before {
    left: 7.8125vw;
  }

  .concept>li:nth-child(even):before {
    right: 7.8125vw;
  }

  .concept-label {
    top: -1.79688vw;
    left: -3.90625vw;
    margin-bottom: 1.17188vw;
  }

  .concept-label dt {
    width: 9.375vw;
    height: 3.59375vw;
    font-size: 1.40625vw;
  }

  .concept-label dd {
    height: 3.59375vw;
    font-size: 1.40625vw;
  }

  .concept-content {
    margin-bottom: 0;
    padding: 0 3.90625vw;
    width: 42.96875vw;
  }

  .concept>li:nth-child(even) .concept-image {
    order: 1;
  }

  .concept>li:nth-child(even) .concept-content {
    order: 2;
  }

  .concept-head {
    font-size: 2.5vw;
    letter-spacing: .25em;
  }

  .concept-head:after {
    width: 30.46875vw;
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .concept-desc p {
    font-size: 1.17188vw;
  }

  .concept-images {
    width: 32.03125vw;
    height: 48.04688vw;
  }

  .concept-images img {
    border: 0.3125vw solid #333333;
  }

  .concept>li:nth-child(odd) .concept-image>div {
    left: 0;
    right: auto;
  }

  .concept>li:nth-child(even) .concept-image>div {
    right: 0;
  }

  .concept-images>div:before {
    top: 0.78125vw;
    left: 0.78125vw;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
  }

  .concept03-image01 {
    top: 0;
    right: 0;
    width: 23.4375vw;
  }

  .concept03-image02 {
    left: -11.32812vw;
    bottom: -2.73438vw;
    width: 17.1875vw;
  }

  .concept05-image01 {
    top: 8.98438vw;
    right: 0;
    width: 21.875vw;
  }

  .concept05-image02 {
    top: auto;
    left: -7.8125vw;
    bottom: 1.5625vw;
    width: 15.625vw;
  }

  .concept05-image03 {
    top: 4.6875vw;
    left: -1.5625vw;
    width: 9.375vw;
  }
}

@media screen and (min-width: 1201px) {
  .concept-mainhead {
    margin: 0 auto 120px auto;
    width: 370px;
    height: 80px;
    font-size: 18px;
    font-size: 1.8rem;
  }

  .concept>li:nth-child(odd) {
    padding-right: 10px;
  }

  .concept>li:nth-child(n + 2) {
    margin-top: 140px;
  }

  .concept>li:before {
    top: -95px;
  }

  .concept>li:nth-child(odd):before {
    left: 100px;
  }

  .concept>li:nth-child(even):before {
    right: 100px;
  }

  .concept-label {
    top: -23px;
    left: -50px;
    margin-bottom: 15px;
  }

  .concept-label dt {
    width: 120px;
    height: 46px;
    font-size: 18px;
    font-size: 1.8rem;
  }

  .concept-label dd {
    height: 46px;
    font-size: 18px;
    font-size: 1.8rem;
  }

  .concept-content {
    padding: 0 50px;
    width: 550px;
  }

  .concept-head {
    font-size: 32px;
    font-size: 3.2rem;
  }

  .concept-head:after {
    width: 390px;
    height: 2px;
    background-size: auto 2px;
  }

  .concept-desc p {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .concept-images {
    width: 410px;
    height: 615px;
  }

  .concept-images img {
    border: 4px solid #333333;
  }

  .concept-images>div:before {
    top: 10px;
    left: 10px;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
  }

  .concept03-image01 {
    width: 300px;
  }

  .concept03-image02 {
    left: -145px;
    bottom: -35px;
    width: 220px;
  }

  .concept05-image01 {
    top: 115px;
    width: 280px;
  }

  .concept05-image02 {
    left: -100px;
    bottom: 20px;
    width: 200px;
  }

  .concept05-image03 {
    top: 60px;
    left: -20px;
    width: 120px;
  }
}

/*  flow
-------------------------------------------------------*/
.flow>li {
  position: relative;
}

.flow>li:nth-child(n + 2) {
  margin-top: 17.33333vw;
}

.flow-box {
  position: relative;
  width: 89.33333vw;
  z-index: 2;
}

.flow-box:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
}

.flow-box:after {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  background-size: auto auto;
  background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  z-index: -1;
}

.flow .cta-box {
  margin-top: 16vw;
}

.flow-label {
  position: absolute;
  top: -4vw;
  left: 0;
  display: flex;
  align-items: center;
  padding-left: 1.3em;
  width: 32.53333vw;
  height: 8vw;
  background-image: url(../img/flow/label_sp.png);
  background-size: 100%;
  z-index: 2;
}

.flow-label p {
  position: relative;
  color: #ffffff;
  font-family: din-2014-narrow, sans-serif;
  font-size: 4.8vw;
  text-transform: uppercase;
  white-space: nowrap;
  letter-spacing: .15em;
  z-index: 2;
}

.flow-label p span {
  display: inline-block;
  margin-left: .5em;
}

.flow-image {
  position: relative;
  border-color: #040000;
  border-style: solid;
  border-width: 0.53333vw;
}

.flow-content {
  position: relative;
  padding: 4.66667vw 4.66667vw 6vw 4.66667vw;
  background-color: #ffffff;
  border-color: #040000;
  border-style: solid;
  border-width: 0.53333vw;
}

.flow-head {
  position: relative;
  margin-bottom: 1em;
  padding-bottom: .5em;
  font-size: 4.53333vw;
  font-weight: 700;
  line-height: 1.5em;
  letter-spacing: .15em;
  z-index: 2;
}

.flow-head:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.flow-desc p {
  font-size: 3.46667vw;
  font-weight: 500;
  line-height: 1.875em;
}

@media screen and (max-width: 750px) {
  .flow-image {
    border-bottom: none !important;
  }

  .flow-content {
    border-top: none !important;
  }
}

@media screen and (min-width: 751px) {
  .flow>li:nth-child(n + 2) {
    margin-top: 6.25vw;
  }

  .flow-box {
    display: flex;
    justify-content: space-between;
    width: 77.34375vw;
  }

  .flow-box:after {
    top: 0.78125vw;
    left: 0.78125vw;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
  }

  .flow .cta-box {
    margin-top: 4.6875vw;
  }

  .flow-label {
    top: -1.17188vw;
    width: 9.53125vw;
    height: 2.34375vw;
    background-image: url(../img/flow/label.png);
    background-image: image-set(url(../img/flow/label.png) 1x, url(../img/flow/label-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/flow/label.png) 1x, url(../img/flow/label-2x.png) 2x);
  }

  .flow-label p {
    font-size: 1.40625vw;
  }

  .flow-image {
    margin-bottom: 0;
    width: 38.90625vw;
    border-width: 0.15625vw;
    border-right: none !important;
  }

  .flow-content {
    padding: 1.95312vw 2.34375vw 1.17188vw 2.34375vw;
    width: calc(100% - 38.90625vw);
    border-width: 0.15625vw;
    border-left: none !important;
  }

  .flow-head {
    font-size: 1.71875vw;
  }

  .flow-head:after {
    width: calc(100% - 3em);
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .flow-desc p {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .flow>li:nth-child(n + 2) {
    margin-top: 80px;
  }

  .flow .cta-box {
    margin-top: 60px;
  }

  .flow-box {
    width: 990px;
  }

  .flow-box:after {
    top: 10px;
    left: 10px;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
  }

  .flow-label {
    top: -15px;
    width: 122px;
    height: 30px;
  }

  .flow-label p {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .flow-image {
    width: 498px;
    border-width: 2px;
  }

  .flow-content {
    padding: 25px 30px 15px 30px;
    width: calc(100% - 498px);
    border-width: 2px;
  }

  .flow-head {
    font-size: 22px;
    font-size: 2.2rem;
  }

  .flow-head:after {
    height: 2px;
    background-size: auto 2px;
  }

  .flow-desc p {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/*  reserve
-------------------------------------------------------*/
/* ------------------------------------------- gallery - */
.reserve-gallery {
  position: relative;
  margin: 0 auto 13.33333vw auto;
  width: 100vw;
  height: 70vw;
}

.reserve-gallery01 {
  position: relative;
  left: 2.66667vw;
  width: 48.66667vw;
}

.reserve-gallery02 {
  position: absolute;
  top: 0;
  right: 7.33333vw;
  width: 27.86667vw;
}

.reserve-gallery03 {
  position: absolute;
  left: 0;
  bottom: 11.33333vw;
  width: 33.73333vw;
}

.reserve-gallery04 {
  position: absolute;
  left: 38.66667vw;
  bottom: 0;
  width: 22.66667vw;
}

.reserve-gallery05 {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 34.93333vw;
}

@media screen and (min-width: 751px) {
  .reserve-gallery {
    margin-bottom: 6.64062vw;
    width: 78.125vw;
    height: 66.40625vw;
  }

  .reserve-gallery01 {
    left: -7.03125vw;
    width: 45.85938vw;
  }

  .reserve-gallery02 {
    top: 0;
    right: 0;
    width: 26.17188vw;
  }

  .reserve-gallery03 {
    left: -9.375vw;
    bottom: 10.54688vw;
    width: 31.79688vw;
  }

  .reserve-gallery04 {
    left: 26.5625vw;
    bottom: 0;
    width: 21.25vw;
  }

  .reserve-gallery05 {
    right: -6.64062vw;
    bottom: 0;
    width: 32.89062vw;
  }
}

@media screen and (min-width: 1201px) {
  .reserve-gallery {
    margin-bottom: 85px;
    width: 1000px;
    height: 850px;
  }

  .reserve-gallery01 {
    left: -90px;
    width: 587px;
  }

  .reserve-gallery02 {
    width: 335px;
  }

  .reserve-gallery03 {
    left: -120px;
    bottom: 135px;
    width: 407px;
  }

  .reserve-gallery04 {
    left: 340px;
    width: 272px;
  }

  .reserve-gallery05 {
    right: -85px;
    width: 421px;
  }
}

/* ------------------------------------------- merit - */
.sec--reserve-merit {
  padding: 16vw 0 26.66667vw 0;
}

.sec--reserve-merit:before,
.sec--reserve-merit:after {
  content: '';
  position: absolute;
  background-color: #f8f9f9;
  z-index: -1;
}

.sec--reserve-merit:before {
  left: 0;
  bottom: 10.66667vw;
  width: 50%;
  height: 301.33333vw;
}

.sec--reserve-merit:after {
  top: 0;
  right: 0;
  width: 50%;
  height: 380.66667vw;
}

.cmn-head--merit {
  margin: 0 auto 13.33333vw 0;
  width: 100%;
}

.reserve-merit>li {
  position: relative;
  z-index: 2;
}

.reserve-merit>li:before {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  background-size: auto auto;
  background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  z-index: -1;
}

.reserve-merit-contents {
  width: 100%;
  height: 100%;
  background-color: #ffffff;
}

.reserve-merit-content {
  padding: 6.66667vw 7.33333vw 8.66667vw 7.33333vw;
}

.reserve-merit-content p {
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.8em;
}

@media screen and (max-width: 750px) {
  .reserve-merit {
    margin: 0 auto;
    width: 82.66667vw;
  }

  .reserve-merit>li {
    width: 80vw;
  }

  .reserve-merit li:nth-child(n + 2) {
    margin-top: 16vw;
  }
}

@media screen and (min-width: 751px) {
  .sec--reserve-merit {
    padding: 4.29688vw 0 13.67188vw 0;
  }

  .sec--reserve-merit:before {
    left: 1.17188vw;
    bottom: 6.64062vw;
    width: 50%;
    height: 36.71875vw;
  }

  .sec--reserve-merit:after {
    width: 50%;
    height: 46.48438vw;
  }

  .cmn-head--merit {
    margin: 0 auto 3.90625vw 0;
    width: 70.3125vw;
  }

  .reserve-merit {
    display: flex;
    justify-content: space-between;
    width: 77.34375vw;
  }

  .reserve-merit>li {
    width: 23.4375vw;
  }

  .reserve-merit>li:before {
    top: 0.78125vw;
    left: 0.78125vw;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
  }

  .reserve-merit-content {
    padding: 2.34375vw 1.79688vw 2.73438vw 2.1875vw;
  }

  .reserve-merit-content p {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .sec--reserve-merit {
    padding: 55px 0 175px 0;
  }

  .sec--reserve-merit:before {
    left: 15px;
    bottom: 85px;
    height: 470px;
  }

  .sec--reserve-merit:after {
    height: 595px;
  }

  .cmn-head--merit {
    margin: 0 auto 50px 0;
    width: 900px;
  }

  .reserve-merit {
    width: 990px;
  }

  .reserve-merit>li {
    width: 300px;
  }

  .reserve-merit>li:before {
    top: 10px;
    left: 10px;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
  }

  .reserve-merit-content {
    padding: 30px 23px 35px 28px;
  }

  .reserve-merit-content p {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/*  siemap
-------------------------------------------------------*/
.sitemap-box {
  position: relative;
  margin: 0 auto;
  width: 77.33333vw;
}

.sitemap .sitemap-box:nth-child(n + 2) {
  margin-top: 13.33333vw;
}

.sitemap-box .page-head {
  margin-bottom: 4.66667vw;
}

.sitemap-list {
  padding: 1em 0 1.2em 0;
}

.sitemap-list a {
  position: relative;
  display: block;
  padding: 1em 1em 1em 10.66667vw;
  font-size: 4vw;
  transition: color .4s;
}

.sitemap-list a:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 8vw;
  height: 0.26667vw;
  background-color: #333333;
  transform: translateY(-50%);
}

.sitemap-list a:hover {
  color: #1c7496;
}

.sitemap-image01 {
  position: relative;
  width: 100%;
}

.sitemap-image02 {
  position: relative;
  width: 64vw;
}

@media screen and (max-width: 750px) {
  .sitemap-image01 {
    left: -5.33333vw;
    margin: 10.66667vw 0 5.33333vw 0;
  }

  .sitemap-image02 {
    right: -5.33333vw;
    margin-left: auto;
  }
}

@media screen and (min-width: 751px) {
  .sitemap-box {
    margin: 0;
    width: 34.375vw;
  }

  .sitemap-box .page-head {
    margin-bottom: 1.17188vw;
  }

  .sitemap .sitemap-box:nth-child(n + 2) {
    margin-top: 3.90625vw;
  }

  .sitemap-list a {
    padding-left: 3.90625vw;
    font-size: 1.17188vw;
  }

  .sitemap-list a:before {
    width: 2.34375vw;
    height: 0.07812vw;
  }

  .sitemap-image01 {
    position: absolute;
    top: 3.90625vw;
    right: 0;
    width: 43.75vw;
  }

  .sitemap-image02 {
    position: absolute;
    top: 35.15625vw;
    right: -3.90625vw;
    width: 26.5625vw;
  }
}

@media screen and (min-width: 1201px) {
  .sitemap-box {
    width: 440px;
  }

  .sitemap .sitemap-box:nth-child(n + 2) {
    margin-top: 50px;
  }

  .sitemap-box .page-head {
    margin-bottom: 15px;
  }

  .sitemap-list a {
    padding-left: 50px;
    font-size: 15px;
    font-size: 1.5rem;
  }

  .sitemap-list a:before {
    width: 30px;
    height: 1px;
  }

  .sitemap-image01 {
    top: 50px;
    right: 0;
    width: 560px;
  }

  .sitemap-image02 {
    top: 450px;
    right: -50px;
    width: 340px;
  }
}

/*  policy
-------------------------------------------------------*/
.policy {
  /*  リンク
  ------------------------------------*/
  /*  強調文字
  ------------------------------------*/
  /*  段落
  ------------------------------------*/
  /*  数字リスト
  ------------------------------------*/
}

.policy .policy-head {
  position: relative;
  margin-bottom: 1.5em;
  padding: 0 0 .5em 1.5em;
  font-size: 5.06667vw;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: .15em;
}

.policy .policy-head span {
  position: absolute;
  top: 0;
  left: 0;
}

.policy .policy-head span:after {
  content: '.';
}

.policy .policy-head:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.policy a {
  text-decoration: underline;
}

.policy a:hover {
  color: #040000;
}

.policy strong {
  font-weight: 500;
}

.policy>p,
.policy ul,
.policy ol {
  padding: 0 0 0 .5em;
}

.policy p {
  margin-bottom: 1.5em;
  line-height: 1.8em;
}

.policy p:last-of-type {
  margin-bottom: 0;
}

.policy ol {
  margin-bottom: 3em;
  counter-reset: number 0;
}

.policy ol li {
  position: relative;
  margin: 1em 0;
  padding-left: 2em;
  line-height: 1.8em;
}

.policy ol li:before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number 1;
  content: "(" counter(number, decimal) ")";
}

@media screen and (max-width: 750px) {
  .cmn-head--policy .cmn-head-en {
    letter-spacing: .15em;
  }
}

@media screen and (min-width: 751px) {
  .policy .policy-head {
    font-size: 1.875vw;
  }

  .policy .policy-head:after {
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .policy>p,
  .policy ul,
  .policy ol {
    padding: 0 0 0 1.5em;
  }
}

@media screen and (min-width: 1201px) {
  .policy .policy-head {
    font-size: 24px;
    font-size: 2.4rem;
  }

  .policy .policy-head:after {
    height: 2px;
    background-size: auto 2px;
  }
}

/*  staff
-------------------------------------------------------*/
.staff a {
  display: flex;
  align-items: flex-start;
}

.staff-image,
.staff-single-image {
  border: 2px solid #050001;
  box-sizing: content-box;
}

.staff-image img,
.staff-single-image img {
  object-fit: cover;
  height: 100%;
}

.staff-content {
  margin-left: 5vw;
  padding: 0 1.604vw;
  letter-spacing: 0.1em;
}

.staff-tantou,
.staff-single-tantou {
  display: inline-block;
  background-color: #1c7496;
  text-align: center;
  color: #fff;
  font-size: 3.2vw;
  padding: 1.911vw 2.302vw;
}

.staff-name,
.staff-single-name {
  font-size: 4.383vw;
  margin-top: 3.906vw;
}

.staff-en,
.staff-single-en {
  color: #888;
  font-size: 3.2vw;
  margin-top: 3.214vw;
}

.single-staff .cmn-head {
  margin-bottom: 10.66667vw;
}

.single-staff-works:before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -17.867vw;
  width: 100vw;
  height: 77.867vw;
  background-color: #f8f9f9;
  z-index: -1;
}

.single-staff .works-slide .swiper-wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.staff-single-box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.staff-single-image {
  margin-right: 8.533vw;
}

.staff-single-content {
  flex: 1;
}

.staff-single-datas {
  margin-top: 4.167vw;
}

.staff-single-data.flex {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.staff-single-data {
  font-size: 3.823vw;
}

.staff-single-data.flex:nth-child(n + 2) {
  margin-top: 5.333vw;
}

.staff-single-data.flex dt {
  font-weight: 500;
  width: 19.2vw;
  padding-right: 1.302vw;
}

.staff-single-data.flex dd {
  font-weight: 300;
}

.staff-single-message {
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 10px 20px 0px rgba(4, 0, 0, 0.05);
  margin-top: 6.125vw;
  padding: 5.078vw 6.641vw;
}

.staff-single-message dt {
  font-size: 4vw;
  font-weight: 500;
  letter-spacing: 0.3em;
  line-height: 2;
}

.staff-single-message dd {
  font-weight: 300;
  letter-spacing: 0.075em;
  line-height: 2.4;
  margin-top: 1.823vw;
}

.single-staff-works {
  margin-top: 20vw;
}

.single-staff-voice {
  margin-top: 31.2vw;
}

.single-staff-voice .voice-post {
  width: 100%;
  margin: 0 auto;
}

.single-staff-voice .voice-more {
  display: none;
}

@media screen and (max-width: 750px) {
  .staff a {
    margin-bottom: 13.067vw;
  }

  .staff-image,
  .staff-single-image {
    width: 26.667vw;
    height: 26.667vw;
  }

  .staff-image img,
  .staff-single-image img {
    width: 26.667vw;
    height: 26.667vw;
  }

  .staff-single-box {
    margin-bottom: 8vw;
  }

  .staff-single-data.flex {
    margin-top: 5.867vw;
  }
}

@media screen and (min-width: 751px) {
  .staff {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
  }

  .staff a {
    display: block;
    width: 30%;
    max-width: 300px;
    margin: 0 5% 5.8% 0;
  }

  .staff a:nth-child(3n) {
    margin-right: 0;
  }

  .staff-image img,
  .staff-single-image img {
    font-family: 'object-fit: cover;';
  }

  .staff-content {
    margin: -1.553vw 0 0 0;
    padding: 0 1.604vw;
    letter-spacing: 0.1em;
  }

  .staff-tantou,
  .staff-single-tantou {
    font-size: 1.653vw;
    padding: 0.911vw 1.302vw;
  }

  .staff-name,
  .staff-single-name {
    font-size: 2.283vw;
    margin-top: 1.214vw;
  }

  .staff-en {
    font-family: din-2014-narrow,
      sans-serif;
    font-size: 1.302vw;
    margin-top: 1.734vw;
  }

  .single-staff .cmn-head {
    margin-bottom: 6.51vw;
  }

  .staff-single-box {
    flex-direction: row;
  }

  .staff-single-name {
    font-size: 2.683vw;
    margin-top: 3.906vw;
  }

  .staff-single-en {
    font-family: din-2014-narrow,
      sans-serif;
    font-size: 1.602vw;
    margin-top: 3.646vw;
  }

  .staff-single-image {
    width: 39.063vw;
    height: 39.063vw;
    margin-right: 6.51vw;
  }

  .staff-single-datas {
    margin-top: 4.557vw;
  }

  .staff-single-data {
    font-size: 1.823vw;
  }

  .staff-single-data.flex {
    margin-top: 5.867vw;
  }

  .staff-single-data.flex:nth-child(n + 2) {
    margin-top: 1.953vw;
  }

  .staff-single-data.flex dt {
    width: 9.417vw;
    padding-right: 1.302vw;
  }

  .staff-single-message {
    margin-top: 3.125vw;
    padding: 5.078vw 6.641vw;
  }

  .single-staff .none--tab {
    display: none;
  }

  .staff-single-message dt {
    font-size: 2.293vw;
  }

  .staff-single-message dd {
    margin-top: 1.823vw;
  }

  .single-staff-works:before {
    bottom: -10.53125vw;
    width: 46vw;
    height: 37.10938vw;
  }

  .single-staff-works:after {
    content: '';
    position: absolute;
    top: 7vw;
    right: 0;
    width: 50vw;
    height: 36.48438vw;
    background-color: #f8f9f9;
    z-index: -2;
  }

  .single-staff-works {
    margin-top: 14.714vw;
  }

  .single-staff-works .relation-works {
    margin: 0 -5.859vw;
  }

  .single-staff-voice {
    margin-top: 22.135vw;
  }

  .single-staff-voice .relation-voice a {
    display: flex;
    align-items: center;
  }

  .single-staff-voice .voice-post {
    padding: 0 6.25vw;
  }

  .single-staff-voice .voice-image {
    margin: 0 2.995vw 0 0;
  }

  .single-staff-voice .voice-content {
    flex: 1;
  }
}

@media screen and (min-width: 1201px) {

  .staff-image img {
    height: 300px;
  }

  .staff-content {
    margin-top: -15px;
    padding: 0 20px;
  }

  .staff-tantou,
  .staff-single-tantou {
    font-size: 15px;
    font-size: 1.5rem;
    padding: 7px 18px;
  }

  .staff-name {
    font-size: 15px;
    font-size: 1.5rem;
    margin-top: 17px;
  }

  .staff-en {
    font-size: 13px;
    font-size: 1.3rem;
    margin-top: 21px;
  }

  .single-staff .cmn-head {
    margin: 0 auto 3.90625vw auto;
    width: 70.3125vw;
  }

  .staff-single-name {
    font-size: 24px;
    font-size: 2.4rem;
    margin-top: 30px;
  }

  .staff-single-en {
    font-size: 15px;
    font-size: 1.5rem;
    margin-top: 28px;
  }

  .staff-single-image {
    width: 300px;
    height: 300px;
    margin-right: 50px;
  }

  .staff-single-datas {
    margin-top: -45px;
  }

  .staff-single-data {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .staff-single-data.flex {
    margin-top: 75px;
  }

  .staff-single-data.flex:nth-child(n + 2) {
    margin-top: 15px;
  }

  .staff-single-data.flex dt {
    width: 82px;
    padding-right: 10px;
  }

  .staff-single-message {
    margin-top: 24px;
    padding: 39px 51px;
  }

  .single-staff .none--tab {
    display: flex;
  }

  .single-staff .tab {
    display: none;
  }

  .staff-single-message dt {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .staff-single-message dd {
    margin-top: 14px;
  }

  .single-staff .cmn-head {
    width: 900px;
    margin-bottom: 50px;
  }

  .single-staff-works {
    margin-top: 113px;
  }

  .single-staff-works:before {
    bottom: -35px;
    height: 292px;
  }

  .single-staff-works:after {
    top: 80px;
    height: 369px;
  }

  .single-staff-works .relation-works {
    margin: 0 -45px;
  }

  .single-staff-voice {
    margin-top: 170px;
  }

  .single-staff-voice .voice-post {
    padding: 0 48px;
  }

  .single-staff-voice .voice-image {
    margin: 0 23px 0 0;
  }
}

@media all and (-ms-high-contrast:none) {

  *::-ms-backdrop,
  .staff-single-data.flex dt {
    width: 80px;
  }
}


/*  heading
-------------------------------------------------------*/
/* ------------------------------------------- cmn - */
.cmn-head {
  position: relative;
  padding: 0 0 0.3em 8vw;
}

.cmn-head:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4vw;
  height: 100%;
  background-size: auto auto;
  background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.8vw, #cccccc 0.8vw, #cccccc 1.33333vw);
}

.cmn-head-en {
  margin-bottom: .3em;
  font-family: din-2014-narrow, sans-serif;
  font-size: 9.6vw;
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: .3em;
  opacity: 0;
}

.cmn-head-en span {
  opacity: 0;
}

.cmn-head-jp {
  font-size: 4.8vw;
  font-weight: 500;
  letter-spacing: .3em;
  opacity: 0;
}

.cmn-head-jp span {
  opacity: 0;
}

@media screen and (min-width: 751px) {
  .cmn-head {
    padding: 0 0 0.3em 2.73438vw;
  }

  .cmn-head:before {
    width: 1.17188vw;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 0.23438vw, #cccccc 0.23438vw, #cccccc 0.39062vw);
  }

  .cmn-head-en {
    font-size: 3.75vw;
  }

  .cmn-head-jp {
    font-size: 1.40625vw;
  }
}

@media screen and (min-width: 1201px) {
  .cmn-head {
    padding: 0 0 .3em 35px;
  }

  .cmn-head:before {
    width: 15px;
    background-size: auto auto;
    background: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background: -o-repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
    background-image: repeating-linear-gradient(-45deg, transparent, transparent 3px, #cccccc 3px, #cccccc 5px);
  }

  .cmn-head-en {
    font-size: 48px;
    font-size: 4.8rem;
  }

  .cmn-head-jp {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

/*  cta
-------------------------------------------------------*/
.cta {
  position: relative;
  display: inline-block;
  padding-left: 13.33333vw;
}

.cta:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 9.6vw;
  height: 9.6vw;
  background-image: url(../img/common/telephone.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%);
}

.cta-num {
  position: relative;
  margin-bottom: .1em;
  color: #040000;
  font-family: din-2014-narrow, sans-serif;
  font-size: 10.13333vw;
  font-weight: 600;
  letter-spacing: .1em;
}

.cta-time {
  display: flex;
  align-items: center;
  font-size: 4vw;
  font-weight: 500;
}

.cta-time span {
  margin-left: .3em;
  font-family: din-2014-narrow, sans-serif;
  font-size: 5.33333vw;
  font-weight: 400;
  letter-spacing: .15em;
}

.cta-time span.holiday-min {
  font-size: 2vw;
  font-weight: 700;
}

@media screen and (min-width: 751px) {
  .ctas {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    width: 60.9375vw;
  }

  .cta {
    padding-left: 3.90625vw;
  }

  .cta:before {
    width: 2.8125vw;
    height: 2.8125vw;
  }

  .cta-num {
    font-size: 2.76875vw;
    margin-bottom: 0;
  }

  .cta-time {
    font-size: 1.17188vw;
  }

  .cta-time span.holiday-min {
    font-size: 1vw;
  }

  .cta-time span {
    font-size: 1.5625vw;
  }
}

@media screen and (min-width: 1201px) {
  .ctas {
    width: 780px;
  }

  .cta {
    padding-left: 50px;
  }

  .cta:before {
    width: 36px;
    height: 36px;
  }

  .cta-num {
    font-size: 36px;
    font-size: 3.6rem;
  }

  .cta-time {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .cta-time span.holiday-min {
    font-size: 10px;
  }

  .cta-time span {
    font-size: 20px;
    font-size: 2.0rem;
  }
}

.subnavi {
  display: flex;
  justify-content: center;
  align-items: center;
}

.subnavi li {
  position: relative;
  margin-right: 2em;
}

.subnavi li:first-child::before {
  content: '';
  position: absolute;
  top: 0;
  right: -1em;
  width: 1px;
  height: 100%;
  background-color: #040000;
}

.subnavi li:last-child {
  margin-right: 0;
}

.subnavi li a {
  position: relative;
  display: block;
  padding: .3em 0;
  font-size: 3.46667vw;
  font-weight: 500;
  text-align: center;
}

.subnavi li a:hover {
  color: #1c7496;
}

.subnavi li a:after {
  content: '';
  position: absolute;
  bottom: -.2em;
  left: 50%;
  width: 0;
  height: 1px;
  background-color: #1c7496;
  transform: translateX(-50%);
  transition: .3s;
}

.subnavi li a:hover::after {
  width: 100%;
}

@media screen and (min-width: 751px) {
  .subnavi li {
    margin-right: 3em;
  }

  .subnavi li:first-child::before {
    right: -1.5em;
  }

  .subnavi li a {
    font-size: 1.01562vw;
  }
}

@media screen and (min-width: 1201px) {
  .subnavi li a {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.social {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.social a {
  position: relative;
  display: block;
  margin-right: 10.66667vw;
}

.social a:last-child {
  margin-right: 0 !important;
}

.social a:before {
  content: '';
  display: inline-block;
  height: 6.4vw;
  background-size: contain;
  background-repeat: no-repeat;
}

.social--facebook:before {
  width: 3.2vw;
  background-image: url(../img/common/facebook.svg);
}

.social--instagram:before {
  width: 6.4vw;
  background-image: url(../img/common/instagram.svg);
}

@media screen and (min-width: 751px) {
  .social a {
    margin-right: 3.125vw;
  }

  .social a:before {
    height: 1.875vw;
  }

  .social--facebook:before {
    width: 0.9375vw;
  }

  .social--instagram:before {
    width: 1.875vw;
  }
}

@media screen and (min-width: 1201px) {
  .social a {
    margin-right: 40px;
  }

  .social a:before {
    height: 24px;
  }

  .social--facebook:before {
    width: 12px;
  }

  .social--instagram:before {
    width: 24px;
  }
}

.cta-box {
  margin: 0 auto;
  width: 100%;
  border-bottom: 1px solid #040000;
}

.cta-box-head {
  padding: 1em 0;
  background-color: #1c7496;
  color: #ffffff;
  font-size: 4vw;
  font-weight: 500;
  text-align: center;
  text-indent: 1.3em;
  line-height: 1.5em;
  letter-spacing: .3em;
}

.cta-box-contents {
  position: relative;
  padding: 5.33333vw 2.66667vw;
}

.cta-box-contact {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 5.33333vw;
}

.cta-box-contact .cta {
  padding-left: 12.66667vw;
}

.cta-box-contact .cta:before {
  width: 9.33333vw;
  height: 9.33333vw;
}

.cta-box-contact .cta-num {
  font-size: 10.13333vw;
}

.cta-box-contact .cta-time {
  font-size: 4vw;
}

.cta-box-contact .cta-time span {
  font-size: 5.33333vw;
}

.cta-box-social {
  display: flex;
  justify-content: center;
  align-items: center;
}

.cta-box-social .social a {
  margin-right: 17.33333vw;
}

.cta-box-social .social a:before {
  height: 9.33333vw;
}

.cta-box-social .social--facebook:before {
  width: 4.8vw;
}

.cta-box-social .social--instagram:before {
  width: 9.33333vw;
}

@media screen and (max-width: 750px) {

  .cta-box-contents:before,
  .cta-box-contents:after {
    content: '';
    position: absolute;
    top: 2.66667vw;
    width: 1px;
    height: calc(100% - 5.33333vw);
    background-color: #040000;
  }

  .cta-box-contents:before {
    left: 0;
  }

  .cta-box-contents:after {
    right: 0;
  }
}

@media screen and (min-width: 751px) {
  .cta-box {
    width: 62.5vw;
  }

  .cta-box-head {
    font-size: 1.17188vw;
  }

  .cta-box-contents {
    display: flex;
    padding: 0.78125vw 0;
    height: 9.375vw;
  }

  .cta-box-contact {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    width: 40.625vw;
    border-left: 1px solid #040000;
  }

  .cta-box-contact .cta {
    padding-left: 4.92188vw;
  }

  .cta-box-contact .cta:before {
    width: 3.51562vw;
    height: 3.51562vw;
  }

  .cta-box-contact .cta-num {
    font-size: 3.75vw;
  }

  .cta-box-contact .cta-time {
    font-size: 1.40625vw;
  }

  .cta-box-contact .cta-time span {
    font-size: 1.875vw;
  }

  .cta-box-social {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 21.875vw;
    border-left: 1px solid #040000;
    border-right: 1px solid #040000;
  }

  .cta-box-social .social a {
    margin-right: 5.07812vw;
  }

  .cta-box-social .social a:before {
    height: 3.67188vw;
  }

  .cta-box-social .social--facebook:before {
    width: 1.95312vw;
  }

  .cta-box-social .social--instagram:before {
    width: 3.67188vw;
  }
}

@media screen and (min-width: 1201px) {
  .cta-box {
    width: 800px;
  }

  .cta-box-head {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .cta-box-contents {
    padding: 10px 0;
    height: 120px;
  }

  .cta-box-contact {
    width: 520px;
  }

  .cta-box-contact .cta {
    padding-left: 63px;
  }

  .cta-box-contact .cta:before {
    width: 45px;
    height: 45px;
  }

  .cta-box-contact .cta-num {
    font-size: 48px;
    font-size: 4.8rem;
  }

  .cta-box-contact .cta-time {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .cta-box-contact .cta-time span {
    font-size: 24px;
    font-size: 2.4rem;
  }

  .cta-box-social {
    width: 280px;
  }

  .cta-box-social .social a {
    margin-right: 65px;
  }

  .cta-box-social .social a:before {
    height: 47px;
  }

  .cta-box-social .social--facebook:before {
    width: 25px;
  }

  .cta-box-social .social--instagram:before {
    width: 47px;
  }
}

/*  breadcrumb
-------------------------------------------------------*/
.breadcrumb {
  position: relative;
  margin: 0 auto;
  width: 89.33333vw;
}

.breadcrumb-list {
  display: flex;
  align-items: center;
  padding: 1em 0;
}

.breadcrumb-list li {
  position: relative;
  font-size: 2.93333vw;
  line-height: 1.4em;
  letter-spacing: .075em;
  white-space: nowrap;
}

.breadcrumb-list li a {
  position: relative;
}

.breadcrumb-list li a span {
  display: inline-block;
  padding-bottom: .1em;
}

.breadcrumb-list li a:hover {
  color: #1c7496;
}

.breadcrumb-list li:nth-child(n + 2) {
  margin-left: 7.46667vw;
}

.breadcrumb-list li:after {
  content: '';
  position: absolute;
  top: 50%;
  left: -4.4vw;
  display: inline-block;
  width: 1.73333vw;
  height: 3.2vw;
  background-image: url(../img/common/breadcrumb.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%);
}

.breadcrumb-list li:first-child:after {
  content: none;
}

@media screen and (min-width: 751px) {
  .breadcrumb {
    width: 78.125vw;
  }

  .breadcrumb-list {
    flex-wrap: wrap;
  }

  .breadcrumb-list li {
    font-size: 0.9375vw;
    white-space: wrap;
  }

  .breadcrumb-list li:nth-child(n + 2) {
    margin-left: 3.125vw;
  }

  .breadcrumb-list li:after {
    left: -1.95312vw;
    width: 0.54688vw;
    height: 0.9375vw;
  }
}

@media screen and (min-width: 1201px) {
  .breadcrumb {
    width: 1000px;
  }

  .breadcrumb-list li {
    font-size: 12px;
    font-size: 1.2rem;
  }

  .breadcrumb-list li:nth-child(n + 2) {
    margin-left: 40px;
  }

  .breadcrumb-list li:after {
    left: -25px;
    width: 7px;
    height: 12px;
  }
}

@media screen and (max-width: 750px) {
  .breadcrumb-list {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
}

/*  ページネーション
-------------------------------------------------------*/
.page-archive-navi {
  margin-top: 13.33333vw;
}

.page-archive-navi .pagecount {
  margin-bottom: 4vw;
  color: #040000;
  font-size: 4vw;
  font-weight: 500;
  text-align: right;
  letter-spacing: .15em;
}

.page-archive-navi .pagecount span {
  font-family: din-2014-narrow, sans-serif;
  font-size: 1.33em;
}

@media screen and (min-width: 751px) {
  .page-archive-navi {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 5.46875vw;
  }

  .page-archive-navi .pagecount {
    margin-bottom: 0;
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .page-archive-navi {
    margin-top: 70px;
  }

  .page-archive-navi .pagecount {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

.pagenation-list {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagenation-list li {
  margin-right: 1.33333vw;
}

.pagenation-list li:last-child {
  margin-right: 0;
}

.pagenation-list li span,
.pagenation-list li a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 10.66667vw;
  height: 10.66667vw;
  background-color: #ffffff;
  border-radius: 50%;
  color: #040000;
  font-family: din-2014-narrow, sans-serif;
  font-size: 4.66667vw;
  letter-spacing: 0;
  transition: background-color .4s, color .4s;
}

.pagenation-list li.is-active span {
  background-color: #040000;
  color: #ffffff;
}

.pagenation-list li span:hover,
.pagenation-list li a:hover {
  background-color: #040000;
  color: #ffffff;
}

.pagenation-prev a:before,
.pagenation-next a:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  width: 1.86667vw;
  height: 3.33333vw;
  background-size: contain;
  background-repeat: no-repeat;
  transform: translate(-50%, -50%);
}

.pagenation-prev a:before {
  background-image: url(../img/common/prev-bk.svg);
}

.pagenation-prev a:hover::before {
  background-image: url(../img/common/prev-wh.svg);
}

.pagenation-next a:before {
  background-image: url(../img/common/next-bk.svg);
}

.pagenation-next a:hover::before {
  background-image: url(../img/common/next-wh.svg);
}

@media screen and (min-width: 751px) {
  .pagenation-list {
    justify-content: flex-end;
    margin-left: 1.95312vw;
  }

  .pagenation-list li {
    margin-right: 0.78125vw;
  }

  .pagenation-list li span,
  .pagenation-list li a {
    width: 3.90625vw;
    height: 3.90625vw;
    font-size: 1.5625vw;
  }

  .pagenation-prev a:before,
  .pagenation-next a:before {
    width: 0.54688vw;
    height: 1.01562vw;
  }
}

@media screen and (min-width: 1201px) {
  .pagenation-list {
    margin-left: 25px;
  }

  .pagenation-list li {
    margin-right: 10px;
  }

  .pagenation-list li span,
  .pagenation-list li a {
    width: 50px;
    height: 50px;
    font-size: 20px;
    font-size: 2.0rem;
  }

  .pagenation-prev a:before,
  .pagenation-next a:before {
    width: 7px;
    height: 13px;
  }
}

/*  pagenavi
-------------------------------------------------------*/
.pagenavi {
  position: relative;
  margin: 10.66667vw auto 0 auto;
  width: 89.33333vw;
  height: 32vw;
}

.pagenavi a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding-bottom: .1em;
  border: 1px solid #1c7496;
  background-color: #1c7496;
  color: #ffffff;
  font-size: 4vw;
  font-weight: 500;
  text-indent: .15em;
  letter-spacing: .15em;
  transition: background-color .4s, color .4s;
}

.pagenavi a:hover {
  background-color: #ffffff;
  color: #1c7496;
}

.pagenavi-prev,
.pagenavi-next {
  position: absolute;
  top: 18.66667vw;
  width: 34.66667vw;
}

.pagenavi-prev {
  left: 0;
}

.pagenavi-next {
  right: 0;
}

.pagenavi-prev a,
.pagenavi-next a {
  width: 100%;
  height: 13.33333vw;
}

.pagenavi-prev a:after,
.pagenavi-next a:after {
  content: '';
  position: absolute;
  top: 50%;
  width: 4vw;
  height: 0.26667vw;
  background-color: #ffffff;
  transform: translateY(-50%);
  transition: transform .4s;
  z-index: 4;
}

.pagenavi-prev a:hover::after,
.pagenavi-next a:hover::after {
  background-color: #1c7496;
}

.pagenavi-prev a:after {
  left: 5.33333vw;
}

.pagenavi-next a:after {
  right: 5.33333vw;
}

.pagenavi-prev a:hover:after {
  transform: translateX(-0.5em) translateY(-50%);
}

.pagenavi-next a:hover:after {
  transform: translateX(0.5em) translateY(-50%);
}

.pagenavi-prev a {
  padding-left: 2em;
}

.pagenavi-next a {
  padding-right: 2em;
}

.pagenavi-back a {
  width: 100%;
  height: 13.33333vw;
  text-align: center;
}

@media screen and (min-width: 751px) {
  .pagenavi {
    margin: 6.25vw auto 0 auto;
    width: 78.125vw;
    height: 3.90625vw;
  }

  .pagenavi a {
    font-size: 1.17188vw;
  }

  .pagenavi-prev,
  .pagenavi-next {
    top: 50%;
    width: 14.0625vw;
    transform: translateY(-50%);
  }

  .pagenavi-prev {
    left: 0;
  }

  .pagenavi-next {
    right: 0;
  }

  .pagenavi-prev a,
  .pagenavi-next a {
    height: 3.90625vw;
  }

  .pagenavi-prev a:after,
  .pagenavi-next a:after {
    width: 2.34375vw;
    height: 0.07812vw;
  }

  .pagenavi-prev a:after {
    left: 1.5625vw;
  }

  .pagenavi-next a:after {
    right: 1.5625vw;
  }

  .pagenavi-back a {
    width: 31.25vw;
    height: 3.90625vw;
  }
}

@media screen and (min-width: 1201px) {
  .pagenavi {
    margin: 80px auto 0 auto;
    width: 1000px;
    height: 50px;
  }

  .pagenavi a {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .pagenavi-prev,
  .pagenavi-next {
    width: 180px;
  }

  .pagenavi-prev a,
  .pagenavi-next a {
    height: 50px;
  }

  .pagenavi-prev a:after,
  .pagenavi-next a:after {
    width: 30px;
    height: 1px;
  }

  .pagenavi-prev a:after {
    left: 20px;
  }

  .pagenavi-next a:after {
    right: 20px;
  }

  .pagenavi-back a {
    width: 400px;
    height: 50px;
  }
}

/*  ボタン
-------------------------------------------------------*/
/* ------------------------------------------- スタイル１ - */
.main-btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: .1em;
  width: 100%;
  height: 16vw;
  border-width: 0.26667vw;
  border-style: solid;
  font-size: 4vw;
  font-weight: 500;
  text-indent: .15em;
  line-height: 1.2em;
  letter-spacing: .15em;
  transition: ease .4s;
  z-index: 3;
}

.main-btn:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
  z-index: 2;
}

.main-btn:hover:before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.main-btn:after {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  border-width: 0.26667vw;
  border-style: solid;
  border-top: none !important;
  border-left: none !important;
  transition: .4s;
  z-index: -1;
}

.main-btn:hover:after,
.on--btn:hover .main-btn:after {
  top: 0;
  left: 0;
}

.main-btn span {
  position: relative;
  color: #ffffff;
  z-index: 3;
}

.main-btn--green {
  border-color: #1c7496;
  background-color: #1c7496;
}

.main-btn--green:hover span,
.on--btn:hover .main-btn--green span {
  color: #1c7496;
}

.main-btn--green:after {
  border-color: #1c7496;
}

.main-btn--gold {
  background-color: #9a7a3b;
  border-color: #9a7a3b;
}

.main-btn--gold:hover span,
.on--btn:hover .main-btn--gold span {
  color: #9a7a3b;
}

.main-btn--gold:after {
  border-color: #9a7a3b;
}

@media screen and (min-width: 751px) {
  .main-btn {
    height: 4.6875vw;
    border-width: 0.07812vw;
    font-size: 1.17188vw;
    text-indent: .3em;
    letter-spacing: .3em;
  }

  .main-btn:after {
    top: 0.78125vw;
    left: 0.78125vw;
    border-width: 0.07812vw;
  }
}

@media screen and (min-width: 1201px) {
  .main-btn {
    height: 60px;
    border-width: 1px;
    font-size: 15px;
    font-size: 1.5rem;
  }

  .main-btn:after {
    top: 10px;
    left: 10px;
    border-width: 1px;
  }
}

/* ------------------------------------------- common btn - */
.cmn-btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 16vw;
  font-size: 4vw;
  font-weight: 500;
  text-align: center;
  text-indent: .3em;
  letter-spacing: .3em;
  transition: ease .4s;
}

.cmn-btn:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
  z-index: 2;
}

.cmn-btn:hover:before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.cmn-btn span {
  position: relative;
  color: #ffffff;
  z-index: 3;
}

.cmn-btn--contact {
  background-color: #1c7496;
  border: 1px solid #1c7496;
}

.cmn-btn--reserve {
  background-color: #9a7a3b;
  border: 1px solid #9a7a3b;
}

.cmn-btn--contact:hover span {
  color: #1c7496;
}

.cmn-btn--reserve:hover span {
  color: #9a7a3b;
}

@media screen and (min-width: 751px) {
  .cmn-btn {
    height: 4.6875vw;
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .cmn-btn {
    height: 60px;
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* form
-------------------------------------------------------------------------------*/
/* ------------------------------------------- section - */
.sec--form {
  margin-top: 13.33333vw;
}

@media screen and (min-width: 751px) {
  .sec--form {
    margin-top: 6.25vw;
  }
}

@media screen and (min-width: 1201px) {
  .sec--form {
    margin-top: 80px;
  }
}

/* ------------------------------------------- form box - */
.form-box {
  margin: 0 auto;
  padding: 13.33333vw 5.33333vw 20vw 5.33333vw;
  width: 100vw;
  background-color: #f8f9f9;
}

.form-head {
  margin-bottom: 1em;
  font-size: 5.86667vw;
  font-weight: 500;
  text-align: center;
  line-height: 1.72em;
  letter-spacing: .15em;
}

.form-desc {
  position: relative;
  margin-bottom: 6.66667vw;
}

.form-desc p {
  font-size: 3.73333vw;
  line-height: 1.875em !important;
}

.form-desc a {
  display: inline !important;
}

.form-caution {
  margin: 2.66667vw 0 6.66667vw 0;
}

.form-caution p {
  font-size: 3.73333vw;
  line-height: 1.875em !important;
}

@media screen and (max-width: 750px) {
  .form-box {
    margin-left: -5.33333vw;
  }
}

@media screen and (min-width: 751px) {
  .form-box {
    padding: 5.85938vw 7.8125vw 6.64062vw 7.8125vw;
    width: 78.125vw;
    border-radius: 0.78125vw;
  }

  .form-head {
    font-size: 1.875vw;
  }

  .form-desc {
    margin-bottom: 4.29688vw;
  }

  .form-desc p {
    font-size: 1.17188vw;
    text-align: center;
  }

  .form-caution {
    margin: 1.95312vw 0 2.73438vw 0;
  }

  .form-caution p {
    font-size: 1.17188vw;
  }
}

@media screen and (min-width: 1201px) {
  .form-box {
    padding: 75px 100px 85px 100px;
    width: 1000px;
    border-radius: 10px;
  }

  .form-head {
    font-size: 24px;
    font-size: 2.4rem;
  }

  .form-desc {
    margin-bottom: 55px;
  }

  .form-desc p {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .form-caution {
    margin: 25px 0 35px 0;
  }

  .form-caution p {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ------------------------------------------- form - */
.form {
  width: 100%;
  letter-spacing: .03em;
}

.form th {
  position: relative;
  margin-bottom: .7em;
  display: block;
  width: 100%;
  color: #333333;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 500;
  text-align: left;
}

.form td {
  position: relative;
  display: block;
  padding-bottom: 1.7em;
  width: 100%;
  min-height: 50px;
  font-size: 15px;
  line-height: 1em;
  letter-spacing: .1em;
}

.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form input[type="date"],
.form select {
  display: flex;
  align-items: center;
  padding: 0 1em;
  width: 100%;
  height: 50px;
  background-color: #ffffff;
  border-color: #cccccc;
  border-style: solid;
  border-width: 1px;
  color: #333333;
  font-family: "NotoSansJP", sans-serif;
  font-size: 15px;
  line-height: 1em;
  letter-spacing: .075em;
}

.form textarea {
  padding: .8em 1em;
  width: 100%;
  height: 315px;
  background-color: #ffffff;
  border-color: #cccccc;
  border-style: solid;
  border-width: 1px;
  font-family: "NotoSansJP", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8em;
  letter-spacing: .075em;
}

@media screen and (max-width: 1200px) {
  .form th {
    font-size: 1.17188vw;
  }

  .form td {
    min-height: 3.90625vw;
    font-size: 1.17188vw;
  }

  .form input[type="text"],
  .form input[type="email"],
  .form input[type="tel"],
  .form input[type="date"],
  .form select {
    height: 3.90625vw;
    border-width: 0.07812vw;
    font-size: 1.17188vw;
  }

  .form textarea {
    height: 24.60938vw;
    border-width: 0.07812vw;
    font-size: 1.17188vw;
  }
}

@media screen and (max-width: 750px) {
  .form th {
    font-size: 4vw;
  }

  .form td {
    min-height: 13.33333vw;
    font-size: 4vw;
  }

  .form input[type="text"],
  .form input[type="email"],
  .form input[type="tel"],
  .form input[type="date"],
  .form select {
    height: 13.33333vw;
    border-width: 0.26667vw;
    font-size: 4vw;
  }

  .form textarea {
    height: 77.33333vw;
    border-width: 0.26667vw;
    font-size: 4vw;
  }
}

/* ---------------------------------- required input form */
.form-input-req {
  background-color: #fbf0f0 !important;
}

/* ---------------------------------- hosoku */
.form-hosoku {
  text-indent: -1em;
  padding-left: 1em;
  margin-top: .5em;
  font-size: 3.73333vw;
  font-weight: 700;
  line-height: 1.6em;
}

.form-hosoku:before {
  content: '※';
}

.form-hosoku-top {
  margin-top: 0;
}

@media screen and (min-width: 751px) {
  .form-hosoku {
    font-size: 1.09375vw;
  }
}

@media screen and (min-width: 1201px) {
  .form-hosoku {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

/* ---------------------------------- label */
.form-label {
  position: relative;
  margin-left: 2em;
  font-size: 3.46667vw;
  font-weight: 500;
}

.form-label--req {
  color: #fc3500;
}

.form-label--unreq {
  color: #888888;
}

@media screen and (min-width: 751px) {
  .form-label {
    font-size: 1.01562vw;
    line-height: 1.25vw;
  }
}

@media screen and (min-width: 1201px) {
  .form-label {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 16px;
  }
}

/* ---------------------------------- date */
.form-dates>div p {
  margin-bottom: .5em;
}

.form-dates>div:nth-child(n + 2) {
  margin-top: 1em;
}

.form-date {
  display: flex;
  align-items: flex-end;
}

.form-date li {
  margin-right: .3em;
}

.form-date li:last-child {
  margin-right: 0;
}

/* ---------------------------------- age */
.form-age {
  display: flex;
  align-items: center;
}

.form-age span.unit {
  margin-left: .5em;
}

.form-age input[type="text"] {
  width: 53.33333vw !important;
}

@media screen and (min-width: 751px) {
  .form-age input[type="text"] {
    width: 15.625vw !important;
  }
}

@media screen and (min-width: 1201px) {
  .form-age input[type="text"] {
    width: 200px !important;
  }
}

/* ---------------------------------- TD内横並び */
.form-multi-sp-block div:last-child {
  margin-top: 5px;
}

.form-multi-sp-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.form-multi-sp-block li {
  margin-right: 5px;
}

.form-multi-sp-block li:last-child {
  margin-right: 0;
}

/* ---------------------------------- 来店希望日時の時間入力フォーム */
.form-input--small {
  width: 4em !important;
}

.form-input--short {
  width: 100% !important;
}

@media screen and (min-width: 751px) {
  .form-input--small {
    width: 5em !important;
  }

  .form-input--short {
    width: 37.5vw !important;
  }
}

@media screen and (min-width: 1201px) {
  .form-input--short {
    width: 480px !important;
  }
}

/* ---------------------------------- select box */
.form select {
  width: 100%;
}

.form-select {
  position: relative;
}

.form-select:before {
  content: '';
  position: absolute;
  top: 50%;
  right: 2vw;
  display: inline-block;
  width: 2vw;
  height: 1.06667vw;
  background-image: url(../img/form/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%);
  z-index: 2;
}

@media screen and (min-width: 751px) {
  .form-select:before {
    right: 0.9375vw;
    width: 0.78125vw;
    height: 0.46875vw;
  }
}

@media screen and (min-width: 1201px) {
  .form-select:before {
    right: 12px;
    width: 10px;
    height: 6px;
  }
}

/* ---------------------------------- placeholder */
.form input::-webkit-input-placeholder,
.form select::-webkit-input-placeholder,
.form textarea::-webkit-input-placeholder {
  color: #bbbbbb;
}

.form input:-ms-input-placeholder,
.form select:-ms-input-placeholder,
.form textarea:-ms-input-placeholder,
.form input::-ms-input-placeholder,
.form textarea::-ms-input-placeholder {
  color: #bbbbbb;
}

.form input::-moz-placeholder,
.form select::-moz-placeholder,
.form textarea::-moz-placeholder {
  color: #bbbbbb;
}

/* ---------------------------------- radio & checkbox */
.form .wpcf7-radio,
.form .wpcf7-checkbox {
  display: block;
  margin: -2vw 0 5.33333vw -8vw;
  width: calc(100% + 8vw);
}

.form .wpcf7-radio .wpcf7-list-item,
.form .wpcf7-checkbox .wpcf7-list-item {
  position: relative;
  margin: 4vw 0 0 8vw;
}

.form input[type="radio"],
.form input[type="checkbox"] {
  display: none;
}

.form input[type="radio"]+span,
.form input[type="checkbox"]+span {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-left: 9.33333vw;
  height: 6.66667vw;
  font-size: 3.73333vw;
  font-weight: 500;
  cursor: pointer;
}

.form input[type="radio"]+span::before,
.form input[type="checkbox"]+span::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 6.66667vw;
  height: 6.66667vw;
  background-color: #ffffff;
  border-color: #888888;
  border-style: solid;
  border-width: 0.53333vw;
  transform: translateY(-50%);
}

.form input[type="radio"]+span::before {
  border-radius: 50%;
}

.form input[type="radio"]:checked+span::after,
.form input[type="checkbox"]:checked+span::after {
  content: '';
  position: absolute;
  top: 50%;
  display: block;
}

.form input[type="radio"]:checked+span::after {
  left: 2.2vw;
  width: 3.33333vw;
  height: 3.33333vw;
  background-color: #1c7496;
  border-radius: 50%;
  transform: translateY(-50%);
}

.form input[type="checkbox"]:checked+span::after {
  left: 1.33333vw;
  margin-top: -.2em;
  width: 4vw;
  height: 2vw;
  border-left: 1.33333vw solid #1c7496;
  border-bottom: 1.33333vw solid #1c7496;
  transform: translateY(-50%) rotate(-45deg);
}

@media screen and (min-width: 751px) {

  .form .wpcf7-radio,
  .form .wpcf7-checkbox {
    margin: -0.78125vw 0 0.78125vw -3.125vw;
    width: calc(100% + 3.125vw);
  }

  .form .wpcf7-radio .wpcf7-list-item,
  .form .wpcf7-checkbox .wpcf7-list-item {
    margin: 1.17188vw 0 0 3.125vw;
  }

  .form input[type="radio"]+span,
  .form input[type="checkbox"]+span {
    padding-left: 3.51562vw;
    height: 2.34375vw;
    font-size: 1.17188vw;
  }

  .form input[type="radio"]+span::before,
  .form input[type="checkbox"]+span::before {
    width: 2.34375vw;
    height: 2.34375vw;
    border-width: 0.15625vw;
  }

  .form input[type="radio"]:checked+span::after {
    left: 0.78125vw;
    width: 1.17188vw;
    height: 1.17188vw;
  }

  .form input[type="checkbox"]:checked+span::after {
    left: 0.3125vw;
    width: 1.5625vw;
    height: 0.78125vw;
    border-left: 0.39062vw solid #1c7496;
    border-bottom: 0.39062vw solid #1c7496;
  }
}

@media screen and (min-width: 1201px) {

  .form .wpcf7-radio,
  .form .wpcf7-checkbox {
    margin: -10px 0 10px -40px;
    width: calc(100% + 40px);
  }

  .form .wpcf7-radio .wpcf7-list-item,
  .form .wpcf7-checkbox .wpcf7-list-item {
    margin: 15px 0 0 40px;
  }

  .form input[type="radio"]+span,
  .form input[type="checkbox"]+span {
    padding-left: 45px;
    height: 30px;
    font-size: 15px;
    font-size: 1.5rem;
  }

  .form input[type="radio"]+span::before,
  .form input[type="checkbox"]+span::before {
    width: 30px;
    height: 30px;
    border-width: 2px;
  }

  .form input[type="radio"]:checked+span::after {
    left: 10px;
    width: 15px;
    height: 15px;
  }

  .form input[type="checkbox"]:checked+span::after {
    left: 4px;
    width: 20px;
    height: 10px;
    border-left: 5px solid #1c7496;
    border-bottom: 5px solid #1c7496;
  }
}

/* ---------------------------------- ラジオボタン縦並び */
.form-checkbox-block span.wpcf7-list-item {
  margin: 0 1em 0 0 !important;
}

.form-checkbox-block span.wpcf7-list-item:last-of-type {
  margin-right: 0;
}

.form-checkbox-block span.wpcf7-list-item {
  display: block;
  margin-top: .5em;
  line-height: 2.6em;
}

.form-checkbox-block span.wpcf7-list-item:last-child {
  margin-bottom: .5em;
}

@media screen and (min-width: 751px) {
  .form-checkbox-block .wpcf7-checkbox {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }

  .form-checkbox-block span.wpcf7-list-item {
    margin-left: 1em;
    width: calc(20% - 1em);
    margin-top: 0;
  }

  .form-checkbox-block span.wpcf7-list-item:last-child {
    margin-bottom: 0;
  }
}

.form-checkbox-block .wpcf7-checkbox label {
  display: inline-flex;
  align-items: center;
}

/* ---------------------------------- button */
.form-btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding-bottom: .1em;
  width: 84vw;
  height: 16vw;
  border-color: #1c7496;
  background-color: #1c7496;
  border-width: 0.26667vw;
  border-style: solid;
  transition: ease .4s;
  z-index: 3;
}

.form-btn:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
  z-index: 2;
}

.form-btn:hover:before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.form-btn--green:hover span,
.on--btn:hover .form-btn--green span {
  color: #1c7496;
}

.form-btn:after {
  content: '';
  position: absolute;
  top: 2.66667vw;
  left: 2.66667vw;
  width: 100%;
  height: 100%;
  border-color: #1c7496;
  border-width: 0.26667vw;
  border-style: solid;
  border-top: none !important;
  border-left: none !important;
  transition: .4s;
  z-index: -1;
}

.form-btn:hover:after {
  top: 0;
  left: 0;
}

.form-submit {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #ffffff;
  font-family: "NotoSansJP", sans-serif;
  font-size: 4vw;
  font-weight: 500;
  text-indent: .15em;
  line-height: 1.2em;
  letter-spacing: .15em;
  transition: color .3s;
  z-index: 3;
}

.form-btn:hover .form-submit {
  color: #1c7496;
}

@media screen and (min-width: 751px) {
  .form-btn {
    width: 26.95312vw;
    height: 4.6875vw;
    border-width: 0.07812vw;
  }

  .form-btn:after {
    top: 0.78125vw;
    left: 0.78125vw;
    border-width: 0.07812vw;
  }

  .form-submit {
    font-size: 1.17188vw;
    text-indent: .3em;
    letter-spacing: .3em;
  }
}

@media screen and (min-width: 1201px) {
  .form-btn {
    width: 345px;
    height: 60px;
    border-width: 1px;
  }

  .form-btn:after {
    top: 10px;
    left: 10px;
    border-width: 1px;
  }

  .form-submit {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* ---------------------------------- default reset */
div.wpcf7 .ajax-loader,
.wpcf7-spinner {
  display: none !important;
}

/* ---------------------------------- errors */
.wpcf7-not-valid-tip {
  padding-top: .5em;
  font-size: 0.93em !important;
}

.wpcf7-validation-errors {
  padding: 1em !important;
  border: 1px solid #040000 !important;
}

/*  swiper
-------------------------------------------------------*/
.swiper-wrapper {
  height: auto !important;
}

.slide-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-pagination-bullets {
  bottom: auto !important;
}

.slide-pagination .swiper-pagination-bullet {
  margin: 0 !important;
  margin-right: 6.66667vw !important;
  width: 1.33333vw;
  height: 1.33333vw;
  background-color: #cccccc;
  border-radius: 50%;
}

.slide-pagination .swiper-pagination-bullet:last-child {
  margin-right: 0 !important;
}

.slide-pagination .swiper-pagination-bullet-active {
  background-color: #040000;
}

@media screen and (min-width: 751px) {
  .slide-pagination .swiper-pagination-bullet {
    margin-right: 1.95312vw !important;
    width: 0.39062vw;
    height: 0.39062vw;
  }
}

@media screen and (min-width: 1201px) {
  .slide-pagination .swiper-pagination-bullet {
    margin-right: 25px !important;
    width: 5px;
    height: 5px;
  }
}

.slide-btn-prev,
.slide-btn-next {
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 5.33333vw;
  height: 18vw;
  transform: translateY(-50%);
  transition: .3s;
  z-index: 3;
}

.slide-btn-prev {
  left: 0;
}

.slide-btn-next {
  right: 0;
}

.slide-btn-prev:after,
.slide-btn-next:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  transition: .3s;
}

.slide-btn-prev:before,
.slide-btn-next:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  width: 5.33333vw;
  height: 18.66667vw;
  background-size: contain;
  background-repeat: no-repeat;
  transform: translate(-50%, -50%);
}

.slide-btn-prev:before {
  background-image: url(../img/slide/prev_sp.png);
}

.slide-btn-next:before {
  background-image: url(../img/slide/next_sp.png);
}

@media screen and (max-width: 750px) {
  .blog-slide .slide-btn-prev {
    left: -4vw;
  }

  .blog-slide .slide-btn-next {
    right: -4vw;
  }

  .voice-slide .slide-btn-prev {
    left: -4vw;
  }

  .voice-slide .slide-btn-next {
    right: -4vw;
  }

  .works-slide .slide-btn-prev {
    left: -4vw;
  }

  .works-slide .slide-btn-next {
    right: -4vw;
  }
}

@media screen and (min-width: 751px) {

  .blog-slide .slide-pagination,
  .blog-slide .slide-btn-prev,
  .blog-slide .slide-btn-next,
  .voice-slide .slide-pagination,
  .voice-slide .slide-btn-prev,
  .voice-slide .slide-btn-next,
  .works-slide .slide-pagination,
  .works-slide .slide-btn-prev,
  .works-slide .slide-btn-next {
    display: none;
  }

  .swiper-pagination-bullet {
    width: 4.29688vw;
    height: 1.17188vw;
    border-radius: 0.625vw;
  }

  .slide-pagination .swiper-pagination-bullet:nth-child(n + 2) {
    margin-left: 1.17188vw;
  }

  .slide-btn-prev,
  .slide-btn-next {
    margin-top: -2.34375vw;
    width: 4.6875vw;
    height: 4.6875vw;
  }

  .slide-btn-prev {
    left: 0;
  }

  .slide-btn-next {
    right: 0;
  }

  .slide-btn-prev:before {
    background-image: url(../img/slide/prev.png);
    background-image: image-set(url(../img/slide/prev.png) 1x, url(../img/slide/prev-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/slide/prev.png) 1x, url(../img/slide/prev-2x.png) 2x);
  }

  .slide-btn-next:before {
    background-image: url(../img/slide/next.png);
    background-image: image-set(url(../img/slide/next.png) 1x, url(../img/slide/next-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/slide/next.png) 1x, url(../img/slide/next-2x.png) 2x);
  }

  .slide-btn-prev:before,
  .slide-btn-next:before {
    width: 4.6875vw;
    height: 4.6875vw;
  }
}

@media screen and (min-width: 1201px) {
  .swiper-pagination-bullet {
    width: 55px;
    height: 15px;
    border-radius: 8px;
  }

  .slide-pagination .swiper-pagination-bullet:nth-child(n + 2) {
    margin-left: 15px;
  }

  .slide-btn-prev,
  .slide-btn-next {
    margin-top: -30px;
    width: 60px;
    height: 60px;
  }

  .slide-btn-prev:before,
  .slide-btn-next:before {
    width: 60px;
    height: 60px;
  }
}

/*  EDITOR
-------------------------------------------------------*/
.editor {
  margin: 0 auto;
  width: 100%;
  font-family: "NotoSansJP", sans-serif;
  /*  リンク
  ------------------------------------*/
  /*  強調文字
  ------------------------------------*/
  /*  リスト
  ------------------------------------*/
  /*  数字リスト
  ------------------------------------*/
  /*  引用
  ------------------------------------*/
}

.editor h3 {
  position: relative;
  margin: 2.5em 0 .8em 0;
  padding: .5em 1em;
  background-color: #f8f9f9;
  border-left: 1.6vw solid #333333;
  font-size: 5.33333vw;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: .15em;
}

.editor h4 {
  position: relative;
  display: block;
  margin: 2.5em 0 1em 0;
  padding: 0 0 1em 0;
  color: #333333;
  font-size: 4.8vw;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: .15em;
}

.editor h4:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 100%;
  height: 0.53333vw;
  background-image: url(../img/common/line_sp.png);
  background-size: auto 0.53333vw;
  background-repeat: repeat-x;
}

.editor h5 {
  position: relative;
  display: block;
  margin: 2.5em 0 1.5em 0;
  color: #333333;
  font-size: 4.8vw;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: .15em;
}

.editor p {
  font-size: 3.73333vw;
  line-height: 2.25em;
}

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

.editor img.alignleft {
  display: block;
}

.editor img.alignright {
  display: block;
}

.editor img.aligncenter {
  display: block;
  margin-top: 1em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1em;
}

.editor .iframe-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.editor .iframe-wrap iframe,
.editor .iframe-wrap object,
.editor .iframe-wrap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.editor a {
  font-weight: 500;
  transition: opacity .3s;
}

.editor a:hover {
  opacity: 0.7;
}

.editor strong {
  font-weight: 700;
}

.editor ul {
  margin: 1em 0 1.5em 0;
}

.editor ul li {
  margin-left: 1.5em;
  list-style-type: square;
  line-height: 2.13em;
}

.editor ol {
  margin: 1em 0 1.5em 0;
}

.editor ol li {
  margin-left: 2.5em;
  list-style-type: decimal-leading-zero;
  line-height: 2.13em;
}

.editor blockquote {
  margin: 1.5em 1em;
  padding: 1em;
  background-color: #ffffff;
  font-style: italic;
}

@media screen and (max-width: 750px) {
  img.alignleft {
    margin: 1em auto;
  }

  img.alignright {
    margin: 1em auto;
  }
}

@media screen and (min-width: 751px) {
  .editor h3 {
    border-left: 0.46875vw solid #333333;
    font-size: 1.5625vw;
  }

  .editor h4 {
    font-size: 1.40625vw;
  }

  .editor h4:after {
    height: 0.15625vw;
    background-image: url(../img/common/line.png);
    background-image: image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/line.png) 1x, url(../img/common/line-2x.png) 2x);
    background-size: auto 0.15625vw;
  }

  .editor h5 {
    font-size: 1.40625vw;
  }

  .editor p {
    font-size: 1.17188vw;
  }

  .editor img.alignleft {
    display: inline;
    margin-right: 1em;
    float: left;
  }

  .editor img.alignright {
    display: inline;
    margin-left: 1em;
    float: right;
  }
}

@media screen and (min-width: 1201px) {
  .editor h3 {
    border-left: 6px solid #333333;
    font-size: 20px;
    font-size: 2.0rem;
  }

  .editor h4 {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .editor h4:after {
    height: 2px;
    background-size: auto 2px;
  }

  .editor h5 {
    font-size: 18px;
    font-size: 1.8rem;
  }

  .editor p {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/*  配置
-------------------------------------------------------*/
.paragraph p {
  margin-bottom: 1.5em;
  line-height: 2em;
  letter-spacing: .08em;
}

.paragraph p:last-child {
  margin-bottom: 0;
}

.bold {
  font-weight: 500;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.center {
  text-align: center;
}

@media screen and (max-width: 750px) {
  .none--sp {
    display: none !important;
  }

  .br--pc {
    display: none;
  }

  .br--sp {
    display: block;
  }
}

@media screen and (min-width: 751px) {
  .none--pc {
    display: none !important;
  }

  .br--pc {
    display: block;
  }

  .br--sp {
    display: none;
  }
}

/*  画像
-------------------------------------------------------*/
.img--fit {
  width: 100%;
  max-width: 100%;
  height: auto;
}

/* ---------------------------------- ホバー画像拡大 */
.img--scale {
  width: 100%;
  height: auto;
  overflow: hidden;
}

.img--scale img {
  width: 100%;
  transition-duration: 0.5s;
}

.mask {
  position: relative;
  display: block;
}

.mask img {
  visibility: hidden;
}

.mask.is-play img {
  transition-delay: .5s;
  visibility: visible;
}

.mask:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #1c7496;
}

.mask.is-play:after {
  animation: bg_in_out 1.1s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

@keyframes bg_in_out {
  0% {
    width: 0%;
    left: 0%;
  }

  50% {
    width: 100%;
    left: 0%;
  }

  100% {
    width: 0%;
    left: 100%;
  }
}

/* ---------------------------------- リスト */
.list li {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.8em;
}

.list--dot li {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.8em;
}

.list--dot li:before {
  content: '・';
}

.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
  max-width: 100%;
  height: auto;
}

.youtube,
.ggmap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.youtube iframe,
.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}