
@font-face {
	font-family: "HelveticaNeueThn";
	src: url("../fonts/HelveticaNeueThn.woff") format("woff");
}
#gana,
#gana h1,#gana h2,#gana h3,#gana h4,#gana h5 {
  margin: 0;
  font-size: 16px;
	font-family: "Yu Gothic","游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-weight: 100;
  letter-spacing: 0.1em;
  line-height: 1.7;
  color: #515151;
}
#gana .en_txt {
	font-family: acumin-pro, sans-serif;
	font-style: normal;
  font-weight: 200;
	letter-spacing: .2em;
}
#gana .pc { display: block; }
#gana .sp { display: none; }

@media screen and (max-width: 1024px) {

  #gana,
  #gana h1,#gana h2,#gana h3,#gana h4,#gana h5 {
    font-size: 14px;
  }
  
  #gana .pc { display: none; }
  #gana .sp { display: block; }
}


/* メインビジュアル
--------------------------------------------------------------------*/
#gana #mainvisual {
  width: 100%;
  position: relative;
  height: 100svh;
}
#gana #mainvisual .ttl {
	display: block;
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
  z-index: 2;
}
#gana #mainvisual .ttl img{
	max-width: 370px;
	width: 100%;
}

#gana #mainvisual .scroll_animation {
  text-align: center;
  font-size: 14px;
  letter-spacing: 4px;
  position: absolute;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  z-index: 3;
}
#gana #mainvisual .scroll_animation a {
  padding-bottom: 30px;
  display: block;
  text-decoration: none;
  color: #FFFFFF;
  font-size: 10px;
  letter-spacing: 0.15em;
}
#gana #mainvisual .scroll_animation a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 20px;
  height: 1px;
  margin-left: -12px;
  border-bottom: 1px solid #FFFFFF;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}

#gana #mainvisual .img_box {
  width: 100%;
  height: 100%;
  z-index: 1;
}
#gana #mainvisual .img_box ul {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
}
#gana #mainvisual .img_box ul li {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#gana #mainvisual .img_box ul li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

@keyframes sdb {
  0% {
    transform: rotate(90deg) translate(30px, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(90deg) translate(50px, 0px);
    opacity: 0;
  }
}

@media screen and (max-width: 1024px) {
  #main_img {
    background: url("../img/main_img_sp.jpg") center center / cover no-repeat;
  }
  #main_img .scroll_animation {
    bottom: 40px;
  }
}


/* about
--------------------------------------------------------------------*/
#gana #about {
  width: 100%;
  padding: 160px 0;
  background: url("../img/about_bg.jpg") center center / auto no-repeat;
}
#gana #about .inner {
  width: 100%;
  max-width: calc(1080px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
  text-align: center;
}
#gana #about .ttl {
  font-family: "Yu Mincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
  font-size: 42px;
  font-weight: normal;
}
#gana #about .sub_copy {
  margin-top: 85px;
  font-size: 14px;
}
#gana #about .copy {
  margin-top: 75px;
  font-size: 22px;
}
#gana #about .txt {
  margin-top: 45px;
  font-size: 15px;
  line-height: 3.0;
}
#gana #about .txt + .txt {
  margin-top: 50px;
}
#gana #about .btn {
  display: inline-block;
  width: 100%;
  max-width: 300px;
  margin-top: 50px;
  padding: 13px 0;
  background: #969696;
  color: #FFFFFF;
}

/* アニメーション用初期設定 */
#gana #about .ttl,
#gana #about .sub_copy,
#gana #about .copy,
#gana #about .txt,
#gana #about .btn {
  opacity: 0;
  transform: translateY(60px);
  transition: all 1s;
}
/* フェード付加クラス */
#gana #about .fadein {
  opacity: 1;
  transform: translateY(0);
}

@media screen and (max-width: 1024px) {
  #gana #about {
    padding: 80px 0;
    background: url("../img/about_bg_tb.jpg") center center / auto no-repeat;
  }
  #gana #about .ttl {
    font-size: 28px;
  }
  #gana #about .sub_copy {
    margin-top: 20px;
    font-size: 14px;
  }
  #gana #about .copy {
    margin-top: 50px;
    font-size: 20px;
    letter-spacing: 0.05em;
  }
  #gana #about .txt {
    margin-top: 20px;
    font-size: 13px;
    letter-spacing: 0.05em;
    line-height: 2;
  }
  #gana #about .txt + .txt {
    margin-top: 50px;
  }
  #gana #about .btn {
    font-size: 13px;
  }

}


