@charset "UTF-8";
/* colors */
/*
**********************************************
common
**********************************************
*/
body {
  font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

a:hover {
  color: #D9AE8F !important;
}

a:hover img {
  animation: hover-action ease 1.5s infinite;
}

section {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s;
}

.box {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

h2 {
  font-size: calc(100vw / 1500 * 30);
  letter-spacing: calc(100vw / 1500 * 8);
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media all and (max-width: 640px) {
  h2 {
    font-size: calc(100vw / 640 * 30);
  }
}

h3 {
  font-size: calc(100vw / 1500 * 21);
  letter-spacing: calc(100vw / 1500 * 3);
}
@media all and (max-width: 640px) {
  h3 {
    font-size: calc(100vw / 640 * 21);
  }
}

.tt_box {
  display: flex;
  justify-content: space-between;
}
@media all and (max-width: 999px) {
  .tt_box {
    display: block;
  }
}
.tt_box h4 {
  background: url("../images/catch_bg.svg") no-repeat left top/100%;
  width: calc(100vw / 1500 * 220);
  max-width: 220px;
  height: calc(100vw / 1500 * 263);
  max-height: 263px;
  padding-top: 140px;
  text-align: center;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: calc(100vw / 1500 * 20);
  letter-spacing: -1px;
  box-sizing: border-box;
  font-weight: bold;
  vertical-align: middle;
}
@media all and (max-width: 999px) {
  .tt_box h4 {
    padding-top: calc(100vw / 1500 * 140);
  }
}
@media all and (max-width: 640px) {
  .tt_box h4 {
    width: 30vw;
    height: 35vw;
    margin: 0 auto;
    font-size: calc(100vw / 640 * 20);
    padding-top: calc(100vw / 640 * 120);
  }
}
.tt_box .text01 {
  width: 70%;
  display: inline-block;
  padding-top: calc(100vw / 1500 * 40);
  box-sizing: border-box;
}
@media all and (max-width: 640px) {
  .tt_box .text01 {
    display: block;
    width: 94%;
    margin: 0 auto;
    font-size: calc(100vw / 640 * 19);
    padding: 0;
    margin-top: calc(100vw / 640 * 40);
  }
}

h6 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: calc(100vw / 1500 * 20);
  letter-spacing: normal;
  font-weight: bold;
  margin-bottom: .5em;
}

.text {
  font-size: calc(100vw / 1500 * 21);
  letter-spacing: calc(100vw / 1500 * 3);
  line-height: calc(100vw / 1500 * 50);
}
@media all and (max-width: 640px) {
  .text {
    font-size: calc(100vw / 640 * 21);
    line-height: calc(100vw / 640 * 50);
  }
}

/*
**********************************************
keyframes
**********************************************
*/
@keyframes hover-action {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes swing {
  0% {
    transform: translateY(0%);
  }
  50% {
    transform: translateY(-5%);
  }
  100% {
    transform: translateY(0%);
  }
}
@keyframes swing2 {
  0% {
    transform: translateY(0%);
  }
  50% {
    transform: translateY(5%);
  }
  100% {
    transform: translateY(0%);
  }
}
/*
**********************************************
header
**********************************************
*/
header {
  background: url("../images/mainimg.jpg") no-repeat center top/100%;
  padding-bottom: calc(100vw / 1500 * 60);
}
@media all and (max-width: 640px) {
  header {
    background-size: cover;
    padding-bottom: 0;
  }
}
header h1 {
  width: 140px;
  padding: 3%;
}
header .box01 {
  width: calc(100vw / 1500 * 876);
  height: calc(100vw / 1500 * 685);
  margin: 8% auto;
  background: url("../images/main_text_bg.png") no-repeat center top/100%;
}
@media all and (max-width: 640px) {
  header .box01 {
    margin-top: 0;
    height: auto;
    width: 90%;
    background-size: cover;
  }
}
header .box01 #main {
  width: calc(800 * 100% / 876);
  height: 100%;
  margin: 0 auto;
  background: url("../images/main_text_bg02.svg") no-repeat center bottom/100%;
}
@media all and (max-width: 640px) {
  header .box01 #main {
    width: 90%;
    background-position: center 30%;
    background-size: 100% 100%;
  }
}
header .box01 #main .main_inner {
  padding-top: calc(100vw / 1500 * 250);
  text-align: center;
}
@media all and (max-width: 640px) {
  header .box01 #main .main_inner {
    padding-top: calc(100vw / 640 * 200);
  }
}
header .box01 #main .main_inner h2 {
  margin-bottom: calc(100vw / 1500 * 30);
}
@media all and (max-width: 640px) {
  header .box01 #main .main_inner h2 {
    font-size: calc(100vw / 640 * 34);
  }
}
header .box01 #main .main_inner .text {
  background: url("../images/normal_line.png") no-repeat center top;
  padding-top: 50px;
}
@media all and (max-width: 640px) {
  header .box01 #main .main_inner .text {
    padding-top: calc(100vw / 640 * 50);
  }
}
header .box01 #main .main_inner .more {
  font-size: calc(100vw / 1500 * 17);
  letter-spacing: calc(100vw / 1500 * 3);
  margin-top: calc(100vw / 1500 * 70);
}
@media all and (max-width: 640px) {
  header .box01 #main .main_inner .more {
    font-size: calc(100vw / 640 * 17);
    margin-top: calc(100vw / 640 * 70);
  }
}
header .box01 #main .main_inner .more a {
  display: block;
}
header .box01 #main .main_inner .more a:after {
  display: block;
  width: calc(100vw / 1000 * 25);
  max-width: 25px;
  content: url("../images/arrow_icon.svg");
  margin: calc(100vw / 1500 * 19) auto;
}
header .box01 #main .main_inner .more a:hover {
  color: #000000 !important;
  animation: hover-action ease 1.5s infinite;
}
header .box02 {
  position: relative;
  width: 80%;
  margin: 0 auto;
}
@media all and (max-width: 999px) {
  header .box02 {
    width: 94%;
  }
}
@media all and (max-width: 640px) {
  header .box02 {
    width: 100%;
    background-color: #ffffff;
    padding-bottom: calc(100vw / 640 * 60);
  }
}
header .box02 .contact_btn {
  width: calc(100vw / 1000 * 221);
  max-width: 221px;
}
@media all and (max-width: 640px) {
  header .box02 .contact_btn {
    width: 30%;
    position: absolute;
    top: -20%;
    left: 0;
  }
}
header .box02 .text {
  display: inline-block;
/*  padding-left: 200px;*/
  margin-top: -46px;
  margin-bottom: 60px;
  text-align: center;
  font-size: calc(100vw / 1500 * 19);
  line-height: calc(100vw / 1500 * 40);
}
@media all and (max-width: 999px) {
  header .box02 .text {
    padding-left: calc(100vw / 1000 * 200);
    margin-top: calc(100vw / 1000 * -46);
    margin-bottom: calc(100vw / 1000 * 60);
  }
}
@media all and (max-width: 640px) {
  header .box02 .text {
    font-size: calc(100vw / 640 * 19);
    line-height: calc(100vw / 640 * 40);
    margin-top: 8%;
	padding: 8% 0 0;
	display: block;
  }
}
header .box02 ul {
  position: absolute;
/*  bottom: -5%;*/
  bottom: 15%;
  right: -10%;
}
@media all and (max-width: 999px) {
  header .box02 ul {
    right: 0;
  }
}
@media all and (max-width: 640px) {
  header .box02 ul {
    position: relative;
    bottom: 0%;
    left: 0%;
	width: 70%;
	margin-left: 15%;
  }
}
header .box02 ul li {
  display: inline-block;
}
header .box02 ul li:first-child {
  width: calc(100vw / 1500 * 289);
  max-width: 289px;
  animation: swing 1.5s ease infinite;
}
@media all and (max-width: 640px) {
  header .box02 ul li:first-child {
    width: calc(100vw / 640 * 200);
  }
}
header .box02 ul li:first-child:hover {
  animation-play-state: paused;
}
header .box02 ul li:last-child {
  width: calc(100vw / 1500 * 305);
  max-width: 305px;
  animation: swing2 1.5s ease infinite;
}
@media all and (max-width: 640px) {
  header .box02 ul li:last-child {
    width: calc(100vw / 640 * 210);
  }
}
header .box02 ul li:last-child:hover {
  animation-play-state: paused;
}

