/* Scss Document */
/* rotate anime*/
@keyframes rotate_anime {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes rotate_anime_3d {
  0% {
    transform: rotate3d(1, 1, 1, 0deg);
  }
  100% {
    transform: rotate3d(1, 1, 1, 360deg);
  }
}
/* transition */
/* opacity */
/* inline-block */
/* font-family */
/* font size */
.tablet.vertical #fv_wrap {
  position: relative;
}
.tablet.vertical #fv_wrap #logo_wrap {
  margin-top: 65vw !important;
}

#fv_wrap {
  position: relative;
}
#fv_wrap #logo_wrap {
  margin: 3vw 0 0 4vw;
  width: 18%;
  position: relative;
}
#fv_wrap #logo_wrap span {
  filter: blur(8px);
  width: 100%;
  opacity: 0.65;
}
#fv_wrap #logo_wrap span img {
  width: 100%;
}
@media screen and (max-width: 812px) {
  #fv_wrap #logo_wrap span {
    filter: blur(4px);
  }
}
#fv_wrap #logo_wrap #logo1 {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(30%, -40%) scale(1.5);
  z-index: 1;
}
#fv_wrap #logo_wrap #logo2 {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(80%, 50%) scale(1.8);
  mix-blend-mode: multiply;
  z-index: 2;
}
#fv_wrap #logo_wrap #logo3 {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-80%, 100%) scale(2.5);
  mix-blend-mode: multiply;
  z-index: 3;
}
#fv_wrap #logo_wrap.active {
  /*
  #logo1{
  	transform: translate(10px,10px);
  }
  #logo3{
  	transform: translate(-10px,-10px);
  }
  */
}
#fv_wrap #logo_wrap.active #logo1, #fv_wrap #logo_wrap.active #logo2, #fv_wrap #logo_wrap.active #logo3 {
  transition: all 2.2s cubic-bezier(0.66, 0.12, 0, 0.98);
  transform: translate(0, 0);
  filter: blur(0);
  opacity: 1;
}
#fv_wrap #logo_wrap.active #logo1 img, #fv_wrap #logo_wrap.active #logo2 img, #fv_wrap #logo_wrap.active #logo3 img {
  transition-duration: 10s;
  filter: brightness(0) invert(0);
}
@media screen and (max-width: 1440px) {
  #fv_wrap #logo_wrap {
    width: 21%;
  }
}
@media screen and (max-width: 812px) {
  #fv_wrap #logo_wrap {
    width: 35%;
    margin-bottom: 2vw;
  }
}
#fv_wrap #copy {
  font-size: max(6vw, 90px);
  font-family: 'Roboto Slab', serif;
  font-weight: 700;
  padding: 0 4vw;
  line-height: 1;
  letter-spacing: 0.03em;
  margin-top: 1.5vw;
  padding: 0 0 0 4vw;
  font-size: max(6.5vw, 90px);
  margin-top: 1vw;
}
@media screen and (max-width: 1440px) {
  #fv_wrap #copy {
    font-size: 6.3vw;
    font-size: 6.5vw;
  }
}
@media screen and (max-width: 812px) {
  #fv_wrap #copy {
    display: none;
    padding: 0 0 0 5vw;
  }
}
#fv_wrap #copy_sp {
  display: none;
  font-family: 'Roboto Slab', serif;
  font-weight: 700;
  padding: 0 4vw;
  line-height: 1.2;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 812px) {
  #fv_wrap #copy_sp {
    display: block;
    font-size: 9.6vw;
    padding: 0 0 0 5vw;
    font-size: 9.8vw;
  }
}
#fv_wrap #copy_ja {
  font-size: max(1vw, 19px);
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  margin-left: 4vw;
  margin-top: 0.8vw;
  position: absolute;
  top: 30%;
  right: 4vw;
  text-align: right;
  font-size: max(1.3vw, 22px);
}
#fv_wrap #copy_ja > span {
  letter-spacing: 0.25em;
  display: inline-block;
  background: #222;
  color: #fff;
  line-height: 1.3;
}
@media screen and (max-width: 812px) {
  #fv_wrap #copy_ja {
    font-size: 4.2666666667vw;
    text-align: left;
    position: static;
    font-size: 4.2133333333vw;
    margin-left: 5vw;
    margin-top: 3vw;
    line-height: 1.8;
  }
}
@media screen and (max-width: 812px) {
  #fv_wrap {
    position: relative;
    padding-top: 46vw;
    padding-bottom: 10vw;
  }
}

