@charset "UTF-8";

header {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  height: 50px;
  font-family: georgia;
}
header.front {
  z-index: 20;
  font-family: georgia;
}
header.bg {
  z-index: 15;
  background-color: rgba(0,0,0,0.9);
  opacity: 0;
}
header a,
header a:hover {
  transition: 0.3s;
}
header a.logo {
  display: flex;
  align-items: center;
  opacity: 0;
}
header a.logo img {
  width: 80%;
  margin: 0 40px;
}
header nav {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
header nav .mainnav,
header nav .snsnav {
  display: flex;
}
header nav a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 20px;
  color: #fff;
}
header nav .mainnav a::after {
  position: absolute;
  bottom: 0px;
  left: 50%;
  content: '';
  height: 1px;
  width: 0;
  background-color: #fff;
  transition: 0.3s;
}
header nav .mainnav a:hover {
  opacity: 1;
}
header nav .mainnav a:hover::after {
  left: 0;
  width: 100%;
  transition: 0.3s;
}
header nav .snsnav {
  padding: 0 10px;
}
header nav .snsnav a {
  padding: 0 5px;
}
header nav .snsnav a img {
  width: 25px;
}
header .sp_menubutton {
  display: none;
}

@media screen and (max-width:896px) {
  header.front {
    justify-content: space-between;
    z-index: 20;
  }
  header a.logo {
    position: relative;
    display: block;
    box-sizing: border-box;
    height: 100%;
    padding: 16px;
  }
  header a.logo img {
    width: 35vw;
    max-width: 150px;
    height: auto;
    margin: 0;
  }
  header nav {
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 100vw;
    height: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #000;
    opacity: 0;
    transition: 0.5s;
  }
  header nav.show {
    height: 100vh;
    padding-bottom: 10vh;
    opacity: 1;
    transition: 0.5s;
    z-index: 1;
  }
  header nav .mainnav {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  header nav .snsnav {
    justify-content: center;
  }
  header nav .mainnav a {
    margin: 2vh 0;
    border-bottom: solid #fff 1px;
    font-size: 2.4rem;
    letter-spacing: 1px;
  }
  header nav .snsnav a {
    margin-top: 3vh;
    padding: 0 5px;
  }
  header nav .snsnav a img {
    width: 36px;
  }
  header .sp_menubutton {
    position: relative;
    display: block;
    box-sizing: border-box;
    height: 100%;
    padding: 12px;
    z-index: 2;
  }
  header .sp_menubutton img {
    height: 100%;
  }
  /*20201222fix--*/
    header .sp_menubutton {
      width: 40px;
      height: 32px;
      margin: 9px;
      cursor: pointer;
    }
    header .sp_menubutton img {
      display: none;
    }
    header .sp_menubutton span {
      display: block;
      position: absolute;
      left: 0;
      width: 100%;
      height: 4px;
      border-radius: 5px;
      transition: 0.5s;
      background-color: #fff;
      opacity: 1;
    }
    header .sp_menubutton span:nth-child(1) { top: 0; }
    header .sp_menubutton span:nth-child(2) { top: 50%; transform: translateY(-50%); }
    header .sp_menubutton span:nth-child(3) { bottom: 0; }
    header .sp_menubutton.show span:nth-child(1) {
      transform: translateY(14px) rotate(-45deg);
    }
    header .sp_menubutton.show span:nth-child(2) {
      opacity: 0;
    }
    header .sp_menubutton.show span:nth-child(3) {
      transform: translateY(-14px) rotate(45deg);
    }
  /*--20201222fix*/
}

@media screen and (max-width:896px) and (orientation:landscape) {
  header nav .mainnav {
    flex-direction: initial;
    flex-wrap: wrap;
    margin-bottom: 5vh;
    padding: 0 10vw;
  }
  header nav .mainnav a {
    margin: 2vh;
  }
}

main.top {
}

section.mv {
  position: relative;
  width: 100%;
}
section.mv .text {
  position: absolute;
  top: 45%;
  right: 18%;
  z-index: 13;
  transform: translateY(-50%);
  /* 20201221
  animation: text_invert 48s ease 24s infinite normal;
  */
  animation: initial;
  filter: invert(100%);
}
section.mv .images {
  overflow: hidden;
  position: relative;
  width: 100%;
  background-color: #fff;
}
section.mv .images .box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
section.mv .images .box img {
  display: block;
  position: relative;
  width: 100%;
  opacity: 0;
  transform: scale(1.15, 1.15);
  z-index: 11;
}
section.mv .images .box:nth-child(1) {
  position: relative;
}
section.mv .images .box:nth-child(1) { animation: scale_sp 48s ease  0s infinite normal; }
section.mv .images .box:nth-child(2) { animation: scale_sp 48s ease  8s infinite normal; }
section.mv .images .box:nth-child(3) { animation: scale_sp 48s ease 16s infinite normal; }
section.mv .images .box:nth-child(4) { animation: scale_sp 48s ease 24s infinite normal; }
section.mv .images .box:nth-child(5) { animation: scale_sp 48s ease 32s infinite normal; }
section.mv .images .box:nth-child(6) { animation: scale_sp 48s ease 40s infinite normal; }
@keyframes scale_sp {
  0% {transform:scale(1.15);z-index:0;}
  6% {transform:scale(1.0);}
  30% {transform:scale(1.0);z-index:1;}
  99% {transform:scale(1.0);}
  100% {transform:scale(1.15);}
}
section.mv .images .box:nth-child(1) img { animation: slide 48s ease  0s infinite normal; }
section.mv .images .box:nth-child(2) img { animation: slide 48s ease  8s infinite normal; }
section.mv .images .box:nth-child(3) img { animation: slide 48s ease 16s infinite normal; }
section.mv .images .box:nth-child(4) img { animation: slide 48s ease 24s infinite normal; }
section.mv .images .box:nth-child(5) img { animation: slide 48s ease 32s infinite normal; }
section.mv .images .box:nth-child(6) img { animation: slide 48s ease 40s infinite normal; }
@keyframes slide {
  0% {opacity:0;z-index:11;}
  6% {opacity:1;}
  17% {opacity:1;}
  20% {opacity:0.1;}
  26% {opacity:0;z-index:12;}
/*
  17% {opacity:1;}
  26% {opacity:0;z-index:12;}
*/
}
@keyframes text_invert {
  2% {
    -webkit-filter: invert(0%);
    -moz-filter: invert(0%);
    -o-filter: invert(0%);
    -ms-filter: invert(0%);
    filter: invert(0%);
  }
  8% {
    -webkit-filter: invert(100%);
    -moz-filter: invert(100%);
    -o-filter: invert(100%);
    -ms-filter: invert(100%);
    filter: invert(100%);
  }
  52% {
    -webkit-filter: invert(100%);
    -moz-filter: invert(100%);
    -o-filter: invert(100%);
    -ms-filter: invert(100%);
    filter: invert(100%);
  }
  58% {
    -webkit-filter: invert(0%);
    -moz-filter: invert(0%);
    -o-filter: invert(0%);
    -ms-filter: invert(0%);
    filter: invert(0%);
  }
}

@media screen and (max-width:896px) and (orientation:landscape) {
  section.mv {
    margin: 0;
    padding: 0;
  }
  section.mv .text {
    top: 50%;
    width: 20vw;
    max-width: 150px;
    animation: initial;
    filter: invert(100%);
  }
  section.mv .text img {
    width: 100%;
  }
}
@media screen and (max-width:896px) and (orientation:portrait) {
  section.mv {
    margin: 0;
    padding: 0;
  }
  section.mv .text {
    position: absolute;
    top: 53%;
    left: 16px;
    right: initial;
    width: 35vw;
    max-width: 150px;
    height: auto;
    transform: translateY(-50%);
    animation: initial;
    filter: invert(100%);
  }
  section.mv .text img {
    width: 100%;
  }
  section.mv .images {
    position: relative;
    width: 100%;
    height: 100vh;
    height: -moz-fill-available;
    height: -webkit-fill-available;
    height: fill-available;
    overflow: hidden;
  }
  section.mv .images .box {
    transform: scale(1.1);
    height: 100%;
  }
  section.mv .images .box img {
    left: 50%;
    width: auto;
    height: 100vh;
    height: -moz-fill-available;
    height: -webkit-fill-available;
    height: fill-available;
  }
  /* 20201221
  section.mv .images .box:nth-child(1) img { transform: translateX(-50%) scale(-1,1); }
  section.mv .images .box:nth-child(2) img { transform: translateX(-30%); }
  */
  section.mv .images .box:nth-child(1) img { transform: translateX(-64%); }
  section.mv .images .box:nth-child(2) img { transform: translateX(-55%); }
  section.mv .images .box:nth-child(3) img { transform: translateX(-50%); }
  section.mv .images .box:nth-child(4) img { transform: translateX(-40%); }
  section.mv .images .box:nth-child(5) img { transform: translateX(-70%); }
  section.mv .images .box:nth-child(6) img { transform: translateX(-50%); }
} /* media */

section.content01 {
  position: relative;
  color: #fff;
  background-color: var(--gray);
  overflow: hidden;
}
section.content01 .varome {
}
section.content01 .l_varome {
  position: absolute;
  left: 0;
  top: 240px;
  z-index: 8;
}
section.content01 .r_varome {
  position: absolute;
  right: 0;
  bottom: -240px;
  z-index: 3;
}

@media screen and (max-width:896px) {
  section.content01 {
    padding: 0;
  }
  section.content01 .varome img {
    width: 15vw;
  }
  section.content01 .l_varome {
    z-index: 1;
  }
}

section.concept {
  position: relative;
  overflow: hidden;
  padding: 60px 0;
  line-height: 2.0;
  color: #fff;
}
section.concept .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
section.concept .bg .swoosh {
  margin-top: 150px;
  width: 100%;
}
section.concept h1 {
  margin: 60px 0;
  text-align: center;
}
section.concept h1 span {
}
section.concept .flex {
  display: flex;
  justify-content: center;
}
section.concept p {
  margin-left: 60px;
  font-size: 1.8rem;
}
section.concept .slide {
  overflow: hidden;
  position: relative;
  width: 100%;
  margin: 60px 0;
  z-index: 4;
}
section.concept .slide img {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 50vw;
  transform: translateX(-50%);
}
section.concept .slide img:nth-child(1) { position: relative; }
section.concept .slide img:nth-child(1) { transform: translateX(-50%); }
section.concept .slide img:nth-child(2) { transform: translateX(50%); }
section.concept .slide img:nth-child(3) { transform: translateX(150%); }
section.concept .slide img:nth-child(4) { transform: translateX(250%); }
section.concept .slide img:nth-child(5) { transform: translateX(-250%); }
section.concept .slide img:nth-child(6) { transform: translateX(-150%); }
section.concept .slide img:nth-child(1) { animation: slide1 90s linear 0s infinite normal; }
section.concept .slide img:nth-child(2) { animation: slide2 90s linear 0s infinite normal; }
section.concept .slide img:nth-child(3) { animation: slide3 90s linear 0s infinite normal; }
section.concept .slide img:nth-child(4) { animation: slide4 90s linear 0s infinite normal; }
section.concept .slide img:nth-child(5) { animation: slide5 90s linear 0s infinite normal; }
section.concept .slide img:nth-child(6) { animation: slide6 90s linear 0s infinite normal; }
@keyframes slide1 {
  0% {transform: translateX(-50%);}
  33.33% {transform: translateX(-250%); opacity: 1;}
  33.34% {transform: translateX(-250%); opacity: 0;}
  49.99% {transform: translateX(250%); opacity: 0;}
  50% {transform: translateX(250%); opacity: 1;}
  100% {transform: translateX(-50%);}
}
@keyframes slide2 {
  0% {transform: translateX(50%);}
  50% {transform: translateX(-250%); opacity: 1;}
  50.01% {transform: translateX(-250%); opacity: 0;}
  66.65% {transform: translateX(250%); opacity: 0;}
  66.66% {transform: translateX(250%); opacity: 1;}
  100% {transform: translateX(50%);}
}
@keyframes slide3 {
  0% {transform: translateX(150%);}
  66.66% {transform: translateX(-250%); opacity: 1;}
  66.67% {transform: translateX(-250%); opacity: 0;}
  83.32% {transform: translateX(250%); opacity: 0;}
  83.33% {transform: translateX(250%); opacity: 1;}
  100% {transform: translateX(150%);}
}
@keyframes slide4 {
  0% {transform: translateX(250%);}
  83.33% {transform: translateX(-250%); opacity: 1;}
  83.34% {transform: translateX(-250%); opacity: 0;}
  99.99% {transform: translateX(250%); opacity: 0;}
  100% {transform: translateX(250%); opacity: 1;}
}
@keyframes slide5 {
  0% {transform: translateX(-250%); opacity: 1;}
  0.01% {transform: translateX(-250%); opacity: 0;}
  16.65% {transform: translateX(250%); opacity: 0;}
  16.66% {transform: translateX(250%); opacity: 1;}
  100% {transform: translateX(-250%);}
}
@keyframes slide6 {
  0% {transform: translateX(-150%);}
  16.66% {transform: translateX(-250%); opacity: 1;}
  16.67% {transform: translateX(-250%); opacity: 0;}
  33.32% {transform: translateX(250%); opacity: 0;}
  33.33% {transform: translateX(250%); opacity: 1;}
  100% {transform: translateX(-150%);}
}

@media screen and (max-width:896px) {
  section.concept {
    padding: 30px 0;
  }
  section.concept .bg {
    width: 200%;
    left: -50%;
  }
  section.concept h1 {
    margin: 45px 0;
  }
  section.concept p {
    position: relative;
    margin: 0 30px;
    text-align: left;
    font-size: 1.6rem;
    line-height: 2.0;
    letter-spacing: -1px;
    z-index: 1;
  }
  section.concept .slide {
    margin: 30px 0;
  }
  section.concept .slide img {
    width: 70vw;
  }
  section.concept .slide img:nth-child(1) { animation: slide1 60s linear 0s infinite normal; }
  section.concept .slide img:nth-child(2) { animation: slide2 60s linear 0s infinite normal; }
  section.concept .slide img:nth-child(3) { animation: slide3 60s linear 0s infinite normal; }
  section.concept .slide img:nth-child(4) { animation: slide4 60s linear 0s infinite normal; }
  section.concept .slide img:nth-child(5) { animation: slide5 60s linear 0s infinite normal; }
  section.concept .slide img:nth-child(6) { animation: slide6 60s linear 0s infinite normal; }
  section.concept .slide img:nth-child(1) { position: relative; }
}

section.about {
  position: relative;
  overflow: hidden;
}
section.about .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
}
section.about .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.about .front {
  position: relative;
  display: flex;
  margin: 10% 8% 5% 0;
  z-index: 5;
  color: #fff;
}
section.about .front .imagebox{
  width: 60%;
}
section.about .front .imagebox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.about .front .textbox h1 {
  margin-top: 0;
}
section.about .front h1.sp {
  display: none;
}