/*
**********************************************
about
**********************************************
*/
#about {
  background: url("../images/about_bg.jpg") no-repeat center top/100%;
  height: calc(100vw / 1500 * 1008);
}
@media all and (max-width: 640px) {
  #about {
    margin-top: 20%;
    height: auto;
    background-size: auto 100%;
  }
}
#about .box01 {
  width: calc(100vw / 1500 * 480);
  max-width: 480px;
  padding-top: calc(100vw / 1500 * 170);
  margin: 0 auto;
}
@media all and (max-width: 640px) {
  #about .box01 {
    width: calc(100vw / 640 * 280);
  }
}
#about .box01 h3 {
  width: calc(100vw / 1500 * 145);
  max-width: 145px;
  text-align: center;
  margin: 0 auto;
}
@media all and (max-width: 640px) {
  #about .box01 h3 {
    width: calc(100vw / 640 * 145);
  }
}
#about .box01 h3 img {
  padding-bottom: 1em;
}
#about .box01 .text {
  padding-top: calc(100vw / 1500 * 80);
  font-size: calc(100vw / 1500 * 17);
  line-height: calc(100vw / 1500 * 40);
}
@media all and (max-width: 640px) {
  #about .box01 .text {
    font-size: calc(100vw / 640 * 17);
    line-height: calc(100vw / 640 * 40);
    padding-bottom: calc(100vw / 640 * 80);
  }
}
#about .box01 .text .large {
  font-size: calc(100vw / 1500 * 40);
  font-weight: bold;
  vertical-align: middle;
}
#about .box01 .text .l_ora {
  background: linear-gradient(transparent 60%, #FDE0B5 60%);
}

