@charset "UTF-8";
/*reset*/
body, h1, h2, h3, h4, h5, h6, span, p, dl, dt, dd, hr, header, aside, section, article, form, input, strong, textarea {
  margin: 0px;
  padding: 0px;
  list-style: none;
  border: 0px;
}
img {
  border: 0px;
  vertical-align: bottom;
}
input {
  vertical-align: middle;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
body {
  text-align: center;
  overflow-x: hidden;
}
input[type=text]:focus {
  outline: none;
}
select:focus {
  outline: none;
}
textarea {
  outline: none;
}
input, select, textarea, button {
  vertical-align: middle;
}
body {
  font-feature-settings: "palt"1;
  backface-visibility: hidden;
  font-size: 16px;
  line-height: 1.7;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
}
html body main {
  line-height: 1.7;
  font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
body {
  line-height: 1.7;
  font-feature-settings: "palt"1;
}
main {
  overflow: hidden;
  position: relative;
}
.wrap {
  position: relative;
  max-width: 53vw;
  margin: auto;
  box-sizing: border-box;
}
.mincho {
  font-family: 'Sawarabi Mincho', sans-serif;
}
.en {
  font-family: 'Oswald', sans-serif;
  font-weight: normal !important;
}
.show_text {
  position: relative;
  transition: clip-path 1.5s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
.show_text.active {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.bg_black_amin {
  overflow: hidden;
  position: relative;
}
.bg_black_amin:before {
  background: #000;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  transform: translateX(-100%);
  transition: all .8s 0s ease;
  width: 100%;
  z-index: 1;
}
.bg_black_amin img {
  opacity: 0;
  transition: all .8s 0s ease;
}
.bg_black_amin.active img {
  opacity: 1;
  transition: all .5s .3s ease;
}
.bg_black_amin.active:before {
  transform: translateX(100%);
  opacity: 0;
}
.showup {
  opacity: 0;
  transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
  transform: translate3d(0, 30px, 0);
}
.showup.active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.showup_grow {
  opacity: 0;
  transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
  transform: translate3d(0, 30px, 0);
  filter: drop-shadow(0em 0em 0em #fff);
}
.showup_grow.active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.growfadein {
  opacity: 0;
  transition: all ease 1s;
}
.growfadein.active {
  opacity: 0;
  animation: growfade 0.8s linear 0.5s forwards;
}
@keyframes growfade {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  40% {
    opacity: 1;
    filter: brightness(1330%) drop-shadow(0em 0em 0.5em #fff);
  }
  55% {
    opacity: 1;
    filter: brightness(500%);
    transform: translate3d(0, 0px, 0);
  }
  70% {
    opacity: 1;
    filter: brightness(100%);
    transform: translate3d(0, 0px, 0);
  }
  100% {
    opacity: 1;
    filter: brightness(100%);
    transform: translate3d(0px, 0, 0);
  }
}
.tobig {
  opacity: 0;
  transform: scale(0);
}
.tobig.active {
  opacity: 1;
  transform: scale(1);
  transition: all ease 0.5s;
}
.fadein {
  opacity: 0;
  transition: all 1.5s cubic-bezier(0, 0, 0.25, 1) 0.1s;
}
.fadein.active {
  opacity: 1;
}
.subtitle {
  position: relative;
  color: transparent;
}
.subtitle:after {
  content: ' ';
  background-color: #c7113c;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left top;
  position: absolute;
  left: 0px;
  top: 0px;
  display: block;
}
.subtitle.active {
  animation: subtitletrans 1s ease 0s forwards;
}
.subtitle.active:after {
  animation: subtitleshow 1s ease 0s forwards;
}
@keyframes subtitleshow {
  0% {
    transform: scaleX(0);
    transform-origin: left top;
  }
  50% {
    transform: scaleX(1);
    transform-origin: left top;
  }
  70% {
    transform: scaleX(1);
    transform-origin: right top;
  }
  100% {
    transform: scaleX(0);
    transform-origin: right top;
  }
}
@keyframes subtitletrans {
  0% {
    color: transparent;
  }
  50% {
    color: transparent;
  }
  70% {
    color: #c7113c;
  }
  100% {
    color: #c7113c;
  }
}
.subtitleW {
  position: relative;
  color: transparent;
}
.subtitleW:after {
  content: ' ';
  background-color: #c7113c;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left top;
  position: absolute;
  left: 0px;
  top: 0px;
  display: block;
}
.subtitleW.active {
  animation: subtitletransW 1s ease 0s forwards;
}
.subtitleW.active:after {
  animation: subtitleshowW 1s ease 0s forwards;
}
@keyframes subtitleshowW {
  0% {
    transform: scaleX(0);
    transform-origin: left top;
  }
  50% {
    transform: scaleX(1);
    transform-origin: left top;
  }
  70% {
    transform: scaleX(1);
    transform-origin: right top;
  }
  100% {
    transform: scaleX(0);
    transform-origin: right top;
  }
}
@keyframes subtitletransW {
  0% {
    color: transparent;
  }
  50% {
    color: transparent;
  }
  70% {
    color: #fff;
  }
  100% {
    color: #fff;
  }
}
.showvis {
  position: relative;
  color: transparent;
}
.showvis span {
  position: relative;
  line-height: 1;
}
.showvis span:after {
  content: '';
  display: block;
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0;
  background-color: #FFF;
  transform: translateX(1000px);
  top: 50%;
  z-index: 10;
}
.showvis span:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  background-color: #FFF;
  top: 0%;
  z-index: 10;
  opacity: 0;
}
.showvis span:nth-child(1):after {
  top: 48%;
}
.showvis span:nth-child(2):after {
  top: 80%;
}
.showvis span:nth-child(3):after {
  top: 54%;
}
.showvis span:nth-child(1):before {
  top: -5px;
  left: -5px;
}
.showvis span:nth-child(2):before {
  top: -3px;
  left: 1px;
}
.showvis span:nth-child(3):before {
  top: 2px;
  left: -2px;
}
.showvis.showvisDelay span:nth-child(1):before {
  top: 20px;
}
.showvis.active span:nth-child(1):after {
  animation: leftin 0.5s ease 0.2s forwards;
}
.showvis.active span:nth-child(2):after {
  animation: leftin 0.5s ease 0.4s forwards;
}
.showvis.active span:after {
  animation: leftin 0.5s ease 0s forwards;
}
.showvis.active span:before {
  animation: chikachika 0.1s ease 0.7s infinite, chikachika2 0.1s ease 1.2s forwards;
}
.showvis.active span {
  animation: fadeIn 1s ease 0.7s forwards;
}
.showvis.showvisDelay.active span:after {
  animation: leftin 0.4s ease 0.2s forwards;
}
.showvis.showvisDelay.active span:before {
  animation: chikachika 0.1s ease 0.8s infinite, chikachika2 0.1s ease 1.4s forwards;
}
.showvis.showvisDelay.active span {
  animation: fadeIn 1s ease 0.9s forwards;
}
@keyframes fadeIn {
  from {
    color: transparent;
    text-shadow: 0px 0px 3px #fff, 0px 0px 5px #fff, 0px 0px 8px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 20px #fff;
  }
  to {
    text-shadow: none;
    color: #fff;
  }
}
@keyframes chikachika {
  from {
    opacity: 0.4;
  }
  to {
    opacity: 0;
  }
}
@keyframes chikachika2 {
  from {
    opacity: 0.4;
  }
  to {
    opacity: 0;
    transform: scaleX(0);
  }
}
@keyframes leftin {
  0% {
    transform: translateX(1000px) scale(1);
  }
  40% {
    opacity: 1;
    transform: scale(1);
  }
  70% {
    transform: scale(1);
  }
  90% {
    transform: scale(20);
  }
  100% {
    transform: translateX(0px) scale(20);
    opacity: 0;
  }
}
.graph_anim .value {
  transform: scaleY(0);
}
.graph_anim.active .value {
  transform: scaleY(0);
  transform-origin: bottom left;
  animation: graph 0.8s ease 0.5s forwards;
}
@keyframes graph {
  0% {
    transform: scaleY(0);
  }
  10% {
    transform: scaleY(0.1);
  }
  60% {
    transform: scaleY(0.2);
  }
  100% {
    transform: scaleY(1);
  }
}
.left_to_right {
  opacity: 0;
  transform: translate3d(-150px, 0, 0) scale(1.1);
}
.left_to_right.active {
  animation: left_to_right 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s forwards;
}
@keyframes left_to_right {
  0% {
    opacity: 0;
    transform: translate3d(-50px, 0, 0) scale(1.1);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}
.right_to_left {
  opacity: 0;
  transform: translate3d(50px, 0, 0) scale(1.1);
}
.right_to_left.active {
  animation: right_to_left 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s forwards;
}
@keyframes right_to_left {
  0% {
    opacity: 0;
    transform: translate3d(50px, 0, 0) scale(1.1);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}
.showvisbac.active {
  clip-path: inset(0);
}
.showvisbac {
  position: relative;
  transition: clip-path 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  clip-path: inset(100% 0% 100% 0%);
}
.main_image.active {
  opacity: 1;
  filter: brightness(100%);
  transform: translate3d(0, 0, 0), rotate(-10deg);
}
.main_image {
  margin: auto;
  filter: brightness(1330%);
  transition: all ease 0.8s;
  transition-delay: 0.7s;
  transform: translate3d(0, -1px, 0), rotate(-10deg);
}
.loading_wrap.active {
  opacity: 0;
}
.loading_wrap {
  z-index: 10;
  background-color: #FFF;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100vh;
  transition: all ease 1s;
  transition-delay: 0.6;
}
.show_900 {
  display: none;
}
.show_700 {
  display: none;
}
.show_450 {
  display: none;
}
@media screen and (max-width: 900px) {
  .hide_900 {
    display: none;
  }
  .show_900 {
    display: block;
  }
}
@media screen and (max-width: 700px) {
  .hide_700 {
    display: none;
  }
  .show_700 {
    display: block;
  }
}
@media screen and (max-width: 450px) {
  .hide_450 {
    display: none;
  }
  .show_450 {
    display: block;
  }
  body {
    font-size: 14px;
  }
}
.glow_text.active {
  animation: glow_text 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s forwards;
}
@keyframes glow_text {
  0% {
    text-shadow: none;
  }
  10% {
    text-shadow: none;
  }
  40% {
    text-shadow: 0px 0px 5px #65000c, 0px 0px 55px #ff0000;
  }
  100% {
    text-shadow: 0px 0px 5px #4a0009, 0px 0px 55px rgba(255, 0, 30, 0.62);
  }
}
.glowfade {
  opacity: 0;
}
.glowfade.active {
  animation: glowfade 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s forwards;
}
@keyframes glowfade {
  0% {
    opacity: 0;
    /*filter: brightness(0%);*/
  }
  40% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
/*common*/
.inc_common_footer_wrap {
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  font-size: 18px;
  /* font-size: 1.8rem; */
  color: #111;
  line-height: 2;
  font-family: Meiryo, sans-serif;
  text-align: left;
}
@media screen and (max-width: 47.938em) {
  .inc_common_footer_wrap {
    line-height: 1.8;
    font-size: 1.6rem;
  }
}
.wrap {
  padding: 0 5vw;
  max-width: 85vw;
  margin: 0 auto;
}
img {
  width: 100%;
  vertical-align: bottom;
}
.swiper_wrap {
  max-width: 53vw;
  margin: 0 auto;
  padding: 8vw 5vw 3vw 5vw;
}
.swiper-container {
  overflow: visible;
}
.swiper-pagination-bullet {
  width: 15px;
  height: 15px;
  background-color: #fff;
  position: relative;
}
.swiper-wrapper {
  align-items: center;
}
.swiper-pagination-bullet:after {
  content: ' ';
  border: 2px solid #fff;
  border-radius: 100%;
  width: 21px;
  height: 21px;
  position: absolute;
  top: -3px;
  left: -3px;
  opacity: 0;
  transition: all ease 0.3s;
}
.swiper-pagination-bullet-active:after {
  opacity: 0.8;
  transition: all ease 0.3s;
}
.swiper-slide img {
  max-height: 700px;
  object-fit: cover;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0px 0.7vw;
  margin-bottom: 10px;
}
@media screen and (max-width: 700px) {
  .swiper_wrap {
    max-width: none;
  }
}
main {
  color: #000;
  font-size: 1.3vw;
  text-align: left;
  position: relative;
}
main a {
  color: #fff;
}
main:before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/bg.jpg);
  background-size: cover;
  display: block;
}
main > * {
  position: relative;
  z-index: 10;
}
.en {
  font-family: 'Oswald', sans-serif;
}
.rwd_show {
  display: none;
}
@media screen and (max-width: 1000px) {
  .wrap {
    max-width: none;
  }
  main {
    font-size: 1.7vw;
  }
}
@media screen and (max-width: 750px) {
  main {
    font-size: 2vw;
  }
}
@media screen and (max-width: 600px) {
  main {
    font-size: 3.5vw;
  }
  .rwd_show {
    display: inline;
  }
  .rwd_hide {
    display: none;
  }
}
.page_header {
  color: #fff;
  width: 100%;
  position: absolute;
  z-index: 11;
}
.page_header .logo {
  /*display: block;*/
  position: absolute;
  width: 13vw;
  right: 5vw;
  top: 2vw;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 600px) {
  .page_header .logo {
    width: 22vw;
    right: 2.5vw;
    top: 2.5vw;
  }
}
.mv {
  position: relative;
  background-image: url("../img/bg_2.jpg");
  background-size: cover;
}
.mv .mv_product {
  text-align: center;
}
.mv .mv_product img {
  width: 74vw;
  position: relative;
  margin-top: 3vw;
  margin-left: -31vw;
  margin-right: auto;
  margin-bottom: 25vw;
}
.mv .wrap {
  position: relative;
}
.mv .mv_in {
  position: absolute;
  z-index: 10;
  top: 7.5vw;
  width: 100%;
}
.mv .mv_in h1 {
  width: 50vw;
  margin-left: 29vw;
  margin-top: 0vw;
}
.mv .mv_in figure {
  width: 22vw;
  top: 50vw;
  position: absolute;
  right: 12vw;
}
.mv .mv_in p {
  width: 100%;
  position: absolute;
  top: 66vw;
  padding: 2vw 14vw;
}
.mv .mv_in img {
  width: 46vw;
}
.mv .mv_in .date b {
  font-size: 150%;
  font-weight: normal;
}
@media screen and (max-width: 1000px) {
  .mv .mv_in .date {
    top: 20vw;
    right: 11vw;
    left: auto;
    font-size: 140%;
  }
  .mv .mv_in h1 img {
    width: 50vw;
    margin-left: -1vw;
  }
  .mv .mv_product img {
    width: 80vw;
    margin-left: -25vw;
    margin-bottom: 27vw;
  }
  .mv .mv_in figure {
    top: 56vw;
    right: 6vw;
  }
  .mv .mv_in {
    top: 7.5vw;
  }
  .mv .mv_in p {
    top: 71vw;
  }
  .mv .mv_in p img {
    width: 56vw;
  }
}
@media screen and (max-width: 600px) {
  .mv .mv_in .date {
    font-size: 70%;
  }
  .mv .mv_in h1 {
	position: absolute;
    width: 48vw;
    top: 4.5vw;
  }
  .mv .mv_product img {
    width: 92vw;
    margin-left: -33vw;
    margin-bottom: 34vw;
  }
  .mv .mv_in figure {
    width: 30vw;
    top: 60vw;
    left: 66vw;
  }
  .mv .mv_in p {
    top: 82vw;
    padding:5vw;
  }
  .mv .mv_in p img {
    width: 68vw;
  }
}
.movie {
  padding: 10vw 0;
  padding-bottom: 8vw;
  background-image: url(../img/m_bg.jpg);
  background-size: cover;
}
.movie .wrap {
  max-width: 80vw;
  /*max-width: 90vw; 2つ以上*/
}
.movie .movie_first {
  margin: 0 auto;
  /*display: flex;*/
  margin-right: -3vw;
  flex-wrap: wrap;
}
.movie .movie_first > div {
  /*padding-right: 3vw; 2つ以上*/
  box-sizing: border-box;
  flex: 0 1 50%;
  margin-bottom: 3vw;
}
.movie .movie_first a {
  display: block;
  position: relative;
}
.movie .movie_first a figure {
  transition: all ease 0.3s;
  overflow: hidden;
}
.movie .movie_first a figure img {
  transition: all ease 0.3s;
}
.movie .movie_first a:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../img/youtube.svg);
  position: absolute;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20%;
  z-index: 10;
  transition: all ease 0.3s;
}
.movie .movie_first a:hover figure {
  opacity: 0.7;
}
.movie .movie_first a:hover figure img {
  transform: scale(1.05);
}
.movie .movie_first a:hover:before {
  transform: scale(1.2);
}
.movie .movie_bottom {
  width: 50vw;
  margin: 0 auto;
}
.movie .movie_bottom a {
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all ease 0.3s;
  position: relative;
}
.movie .movie_bottom a:before {
  content: '';
  display: block;
  width: 5vw;
  height: 5vw;
  background-image: url(../img/youtube.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: all ease 0.3s;
  z-index: 1;
}
.movie .movie_bottom a > figure {
  transition: all ease 0.3s;
  flex: 0 1 100%;
}
.movie .movie_bottom a > figure img {
  width: 100%;
}
.movie .movie_bottom a > div {
  flex: 1;
  padding-left: 2vw;
  box-sizing: border-box;
}
.movie .movie_bottom a > div > p {
  font-size: 160%;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 0.5em;
}
.movie .movie_bottom a > div > div p {
  font-size: 90%;
}
.movie .movie_bottom a:hover > figure {
  opacity: 0.7;
}
.movie .movie_bottom a:hover:before {
  transform: scale(1.05);
}
@media screen and (max-width: 750px) {
  .movie .movie_first {
    display: block;
    margin-bottom: 4.5em;
  }
  .movie .movie_first > *:first-child {
    margin-bottom: 3vw;
  }
  .movie {
    padding: 4em 0;
  }
  .movie .wrap {
    max-width: 90vw;
  }
}
.sb {
  margin-bottom: 10vw;
}
.sb h2 {
  font-size: 235%;
  line-height: 1.4;
  margin-bottom: 0.4em;
  /* text-shadow:0.1em 0.1em 0.1em rgba(0, 0, 0, 0.5); */
}
.sb h2.en {
  font-size: 375%;
  margin-bottom: 3vw;
}
.sb h3 {
  color: #215aae;
  font-size: 240%;
  margin-bottom: 0.3em;
  line-height: 1.5;
  border-bottom: solid 2px;
  /* text-shadow:0.1em 0.1em 0.1em rgba(0, 0, 0, 0.5); */
}
.sb .sb_def {
  font-size: 130%;
  line-height: 1.5;
  margin-bottom: 3vw;
}
.sb.sbb h2 {
  margin-bottom: 0;
}
.sb.sbb .sbb_bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.sb.sbb .sbb_bottom > * {
  flex: 0 1 45%;
}
.sb.sbb .sbb_bottom p {
  font-size: 85%;
  margin-bottom: 0.5em;
}
.sb.sbb .sbb_bottom > figure {
  flex: 0 1 43%;
}
.sb.sbi h2 {
  height: 4vw;
  display: flex;
  align-items: center;
}
.sb.sbi h2 img {
  width: auto;
  height: 100%;
}
.sb.sbi .wrap {
  max-width: 80vw;
}
@media screen and (max-width: 1000px) {
  .sb.sbi .wrap {
    max-width: none;
  }
}
@media screen and (max-width: 600px) {
  .sb {
    margin-bottom: 16vw;
  }
  .sb h2 {
    font-size: 180%;
    margin-bottom: 3vw;
  }
  .sb h3 {
    font-size: 170%;
  }
  .sb .sb_def {
    font-size: 100%;
    margin-bottom: 5vw;
  }
  .sb h2.en {
    font-size: 250%;
    margin-bottom: 0.7em;
    height: 6.6vw;
  }
  .sb.sbb .sbb_bottom {
    display: block;
  }
  .sb.sbb .sbb_bottom > *:first-child {
    margin-bottom: 7vw;
  }
  .sb.sbb .sbb_bottom p {
    font-size: 100%;
  }
  .sb.sbb h2 {
    height: 15vw;
  }
}
.catch {
  padding-bottom: 4vw;
}
.catch .wrap {
  position: relative;
}
.catch_flex {
  display: flex;
  gap: calc(120/var(--section-width)*100%);
}
.catch_in img {
  width: 50%;
}
.catch .catch_in h2 {
  font-size: 250%;
  margin-bottom: 2vw;
}
.catch .catch_in > div {
  margin-bottom: 4vw;
}
.catch .catch_in > div h3 {
  font-weight: 900;
}
.catch .catch_in > div p {
  font-size: 120%;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.catch_images {
  width: 100%;
  margin-bottom: 4vw;
}
.catch .catch_images_2 {
  width: 50%;
  position: absolute;
  top: -25%;
  right: 0;
}
.catch.catch_images_2 > p:nth-child(1) {
  position: absolute;
  top: 12vw;
  left: 10vw;
  width: 86%;
}
.catch .catch_images_2 > p:nth-child(2) {
  padding-top: 7vw;
}
@media screen and (max-width: 1000px) {
  .catch .catch_images {
    margin-top: -12vw;
  }
  .catch .catch_images_2 {
    width: 55%;
    position: absolute;
    top: -24%;
    left: 46%;
  }
}
@media screen and (max-width: 600px) {
  .catch .catch_in h2 {
    font-size: 320%;
  }
  .catch .catch_in > div h3 {
    font-size: 109%;
    margin-bottom: 3vw;
  }
  .catch .catch_in > div p {
    font-size: 102%;
  }
  .catch .catch_images {
    width: 144%;
    margin-top: -14vw;
    margin-left: -20vw;
  }
  .catch .catch_images_2 {
    width: 82%;
    top: 58%;
    left: 23%;
  }
  .catch .catch_images_2 img {
    transform: rotate(-12deg);
  }
  .catch_in img {
    width: 100%;
    margin-bottom: 50%;
  }
  .catch {
    padding: 3vw 0 8vw;
  }
  .catch .catch_in > div {
    margin-bottom: 30px;
  }
}
.high_toe_box h3 {
  font-size: 140%;
}
.high_toe_box > div {
  margin-bottom: 3vw;
}
.high_toe_box > div .en {
  font-family: 'Oswald', sans-serif;
  color: #215aae;
  font-size: 226%;
  margin-bottom: 0.1em;
}
.high_toe_box > div .ja {
  font-size: 113%;
}

.zipcore p small, .ultizip p small{
	font-size: 70%;
	display: inline-block;
	line-height: 1.6em;
}
@media screen and (max-width: 1000px) {
  .high_toe_box > div .en {
    font-size: 200%;
  }
  .high_toe_box h3 {
    font-size: 120%;
  }
  .high_toe_box > div .ja {
    font-size: 110%;
  }
  .high_toe_img {
    width: auto;
    margin: 0;
    margin-top: -13vw;
  }
  .high_toe {
    padding: 4em 0;
  }
  .high_toe h2 {
    margin-bottom: 1em;
  }
  .high_toe .high_toe_box > div {
    margin-bottom: 5vw;
  }
}
.z-alloy_images {
  margin-bottom: 4vw;
}
.z-alloy_images_content {
  display: flex;
  height: 5vh;
  padding: 30%;
  justify-content: center;
  align-items: center;
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.img_bg_01 {
  background-image: url("../img/prx1.jpg");
  background-size: cover;
}
.img_bg_02 {
  background-image: url("../img/prx2.jpg");
  background-size: cover;
}
@media screen and (max-width: 1000px) {
  .z-alloy_images_content {
    padding: 50%;
  }
}
@media screen and (max-width: 700px) {
  .high_toe_box > div {
    margin-bottom: 8vw;
  }
  .z-alloy_images_content {
    height: 5vh;
    padding: 80%;
  }
  .img_bg_01 {
    background-position: 70%;
  }
  .img_bg_02 {
    background-position: 49%;
  }
}
.hydrazip .hydrazip_image {
  width: 100%;
  margin-bottom: 6vw;
}
.hydrazip .hydrazip_image > div {
  display: flex;
  width: 80%;
}
.hydrazip .hydrazip_image > div img:first-child {
  padding-right: 3vw;
}
.hydrazip .hydrazip_bottom {
  margin-left: auto;
  margin-right: 0;
}
@media screen and (max-width: 750px) {
  .hydrazip .hydrazip_image {
    width: auto;
    margin-left: 0;
    margin-top: 0;
    margin-bottom: 7vw;
  }
  .hydrazip .hydrazip_image > div {
    width: 100%;
  }
  .hydrazip .hydrazip_image {
    width: auto;
  }
  .hydrazip .hydrazip_bottom {
    width: auto;
  }
}
.z-alloy {
  background-image: url("../img/z-alloy1.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  margin-bottom: 8vw;
  padding: 5% 10% 16%;
}
.z-alloy_conts {
  padding: 0 5vw;
}
.z-alloy p {
  color: #fff;
  text-shadow: 1px 1px 2px #000;
}
@media screen and (max-width: 1000px) {
  .z-alloy {
    background-position: 70%;
  }
  .z-alloy_conts {
    padding: 4vw 0;
  }
}
@media screen and (max-width: 700px) {
  .z-alloy {
    background-position: 80%;
    margin-bottom: 14vw;
    padding: 3% 5% 20%;
  }
  .z-alloy_conts {
    padding: 8vw 0;
  }
}
.zipcore .zipcore_image {
  margin-left: 13vw;
}
.zipcore .zipcore_image:nth-of-type(2) {
  margin-top: -4vw;
}
.zipcore h4 {
  color: #215aae;
  font-size: 180%;
  line-height: 1.5;
}
.zipcore .zipcore_image_2 {
  margin-left: 13vw;
  margin-top: -8vw;
}
@media screen and (max-width: 700px) {
  .zipcore .zipcore_image, .zipcore .zipcore_image_2 {
    margin-left: 0;
    margin-top: -5vw;
  }
  .zipcore .zipcore_bottoms .zipcore_bottoms_flex > *:nth-child(1) h4 {
    font-size: 130%;
  }
  .zipcore h4 {
    font-size: 130%;
  }
}
.ultizip {
  background-image: url("../img/softer_bg.png");
  background-size: cover;
}
.ultizip h2 {
  font-size: 100% !important;
  height: 5.3vw;
}
.ultizip h2 img {
  width: auto;
  height: 100%;
}
.ultizip .ultizip_image {
  margin-top: 5vw;
  margin-bottom: 5vw;
  width: 90%;
  margin-right: 0;
}
.ultizip .ultizip_bottom h3 {
  font-size: 180%;
  text-align: center;
  margin-bottom: 2vw;
}
.ultizip .ultizip_bottom figure {
  width: 90%;
  margin-left: auto;
  margin-right: 0;
}
@media screen and (max-width: 1000px) {
	  .ultizip {
    background-position: 50%;
  }
}
@media screen and (max-width: 750px) {
  .ultizip {
    background-position: 48% 100%;
  }
  .ultizip h2 {
    height: calc(5.3vw * (2 / 1.3));
  }
  .zipcore .zipcore_bottoms .zipcore_bottoms_flex {
    display: block;
    margin-top: 7vw;
  }
  .ultizip .ultizip_image {
    width: auto;
  }
  .ultizip .ultizip_bottom figure {
    width: auto;
  }
  .ultizip .ultizip_bottom h3 {
    font-size: 120%;
  }
  .zipcore .zipcore_bottoms .zipcore_bottoms_flex > *:nth-child(2) {
    margin-top: 5vw;
  }
}
@media screen and (max-width: 600px) {
  .ultizip .ultizip_img {
    margin-top: 2em;
    margin-bottom: 2em;
    margin-left: -5vw;
    margin-right: -4vw;
  }
}
.sole_grinds .sole_grinds_bottom figure {
  width: 90%;
  margin: 0 auto;
  margin-bottom: 1vw;
}
.sole_grinds .sole_grinds_bottom figure:last-child {
  margin-bottom: 0;
}
.sole_grinds .sole_grinds_mid {
  width: 90%;
  margin: 0 auto;
  margin-top: 5vw;
  margin-bottom: 5vw;
}
.sole_grinds .sole_grinds_mid ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sole_grinds .sole_grinds_mid ul li {
  margin-bottom: 3vw;
  display: flex;
  align-items: center;
}
.sole_grinds .sole_grinds_mid ul li h4 {
  color: #215aae;
  border-right: 1px solid #215aae;
  flex: 0 1 14vw;
  box-sizing: border-box;
  padding-right: 2vw;
  font-size: 250%;
  line-height: 0.7;
  text-align: right;
}
.sole_grinds .sole_grinds_mid ul li > div {
  flex: 1;
  padding-left: 2vw;
}
.sole_grinds .sole_grinds_mid ul li > div h5 {
  color: #215aae;
  font-size: 120%;
}
.sole_grinds .sole_grinds_mid ul li > div p {
  font-size: 100%;
}
.sole_grinds_bottom {
  margin-bottom: 8vw;
}
.sole_grinds .shaft_flex {
  display: flex;
}
.sole_grinds .shaft_flex figure:first-child {
  margin-right: 2vw;
}
.sole_grinds .sole_grinds_mid ul li .en .en_lofts {
  font-size: 40%;
}
@media screen and (max-width: 750px) {
  .sole_grinds .sole_grinds_mid {
    width: auto;
  }
  .sole_grinds .sole_grinds_mid ul li {
    display: block;
    margin-bottom: 8vw;
  }
  .sole_grinds .sole_grinds_mid ul li h4 {
    flex: 0 1 20vw;
    border-right: 0;
    border-bottom: 1px solid #215aae;
    font-size: 200%;
    padding-bottom: 0.2em;
    margin-bottom: 0.2em;
    text-align: left;
  }
  .sole_grinds .sole_grinds_mid ul li .en .en_lofts {
    font-size: 60%;
    display: inline-block;
    margin-left: 4vw;
  }
  .sole_grinds .sole_grinds_mid ul li > div {
    padding-left: 0;
  }
  .sole_grinds .sole_grinds_bottom figure {
    width: auto;
  }
  .sole_grinds .sole_grinds_bottom figure {
    width: auto;
    margin-left: 0;
    margin-right: 0;
  }
  .sole_grinds .shaft_flex {
    display: block;
  }
  .sole_grinds .shaft_flex figure:first-child {
    margin-bottom: 6vw;
    margin-right: 0;
  }
}
.spec {
  padding-bottom: 6vw;
  padding-top: 8vw;
  /*background-image: url(../img/m_bg.jpg);*/
  background-size: cover;
}
.spec .wrap {
  position: relative;
  width: 80%;
  margin: 0 auto;
}
.spec .wrap .spec_top_logo {
  width: 45%;
  margin-bottom: 4vw;
  margin-left: 1vw;
}
.spec .spec_top {
  position: relative;
  margin-bottom: 5vw;
}
.spec .spec_top .spec_top_in > figure {
  position: absolute;
  width: 52%;
  right: -3vw;
  top: -3vw;
}
.spec .spec_top .spec_top_buttons {
  width: 40%;
  padding-left: 3vw;
}
.spec .spec_top .spec_top_buttons a {
  /*display: block;*/
  color: #fff;
  text-decoration: none;
  background: radial-gradient(circle closest-corner, #91c8fb, #215aae 80%);
  margin-bottom: 1em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5em 0;
  transition: all ease 0.3s;
}
.spec .spec_top .spec_top_buttons a:nth-child(2) {
  /*display: block;*/
  color: #fff;
  text-decoration: none;
  background: radial-gradient(circle closest-corner, #ff9f5a, #e56100 80%);
  margin-bottom: 1em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5em 0;
  transition: all ease 0.3s;
}
.spec .spec_top .spec_top_buttons a svg {
  margin-right: 0.3em;
}
.spec .spec_top .spec_top_buttons a svg path {
  fill: #fff;
  transition: all ease 0.3s;
}
.spec .spec_top .spec_top_buttons a:hover {
  border-radius: 8px;
  transform: scale(0.95);
}
.spec .spec_top .spec_top_others {
  padding-top: 4vw;
}
.spec .spec_top .spec_top_others > div {
  display: flex;
  flex: 1;
}
.spec .spec_top .spec_top_others > div.grip {
  display: block;
  padding-left: 3vw;
}
.spec .spec_top .spec_top_others > div.grip h3 {
  font-size: 80%;
  font-weight: normal;
}
.spec .spec_top .spec_top_others > div.grip figure {
  margin-top: 0.3em;
  width: 50%;
}
.spec .spec_top .spec_top_others > div > div {
  padding-left: 3vw;
  margin-bottom: 2vw;
}
.spec .spec_top .spec_top_others > div > div:nth-child(1) {
  flex: 0 1 53%;
}
.spec .spec_top .spec_top_others > div > div:nth-child(1) h3 {
  font-size: 80%;
  font-weight: normal;
}
.spec .spec_top .spec_top_others > div > div:nth-child(1) .price {
  line-height: 1.1;
}
.spec .spec_top .spec_top_others > div > div:nth-child(1) .price i {
  font-style: normal;
  font-weight: bold;
  font-size: 130%;
  margin-right: 0.5em;
}
.spec .spec_top .spec_top_others > div > div:nth-child(1) figure {
  margin-top: 0.3em;
}
.spec .spec_top .spec_top_others > div > div:nth-child(1) > div {
  margin-bottom: 1em;
}
.spec .spec_top .spec_top_others > div > div:last-child {
  box-sizing: border-box;
  flex: 1;
  margin-bottom: 2vw;
}
.spec .spec_top .spec_top_others > div > div:last-child:last-child {
  margin-bottom: 0;
}
.spec .spec_top .spec_top_others > div > div:last-child table {
  width: 100%;
  font-size: 90%;
  text-align: center;
  table-layout: fixed;
}
.spec .spec_top .spec_top_others > div > div:last-child table td {
  border-bottom: 1px solid #000;
}
.spec .spec_top .spec_top_others > div > div:last-child table th {
  font-weight: normal;
  border-bottom: 1px solid #000;
}
.spec .spec_list h3 {
  font-weight: bold;
}
.spec .spec_list table {
  border-top: 1px solid #000;
  width: 100%;
  text-align: center;
  font-size: 90%;
  margin-bottom: 1em;
}
.spec .spec_list table td {
  border-bottom: 1px solid #000;
  padding: 0.5em;
  border-right: 1px solid #000;
}
.spec .spec_list table td:last-child {
  border-right: 0;
}
.spec .spec_list table th {
  font-weight: normal;
  border-bottom: 1px solid #000;
  padding: 0.5em;
}
.spec .spec_list table .ta_l {
  text-align: left;
}
.spec .spec_list table th {
  border-right: 1px solid #000;
}
.spec .spec_list table tr:first-child th {
  width: 11em;
}
.spec .spec_list .spec_section_list > p {
  line-height: 1.2;
}
.spec .spec_list .num {
  padding: 0;
}
@media screen and (max-width: 750px) {
  .spec .spec_part {
    display: block;
  }
  .spec .wrap {
    width: auto;
  }
  .spec .wrap .spec_top_logo {
    width: 100%;
    margin-bottom: 8vw;
    margin-left: 0;
  }
  .spec .spec_top .spec_top_in > figure {
    position: relative;
    left: 0;
    top: 0;
    right: 0;
    width: 80%;
    margin-bottom: 3vw;
  }
  .spec .spec_top .spec_top_buttons {
    padding-left: 0;
    /*display: flex;*/
    justify-content: space-between;
    width: auto;
  }
  .spec .spec_top .spec_top_buttons > * {
    flex: 0 1 48%;
    width: auto;
  }
  .spec .spec_top .spec_top_others > div {
    display: block;
    margin-bottom: 8vw;
  }
  .spec .spec_top .spec_top_others > div > div:nth-child(1) {
    padding-left: 0;
  }
  .spec .spec_top .spec_top_others > div > div:nth-child(1) figure {
    width: auto;
  }
  .spec .spec_top .spec_top_others > div > div:last-child:last-child {
    padding-left: 0;
  }
  .spec .spec_top .spec_top_others > div.grip {
    padding-left: 0;
  }
  .spec .spec_top .spec_top_others > div.grip figure {
    width: auto;
  }
}
@media screen and (max-width: 600px) {
  .spec h2 {
    font-size: 270%;
  }
  .spec .spec_top figure {
    position: relative;
    top: auto;
    right: auto;
    width: 90%;
    margin: 0 auto;
  }
  .spec .spec_top {
    width: auto;
  }
  .spec .spec_top .links {
    margin-left: 0;
    width: auto;
    display: flex;
    margin-right: -1em;
  }
  .spec .spec_top .links > * {
    padding-right: 1em;
    flex: 1;
    box-sizing: border-box;
  }
  .spec_section_list_table_outer {
    overflow-x: scroll;
    width: 100%;
  }
  .spec_section_list_table_outer .spec_section_list_table {
    min-width: 560px;
  }
  .spec .spec_part > *:nth-child(1) h3 {
    font-size: 100%;
  }
  .spec .spec_part > *:nth-child(2) table {
    font-size: 80%;
  }
  .spec .spec_list table {
    font-size: 100%;
  }
  .spec .spec_list h3 {
    font-size: 140%;
  }
  .spec {
    padding-bottom: 5em;
  }
  .spec .spec_top .spec_top_in .spec_top_in_button {
    display: block;
  }
  .spec .spec_top .spec_top_in .spec_top_in_button .cart {
    margin-top: 1em;
  }
  .spec .spec_top .spec_top_in .spec_top_in_button p a {
    padding: 0.5em 0;
  }
  .spec .spec_part h3 {
    line-height: 1.3;
    padding-bottom: 0.5em;
  }
  .spec .spec_part {
    padding-top: 5vw;
  }
  .spec .spec_part .mens_ladies {
    display: block;
  }
  .spec .spec_part .mens_ladies > *:first-child {
    margin-bottom: 2em;
  }
  .spec .spec_part .mens_ladies > * .tag {
    width: 35vw;
  }
  .spec .spec_part .mens_ladies > * h4 {
    font-size: 100%;
  }
}
.inc_common_footer_wrap {
  position: relative;
  z-index: 11;
}
/*# sourceMappingURL=style.css.map */