/* MOVIE
--------------------------------------------------------------------*/
#gana #movie {
  width: 100%;
  height: 100%;
  max-height: 700px;
  overflow: hidden;
  position: relative;
}
#gana #movie::before {
  content: '';
  display: block;
  padding-top: 100%;
}
#gana #movie video {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}



/* Line Up
--------------------------------------------------------------------*/
#gana #lineup {
  width: 100%;
  margin-top: 140px;
}
#gana #lineup .inner {
  width: 100%;
  max-width: calc(1080px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}
#gana #lineup .ttl_box .ttl {
  font-size: 42px;
	font-weight: 150;
  text-align: center;
}
#gana #lineup .items {
  width: 100%;
  margin-top: 50px;
  position: relative;
}
#gana #lineup .items .item_container {
  display: flex;
  width: 100%;
}
#gana #lineup .items .item_container article {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: calc(100% / 3);
  height: auto;
  text-align: center;
}
#gana #lineup .items .item_container article .item_inner {
  display: grid;
  grid-template-rows: 1fr repeat(3, auto);
  height: 100%;
}
#gana #lineup .items .item_container article .item_inner .en_name {
  align-self: center;
  font-size: 24px;
  letter-spacing: 0.1em;
}
#gana #lineup .items .item_container article .item_inner .jp_name {
  margin-top: 5px;
  font-size: 12px;
  letter-spacing: 0.1em;
}
#gana #lineup .items .item_container article .item_inner .photo_link {
  display: inline-block;
  margin-top: 60px;
}
#gana #lineup .items .item_container article .item_inner .photo_link figure {
  width: 100%;
  height: 280px;
  margin: 0;
  text-align: center;
}
#gana #lineup .items .item_container article .item_inner .photo_link figure img {
  display: inline;
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: static;
}
#gana #lineup .items .item_container article .item_inner .buy_bt {
  display: block;
  width: 100%;
  max-width: 200px;
  margin: 50px auto 0;
  padding: 10px 0;
  background: #969696;
  color: #FFFFFF;
}
#gana #lineup .items .slide_nav {
  width: 100%;
  max-width: calc(1080px + (20px * 2));
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 10;
}
#gana #lineup .items .slide_nav .swiper-button-prev,
#gana #lineup .items .slide_nav .swiper-button-next {
  width: 13px;
  height: 24px;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
}
#gana #lineup .items .slide_nav .swiper-button-prev {
  left: 4%;
  background: url("../img/left_arrow.gif") center center / contain no-repeat;
}
#gana #lineup .items .slide_nav .swiper-button-next {
  right: 4%;
  background: url("../img/right_arrow.gif") center center / contain no-repeat;
}

@media screen and (min-width: 1025px) {
  #gana #lineup .items .slide_nav {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  #gana #lineup {
    margin-top: 80px;
  }
  #gana #lineup .ttl_box .ttl {
    font-size: 32px;
  }
  #gana #lineup .items {
    margin-top: 40px;
  }
  #gana #lineup .items .item_container article .en_name {
    letter-spacing: 0.03em;
  }
  #gana #lineup .items .item_container article .jp_name {
    margin-top: 5px;
    font-size: 12px;
    letter-spacing: 0.1em;
  }
  #gana #lineup .items .item_container article .buy_bt {
    margin-top: 40px;
  }
  
  #gana #lineup .items .slide_nav {
    display: block;
  }
  
}


/* products(Cielo、En Forma、Calmarse)
--------------------------------------------------------------------*/
#gana .products {
  width: 100%;
  margin-top: 240px;
}