/*
**********************************************
kodawari
**********************************************
*/
#kodawari {
  padding: calc(100vw / 1500 * 100) 0;
}
#kodawari .box h3 {
  width: 45%;
  margin: 0 auto;
  text-align: center;
}
#kodawari .box ul {
  padding-top: calc(100vw / 1500 * 50);
  display: flex;
  justify-content: space-between;
}
#kodawari .box ul li {
  width: 30%;
  text-align: center;
  font-size: calc(100vw / 1500 * 21);
  letter-spacing: calc(100vw / 1500 * 3);
  line-height: calc(100vw / 1500 * 50);
  padding: calc(100vw / 1500 * 50) 0;
}
@media all and (max-width: 640px) {
  #kodawari .box ul li {
    font-size: calc(100vw / 640 * 16);
    line-height: calc(100vw / 640 * 30);
    letter-spacing: normal;
  }
}
#kodawari .box ul li:first-child {
  background: url("../images/kodawari_bg01.svg") no-repeat center center/100%;
}
#kodawari .box ul li:nth-child(2) {
  background: url("../images/kodawari_bg02.svg") no-repeat center center/100%;
}
#kodawari .box ul li:last-child {
  background: url("../images/kodawari_bg03.svg") no-repeat center center/100%;
}

/*
**********************************************
example
**********************************************
*/
#example {
  padding: calc(100vw / 1500 * 100) 0;
  background-color: #F3F3F4;
}
#example .box h3 {
  width: 45%;
  margin: 0 auto;
  text-align: center;
}
#example .box ul {
  padding-top: calc(100vw / 1500 * 50);
  display: flex;
  justify-content: space-between;
}
#example .box ul li {
  width: 47%;
}
#example .box ul li:first-child {
  animation: swing 1.5s ease infinite;
}
#example .box ul li:first-child:hover {
  animation-play-state: paused;
}
#example .box ul li:last-child {
  animation: swing2 1.5s ease infinite;
}
#example .box ul li:last-child:hover {
  animation-play-state: paused;
}

/*
**********************************************
hiraya nikai
**********************************************
*/
#hiraya .box01, #nikai .box01 {
  margin-bottom: calc(100vw / 1500 * 40);
}
#hiraya .box01 .box, #nikai .box01 .box {
  display: flex;
  justify-content: space-between;
}
@media all and (max-width: 640px) {
  #hiraya .box01 .box, #nikai .box01 .box {
    display: block;
  }
}
#hiraya .box01 .box .text, #nikai .box01 .box .text {
  width: 50%;