#top_article #block1 {
  margin-top: 15vw;
}
#top_article #block1 .txt_box {
  margin-left: 37.5%;
  border-radius: 5vw 0 0 0;
  border: 1px solid #222;
  border-right: none;
  background: #fff;
  padding: 6vw 5vw 20vw 6vw;
}
#top_article #block1 .txt_box p {
  font-size: 20px;
  font-family: 'Noto Serif JP', serif;
  line-height: 2.4;
}
@media screen and (max-width: 1440px) {
  #top_article #block1 .txt_box p {
    font-size: 18px;
  }
}
@media screen and (max-width: 812px) {
  #top_article #block1 .txt_box p {
    font-size: 3.8666666667vw;
    line-height: 2.2;
  }
}
#top_article #block1 .txt_box .common_bt {
  margin: 50px 0 0 auto !important;
}
@media screen and (max-width: 812px) {
  #top_article #block1 .txt_box .common_bt {
    margin-top: 6.6666666667vw !important;
  }
}
@media screen and (max-width: 812px) {
  #top_article #block1 .txt_box {
    margin-left: 15%;
    border-radius: 8vw 0 0 8vw;
  }
}
#top_article #block1 .block1_copy_logo_wrap {
  margin-top: -41vw;
  pointer-events: none;
}
@media screen and (max-width: 812px) {
  #top_article #block1 .block1_copy_logo_wrap {
    position: relative;
    margin-top: -20vw;
  }
}
#top_article #block1 .block1_copy {
  width: 25%;
  padding-left: 2vw;
  position: relative;
}
@media screen and (max-width: 812px) {
  #top_article #block1 .block1_copy {
    width: 57%;
    position: absolute;
    top: 5%;
    right: 3%;
  }
}
#top_article #block1 #aaa .st0 {
  fill: #a7a7a7;
  stroke: #a7a7a7;
  stroke-width: 0.1;
  fill-opacity: 0;
  transition: fill-opacity 0.8s;
  -ms-transition: fill-opacity 0.8s;
}
#top_article #block1 #aaa.fill .st0 {
  fill: #a7a7a7;
  fill-opacity: 1;
  stroke: none !important;
}
#top_article #block1 #bbb .st0 {
  fill: #none;
  stroke: #454545;
  stroke-width: 0.1;
  fill-opacity: 0;
  transition: fill-opacity 0.8s;
  -ms-transition: fill-opacity 0.8s;
}
@media screen and (max-width: 812px) {
  #top_article #block1 #bbb .st0 {
    stroke: #222;
    stroke-width: 0.15;
  }
}
#top_article #block1 #bbb.fill .st0 {
  fill: none;
  fill-opacity: 1;
  stroke: #454545;
  stroke-width: 0.1;
}
@media screen and (max-width: 812px) {
  #top_article #block1 #bbb.fill .st0 {
    stroke: #222;
    stroke-width: 0.15;
  }
}
#top_article #block1 #ccc .st0 {
  fill: #none;
  stroke: #454545;
  stroke-width: 0.05;
  fill-opacity: 0;
  transition: fill-opacity 0.8s;
  -ms-transition: fill-opacity 0.8s;
}
@media screen and (max-width: 812px) {
  #top_article #block1 #ccc .st0 {
    stroke: #222;
    stroke-width: 0.1;
  }
}
#top_article #block1 #ccc.fill .st0 {
  fill: #454545;
  fill-opacity: 1;
  stroke: none !important;
}
@media screen and (max-width: 812px) {
  #top_article #block1 #ccc.fill .st0 {
    stroke: #222;
    stroke-width: 0.1;
  }
}
#top_article #block1 #ddd .st0 {
  fill: #none;
  stroke: #454545;
  stroke-width: 0.05;
  fill-opacity: 0;
  transition: fill-opacity 0.8s;
  -ms-transition: fill-opacity 0.8s;
}
@media screen and (max-width: 812px) {
  #top_article #block1 #ddd .st0 {
    stroke: #222;
    stroke-width: 0.1;
  }
}
#top_article #block1 #ddd.fill .st0 {
  fill: none;
  fill-opacity: 1;
  stroke: #454545;
  stroke-width: 0.05;
}
@media screen and (max-width: 812px) {
  #top_article #block1 #ddd.fill .st0 {
    stroke: #222;
    stroke-width: 0.1;
  }
}
#top_article #block1 .block1_logo {
  margin-top: -0.8vw;
  position: relative;
}
#top_article #block1 .block1_logo > div:nth-child(1) {
  width: 27%;
  padding-left: 6.5vw;
}
@media screen and (max-width: 812px) {
  #top_article #block1 .block1_logo > div:nth-child(1) {
    width: 40%;
    padding-left: 3.5vw;
  }
}
#top_article #block1 .block1_logo > div:nth-child(2) {
  width: 65%;
  padding-right: 3vw;
}
#top_article #block1 .block1_logo > div:nth-child(2) .flex_row span {
  width: 10%;
}
#top_article #block1 .block1_logo > div:nth-child(2) .flex_row span:nth-child(2) {
  width: 90%;
  padding-left: 2%;
}
@media screen and (max-width: 812px) {
  #top_article #block1 .block1_logo > div:nth-child(2) {
    width: 95%;
    padding-right: 0;
  }
}
#top_article #block1 .block1_txt_bg p {
  color: #999;
  color: #444;
  font-family: 'Lora', serif;
  font-size: 2.6vw;
  line-height: 1.5;
  word-break: break-all;
}
@media screen and (max-width: 812px) {
  #top_article #block1 .block1_txt_bg p {
    font-size: 4.5vw;
  }
}
#top_article #block2 {
  padding: 10vw 2vw 0 5vw;
}
#top_article #block2 p {
  margin: 6vw 0 0 2vw;
  width: 50%;
}
@media screen and (max-width: 812px) {
  #top_article #block2 p {
    margin: 10vw 0 0 0;
    width: 100%;
  }
}
#top_article #block2 .field_list {
  margin-left: 0.8%;
  margin-top: 5vw;
}
@media screen and (max-width: 812px) {
  #top_article #block2 {
    padding: 10vw 5vw 0 5vw;
  }
  #top_article #block2 .common_bt {
    margin-top: 2.6666666667vw;
  }
}
@media screen and (max-width: 812px) {
  #top_article #block2 {
    padding: 20vw 2vw 0 5vw;
  }
}
#top_article #block3 {
  padding: 10vw 4vw 0 5vw;
}
#top_article #block3 .block3_l {
  width: 28%;
}
#top_article #block3 .block3_l .common_bt {
  margin-top: 45px;
}
@media screen and (max-width: 1440px) {
  #top_article #block3 .block3_l {
    width: 32%;
  }
}
@media screen and (max-width: 812px) {
  #top_article #block3 .block3_l {
    width: 100%;
  }
}
#top_article #block3 .block3_r {
  width: 72%;
}
@media screen and (max-width: 1440px) {
  #top_article #block3 .block3_r {
    width: 68%;
  }
}
@media screen and (max-width: 812px) {
  #top_article #block3 .block3_r {
    width: 100%;
    margin-top: 7vw;
  }
  #top_article #block3 .block3_r .common_bt {
    margin-top: 5.3333333333vw;
  }
}
@media screen and (max-width: 812px) {
  #top_article #block3 {
    padding: 20vw 4vw 0 5vw;
  }
}