@media screen and (max-width:896px) {
  section.about {
    overflow: hidden;
  }
  section.about .front {
    display: block;
    margin: 60px 15px;
  }
  section.about .front h1.sp {
    display: block;
    text-align: center;
  }
  section.about .front h1.pc {
    display: none;
  }
  section.about .front .imagebox{
    width: auto;
  }
  section.about .front .imagebox img {
    width: 100%;
    height: auto;
    object-fit: initial;
  }
  section.about .front .textbox {
    width: 100%;
  }
  section.about .front .textbox h1 {
    margin-top: 0;
  }
}

section.menu {
  position: relative;
  overflow: hidden;
}
section.menu .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}
section.menu .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.menu .front {
  position: relative;
  z-index: 4;
  padding-top: 60px;
  text-align: center;
}
section.menu small {
  display: flex;
  justify-content: center;
  margin: 10px 0 0 40px;
  text-align: left;
}
section.menu .front .slide {
  position: relative;
  width: 100%;
  text-align: left;
  z-index: 4;
}
section.menu .front .slide img {
  position: absolute;
  top: 0;
  left: 50%;
  width: 50vw;
  transform: translateX(-50%);
  transition: 1s;
  z-index: 1;
  opacity: 0;
}
section.menu .front .slide img.current,
section.menu .front .slide img.current_near {
  opacity: 1;
}
section.menu .front .slide img.current {
  z-index: 2;
}
/*
section.menu .front .slide img.current_near {
  opacity: 1;
  cursor: pointer;
}
section.menu .front .slide img.current_near:hover {
  opacity: 0.5;
  transition: 0.5s;
}
*/
section.menu .front .slide img:nth-child(1) {
  position: relative;
}
section.menu .slide_pagenation {
  display: flex;
  justify-content: center;
  margin: 60px 0;
}
section.menu .slide_pagenation .circles {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30%;
}
section.menu .slide_pagenation .circles img {
  margin: 0 4px;
  opacity: 0.5;
  cursor: pointer;
}
section.menu .slide_pagenation .circles img:hover,
section.menu .slide_pagenation .circles img.current {
  opacity: 1;
}
section.menu .slide_pagenation .prev,
section.menu .slide_pagenation .next {
  cursor: pointer;
}