/*
  padding-right: 5%;
  */
}
@media all and (max-width: 640px) {
  #hiraya .box01 .box .text, #nikai .box01 .box .text {
    width: 94%;
    margin: 0 auto;
    padding: 0;
  }
}
#hiraya .box01 .box .text h5, #nikai .box01 .box .text h5 {
  font-size: calc(100vw / 1500 * 20);
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
  margin-bottom: 1em;
}
@media all and (max-width: 640px) {
  #hiraya .box01 .box .text h5, #nikai .box01 .box .text h5 {
    font-size: calc(100vw / 640 * 24);
  }
}
@media all and (max-width: 640px) {
  #hiraya .box01 .box .text p, #nikai .box01 .box .text p {
    font-size: calc(100vw / 640 * 20);
  }
}
#hiraya .box01 .box .img, #nikai .box01 .box .img {
  width: 50%;
}
@media all and (max-width: 640px) {
  #hiraya .box01 .box .img, #nikai .box01 .box .img {
    width: 94%;
    margin: 0 auto;
  }
}
#hiraya .box02, #nikai .box02 {
  background-color: #E5E5E5;
  padding: calc(100vw / 1500 * 60) 0;
}
#hiraya .box02 .box, #nikai .box02 .box {
  position: relative;
  display: flex;
  justify-content: space-between;
}
@media all and (max-width: 640px) {
  #hiraya .box02 .box, #nikai .box02 .box {
    display: block;
  }
}
#hiraya .box02 .box .text, #nikai .box02 .box .text {
  background-color: #ffffff;
  padding: calc(100vw / 1500 * 30) 0;
  margin-left: calc(100vw / 1500 * 20);
  box-sizing: border-box;
  width: 62%;
}
@media all and (max-width: 640px) {
  #hiraya .box02 .box .text, #nikai .box02 .box .text {
    width: 90%;
    margin: 0 auto;
  }
}
#hiraya .box02 .box .text p, #nikai .box02 .box .text p {
  position: absolute;
  width: calc(100vw / 1500 * 180);
  max-width: 180px;
  top: 0;
  left: 0;
}
@media all and (max-width: 640px) {
  #hiraya .box02 .box .text p, #nikai .box02 .box .text p {
    width: calc(100vw / 640 * 180);
  }
}
#hiraya .box02 .box .text dl, #nikai .box02 .box .text dl {
  width: 86%;
  margin: 0 auto;
}
#hiraya .box02 .box .text dl dt, #nikai .box02 .box .text dl dt {
  text-align: center;
  font-size: 1.2em;
  line-height: 2em;
  border-bottom: 1px #000000 solid;
  margin-bottom: 1em;
}
#hiraya .box02 .box .text dl dd, #nikai .box02 .box .text dl dd {
  line-height: 2em;
  width: auto;
  font-size: calc(100vw / 1500 * 16);
}
@media all and (max-width: 640px) {
  #hiraya .box02 .box .text dl dd, #nikai .box02 .box .text dl dd {
    width: 90%;
    margin: 0 auto;
    font-size: calc(100vw / 640 * 19);
  }
}
#hiraya .box02 .box .img, #nikai .box02 .box .img {
  width: calc(100vw / 1500 * 320);
  max-width: 320px;
  margin: 0 auto;
}
#hiraya .box03 .box, #nikai .box03 .box {
  margin-bottom: calc(100vw / 1500 * 60);
}
#hiraya .box03 .box .img, #nikai .box03 .box .img {
  padding: calc(100vw / 1500 * 50) 0;
}
#hiraya .box03 .box ul, #nikai .box03 .box ul {
  display: flex;
  justify-content: space-between;
}
@media all and (max-width: 640px) {
  #hiraya .box03 .box ul, #nikai .box03 .box ul {
    display: block;
  }
}
#hiraya .box03 .box ul li, #nikai .box03 .box ul li {
  width: 31%;
}
@media all and (max-width: 640px) {
  #hiraya .box03 .box ul li, #nikai .box03 .box ul li {
    width: 94%;
    margin: 0 auto calc(100vw / 1500 * 60);
  }
}
#hiraya .box03 .box ul li dl dt, #nikai .box03 .box ul li dl dt {
  margin-bottom: 1em;
}
@media all and (max-width: 640px) {
  #hiraya .box03 .box ul li dl dd h6, #nikai .box03 .box ul li dl dd h6 {
    font-size: calc(100vw / 640 * 30);
  }
}
#hiraya .box03 .box ul li dl dd .text02, #nikai .box03 .box ul li dl dd .text02 {
  height: 10em;
}
@media all and (max-width: 640px) {
  #hiraya .box03 .box ul li dl dd .text02, #nikai .box03 .box ul li dl dd .text02 {
    font-size: calc(100vw / 640 * 19);
    height: auto;
  }
}
#hiraya .gallery, #nikai .gallery {
  background: url("../images/normal_bg01.jpg") no-repeat left top/cover;
  padding: calc(100vw / 1500 * 50) 0;
}
#hiraya .gallery .box01, #nikai .gallery .box01 {
  overflow: hidden;
}
#hiraya .gallery .box01 h3, #nikai .gallery .box01 h3 {
  width: 10%;
  text-align: center;
  margin: 0 auto calc(100vw / 1500 * 50);
}
@media all and (max-width: 640px) {
  #hiraya .gallery .box01 h3, #nikai .gallery .box01 h3 {
    width: 20%;
  }
}
#hiraya .gallery .box01 .loopSlider, #hiraya .gallery .box01 .loopSlider2, #nikai .gallery .box01 .loopSlider, #nikai .gallery .box01 .loopSlider2 {
  margin: 0 auto;
  width: 100vw;
  height: calc(100vw / 1500 * 400);
  max-height: 400px;
  text-align: left;
  position: relative;
  overflow: hidden;
}
@media all and (max-width: 640px) {
  #hiraya .gallery .box01 .loopSlider, #hiraya .gallery .box01 .loopSlider2, #nikai .gallery .box01 .loopSlider, #nikai .gallery .box01 .loopSlider2 {
    height: calc(4 * 33.333vw / 3);
  }
}
#hiraya .gallery .box01 .loopSlider .loopSliderWrap, #hiraya .gallery .box01 .loopSlider2 .loopSliderWrap, #nikai .gallery .box01 .loopSlider .loopSliderWrap, #nikai .gallery .box01 .loopSlider2 .loopSliderWrap {
  top: 0;
  left: 0;
  height: 100%;
  overflow: hidden;
  position: absolute;
}
#hiraya .gallery .box01 .loopSlider .loopSliderWrap::after, #hiraya .gallery .box01 .loopSlider2 .loopSliderWrap::after, #nikai .gallery .box01 .loopSlider .loopSliderWrap::after, #nikai .gallery .box01 .loopSlider2 .loopSliderWrap::after {
  content: "";
  display: none;
  clear: none;
}
#hiraya .gallery .box01 .loopSlider .loopSliderWrap ul, #hiraya .gallery .box01 .loopSlider2 .loopSliderWrap ul, #nikai .gallery .box01 .loopSlider .loopSliderWrap ul, #nikai .gallery .box01 .loopSlider2 .loopSliderWrap ul {
  height: 100%;
  float: left;
  overflow: hidden;
}
#hiraya .gallery .box01 .loopSlider .loopSliderWrap ul li, #hiraya .gallery .box01 .loopSlider2 .loopSliderWrap ul li, #nikai .gallery .box01 .loopSlider .loopSliderWrap ul li, #nikai .gallery .box01 .loopSlider2 .loopSliderWrap ul li {
  height: 100%;
  float: left;
  display: inline;
  overflow: hidden;
}
@media all and (max-width: 640px) {
  #hiraya .gallery .box01 .loopSlider .loopSliderWrap ul li, #hiraya .gallery .box01 .loopSlider2 .loopSliderWrap ul li, #nikai .gallery .box01 .loopSlider .loopSliderWrap ul li, #nikai .gallery .box01 .loopSlider2 .loopSliderWrap ul li {
    width: 33.333vw;
  }
}

