@charset "UTF-8";

/* === header ===*/
/* header animation */
.header {
  transform: translate(0, -100%);
  animation-name: header-view;
  animation-duration: .6s;
  animation-delay: 3.2s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  animation-play-state: paused;
  animation-timing-function: ease-out;
}
.header._start {
  animation-play-state: running;
}
@keyframes header-view {
  0%  { transform: translate(0, -100%); }
  100% { transform: translate(0, 0); }
}



/* === Article === */
.content_article {
  position: relative;
  z-index: 100;
}
/* .article_header */
.article_header {
  position: relative;
  padding-top: calc(1040 / 1920 * 100%);
  overflow: hidden;
  background-color: var(--color-black);
}
.article_header::before {
  content: '';
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  background-image: url(../images/mv_pc.webp);
  opacity: 0.3;
  transform: scale(1.6);
  transition:
    opacity 2.8s,
    transform 3.8s ease-in-out;
}
.article_header._start::before {
  opacity: 1;
  transform: scale(1.0);
}
.article_header h2 {
  position: absolute;
  top: calc(150 / 1040 * 100%);
  left: calc(342 / 1920 * 100%);
  width: calc(606 / 1920 * 100%);
  aspect-ratio: 606/817;
  background-image: url(../images/h2.svg);
  opacity: 0;
  transition:
    opacity 1.8s 1.8s;
}
.article_header._start h2 {
  opacity: 1;
}
.article_header h2 .text {
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 120%;
  transform: translate(-50%, 0);
  text-shadow: 0 3px 5px rgba(0,0,0,.42);
  text-align: center;
}
.article_header ._s40 {
  color: var(--color-white);
  font-size: 2.0833vw;
}

@media screen and (max-width: 768px) {
  .article_header {
    /* padding-top: calc(490 / 375 * 100%); */
    padding-top: 100vh;
  }
  .article_header::before {
    background-size: cover;
    background-image: url(../images/mv_sp.webp);
  }
  .article_header h2 {
    top: calc(50% - 1rem);
    left: calc(-8 / 16 * 1rem);
    width: calc(278 / 16 * 1rem);
    max-height: 56.5vh;
    transform: translate(0, -50%);
  }
  .article_header h2 .text {
    font-size: calc(14 / 16 * 1rem);
  }
}


/* .sec_lead */
.sec_lead {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--s36);
  position: relative;
  width: 100%;
  aspect-ratio: 1920/606;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-image: url(../images/bg_pc-1.webp);
}
.sec_lead::before {
  content: '';
  position: absolute;
  top: calc(100 / 606 * 100%);
  left: 50%;
  transform: translate(-50%, 0);
  width: calc(354 / 1920 * 100vw);
  height: calc(354 / 1920 * 100vw);
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../images/bg_sec_lead.svg);
}
.sec_lead > * {
  position: relative;
}
.sec_lead .text {
  width: calc(910 / 16 * 1rem);
  padding-bottom: calc(54 / 1920 * 100vw);
}

@media screen and (max-width: 768px) {
  .sec_lead {
    height: calc(436 / 16 * 1rem);
    aspect-ratio: unset;
    padding: 0 var(--s25);
    background-image: url(../images/bg_sp-1.webp);
  }
  .sec_lead::before {
    top: calc(72 / 16 * 1rem);
    width: calc(278 / 16 * 1rem);
    height: calc(278 / 16 * 1rem);
  }
  .sec_lead .text {
    width: auto;
    padding-bottom: calc(9 / 16 * 1rem);
    line-height: 1.5;
  }
}


/* .sec_consept */
.sec_consept {
  display: block;
  position: relative;
}
.sec_consept .sec_header {
  height: calc(294 / 1920 * 100vw);
}
.sec_consept .sec_body {
  padding-bottom: calc(432 / 1920 * 100%);
}

@media screen and (max-width: 768px) {
  .sec_consept .sec_header {
    height: calc(144 / 16 * 1rem);
  }
  .sec_consept .sec_header .ttl {
    padding-top: calc(20 / 16 * 1rem);
  }
  .sec_consept .sec_body {
    padding-bottom: calc(120 / 16 * 1rem);
  }
}

.sec_consept .textbox,
.sec_consept .imagebox,
.sec_consept .textbox > .ttl_textbox,
.sec_consept .textbox > .text,
.sec_consept .imagebox > div {
  position: relative;
  z-index: 30;
}