@media screen and (max-width:896px) {
  section.menu .front {
    padding-top: 0;
  }
  section.menu .front .slide img {
    width: 70vw;
  }
  section.menu .slide_pagenation {
    margin: 45px 0;
  }
  section.menu .slide_pagenation .circles {
    width: 60%;
  }
  section.menu .slide_pagenation .circles img {
    width: 6px;
    margin: 0 2px;
  }
  section.menu .slide_pagenation .prev,
  section.menu .slide_pagenation .next {
    width: auto;
    height: 32px;
  }
  section.menu small {
    margin: 10px 40px;
    font-size: 70%;
  }
}

section.wine {
  position: relative;
  overflow: hidden;
  padding: 0 0 60px 0;
  background-color: var(--gray);
}
section.wine .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
section.wine .bg .swoosh {
  width: 100%;
}
section.wine .front {
  position: relative;
  z-index: 4;
}
section.wine h1 {
  margin: 60px 0 60px 0;
  text-align: center;
}
section.wine .imagebox {
  padding-bottom: 30px;
  text-align: right;
}
section.wine .imagebox img {
  width: 60%;
}
section.wine .textbox {
  position: absolute;
  left: 8%;
  bottom: 0;
  width: auto;
  min-width: 35%;
  padding: 60px 45px;
}
section.wine .textbox h2 {
  margin-top: 0;
}