/*
**********************************************
nikai *only
**********************************************
*/
#nikai .box02 .box .text p {
  width: calc(100vw / 1500 * 257);
  max-width: 257px;
}
@media all and (max-width: 640px) {
  #nikai .box02 .box .text p {
    width: calc(100vw / 640 * 210);
  }
}
#nikai .box03 .box ul li dl dd .text02 {
  height: 13em;
}
@media all and (max-width: 640px) {
  #nikai .box03 .box ul li dl dd .text02 {
    height: auto;
  }
}

/*
**********************************************
contact
**********************************************
*/
#contact {
  padding-top: calc(100vw / 1500 * 100);
  background: url("../images/map.jpg") no-repeat right bottom/60%;
}
@media all and (max-width: 640px) {
  #contact {
    padding-bottom: 30vw;
  }
}
#contact .box .text {
  width: 50%;
}
@media all and (max-width: 640px) {
  #contact .box .text {
    width: 94%;
    margin: 0 auto;
  }
}
#contact .box .text h5 {
  text-align: center;
  font-size: calc(100vw / 1500 * 28);
  font-weight: bold;
  margin-bottom: calc(100vw / 1500 * 20);
}
@media all and (max-width: 640px) {
  #contact .box .text h5 {
    font-size: calc(100vw / 640 * 24);
  }
}
#contact .box .text h5 img {
  width: 40%;
  display: block;
  margin: calc(100vw / 1500 * 20) auto;
}
#contact .box .text p {
  line-height: 2.5em;
}
@media all and (max-width: 640px) {
  #contact .box .text p {
    font-size: calc(100vw / 640 * 20);
  }
}
#contact .box .text .tel {
  width: 70%;
  margin: calc(100vw / 1500 * 40) auto;
}
@media all and (max-width: 640px) {
  #contact .box .text .tel {
    width: 90%;
    margin: calc(100vw / 640 * 40) auto;
  }
}
#contact .box .text .btn li {
  margin-bottom: calc(100vw / 1500 * 20);
}
@media all and (max-width: 640px) {
  #contact .box .text .btn li {
    margin-bottom: calc(100vw / 640 * 30);
  }
}
#contact .box .text .sns {
  width: 30%;
  margin: calc(100vw / 1500 * 40) auto 0;
  padding-bottom: calc(100vw / 1500 * 100);
  display: flex;
  justify-content: space-between;
}
@media all and (max-width: 640px) {
  #contact .box .text .sns {
    margin-top: calc(100vw / 640 * 30);
    width: 60%;
  }
}
#contact .box .text .sns li {
  width: 20%;
}

