@charset "UTF-8";
/* base
----------------------------------------------------------*/
html {
  height: 100%;
  font-size: 62.5%;
}

body {
  font-family: "UniversLT-Condensed", "Tazugane Gothic StdN W50 Rg", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.9;
  color: #000;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.04em;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  -ms-interpolation-mode: bicubic;
}

@media only screen and (max-width: 767px) {
  body {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.9;
  }
}
.fw-b {
  font-weight: bold;
}

.fs-i {
  font-style: italic;
}

.f-u {
  font-family: 'UniversLT-Condensed';
}

.f-u-b {
  font-family: 'UniversLT-CondensedBold';
}

.f-u-lt {
  font-family: 'UniversLTStd-LightCn';
}

.lazy-bg,
.lazy {
  opacity: 0;
  -moz-transition: opacity 0.8s;
  -o-transition: opacity 0.8s;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s;
}

.lazy-img-wrap {
  position: relative;
}
.lazy-img-wrap .lazy {
  position: absolute;
  top: 0;
  left: 0;
}

.color-w {
  color: #fff;
}

.color-black {
  color: #000;
}

.color-red {
  color: #d62133;
}

.color-blue {
  color: #19426e;
}

.color-gray {
  color: #969696;
}

.color-gray02 {
  color: #B4B4B5;
}

.bg-white {
  background: #fff;
}

.bg-black {
  background: #000;
}

.bg-gray {
  background: #F0F0F0;
}

.bg-gray02 {
  background-color: #E6E6E6;
}