.box-1-1 .image-1-1 {
  padding-top: calc(621 / 1920 * 100%);
  background-image: url(../images/image-1-1.webp);
}

.box-1-8 {
  margin-top: calc(80 / 1920 * 100%);
}

.box-1-8 .image-1-8 {
  width: calc(900 / 1920 * 100%);
  aspect-ratio: 900/465;
  margin-right: auto;
  background-image: url(../images/image-1-8.webp);
}

.box-1-8 .image-1-8-bg {
  z-index: 20 !important;
  width: calc(604 / 1920 * 100%);
  aspect-ratio: 604 / 180;
  margin-top: calc(-135 / 1920 * 100%);
  margin-right: auto;
  margin-left: calc(500 / 1920 * 100%);
  background-size: cover;
  background-image: url(../images/image-1-3-bg.webp);
}
@media screen and (max-width: 768px) {
  .box-1-8 {
    margin-top: calc(48 / 16 * 1rem);
  }
  .box-1-8 .image-1-8 {
    width: calc(300 / 16 * 1rem);
    height: calc(155 / 16 * 1rem);
    aspect-ratio: unset;
  }
  .box-1-8 .image-1-8-bg {
    width: calc(150 / 16 * 1rem);
    height: calc(45 / 16 * 1rem);
    aspect-ratio: unset;
    margin-top: calc(-30 / 16 * 1rem);
    margin-left: auto;
    margin-right: var(--s25);
  }
}

.box-1-2 {
  min-height: calc(1215 / 1920 * 100vw);
}
.box-1-2 .ttl_textbox {
  margin-left: calc(200 / 1920 * 100%);
  padding-top: calc(108 / 1920 * 100%);
}
.box-1-2 .text {
  width: calc(900 / 1920 * 100%);
  margin-top: calc(60 / 1920 * 100%);
  margin-left: calc(200 / 1920 * 100%);
  margin-right: auto;
  padding-bottom: calc(4rem + (159 / 1920 * 100vw));;
}
.box-1-2 .image-1-2 {
  position: absolute;
  z-index: 20;
  top: calc(-120 / 1920 * 100%);
  right: 0;
  width: calc(945 / 1920 * 100%);
  aspect-ratio: 945/1145;
  background-image: url(../images/image-1-2b.webp);
}

@media screen and (max-width: 768px) {
  .sec_consept ._s22 {
    line-height: 1.5;
  }
  .box-1-2 {
    min-height: auto;
    margin-bottom: calc(224 / 16 * 1rem);
  }
  .box-1-2 .ttl_textbox {
    margin-left: var(--s25);
    margin-right: var(--s25);
    padding-top: calc(32 / 16 * 1rem);
  }
  .box-1-2 .text {
    width: auto;
    margin-left: var(--s25);
    margin-right: var(--s25);
    padding-bottom: 0;
  }
  .box-1-2 .image-1-2 { 
    top: calc(100% - 27 / 16 * 1rem);
    width: calc(240 / 16 * 1rem);
    height: calc(290 / 16 * 1rem);
    aspect-ratio: unset;
  }
}

.box-1-3 {
  margin-top: calc(-159 / 1920 * 100vw);
}
.box-1-3 .image-1-3 {
  width: calc(1200 / 1920 * 100%);
  aspect-ratio: 1200/400;
  margin-right: auto;
  background-image: url(../images/image-1-3.webp);
}
.box-1-3 .image-1-3-bg {
  z-index: 20 !important;
  width: calc(604 / 1920 * 100%);
  aspect-ratio: 604/200;
  margin-top: calc(-151 / 1920 * 100%);
  margin-right: auto;
  margin-left: calc(903 / 1920 * 100%);
  background-image: url(../images/image-1-3-bg.webp);
}

@media screen and (max-width: 768px) {
  .box-1-3 {
    margin-top: 0;
  }
  .box-1-3 .image-1-3 {
    width: calc(238 / 16 * 1rem);
    height: calc(79 / 16 * 1rem);
    aspect-ratio: unset;
  }
  .box-1-3 .image-1-3-bg {
    width: calc(120 / 16 * 1rem);
    height: calc(39 / 16 * 1rem);
    aspect-ratio: unset;
    margin-top: calc(-29 / 16 * 1rem);
    margin-left: calc(179 / 16 * 1rem);
  }
}

