@charset "UTF-8";
.p-storyBox .partMain figure, .p-storyBox .imgs > li {
  position: relative; }
  .p-storyBox .partMain figure:after, .p-storyBox .imgs > li:after {
    content: "";
    display: block;
    border: 3px solid #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -moz-box-sizing: border-box;
  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: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; }

[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; }

/* Slider */
/* Icons */
@font-face {
  font-family: 'slick';
  font-weight: normal;
  font-style: normal; }
/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  margin-top: -10px\9;
  /*lte IE 8*/
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent; }

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent; }

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1; }

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: .25; }

.slick-prev:before,
.slick-next:before {
  font-family: 'slick';
  font-size: 20px;
  line-height: 1;
  opacity: .75;
  color: white;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }

[dir='rtl'] .slick-prev {
  right: -25px;
  left: auto; }

.slick-prev:before {
  content: ''; }

[dir='rtl'] .slick-prev:before {
  content: ''; }

.slick-next {
  right: -25px; }

[dir='rtl'] .slick-next {
  right: auto;
  left: -25px; }

.slick-next:before {
  content: ''; }

[dir='rtl'] .slick-next:before {
  content: ''; }

/* Dots */
.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  display: block;
  position: absolute;
  bottom: -45px;
  width: 100%;
  padding: 0;
  list-style: none;
  font-size: 0;
  text-align: center; }

.slick-dots li {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer; }

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: none;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent; }

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none; }

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1; }

.slick-dots li button:before {
  font-family: 'slick';
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: '•';
  text-align: center;
  opacity: .25;
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-dots li.slick-active button:before {
  opacity: .75;
  color: black; }

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2015 Daniel Eden
*/
@keyframes kakudai {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.3); }
  100% {
    transform: scale(1); } }
@keyframes coverIn {
  0% {
    left: 0; }
  100% {
    left: 100%; } }
@keyframes news-show {
  0% {
    opacity: 0;
    top: 10px; }
  100% {
    opacity: 1;
    top: -10px; } }
@keyframes modal-show {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeInUp {
  0% {
    opacity: 0;
    top: 20px; }
  100% {
    opacity: 1;
    top: 0; } }
@keyframes fadeInUp2 {
  0% {
    opacity: 0;
    margin-top: 20px; }
  100% {
    opacity: 1;
    margin-top: 0; } }
@keyframes hayabusachan {
  0% {
    opacity: 0;
    bottom: -200px; }
  100% {
    opacity: 1;
    bottom: -100px; } }
@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }
@keyframes historyBox {
  0% {
    height: 0; }
  100% {
    height: 99%; } }
@keyframes bgZoom {
  0% {
    background-size: 100% auto; }
  100% {
    background-size: 200% auto; } }
@keyframes fadeInBlur {
  0% {
    opacity: 0;
    filter: blur(20px); }
  100% {
    opacity: 1;
    filter: blur(0px); } }
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated2 {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated3 {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated4 {
  -webkit-animation-duration: 4s;
  animation-duration: 4s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated2.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated3.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated4.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -moz-animation-timing-function: linear;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -goog-ms-animation-timing-function: linear; }

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s; }

.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s; }

.animated.flipOutX,
.animated.flipOutY {
  -webkit-animation-duration: .75s;
  animation-duration: .75s; }