@media screen and (max-width:896px) {
  section.wine {
    padding: 30px 0;
  }
  section.wine .bg {
    width: 200%;
    left: -50%;
  }
  section.wine .front {
    padding: 5px 15px 45px 15px;
  }
  section.wine h1 {
    margin: 45px 0;
  }
  section.wine .imagebox {
    padding-bottom: 0;
    text-align: initial;
  }
  section.wine .imagebox img {
    width: 100%;
  }
  section.wine .textbox {
    position: static;
    width: auto;
    min-width: initial;
    padding: 5px 15px;
  }
  section.wine .textbox h2 {
    margin-top: 25px;
  }
}

section.content02 {
}
@media screen and (max-width:896px) {
  section.content02 {
    padding: 0;
  }
}

section.visitor {
  position: relative;
  overflow: hidden;
  background-color: var(--gray);
}
section.visitor .imagebox {
  margin-bottom: -45px;
}
section.visitor .imagebox img {
  width: 100%;
}
section.visitor .textbox {
  display: flex;
  position: relative;
  top: 0;
  left: 20vw;
  width: 80vw;
}
section.visitor .textbox h1 {
  margin-top: 0;
  margin-right: 5vw;
  white-space: nowrap;
}
section.visitor .textbox h1 span {
  font-family: var(--font_mincho);
}
section.visitor .textbox .right {
  margin-right: 5vw;
}
section.visitor .textbox h2 {
  margin-top: 0;
}
section.visitor .textbox p {
  margin-bottom: 0;
}
section.visitor .textbox.sp {
  display: none;
}