.box-1-4 {
  min-height: calc(925 / 1920 * 100vw);
  margin-top: calc(271 / 1920 * 100%);
}
.box-1-4 .ttl_textbox {
  width: calc(900 / 1920 * 100%);
  margin-right: calc(200 / 1920 * 100%);
  margin-left: auto;
}
.box-1-4 .text {
  width: calc(900 / 1920 * 100%);
  margin-top: calc(60 / 1920 * 100%);
  margin-right: calc(200 / 1920 * 100%);
  margin-left: auto;
  padding-bottom: calc(4rem + (321 / 1920 * 100vw));;
}
.box-1-4 .image-1-4 {
  position: absolute;
  z-index: 20;
  top: calc(-20 / 1920 * 100%);
  left: 0;
  width: calc(1186 / 1920 * 100%);
  aspect-ratio: 1186/945;
  background-image: url(../images/image-1-4.webp);
}

@media screen and (max-width: 768px) {
  .box-1-4 {
    min-height: auto;
    margin-top: calc(80 / 16 * 1rem);
    margin-bottom: calc(221 / 16 * 1rem);
  }
  .box-1-4 .ttl_textbox,
  .box-1-4 .text {
    width: auto;
    margin-left: var(--s25);
    margin-right: var(--s25);
  }
  .box-1-4 .text {
    padding-bottom: 0;
  }
  .box-1-4 .image-1-4 {
    top: calc(100% + (43 / 16 * 1rem));
    width: calc(272 / 16 * 1rem);
    height: calc(216 / 16 * 1rem);
    aspect-ratio: unset;
  }
}

.box-1-5 {
  margin-top: calc(-321 / 1920 * 100vw);
}
.box-1-5 .image-1-5 {
  width: calc(855 / 1920 * 100%);
  aspect-ratio: 855/503;
  margin-left: auto;
  background-image: url(../images/image-1-5b.webp);
}
.box-1-5 .image-1-5-bg {
  z-index: 20 !important;
  width: calc(876 / 1920 * 100%);
  aspect-ratio: 875/152;
  margin-top: calc(-76 / 1920 * 100%);
  margin-right: auto;
  margin-left: calc(522 / 1920 * 100%);
  background-image: url(../images/image-1-5-bg.webp);
}

@media screen and (max-width: 768px) {
  .box-1-5 {
    margin-top: 0;
  }
  .box-1-5 .image-1-5 {
    width: calc(196 / 16 * 1rem);
    height: calc(115 / 16 * 1rem);
    aspect-ratio: unset;
  }
  .box-1-5 .image-1-5-bg {
    width: calc(200 / 16 * 1rem);
    height: calc(35 / 16 * 1rem);
    aspect-ratio: unset;
    margin-top: calc(-17 / 16 * 1rem);
    margin-left: calc(56 / 16 * 1rem);
  }
}

.box-1-6 {
  min-height: calc(805 / 1920 * 100vw);
  margin-top: calc(300 / 1920 * 100%);
}
.box-1-6 .ttl_textbox {
  margin-left: calc(200 / 1920 * 100%);
}
.box-1-6 .text {
  width: calc(900 / 1920 * 100%);
  margin-top: calc(60 / 1920 * 100%);
  margin-left: calc(200 / 1920 * 100%);
  margin-right: auto;
  padding-bottom: calc(4rem + (102 / 1920 * 100vw));;
}
.box-1-6 .image-1-6 {
  position: absolute;
  z-index: 20;
  top: calc(-360 / 1920 * 100%);
  right: 0;
  width: calc(945 / 1920 * 100%);
  aspect-ratio: 945/1145;
  background-image: url(../images/image-1-6b.webp);
}

@media screen and (max-width: 768px) {
  .box-1-6 {
    min-height: auto;
    margin-top: calc(80 / 16 * 1rem);
    margin-bottom: calc(184 / 16 * 1rem);
  }
  .box-1-6 .ttl_textbox,
  .box-1-6 .text {
    width: auto;
    margin-left: var(--s25);
    margin-right: var(--s25);
  }
  .box-1-6 .text {
    padding-bottom: 0;
  }
  .box-1-6 .image-1-6 {
    top: calc(100% - (64 / 16 * 1rem));
    width: calc(240 / 16 * 1rem);
    height: calc(290 / 16 * 1rem);
    aspect-ratio: unset;
  }
}