/* メイン画像・文言 */
#gana .products .ttl_box {
  width: 100%;
  padding: 145px 0 425px;
  color: #FFFFFF;
  position: relative;
}
#gana .products .ttl_box::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 0;
}
#gana #cielo.products .ttl_box {
  background: url("../img/products_cielo_bg_img.jpg") center center / cover fixed no-repeat;
}
#gana #enforma.products .ttl_box {
  background: url("../img/products_enforma_bg_img.jpg") center center / cover fixed no-repeat;
}
#gana #calmarse.products .ttl_box {
  background: url("../img/products_calmarse_bg_img.jpg") center center / cover fixed no-repeat;
}

#gana .products .ttl_box .inner {
  width: 100%;
  max-width: calc(1080px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}
#gana .products .ttl_box .name {
  padding-bottom: 20px;
  position: relative;
}
#gana .products .ttl_box .name::before {
  content: '';
  width: 40px;
  height: 1px;
  position: absolute;
  bottom: 0;
  background: #FFFFFF;
}
#gana .products .ttl_box .name .en_name {
  font-size: 42px;
  line-height: 1.1;
  color: #FFFFFF;
}
#gana .products .ttl_box .name .jp_name {
  margin-top: 8px;
  font-size: 10px;
  line-height: 1.1;
}
#gana .products .ttl_box .txt {
  margin-top: 40px;
  font-size: 24px;
  letter-spacing: 0.2em;
}
#gana .products .ttl_box .links {
  display: flex;
  margin-top: 50px;
}
#gana .products .ttl_box .links p,
#gana .products .ttl_box .links a {
  display: inline-block;
  margin-left: 80px;
  padding-right: 1em;
  position: relative;
  color: #FFFFFF;
  cursor: pointer;
}
#gana .products .ttl_box .links p::after,
#gana .products .ttl_box .links a::after {
  content: '＞';
  position: absolute;
}
#gana .products .ttl_box .links p {
  margin-left: 0;
}

#gana #cielo.products .ttl_box {
  text-align: center;
}
#gana #cielo.products .ttl_box .name::before {
  left: 50%;
  transform: translateX(-50%);
}
#gana #cielo.products .ttl_box .links {
  justify-content: center;
}
#gana #enforma.products .ttl_box {
  text-align: right;
}
#gana #enforma.products .ttl_box .name::before {
  right: 0;
}
#gana #enforma.products .ttl_box .name .en_name {
  margin-right: -0.15em;
}
#gana #enforma.products .ttl_box .links {
  justify-content: flex-end;
}
#gana #calmarse.products .ttl_box {
  text-align: left;
}
#gana #calmarse.products .ttl_box .name::before {
  left: 0;
}
#gana #calmarse.products .ttl_box .links {
  justify-content: flex-start;
}


/* ポイントスライダー */
#gana .products .point {
  width: 100%;
  margin-top: 120px;
  position: relative;
}
#gana .products .point .inner {
  width: 100%;
  max-width: calc(1080px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  overflow: hidden;
}
#gana .products .point .point_container {
  display: flex;
  align-items: stretch;
  width: 100%;
}
#gana .products .point .point_container article {
  display: flex;
  flex-direction: column;
  width: calc(100% / 3);
  height: auto;
  text-align: center;
}
#gana .products .point .point_container article .item_inner {
  display: grid;
  grid-template-rows: 1fr auto 1fr;
  height: 100%;
}
#gana .products .point .point_container article .item_inner .ttl {
  font-weight: 300;
  align-self: center;
}
#gana .products .point .point_container article .item_inner figure {
  width: 100%;
  margin: 10px 0 0;
}
#gana .products .point .point_container article .item_inner figure img {
  width: 100%;
}
#gana .products .point .point_container article .item_inner .txt {
  margin-top: 20px;
  font-size: 12px;
  align-self: flex-end;
}
#gana .products .point .slide_nav {
  width: 100%;
  max-width: calc(1080px + (20px * 2));
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 10;
}
#gana .products .point .slide_nav .swiper-button-prev,
#gana .products .point .slide_nav .swiper-button-next {
  width: 19px;
  height: 35px;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
}
#gana .products .point .slide_nav .swiper-button-prev {
  left: auto;
  right: calc(100% + 10px);
  background: url("../img/left_arrow.gif") center center / contain no-repeat;
}
#gana .products .point .slide_nav .swiper-button-next {
  left: calc(100% + 10px);
  right: auto;
  background: url("../img/right_arrow.gif") center center / contain no-repeat;
}
#gana .products .point .pagination {
  width: 100%;
  margin-top: 30px;
  text-align: center;
}
#gana .products .point .pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin-right: 24px;
}
#gana .products .point .pagination .swiper-pagination-bullet:last-of-type {
  margin-right: 0;
}
#gana .products .point .pagination .swiper-pagination-bullet-active {
  background: #191816;
}