@-webkit-keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }
@keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }
.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes flash {
  0%, 50%, 100% {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }
@keyframes flash {
  0%, 50%, 100% {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }
.flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.25, 1.25, 1.25);
    transform: scale3d(1.25, 1.25, 1.25); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
@keyframes pulse {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.25, 1.25, 1.25);
    transform: scale3d(1.25, 1.25, 1.25); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

/*--------------------
        top
--------------------*/
/*-------------------- topページ内共通 --------------------*/
@media screen and (min-width: 768px) {
  article {
    padding-left: 20px;
    padding-right: 20px; } }
@media screen and (max-width: 767px) {
  article {
    padding-left: 30px;
    padding-right: 30px; } }

img {
  width: 100%;
  height: auto; }

.p-inner {
  position: relative; }
  @media screen and (min-width: 768px) {
    .p-inner {
      max-width: 1280px;
      margin-left: auto;
      margin-right: auto; } }
@media screen and (min-width: 768px) {
  .p-ttl1 figure {
    margin-bottom: 12px; } }
@media screen and (max-width: 767px) {
  .p-ttl1 figure {
    margin-bottom: 10px; } }
.p-ttl1 strong {
  display: block;
  font-weight: bold; }
  @media screen and (min-width: 768px) {
    .p-ttl1 strong {
      font-size: 4.2rem; } }
  @media screen and (max-width: 767px) {
    .p-ttl1 strong {
      font-size: 2.8rem;
      line-height: 1.2857142857; } }
@media screen and (min-width: 768px) {
  .p-ttl2 {
    font-size: 3.2rem; } }
@media screen and (max-width: 767px) {
  .p-ttl2 {
    font-size: 2.0rem; } }
.p-ttl2 span {
  border-bottom: 1px solid #707070; }
  @media screen and (min-width: 768px) {
    .p-ttl2 span {
      display: inline-block;
      padding-bottom: 19.4px; } }
  @media screen and (max-width: 767px) {
    .p-ttl2 span {
      display: block;
      padding-bottom: 9.4px; } }
@media screen and (min-width: 768px) {
  .p-imgTxt1 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start; } }
.p-imgTxt1 figure {
  overflow: hidden; }
  @media screen and (min-width: 768px) {
    .p-imgTxt1 figure {
      flex-shrink: 0;
      width: 37.65625%; } }
@media screen and (min-width: 768px) {
  .p-storyBox {
    padding: 30px 0 40px; } }
@media screen and (max-width: 767px) {
  .p-storyBox {
    padding: 27px 0 30px; } }
.p-storyBox .partMain {
  position: relative; }
  @media screen and (min-width: 768px) {
    .p-storyBox .partMain {
      margin-bottom: 40px; } }
  @media screen and (max-width: 767px) {
    .p-storyBox .partMain {
      margin-bottom: 20px; } }
  @media screen and (min-width: 768px) {
    .p-storyBox .partMain figure {
      width: 64.84375%; } }
  .p-storyBox .partMain .txts {
    background-color: white;
    box-sizing: border-box; }
    @media screen and (min-width: 768px) {
      .p-storyBox .partMain .txts {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 38.59375%;
        max-height: 418px;
        margin-top: auto;
        margin-bottom: auto;
        padding-left: 32px;
        padding-right: 27px;
        border: 1px solid #DBDBDB;
        position: absolute;
        top: 10px;
        bottom: 10px; } }
    @media screen and (max-width: 767px) {
      .p-storyBox .partMain .txts {
        padding: 26px 17px 27px 24px; } }
    .p-storyBox .partMain .txts h3 {
      font-weight: bold; }
      @media screen and (min-width: 768px) {
        .p-storyBox .partMain .txts h3 {
          margin-bottom: min(1.0416666667vw, 4.6558704453%);
          font-size: min(2.34375vw, 3rem);
          line-height: 1.3333333333; } }
      @media screen and (max-width: 767px) {
        .p-storyBox .partMain .txts h3 {
          margin-bottom: 15px;
          font-size: 2.0rem;
          line-height: 1.3; } }
      .p-storyBox .partMain .txts h3 small {
        display: block;
        font-weight: inherit; }
        @media screen and (min-width: 768px) {
          .p-storyBox .partMain .txts h3 small {
            margin-bottom: 0.6072874494%;
            font-size: min(1.5625vw, 1.8rem); } }
        @media screen and (max-width: 767px) {
          .p-storyBox .partMain .txts h3 small {
            margin-bottom: 3px;
            font-size: 1.4rem; } }
    @media screen and (min-width: 768px) {
      .p-storyBox .partMain .txts p {
        font-size: min(1.5625vw, 1.8rem);
        line-height: 1.5555555556; } }
    @media screen and (max-width: 767px) {
      .p-storyBox .partMain .txts p {
        font-size: 1.4rem;
        line-height: 1.5714285714; } }
  @media screen and (min-width: 768px) {
    .p-storyBox .partMain:not(.is_pcRvs) figure {
      margin-left: auto; }
    .p-storyBox .partMain:not(.is_pcRvs) .txts {
      left: 0; }
    .p-storyBox .partMain.is_pcRvs .txts {
      right: 0; } }
.p-storyBox .imgs {
  display: flex;
  align-items: flex-start; }
  @media screen and (min-width: 768px) {
    .p-storyBox .imgs {
      margin-bottom: 30px;
      justify-content: space-between; } }
  @media screen and (max-width: 767px) {
    .p-storyBox .imgs {
      flex-wrap: wrap;
      margin-bottom: 21px; } }
  @media screen and (min-width: 768px) {
    .p-storyBox .imgs > li {
      width: 22.65625%; } }
  @media screen and (max-width: 767px) {
    .p-storyBox .imgs > li {
      width: 39.2vw; }
      .p-storyBox .imgs > li:nth-child(odd) {
        margin-right: 5.6vw; }
      .p-storyBox .imgs > li:nth-child(n + 3) {
        margin-top: 5.3333333333vw; } }
.p-storyBox .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #434343;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  font-weight: bold;
  border: 1px solid #707070;
  box-sizing: border-box;
  transition: 0.3s; }
  @media screen and (min-width: 768px) {
    .p-storyBox .btn {
      width: 268px;
      height: min(5.2083333333vw, 54px);
      margin-top: 12.3481781377%;
      font-size: min(1.3020833333vw, 1.3rem); }
      .p-storyBox .btn:hover {
        background-color: #5d5d5d !important; } }
  @media screen and (max-width: 900px) {
    .p-storyBox .btn {
      margin-top: 1.3020833333vw; } }
  @media screen and (max-width: 767px) {
    .p-storyBox .btn {
      height: 54px;
      margin-top: 30px;
      font-size: 1.5rem; } }

/*--------------------
        main
--------------------*/
.mainZone {
  padding: 0;
  position: relative; }
  .mainZone .ttl {
    position: absolute;
    z-index: 1; }
    @media screen and (min-width: 768px) {
      .mainZone .ttl {
        width: 50%;
        max-width: 629px;
        margin-top: 2.5%;
        top: 0;
        left: 4.4444444444%; } }
    @media screen and (max-width: 767px) {
      .mainZone .ttl {
        width: 68.5333333333vw;
        top: 5.0666666667vw;
        left: 4.5333333333vw; } }
  .mainZone .catch {
    position: absolute;
    z-index: 1; }
    @media screen and (min-width: 768px) {
      .mainZone .catch {
        width: 50%;
        max-width: 579px;
        margin-bottom: 3.7833333333%;
        bottom: 0;
        right: 7.6277777778%; } }
    @media screen and (max-width: 767px) {
      .mainZone .catch {
        width: 59.792vw;
        bottom: 8.2933333333vw;
        right: 7.9733333333vw; } }
  .mainZone .slick-slider {
    margin-bottom: 0; }
  .mainZone .item {
    position: relative; }
    .mainZone .item:after {
      content: "";
      display: block;
      background: url("../img/top/main/overlay.png") 0 0 no-repeat;
      background-size: 100% 100%;
      position: absolute;
      bottom: 0;
      right: 0; }
      @media screen and (min-width: 768px) {
        .mainZone .item:after {
          width: 73.5555555556%;
          padding-top: 33.0555555556%; } }
      @media screen and (max-width: 767px) {
        .mainZone .item:after {
          width: 100%;
          height: 45.0666666667vw; } }
  @media screen and (min-width: 768px) {
    .mainZone .slick-dots {
      bottom: 30px; } }
  @media screen and (max-width: 767px) {
    .mainZone .slick-dots {
      bottom: 2.6666666667vw; } }
  .mainZone .slick-dots > li {
    background-color: #fff;
    border-radius: 50%;
    opacity: 0.6; }
    @media screen and (min-width: 768px) {
      .mainZone .slick-dots > li {
        width: 10px;
        height: 10px;
        margin: 0 7px; } }
    @media screen and (max-width: 767px) {
      .mainZone .slick-dots > li {
        width: 2.1333333333vw;
        height: 2.1333333333vw;
        margin: 0 1.6vw; } }
    .mainZone .slick-dots > li.slick-active {
      opacity: 1; }

/*--------------------
       intro
--------------------*/
.introZone {
  text-align: center; }
  @media screen and (min-width: 768px) {
    .introZone {
      padding-top: 48px;
      padding-bottom: 107px; } }
  @media screen and (max-width: 767px) {
    .introZone {
      padding-top: 28px;
      padding-bottom: 45px; } }
  .introZone .logoART {
    margin-left: auto;
    margin-right: auto; }
    @media screen and (min-width: 768px) {
      .introZone .logoART {
        max-width: 737px;
        margin-bottom: 127px; } }
    @media screen and (max-width: 767px) {
      .introZone .logoART {
        width: 89.0666666667vw;
        margin-bottom: 10.6666666667vw; } }
  .introZone h2 {
    font-weight: bold; }
    @media screen and (min-width: 768px) {
      .introZone h2 {
        margin-bottom: 38px;
        font-size: 3.0rem; } }
    @media screen and (max-width: 767px) {
      .introZone h2 {
        margin-bottom: 25px;
        font-size: 1.8rem; } }
  @media screen and (min-width: 768px) {
    .introZone p {
      font-size: 2.0rem;
      line-height: 1.75; } }
  @media screen and (max-width: 767px) {
    .introZone p {
      font-size: 1.4rem;
      line-height: 2.1428571429; } }

/*--------------------
       ttlItv
--------------------*/
@media screen and (min-width: 768px) {
  .ttlItvZone {
    margin-bottom: 70px; } }
@media screen and (max-width: 767px) {
  .ttlItvZone {
    margin-bottom: 18px; } }
@media screen and (max-width: 767px) {
  .ttlItvZone .p-ttl1 {
    margin-bottom: 12px; } }
@media screen and (min-width: 768px) {
  .ttlItvZone .p-ttl1 figure {
    margin-bottom: 6px; } }
@media screen and (min-width: 768px) {
  .ttlItvZone .p-ttl1 figure img {
    width: 99.03px; } }
@media screen and (max-width: 767px) {
  .ttlItvZone .p-ttl1 figure img {
    width: 82.62px; } }

/*--------------------
       ttlItv2
--------------------*/
@media screen and (min-width: 768px) {
  .ttlItvZone2 {
    margin-bottom: 32.6px; } }
@media screen and (max-width: 767px) {
  .ttlItvZone2 {
    margin-bottom: 21.6px; } }

/*--------------------
       story1
--------------------*/
@media screen and (min-width: 768px) {
  .story1Zone {
    margin-bottom: 109px; } }
@media screen and (max-width: 767px) {
  .story1Zone {
    margin-bottom: 20px; } }

/*--------------------
       story2
--------------------*/
/*--------------------
       special
--------------------*/
@media screen and (min-width: 768px) {
  .specialZone {
    padding-top: 148px;
    padding-bottom: 103px; } }
@media screen and (max-width: 767px) {
  .specialZone {
    padding-top: 77px;
    padding-bottom: 81px; } }
@media screen and (min-width: 768px) {
  .specialZone .p-ttl1 {
    margin-bottom: 88px; } }
@media screen and (max-width: 767px) {
  .specialZone .p-ttl1 {
    margin-bottom: 34px; } }
@media screen and (max-width: 767px) {
  .specialZone .p-ttl1 figure {
    margin-bottom: 14px; } }
@media screen and (min-width: 768px) {
  .specialZone .p-ttl1 figure img {
    width: 236.36px; } }
@media screen and (max-width: 767px) {
  .specialZone .p-ttl1 figure img {
    width: 197.83px; } }
@media screen and (min-width: 768px) {
  .specialZone .p-imgTxt1 figure {
    margin-top: 19px;
    margin-right: 6.015625%; } }
@media screen and (max-width: 767px) {
  .specialZone .p-imgTxt1 figure {
    width: 84.5333333333vw;
    margin-bottom: 33px;
    margin-left: auto;
    margin-right: auto; } }
@media screen and (min-width: 768px) {
  .specialZone .p-imgTxt1 p {
    font-size: 1.8rem;
    line-height: 1.5555555556; } }
@media screen and (max-width: 767px) {
  .specialZone .p-imgTxt1 p {
    font-size: 1.4rem;
    line-height: 1.7857142857; } }

/*--------------------
        story3
--------------------*/
/*--------------------
        renov
--------------------*/
@media screen and (min-width: 768px) {
  .renovZone {
    padding-top: 99px;
    padding-bottom: 246px; } }
@media screen and (max-width: 767px) {
  .renovZone {
    padding-top: 34px;
    padding-bottom: 38px; } }
@media screen and (min-width: 768px) {
  .renovZone h2 {
    margin-bottom: 38px; } }
@media screen and (max-width: 767px) {
  .renovZone h2 {
    margin-bottom: 20px; } }
@media screen and (min-width: 768px) {
  .renovZone ul {
    display: flex;
    justify-content: space-between; } }
@media screen and (min-width: 768px) {
  .renovZone li {
    width: 31.25%;
    position: relative; } }
@media screen and (max-width: 767px) {
  .renovZone li + li {
    margin-top: 52px; } }
@media screen and (min-width: 768px) {
  .renovZone li .cont {
    padding-bottom: 82px; } }
@media screen and (max-width: 767px) {
  .renovZone li .cont {
    margin-bottom: 16px; } }
@media screen and (min-width: 768px) {
  .renovZone li .imgL {
    margin-bottom: 9px; } }
@media screen and (max-width: 767px) {
  .renovZone li .imgL {
    margin-bottom: 5.9px; } }
.renovZone li .thums {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media screen and (min-width: 768px) {
    .renovZone li .thums {
      margin-bottom: 23px; } }
  @media screen and (max-width: 767px) {
    .renovZone li .thums {
      margin-bottom: 18px; } }
  .renovZone li .thums figure {
    cursor: pointer; }
    @media screen and (min-width: 768px) {
      .renovZone li .thums figure {
        width: 31.75%;
        transition: 0.3s; } }
    @media screen and (max-width: 767px) {
      .renovZone li .thums figure {
        width: 26.6666666667vw; } }
    @media screen and (min-width: 768px) {
      .renovZone li .thums figure:not(.show):hover {
        opacity: 0.6; } }
    .renovZone li .thums figure.show {
      position: relative; }
      .renovZone li .thums figure.show:after {
        content: "";
        display: block;
        border: 2px solid #FB7E93;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0; }
.renovZone li h3 {
  margin-bottom: 12px;
  padding-bottom: 10px;
  font-size: 2.0rem;
  line-height: 1.3;
  border-bottom: 1px solid #707070; }
.renovZone li p {
  font-size: 1.2rem;
  line-height: 1.6666666667; }
.renovZone li .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 54px;
  border: 1px solid #707070;
  border-radius: 5px;
  position: relative;
  box-sizing: border-box;
  transition: opacity 0.3s; }
  .renovZone li .btn:not([disabled]):hover {
    opacity: 0.6; }
  @media screen and (min-width: 768px) {
    .renovZone li .btn {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0; } }
  .renovZone li .btn:after {
    content: "";
    display: block;
    background: url("../img/top/renov/icn_blk.svg") 0 0 no-repeat;
    background-size: 100% 100%;
    width: 15px;
    height: 12px;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0; }
    @media screen and (min-width: 768px) {
      .renovZone li .btn:after {
        right: 7.25%; } }
    @media screen and (max-width: 767px) {
      .renovZone li .btn:after {
        right: 19px; } }
  .renovZone li .btn img {
    width: 36.5%;
    max-width: 107px; }
  .renovZone li .btn span {
    font-size: 1.5rem;
    font-weight: bold; }
.renovZone li.coming {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(231, 231, 231, 0.2); }
  @media screen and (max-width: 767px) {
    .renovZone li.coming {
      height: 265px;
      margin-left: -10px;
      margin-right: -10px; } }
  @media screen and (min-width: 768px) {
    .renovZone li.coming figure {
      padding: 0 30px; } }
  @media screen and (min-width: 768px) {
    .renovZone li.coming figure img {
      max-width: 214px; } }
  @media screen and (max-width: 767px) {
    .renovZone li.coming figure img {
      width: 57.0053333333vw; } }
  .renovZone li.coming figure figcaption {
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.4285714286; }
    @media screen and (min-width: 768px) {
      .renovZone li.coming figure figcaption {
        margin-top: 20px; } }
    @media screen and (max-width: 767px) {
      .renovZone li.coming figure figcaption {
        margin-top: 10px; } }

@media screen and (max-width: 767px) {
  .pageTop .pc {
    display: none !important; } }
@media screen and (min-width: 768px) {
  .pageTop .sp {
    display: none !important; } }

/*--------------------
        詳細
--------------------*/
@media screen and (max-width: 767px) {
  #wrapper {
    width: 100vw;
    overflow: hidden; } }

@media screen and (min-width: 768px) {
  .columnlisting__inner--other {
    display: flex;
    justify-content: center; } }

@media screen and (min-width: 768px) {
  .columnlisting__inner--other li {
    margin: 0 2%;
    width: 100%;
    max-width: 364px; } }
@media screen and (max-width: 767px) {
  .columnlisting__inner--other li {
    margin-bottom: 22.5px; } }

.columnblock__text + .columnblock__text {
  margin-top: 90px; }
  @media screen and (max-width: 767px) {
    .columnblock__text + .columnblock__text {
      margin-top: 55px; } }

.header.headerHidden {
  display: none !important; }

.headerF04 {
  background: #fff;
  margin: 100px auto 0;
  width: 100%;
  height: 125px;
  position: absolute;
  top: -100px;
  z-index: 1009; }

@media only screen and (max-width: 940px) {
  .headerF04 {
    margin: 0;
    height: 73px;
    position: fixed;
    top: 0; } }