.box-1-7 {
  margin-top: calc(-102 / 1920 * 100vw);
}
.box-1-7 .image-1-7 {
  width: calc(936 / 1920 * 100%);
  aspect-ratio: 936/425;
  margin-right: auto;
  background-image: url(../images/image-1-7.webp);
}
.box-1-7 .image-1-7-bg {
  z-index: 20 !important;
  width: calc(435 / 1920 * 100%);
  aspect-ratio: 435/200;
  margin-top: calc(-76 / 1920 * 100%);
  margin-right: auto;
  margin-left: calc(665 / 1920 * 100%);
  background-image: url(../images/image-1-7-bg.webp);
}

@media screen and (max-width: 768px) {
  .box-1-7 {
    margin-top: 0;
  }
  .box-1-7 .image-1-7 {
    width: calc(222 / 16 * 1rem);
    height: calc(101 / 16 * 1rem);
    aspect-ratio: unset;
  }
  .box-1-7 .image-1-7-bg {
    width: calc(103 / 16 * 1rem);
    height: calc(47 / 16 * 1rem);
    aspect-ratio: unset;
    margin-top: calc(-30 / 16 * 1rem);
    margin-left: calc(154 / 16 * 1rem);
  }
}


/* .sec_rooms */
.sec_rooms {
  display: block;
  position: relative;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
  background-image: url(../images/bg_pc-2.webp);
}
.sec_rooms .sec_header {
  height: calc(418 / 1920 * 100vw);
}
.sec_rooms .sec_header .ttl {
  padding-top: calc(52 / 1920 * 100%);
}

.sec_rooms .sec_body {
  padding-bottom: calc(280 / 1920 * 100%);
}

.box-2-1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s40);
}
.box-2-1 .text {
  width: calc(1520 / 1920 * 100%);
}
@media screen and (max-width: 768px) {
  .sec_rooms {
    background-image: url(../images/bg_sp-2.webp);
  }
  .sec_rooms .sec_header {
    height: calc(191 / 16 * 1rem);
  }
  .sec_rooms .sec_header .ttl {
    padding-top: calc(50 / 16 * 1rem);
  }
  .box-2-1 {
    margin: 0 var(--s25);
  }
  .box-2-1 .text {
    width: auto;
  }
}

.sec_rooms .rooms {
  display: flex;
  justify-content: center;
  gap: calc(101 / 1920 * 100%);
  margin-top: calc(52 / 1920 * 100%);
}
.sec_rooms .rooms .room {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: calc(304 / 1920 * 100%);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
}
.sec_rooms .rooms .room01 { background-image: url(../images/room_name-fuji.webp);}
.sec_rooms .rooms .room02 { background-image: url(../images/room_name-take.webp);}
.sec_rooms .rooms .room03 { background-image: url(../images/room_name-toyama.webp);}
.sec_rooms .rooms .room04 { background-image: url(../images/room_name-ran.webp);}
.sec_rooms .rooms .room .name {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .75rem;
  padding-top: calc(300 / 304 * 100%);
}
.sec_rooms .rooms .room .name::before,
.sec_rooms .rooms .room .name::after {
  content: '';
  display: block;
  width: calc(13 / 16 * 1rem);
  height: 1.5px;
  background-color: var(--color-black);
}

.sec_rooms .rooms .room .room_images > a:nth-of-type(1) {
  display: block;
  margin-top: calc(42 / 304 * 100%);
  border: 2px var(--color-gold) solid;
}
.sec_rooms .rooms .room .room_images .other_image {
  display: none;
}
@media screen and (max-width: 768px) {
  .sec_rooms .rooms {
    flex-wrap: wrap;
    gap: calc(40 / 16 * 1rem) calc(45 / 16 * 1rem);
    margin-top: calc(38 / 16 * 1rem);
  }
  .sec_rooms .rooms .room {
    width: calc(140 / 16 * 1rem);
  }
  .sec_rooms .rooms .room .name {
    gap: .25rem;
    font-size: calc(12 / 16 * 1rem);
  }
  .sec_rooms .rooms .room .name::before,
  .sec_rooms .rooms .room .name::after {
    width: calc(6 / 16 * 1rem);
    margin-top: 0.125rem;
  }

}