/* 参考写真 */
#gana .products .photos {
  width: 100%;
  margin-top: 120px;
}
#gana .products .photos .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: calc(1080px + (20px * 2));
  margin: 0 auto;
  padding: 0 20px;
}

/* 参考写真 360° View */
#gana .products .photos .rotation_view {
  width: 43%;
  text-align: center;
}
#gana .products .photos .rotation_view canvas {
}

#gana #cielo.products .photos .rotation_view canvas {
  width: 100% !important;
  max-width: 473px;
  height: auto !important;
}
#gana #enforma.products .photos .rotation_view canvas {
  width: auto !important;
  height: 100% !important;
  max-height: 480px;
}
#gana #calmarse.products .photos .rotation_view canvas {
  width: 100% !important;
  max-width: 350px;
  height: auto !important;
}
#gana .products .photos .rotation_view .txt {
  margin-top: 10px;
  font-size: 12px;
}

/* 参考写真 イメージスライダー */
#gana .products .photos .img_slide {
  width: 53%;
}
#gana .products .photos .img_slide .item_swipe ul li img {
  display: block;
  width: 100%;
}

#gana .products .photos .img_slide .item_swipe {
  width: 100%;
  overflow: hidden;
}

#gana .products .photos .img_slide .thm_swipe {
  width: 100%;
  margin-top: 1%;
}
#gana .products .photos .img_slide .thm_swipe ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
#gana .products .photos .img_slide .thm_swipe ul li {
  width: calc((100% - (1% * 5)) / 6);
  background: #000000;
}
#gana .products .photos .img_slide .thm_swipe ul li img {
  display: block;
  width: 100%;
  opacity: .5;
  transition: all .3s ease;
}
#gana .products .photos .img_slide .thm_swipe ul li.swiper-slide-thumb-active img {
  opacity: 1;
}

/* リンク */
#gana .products .buttons .show_size {
  display: block;
  width: fit-content;
  margin: 60px auto 0;
  padding-right: 1em;
  position: relative;
  transition: all .3s ease;
  cursor: pointer;
}
#gana .products .buttons .show_size::after {
  content: '＞';
  position: absolute;
}
#gana .products .buttons .buy_bt {
  display: block;
  width: 100%;
  max-width: 300px;
  margin: 20px auto 0;
  padding: 13px 0;
  background: #969696;
  color: #FFFFFF;
  text-align: center;
}

/* サイズモーダルウインドウ */
#gana .products .size_modal {
  display: block;
  align-items: center;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(30, 30, 30, 0.9);
  z-index: 201;
}

#gana .products .size_modal .inner {
  width: fit-content;
  max-width: 85vw;
  margin: 0;
  padding: 50px 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  background: #FFFFFF;
  transform: translateX(-50%) translateY(-50%);
}
#gana .products .size_modal .modal_box {
  width: 100%;
  overflow-y: scroll;
}
#gana .products .size_modal .modal_box figure {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
}
#gana .products .size_modal .modal_box figure img {
  width: calc((100vw - ((24px * 2) + (24px * 2))) / 3);
  max-width: calc((85vw - ((24px * 2) + (24px * 2))) / 3);
}
#gana .products .size_modal .txt {
  position: absolute;
  right: 24px;
  bottom: 10px;
  font-size: 12px;
  text-align: right;
}
#gana .products .size_modal .closeBtn {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
#gana #cielo .size_modal,
#gana #enforma .size_modal,
#gana #calmarse .size_modal
{
  display: none;
}

@media screen and (min-width: 1025px) {
  #gana .products .ttl_box .links p:hover,
  #gana .products .buttons .show_size:hover,
  #gana .products .size_modal .closeBtn:hover {
    opacity: .5;
    transition: all .3s ease;
  }
}