a {
  color: #000;
  text-decoration: none;
  -moz-transition: all 0.5s;
  -o-transition: all 0.5s;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.btn-elm {
  cursor: pointer;
}

.hv-op0,
.hv-op {
  -moz-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.hv-bg-yellow.bgc-n:hover, .hv-bg-yellow:hover {
  background: #ffea00;
}

.transition {
  -moz-transition: all 0.5s;
  -o-transition: all 0.5s;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.hv-line-none {
  text-decoration: underline;
}
.hv-line-none:hover {
  text-decoration: none;
}

.hv-line:hover {
  text-decoration: underline;
}

.js-tab-contents {
  display: none;
}

.js-tab-contents.current {
  display: block;
}

/* レイアウト */
.of-hid {
  overflow: hidden;
}

.wb-a {
  word-break: break-all;
}

.bs-b {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.cf:after {
  content: "";
  clear: both;
  display: block;
}

.fl-l {
  float: left;
}

.fl-r {
  float: right;
}

.txt-l {
  text-align: left;
}

.txt-c {
  text-align: center;
}

.txt-r {
  text-align: right;
}

.txt-j {
  text-align: justify;
}

.txt-t-u {
  text-transform: uppercase;
}

.txt-t-l {
  text-transform: lowercase;
}

.posi-r {
  position: relative;
}

.posi-full {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.table-style {
  display: table;
  table-layout: fixed;
  width: 100%;
}
.table-style.w-a {
  width: auto;
}

.table-cell {
  display: table-cell;
}

.i-block {
  display: inline-block;
}

.block {
  display: block;
}

.bg-style {
  background-position: center center;
  background-repeat: no-repeat;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
  background-size: cover;
}

.va-top {
  vertical-align: top;
}

.va-mid {
  vertical-align: middle;
}

.va-b {
  vertical-align: bottom;
}

.va-base {
  vertical-align: baseline;
}

.w100 {
  width: 100%;
}

.mx-230 {
  max-width: 230px;
}

.mx-240 {
  max-width: 240px;
}

.min-240 {
  min-width: 240px;
}

.mx-186 {
  max-width: 186px;
}

.mg-c {
  margin-left: auto;
  margin-right: auto;
}

.pdb1 {
  padding-bottom: 1px;
}

.pd0 {
  padding: 0 !important;
}

.pt100 {
  padding-top: 100%;
}

.pt56 {
  padding-top: 56.25%;
}

.pt52 {
  padding-top: 52.5%;
}

.br50 {
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}

.hidden {
  display: none !important;
}

.lh-1 {
  line-height: 1;
}

.lh-2 {
  line-height: 2;
}

.customize-support .page-link-elm {
  padding-top: 110px !important;
  margin-top: -110px !important;
}

.page-link-elm {
  padding-top: 105px !important;
  margin-top: -105px !important;
}

.news-ttl .page-link-elm {
  padding-top: 145px !important;
  margin-top: -145px !important;
}

.iframe {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

@media only screen and (min-width: 768px) {
  a:hover {
    text-decoration: none;
  }
  a:hover .hv-op {
    opacity: 0.7;
  }
  a:hover .hv-op0 {
    opacity: 0;
  }
  a:hover .hv-line {
    text-decoration: underline;
  }
  a.hv-op:hover {
    opacity: 0.7;
  }

  a.hv-line:hover {
    text-decoration: underline;
  }

  .btn-elm:hover .hv-op {
    opacity: 0.7;
  }
  .btn-elm:hover .hv-op0 {
    opacity: 0;
  }
  .btn-elm:hover img {
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  .btn-elm.hv-op:hover {
    opacity: 0.7;
  }

  .hv-c-w:hover {
    color: #fff;
  }

  .hv-bg-b:hover {
    background-color: #000;
  }

  .table-style-pc {
    display: table;
    table-layout: fixed;
    width: 100%;
  }

  .table-cell-pc {
    display: table-cell;
  }

  .sp-mode {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .wrapper {
    min-width: inherit;
  }

  .pc-mode {
    display: none !important;
  }

  .fl-l,
  .fl-r {
    float: none;
  }

  a:hover .hv-op {
    opacity: 1;
  }
  a:hover .hv-op0 {
    opacity: 1;
  }
  a.hv-op:hover {
    opacity: 1;
  }

  .btn-elm:hover .hv-op {
    opacity: 1;
  }
  .btn-elm:hover .hv-op0 {
    opacity: 1;
  }
  .btn-elm.hv-op:hover {
    opacity: 1;
  }

  .customize-support .page-link-elm {
    padding-top: 75px !important;
    margin-top: -75px !important;
  }

  .page-link-elm {
    padding-top: 75px !important;
    margin-top: -75px !important;
  }

  .news-ttl .page-link-elm {
    padding-top: 100px !important;
    margin-top: -100px !important;
  }

  .mx-186,
  .mx-230,
  .mx-240 {
    max-width: inherit;
  }
}
/* header
----------------------------------------------------------*/
.global-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 1280px;
  background: #fff;
  z-index: 999;
  border-bottom: 1px solid #E6E6E6;
}
.global-header.fix {
  position: fixed;
  -moz-transform: translate3d(0, -105px, 0);
  -ms-transform: translate3d(0, -105px, 0);
  -webkit-transform: translate3d(0, -105px, 0);
  transform: translate3d(0, -105px, 0);
}
.global-header.fix.hide {
  -moz-transform: translate3d(0, -105px, 0);
  -ms-transform: translate3d(0, -105px, 0);
  -webkit-transform: translate3d(0, -105px, 0);
  transform: translate3d(0, -105px, 0);
}
.global-header.fix.hide .project-head-info-list {
  background: #E6E6E6;
}
.global-header.fix.hide.up {
  -moz-transition: -moz-transform 0.2s ease;
  -o-transition: -o-transform 0.2s ease;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
}
.global-header.fix.show {
  -moz-transition: -moz-transform 0.2s ease;
  -o-transition: -o-transform 0.2s ease;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.global-header .project-head-info-list {
  -moz-transition: background 0.2s ease;
  -o-transition: background 0.2s ease;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.global-header .header-main {
  height: 104px;
}
.global-header .header-inner {
  position: relative;
}
.global-header .menu-area {
  position: absolute;
  top: 44px;
  left: 0;
  z-index: 9;
  padding: 2px 0 0 40px;
}
.global-header .menu-btn {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  display: block;
  width: 22px;
  height: 20px;
}
.global-header .menu-btn span {
  display: block;
  background: #000;
  width: 26px;
  height: 2px;
  position: absolute;
  right: 0;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.global-header .menu-btn span.bar01 {
  top: 0;
}
.global-header .menu-btn span.bar02 {
  top: 7px;
}
.global-header .menu-btn span.bar03 {
  top: 14px;
}
.global-header .menu-text,
.global-header .menu-btn-box {
  display: inline-block;
  vertical-align: top;
  cursor: pointer;
}
.global-header .page-text {
  display: inline-block;
  vertical-align: top;
}
.global-header .page-text:before {
  content: "";
  display: inline-block;
  height: 12px;
  width: 1px;
  background: #000;
  margin: 2px 10px 0 7px;
  vertical-align: top;
}
.global-header .logo {
  width: 217px;
  margin: 0 auto;
  padding: 32px 0 0;
}
.global-header .weather {
  position: absolute;
  top: 36px;
  right: 0;
  z-index: 9;
}
.global-header .weather p {
  display: inline-block;
  vertical-align: top;
}
.global-header .weather .temp {
  margin: 8px 36px 0 15px;
  font-size: 16px;
  font-size: 1.6rem;
}
.global-header .weather .icon {
  position: relative;
  width: 29px;
  margin: 0 0 0 13px;
}
.global-header .weather .img {
  position: relative;
  z-index: 9;
}
.global-header .weather .place {
  margin: 8px 0 0 0;
}

.header-lang-list {
  display: inline-block;
  margin: 7px 0 0;
  vertical-align: top;
}
.header-lang-list select {
  border: none;
  padding-left: 20px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 12px;
  font-size: 1.2rem;
  background: none;
  background-position: 5px center;
  background-repeat: no-repeat;
  background-image: url(../img/common/icon-lang-select.png);
  -moz-background-size: 10px 10px;
  -o-background-size: 10px 10px;
  -webkit-background-size: 10px 10px;
  background-size: 10px 10px;
  cursor: pointer;
  font-family: 'UniversLTStd-LightCn', "TazuganeGothicStdN-Regular", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.header-lang-list select::-ms-expand {
  display: none;
}

.global-nav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: #000;
}
.global-nav .nav-wrap {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  height: 100%;
}
.global-nav .menu-btn-close {
  position: absolute;
  top: 33px;
  left: -3px;
  z-index: 1000;
  display: block;
  width: 40px;
  height: 40px;
  cursor: pointer;
}
.global-nav .menu-btn-close span {
  display: block;
  background: #fff;
  width: 26px;
  height: 2px;
  position: absolute;
  right: 7px;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.global-nav .menu-btn-close span.bar01 {
  top: 10px;
  -moz-transform: translateY(9px) rotate(-45deg);
  -ms-transform: translateY(9px) rotate(-45deg);
  -webkit-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg);
}
.global-nav .menu-btn-close span.bar02 {
  opacity: 0;
}
.global-nav .menu-btn-close span.bar03 {
  -moz-transform: translateY(-5px) rotate(45deg);
  -ms-transform: translateY(-5px) rotate(45deg);
  -webkit-transform: translateY(-5px) rotate(45deg);
  transform: translateY(-5px) rotate(45deg);
  top: 24px;
}

.global-nav-list {
  padding: 75px 0 80px;
}
.global-nav-list .list-elm + .list-elm {
  margin-top: 39px;
}
.global-nav-list .main-link a {
  font-size: 38px;
  font-size: 3.8rem;
}
.global-nav-list .main-link a:after {
  content: "";
  display: inline-block;
  height: 21px;
  width: 21px;
  margin: 7px 0 0 10px;
  background-repeat: no-repeat;
  -moz-background-size: 21px 21px;
  -o-background-size: 21px 21px;
  -webkit-background-size: 21px 21px;
  background-size: 21px 21px;
  background-position: center center;
  background-image: url(../img/common/icon-next-w.png);
  vertical-align: top;
}
.global-nav-list .sub-link-list {
  margin: 25px 0 0;
  font-size: 0;
}
.global-nav-list .sub-link-list li {
  display: inline-block;
  margin: 0 15px 10px 0;
  font-size: 15px;
  font-size: 1.5rem;
  vertical-align: top;
}

.goog-te-gadget {
  font-size: 0 !important;
}
.goog-te-gadget span {
  display: none;
}
.goog-te-gadget .goog-te-combo {
  margin: 0 !important;
}

.header-sns-link {
  position: relative;
  padding: 0 0 40px;
}
.header-sns-link .ttl {
  margin: 0 0 14px;
}
.header-sns-link ul {
  font-size: 0;
}
.header-sns-link li {
  display: inline-block;
  margin: 0 14px 0 0;
}
.header-sns-link .garage {
  position: absolute;
  top: 0;
  left: 200px;
  z-index: 1;
}
.header-sns-link .garage .ttl {
  margin: 0 0 11px;
}
.header-sns-link .garage .main-link a {
  font-size: 26px;
  font-size: 2.6rem;
}
.header-sns-link .garage .main-link a:after {
  content: "";
  display: inline-block;
  height: 21px;
  width: 21px;
  margin: 2px 0 0 10px;
  background-repeat: no-repeat;
  -moz-background-size: 21px 21px;
  -o-background-size: 21px 21px;
  -webkit-background-size: 21px 21px;
  background-size: 21px 21px;
  background-position: center center;
  background-image: url(../img/common/icon-next-w.png);
  vertical-align: top;
}

@media only screen and (max-width: 767px) {
  .global-header {
    min-width: inherit;
  }
  .global-header.fix.hide {
    -moz-transform: translate3d(0, -74px, 0);
    -ms-transform: translate3d(0, -74px, 0);
    -webkit-transform: translate3d(0, -74px, 0);
    transform: translate3d(0, -74px, 0);
  }
  .global-header .header-main {
    height: 73px;
  }
  .global-header .menu-area {
    top: 0;
    padding: 0;
  }
  .global-header .menu-btn {
    width: 64px;
    height: 74px;
  }
  .global-header .menu-btn span {
    top: 28px;
    right: auto;
    left: 21px;
  }
  .global-header .menu-btn span.bar01 {
    top: 28px;
  }
  .global-header .menu-btn span.bar02 {
    top: 34px;
  }
  .global-header .menu-btn span.bar03 {
    top: 40px;
  }
  .global-header .logo {
    width: 110px;
    margin: 0 auto;
    padding: 18px 0 11px;
  }
  .global-header .sp-page-text {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .global-header .weather {
    position: absolute;
    top: 9px;
    right: 10px;
    height: 58px;
    z-index: 9;
  }
  .global-header .weather .weather-wrap {
    display: table;
    table-layout: fixed;
  }
  .global-header .weather .weather-inner {
    display: table-cell;
    height: 58px;
    vertical-align: middle;
  }
  .global-header .weather p {
    display: block;
    font-size: 10px;
    font-size: 1rem;
  }
  .global-header .weather .temp {
    margin: 0;
    font-size: 10px;
    font-size: 1rem;
    text-align: center;
  }
  .global-header .weather .icon {
    display: block;
    width: 25px;
    margin: 6px auto;
  }
  .global-header .weather .place {
    margin: 0;
  }
  .global-header .weather .header-lang-list {
    display: none;
  }

  .global-nav .menu-btn-close {
    top: 15px;
    left: 14px;
  }
  .global-nav .sp-lang-list {
    position: absolute;
    top: 24px;
    right: 20px;
    z-index: 9;
  }

  .global-nav-list {
    padding: 70px 10px 47px 60px;
  }
  .global-nav-list .list-elm + .list-elm {
    margin-top: 25px;
  }
  .global-nav-list .list-elm + .list-elm.garage {
    margin-top: 47px;
  }
  .global-nav-list .list-elm .ttl {
    margin: 0 0 11px;
    font-size: 13px;
    font-size: 1.3rem;
  }
  .global-nav-list .main-link a {
    font-size: 20px;
    font-size: 2rem;
  }
  .global-nav-list .main-link a:after {
    height: 14px;
    width: 14px;
    margin: 1px 0 0 8px;
    -moz-background-size: 14px 14px;
    -o-background-size: 14px 14px;
    -webkit-background-size: 14px 14px;
    background-size: 14px 14px;
  }
  .global-nav-list .sub-link-list {
    margin: 14px 0 -18px;
  }
  .global-nav-list .sub-link-list li {
    margin: 0 10px 18px 0;
    font-size: 12px;
    font-size: 1.2rem;
  }

  .header-sns-link {
    padding: 0 20px 48px 60px;
  }
  .header-sns-link .ttl {
    margin: 0 0 14px;
    font-size: 13px;
    font-size: 1.3rem;
  }
  .header-sns-link li {
    width: 25px;
    margin: 0 10px 0 0;
  }

  .header-lang-list {
    display: inline-block;
    margin: 0 0 0;
  }
  .header-lang-list select {
    padding-left: 20px;
    background-image: url(../img/common/icon-lang-select-w.png);
    color: #fff;
  }
}
/* footer
----------------------------------------------------------*/
.footer-link-area {
  padding: 45px 0 30px;
}

.copyright {
  padding: 15px 10px 15px;
}

.footer-link-list {
  font-size: 0;
}
.footer-link-list li {
  position: relative;
  display: inline-block;
  margin: 0 10px 10px;
  vertical-align: top;
  font-size: 15px;
  font-size: 1.5rem;
}
.footer-link-list .current {
  position: relative;
}
.footer-link-list .current a:after {
  opacity: 1;
}
.footer-link-list a:after {
  opacity: 0;
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  height: 1px;
  width: 100%;
  background: #000;
  -moz-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.footer-sns-list {
  font-size: 0;
}
.footer-sns-list li {
  display: inline-block;
  margin: 20px 16px 0;
  vertical-align: top;
}

@media only screen and (min-width: 768px) {
  .footer-link-list a:hover:after {
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  .footer-link-area {
    padding: 19px 0 30px;
    border-top: 1px solid #E6E6E6;
  }

  .copyright {
    padding: 15px 10px 14px;
    font-size: 11px;
    font-size: 1.1rem;
  }

  .footer-link-list {
    font-size: 0;
  }
  .footer-link-list li {
    display: block;
    margin: 0 20px 0;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .footer-link-list a {
    padding: 10px 0 10px;
  }
  .footer-link-list .current {
    position: relative;
  }
  .footer-link-list .current a:after {
    display: none;
  }

  .footer-sns-list li {
    margin: 18px 15px 0;
  }
}
/* contents
----------------------------------------------------------*/
.wrapper {
  overflow: hidden;
  min-width: 1280px;
  margin: 0 auto;
}

.contents {
  margin-top: 105px;
}
.contents.list-page {
  margin-top: 209px;
}
.contents.project-page {
  margin-top: 180px;
}

.ct-inner-1280 {
  max-width: 1280px;
  margin: 0 auto;
}

.ct-inner-1200 {
  max-width: 1200px;
  margin: 0 auto;
}

.ct-inner-1120 {
  max-width: 1120px;
  margin: 0 auto;
}

.ct-inner-960 {
  max-width: 960px;
  margin: 0 auto;
}

.ct-inner-870 {
  max-width: 870px;
  margin: 0 auto;
}

.ct-inner-800 {
  max-width: 800px;
  margin: 0 auto;
}

.ct-inner-780 {
  max-width: 780px;
  margin: 0 auto;
}

.ct-inner-620 {
  max-width: 620px;
  margin: 0 auto;
}

.ct-inner-560 {
  max-width: 560px;
  margin: 0 auto;
}

.ct-inner-520 {
  max-width: 520px;
  margin: 0 auto;
}

.ct-inner-480 {
  max-width: 480px;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .wrapper {
    min-width: inherit;
  }

  .contents {
    margin-top: 74px;
  }
  .contents.list-page {
    margin-top: 174px;
  }
  .contents.project-page {
    margin-top: 74px;
  }

  .sp-ct-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
/* btn */
.btn-black {
  position: relative;
  display: block;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  line-height: 1.4;
  font-size: 16px;
  font-size: 1.6rem;
  text-align: center;
  color: #fff;
  background: #000;
}
.btn-black.white {
  background: #fff;
  color: #000;
}
.btn-black.small {
  font-size: 15px;
  font-size: 1.5rem;
}
.btn-black.small .table-cell {
  height: 47px;
}
.btn-black.disabled {
  background-color: #969696;
  cursor: default;
}
.btn-black .table-cell {
  padding: 7px 20px 5px;
  height: 60px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media only screen and (min-width: 768px) {
  .btn-black:hover {
    background-color: #969696;
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  .btn-black {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .btn-black.small {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .btn-black.small .table-cell {
    height: 60px;
  }
}
/* icon-dl */
.icon-dl:after {
  content: "";
  display: inline-block;
  height: 14px;
  width: 14px;
  background-position: 0 0;
  background-repeat: no-repeat;
  -moz-background-size: 14px 14px;
  -o-background-size: 14px 14px;
  -webkit-background-size: 14px 14px;
  background-size: 14px 14px;
  background-image: url(../img/common/icon-dl.png);
  vertical-align: middle;
  margin: -3px -14px 0 5px;
}

/* ttl */
.bd-ttl {
  overflow: hidden;
  width: 100%;
}
.bd-ttl span {
  position: relative;
  display: inline-block;
  padding: 2px 6px 0;
  vertical-align: top;
  vertical-align: -moz-middle-with-baseline;
}
.bd-ttl span:before, .bd-ttl span:after {
  content: "";
  position: absolute;
  top: 8px;
  width: 1000px;
  height: 1px;
  background: #C8C8C8;
}
.bd-ttl span:before {
  left: 100%;
}
.bd-ttl span:after {
  right: 100%;
}
.bd-ttl.bd-ttl-mg {
  margin-bottom: 80px;
}

.ct-ttl01 {
  font-size: 34px;
  font-size: 3.4rem;
  line-height: 1.4;
}
.ct-ttl01:before {
  content: "";
  display: block;
  height: 17px;
  width: 19px;
  margin: 0 auto 18px;
  background: url(../img/common/icon-ttl.png) no-repeat;
  line-height: 1;
}

.ct-ttl02 {
  margin: 0 0 20px;
}

.post-ttl01 {
  font-size: 38px;
  font-size: 3.8rem;
  line-height: 1.5;
}

.ct-ttl04 {
  margin: 0 0 40px;
}

.ct-ttl05 {
  margin: 0 0 40px;
  font-size: 24px;
  font-size: 2.4rem;
}

.ct-ttl06 {
  font-size: 80px;
  font-size: 8rem;
  line-height: 1;
}

.ct-ttl07 {
  font-size: 66px;
  font-size: 6.6rem;
  line-height: 1.1;
}

@media only screen and (max-width: 767px) {
  .bd-ttl.bd-ttl-mg {
    margin-bottom: 42px;
  }

  .ct-ttl01 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.6;
  }
  .ct-ttl01:before {
    height: 13px;
    width: 14px;
    margin: 0 auto 1px;
    background: url(../img/common/icon-ttl01-sp.png) no-repeat;
    -moz-background-size: 14px 13px;
    -o-background-size: 14px 13px;
    -webkit-background-size: 14px 13px;
    background-size: 14px 13px;
  }

  .ct-ttl02 {
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0 0 15px;
  }

  .post-ttl01 {
    font-size: 24px;
    font-size: 2.4rem;
  }

  .ct-ttl04 {
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0 0 29px;
  }

  .ct-ttl05 {
    margin: 0 0 18px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
  }

  .ct-ttl06 {
    font-size: 40px;
    font-size: 4rem;
  }

  .ct-ttl07 {
    font-size: 40px;
    font-size: 4rem;
  }
}
/* line */
.bg-line01 {
  background: url(../img/common/bg-line01.svg) repeat top left;
  -moz-background-size: 6px 7px;
  -o-background-size: 6px 7px;
  -webkit-background-size: 6px 7px;
  background-size: 6px 7px;
}

.bg-line02 {
  background: url(../img/common/bg-line02.svg) repeat top left;
  -moz-background-size: 6px 7px;
  -o-background-size: 6px 7px;
  -webkit-background-size: 6px 7px;
  background-size: 6px 7px;
}

.bg-line03 {
  background: url(../img/common/bg-line03.svg) repeat top left;
  -moz-background-size: 33px 38px;
  -o-background-size: 33px 38px;
  -webkit-background-size: 33px 38px;
  background-size: 33px 38px;
}

.bg-line04 {
  background: url(../img/common/bg-line04.svg) repeat top left;
  -moz-background-size: 4px 5px;
  -o-background-size: 4px 5px;
  -webkit-background-size: 4px 5px;
  background-size: 4px 5px;
}

/* label */
.gray-label {
  display: inline-block;
  padding: 9px 7px 5px;
  background: #fff;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  border: 1px solid #969696;
  font-size: 12px;
  font-size: 1.2rem;
  vertical-align: top;
}

@media only screen and (min-width: 768px) {
  a.gray-label:hover {
    color: #000;
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  .gray-label {
    padding: 9px 8px 5px;
    font-size: 14px;
    font-size: 1.4rem;
  }

  .bg-line03.sp-small {
    -moz-background-size: 13px 15px;
    -o-background-size: 13px 15px;
    -webkit-background-size: 13px 15px;
    background-size: 13px 15px;
  }
}
/* form */
.radio-btn {
  display: inline-block;
  position: relative;
  vertical-align: top;
  line-height: 1;
}
.radio-btn input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 0;
}
.radio-btn input:focus {
  -webkit-tap-highlight-color: transparent !important;
}
.radio-btn .radio-icon {
  display: inline-block;
  height: 20px;
  width: 20px;
  background: url(../img/common/icon-radio-off.png) no-repeat center center;
  -moz-background-size: 20px 20px;
  -o-background-size: 20px 20px;
  -webkit-background-size: 20px 20px;
  background-size: 20px 20px;
  vertical-align: top;
}
.radio-btn input:checked + .radio-icon {
  background-image: url(../img/common/icon-radio-on.png);
}

input.input-text {
  height: 41px;
  padding: 0 10px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #E6E6E6;
  font-size: 16px;
  font-size: 1.6rem;
}

/* loader */
.loader-wrap {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000000;
  background: rgba(0, 0, 0, 0.3);
}

.loader {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: -5em auto 0;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(255, 255, 255, 0.5);
  border-right: 1.1em solid rgba(255, 255, 255, 0.5);
  border-bottom: 1.1em solid rgba(255, 255, 255, 0.5);
  border-left: 1.1em solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* wysiwyg
----------------------------------------------------------*/
.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6,
.wysiwyg strong,
.wysiwyg b,
.wysiwyg ol li:before {
  font-weight: bold;
}
.wysiwyg h1 {
  overflow: hidden;
  margin: 0 0 40px;
  text-align: center;
  line-height: 1;
}
.wysiwyg h1 span {
  position: relative;
  display: inline-block;
  padding: 2px 6px 0;
  vertical-align: top;
}
.wysiwyg h1 span:before, .wysiwyg h1 span:after {
  content: "";
  position: absolute;
  top: 8px;
  width: 1000px;
  height: 1px;
  background: #C8C8C8;
}
.wysiwyg h1 span:before {
  left: 100%;
}
.wysiwyg h1 span:after {
  right: 100%;
}
.wysiwyg h2 {
  overflow: hidden;
  margin: 0 0 40px;
  text-align: center;
  line-height: 1;
}
.wysiwyg h2 span {
  position: relative;
  display: inline-block;
  padding: 2px 6px 0;
  vertical-align: top;
  vertical-align: -moz-middle-with-baseline;
}
.wysiwyg h2 span:before, .wysiwyg h2 span:after {
  content: "";
  position: absolute;
  top: 8px;
  width: 1000px;
  height: 1px;
  background: #C8C8C8;
}
.wysiwyg h2 span:before {
  left: 100%;
}
.wysiwyg h2 span:after {
  right: 100%;
}
.wysiwyg h2.type02 {
  margin: 0 0 30px;
  font-size: 80px;
  font-size: 8rem;
  line-height: 1.2;
}
.wysiwyg h2.type02 span {
  display: block;
  padding: 0;
}
.wysiwyg h2.type02 span:before, .wysiwyg h2.type02 span:after {
  display: none;
}
.wysiwyg h3 {
  margin: 0 0 30px;
  font-size: 50px;
  font-size: 5rem;
  line-height: 1.4;
}
.wysiwyg h4 {
  margin: 0 0 30px;
  font-size: 38px;
  font-size: 3.8rem;
  line-height: 1.8;
}
.wysiwyg h5 {
  margin: 0 0 38px;
  font-size: 28px;
  font-size: 2.8rem;
}
.wysiwyg h6 {
  margin: 0 0 38px;
  font-size: 24px;
  font-size: 2.4rem;
}
.wysiwyg .alignleft {
  display: inline;
  float: left;
}
.wysiwyg .alignright {
  display: inline;
  float: right;
}
.wysiwyg .aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.wysiwyg * + * {
  margin-top: 16px;
}
.wysiwyg * + li,
.wysiwyg * + th,
.wysiwyg * + td,
.wysiwyg * + tr,
.wysiwyg * + br {
  margin-top: 0;
}
.wysiwyg p * + * {
  margin-top: 0;
}
.wysiwyg .a-text-icon + * {
  margin-top: 0;
}
.wysiwyg .attention-text + .attention-text {
  margin-top: 0;
}
.wysiwyg a {
  text-decoration: underline;
}
.wysiwyg a:hover {
  text-decoration: none;
}
.wysiwyg li i,
.wysiwyg p i {
  margin: 0 0 0 6px;
}
.wysiwyg ul li {
  padding: 0 0 0 1.5em;
  text-indent: -1.5em;
}
.wysiwyg ul li:before {
  content: "・ ";
  display: inline-block;
  width: 1.65em;
  margin-left: -0.2em;
  text-indent: 0;
  vertical-align: top;
}
.wysiwyg ul li i {
  text-indent: 0;
}
.wysiwyg ol {
  counter-reset: li;
  list-style: none !important;
}
.wysiwyg ol li {
  padding: 0 0 0 1.5em;
  text-indent: -1.5em;
}
.wysiwyg ol li:before {
  counter-increment: li;
  content: counter(li);
  display: inline-block;
  min-width: 1em;
  padding-right: 0.5em;
  text-indent: 0;
  vertical-align: top;
}
.wysiwyg ol li i {
  text-indent: 0;
}
.wysiwyg table {
  width: 100%;
}
.wysiwyg thead tr {
  border-bottom: 1px solid #969696;
}
.wysiwyg tr {
  border-bottom: 1px solid #E6E6E6;
}
.wysiwyg th {
  padding: 9px 0 7px;
}
.wysiwyg td {
  padding: 8px 0 5px;
}
.wysiwyg sup {
  vertical-align: super;
  font-size: 58%;
}
.wysiwyg sub {
  vertical-align: sub;
  font-size: 58%;
}
.wysiwyg em {
  font-style: italic;
}
.wysiwyg del {
  text-decoration: line-through;
}
.wysiwyg u {
  text-decoration: underline;
}
.wysiwyg hr {
  margin-bottom: 0;
  border-top: 1px solid #ccc;
  border-bottom: none;
}
.wysiwyg code {
  display: inline-block;
  padding: 0 6px;
  background-color: #eee;
}
.wysiwyg pre {
  overflow: auto;
  display: block;
  padding: 13px 20px 11px;
  word-break: break-all;
  word-wrap: break-word;
  -webkit-overflow-scrolling: touch;
  background-color: #eee;
  border: 1px solid #ccc;
}
.wysiwyg blockquote {
  display: block;
  padding: 14px 20px 13px;
  border-left: 5px solid #ccc;
  background-color: #eee;
}
.wysiwyg figure a {
  display: inline-block;
  vertical-align: top;
}
.wysiwyg small {
  display: block;
  padding: 0 0 0 1em;
  text-indent: -1em;
  font-size: 75%;
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  .wysiwyg h1 {
    margin: 0 0 40px;
    font-size: 15px;
    font-size: 1.5rem;
  }
  .wysiwyg h2 {
    margin: 0 0 40px;
    font-size: 15px;
    font-size: 1.5rem;
  }
  .wysiwyg h2.type02 {
    margin: 0 0 33px;
    font-size: 40px;
    font-size: 4rem;
    line-height: 1;
  }
  .wysiwyg h3 {
    margin: 0 0 29px;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .wysiwyg h4 {
    margin: 0 0 29px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
  }
  .wysiwyg h5 {
    margin: 0 0 29px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .wysiwyg h6 {
    margin: 0 0 20px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .wysiwyg * + * {
    margin-top: 10px;
  }
  .wysiwyg * + li,
  .wysiwyg * + th,
  .wysiwyg * + td,
  .wysiwyg * + tr,
  .wysiwyg * + br {
    margin-top: 0;
  }
  .wysiwyg p * + * {
    margin-top: 0;
  }
  .wysiwyg .a-text-icon + * {
    margin-top: 0;
  }
  .wysiwyg th {
    padding: 9px 0 7px;
  }
  .wysiwyg td {
    padding: 8px 0 5px;
  }
}
/* post set
----------------------------------------------------------*/
.post-set-area {
  padding: 70px 0 70px;
}

.post-col2-box .post-main-box.fl-l {
  width: 560px;
}
.post-col2-box .post-sub-box {
  width: 160px;
  padding: 10px 0 0;
}
.post-col2-box .ct-inner-960 .post-sub-box {
  width: 320px;
}

.post-box + .post-box {
  margin-top: 80px;
}
.post-box + .member-post-list-set {
  margin-top: 138px;
}
.post-box.event-start-area {
  padding-top: 0;
}
.post-box + .post-box.event-start-area {
  margin-top: 100px;
}

.post-sub-set + .post-sub-set {
  margin-top: 75px;
}

.ttl-set + .post-box {
  margin-top: 0;
}

.photo-slider .slide-elm {
  margin: 0 20px;
}
.photo-slider .slide-elm img {
  height: 300px;
}
.photo-slider .slick-prev,
.photo-slider .slick-next {
  width: 110px;
  background-color: rgba(255, 255, 255, 0.9);
}
.photo-slider .slick-prev {
  background-image: url(../img/common/icon-prev.png);
}
.photo-slider .slick-next {
  background-image: url(../img/common/icon-next.png);
}

.img-col1-set .table-cell {
  height: 360px;
}
.img-col1-set .img-ttl-box {
  position: relative;
  z-index: 9;
}
.img-col1-set .bg-img {
  position: absolute;
  top: -30vh;
  left: 0;
  right: 0;
  bottom: -30vh;
  z-index: 1;
}
.img-col1-set .img-ttl {
  margin: 0;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.9;
}
.img-col1-set .post-ct-cap {
  margin-top: 60px;
}

.img-col2-set .post-sub-box {
  padding-top: 0;
}

.img-set .img-elm + .img-elm {
  margin-top: 78px;
}
.img-set .img-elm .post-ct-cap {
  margin: 14px 0 0;
}

.btn-set .i-block {
  margin: 0 40px 40px 0;
}
.btn-set .i-block.center {
  margin: 0 20px 40px;
}

.faq-set .faq-box {
  position: relative;
  padding: 33px 80px 29px;
  border-top: 1px solid #C8C8C8;
  border-bottom: 1px solid #C8C8C8;
}
.faq-set .faq-box + .faq-box {
  border-top: none;
}
.faq-set .faq-box:after {
  content: "";
  position: absolute;
  top: 41px;
  right: 30px;
  z-index: 1;
  height: 21px;
  width: 21px;
  background-repeat: no-repeat;
  background-image: url(../img/common/icon-arrow-b.png);
  -moz-background-size: 21px 21px;
  -o-background-size: 21px 21px;
  -webkit-background-size: 21px 21px;
  background-size: 21px 21px;
}
.faq-set .on {
  background: #F0F0F0;
}
.faq-set .on:after {
  background-image: url(../img/common/icon-arrow-t.png);
}
.faq-set .q-text {
  position: relative;
  padding-left: 1.5em;
}
.faq-set .a-text {
  display: none;
  position: relative;
  margin: 17px 0 0;
  padding-left: 1.5em;
}
.faq-set .icon {
  position: absolute;
  top: 0;
  left: 0;
}

.post-ct-cap {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: normal;
}
.post-ct-cap:before {
  content: "←";
}
.post-ct-cap.up:before {
  content: "↑";
}
.post-ct-cap.main-col {
  margin: 14px 0 0;
}

.tag-ct-list.side {
  font-size: 0;
}
.tag-ct-list.side li {
  margin-right: 10px;
  margin-bottom: 10px;
}
.tag-ct-list.side li + li {
  margin-top: 0;
}
.tag-ct-list li + li {
  margin-top: 10px;
}

.attention-set .attention-text {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.8;
}
.attention-set .attention-text:before {
  content: "※";
}

.contact-link-list {
  font-size: 12px;
  font-size: 1.2rem;
}

.set_table__subset--fit table {
  width: auto;
}

.set_table__subset--scroll th,
.set_table__subset--scroll td {
  min-width: inherit;
}

.post-sub-box .faq-box {
  padding-right: 40px;
  padding-left: 40px;
}
.post-sub-box .btn-set .i-block {
  margin: 0;
}
.post-sub-box .btn-set .i-block + .i-block {
  margin-top: 40px;
}
.post-sub-box .btn-set .mg-c + .mg-c {
  margin-top: 40px;
}

@media only screen and (min-width: 768px) {
  .post-sub-box .video-play {
    -moz-background-size: 50px 50px;
    -o-background-size: 50px 50px;
    -webkit-background-size: 50px 50px;
    background-size: 50px 50px;
  }
}
@media only screen and (max-width: 767px) {
  .post-set-area {
    padding: 23px 0 23px;
  }

  .post-col2-box .post-main-box.fl-l {
    width: auto;
  }
  .post-col2-box .post-main-box + .post-sub-box {
    padding: 24px 0 0;
  }
  .post-col2-box .post-sub-box {
    width: auto;
    padding: 24px 0 0;
  }
  .post-col2-box .ct-inner-960 .post-sub-box {
    width: auto;
  }
  .post-col2-box .faq-set,
  .post-col2-box .event-start-area {
    margin-left: -20px;
    margin-right: -20px;
  }

  .post-box + .post-box {
    margin-top: 36px;
  }
  .post-box + .member-post-list-set {
    margin-top: 67px;
  }
  .post-box + .post-box.event-start-area {
    margin-top: 60px;
  }

  .ttl-set + .post-box {
    margin-top: 0;
  }

  .post-sub-set + .post-sub-set {
    margin-top: 36px;
  }

  .photo-slider .slide-elm {
    margin: 0 20px;
  }
  .photo-slider .slide-elm img {
    height: 200px;
  }
  .photo-slider .slick-prev,
  .photo-slider .slick-next {
    height: auto;
    width: 30px;
    margin: 0;
    background-position: center center;
  }
  .photo-slider .slick-prev:hover,
  .photo-slider .slick-next:hover {
    opacity: 1;
  }
  .photo-slider .slick-prev {
    left: 0;
    background-image: url(../img/common/icon-prev.png);
    -moz-background-size: 14px 15px;
    -o-background-size: 14px 15px;
    -webkit-background-size: 14px 15px;
    background-size: 14px 15px;
  }
  .photo-slider .slick-prev:hover {
    background-image: url(../img/common/icon-prev.png);
    -moz-background-size: 14px 15px;
    -o-background-size: 14px 15px;
    -webkit-background-size: 14px 15px;
    background-size: 14px 15px;
  }
  .photo-slider .slick-next {
    right: 0;
    background-image: url(../img/common/icon-next.png);
    -moz-background-size: 14px 15px;
    -o-background-size: 14px 15px;
    -webkit-background-size: 14px 15px;
    background-size: 14px 15px;
  }
  .photo-slider .slick-next:hover {
    background-image: url(../img/common/icon-next.png);
    -moz-background-size: 14px 15px;
    -o-background-size: 14px 15px;
    -webkit-background-size: 14px 15px;
    background-size: 14px 15px;
  }

  .img-col1-set .post-sub-box {
    padding-top: 0;
  }
  .img-col1-set .bg-img {
    left: -10vh;
    right: -10vh;
  }
  .img-col1-set .table-cell {
    height: 180px;
  }
  .img-col1-set .img-ttl {
    margin: 0 10px 0;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .img-col1-set .post-ct-cap {
    margin-top: 14px;
  }

  .img-col2-set .post-sub-box {
    padding-top: 0;
  }
  .img-col2-set .post-ct-cap {
    margin-top: 14px;
  }

  .img-set .img-elm + .img-elm {
    margin-top: 36px;
  }
  .img-set .img-elm .post-ct-cap {
    margin: 14px 0 0;
  }

  .post-ct-cap {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    color: #969696;
  }
  .post-ct-cap:before {
    content: "↑";
  }

  .btn-set .btn {
    display: block;
    max-width: 240px;
    margin: 0 auto;
  }
  .btn-set .btn + .btn {
    margin-top: 29px;
  }
  .btn-set .i-block {
    display: inline-block;
    margin: 0 auto;
  }
  .btn-set .mg-c + .mg-c {
    margin-top: 29px;
  }

  .faq-set .faq-box {
    padding: 24px 20px 73px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .faq-set .faq-box:after {
    top: auto;
    bottom: 29px;
    right: 0;
    left: 0;
    margin: 0 auto;
  }

  .attention-set .attention-text {
    padding-left: 0;
    text-indent: 0;
    color: #969696;
  }

  .tag-ct-list {
    font-size: 0;
  }
  .tag-ct-list.side li {
    margin-right: 8px;
    margin-bottom: 8px;
  }
  .tag-ct-list.side li + li {
    margin-top: 0;
  }
  .tag-ct-list li {
    display: inline-block;
    margin: 0 8px 8px 0;
    vertical-align: top;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .tag-ct-list li + li {
    margin-top: 0;
  }

  .contact-link-list {
    font-size: 12px;
    font-size: 1.2rem;
  }

  .set_table .set_table__wrap--fit table {
    width: 100%;
  }

  .set_table__subset--scroll {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .set_table__subset--scroll table {
    min-width: 1024px;
  }

  .post-sub-box .faq-box {
    padding-right: 20px;
    padding-left: 20px;
  }
  .post-sub-box .btn-set .i-block {
    margin: 0 auto;
  }
  .post-sub-box .btn-set .i-block + .i-block {
    margin-top: 29px;
  }
  .post-sub-box .btn-set .mg-c + .mg-c {
    margin-top: 29px;
  }
}
/* about vision
----------------------------------------------------------*/
.youtube-wrap {
  position: relative;
  padding-top: 50%;
}

.video-play {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4) url(../img/common/btn-play.png) no-repeat center center;
  -moz-background-size: 101px 101px;
  -o-background-size: 101px 101px;
  -webkit-background-size: 101px 101px;
  background-size: 101px 101px;
  text-indent: -9999px;
  cursor: pointer;
}

.about-menu {
  padding: 19px 0 21px;
  background: #000;
}
.about-menu li {
  display: inline-block;
  margin: 0 15px;
  vertical-align: top;
}
.about-menu a {
  color: #969696;
}
.about-menu .current {
  position: relative;
}
.about-menu .current a {
  color: #fff;
}
.about-menu .current a:after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  height: 1px;
  width: 100%;
  background: #fff;
}

.vision-lead-area {
  padding: 139px 0 146px;
}

.vision-photo-list {
  margin: 54px 0 0;
}
.vision-photo-list .vision-photo-list-wrap {
  font-size: 0;
  letter-spacing: normal;
}
.vision-photo-list .img-elm {
  display: inline-block;
  vertical-align: top;
}
.vision-photo-list .img-elm a {
  padding-top: 56.39098%;
}
.vision-photo-list .img-elm a:focus, .vision-photo-list .img-elm a:active {
  outline: none;
}
.vision-photo-list .col3 .img-elm {
  width: 33.333333%;
}
.vision-photo-list .col2 .img-elm {
  width: 50%;
}
.vision-photo-list .col1 .img-elm {
  width: 100%;
}

.vision-message-area {
  margin: 0 0 150px;
}
.vision-message-area .bd-ttl {
  margin: 0 0 86px;
}

.message-list {
  font-size: 0;
}
.message-list .list-elm {
  position: relative;
  display: inline-block;
  width: 280px;
  margin: 0 10px 0;
  vertical-align: top;
  font-size: 15px;
  font-size: 1.5rem;
}
.message-list .current:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 99;
  height: 30px;
  width: 100%;
  background: #F0F0F0;
}
.message-list .elm-inner {
  padding: 45px 20px 19px;
}
.message-list .info {
  min-height: 50px;
  margin: 0 0 5px;
}
.message-list .img {
  width: 200px;
  margin: 0 auto 36px;
}
.message-list .name {
  margin: 0 0 10px;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
}
.message-list .text {
  font-size: 14px;
  font-size: 1.4rem;
}

.message-slider .slide-elm {
  padding: 84px 0 62px;
}

.relation-magazine-area {
  padding: 0 0 145px;
}
.relation-magazine-area .bd-ttl {
  margin: 0 0 80px;
}

.vi-area {
  padding: 0 0 150px;
}
.vi-area .bd-ttl {
  margin: 0 0 86px;
}
.vi-area .vi-img {
  margin: 0 0 69px;
  padding-top: 56.25%;
}
.vi-area .dl-btn {
  max-width: 240px;
  margin: 69px auto 0;
}

.area-area {
  padding: 0 0 139px;
}
.area-area .bd-ttl {
  margin: 0 0 86px;
}
.area-area .area-img {
  padding-top: 56.25%;
}

.vision-area-slider {
  margin: 0 0 69px;
}
.vision-area-slider .slick-prev,
.vision-area-slider .slick-next {
  width: 50px;
  background-color: rgba(0, 0, 0, 0.3);
  margin: 0;
}

.next-link-area {
  padding: 50px 0 20px;
}
.next-link-area .link-box a {
  position: relative;
  padding: 0 40px 0 0;
}
.next-link-area .link-box a:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 10px;
  right: 0;
  z-index: 1;
  height: 21px;
  width: 21px;
  background-repeat: no-repeat;
  -moz-background-size: 21px 21px;
  -o-background-size: 21px 21px;
  -webkit-background-size: 21px 21px;
  background-size: 21px 21px;
  background-position: center center;
  background-image: url(../img/common/icon-next-w.png);
}
.next-link-area .text {
  margin: 0 0 8px;
  font-size: 16px;
  font-size: 1.6rem;
  color: #C8C8C8;
}
.next-link-area .post-ttl {
  font-size: 38px;
  font-size: 3.8rem;
}

@media only screen and (max-width: 767px) {
  .video-play {
    background: rgba(0, 0, 0, 0.4) url(../img/common/btn-play.png) no-repeat center center;
    -moz-background-size: 48px 48px;
    -o-background-size: 48px 48px;
    -webkit-background-size: 48px 48px;
    background-size: 48px 48px;
  }

  .about-menu {
    padding: 21px 0 21px;
    font-size: 0;
  }
  .about-menu li {
    margin: 0 14px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .about-menu li:first-child {
    margin-left: 7px;
  }
  .about-menu li:last-child {
    margin-right: 7px;
  }
  .about-menu a {
    color: #969696;
  }
  .about-menu .current {
    position: relative;
  }
  .about-menu .current a {
    color: #fff;
  }
  .about-menu .current a:after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    height: 1px;
    width: 100%;
    background: #fff;
  }

  .vision-lead-area {
    padding: 24px 0 72px;
  }

  .vision-photo-list {
    margin: 23px 0 0;
  }

  .vision-message-area {
    margin: 0 0 73px;
  }
  .vision-message-area .bd-ttl {
    margin: 0 0 49px;
  }

  .message-list {
    font-size: 0;
  }
  .message-list .list-elm {
    display: block;
    width: auto;
    margin: 0 0 0;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .message-list .list-elm + .list-elm {
    margin-top: 48px;
  }
  .message-list .current:after {
    display: none;
  }
  .message-list .elm-inner {
    position: relative;
    z-index: 9;
    padding: 29px 20px 22px;
  }
  .message-list .info {
    min-height: 40px;
    margin: 0 0 5px;
  }
  .message-list .img {
    margin: 0 auto 23px;
  }
  .message-list .name {
    margin: 0 0 5px;
    font-size: 20px;
    font-size: 2rem;
  }
  .message-list .text {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .message-list .sp-message-box {
    margin: -27px 0 0;
    padding: 72px 40px 41px;
  }
  .message-list .sp-message-box p {
    font-size: 14px;
    font-size: 1.4rem;
  }

  .relation-magazine-area {
    padding: 0 0 21px;
  }
  .relation-magazine-area .bd-ttl {
    margin: 0 0 47px;
  }

  .vi-area {
    padding: 0 0 71px;
  }
  .vi-area .bd-ttl {
    margin: 0 0 50px;
  }
  .vi-area .vi-img {
    margin: 0 0 22px;
  }
  .vi-area .dl-btn {
    max-width: inherit;
    margin: 41px auto 0;
  }

  .area-area {
    padding: 0 0 65px;
  }
  .area-area .bd-ttl {
    margin: 0 0 49px;
  }

  .vision-area-slider {
    margin: 0 0 24px;
  }
  .vision-area-slider .slick-prev,
  .vision-area-slider .slick-next {
    width: 40px;
    height: auto;
    -moz-background-size: 15px 15px;
    -o-background-size: 15px 15px;
    -webkit-background-size: 15px 15px;
    background-size: 15px 15px;
  }
  .vision-area-slider .slick-prev:hover,
  .vision-area-slider .slick-next:hover {
    -moz-background-size: 15px 15px;
    -o-background-size: 15px 15px;
    -webkit-background-size: 15px 15px;
    background-size: 15px 15px;
  }
  .vision-area-slider .slick-prev {
    left: 0;
  }
  .vision-area-slider .slick-next {
    right: 0;
  }

  .next-link-area {
    padding: 29px 18px 26px;
  }
  .next-link-area .link-box a {
    position: relative;
    padding: 0 36px 0 0;
  }
  .next-link-area .link-box a:after {
    bottom: 5px;
  }
  .next-link-area .text {
    margin: 0 0 3px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .next-link-area .post-ttl {
    font-size: 32px;
    font-size: 3.2rem;
  }
}
/* about floor
----------------------------------------------------------*/
.about-page .event-start-area + .event-start-area {
  padding-top: 0;
}
.about-page .event-start-repeat {
  margin-bottom: 147px;
}
.about-page .event-start-repeat .event-start-area {
  padding-top: 0;
}
.about-page .event-start-repeat .event-start-area + .event-start-area {
  padding-top: 0;
  margin-top: 147px;
}
.about-page .project-post-list-area.floor {
  padding-top: 0;
  margin: 80px 0 149px;
}

.event-post-list-area + .floor-info-area {
  margin-top: 142px;
}

.event-start-area + .project-post-list-area {
  padding-top: 0;
  margin: 80px 0 149px;
}

.floor-info-area {
  margin: 0 0 151px;
}
.floor-info-area + .event-post-list-area {
  padding-top: 0;
}
.floor-info-area + .event-start-area {
  padding-top: 0;
  margin: 0 0 147px;
}
.floor-info-area .floor-img {
  height: 450px;
}
.floor-info-area .bg-box {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 9;
  width: 100%;
  height: 24px;
}
.floor-info-area .floor-ttl {
  position: relative;
  z-index: 10;
  margin: -38px 0 61px;
  font-size: 80px;
  font-size: 8rem;
  letter-spacing: 0.1em;
}
.floor-info-area .floor-lead {
  margin: 0 0 38px;
  font-size: 24px;
  font-size: 2.4rem;
}

@media only screen and (max-width: 767px) {
  .about-page .event-start-area + .event-start-area {
    padding-top: 0;
  }
  .about-page .event-start-repeat {
    margin-bottom: 69px;
  }
  .about-page .event-start-repeat .event-start-area {
    padding-top: 0;
  }
  .about-page .event-start-repeat .event-start-area + .event-start-area {
    padding-top: 0;
    margin-top: 67px;
  }
  .about-page .project-post-list-area.floor {
    padding-top: 0;
    margin: 0 0 71px;
  }

  .event-post-list-area + .floor-info-area {
    margin-top: 67px;
  }

  .event-start-area + .project-post-list-area {
    padding-top: 0;
    margin: 0 0 71px;
  }

  .floor-info-area {
    margin: 0 0 64px;
  }
  .floor-info-area + .event-post-list-area {
    padding-top: 0;
  }
  .floor-info-area + .event-start-area {
    padding-top: 0;
    margin: 0 0 69px;
  }
  .floor-info-area .floor-img {
    height: 130px;
  }
  .floor-info-area .bg-box {
    height: 14px;
    -moz-background-size: 16px 19px;
    -o-background-size: 16px 19px;
    -webkit-background-size: 16px 19px;
    background-size: 16px 19px;
  }
  .floor-info-area .floor-ttl {
    margin: -18px 0 19px;
    font-size: 48px;
    font-size: 4.8rem;
  }
  .floor-info-area .floor-lead {
    margin: 0 0 19px;
    line-height: 1.5;
    font-size: 20px;
    font-size: 2rem;
  }
}
/* about access-contact
----------------------------------------------------------*/
.about-access-area {
  padding: 80px 0 0;
}
.about-access-area .gmap-box {
  margin: 0 0 67px;
}
.about-access-area .gmap-area {
  padding-top: 46.875%;
}

.about-access-map-lead {
  padding: 11px 0 0;
}

.about-access-floor {
  margin: 0 0 68px;
}
.about-access-floor .bd-ttl {
  margin: 0 0 80px;
}

.event-start-area.about-access-floor-lead-box {
  padding: 0;
  margin: 0 0 82px;
}
.event-start-area.about-access-floor-lead-box .floor-list {
  margin: 21px 0 0;
  line-height: 1.35;
}
.event-start-area.about-access-floor-lead-box .floor-list li {
  position: relative;
  padding: 0 0 0 30px;
  font-size: 14px;
  font-size: 1.4rem;
}
.event-start-area.about-access-floor-lead-box .floor-list li + li {
  margin-top: 17px;
}
.event-start-area.about-access-floor-lead-box .floor-list .icon {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
}

.about-access-floor-list {
  width: 1000px;
  font-size: 0;
}
.about-access-floor-list .list-elm {
  display: inline-block;
  width: 440px;
  margin: 0 40px 82px 0;
  vertical-align: top;
}
.about-access-floor-list .floor-img {
  height: 225px;
  margin: 0 0 0 40px;
}
.about-access-floor-list .bg-box {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 9;
  width: 100%;
  height: 24px;
}
.about-access-floor-list .ttl-box {
  position: relative;
}
.about-access-floor-list .floor-ttl {
  position: relative;
  z-index: 10;
  margin: -29px 0 33px;
  font-size: 80px;
  font-size: 8rem;
}
.about-access-floor-list .floor-ttl + .floor-sub {
  margin-top: 0;
}
.about-access-floor-list .floor-sub {
  margin: 29px 0 20px;
  font-size: 24px;
  font-size: 2.4rem;
}
.about-access-floor-list .floor-lead {
  font-size: 14px;
  font-size: 1.4rem;
}
.about-access-floor-list .floor-list {
  margin: 21px 0 0;
  line-height: 1.35;
}
.about-access-floor-list .floor-list li {
  position: relative;
  padding: 0 0 0 30px;
  font-size: 14px;
  font-size: 1.4rem;
}
.about-access-floor-list .floor-list li + li {
  margin-top: 17px;
}
.about-access-floor-list .floor-list .icon {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
}
.about-access-floor-list .text-box {
  padding: 0 0 0 40px;
}
.about-access-floor-list .btn-link {
  margin: 31px 0 0;
}

.about-access-press .about-access-press-list {
  width: 900px;
  margin-left: -50px;
  font-size: 0;
  text-align: center;
}
.about-access-press .list-elm {
  display: inline-block;
  width: 240px;
  margin: 0 20px 40px;
  vertical-align: top;
  text-align: left;
}
.about-access-press .bd-ttl {
  margin: 0 0 75px;
}
.about-access-press .ttl {
  margin: 0 0 23px;
  line-height: 1.5;
  font-size: 24px;
  font-size: 2.4rem;
}
.about-access-press .lead {
  font-size: 15px;
  font-size: 1.5rem;
}
.about-access-press .btn-link {
  margin: 29px 0 0;
}

@media only screen and (max-width: 767px) {
  .about-access-area {
    padding: 29px 0 0;
  }
  .about-access-area .gmap-box {
    padding: 0 20px;
    margin: 0 auto 66px;
  }
  .about-access-area .gmap-area {
    padding-top: 52.5%;
  }

  .about-access-map-lead {
    padding: 13px 0 0;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.85;
    text-align: left;
  }

  .about-access-floor {
    margin: 0 0 71px;
  }
  .about-access-floor .bd-ttl {
    margin: 0 0 48px;
  }

  .event-start-area.about-access-floor-lead-box {
    padding: 0;
    margin: 0 0 49px;
  }
  .event-start-area.about-access-floor-lead-box .floor-list {
    margin: 21px 0 0;
    line-height: 1.35;
  }
  .event-start-area.about-access-floor-lead-box .floor-list li {
    position: relative;
    padding: 0 0 0 30px;
    font-size: 15px;
    font-size: 1.5rem;
  }
  .event-start-area.about-access-floor-lead-box .floor-list li + li {
    margin-top: 12px;
  }
  .event-start-area.about-access-floor-lead-box .floor-list .icon {
    top: -1px;
  }

  .about-access-floor-list {
    width: auto;
  }
  .about-access-floor-list .list-elm {
    display: block;
    width: auto;
    margin: 0 0 49px;
    vertical-align: top;
  }
  .about-access-floor-list .floor-img {
    height: 130px;
    margin: 0 -20px;
  }
  .about-access-floor-list .bg-line03 {
    -moz-background-size: 13px 15px;
    -o-background-size: 13px 15px;
    -webkit-background-size: 13px 15px;
    background-size: 13px 15px;
  }
  .about-access-floor-list .bg-box {
    height: 13px;
  }
  .about-access-floor-list .floor-ttl {
    position: relative;
    z-index: 10;
    margin: -15px 0 17px;
    font-size: 48px;
    font-size: 4.8rem;
  }
  .about-access-floor-list .floor-ttl + .floor-sub {
    margin-top: 0;
  }
  .about-access-floor-list .floor-sub {
    margin: 20px 0 18px;
    line-height: 1.5;
    font-size: 20px;
    font-size: 2rem;
  }
  .about-access-floor-list .floor-lead {
    line-height: 1.9;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .about-access-floor-list .floor-list {
    margin: 21px 0 0;
    line-height: 1.35;
  }
  .about-access-floor-list .floor-list li {
    position: relative;
    padding: 0 0 0 30px;
    font-size: 15px;
    font-size: 1.5rem;
  }
  .about-access-floor-list .floor-list li + li {
    margin-top: 12px;
  }
  .about-access-floor-list .floor-list .icon {
    top: -1px;
  }
  .about-access-floor-list .text-box {
    padding: 0 0 0;
  }
  .about-access-floor-list .btn-link {
    margin: 31px 0 0;
  }

  .about-access-press {
    padding-bottom: 28px;
  }
  .about-access-press .about-access-press-list {
    width: auto;
    margin-left: 0;
  }
  .about-access-press .list-elm {
    display: block;
    width: auto;
    margin: 0 0 45px 0;
    padding: 0 20px;
  }
  .about-access-press .bd-ttl {
    margin: 0 0 45px;
  }
  .about-access-press .ttl {
    margin: 0 0 16px;
    font-size: 20px;
    font-size: 2rem;
  }
  .about-access-press .lead {
    padding: 0 8px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .about-access-press .btn-link {
    margin: 22px 0 0;
  }
}
/* event
----------------------------------------------------------*/
.list-page-wrap {
  padding: 0 0 104px;
}

.event-cat-list {
  overflow: hidden;
  padding: 12px 0 0;
  height: 54px;
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.event-cat-list .list-inner {
  overflow: hidden;
  height: 54px;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.event-cat-list ul {
  display: inline-table;
  max-width: 100%;
  vertical-align: top;
}
.event-cat-list li {
  display: table-cell;
  min-width: 135px;
  vertical-align: top;
  padding: 0 10px;
}
.event-cat-list li a {
  position: relative;
  overflow: hidden;
  padding: 8px 10px 6px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  white-space: nowrap;
}
.event-cat-list .text {
  position: relative;
  z-index: 9;
}

.event-cat-list02 {
  overflow: hidden;
  padding: 10px 0 0;
  height: 50px;
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.event-cat-list02 .list-inner {
  overflow: hidden;
  width: 100%;
  height: 50px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.event-cat-list02 ul {
  display: inline-table;
  max-width: 100%;
  vertical-align: top;
}
.event-cat-list02 li {
  display: table-cell;
  vertical-align: top;
  padding: 0 5px;
  font-size: 12px;
  font-size: 1.2rem;
}
.event-cat-list02 li a {
  position: relative;
  overflow: hidden;
  padding: 9px 10px 7px;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  white-space: nowrap;
}
.event-cat-list02 .current a {
  color: #fff;
  background: #000;
}

.event-post-list-area {
  padding: 145px 0 0;
}
.event-post-list-area + .event-post-list-area {
  padding-top: 66px;
}
.event-post-list-area .bd-ttl {
  margin: 0 0 76px;
}

.event-post-list01 .list-elm {
  margin: 0 0 76px;
}
.event-post-list01 a {
  position: relative;
  padding: 47px 80px 0;
}
.event-post-list01 .data-box {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.event-post-list01 .week {
  margin: 0 0 6px;
  font-size: 30px;
  font-size: 3rem;
}
.event-post-list01 .date {
  margin: 0 0 9px;
}
.event-post-list01 .day {
  font-size: 80px;
  font-size: 8rem;
}
.event-post-list01 .month {
  font-size: 36px;
  font-size: 3.6rem;
}
.event-post-list01 .month:before {
  content: "";
  padding-left: 0.2em;
}
.event-post-list01 .arrow {
  font-size: 40px;
  font-size: 4rem;
}
.event-post-list01 .place {
  margin: 0 0 19px;
  font-size: 18px;
  font-size: 1.8rem;
}
.event-post-list01 .label {
  display: inline-block;
  padding: 9px 7px 5px;
  background: #fff;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  border: 1px solid #969696;
  font-size: 12px;
  font-size: 1.2rem;
  vertical-align: top;
}
.event-post-list01 .img-box {
  position: relative;
  width: 400px;
}
.event-post-list01 .img-box .hv-box {
  opacity: 0;
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 9;
  -moz-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.event-post-list01 .text-box {
  width: 360px;
}
.event-post-list01 .post-ttl {
  margin: -12px 0 37px;
  font-size: 24px;
  font-size: 2.4rem;
}
.event-post-list01 .lead {
  font-size: 14px;
  font-size: 1.4rem;
}

.event-post-list02 {
  padding: 5px 0 0;
  font-size: 0;
  letter-spacing: normal;
}
.event-post-list02 .list-elm {
  display: inline-block;
  width: 400px;
  margin: 0 80px 84px 0;
  vertical-align: top;
  letter-spacing: 0.05em;
}
.event-post-list02 .list-elm a {
  position: relative;
  padding: 31px 80px 0;
}
.event-post-list02 .data-box {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.event-post-list02 .week {
  margin: 0 0 6px;
  font-size: 18px;
  font-size: 1.8rem;
}
.event-post-list02 .date {
  margin: 0 0 12px;
}
.event-post-list02 .day {
  font-size: 60px;
  font-size: 6rem;
}
.event-post-list02 .month {
  font-size: 16px;
  font-size: 1.6rem;
}
.event-post-list02 .month:before {
  content: "";
  padding-left: 0.2em;
}
.event-post-list02 .arrow {
  font-size: 30px;
  font-size: 3rem;
}
.event-post-list02 .place {
  margin: 0 0 17px;
  font-size: 18px;
  font-size: 1.8rem;
}
.event-post-list02 .label {
  display: inline-block;
  padding: 9px 7px 5px;
  background: #fff;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  border: 1px solid #969696;
  font-size: 12px;
  font-size: 1.2rem;
  vertical-align: top;
}
.event-post-list02 .img-box {
  position: relative;
  width: 320px;
  margin: 0 0 25px;
}
.event-post-list02 .img-box .hv-box {
  opacity: 0;
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 9;
  -moz-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.event-post-list02 .post-ttl {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.8;
}
.event-post-list02 .btn-more {
  margin-top: -11px;
}

.event-start-area {
  padding: 150px 0 0;
}
.event-start-area .box-ttl {
  position: relative;
  margin: 0 0 8px;
  top: -19px;
  z-index: 9;
  font-size: 24px;
  font-size: 2.4rem;
}
.event-start-area .box-ttl + .wysiwyg {
  padding-top: 0;
}
.event-start-area .wysiwyg {
  padding-top: 48px;
}
.event-start-area .text-box {
  padding: 0 20px 58px;
}
.event-start-area .link-btn {
  margin-top: -30px;
}
.event-start-area .small {
  margin: 0 auto 6px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.75;
}

@media only screen and (min-width: 768px) {
  .event-post-list01 a:hover .hv-box,
  .event-post-list02 a:hover .hv-box {
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  .list-page-wrap {
    padding: 0 0 74px;
  }

  .event-cat-list {
    overflow: hidden;
    padding: 15px 0 0;
    height: 56px;
  }
  .event-cat-list ul {
    padding: 0 10px;
  }
  .event-cat-list li {
    min-width: 126px;
    font-size: 14px;
    font-size: 1.4rem;
  }

  .event-cat-list02 {
    padding: 8px 0 0;
    height: 44px;
  }
  .event-cat-list02 .list-inner {
    height: 44px;
  }
  .event-cat-list02 ul {
    padding: 0 5px;
  }
  .event-cat-list02 li {
    padding: 0 5px;
  }
  .event-cat-list02 li a {
    padding: 9px 8px 7px;
  }

  .event-post-list-area {
    padding: 48px 0 0;
  }
  .event-post-list-area + .event-post-list-area {
    padding-top: 25px;
  }
  .event-post-list-area + .event-post-list-area .bd-ttl {
    margin: 0 0 24px;
  }
  .event-post-list-area .bd-ttl {
    margin: 0 0 48px;
  }

  .event-post-list01 .list-elm,
  .event-post-list02 .list-elm {
    display: block;
    width: auto;
    margin: 0 0 41px;
  }
  .event-post-list01 .list-elm a,
  .event-post-list02 .list-elm a {
    position: relative;
    padding: 60px 0 0 0;
  }
  .event-post-list01 .data-box,
  .event-post-list02 .data-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
  }
  .event-post-list01 .week,
  .event-post-list02 .week {
    margin: 0 0 6px;
    font-size: 20px;
    font-size: 2rem;
  }
  .event-post-list01 .date,
  .event-post-list02 .date {
    margin: 0 0 8px;
  }
  .event-post-list01 .day,
  .event-post-list02 .day {
    font-size: 58px;
    font-size: 5.8rem;
  }
  .event-post-list01 .month,
  .event-post-list02 .month {
    font-size: 26px;
    font-size: 2.6rem;
  }
  .event-post-list01 .arrow,
  .event-post-list02 .arrow {
    font-size: 28px;
    font-size: 2.8rem;
  }
  .event-post-list01 .place,
  .event-post-list02 .place {
    margin: 0 0 19px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .event-post-list01 .label,
  .event-post-list02 .label {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9;
    display: block;
    padding: 9px 6px 6px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .event-post-list01 .img-box,
  .event-post-list02 .img-box {
    width: auto;
    margin: 0;
    padding-left: 56px;
  }
  .event-post-list01 .img-box .hv-box,
  .event-post-list02 .img-box .hv-box {
    opacity: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .event-post-list01 .text-box,
  .event-post-list02 .text-box {
    width: auto;
    line-height: 1.5;
  }
  .event-post-list01 .post-ttl,
  .event-post-list02 .post-ttl {
    margin: 25px 0 17px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
  }
  .event-post-list01 .lead,
  .event-post-list02 .lead {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.9;
  }

  .event-post-list02 {
    padding: 5px 0 0;
  }
  .event-post-list02 .btn-more {
    margin-top: 65px;
  }

  .event-start-area {
    padding: 73px 0 0;
  }
  .event-start-area .box-ttl {
    top: -12px;
    margin: 0;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
  }
  .event-start-area .text-box {
    padding: 0 20px 51px;
  }
  .event-start-area .small {
    margin: 0 auto 3px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.75;
  }
  .event-start-area .link-btn {
    padding: 0 20px;
    margin-top: -30px;
  }
}
/* event single
----------------------------------------------------------*/
.event-main-area {
  padding: 150px 0 0;
}
.event-main-area .data-box {
  position: absolute;
  top: -2px;
  left: 0;
  z-index: 10;
}
.event-main-area .week {
  margin: 0 0 6px;
  font-size: 30px;
  font-size: 3rem;
}
.event-main-area .date {
  margin: 0 0 11px;
}
.event-main-area .day {
  font-size: 80px;
  font-size: 8rem;
}
.event-main-area .month {
  font-size: 36px;
  font-size: 3.6rem;
}
.event-main-area .month:before {
  content: "";
  padding-left: 0.2em;
}
.event-main-area .arrow {
  font-size: 40px;
  font-size: 4rem;
}
.event-main-area .place {
  margin: 0 0 19px;
  font-size: 30px;
  font-size: 3rem;
}
.event-main-area .label {
  display: inline-block;
  padding: 9px 7px 5px;
  background: #fff;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  border: 1px solid #969696;
  font-size: 12px;
  font-size: 1.2rem;
  vertical-align: top;
}
.event-main-area .img-box {
  position: relative;
  padding: 0 0 0 160px;
  margin: 0 0 12px;
}
.event-main-area .post-ttl {
  margin: 0;
  font-size: 24px;
  font-size: 2.4rem;
}
.event-main-area .lead {
  margin: -4px 0 0;
}
.event-main-area .link-btn {
  margin: 15px 0 0;
}

.event-info-area {
  padding: 80px 0 0;
}
.event-info-area .bd-ttl {
  margin: 0 0 67px;
}

.event-info-ct-box .event-ttl {
  margin: 0 0 40px;
  font-size: 24px;
  font-size: 2.4rem;
}
.event-info-ct-box .info-text {
  font-size: 18px;
  font-size: 1.8rem;
}
.event-info-ct-box .info-text-inner {
  position: relative;
  padding: 0 0 0 34px;
  line-height: 1.8;
}
.event-info-ct-box .info-text-inner + .info-text-inner {
  margin-top: 6px;
}
.event-info-ct-box .info-text-inner .icon {
  position: absolute;
  top: 6px;
  left: 0;
}
.event-info-ct-box .gmap-area {
  margin: 73px 0 14px;
}
.event-info-ct-box .gmap-info {
  font-size: 14px;
  font-size: 1.4rem;
}

.event-ticket-area {
  padding: 145px 0 0;
}

.form-lead {
  margin: 38px 0 57px;
}

.form-table-wrap + .form-btn {
  margin-top: 80px;
}

.form-table {
  border-bottom: 1px solid #E6E6E6;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.8;
}
.form-table + .form-text-table {
  margin-top: 10px;
}
.form-table + .form-text-table .form-th {
  padding-top: 0;
}
.form-table + .form-text-table + .form-text-table .form-th {
  padding-top: 0;
}
.form-table + .form-text-table + .form-text-table + .form-text-table .form-th {
  padding-top: 0;
}
.form-table .table-cell {
  padding: 11px 0 7px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.form-table .form-radio {
  width: 238px;
  padding-left: 20px;
}
.form-table .form-radio .radio-btn {
  margin-top: 6px;
}
.form-table .form-price {
  width: 110px;
  padding-right: 0;
}

.form-table-head {
  border-bottom: 1px solid #969696;
  font-size: 16px;
  font-size: 1.6rem;
}
.form-table-head .table-cell {
  padding-bottom: 12px;
}
.form-table-head .form-radio {
  padding-left: 0;
}

.form-card-box {
  margin-top: 42px;
  font-size: 14px;
  font-size: 1.4rem;
}
.form-card-box .img-card {
  margin: 0 0 0 11px;
}
.form-card-box .text + .text {
  margin-top: 14px;
}

.form-flow-list {
  margin: 77px 0 43px;
}
.form-flow-list + .form-table {
  margin-top: 66px;
}
.form-flow-list li {
  opacity: 0.5;
  display: inline-block;
  vertical-align: middle;
  font-size: 18px;
  font-size: 1.8rem;
}
.form-flow-list li:before {
  content: "";
  display: inline-block;
  height: 21px;
  width: 21px;
  background-repeat: no-repeat;
  -moz-background-size: 21px 21px;
  -o-background-size: 21px 21px;
  -webkit-background-size: 21px 21px;
  background-size: 21px 21px;
  background-position: center center;
  background-image: url(../img/common/icon-next.png);
  vertical-align: middle;
}
.form-flow-list li:first-child:before {
  display: none;
}
.form-flow-list p {
  display: inline-block;
  min-width: 174px;
  vertical-align: middle;
}
.form-flow-list .current {
  opacity: 1;
}

.form-text-ttl {
  margin-bottom: 40px;
  border-bottom: 1px solid #969696;
  padding: 0 0 8px;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
}

.form-text-table {
  font-size: 18px;
  font-size: 1.8rem;
}
.form-text-table .form-th {
  width: 240px;
  padding-top: 4px;
}
.form-text-table .input-text {
  margin-bottom: 20px;
}

.form-lead02 {
  margin: 13px 0 32px;
  font-size: 14px;
  font-size: 1.4rem;
}

.form-lead03 {
  margin: 65px 0 32px;
  font-size: 14px;
  font-size: 1.4rem;
}

.form-lead04 {
  margin: 38px 0 76px;
}

.form-lead05 {
  margin: 47px 0 35px;
}

.form-error {
  color: #E60012;
}

.form-btn-list-wrap {
  font-size: 0;
}
.form-btn-list-wrap .form-btn {
  display: inline-block;
  vertical-align: top;
}
.form-btn-list-wrap .form-btn + .form-btn {
  margin-left: 40px;
}

@media only screen and (max-width: 767px) {
  .event-main-area {
    padding: 45px 0 20px;
  }
  .event-main-area .data-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
  }
  .event-main-area .week {
    margin: 0 0 6px;
    font-size: 20px;
    font-size: 2rem;
  }
  .event-main-area .date {
    margin: 0 0 8px;
  }
  .event-main-area .day {
    font-size: 58px;
    font-size: 5.8rem;
  }
  .event-main-area .month {
    font-size: 26px;
    font-size: 2.6rem;
  }
  .event-main-area .arrow {
    font-size: 28px;
    font-size: 2.8rem;
  }
  .event-main-area .place {
    margin: 0 0 19px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .event-main-area .label {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9;
    display: block;
    padding: 9px 6px 6px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .event-main-area .img-box {
    width: auto;
    margin: 0;
    padding: 60px 0 0 56px;
  }
  .event-main-area .text-box {
    width: auto;
    line-height: 1.5;
  }
  .event-main-area .post-ttl {
    margin: 25px 0 24px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
  }
  .event-main-area .lead {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
  }
  .event-main-area .link-btn {
    margin: 12px 0 0;
  }

  .event-info-area {
    padding: 49px 0 0;
  }
  .event-info-area .bd-ttl {
    margin: 0 0 43px;
  }

  .event-info-ct-box-inner {
    display: block;
  }

  .event-info-ct-box .event-ttl {
    margin: 0 0 21px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
  }
  .event-info-ct-box .info-text {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .event-info-ct-box .info-text-inner {
    position: relative;
    padding: 0 0 0 34px;
    line-height: 1.8;
  }
  .event-info-ct-box .info-text-inner + .info-text-inner {
    margin-top: 4px;
  }
  .event-info-ct-box .info-text-inner .icon {
    position: absolute;
    top: 4px;
    left: 0;
  }
  .event-info-ct-box .gmap-area {
    margin: 26px 0 10px;
  }
  .event-info-ct-box .gmap-info {
    line-height: 1.9;
  }

  .event-ticket-area {
    padding: 66px 0 0;
  }

  .form-ct-box {
    margin: 0 0 17px;
  }

  .form-lead {
    margin: 44px 0 21px;
    text-align: left;
  }

  .form-table-wrap + .form-btn {
    margin-top: 29px;
  }

  .form-table {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .form-table + .form-text-table {
    margin-top: 10px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .form-table + .form-text-table .form-th {
    padding-top: 0;
  }
  .form-table + .form-text-table + .form-text-table .form-th {
    padding-top: 0;
  }
  .form-table + .form-text-table + .form-text-table + .form-text-table .form-th {
    padding-top: 0;
  }
  .form-table .table-cell {
    padding: 15px 0 12px;
  }
  .form-table .form-radio {
    width: 64px;
    padding-left: 15px;
  }
  .form-table .form-radio .radio-btn {
    margin-top: 2px;
  }
  .form-table .form-price {
    width: 80px;
  }

  .form-table-head {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .form-table-head .table-cell {
    padding-bottom: 8px;
  }
  .form-table-head .form-radio {
    padding-left: 0;
  }

  .form-card-box {
    margin-top: 17px;
    font-size: 12px;
    font-size: 1.2rem;
    text-align: left;
  }
  .form-card-box .img-card {
    width: 200px;
    margin: 0 0 0 6px;
  }
  .form-card-box .text + .text {
    margin-top: 11px;
  }

  .form-flow-list {
    margin: 44px 0 21px;
  }
  .form-flow-list + .form-table {
    margin-top: 44px;
  }
  .form-flow-list li {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .form-flow-list li:before {
    height: 14px;
    width: 14px;
    -moz-background-size: 14px 14px;
    -o-background-size: 14px 14px;
    -webkit-background-size: 14px 14px;
    background-size: 14px 14px;
    margin: 0 10px;
  }
  .form-flow-list p {
    min-width: inherit;
  }

  .form-text-ttl {
    margin-bottom: 40px;
    border-bottom: 1px solid #969696;
    padding: 0 0 8px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .form-text-table {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
  }
  .form-text-table .form-th {
    width: 100px;
    padding-top: 9px;
  }
  .form-text-table .input-text {
    margin-bottom: 20px;
  }

  .form-lead02 {
    margin: 13px 0 32px;
    font-size: 14px;
    font-size: 1.4rem;
  }

  .form-lead03 {
    margin: 45px 0 32px;
    font-size: 14px;
    font-size: 1.4rem;
  }

  .form-lead04 {
    margin: 44px 0 21px;
    text-align: left;
  }

  .form-lead05 {
    margin: 45px 0 35px;
    text-align: left;
  }

  .form-error {
    color: #E60012;
  }

  .form-btn-list-wrap {
    font-size: 0;
  }
  .form-btn-list-wrap .form-btn {
    display: block;
  }
  .form-btn-list-wrap .form-btn + .form-btn {
    margin-top: 20px;
    margin-left: 0;
  }
}
/* project
----------------------------------------------------------*/
.project-head-info-list {
  display: none;
  position: relative;
  border-top: 1px solid #E6E6E6;
}
.project-head-info-list.event-type .ct-inner-1200 {
  padding: 16px 0 13px;
}
.project-head-info-list.event-type .ttl {
  padding-left: 40px;
}
.project-head-info-list.event-type .text {
  padding: 1px 0 0;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: bold;
}
.project-head-info-list .ct-inner-1120,
.project-head-info-list .ct-inner-1200 {
  padding: 14px 0 0;
}
.project-head-info-list .ttl {
  padding: 3px 0 0;
  width: 162px;
}
.project-head-info-list .text {
  padding: 1px 0 0;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.8;
}
.project-head-info-list .event-info-box {
  width: 600px;
  text-align: right;
}
.project-head-info-list .event-info-box-inner {
  display: inline-table;
  vertical-align: middle;
  line-height: 1.5;
}
.project-head-info-list .info-text-inner {
  position: relative;
  padding: 2px 20px 0 30px;
  text-align: left;
  font-size: 12px;
  font-size: 1.2rem;
  white-space: nowrap;
}
.project-head-info-list .info-text-inner .icon {
  position: absolute;
  top: -2px;
  left: 0;
}
.project-head-info-list .info-text:last-child .info-text-inner {
  padding-right: 10px;
}
.project-head-info-list .place {
  width: 177px;
}
.project-head-info-list .time {
  width: 282px;
}
.project-head-info-list .money {
  width: 80px;
}
.project-head-info-list .man {
  width: 64px;
}
.project-head-info-list .man .info-text-inner {
  padding-right: 0;
}

.project-main-area {
  position: relative;
  min-height: 615px;
}
.project-main-area:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background: rgba(255, 255, 255, 0.6);
}
.project-main-area .inner {
  position: relative;
  z-index: 9;
}
.project-main-area .ttl-box .table-cell {
  padding: 48px 0 20px;
  height: 260px;
}
.project-main-area .limit-bar {
  position: static;
  height: 72px;
}
.project-main-area .limit-bar .date {
  height: 30px;
  font-size: 13px;
  font-size: 1.3rem;
}
.project-main-area .limit-bar .day {
  font-size: 24px;
  font-size: 2.4rem;
}
.project-main-area .limit-bar-box {
  position: relative;
  max-width: 640px;
  margin: 0 auto;
  height: 13px;
  background: rgba(0, 0, 0, 0.6);
}
.project-main-area .limit-bar-box:before, .project-main-area .limit-bar-box:after {
  content: "";
  position: absolute;
  top: 6px;
  width: 100vw;
  height: 1px;
  background: rgba(0, 0, 0, 0.6);
}
.project-main-area .limit-bar-box:before {
  left: 100%;
}
.project-main-area .limit-bar-box:after {
  right: 100%;
}
.project-main-area .limit-bar-box .done-bar {
  height: 13px;
  background: #000;
}
.project-main-area .member-box .table-cell {
  padding: 33px 0 20px;
}
.project-main-area .member-ttl {
  margin: 0 0 21px;
  font-size: 24px;
  font-size: 2.4rem;
}
.project-main-area .member-list {
  font-size: 0;
}
.project-main-area .member-list li {
  display: inline-block;
  width: 76px;
  margin: 0 2px 6px;
  vertical-align: top;
}

.project-team-area {
  padding: 115px 0 55px;
}
.project-team-area .bd-ttl {
  margin: 0 0 80px;
}

.project-team-info-list.wide .img {
  width: 200px;
}
.project-team-info-list.wide .text-box {
  width: 320px;
}
.project-team-info-list .list-elm + .list-elm {
  margin-top: 54px;
}
.project-team-info-list .right .img,
.project-team-info-list .right .text-box {
  float: right;
}
.project-team-info-list .img {
  float: left;
  width: 229px;
}
.project-team-info-list .text-box {
  float: left;
  width: 240px;
  margin: 0 40px;
}
.project-team-info-list .name {
  margin: -1px 0 10px;
}
.project-team-info-list .name small {
  font-size: 12px;
  font-size: 1.2rem;
  padding-right: 1em;
  font-weight: normal;
}
.project-team-info-list .wysiwyg {
  line-height: 1.9;
}

.relation-event-post-area {
  padding: 115px 0 0;
}
.relation-event-post-area + .relation-magazine-post-area {
  margin-top: -49px;
}
.relation-event-post-area .bd-ttl {
  margin: 0 0 66px;
}

.relation-magazine-post-area {
  padding: 115px 0 0;
}
.relation-magazine-post-area .bd-ttl {
  margin: 0 0 88px;
}

@media only screen and (max-width: 767px) {
  .sp-fix-box {
    position: fixed;
    z-index: 99;
    bottom: 16px;
    left: 16px;
    right: 16px;
    border: 2px solid #000;
    height: auto;
    padding: 14px 12px 10px;
    background: #fff;
    -moz-box-shadow: 5px 5px 6px 0px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 5px 5px 6px 0px rgba(0, 0, 0, 0.5);
    box-shadow: 5px 5px 6px 0px rgba(0, 0, 0, 0.5);
  }
  .sp-fix-box .ttl {
    padding: 0 0 9px;
    width: auto;
  }
  .sp-fix-box .text {
    padding: 1px 0 0;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.85;
  }
  .sp-fix-box .sp-fix-btn-close {
    position: absolute;
    top: -2px;
    right: -2px;
    z-index: 9;
    height: 24px;
    width: 24px;
    cursor: pointer;
    background: #000;
  }
  .sp-fix-box .sp-fix-btn-close span {
    position: absolute;
    top: -1px;
    right: 4px;
    display: block;
    background: #fff;
    height: 1px;
    width: 16px;
  }
  .sp-fix-box .sp-fix-btn-close .bar01 {
    -moz-transform: translateY(13px) rotate(-45deg);
    -ms-transform: translateY(13px) rotate(-45deg);
    -webkit-transform: translateY(13px) rotate(-45deg);
    transform: translateY(13px) rotate(-45deg);
  }
  .sp-fix-box .sp-fix-btn-close .bar02 {
    -moz-transform: translateY(13px) rotate(45deg);
    -ms-transform: translateY(13px) rotate(45deg);
    -webkit-transform: translateY(13px) rotate(45deg);
    transform: translateY(13px) rotate(45deg);
  }
  .sp-fix-box .ttl-text {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .sp-fix-box .info-text {
    line-height: 1.8;
    padding: 0 0 9px 28px;
    margin: 23px 0 0;
  }
  .sp-fix-box .info-text-inner {
    position: relative;
    padding: 0 0 0 26px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .sp-fix-box .info-text-inner + .info-text-inner {
    margin-top: 13px;
  }
  .sp-fix-box .info-text-inner .icon {
    position: absolute;
    top: -2px;
    left: 0;
  }

  .project-main-area {
    position: relative;
    min-height: -webkit-calc(100vh - 74px);
    min-height: calc(100vh - 74px);
  }
  .project-main-area .ttl-box .table-cell {
    padding: 10px 0 10px;
    height: -webkit-calc(50vh - 42px);
    height: calc(50vh - 42px);
  }
  .project-main-area .limit-bar {
    position: static;
    height: 42px;
  }
  .project-main-area .limit-bar .date {
    height: 36px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .project-main-area .limit-bar .day {
    font-size: 28px;
    font-size: 2.8rem;
  }
  .project-main-area .limit-bar-box {
    max-width: 160px;
  }
  .project-main-area .member-box .table-cell {
    padding: 20px 0 20px;
  }
  .project-main-area .member-ttl {
    margin: 0 0 21px;
    font-size: 16px;
    font-size: 1.6rem;
  }

  .project-team-area {
    padding: 43px 0 27px;
  }
  .project-team-area .bd-ttl {
    margin: 0 0 48px;
  }

  .project-team-info-list.wide .img {
    width: 180px;
  }
  .project-team-info-list.wide .text-box {
    width: auto;
  }
  .project-team-info-list .list-elm + .list-elm {
    margin-top: 25px;
  }
  .project-team-info-list .right .img,
  .project-team-info-list .right .text-box {
    float: none;
  }
  .project-team-info-list .img {
    float: none;
    width: 180px;
    margin: 0 auto 18px;
  }
  .project-team-info-list .text-box {
    float: none;
    width: auto;
    margin: 0;
    line-height: 1.85;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .project-team-info-list .name {
    margin: -1px 0 10px;
    font-size: 14px;
    font-size: 1.4rem;
  }

  .relation-event-post-area {
    padding: 43px 0 27px;
  }
  .relation-event-post-area + .relation-magazine-post-area {
    margin-top: -45px;
  }
  .relation-event-post-area .bd-ttl {
    margin: 0 0 49px;
  }

  .relation-magazine-post-area {
    padding: 43px 0 22px;
  }
  .relation-magazine-post-area .bd-ttl {
    margin: 0 0 49px;
  }
}
/* project list */
.project-post-list-area {
  padding: 80px 0 0;
}
.project-post-list-area .bd-ttl {
  margin: 0 0 80px;
}

.project-post-list .list-elm {
  position: relative;
}
.project-post-list .list-elm + .list-elm {
  margin-top: 100px;
}
.project-post-list .text-area {
  position: relative;
  z-index: 10;
  display: inline-block;
  background: #fff;
  padding: 0 0 0 40px;
  vertical-align: top;
}
.project-post-list .text-area .table-style {
  width: auto;
}
.project-post-list .img-wrap {
  width: 240px;
  background: url(../img/common/bg-line-project.png) no-repeat top left;
  -moz-background-size: contain;
  -o-background-size: contain;
  -webkit-background-size: contain;
  background-size: contain;
}
.project-post-list .img-box {
  position: relative;
  width: 160px;
  margin: 0 auto;
}
.project-post-list .img-box .hv-box {
  opacity: 0;
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 9;
  -moz-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.project-post-list .text-box {
  padding: 0 0 0 14px;
  max-width: 650px;
}
.project-post-list .info {
  margin: 0 0 18px;
  font-size: 18px;
  font-size: 1.8rem;
}
.project-post-list .ttl-box .table-style {
  display: inline-table;
  width: auto;
  vertical-align: top;
}
.project-post-list .ttl-box .table-cell {
  height: 78px;
}
.project-post-list .ttl-box .ttl {
  padding: 0 10px 0 0;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.8;
}
.project-post-list .limit-bar {
  position: absolute;
  top: 22px;
  right: 80px;
  z-index: 1;
  height: 112px;
}
.project-post-list .limit-bar .date {
  position: relative;
  z-index: 10;
  font-size: 17px;
  font-size: 1.72rem;
}
.project-post-list .limit-bar .day {
  margin: 5px 0 6px;
  font-size: 66px;
  font-size: 6.6rem;
}
.project-post-list .limit-bar-box {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1;
  width: 200px;
  height: 12px;
  margin: -6px auto 0;
  background: #B4B4B5;
}
.project-post-list .limit-bar-box:before, .project-post-list .limit-bar-box:after {
  content: "";
  position: absolute;
  top: 6px;
  width: 100vw;
  height: 1px;
  background: #B4B4B5;
}
.project-post-list .limit-bar-box:before {
  left: 100%;
}
.project-post-list .limit-bar-box:after {
  right: 100%;
}
.project-post-list .limit-bar-box .done-bar {
  height: 12px;
  background: #000;
}
.project-post-list .btn-more {
  margin-top: 80px;
}

@media only screen and (min-width: 768px) {
  .project-post-list.col2 {
    width: 105%;
    font-size: 0;
  }
  .project-post-list.col2 .list-elm {
    overflow: hidden;
    display: inline-block;
    width: 44.44444%;
    margin: 0 4.7619% 4.60317% 0;
    vertical-align: top;
  }
  .project-post-list.col2 .list-elm + .list-elm {
    margin-top: 0;
  }
  .project-post-list.col2 .text-area {
    padding: 0;
  }
  .project-post-list.col2 .info {
    margin: 3px 0 14px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .project-post-list.col2 .ttl-box .table-style {
    display: block;
  }
  .project-post-list.col2 .ttl-box .table-cell {
    display: block;
    height: auto;
  }
  .project-post-list.col2 .ttl-box .ttl {
    padding: 0 0 0;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .project-post-list.col2 .limit-bar {
    position: relative;
    top: auto;
    right: auto;
    height: auto;
    min-height: 60px;
    margin: 21px 0 0;
  }
  .project-post-list.col2 .limit-bar .left-text {
    display: inline-block;
    margin: 2px 19px 0 0;
    vertical-align: top;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .project-post-list.col2 .limit-bar .day {
    display: inline-block;
    margin: 0;
    font-size: 60px;
    font-size: 6rem;
    line-height: 1;
  }
  .project-post-list.col2 .limit-bar .right-text {
    display: inline-block;
    margin: 0 0 0 9px;
    vertical-align: baseline;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .project-post-list.col2 .limit-bar .no-data {
    padding: 3px 43px 0 0;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .project-post-list.col2 .limit-bar-box {
    right: 45px;
    width: 170px;
    height: 5px;
    margin: -7px auto 0;
  }
  .project-post-list.col2 .limit-bar-box:before, .project-post-list.col2 .limit-bar-box:after {
    top: 2px;
    width: 100vw;
  }
  .project-post-list.col2 .limit-bar-box .done-bar {
    height: 5px;
  }
  .project-post-list a:hover .hv-box {
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  .project-post-list-area {
    padding: 30px 0 0;
  }
  .project-post-list-area .bd-ttl {
    margin: 0 0 48px;
  }

  .project-post-list .list-elm {
    position: relative;
  }
  .project-post-list .list-elm + .list-elm {
    margin-top: 30px;
  }
  .project-post-list .text-area {
    display: block;
    padding: 0 0 0 10px;
  }
  .project-post-list .text-area .table-style {
    width: auto;
  }
  .project-post-list .img-wrap {
    width: 100px;
    background: url(../img/common/bg-line-project-sp.png) no-repeat top left;
    -moz-background-size: contain;
    -o-background-size: contain;
    -webkit-background-size: contain;
    background-size: contain;
  }
  .project-post-list .img-box {
    width: 80px;
  }
  .project-post-list .img-box .hv-box {
    opacity: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .project-post-list .img-box .bg-line03 {
    -moz-background-size: 19px 22px;
    -o-background-size: 19px 22px;
    -webkit-background-size: 19px 22px;
    background-size: 19px 22px;
  }
  .project-post-list .text-box {
    padding: 0 0 0 6px;
  }
  .project-post-list .info {
    margin: 0 0 11px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .project-post-list .ttl-box .table-style {
    display: inline-table;
    width: auto;
  }
  .project-post-list .ttl-box .table-cell {
    height: auto;
    vertical-align: top;
  }
  .project-post-list .ttl-box .ttl {
    padding: 0 10px 0 0;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .project-post-list .limit-bar {
    overflow: hidden;
    position: relative;
    top: auto;
    right: auto;
    z-index: 1;
    height: 74px;
    padding: 0 20px 0 0;
    margin: 0 0 0 20px;
  }
  .project-post-list .limit-bar .date {
    padding: 5px 0 0;
    z-index: 10;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .project-post-list .limit-bar .day {
    margin: 2px 0 4px;
    font-size: 40px;
    font-size: 4rem;
  }
  .project-post-list .limit-bar-box {
    position: absolute;
    top: 33px;
    right: 20px;
    width: 148px;
    height: 8px;
    margin: 0 auto 0;
  }
  .project-post-list .limit-bar-box:before, .project-post-list .limit-bar-box:after {
    top: 4px;
  }
  .project-post-list .limit-bar-box:before {
    display: none;
  }
  .project-post-list .limit-bar-box .done-bar {
    height: 8px;
  }
  .project-post-list .btn-more {
    margin: 68px 20px 0;
  }
}
/* magazine
----------------------------------------------------------*/
.magazine-main-link-area {
  padding: 146px 0 150px;
}
.magazine-main-link-area + .magazine-link-box-list-area {
  padding-top: 0;
}

.magazine-link-box-list-area {
  padding: 146px 0 106px;
}

.magazine-link-box a {
  position: relative;
  padding: 105px 0 0;
}
.magazine-link-box .head {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 80%;
}
.magazine-link-box .date {
  margin: 0;
  font-size: 40px;
  font-size: 4rem;
}
.magazine-link-box .genre {
  font-size: 80px;
  font-size: 8rem;
  line-height: 1.15;
}
.magazine-link-box .img-box {
  position: relative;
  margin: 0 0 30px;
}
.magazine-link-box .img-box .hv-box {
  opacity: 0;
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 9;
  -moz-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.magazine-link-box .post-ttl {
  font-size: 24px;
  font-size: 2.4rem;
}
.magazine-link-box .name {
  margin: 19px 0 0;
  font-size: 13px;
  font-size: 1.3rem;
}

.magazine-link-box-list {
  font-size: 0;
  letter-spacing: normal;
}
.magazine-link-box-list .magazine-link-box {
  display: inline-block;
  width: 395px;
  margin: 0 40px 92px 0;
  vertical-align: top;
  letter-spacing: 0.05em;
}
.magazine-link-box-list .magazine-link-box a {
  position: relative;
  padding: 60px 0 0 40px;
}
.magazine-link-box-list .magazine-link-box .head {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 80%;
}
.magazine-link-box-list .magazine-link-box .date {
  margin: 0 0 1px;
  font-size: 18px;
  font-size: 1.8rem;
}
.magazine-link-box-list .magazine-link-box .genre {
  font-size: 50px;
  font-size: 5rem;
}
.magazine-link-box-list .magazine-link-box .img-box {
  margin: 0 0 24px;
}
.magazine-link-box-list .magazine-link-box .post-ttl {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.8;
}
.magazine-link-box-list .magazine-link-box .name {
  margin: 14px 0 0;
  font-size: 11px;
  font-size: 1.1rem;
}

@media only screen and (min-width: 768px) {
  .magazine-link-box a:hover .hv-box {
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  .magazine-main-link-area {
    padding: 48px 0 11px;
  }
  .magazine-main-link-area + .magazine-link-box-list-area {
    padding-top: 0;
  }

  .magazine-link-box-list-area {
    padding: 48px 0 73px;
  }

  .magazine-link-box,
  .magazine-link-box-list .magazine-link-box {
    display: block;
    width: auto;
    margin: 0 0 49px;
  }
  .magazine-link-box a,
  .magazine-link-box-list .magazine-link-box a {
    position: relative;
    padding: 45px 20px 0;
  }
  .magazine-link-box .date,
  .magazine-link-box-list .magazine-link-box .date {
    margin: 0 0 2px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .magazine-link-box .genre,
  .magazine-link-box-list .magazine-link-box .genre {
    font-size: 40px;
    font-size: 4rem;
    line-height: 1;
  }
  .magazine-link-box .img-box,
  .magazine-link-box-list .magazine-link-box .img-box {
    margin: 0 0 11px;
  }
  .magazine-link-box .img-box .hv-box,
  .magazine-link-box-list .magazine-link-box .img-box .hv-box {
    opacity: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .magazine-link-box .post-ttl,
  .magazine-link-box-list .magazine-link-box .post-ttl {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .magazine-link-box .name,
  .magazine-link-box-list .magazine-link-box .name {
    margin: 11px 0 0;
    font-size: 12px;
    font-size: 1.2rem;
  }

  .magazine-link-box-list .btn-more {
    margin-top: 75px;
  }
}
/* single */
.magazine-page {
  padding: 0 0 104px;
}

.magazine-main-area .main-ttl-wrap {
  position: relative;
  z-index: 9;
}
.magazine-main-area .main-ttl-area {
  width: 50%;
  padding: 100px 0;
}
.magazine-main-area .ct-ttl06 {
  margin: 0 0 -2px;
}
.magazine-main-area .ttl-box {
  padding: 26px 60px 30px 80px;
}
.magazine-main-area .date {
  margin: 0 0 30px;
  font-size: 3px;
  font-size: 3rem;
  line-height: 1.4;
}
.magazine-main-area .lead {
  margin: 0 0 16px;
}

.magazine-lead-area {
  padding: 75px 0 0;
}
.magazine-lead-area .left-box {
  width: 560px;
}
.magazine-lead-area .right-box {
  width: 320px;
}
.magazine-lead-area .link-list {
  line-height: 1.5;
}
.magazine-lead-area .link-list p + p {
  margin-top: 14px;
}

.related-project-list-area {
  padding: 74px 0 27px;
}
.related-project-list-area .bd-ttl {
  margin-bottom: 101px;
}

@media only screen and (max-width: 767px) {
  .magazine-page {
    padding: 0 0 51px;
  }

  .magazine-main-area .main-bg {
    position: relative;
    height: 160px;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
  }
  .magazine-main-area .main-bg:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 50%;
    z-index: 1;
    background: url(../img/common/bg-line03.svg) repeat top left;
    -moz-background-size: 13px 15px;
    -o-background-size: 13px 15px;
    -webkit-background-size: 13px 15px;
    background-size: 13px 15px;
  }
  .magazine-main-area .main-bg.right:after {
    left: auto;
    right: 0;
  }
  .magazine-main-area .main-ttl-area {
    width: auto;
    padding: 47px 20px 0;
  }
  .magazine-main-area .ct-ttl06 {
    margin: 0 0 7px;
  }
  .magazine-main-area .ttl-box {
    padding: 0;
  }
  .magazine-main-area .date {
    margin: 0 0 21px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .magazine-main-area .lead {
    margin: 0 0 21px;
  }
  .magazine-main-area .gray-label {
    font-size: 12px;
    font-size: 1.2rem;
  }

  .magazine-lead-area {
    padding: 16px 0 13px;
  }
  .magazine-lead-area .left-box {
    width: auto;
  }
  .magazine-lead-area .right-box {
    width: auto;
    margin: 33px 0 0;
  }
  .magazine-lead-area .link-list {
    line-height: 1.9;
  }
  .magazine-lead-area .link-list p + p {
    margin-top: 0;
  }
  .magazine-lead-area .ttl {
    margin: 0 0 14px;
    font-size: 16px;
    font-size: 1.6rem;
  }

  .related-project-list-area {
    padding: 47px 0 34px;
  }
  .related-project-list-area .bd-ttl {
    margin-bottom: 50px;
  }
}
/* member
----------------------------------------------------------*/
.member-post-list-box .list-elm + .list-elm {
  margin-top: 48px;
}
.member-post-list-box .list-elm .img {
  width: 200px;
  margin: 0 auto 28px;
}
.member-post-list-box .list-elm .name {
  margin: 0 0 5px;
  font-size: 24px;
  font-size: 2.4rem;
}
.member-post-list-box .list-elm .name + .lead {
  margin-top: 19px;
}
.member-post-list-box .list-elm .info {
  font-size: 14px;
  font-size: 1.4rem;
}
.member-post-list-box .list-elm .info + .lead {
  margin-top: 25px;
}
.member-post-list-box .list-elm .link-btn {
  margin-top: 28px;
}

@media only screen and (max-width: 767px) {
  .member-post-list-box .list-elm .img {
    margin: 0 auto 18px;
  }
  .member-post-list-box .list-elm .name {
    margin: 0;
    font-size: 20px;
    font-size: 2rem;
  }
  .member-post-list-box .list-elm .name + .lead {
    margin-top: 13px;
  }
  .member-post-list-box .list-elm .info {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .member-post-list-box .list-elm .info + .lead {
    margin-top: 21px;
  }
  .member-post-list-box .list-elm .lead {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
  }
  .member-post-list-box .list-elm .link-btn {
    margin-top: 24px;
  }
}
/* news
----------------------------------------------------------*/
.news-post-list-area {
  padding: 80px 0 106px;
}

.news-post-list {
  margin: 0 0 40px;
}
.news-post-list .news-ttl {
  position: relative;
  padding: 40px 0;
  border-top: 1px solid #C8C8C8;
}
.news-post-list .news-ttl:after {
  content: "";
  position: absolute;
  top: 39px;
  right: 0;
  z-index: 1;
  height: 21px;
  width: 21px;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url(../img/common/icon-arrow-b.png);
  -moz-background-size: 21px 21px;
  -o-background-size: 21px 21px;
  -webkit-background-size: 21px 21px;
  background-size: 21px 21px;
}
.news-post-list .news-ttl.on:after {
  background-image: url(../img/common/icon-arrow-t.png);
}
.news-post-list .news-ttl .ttl-img-wrap {
  width: 200px;
}
.news-post-list .news-ttl .img-box {
  position: relative;
  width: 160px;
}
.news-post-list .news-ttl .img-box .hv-box {
  opacity: 0;
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 9;
  -moz-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.news-post-list .ttl-text-wrap .text-box {
  position: relative;
}
.news-post-list .ttl-text-wrap .date {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  font-size: 18px;
  font-size: 1.8rem;
}
.news-post-list .ttl-text-wrap .ttl {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.8;
}
.news-post-list .ttl-text-wrap .ttl-table {
  height: 160px;
  padding: 1.2em 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.news-post-list .news-ct-box {
  display: none;
}
.news-post-list .news-text-box {
  padding: 0 0 80px 200px;
}
.news-post-list .ct-inner-520 {
  margin: 0;
}
.news-post-list .news-share-box {
  margin: 40px 0 0;
}
.news-post-list .news-img {
  margin-bottom: 40px;
}
.news-post-list .news-share-ttl {
  margin: 9px 34px 0 0;
  letter-spacing: 0.09em;
}
.news-post-list .news-share-link {
  margin: 0 36px 0 0;
}

@media only screen and (min-width: 768px) {
  .news-post-list .news-ttl:hover .hv-box {
    opacity: 1;
  }
}
@media only screen and (max-width: 767px) {
  .news-post-list-area {
    padding: 46px 20px 71px;
  }

  .news-post-list {
    margin: 0 0 40px;
  }
  .news-post-list .news-ttl {
    padding: 29px 0;
  }
  .news-post-list .news-ttl:after {
    display: none;
  }
  .news-post-list .news-ttl .ttl-img-wrap {
    width: 95px;
  }
  .news-post-list .news-ttl .img-box {
    width: 80px;
  }
  .news-post-list .news-ttl .img-box .hv-box {
    opacity: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .news-post-list .news-ttl .img-box .bg-line03 {
    -moz-background-size: 19px 22px;
    -o-background-size: 19px 22px;
    -webkit-background-size: 19px 22px;
    background-size: 19px 22px;
  }
  .news-post-list .ttl-text-wrap .date {
    position: static;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .news-post-list .ttl-text-wrap .ttl {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .news-post-list .ttl-text-wrap .ttl-table {
    height: auto;
    padding: 12px 0 0;
    vertical-align: top;
  }
  .news-post-list .news-ct-box {
    display: none;
  }
  .news-post-list .news-text-box {
    padding: 0 0 29px;
  }
  .news-post-list .ct-inner-520 {
    margin: 0;
  }
  .news-post-list .news-share-box {
    margin: 29px 0 0;
  }
  .news-post-list .news-img {
    margin-bottom: 29px;
  }
  .news-post-list .news-share-ttl {
    margin: 9px 35px 0 0;
    letter-spacing: 0.14em;
  }
  .news-post-list .news-share-link {
    margin: 0 36px 0 0;
  }
}
/* top
----------------------------------------------------------*/
.top-head-news-area {
  position: relative;
}
.top-head-news-area .ct-inner-1120,
.top-head-news-area .ct-inner-1200 {
  padding: 16px 0 21px;
}
.top-head-news-area .ttl {
  padding: 3px 0 0;
  width: 160px;
}
.top-head-news-area .date {
  padding: 3px 0 0;
  width: 243px;
}
.top-head-news-area .text {
  padding: 1px 0 0;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.8;
}
.top-head-news-area .event-info-box {
  width: 600px;
  text-align: right;
}
.top-head-news-area .event-info-box-inner {
  display: inline-table;
  vertical-align: middle;
  line-height: 1.5;
}
.top-head-news-area .info-text-inner {
  position: relative;
  padding: 2px 20px 0 30px;
  text-align: left;
  font-size: 12px;
  font-size: 1.2rem;
  white-space: nowrap;
}
.top-head-news-area .info-text-inner .icon {
  position: absolute;
  top: -2px;
  left: 0;
}
.top-head-news-area .info-text:last-child .info-text-inner {
  padding-right: 10px;
}
.top-head-news-area .time {
  width: 282px;
}
.top-head-news-area .money {
  width: 80px;
}
.top-head-news-area .man {
  width: 64px;
}
.top-head-news-area .man .info-text-inner {
  padding-right: 0;
}

.top-main-lead {
  padding: 3px 0 75px;
}
.top-main-lead .img-box {
  width: 420px;
  margin: 61px auto 45px;
}
.top-main-lead .lead-ttl {
  margin: 0 0 24px;
  font-size: 28px;
  font-size: 2.8rem;
}
.top-main-lead .lead {
  font-size: 16px;
  font-size: 1.6rem;
}
.top-main-lead .btn-list {
  margin: 63px 0 0;
  font-size: 0;
}
.top-main-lead .btn-link + .btn-link {
  margin: 0 0 0 30px;
}

.top-ct-box {
  padding: 144px 0 150px;
}
.top-ct-box .ct-ttl06 {
  margin: 0 0 80px;
}

.top-project-area .ct-ttl06 {
  margin: 0 0 63px;
}
.top-project-area .btn-link {
  margin-top: 80px;
}

.top-magazine-area .ct-ttl06 {
  margin: 0 0 64px;
}

.top-access-area {
  padding-bottom: 107px;
}
.top-access-area .ct-ttl06 {
  margin: 0 0 88px;
}
.top-access-area .gmap-box {
  margin: 0 0 75px;
}
.top-access-area .gmap-area {
  padding-top: 46.875%;
}

.top-how-to-join .bd-ttl {
  margin: 0 0 100px;
}
.top-how-to-join .event-start-area {
  padding: 0;
  width: 520px;
}
.top-how-to-join .event-start-area + .event-start-area {
  margin-left: 80px;
}
.top-how-to-join .event-start-area .box-ttl {
  margin: 0 0 3px;
}
.top-how-to-join .event-start-area .text-box {
  padding: 0 38px 52px;
}

.top-fb-pageplugin {
  width: 500px;
  margin: 32px auto 40px;
}
.top-fb-pageplugin .fb_iframe_widget,
.top-fb-pageplugin .fb_iframe_widget span,
.top-fb-pageplugin .fb_iframe_widget iframe[style] {
  width: 100% !important;
}

.facebook-wall-wrap {
  margin: 0 0 75px;
}

.fbw-facebook-login-btn-wrapper {
  display: none;
}

.top-gp-popup-box {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99;
  width: 190px;
  padding: 20px 0 0;
  color: #fff;
}
.top-gp-popup-box.fix {
  position: fixed;
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.top-gp-popup-box.fix.hide {
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.top-gp-popup-box.fix.hide.up {
  -moz-transition: -moz-transform 0.2s ease;
  -o-transition: -o-transform 0.2s ease;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
}
.top-gp-popup-box.fix.show {
  -moz-transition: -moz-transform 0.2s ease;
  -o-transition: -o-transform 0.2s ease;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  -moz-transform: translate3d(0, 105px, 0);
  -ms-transform: translate3d(0, 105px, 0);
  -webkit-transform: translate3d(0, 105px, 0);
  transform: translate3d(0, 105px, 0);
}
.top-gp-popup-box:hover .top-gp-popup-wrap {
  opacity: 1;
}
.top-gp-popup-box:hover .top-gp-popup-wrap .top-gp-popup-inner {
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1);
}
.top-gp-popup-box:hover .hv-box {
  opacity: 1;
}
.top-gp-popup-box .hv-box {
  opacity: 0;
  position: absolute;
  top: 18px;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 9;
  -moz-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.top-gp-popup-box .maintext-box-wrap {
  overflow: hidden;
}
.top-gp-popup-box .maintext-box {
  width: 190px;
  padding: 37px 10px 26px;
  background: #000;
}
.top-gp-popup-box .main-ttl {
  margin: 0 0 13px;
  font-size: 20px;
  font-size: 2rem;
}
.top-gp-popup-box .main-lead {
  font-size: 12px;
  font-size: 1.2rem;
}
.top-gp-popup-box .top-gp-popup-wrap {
  opacity: 0;
  padding: 10px 0 0 10px;
}
.top-gp-popup-box .top-gp-popup-inner {
  width: 420px;
  background: #000;
  color: #fff;
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -webkit-transform: scale(0);
  transform: scale(0);
}
.top-gp-popup-box .text-box {
  padding: 39px 25px 35px;
}
.top-gp-popup-box .pop-ttl {
  margin: 0 0 27px;
  font-size: 18px;
  font-size: 1.8rem;
}
.top-gp-popup-box .date {
  margin: 0 0 27px;
}
.top-gp-popup-box .day {
  font-size: 45px;
  font-size: 4.5rem;
  letter-spacing: 1px;
}
.top-gp-popup-box .month {
  font-size: 22px;
  font-size: 2.2rem;
}
.top-gp-popup-box .month:before {
  content: "";
  padding-left: 0.2em;
}
.top-gp-popup-box .arrow {
  padding: 0 11px;
  font-size: 26px;
  font-size: 2.6rem;
}
.top-gp-popup-box .btn {
  max-width: 180px;
  margin: 0 auto;
}
.top-gp-popup-box .btn .table-cell {
  height: 40px;
  font-size: 14px;
  font-size: 1.4rem;
}

@media only screen and (max-width: 767px) {
  .top-main-slider .magazine-main-area {
    height: -webkit-calc(100vh - 74px);
    height: calc(100vh - 74px);
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
    color: #fff;
  }
  .top-main-slider .magazine-main-area a {
    color: #fff;
  }
  .top-main-slider .magazine-main-area .main-ttl-area {
    background: none;
    padding: 46px 20px 20px;
  }
  .top-main-slider .magazine-main-area .main-bg:after {
    background: none;
  }
  .top-main-slider .magazine-main-area .ct-ttl06 {
    margin: 0 0 5px;
  }
  .top-main-slider .magazine-main-area .main-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
  }
  .top-main-slider .magazine-main-area .ttl-box {
    background: none;
  }
  .top-main-slider .magazine-main-area .date {
    margin: 0;
  }
  .top-main-slider .magazine-main-area .lead {
    margin: 0 0 10px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.9;
  }
  .top-main-slider .magazine-main-area .writer {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1;
  }

  .garage-news-area + .top-main-lead {
    padding: 35px 0 70px;
  }

  .top-main-lead {
    padding: 80px 0 70px;
  }
  .top-main-lead .img-box {
    width: 75%;
    margin: 0 auto 42px;
  }
  .top-main-lead .text-box {
    width: auto;
    padding: 0 20px;
  }
  .top-main-lead .lead-ttl {
    margin: 0 0 21px;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.9;
  }
  .top-main-lead .lead {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.9;
    text-align: left;
  }
  .top-main-lead .btn-list {
    margin: 40px 0 0;
  }
  .top-main-lead .btn-link + .btn-link {
    margin: 21px 0 0;
  }

  .top-ct-box {
    padding: 70px 0 70px;
  }
  .top-ct-box .ct-ttl06 {
    margin: 0 0 40px;
  }

  .top-project-area .ct-ttl06 {
    margin: 0 0 40px;
  }
  .top-project-area .btn-link {
    margin-top: 47px;
    margin-left: 20px;
    margin-right: 20px;
  }

  .top-magazine-area .ct-ttl06 {
    margin: 0 0 46px;
  }

  .top-access-area {
    padding-bottom: 73px;
  }
  .top-access-area .ct-ttl06 {
    margin: 0 0 40px;
  }
  .top-access-area .gmap-box {
    margin: 0 20px 40px;
  }
  .top-access-area .gmap-area {
    padding-top: 52.5%;
  }

  .top-how-to-join .bd-ttl {
    margin: 0 0 54px;
  }
  .top-how-to-join .event-start-area {
    padding: 0;
    width: auto;
  }
  .top-how-to-join .event-start-area + .event-start-area {
    margin-left: 0;
    margin-top: 58px;
  }
  .top-how-to-join .event-start-area .box-ttl {
    margin: 0 0 5px;
  }
  .top-how-to-join .event-start-area .text-box {
    padding: 0 20px 52px;
  }

  .top-fb-bottom-box {
    padding: 0 30px;
  }

  .top-fb-pageplugin {
    width: auto;
    margin: -3px 0 20px;
  }

  .facebook-wall-wrap {
    margin: 0 0 60px;
  }

  .top-gp-popup-box-sp {
    position: absolute;
    bottom: 15px;
    left: 0;
    width: 100%;
    z-index: 99;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .top-gp-popup-box-sp .top-gp-popup-box-inner {
    padding: 0 15px 0;
  }
  .top-gp-popup-box-sp .text-box {
    padding: 16px 16px 6px;
    border: 2px solid #000;
    background: #fff;
  }
  .top-gp-popup-box-sp .main-lead {
    margin: 0 0 6px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .top-gp-popup-box-sp .date {
    display: inline-block;
    margin: 3px 10px 12px 0;
    font-size: 12px;
    font-size: 1.2rem;
    vertical-align: top;
  }
  .top-gp-popup-box-sp .day {
    letter-spacing: 1px;
    font-size: 20px;
    font-size: 2rem;
  }
  .top-gp-popup-box-sp .month:before {
    content: "";
    padding-left: 0.1em;
  }
  .top-gp-popup-box-sp .arrow {
    padding: 0 5px;
  }
  .top-gp-popup-box-sp .btn {
    display: inline-block;
    max-width: 90px;
    margin: 0 auto 12px;
    vertical-align: top;
  }
  .top-gp-popup-box-sp .btn .table-cell {
    padding-left: 5px;
    padding-right: 5px;
    height: 26px;
    font-size: 10px;
    font-size: 1rem;
  }
}
.anime-elm {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

@-moz-keyframes slideInLeft {
  0% {
    -moz-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    -moz-transform: none;
    transform: none;
  }
}
@-webkit-keyframes slideInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes slideInLeft {
  0% {
    -moz-transform: translate3d(-100%, 0, 0);
    -ms-transform: translate3d(-100%, 0, 0);
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    -moz-transform: none;
    -ms-transform: none;
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes overShowLeft {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@-webkit-keyframes overShowLeft {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes overShowLeft {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
.slideInLeft {
  animation-name: slideInLeft;
  -webkit-animation-name: slideInLeft;
}

.overShowLeft {
  -webkit-animation-duration: 0.7s;
  animation-duration: 0.7s;
  animation-name: overShowLeft;
  -webkit-animation-name: overShowLeft;
  animation-delay: 0.4s;
  -webkit-animation-delay: 0.4s;
}

/* garage program
----------------------------------------------------------*/
.garage-main-slider .magazine-main-area:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  background: rgba(0, 0, 0, 0.3);
}
.garage-main-slider .magazine-main-area.no-overlay:after {
  display: none;
}
.garage-main-slider .main-bg-slider {
  position: relative;
  height: 100%;
}
.garage-main-slider .main-bg-slider div {
  height: 100%;
}
.garage-main-slider .main-ttl-area {
  width: 440px;
  padding: 80px 0;
}
.garage-main-slider .ttl-box {
  padding: 28px 40px 28px;
}
.garage-main-slider .ct-ttl06 {
  margin: 0 0 17px;
}
.garage-main-slider .ct-ttl07 {
  margin: 0 0 17px;
}
.garage-main-slider .ct-ttl05 {
  margin: 0;
  line-height: 1.6;
}
.garage-main-slider .writer {
  line-height: 1.8;
}
.garage-main-slider .project-ttl {
  margin: 0 0 7px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.8;
}
.garage-main-slider .project-info {
  margin: 58px 0 0;
}
.garage-main-slider .garage-side-date .arrow {
  padding-top: 1.05em;
  font-size: 30px;
  font-size: 3rem;
}
.garage-main-slider .garage-side-date .month {
  margin: 0 0 1px;
  font-size: 18px;
  font-size: 1.8rem;
}
.garage-main-slider .garage-side-date .num {
  font-size: 60px;
  font-size: 6rem;
}
.garage-main-slider .garage-side-date .week {
  padding: 0 0 0 0.2em;
  font-size: 28px;
  font-size: 2.8rem;
}
.garage-main-slider .btn-link {
  position: relative;
  bottom: -20px;
  margin: 0 0 -37px;
}

.garage-news-area {
  margin: 0 0 147px;
  padding: 14px 0 14px;
}
.garage-news-area a {
  color: #fff;
}
.garage-news-area .ttl-box {
  width: 440px;
  padding: 0 0 0 40px;
}
.garage-news-area .date-box {
  width: 158px;
  letter-spacing: 0.1em;
}
.garage-news-area .text-box {
  padding: 3px 6.25% 0 0;
}
.garage-news-area .wysiwyg {
  line-height: 1.7;
}

.garage-lead-box {
  margin: 0 0 142px;
}
.garage-lead-box .ct-ttl06 {
  position: relative;
  z-index: 9;
}
.garage-lead-box .img-box {
  width: 440px;
  margin: -34px 0 0;
}
.garage-lead-box .img-box .img {
  position: relative;
  left: 39px;
  z-index: 8;
  padding-top: 56.36364%;
}
.garage-lead-box .img-box .img + .img {
  left: 0;
  margin: -30px 0 0;
  z-index: 1;
}
.garage-lead-box .text-box {
  width: 440px;
  margin: 36px 0 0;
}
.garage-lead-box .btn-link {
  margin: 70px 0 0;
}

.garage-merit-area {
  margin: 0 0 147px;
}
.garage-merit-area + .garage-movie-area {
  margin-top: -77px;
}
.garage-merit-area .bd-ttl {
  margin: 0 0 80px;
}
.garage-merit-area .merit-list {
  width: 1020px;
  margin-left: -30px;
}
.garage-merit-area .merit-list .list-elm {
  padding: 0 30px;
}
.garage-merit-area .img-box {
  margin: 0 0 50px;
}
.garage-merit-area .img-box .img {
  height: 75px;
}
.garage-merit-area .img-box img {
  max-height: 75px;
}
.garage-merit-area .ttl {
  margin: 0 0 31px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.8;
}
.garage-merit-area .lead {
  font-size: 14px;
  font-size: 1.4rem;
}

.garage-movie-area {
  margin: 0 0 147px;
}

.garage-message-area {
  margin: 0 0 147px;
}
.garage-message-area .bd-ttl {
  margin: 0 0 71px;
}
.garage-message-area .garage-message-lead {
  margin-bottom: 64px;
}
.garage-message-area .mentor-slider.col4 {
  width: 102.29885%;
  font-size: 0;
}
.garage-message-area .mentor-slider.col4 .list {
  display: inline-block;
  width: 22.69663%;
  margin: 0 2.24719% 4.49438% 0;
  vertical-align: top;
}
.garage-message-area .mentor-slider.col4 .list-link:before {
  display: none;
}
.garage-message-area .mentor-slider.col4 .list-link a {
  position: relative;
}
.garage-message-area .mentor-slider.col4 .list-link a:before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 112px 192px;
  border-color: transparent transparent #ffffff transparent;
}
.garage-message-area .mentor-slider .list {
  position: relative;
  width: 225px;
  margin: 0 10px;
}
.garage-message-area .mentor-slider .list:before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 112px 192px;
  border-color: transparent transparent #ffffff transparent;
}
.garage-message-area .mentor-slider .hv-box {
  opacity: 0;
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 20;
  -moz-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.garage-message-area .name-box {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 9;
  width: 192px;
}
.garage-message-area .name-box .name-text {
  height: 112px;
  padding: 0 6px 2px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.5;
}
.garage-message-area .name-box .name-info {
  margin: 0 0 2px;
  letter-spacing: -0.01em;
  line-height: 1.1;
  font-size: 12px;
  font-size: 1.2rem;
}
.garage-message-area .name-box .name {
  font-size: 18px;
  font-size: 1.8rem;
}
.garage-message-area .slick-list {
  padding: 0 !important;
}
.garage-message-area .slick-track {
  margin: 0 auto;
}
.garage-message-area .slick-prev,
.garage-message-area .slick-next {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  z-index: 99;
  width: 140px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  font-size: 0;
  line-height: 0;
  background: transparent;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background-repeat: no-repeat;
  background-position: center center;
  background-color: rgba(255, 255, 255, 0.9);
}
.garage-message-area .slick-prev {
  left: 0;
  background-image: url(../img/common/icon-prev.png);
  -moz-background-size: 21px 21px;
  -o-background-size: 21px 21px;
  -webkit-background-size: 21px 21px;
  background-size: 21px 21px;
}
.garage-message-area .slick-next {
  right: 0;
  background-image: url(../img/common/icon-next.png);
  -moz-background-size: 20px 21px;
  -o-background-size: 20px 21px;
  -webkit-background-size: 20px 21px;
  background-size: 20px 21px;
}

@media only screen and (min-width: 768px) {
  .garage-message-area .mentor-slider .hv-roop:hover .hv-box {
    opacity: 1;
  }
}
.garage-organizers-area {
  margin: 0 0 143px;
}
.garage-organizers-area .bd-ttl {
  margin: 0 0 75px;
}
.garage-organizers-area .organizers-list {
  width: 1040px;
  margin-left: -40px;
}
.garage-organizers-area .organizers-list .list-elm {
  padding: 0 40px;
}
.garage-organizers-area .organizers-list .lead {
  font-size: 14px;
  font-size: 1.4rem;
}
.garage-organizers-area .organizers-list .img-box {
  margin: 0 0 21px;
}
.garage-organizers-area .organizers-list .img-box .img {
  height: 51px;
}
.garage-organizers-area .organizers-list .img-box img {
  max-height: 51px;
}

.garage-project-area {
  margin: 0 0 149px;
}
.garage-project-area .bd-ttl {
  margin: 0 0 86px;
}
.garage-project-area .btn-link {
  margin-top: 80px;
}

.garage-post-set-area {
  margin: 0 0 147px;
}
.garage-post-set-area .bd-ttl {
  margin: 0 0 70px;
}

.garage-flow-area {
  margin: 0 0 147px;
}
.garage-flow-area .bd-ttl {
  margin: 0 0 80px;
}
.garage-flow-area .flow-list {
  width: 1000px;
  margin-left: -20px;
}
.garage-flow-area .flow-list .list-elm {
  padding: 0 20px;
}
.garage-flow-area .flow-list .lead {
  font-size: 14px;
  font-size: 1.4rem;
}
.garage-flow-area .flow-list .img-box {
  margin: 0 0 28px;
}
.garage-flow-area .flow-list .img-box .img {
  height: 51px;
}
.garage-flow-area .flow-list .img-box img {
  max-height: 51px;
}
.garage-flow-area .list-elm {
  position: relative;
}
.garage-flow-area .list-elm + .list-elm:after {
  content: "";
  position: absolute;
  top: 20px;
  right: 50%;
  z-index: 1;
  width: 100%;
  height: 1px;
  background: #969696;
}
.garage-flow-area .num-box {
  position: relative;
  z-index: 9;
  width: 40px;
  margin: 0 auto 34px;
  line-height: 1;
  background-color: #fff;
}
.garage-flow-area .num-box .num {
  padding-top: 5px;
  height: 40px;
  font-size: 24px;
  font-family: 'UniversLT-CondensedBold', "Tazugane Gothic StdN W50 Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.garage-flow-area .ttl {
  margin: 0 auto 27px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.8;
}
.garage-flow-area .lead {
  font-size: 14px;
  font-size: 1.4rem;
}

.garage-num-area {
  margin: 0 0 58px;
}
.garage-num-area .bd-ttl {
  margin: 0 0 69px;
}
.garage-num-area .num-list {
  width: 1080px;
  font-size: 0;
}
.garage-num-area .list-elm {
  display: inline-block;
  width: 400px;
  margin: 0 80px 80px 0;
  vertical-align: top;
}
.garage-num-area .num-box {
  width: 60px;
  padding-top: 5px;
}
.garage-num-area .text-box {
  font-size: 24px;
  font-size: 2.4rem;
}

.garage-faq-area {
  margin: 0 0 80px;
}
.garage-faq-area .bd-ttl {
  margin: 0 0 78px;
}

.garage-btn-area {
  margin: 0 0 141px;
}

@media only screen and (max-width: 767px) {
  .garage-main-slider.garage-main-slider-sp-wrap {
    padding-bottom: 48px;
  }
  .garage-main-slider .main-ttl-area {
    width: auto;
    padding: 0;
  }
  .garage-main-slider .ttl-box {
    padding: 0;
  }
  .garage-main-slider .ct-ttl06 {
    margin: 0 0 17px;
  }
  .garage-main-slider .ct-ttl05 {
    margin: 0;
    line-height: 1.6;
  }
  .garage-main-slider .writer {
    line-height: 1.8;
  }
  .garage-main-slider .project-ttl {
    margin: 0 0 8px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .garage-main-slider .project-info {
    margin: 43px 0 0;
  }
  .garage-main-slider .garage-side-date .arrow {
    padding-top: 1.27em;
    font-size: 28px;
    font-size: 2.8rem;
  }
  .garage-main-slider .garage-side-date .month {
    margin: 0 0 7px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .garage-main-slider .garage-side-date .num {
    font-size: 58px;
    font-size: 5.8rem;
  }
  .garage-main-slider .garage-side-date .week {
    padding: 0 0 0 0.1em;
    font-size: 26px;
    font-size: 2.6rem;
  }
  .garage-main-slider .btn-link {
    bottom: 0;
    margin: 37px 0 0;
  }
  .garage-main-slider .magazine-main-area {
    height: -webkit-calc(100vh - 74px);
    height: calc(100vh - 74px);
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
    color: #fff;
  }
  .garage-main-slider .magazine-main-area .main-ttl-area {
    background: none;
    padding: 46px 20px 20px;
  }
  .garage-main-slider .magazine-main-area .main-bg:after {
    background: none;
  }
  .garage-main-slider .magazine-main-area .ct-ttl06 {
    margin: 0 0 11px;
  }
  .garage-main-slider .magazine-main-area .main-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
  }
  .garage-main-slider .magazine-main-area .ttl-box {
    background: none;
  }
  .garage-main-slider .magazine-main-area .date {
    margin: 0;
  }
  .garage-main-slider .magazine-main-area .lead {
    margin: 0 0 10px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
  }
  .garage-main-slider .magazine-main-area .writer {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1;
  }

  .garage-news-area {
    margin: 0 0 45px;
    padding: 23px 20px 22px;
  }
  .garage-news-area a {
    color: #fff;
  }
  .garage-news-area .ttl-box {
    width: auto;
    padding: 0;
    margin: 0 0 2px;
  }
  .garage-news-area .date-box {
    width: auto;
    margin: 0 0 3px;
    font-weight: bold;
  }
  .garage-news-area .text-box {
    padding: 3px 0 0;
  }
  .garage-news-area .wysiwyg {
    line-height: 1.9;
  }

  .garage-lead-box {
    margin: 0 0 63px;
  }
  .garage-lead-box .img-box {
    width: auto;
    padding: 0 20px 0 0;
    margin: -13px 0 0;
  }
  .garage-lead-box .img-box .img {
    left: 22px;
  }
  .garage-lead-box .img-box .img + .img {
    left: 0;
    margin: -18px 0 0;
  }
  .garage-lead-box .text-box {
    width: auto;
    margin: 25px 0 0;
  }
  .garage-lead-box .btn-link {
    margin: 40px 0 0;
  }

  .garage-merit-area {
    margin: 0 0 63px;
  }
  .garage-merit-area + .garage-movie-area {
    margin-top: -23px;
  }
  .garage-merit-area .bd-ttl {
    margin: 0 0 48px;
  }
  .garage-merit-area .merit-list {
    width: auto;
    margin-left: 0;
  }
  .garage-merit-area .merit-list .list-elm {
    padding: 0;
  }
  .garage-merit-area .merit-list .list-elm + .list-elm {
    margin-top: 38px;
  }
  .garage-merit-area .img-box {
    margin: 0 0 42px;
  }
  .garage-merit-area .img-box .img {
    height: auto;
  }
  .garage-merit-area .img-box img {
    max-height: 75px;
  }
  .garage-merit-area .ttl {
    margin: 0 0 16px;
    font-size: 16px;
    font-size: 1.6rem;
  }

  .garage-movie-area {
    margin: 0 0 70px;
  }

  .garage-message-area {
    margin: 0 0 70px;
  }
  .garage-message-area .bd-ttl {
    margin: 0 0 44px;
  }
  .garage-message-area .garage-message-lead {
    margin-bottom: 42px;
  }
  .garage-message-area .mentor-slider.col4 {
    width: 102.98507%;
  }
  .garage-message-area .mentor-slider.col4 .list {
    overflow: hidden;
    width: 46.95652%;
    margin: 0 2.89855% 5.7971% 0;
  }
  .garage-message-area .mentor-slider.col4 .list:before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 100px 160px;
    border-color: transparent transparent #ffffff transparent;
  }
  .garage-message-area .mentor-slider.col4 .list-link a:before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 100px 160px;
    border-color: transparent transparent #ffffff transparent;
  }
  .garage-message-area .mentor-slider.col4 .name-box {
    width: 100%;
  }
  .garage-message-area .mentor-slider.col4 .name-box .name-info {
    margin-bottom: 5px;
    font-size: 10px;
    font-size: 1rem;
  }
  .garage-message-area .mentor-slider.col4 .name-box .name {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1;
  }
  .garage-message-area .mentor-slider .list {
    position: relative;
    width: 260px;
    margin: 0 10px;
  }
  .garage-message-area .mentor-slider .list:before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 120px 209px;
    border-color: transparent transparent #ffffff transparent;
  }
  .garage-message-area .name-box {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 9;
    width: 209px;
  }
  .garage-message-area .name-box .name-text {
    height: 120px;
    padding: 0 9px 3px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.5;
  }
  .garage-message-area .name-box .name-info {
    margin: 0;
  }
  .garage-message-area .name-box .name {
    font-size: 20px;
    font-size: 2rem;
  }
  .garage-message-area .slick-list {
    padding: 0 !important;
  }
  .garage-message-area .slick-track {
    margin: 0 auto;
  }
  .garage-message-area .slick-prev,
  .garage-message-area .slick-next {
    height: auto;
    width: 30px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    font-size: 0;
    line-height: 0;
    background: transparent;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: rgba(255, 255, 255, 0.9);
  }
  .garage-message-area .slick-prev {
    left: 0;
    background-image: url(../img/common/icon-prev.png);
    -moz-background-size: 14px 14px;
    -o-background-size: 14px 14px;
    -webkit-background-size: 14px 14px;
    background-size: 14px 14px;
  }
  .garage-message-area .slick-prev:hover {
    -moz-background-size: 14px 14px;
    -o-background-size: 14px 14px;
    -webkit-background-size: 14px 14px;
    background-size: 14px 14px;
  }
  .garage-message-area .slick-next {
    right: 0;
    background-image: url(../img/common/icon-next.png);
    -moz-background-size: 14px 14px;
    -o-background-size: 14px 14px;
    -webkit-background-size: 14px 14px;
    background-size: 14px 14px;
  }
  .garage-message-area .slick-next:hover {
    -moz-background-size: 14px 14px;
    -o-background-size: 14px 14px;
    -webkit-background-size: 14px 14px;
    background-size: 14px 14px;
  }

  .garage-organizers-area {
    margin: 0 0 62px;
  }
  .garage-organizers-area .bd-ttl {
    margin: 0 0 70px;
  }
  .garage-organizers-area .organizers-list {
    width: auto;
    margin-left: 0;
  }
  .garage-organizers-area .organizers-list .list-elm {
    padding: 0 0;
  }
  .garage-organizers-area .organizers-list .list-elm + .list-elm {
    margin-top: 67px;
  }
  .garage-organizers-area .organizers-list .img-box {
    margin: 0 0 67px;
  }
  .garage-organizers-area .organizers-list .img-box .img {
    height: auto;
  }

  .garage-project-area {
    margin: 0 0 65px;
  }
  .garage-project-area .bd-ttl {
    margin: 0 0 50px;
  }
  .garage-project-area .btn-link {
    margin-top: 47px;
    margin-left: 20px;
    margin-right: 20px;
  }

  .garage-post-set-area {
    margin: 0 0 70px;
  }
  .garage-post-set-area .bd-ttl {
    margin: 0 0 44px;
  }

  .garage-flow-area {
    margin: 0 0 63px;
  }
  .garage-flow-area .bd-ttl {
    margin: 0 0 48px;
  }
  .garage-flow-area .flow-list {
    width: auto;
    margin-left: 0;
  }
  .garage-flow-area .flow-list .list-elm {
    padding: 0 10px;
  }
  .garage-flow-area .list-elm {
    position: relative;
  }
  .garage-flow-area .list-elm + .list-elm {
    margin-top: 39px;
  }
  .garage-flow-area .list-elm + .list-elm:after {
    display: none;
  }
  .garage-flow-area .num-box {
    position: relative;
    z-index: 9;
    width: 40px;
    margin: 0 auto 25px;
    line-height: 1;
    background-color: #fff;
  }
  .garage-flow-area .num-box .num {
    padding-top: 5px;
    height: 40px;
    font-size: 24px;
    font-family: 'UniversLT-CondensedBold', "Tazugane Gothic StdN W50 Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
  .garage-flow-area .ttl {
    margin: 0 auto 16px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .garage-flow-area .lead {
    font-size: 14px;
    font-size: 1.4rem;
  }

  .garage-num-area {
    margin: 0 0 63px;
  }
  .garage-num-area .bd-ttl {
    margin: 0 0 45px;
  }
  .garage-num-area .num-list {
    width: auto;
  }
  .garage-num-area .list-elm {
    display: block;
    width: auto;
    margin: 0;
    vertical-align: top;
    text-align: center;
  }
  .garage-num-area .list-elm + .list-elm {
    margin-top: 37px;
  }
  .garage-num-area .num-box {
    width: auto;
    padding-top: 0;
  }
  .garage-num-area .ct-ttl06 {
    margin: 0 0 13px;
    font-size: 58px;
    font-size: 5.8rem;
  }
  .garage-num-area .text-box {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
  }

  .garage-faq-area {
    margin: 0 0 72px;
  }
  .garage-faq-area .bd-ttl {
    margin: 0 0 48px;
  }

  .garage-btn-area {
    margin: 0 0 68px;
  }
}
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999999;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#80000000,endColorstr=#80000000);
  background: rgba(0, 0, 0, 0.9);
}

.modal-wrap {
  height: 100%;
  padding: 0 30px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.modal-content {
  height: 100%;
  max-width: 1040px;
  margin: 0 auto;
}

.modal-table-wrap {
  display: table;
  table-layout: fixed;
  height: 100%;
  width: 100%;
}

.modal-table-cell {
  display: table-cell;
  padding: 40px 0 40px;
  vertical-align: middle;
}

.modal-content-box {
  position: relative;
  margin: 0 auto;
}

.modal-content-inner {
  padding: 50px 0 50px;
}

.modal-btn-close {
  position: absolute;
  top: 0;
  right: 30px;
  z-index: 9;
  height: 40px;
  width: 40px;
  cursor: pointer;
  -webkit-transition: opacity 0.2s ease;
  -o-transition: opacity 0.2s ease;
  -moz-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.modal-btn-close:hover {
  opacity: 0.7;
}

.modal-btn-close span {
  display: block;
  background: #fff;
  height: 2px;
  width: 40px;
}

.modal-btn-close .bar01 {
  -moz-transform: translateY(15px) rotate(-45deg);
  -ms-transform: translateY(15px) rotate(-45deg);
  -webkit-transform: translateY(15px) rotate(-45deg);
  transform: translateY(15px) rotate(-45deg);
}

.modal-btn-close .bar02 {
  -moz-transform: translateY(13px) rotate(45deg);
  -ms-transform: translateY(13px) rotate(45deg);
  -webkit-transform: translateY(13px) rotate(45deg);
  transform: translateY(13px) rotate(45deg);
}

.modal-prof-text-box {
  color: #fff;
}

.modal-prof-name {
  margin: -4px 0 0;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.4;
}

.modal-prof-info {
  margin: 5px 0 0;
  line-height: 1.5;
}

.modal-prof-comment {
  position: relative;
  margin: 70px 0 0;
  font-size: 20px;
  line-height: 1.8;
  font-weight: bold;
  text-align: justify;
}

.modal-prof-comment:before {
  content: "";
  display: block;
  position: absolute;
  top: -20px;
  left: -38px;
  z-index: 1;
  height: 22px;
  width: 25px;
  background: url(../images/icon_quot01.png) no-repeat center center;
  -webkit-background-size: 25px 22px;
  background-size: 25px 22px;
}

.modal-prof-comment:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -20px;
  right: -36px;
  z-index: 1;
  height: 22px;
  width: 25px;
  background: url(../images/icon_quot02.png) no-repeat center center;
  -webkit-background-size: 25px 22px;
  background-size: 25px 22px;
}

.modal-prof-text-html {
  padding: 0 40px;
}

.modal-prof-ttl {
  margin: 50px 0 10px;
  font-weight: bold;
}

.modal-prof-prof {
  line-height: 1.8;
  font-size: 12px;
}

.modal-prof-comingsoon {
  margin: 30px 0 0 -40px;
  font-size: 20px;
}

@media only screen and (max-width: 640px) {
  .modal-wrap {
    padding: 0 20px;
  }

  .modal-content-inner {
    padding: 20px 0 40px;
  }

  .modal-btn-close {
    position: fixed;
    top: 0;
    right: 0;
    height: 40px;
    width: 33px;
  }

  .modal-btn-close span {
    width: 25px;
    margin: 2px 0 0 2px;
  }

  .modal-btn-close .bar01 {
    -moz-transform: translateY(17px) rotate(-45deg);
    -ms-transform: translateY(17px) rotate(-45deg);
    -webkit-transform: translateY(17px) rotate(-45deg);
    transform: translateY(17px) rotate(-45deg);
  }

  .modal-table-cell {
    padding: 15px 0;
  }

  .modal-prof-img {
    float: none;
    width: 80%;
    margin: 9px auto 0;
  }

  .modal-prof-text-box {
    float: none;
    width: auto;
  }

  .modal-prof-name {
    font-size: 22px;
  }

  .modal-prof-info {
    font-size: 12px;
  }

  .modal-prof-info {
    margin: 5px 0 0;
  }

  .modal-prof-comment {
    margin: 50px 0 0;
    font-size: 14px;
    line-height: 1.8;
    font-weight: bold;
  }

  .modal-prof-comment:before {
    top: -23px;
    left: -13px;
    height: 17px;
    width: 20px;
    background: url(../images/icon_quot01.png) no-repeat center center;
    -webkit-background-size: 20px 17px;
    background-size: 20px 17px;
  }

  .modal-prof-comment:after {
    bottom: -18px;
    right: -13px;
    z-index: 1;
    height: 17px;
    width: 20px;
    background: url(../images/icon_quot02.png) no-repeat center center;
    -webkit-background-size: 20px 17px;
    background-size: 20px 17px;
  }

  .modal-prof-text-html {
    padding: 0 13px;
  }

  .modal-prof-ttl {
    margin-bottom: 6px;
    font-size: 13px;
  }

  .modal-prof-comingsoon {
    margin: 30px 0 0 -13px;
    font-size: 18px;
  }
}
/* nananasai
----------------------------------------------------------*/
.nananasai-page .garage-main-slider .ct-ttl07 {
  margin: 27px 0 10px;
}
.nananasai-page .garage-main-slider .project-info {
  margin: 40px 0 0;
}
.nananasai-page .ttl-set .ct-inner-800 {
  max-width: 960px;
}

.ct-elm-parts {
  margin-bottom: 80px;
}

.ct-elm-box-parts {
  margin-bottom: 142px;
}
.ct-elm-box-parts.magazine-link-box-list-area {
  margin-bottom: 50px;
}

@media only screen and (max-width: 767px) {
  .nananasai-page .garage-main-slider .ct-ttl07 {
    margin: 20px 0 17px;
  }
  .nananasai-page .garage-main-slider .project-info {
    margin: 43px 0 0;
  }

  .ct-elm-parts {
    margin-bottom: 42px;
  }

  .ct-elm-box-parts {
    margin-bottom: 63px;
  }
  .ct-elm-box-parts.magazine-link-box-list-area {
    margin-bottom: 63px;
  }
}
/* plugin
----------------------------------------------------------*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list a:focus,
.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}
.slick-slide:focus {
  outline: none;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  z-index: 99;
  height: auto;
  width: 100px;
  margin-top: -10px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  font-size: 0;
  line-height: 0;
  background: transparent;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background-repeat: no-repeat;
  -moz-background-size: 21px 21px;
  -o-background-size: 21px 21px;
  -webkit-background-size: 21px 21px;
  background-size: 21px 21px;
  background-position: center center;
}

.slick-prev {
  left: 0;
  background-image: url(../img/common/icon-prev-w.png);
}
.slick-prev:hover {
  opacity: 0.7;
}

.slick-next {
  right: 0;
  background-image: url(../img/common/icon-next-w.png);
}
.slick-next:hover {
  opacity: 0.7;
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 0;
  line-height: 1;
}

.slick-dots {
  position: absolute;
  right: 27px;
  bottom: 24px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: right;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 12px;
  padding: 0;
  vertical-align: top;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 12px;
  height: 12px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: rgba(0, 0, 0, 0.6);
  -moz-transition: all 0.5s;
  -o-transition: all 0.5s;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  background-color: #fff;
}

.slick-dots li.slick-active button {
  background-color: #fff;
}

@media only screen and (max-width: 767px) {
  .slick-prev:hover,
  .slick-next:hover {
    opacity: 1;
  }

  .slick-prev,
  .slick-next {
    height: 46px;
    width: 46px;
    margin-top: -23px;
  }

  .slick-prev {
    left: 3.125%;
    background-image: url(../img/single/icon-prev-sp.png) no-repeat;
    -moz-background-size: 46px 46px;
    -o-background-size: 46px 46px;
    -webkit-background-size: 46px 46px;
    background-size: 46px 46px;
  }
  .slick-prev:hover {
    background-image: url(../img/single/icon-prev-sp.png) no-repeat;
    -moz-background-size: 46px 46px;
    -o-background-size: 46px 46px;
    -webkit-background-size: 46px 46px;
    background-size: 46px 46px;
  }

  .slick-next {
    right: 3.125%;
    background-image: url(../img/single/icon-next-sp.png) no-repeat;
    -moz-background-size: 46px 46px;
    -o-background-size: 46px 46px;
    -webkit-background-size: 46px 46px;
    background-size: 46px 46px;
  }
  .slick-next:hover {
    background-image: url(../img/single/icon-next-sp.png) no-repeat;
    -moz-background-size: 46px 46px;
    -o-background-size: 46px 46px;
    -webkit-background-size: 46px 46px;
    background-size: 46px 46px;
  }

  .slick-dots {
    margin: 4px 0 0;
  }

  .slick-dots li {
    width: 8px;
    height: 8px;
    margin: 0 4px;
  }

  .slick-dots li button {
    width: 8px;
    height: 8px;
  }

  .slick-dots {
    position: absolute;
    right: 0;
    bottom: 10px;
    text-align: center;
  }

  .slick-dots li {
    width: 6px;
    height: 6px;
    margin: 0 6px;
  }

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

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

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

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

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

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

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

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

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

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

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

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

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

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

.mfp-preloader a {
  color: #CCC;
}

.mfp-preloader a:hover {
  color: #FFF;
}

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

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

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

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

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

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
}

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

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

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

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

button.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  border-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

button.mfp-arrow-left {
  background-image: url(../img/common/icon-prev-w.png);
  left: 0;
}

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}

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

button.mfp-arrow-right {
  background-image: url(../img/common/icon-next-w.png);
  right: 0;
}

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

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

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

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

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

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

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

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

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

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

.mfp-figure figure {
  margin: 0;
}

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

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

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

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

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }

  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }

  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }

  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }

  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }

  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }

  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }

  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }

  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }

  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }

  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