.box-2-3 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(67 / 1920 * 100%);
  margin-top: calc(168 / 1920 * 100%);
}
.box-2-3 .textbox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--s40);
  width: calc(823 / 1920 * 100%);
}
.box-2-3 .image-2-3 {
  display: flex;
  flex-wrap: wrap;
  gap: calc(30 / 1920 * 100vw) calc(30 / 630 * 100%);
  width: calc(630 / 1920 * 100%);
}
.box-2-3 .image-2-3 > li {
  width: calc(300 / 630 * 100%);
  aspect-ratio: 300/200;
}

@media screen and (max-width: 768px) {
  .box-2-3 {
    flex-direction: column;
    gap: calc(40 / 16 * 1rem);
    margin-top: calc(108 / 16 * 1rem);
  }
  .box-2-3 .textbox {
    width: auto;
    margin: 0 var(--s25);
  }
  .box-2-3 .image-2-3 {
    justify-content: center;
    gap: calc(15 / 16 * 1rem) calc(17 / 16 * 1rem);
    width: 100%;
  }
  .box-2-3 .image-2-3 > li {
    width: calc(154 / 16 * 1rem);
  }
}

/* .sec_rooms */
.sec_gastronomy {
  display: block;
  position: relative;
  min-height: calc(1210 / 1920 * 100vw);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
  background-image: url(../images/bg_pc-sec_gastronomy.webp);
}
.sec_gastronomy::before,
.sec_gastronomy::after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-gold);
}
.sec_gastronomy::before {
  top: calc(20 / 1920 * 100vw);
}
.sec_gastronomy::after {
  bottom: calc(20 / 1920 * 100vw);
}
.sec_gastronomy .sec_header {
  height: calc(367 / 1920 * 100vw);
}
.sec_gastronomy .sec_header .ttl {
  padding-top: calc(8 / 1920 * 100%);
}

.box-3-1 {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--s40);
  width: calc(882 / 1920 * 100%);
  margin-right: calc(200 / 1920 * 100%);
  margin-left: auto;
}
.box-3-1 .ttl_textbox,
.box-3-1 .text {
  position: relative;
  z-index: 30;
}
.box-3-1 .text {
  padding-bottom: calc(348 / 1920 * 100vw);
}
.box-3-1 .image-3-1-1,
.box-3-1 .image-3-1-2 {
  position: absolute;
}
.box-3-1 .image-3-1-1 {
  top: calc(-21 / 1920 * 100vw);
  left: calc(-839 / 882 * 100%);
  width: calc(900 / 882 * 100%);
  aspect-ratio: 900/670;
  background-image: url(../images/image-3-1-1.webp);
}
.box-3-1 .image-3-1-2 {
  top: calc(100% - (468 / 1920 * 100vw));
  right: calc(-77 / 882 * 100%);
  width: calc(454 / 1920 * 100vw);
  aspect-ratio: 454/338;
  background-image: url(../images/image-3-1-2.webp);
}

@media screen and (max-width: 768px) {
  .sec_gastronomy {
    min-height: calc(1079 / 16 * 1rem);
    background-image: url(../images/bg_sp-sec_gastronomy.webp);
    overflow: hidden;
  }
  .sec_gastronomy::before {
    top: calc(5 / 16 * 1rem);
  }
  .sec_gastronomy::after {
    bottom: calc(5 / 16 * 1rem);
  }
  .sec_gastronomy .sec_header {
    height: calc(112 / 16 * 1rem);
  }
  .sec_gastronomy .sec_header .ttl {
    padding-top: calc(29 / 16 * 1rem);
  }
  .box-3-1 {
    width: auto;
    margin: 0 var(--s25);
  }
  .box-3-1 .ttl_textbox {
    padding-top: calc(195 / 16 * 1rem);
  }
  .box-3-1 .text {
    padding-bottom: 0;
  }
  .box-3-1 .image-3-1-1 {
    top: 0;
    left: calc(-37 / 16 * 1rem);
    width: calc(298 / 16 * 1rem);
  }
  .box-3-1 .image-3-1-2 {
    top: calc(100% + 18 / 16 * 1rem);
    right: calc(-25 / 16 * 1rem);
    width: calc(178 / 16 * 1rem);
  }
}