@media screen and (max-width: 1024px) {
  #gana .products {
    margin-top: 80px;
  }
  
  /* メイン画像・文言 */
  #gana .products .ttl_box {
    padding-top: 60px;
    padding-bottom: 40px;
  }
  #gana #cielo.products .ttl_box {
    background: url("../img/products_cielo_bg_img_sp.jpg") center center / cover scroll no-repeat;
  }
  #gana #enforma.products .ttl_box {
    background: url("../img/products_enforma_bg_img_sp.jpg") center center / cover scroll no-repeat;
  }
  #gana #calmarse.products .ttl_box {
    background: url("../img/products_calmarse_bg_img_sp.jpg") center center / cover scroll no-repeat;
  }
  #gana .products .ttl_box .name .en_name {
    font-size: 32px;
  }
  #gana .products .ttl_box .txt {
    margin-top: 30px;
    font-size: 16px;
    letter-spacing: 0.1em;
  }
  #gana .products .ttl_box .links {
    margin-top: 220px;
  }
  #gana .products .ttl_box .links p,
  #gana .products .ttl_box .links a {
    margin-left: 40px;
  }
  #gana .products .ttl_box .links p {
    margin-left: 0;
  }

  #gana #cielo.products .ttl_box,
  #gana #enforma.products .ttl_box,
  #gana #calmarse.products .ttl_box {
    text-align: center;
  }
  #gana #cielo.products .ttl_box .name::before,
  #gana #enforma.products .ttl_box .name::before,
  #gana #calmarse.products .ttl_box .name::before {
    left: 50%;
    transform: translateX(-50%);
  }
  #gana #cielo.products .ttl_box .links,
  #gana #enforma.products .ttl_box .links,
  #gana #calmarse.products .ttl_box .links {
    justify-content: center;
  }
  #gana #enforma.products .ttl_box .name .en_name {
    margin-right: 0;
  }
  
  /* ポイントスライダー */
  #gana .products .point {
    margin-top: 50px;
  }
  #gana .products .point .point_container article .ttl {
    font-size: 16px;
  }
  #gana .products .point .point_container article figure {
    width: 100%;
    margin-top: 50px;
  }
  #gana .products .point .point_container article figure img {
    width: 100%;
  }
  #gana .products .point .point_container article .txt {
    margin-top: 30px;
    font-size: 12px;
  }
  #gana .products .point .slide_nav .swiper-button-prev,
  #gana .products .point .slide_nav .swiper-button-next {
    width: 13px;
    height: 24px;
  }
  #gana .products .point .slide_nav .swiper-button-prev {
    left: 8%;
    right: auto;
  }
  #gana .products .point .slide_nav .swiper-button-next {
    left: auto;
    right: 8%;
  }
  #gana .products .point .pagination .swiper-pagination-bullet {
    margin-right: 10px;
  }

  /* 参考写真 */
  #gana .products .photos {
    margin-top: 60px;
  }
  #gana .products .photos .inner {
    flex-direction: column;
    max-width: 100%;
  }

  /* 参考写真 360° View */
  #gana .products .photos .rotation_view {
    width: 100%;
  }
  #gana #cielo.products .photos .rotation_view canvas {
    width: 100% !important;
    height: auto !important;
  }
  #gana #enforma.products .photos .rotation_view canvas {
    width: 70% !important;
    height: auto !important;
    max-height: none;
  }
  #gana #calmarse.products .photos .rotation_view canvas {
    width: 75% !important;
    height: auto !important;
  }
  #gana .products .photos .rotation_view .txt {
    margin-top: 10px;
    font-size: 12px;
  }

  /* 参考写真 イメージスライダー */
  #gana .products .photos .img_slide {
    width: 100%;
    margin-top: 50px;
  }
  
  /* サイズモーダルウインドウ */
  #gana .products .size_modal .inner {
    width: 100%;
    height: 100%;
    max-width: calc(100% - (24px * 2));
    max-height: calc(100% - (24px * 2));
  }
  #gana .products .size_modal .modal_box {
    width: 100%;
    height: 100%;
    overflow-y: scroll;
  }
  #gana .products .size_modal .modal_box figure {
    flex-direction: column;
  }
  #gana .products .size_modal .modal_box figure img {
    width: 100%;
    max-width: 100%;
  }

}


