@media screen and (max-width:896px) {
  section.visitor {
    padding-bottom: 45px;
  }
  section.visitor .imagebox {
    margin-bottom: initial;
  }
  section.visitor .textbox.sp {
    display: block;
  }
  section.visitor .textbox {
    display: block;
    position: static;
    width: auto;
    margin: 0 15px;
  }
  section.visitor .textbox h1 {
    margin-top: initial;
    margin-right: initial;
    margin: 45px 0;
    text-align: center;
  }
  section.visitor .textbox h1 span {
    padding: 8px;
    font-size: 2.0rem;
    letter-spacing: 0;
  }
  section.visitor .textbox .right {
    margin-right: 0;
  }
  section.visitor .textbox h2 {
    margin-top: 25px;
  }
  section.visitor .textbox p {
    margin-bottom: 25px;
    text-align: left;
  }
  section.visitor h1.pc {
    display: none;
  }
}

section.openhouse {
  position: relative;
  overflow: hidden;
}
section.openhouse .bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
section.openhouse .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.openhouse .front {
  position: relative;
  z-index: 4;
  padding: 120px 0;
  text-align: center;
  color: #fff;
}
section.openhouse h1 span {
  padding: 10px 30px;
}
section.openhouse table {
  width: 800px;
  max-width: 90%;
  margin: 45px auto;
}
section.openhouse tr {
  border-bottom: solid #aaa 1px;
}
section.openhouse th {
  width: 25%;
  padding: 10px 0;
  padding-right: 8%;
}
section.openhouse td {
  padding: 10px 0;
  text-align: left;
}
section.openhouse td.takeout a {
  text-decoration: underline;
  color: #fff;
}