/* .reservation */
.reservation {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: calc(880 / 1920 * 100vw);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-image: url(../images/bg_pc-3.webp);
}
.reservation .box-4-1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: calc(100 / 1920 * 100vw);
}
.reservation .btn_box {
  display: flex;
  justify-content: center;
}
.reservation .btn_box .btn {
  position: relative;
  display: block;
  width: calc(730 / 16 * 1rem);
  background: linear-gradient(#D9B43D 40%, #C8A229 100%);
  opacity: 1;
  transition: opacity .4s ease-in-out;
}
.reservation .btn_box .btn:hover {
  opacity: .7;
}
.reservation .btn_box .btn::before {
  content: '';
  position: absolute;
  top: 5px;
  left: 5px;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 1px var(--color-white) solid;
}
.reservation .btn_box .btn > span {
  display: block;
  height: 0;
  padding-top: calc(135 / 730 * 100%);
  background-image: url(../images/btn_reservation.svg);
}

@media screen and (max-width: 768px) {
  .reservation {
    height: calc(530 / 16 * 1rem);
    background-image: url(../images/bg_sp-3.webp);
  }
  .reservation .box-4-1 {
    gap: calc(62 / 16 * 1rem);
    padding-bottom: calc(32 / 16 * 1rem);
  }
  .reservation .btn_box .btn {
    width: calc(325 / 16 * 1rem);
  }
  .reservation .btn_box .btn::before {
    top: 0.1875rem;
    left: 0.1875rem;
    width: calc(100% - 0.375rem);
    height: calc(100% - 0.375rem);
  }
  .reservation .btn_box .btn > span {
    padding-top: calc(61 / 325 * 100%);
  }
}


/* parax bg */
.bg-image1 { padding-top: calc(618 / 1920 * 100%);}
.bg-image2 { padding-top: calc(700 / 1920 * 100%);}
.bg-image1 .bg-image {
  padding-top: calc(1118 / 1920 * 100%);
  background-image: url(../images/bg-image1.webp);
}
.bg-image2 .bg-image {
  padding-top: calc(900 / 1920 * 100%);
  background-image: url(../images/bg-image2.webp);
}

@media screen and (max-width: 768px) {
  .bg-image2 { padding-top: calc(430 / 375 * 100%);}
  .bg-image2 .bg-image {
    padding-top: calc(553 / 375 * 100%);
    background-size: cover;
    background-position: center center;
  background-image: url(../images/bg-image2-sp.webp);
  }
}


/* .article_footer */
.article_footer .bg-para .textbox {
  position: absolute;
  bottom: calc(123 / 1920 * 100vw);
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
}
.article_footer .bg-para .textbox .text {
  line-height: 1.375;
}
@media screen and (max-width: 768px) {
  .article_footer .bg-para .textbox {
    bottom: calc(74 / 16 * 1rem);
  }
  .article_footer .bg-para .textbox .text span {
    font-size: 80%;
  }
}


.article_footer .btn_box .btn_top {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: calc(92 / 1920 * 100vw);
  border-bottom: 1px var(--color-white) solid;
  background-color: rgba(51,51,51,0);
  transition: background-color .4s ease-in-out;
}
.article_footer .btn_box .btn_top:hover {
  background-color: rgba(51,51,51,1);
}
.article_footer .btn_box .btn_top .arrow {
  display: block;
  margin-top: 0;
  width: calc(49 / 1920 * 100%);
  height: 0;
  padding-top: calc(26 / 1920 * 100%);
  background-image: url(../images/arrow_footer.svg);
  transition: margin-top .2s ease-in-out;
}
@media screen and (min-width: 769px) {
.article_footer .btn_box .btn_top:hover .arrow {
    margin-top: -8px;
  }
}

@media screen and (max-width: 768px) {
  .article_footer .btn_box .btn_top {
    height: calc(50 / 16 * 1rem);
    border-top: 1px var(--color-white) solid;
    border-bottom-color: var(--color-border);
  }
  .article_footer .btn_box .btn_top:hover {
    background-color: rgba(51, 51, 51, 0);
  }
  .article_footer .btn_box .btn_top .arrow {
    width: calc(30 / 16 * 1rem);
    height: calc(15 / 16 * 1rem);
    padding-top: 0;
  }
}