/*
**********************************************
footer
**********************************************
*/
footer {
  background-color: #E5E5E5;
  color: #666666;
  overflow: hidden;
  padding-top: calc(100vw / 1500 * 60);
}
footer a:link, footer a:visited {
  color: #666666;
}
footer .address {
  width: 50%;
  box-sizing: border-box;
  float: left;
}
@media all and (max-width: 640px) {
  footer .address {
    width: 94%;
    margin: 0 auto;
    float: none;
  }
}
footer .address .logo {
  width: 35%;
  display: inline-block;
  vertical-align: middle;
  padding-right: calc(100vw / 1500 * 30);
}
footer .address .add {
  width: 48%;
  display: inline-block;
  vertical-align: middle;
  padding-right: calc(100vw / 1500 * 20);
  border-right: #666666 1px solid;
}
@media all and (max-width: 640px) {
  footer .address .add {
    width: 60%;
    padding: 0;
    border: 0;
    font-size: calc(100vw / 640 * 19);
  }
}
footer .f_menu {
  width: 50%;
  float: right;
  border-right: #666666 1px solid;
  box-sizing: border-box;
}
@media all and (max-width: 640px) {
  footer .f_menu {
    width: 94%;
    margin: 0 auto;
    border: none;
    margin-top: 3vh;
  }
}
footer .f_menu .menu01 {
  width: 53%;
  box-sizing: border-box;
  padding-right: calc(100vw / 1500 * 10);
  border-right: #666666 1px solid;
  display: inline-block;
}
@media all and (max-width: 640px) {
  footer .f_menu .menu01 li {
    font-size: calc(100vw / 640 * 19);
  }
}
footer .f_menu .menu02 {
  width: 45%;
  box-sizing: border-box;
  padding-left: calc(100vw / 1500 * 30);
  display: inline-block;
  vertical-align: top;
}
@media all and (max-width: 640px) {
  footer .f_menu .menu02 li {
    font-size: calc(100vw / 640 * 19);
  }
}
footer .copyright {
  clear: both;
  text-align: center;
  font-size: calc(100vw / 1500 * 14);
  padding: calc(100vw / 1500 * 60) 0 calc(100vw / 1500 * 20);
}

.anime_none a:hover img { animation: none !important; opacity: 0.7; }