@media screen and (max-width:896px) {
  section.openhouse .front {
    padding: 30px 0;
  }
  section.openhouse h1 span {
    padding: 10px 20px;
  }
  section.openhouse table {
    width: 100%;
  }
  section.openhouse tr {
    display: block;
    padding: 20px 10px;
  }
  section.openhouse th,
  section.openhouse td {
    display: block;
    width: 100%;
  }
}

section.access {
  position: relative;
  overflow: hidden;
  background-color: var(--gray);
}
section.access .front {
  display: flex;
  justify-content: space-between;
  margin: 10vw 10vw 10vw 13vw;
  color: #fff;
}
section.access .box1 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
section.access .box1 h1 {
  margin-top: 0;
}
section.access .box1 .info {
  padding-bottom: 30px;
}
section.access .box1 .info a {
  padding: 10px 40px;
  border: solid #fff 1px;
  font-size: 1.0rem;
  font-family: sans-serif;
  color: #fff;
}
section.access .box2 iframe {
  width: 45vw;
  height: 40vw;
  margin-left: 5vw;
  vertical-align: top;
}

@media screen and (max-width:896px) {
  section.access {
    padding-bottom: 0;
  }
  section.access .front {
    display: block;
    margin: 0;
    margin-top: 45px;
    text-align: center;
  }
  section.access .info {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  section.access .info span {
    display: block;
    text-align: left;
  }
  section.access .info a {
    line-height: 1.0;
  }
  section.access .box2 iframe {
    width: 100vw;
    height: 400px;
    margin-left: auto;
  }
}

footer {
  position: relative;
  overflow: hidden;
  color: #fff;
}
footer .logo {
  padding: 50px 0;
  text-align: center;
}
footer .logo img {
}
footer .sns {
  position: absolute;
  top: 50%;
  right: 10vw;
  transform: translateY(-50%);
}
footer .sns >span {
  vertical-align: middle;
  font-size: 1.4rem;
  color: #fff;
}
footer .sns a img {
  width: 25px;
  margin-left: 5px;
  vertical-align: middle;
}
footer .copy {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 10px 0;
  text-align: center;
}

@media screen and (max-width:896px) {
  footer {
    padding: 30px 0;
  }
  footer .logo {
    margin: 50px 0;
    padding: 0;
    text-align: center;
  }
  footer .logo img {
    width: 40%;
    max-width: 150px;
  }
  footer .sns {
    position: static;
    top: 50%;
    right: 10vw;
    transform: none;
    margin: 10px 0;
    text-align: center;
  }
  footer .sns span {
    vertical-align: middle;
  }
  footer .sns a img {
    width: 36px;
    margin-left: 5px;
    vertical-align: middle;
  }
  footer .copy {
    position: static;
  }
}


.pagetop {
  display: none;
  position: fixed;
  bottom: 5vw;
  right: 5vw;
  width: 80px;
  z-index: 20;
}
.pagetop img {
  width: 100%;
}

@media screen and (max-width:896px) {
  .pagetop {
    bottom: 16px;
    right: 16px;
    width: 64px;
    z-index: 10;
  }
}

