@charset "UTF-8";
@keyframes play {
  from {
    transform: translateX(-100%); }
  to {
    transform: translateX(0); } }
@keyframes maskOut {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(100%); } }
@keyframes zoomslide {
  0% {
    visibility: visible;
    opacity: 0; }
  15% {
    opacity: 1; }
  33.3% {
    opacity: 1; }
  48.3% {
    opacity: 0; }
  100% {
    opacity: 0;
    transform: scale(1.1); } }
@keyframes zoomUp {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.1); } }
/* トップページ
-------------------------------------------------------------------------*/
.menu_t {
  position: absolute;
  right: 8%;
  top: 8%;
  writing-mode: vertical-rl;
  font-size: 2.6rem;
  font-weight: bold;
  z-index: 10; }
  .menu_t li {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    margin-left: 1em; }
    .menu_t li a {
      color: #fff; }
      .menu_t li a:hover {
        opacity: 0.7; }
    .menu_t li span {
      color: #c3a59b;
      font-size: 0.5em;
      display: block;
      margin-top: .2rem; }

.top_mainv {
  height: 100vh;
  width: 100%;
  position: relative; }
  .top_mainv .item {
    height: 100vh;
    width: 100%;
    top: 0;
    left: 0;
    position: relative; }
    .top_mainv .item::after {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      z-index: -1; }
  .top_mainv .item_1::after {
    background: url("../img/51722b.jpg") center center;
    background-size: cover; }
  .top_mainv .item_2::after {
    background: url("../products/img/51697.jpg");
    background-size: cover; }
  .top_mainv .item_3::after {
    background: url("../img/51546b.jpg");
    background-size: cover; }
  .top_mainv .item_4::after {
    background: url("../news/img/news_2402.png") no-repeat center center;
    background-size: cover; }
  .top_mainv .item_5::after {
    background: url("../news/img/2411_xmas_pc.jpg") no-repeat center center;
    background-size: cover; }
  .top_mainv .logo {
    position: absolute;
    top: 8%;
    left: 8%;
    z-index: 10;
    width: 200px;
    max-width: 25%; }
  .top_mainv .copy {
    position: absolute;
    bottom: 8%;
    bottom: calc( 8% + 4rem);
    left: 8%;
    font-size: 1.8rem; }
    .top_mainv .copy span {
      display: inline-block;
      background: #FFF;
      color: #222;
      margin-top: 1em;
      padding: .5em;
      font-weight: bold; }

.top_news {
  padding: 10rem 4rem;
  display: flex;
  justify-content: center;
  transition: 1s;
  transform: translate(0, 10px);
  opacity: 0; }
  .top_news.scOn {
    transform: translate(0, 0);
    opacity: 1; }
  .top_news .inner {
    display: flex;
    position: relative;
    padding-bottom: 4em; }
  .top_news h3 {
    font-size: 3rem;
    margin-right: 5rem;
    width: 5em; }
  .top_news li {
    padding: 1em 0;
    border-bottom: 1px solid #DDD;
    display: flex; }
    .top_news li:first-child {
      border-top: 1px solid #DDD; }
  .top_news .date, .top_news .topic {
    font-size: 1.6rem; }
  .top_news .date {
    width: 9.5em;
    display: inline-block; }
  .top_news .topic {
    flex: 1;
    width: calc( 100% - 10.5em);
    display: inline-block; }
  .top_news .txt {
    font-size: 1.4rem;
    color: #555; }
  .top_news .en {
    color: #999;
    padding-left: .05em; }
  .top_news a:hover {
    color: #ad9c73; }
  .top_news a {
    color: darkgoldenrod; }
  .top_news .link {
    position: absolute;
    bottom: 0;
    right: 0; }
  .top_news a.btn {
    color: #111; }
  .top_news a.btn:hover {
    color: #FFF; }
  .top_news .topic::before {
    content: "おしらせ";
    display: inline-block;
    color: #FFF;
    background: #753f73;
    padding: .2em .4em .3em;
    font-size: .6em;
    margin-right: .7em;
    font-family: "YakuHanJP", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
    vertical-align: text-top; }
  .top_news .gentei::before {
    content: "期間限定";
    background: #cb1e1e; }
  .top_news .end::before {
    content: "期間終了";
    background: darkgoldenrod; }
  .top_news .hyou_ttl {
    margin-top: 1em;
    color: #c71a23; }
    .top_news .hyou_ttl .small {
      vertical-align: text-bottom; }
  .top_news .hyou {
    border-collapse: inherit;
    border: 2px dotted #c24f55;
    border-radius: 5px;
    padding: 10px; }
    .top_news .hyou th, .top_news .hyou td {
      line-height: 1;
      font-size: .9em;
      font-weight: normal;
      padding: 6px; }
    .top_news .hyou td {
      text-align: right;
      width: 6em; }

.top_intro {
  position: relative;
  padding-bottom: 4rem; }
  .top_intro .inner {
    width: 90%;
    margin: 4rem auto 0; }
  .top_intro .yoko {
    width: 80%;
    position: relative;
    top: 0;
    background: url("../img/bg.png");
    height: 24rem; }
  .top_intro .txt {
    writing-mode: vertical-rl;
    width: 70%;
    margin: 0 auto;
    position: relative;
    max-width: 90rem;
    z-index: 1; }
  .top_intro .ttl {
    position: relative;
    top: -18rem; }
    .top_intro .ttl .en {
      color: #999; }
  .top_intro h3 {
    font-size: 5.2rem; }
  .top_intro p {
    margin-right: 6rem;
    letter-spacing: .22em;
    line-height: 4.4;
    font-size: 1.8rem; }
  .top_intro .images {
    text-align: right;
    margin-top: -14rem;
    padding-bottom: 14rem; }
    .top_intro .images img {
      width: 34rem;
      margin-left: 4rem;
      border-radius: 90% 92% 80% 85%; }
  .top_intro .maru {
    overflow: hidden;
    border-radius: 100%;
    border-radius: 80% 85% 92% 90%;
    max-width: 60rem;
    width: 40%;
    position: absolute;
    bottom: -4rem;
    left: -12%; }
  .top_intro .lnk {
    display: block;
    position: absolute;
    top: -14rem;
    left: -25%; }
    .top_intro .lnk a {
      background: #222;
      color: #FFF;
      border-radius: 100%;
      writing-mode: horizontal-tb;
      width: 17rem;
      height: 17rem;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.7rem; }
      .top_intro .lnk a:hover {
        background: #ad9c73; }
  .top_intro .txt, .top_intro .images, .top_intro .maru {
    opacity: 0;
    transition: 1s; }
  .top_intro .txt {
    transform: translate(0, 10px); }
  .top_intro .images, .top_intro .maru {
    transform: scale(0.9);
    transition-delay: 1s; }
  .top_intro .maru {
    transition-delay: 1.2s; }
  .top_intro.scOn .txt {
    transform: translate(0, 0);
    opacity: 1; }
  .top_intro.scOn .images, .top_intro.scOn .maru {
    opacity: 1;
    transform: scale(1); }

.top_cate_box {
  background: #F9F9F9; }

.top_cate {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 1s;
  transform: translate(0, 10px);
  opacity: 0; }
  .top_cate.scOn {
    transform: translate(0, 0);
    opacity: 1; }
  .top_cate .image {
    background: url("../products/img/51697.jpg") center center;
    background-size: cover;
    padding-bottom: 34%;
    width: 55%;
    position: relative;
    margin-top: -4rem; }
  .top_cate .txt {
    width: 45%;
    padding-left: 10%;
    position: relative; }
    .top_cate .txt p {
      margin-top: 2em; }
    .top_cate .txt .ttl_en {
      margin-top: 1rem;
      font-size: .9em;
      color: #999; }
  .top_cate .btn {
    margin-top: 4em;
    font-size: 1.5rem; }
  .top_cate.cate_1 {
    flex-direction: row-reverse; }
  .top_cate.cate_2 {
    margin-top: 10rem; }
    .top_cate.cate_2 h3 {
      margin-left: -0.2em; }
    .top_cate.cate_2 .txt {
      margin-top: -4rem; }
    .top_cate.cate_2 .image {
      background-image: url("../img/51546.jpg");
      margin-top: 0; }

.top_yoko {
  margin-top: -8rem;
  width: 100%;
  background: url("../img/bg.png") center;
  height: 22rem; }

@media (max-width: 1200px) {
  .top_intro .txt {
    width: 95%; }

  .top_intro .yoko {
    width: 89%; }

  .top_intro .lnk {
    left: -6%;
    top: -17rem; } }
@media (max-width: 959px) {
  .top_mainv .logo {
    left: 2rem; }

  .menu_t {
    right: 2rem; }

  .top_intro {
    margin-top: 1rem; }

  .top_intro h3 {
    font-size: 4rem; }

  .top_intro .inner {
    position: relative;
    padding-bottom: 12rem; }

  .top_intro .txt {
    width: 95%; }

  .top_intro p {
    margin-right: 4rem;
    line-height: 3.4; }

  .top_intro .lnk {
    left: -5%;
    top: -17rem; }

  .top_intro .lnk a {
    width: 15rem;
    height: 15rem; }

  .top_intro .images {
    margin-top: -10em;
    margin-right: -2rem; }

  .top_intro .images img {
    margin-left: 1rem;
    width: 20rem; }

  .top_intro .maru {
    top: auto;
    bottom: 0;
    width: 50%;
    left: -30%; }

  .top_mainv .item_1::after {
    background: url(../img/slide_01_sp.jpg) center;
    background-size: cover; }

  .top_mainv .item_2::after {
    background: url(../img/slide_02_sp.jpg) center;
    background-size: cover; }

  .top_mainv .item_3::after {
    background: url(../img/slide_03_sp.jpg) center;
    background-size: cover; }

  .top_mainv .item_4::after {
    background: url(../news/img/news_2402_sp.png) center;
    background-size: cover; }

  .top_mainv .item_5::after {
    background: url(../news/img/2411_xmas_sp.png) center;
    background-size: cover; }

  .top_news {
    padding: 6rem 4rem; }

  .top_news .inner {
    display: block; }

  .top_news h3 {
    font-size: 2rem; }

  .top_news ul {
    margin-top: 1rem; }

  .top_news .date, .top_news .topic, .top_news .txt {
    font-size: 1.5rem; }

  .top_news .topic {
    width: 100%; }

  .top_cate h3 {
    font-size: 3.2rem; }

  .top_cate .image {
    width: 53%;
    margin-top: -8rem; }

  .top_cate .txt {
    width: 47%;
    font-size: 1.4rem;
    padding: 0 1rem 0 3rem; }

  .top_cate.cate_2 {
    margin-top: 6rem; }

  .top_cate_btn_box {
    padding-bottom: 12rem; } }
@media (max-width: 559px) {
  .menu_t {
    font-size: 1.8rem;
    top: 14rem;
    display: none; }

  .top_mainv .logo {
    top: 2.4rem; }

  .top_mainv .copy {
    font-size: 1.6rem; }

  .top_mainv .images {
    padding-bottom: 149%;
    width: 100%; }

  .top_mainv .images::after {
    background-image: url("../img/mainv_waku_tate.png"); }

  .top_news {
    padding: 4rem 2rem; }

  .top_news li {
    display: block; }

  .top_news .date {
    display: block;
    margin-bottom: .4rem; }

  .top_news .date, .top_news .topic, .top_news .txt {
    font-size: 1.3rem; }

  .top_intro {
    padding: 0 2rem; }

  .top_intro .inner {
    width: 100%; }

  .top_intro .yoko {
    width: 110%;
    height: 8rem;
    margin-left: -10%; }

  .top_intro .ttl {
    top: 0; }

  .top_intro .txt {
    writing-mode: horizontal-tb;
    padding: 0; }

  .top_intro h3 {
    font-size: 3.2rem; }

  .top_intro p {
    margin-right: 0;
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 2.2; }

  .top_intro .lnk {
    position: relative;
    top: 4rem;
    left: auto; }

  .top_intro .lnk a {
    width: 10rem;
    height: 10rem;
    font-size: 1.2rem; }

  .top_intro .images {
    margin-top: 2rem;
    margin-right: 0;
    padding-bottom: 4rem; }

  .top_intro .images img {
    margin-top: 2rem; }

  .top_intro .images img:first-child {
    margin-top: -3rem; }

  .top_intro .maru {
    bottom: 4rem;
    left: -25%; }

  .top_cate {
    display: block; }

  .top_cate .image, .top_cate .txt {
    width: 100%;
    margin: 2rem 0 0; }

  .top_cate.cate_2 .txt {
    margin: 2rem 0; }

  .top_cate h3 {
    font-size: 2.4rem; }

  .top_cate .btn {
    font-size: 1.3rem; }

  .top_yoko {
    height: 10rem; }

  .nami {
    height: 12rem; } }
