@charset "UTF-8";
.topKv {
  position: relative;
}
.topKv img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  max-height: 800px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (max-width: 640px) {
  .topKv img {
    aspect-ratio: 75/95;
  }
}
.topKv__topics {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  white-space: nowrap;
  position: absolute;
  right: 2.8571428571rem;
  bottom: 2.8571428571rem;
  line-height: 1;
}
@media screen and (max-width: 640px) {
  .topKv__topics {
    right: 4vw;
    bottom: 4vw;
    width: calc(100% - 8vw);
  }
}
.topKv__topics a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  width: min(35.7142857143rem, 30vw);
  padding: 1.25em 2em 1.25em 1.5em;
  font-size: 1rem;
}
@media screen and (max-width: 640px) {
  .topKv__topics a {
    width: 100%;
    padding: 1em 2em 1em 1em;
  }
}
.topKv__topics a::after {
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-style: solid;
  border-width: 1px 1px 0 0;
  border-color: var(--cl_gold);
  position: absolute;
  right: 1em;
  top: calc(50% - 0.25em);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (any-hover: hover) {
  .topKv__topics a {
    -webkit-transition: opacity 200ms;
    transition: opacity 200ms;
  }
  .topKv__topics a:hover {
    opacity: 0.65;
  }
}
.topKv__topics .label {
  display: block;
  width: 5em;
  color: var(--cl_gold);
  font-family: "Crimson Text", serif;
  font-weight: 400;
  margin: 0;
  padding: 0;
  text-align: left;
  font-size: var(--px12);
}
@media screen and (max-width: 640px) {
  .topKv__topics .label {
    font-size: 3.2vw;
  }
}
.topKv__topics .ttl {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  width: calc(100% - 5em);
  font-size: var(--px12);
  letter-spacing: 0.2em;
}
@media screen and (max-width: 640px) {
  .topKv__topics .ttl {
    font-size: 3.2vw;
  }
}

.topIntro {
  height: min(800px, 100vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 640px) {
  .topIntro {
    height: 106.6666666667vw;
  }
}
.topIntro__inner {
  text-align: center;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 400;
  -webkit-text-stroke: none;
  font-size: 1.5714285714rem;
  line-height: 1.8;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 640px) {
  .topIntro__inner {
    font-size: 3.7333333333vw;
  }
}
.topIntro__inner img {
  width: 302px;
  display: block;
  margin: 0 auto 50px;
}
@media screen and (max-width: 640px) {
  .topIntro__inner img {
    width: 44.9333333333vw;
    margin-bottom: 8vw;
  }
}

@-webkit-keyframes tickerAppear {
  from {
    opacity: 0;
    -webkit-transform: translateY(4px);
            transform: translateY(4px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}

@keyframes tickerAppear {
  from {
    opacity: 0;
    -webkit-transform: translateY(4px);
            transform: translateY(4px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@media screen and (min-width: 641px) {
  .topNewsTicker {
    position: fixed;
    bottom: 1.4285714286rem;
    right: 1.4285714286rem;
    background-color: #fff;
    z-index: 100;
    border-radius: 4px;
    -webkit-box-shadow: 0 0 6px #c3b37d;
            box-shadow: 0 0 6px #c3b37d;
    opacity: 0;
    pointer-events: none;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
    -webkit-transition: opacity ease 0.6s, -webkit-transform ease-out 0.6s;
    transition: opacity ease 0.6s, -webkit-transform ease-out 0.6s;
    transition: opacity ease 0.6s, transform ease-out 0.6s;
    transition: opacity ease 0.6s, transform ease-out 0.6s, -webkit-transform ease-out 0.6s;
  }
  .topNewsTicker.is-active {
    opacity: 1;
    pointer-events: auto;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  .topNewsTicker.is-hidden {
    pointer-events: none !important;
  }
}
@media screen and (max-width: 640px) {
  .topNewsTicker {
    border-style: solid;
    border-width: 1px 0;
    border-color: rgba(195, 179, 125, 0.5);
    width: 100%;
    margin: 0 0 5.7142857143rem;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity ease 0.6s, -webkit-transform ease-out 0.6s;
    transition: opacity ease 0.6s, -webkit-transform ease-out 0.6s;
    transition: opacity ease 0.6s, transform ease-out 0.6s;
    transition: opacity ease 0.6s, transform ease-out 0.6s, -webkit-transform ease-out 0.6s;
  }
  .topNewsTicker.is-active {
    opacity: 1;
    pointer-events: auto;
  }
}
.topNewsTicker__remove {
  position: absolute;
  bottom: calc(100% - 1em);
  right: -1em;
  width: 2em;
  height: 2em;
  background-color: #fff;
  border: 1px solid rgba(195, 179, 125, 0.5);
  border-radius: 100vmax;
}
.topNewsTicker__remove::before, .topNewsTicker__remove::after {
  content: "";
  width: 60%;
  left: 20%;
  height: 1px;
  background-color: #999;
  top: calc(50% - 0.5px);
  position: absolute;
}
.topNewsTicker__remove::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.topNewsTicker__remove::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 640px) {
  .topNewsTicker__remove {
    display: none;
  }
}
.topNewsTicker .slick-dots {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.7142857143rem;
}
.topNewsTicker .slick-dots li {
  font-size: 0;
  margin: 0.3571428571rem;
  width: auto;
}
.topNewsTicker .slick-dots li::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-style: solid;
  border-radius: 100vmax;
  background-color: #ccc;
}
.topNewsTicker .slick-dots li.slick-active::before {
  background-color: var(--cl_gold);
}
.topNewsTicker__list {
  width: 25rem;
  max-width: 100vw;
}
@media screen and (max-width: 640px) {
  .topNewsTicker__list {
    width: 100%;
  }
}
.topNewsTicker__list li {
  width: 100%;
  max-width: 100vw;
}
.topNewsTicker__list li:not(:last-child) {
  border-bottom: 1px solid var(--cl_border);
}
.topNewsTicker__list li a {
  display: block;
  position: relative;
  padding: 1em 1.5em;
  width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.2em;
  font-family: var(--serif);
}
.topNewsTicker__list li a::after {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  border-style: solid;
  border-width: 1px 1px 0 0;
  position: absolute;
  top: 1.5em;
  right: 0.75em;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (any-hover: hover) {
  .topNewsTicker__list li a {
    -webkit-transition: color 200ms;
    transition: color 200ms;
  }
  .topNewsTicker__list li a:hover {
    color: var(--cl_gold);
  }
}

.topIntro2 {
  background-image: url(../images/intro2_bg.jpg);
  background-repeat: no-repeat;
  background-size: 64.72%;
  background-position: top right;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  padding-top: 7.14rem;
  margin-bottom: 28.7857142858rem;
}
@media screen and (max-width: 640px) {
  .topIntro2 {
    display: block;
    /* background-image: url(../images/intro2_bg-sp.jpg); */
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 107.5%;
    margin-bottom: 65vw;
    padding-top: 0;
    padding-bottom: 36.6666666667vw;
  }
}
.topIntro2__fig {
  display: block;
  width: 41.6666666667%;
  max-width: 42.8571428571rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 640px) {
  .topIntro2__fig {
    width: 100%;
  }
}
.topIntro2__fig img {
  display: block;
  max-width: 100%;
}
.topIntro2__body {
  position: relative;
  padding-top: 10.7142857143rem;
  padding-left: 4.2857142857rem;
  max-width: 50rem;
  width: calc(58% - 2.8571428571rem);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 640px) {
  .topIntro2__body {
    width: 100%;
    padding-left: 10.6666666667vw;
    padding-right: 10.6666666667vw;
    padding-top: 13.3333333333vw;
  }
}
.topIntro2__ttl {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 400;
  -webkit-text-stroke: none;
  font-size: 1.7857142857rem;
  letter-spacing: 0.2em;
  margin-bottom: 1em;
  position: relative;
}
@media screen and (max-width: 640px) {
  .topIntro2__ttl {
		font-size: 5.69vw;
    line-height: 1.35;
    letter-spacing: 0.1em;
  }
}
.topIntro2__ttl::before {
  content: "";
  display: block;
  position: absolute;
  right: calc(100% + 0.7142857143rem);
  bottom: 0.65em;
  width: 3.5714285714rem;
  height: 1px;
  background-color: var(--cl_gold);
}
@media screen and (max-width: 640px) {
  .topIntro2__ttl::before {
    bottom: 1em;
  }
}
.topIntro2__ttl::first-letter {
  font-size: 1.5em;
  margin-right: 0.05em;
  color: var(--cl_gold);
}
.topIntro2__txt {
  line-height: 2;
  font-size: 1rem;
}
@media screen and (max-width: 640px) {
  .topIntro2__txt {
    font-size: 3.2vw;
  }

  .topIntro2__txt br{
    display: none;
  }
}
.topIntro2__script {
  position: absolute;
  left: 40%;
  top: 94%;
}
@media screen and (max-width: 640px) {
  .topIntro2__script {
    width: 38vw;
    left: auto;
    right: 5.3333333333vw;
  }
}
.topIntro2__items {
  position: absolute;
  bottom: -13.2142857143rem;
  right: 3.5714285714rem;
}
.topIntro2__itemsMain {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.7142857143rem;
}
@media screen and (max-width: 640px) {
  .topIntro2__itemsMain {
    width: 240vw;
    padding: 0 16vw;
  }
}
@media screen and (max-width: 640px) {
  .topIntro2__items {
    width: 100%;
    bottom: -40vw;
    right: 0;
    overflow: hidden;
    padding-left: 4vw;
    gap: 1.3333333333vw;
  }
}
.topIntro2__items a,
.topIntro2__items img {
  display: block;
  width: auto;
  max-height: 20vw;
}
@media screen and (max-width: 640px) {
  .topIntro2__items a,
  .topIntro2__items img {
    max-height: 50vw;
  }
}
@media (any-hover: hover) {
  .topIntro2__items a {
    overflow: hidden;
  }
  .topIntro2__items a img {
    -webkit-transition: -webkit-filter 200ms, -webkit-transform 200ms;
    transition: -webkit-filter 200ms, -webkit-transform 200ms;
    transition: filter 200ms, transform 200ms;
    transition: filter 200ms, transform 200ms, -webkit-filter 200ms, -webkit-transform 200ms;
  }
  .topIntro2__items a:hover img {
    -webkit-filter: brightness(1.05);
            filter: brightness(1.05);
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.topIntro2__items a[href=""] {
  pointer-events: none;
  cursor: auto;
}


.topBox {
  position: relative;
  background-image: url(../images/box_bg.png);
  background-repeat: no-repeat;
  background-position: left top 4.7142857143rem;
  background-size: 120rem;
  margin-bottom: 14.2857142857rem;
}
@media screen and (max-width: 640px) {
  .topBox {
    margin-bottom: 22.6666666667vw;
    width: 100%;
    background: none;
  }
}
.topBox__header {
  padding-top: 10.7142857143rem;
}
@media screen and (max-width: 640px) {
  .topBox__header {
    padding-top: 29.3333333333vw;
  }
}
.topBox__copy {
  position: absolute;
  right: 5rem;
  top: 3.9285714286rem;
}
@media screen and (max-width: 640px) {
  .topBox__copy {
    position: relative;
    width: 100%;
    right: 0;
    top: 0;
  }
  .topBox__copy img {
    display: block;
    width: 100%;
  }
}
.topBox__ttl {
  font-size: 1.8571428571rem;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 400;
  -webkit-text-stroke: none;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .topBox__ttl {
    padding-top: 1em;
    font-size: 4.6666666667vw;
    line-height: 1.6;
  }
}
.topBox__ttl strong {
  color: var(--cl_gold);
  font-size: 1.3333em;
  font-weight: 400;
}
.topBox__txt {
  text-align: center;
  line-height: 1.8;
  font-size: 1.1428571429rem;
  margin-top: 4.2857142857rem;
}
@media screen and (max-width: 640px) {
  .topBox__txt {
    margin-top: 4vw;
    font-size: 3.2vw;
  }
}

.topBox__gift {
  margin-top: 4.71rem;
  position: relative;
}

.topBox__scene {
  width: 59.51%;
}
@media screen and (max-width: 640px) {
  .topBox__scene {
    width: 100%;
  }
}

.topBox__scene img{
  width: 100%;
  object-fit: cover;
}

.topBox__mainBox {
  max-width: 63.85rem;
  width: 100%;
  position: absolute;
  top: -1.71rem;
  right: 2rem;
}

@media screen and (max-width: 1440px) {
  .topBox__mainBox {
    max-width: 62.08vw;
  }
}
@media screen and (max-width: 640px) {
  .topBox__mainBox {
    max-width: 76vw;
    top: inherit;
    bottom: -2rem;
    right: 1rem;
  }
}


.topBox__mainBox img{
  width: 100%;
}

.topGift {
  background-image: url(../images/gift_bg.png);
  background-repeat: no-repeat;
  background-size: 50%;
  background-position: top right;
  padding-top: 7.1428571429rem;
  margin-bottom: 14.2857142857rem;
}
@media screen and (max-width: 640px) {
  .topGift {
    padding-top: 13.3333333333vw;
    background-image: url(../images/gift_bg-sp.png);
    background-repeat: no-repeat;
    background-size: 90%;
    background-position: top right;
    margin-bottom: 26.6666666667vw;
  }
}
.topGift__inner {
  max-width: 78.5714285714rem;
  width: calc(100% - 5.7142857143rem);
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .topGift__inner {
    width: 100%;
  }
}
.topGift__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 4.2857142857rem;
}
@media screen and (max-width: 640px) {
  .topGift__header {
    display: block;
    width: calc(100% - 10.6666666667vw);
    margin: 0 auto;
  }
}
.topGift__headerDesc {
  font-size: 1.2857142857rem;
  letter-spacing: 0.2em;
  line-height: 1.8;
  padding-left: 1.5em;
}
@media screen and (max-width: 640px) {
  .topGift__headerDesc {
    font-size: 3.2vw;
    padding-left: 2.6666666667vw;
  }
}
.topGift__ttl {
  color: var(--cl_gold);
  font-size: 6.4285714286rem;
  font-family: "Frank Ruhl Libre", serif;
  font-weight: 300;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 640px) {
  .topGift__ttl {
    font-size: 18.6666666667vw;
  }
}
.topGift__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2vw;
}
@media screen and (max-width: 640px) {
  .topGift__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    display: block;
    overflow: hidden;
    width: 100%;
  }
}
.topGift__main .item {
  display: block;
  height: auto;
  -ms-flex-negative: 1;
      flex-shrink: 1;
}
@media screen and (max-width: 640px) {
  .topGift__main .item {
    width: 100%;
    overflow: hidden;
    padding-top: 5.3333333333vw;
  }
}
@media (any-hover: hover) {
  .topGift__main .item:link {
    -webkit-transition: ease 200ms;
    transition: ease 200ms;
  }
  .topGift__main .item:link:hover {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
    opacity: 0.7;
  }
}
.topGift__main .item img {
  display: block;
  max-width: 100%;
}
.topGift__main .item--01 {
  max-width: 30vw;
}
@media screen and (max-width: 640px) {
  .topGift__main .item--01 {
    margin-right: 51vw;
    margin-left: -5.3333333333vw;
    width: 55.3333333333vw;
    max-width: 55.3333333333vw;
  }
}
.topGift__main .item--02 {
  max-width: 35vw;
  position: relative;
}
@media screen and (max-width: 640px) {
  .topGift__main .item--02 {
    margin-left: 35vw;
    margin-right: -15.7333333333vw;
    margin-top: -2.6666666667vw;
    width: 65.7333333333vw;
    max-width: 65.7333333333vw;
  }
}
.topGift__btn {
  -ms-flex-item-align: end;
      align-self: flex-end;
  padding-bottom: 2.1428571429rem;
}
@media screen and (max-width: 640px) {
  .topGift__btn {
    padding: 8vw 0 0;
  }
  .topGift__btn .btnCmn {
    margin: 0 auto;
  }
}


/* 海鮮時追加 */
.topType {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  padding: 6.42rem 1em;
  margin: -7.85rem 0 4.28rem;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .topType {
    padding: 0 1em;
    margin: 2rem 0 5rem;
  }
}

.topType__ttl {
  width: 0;
  height: 1px;
  clip-path: polygon(0 0, 0 0 , 0 0);
}

.topType__inner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1000px) {
  .topType__inner {
    max-width: none;
    padding-bottom: 2rem;
    overflow-x: scroll;
    scrollbar-width: thin;
    scrollbar-color: var(--cl_gold) transparent;
  }
}

.topType__list {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .85rem;
}

@media screen and (max-width: 1000px) {
  .topType__list {
    display: inline-flex;
  }
}

.topType__list li {
  overflow: hidden;
}

@media screen and (max-width: 1000px) {
  .topType__list li {
    width: 28vw;
  }
}

@media screen and (max-width: 640px) {
  .topType__list li {
    width: 35vw;
  }
}

.topType__list img {
  width: 100%;
  height: auto;
  transition: all .3s ease-in-out;
}

.topType__list a[href=""]{
  pointer-events: none;
  cursor: auto;
}

.topType__list a[href=""]::after{
  content: "";
  width: calc(7.14rem * 1);
  height: calc(2.14rem * 1);
  background: url(../images/comingsoon.png) center / 100% no-repeat;
  margin: 1.5rem auto 0;
  display: block;
}
@media screen and (max-width: 640px) {
  .topType__list a[href=""]::after{
    width: calc(7.14rem * .66);
    height: calc(2.14rem * .66);
  }
}


.topType__list a:hover img{
  transform: scale(1.05);
  filter: brightness(1.05);
}

.topType__list h3 {
  font-size: 2.28rem;
  font-weight: normal;
  font-family: inherit;
  line-height: 1;
  letter-spacing: calc(70 / 1000 * 1em);
  text-align: center;
  color: #0b0b0b;
  margin: 1.42rem 0;
}
@media screen and (max-width: 640px) {
  .topType__list h3 {
    font-size: 5vw;
    margin: 3.15vw 0;
  }
}

.topType__list p {
  font-size: 1.14rem;
  font-weight: normal;
  font-family: inherit;
  line-height: 1.5;
  letter-spacing: calc(30 / 1000 * 1em);
  text-align: center;
  color: #242424;
}
@media screen and (max-width: 640px) {
  .topType__list p {
    font-size: .875rem;
  }
  /* .topType__list p br {
    display: none;
  } */
}


.topCategory {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  background: 
    /* url(../images/cate_bg01.png) center bottom / auto repeat-x,  */
    url(../images/cate_bg00.jpg) center top / 100% repeat;
  padding: 7.71rem 1em 12.85rem;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .topCategory {
    padding: 5rem 1em 10rem;
  }
}

.topCategory__ttl {
  font-size: 2.42rem;
  font-weight: normal;
  font-family: inherit;
  line-height: 1;
  letter-spacing: calc(30 / 1000 * 1em);
  text-align: center;
  color: #ba973e;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 640px) {
  .topCategory__ttl{
    font-size: 6.5vw;
    margin-bottom: 2.5rem;
  }
}


.topCategory__inner {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

.topCategory__list {
  margin-bottom: 3.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: center;
  gap: 1.42rem;
}
@media screen and (max-width: 1000px) {
  .topCategory__list {
    justify-content: center;
  }
}
@media screen and (max-width: 640px) {
  .topCategory__list {
    gap: .75rem;
  }
}

.topCategory__list li {
  max-width: calc((100% - 1.42rem * 4) / 5);
}
@media screen and (max-width: 1000px) {
  .topCategory__list li {
    max-width: calc((100% - 1.42rem * 3) / 4);
  }
}
@media screen and (max-width: 640px) {
  .topCategory__list li {
    max-width: calc((100% - 1.42rem * 2) / 3);
  }
}

.topCategory__list a {
  font-size: 1.78rem;
  font-weight: normal;
  font-family: inherit;
  line-height: 1;
  letter-spacing: calc(30 / 1000 * 1em);
  text-align: center;
  color: #0b0b0b;
}
@media screen and (max-width: 1000px) {
  .topCategory__list a {
    font-size: 1.2rem;
  }
}

.topCategory__list a[href=""],
.topCategory__list a[href][comingsoon]{
  position: relative;
  pointer-events: none;
  cursor: auto;
}

.topCategory__list a[href=""]::after,
.topCategory__list a[href][comingsoon]::after{
  content: "";
  width: calc(7.14rem * 1);
  height: calc(2.14rem * 1);
  background: url(../images/comingsoon.png) center / 100% no-repeat;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%) rotate(-15deg);
}
@media screen and (max-width: 640px) {
  .topCategory__list a[href=""]::after,
  .topCategory__list a[href][comingsoon]::after{
    width: calc(7.14rem * .7);
    height: calc(2.14rem * .7);
    transform: translate(25%, -300%) rotate(-15deg);
  }
}


.topCategory__list a span {
  font-size: inherit;
  font-weight: inherit;
  margin-top: .8em;
  display: block;
  text-shadow: 1px 1px 5px #ffffff,-1px -1px 5px #ffffff;
  filter:drop-shadow(3px 3px 5px #0000001B);
}

.topCategory__list img {
  /* width: 100%;
  height: auto; */
  transition: all .3s ease-in-out;
}
@media screen and (max-width: 1000px) {
  .topCategory__list img {
    width: 100%;
    height: auto;
  }
}

.topCategory__list a:hover img{
  transform: scale(1.05);
  filter: brightness(1.05);
}

.topCategory__button {
  max-width: 21.42rem;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .topCategory__button {
    max-width: 70%;
  }
}


.topCategory__button a {
  font-size: 1.42rem;
  font-weight: normal;
  line-height: 1;
  letter-spacing: calc(100 / 1000 * 1em);
  text-align: center;
  color: #fff;
  background: #ba973e;
  border-radius: 99rem;
  padding: .75em 1em;
  box-sizing: border-box;
  display: block;
  transition: all .3s ease-in-out;
}
@media screen and (max-width: 640px) {
  .topCategory__button a {
    font-size: 1.25rem;
  }
}

.topCategory__button a:hover {
  color: #ba973e;
  background: #fff;
}


.topFastidiousness {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  position: relative;
  background: url(../images/fastidiousness_bk.jpg) center / cover no-repeat;
  padding: 7.5rem 1rem 10rem;
  margin-bottom: 10.25rem;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .topFastidiousness {
    padding: 5rem 1rem;
    margin: 10vw 0 0;
    width: 100%;
  }
}
.topFastidiousness__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.topFastidiousness__copy {
  position: absolute;
  left: 5rem;
  top: 0;
	transform: translateY(-22.5%)
}
@media screen and (max-width: 640px) {
  .topFastidiousness__copy {
    max-width: 15vw;
    width: 100%;
    left: 1rem;
    display: none;
  }
  .topFastidiousness__copy img {
    display: block;
    width: 100%;
  }
}

.topFastidiousness__ttl {
  font-size: 1.78rem;
  font-weight: 400;
  font-family: inherit;
  line-height: 1.64;
  letter-spacing: calc((100 / 1000) * 1em);
  text-align: center;
  color: #fff;
  margin-bottom: 0;
  filter: drop-shadow(8px 8px 6px #1a6a98);
}
@media only screen and (max-width: 767px) {
  .topFastidiousness__ttl {
    font-size: 5.33vw;
  }
  .topFastidiousness__ttl em {
    display: block;
  }
}

.topFastidiousness__ttl em {
  font-size: 133%;
  font-style: normal;
}

.topFastidiousness__line {
  max-width: 48.57rem;
  width: 100%;
  height: 1px;
  background: #fff;
  margin: 2.28rem auto;
  filter: drop-shadow(8px 8px 6px #1a6a98);
}
@media only screen and (max-width: 767px) {
  .topFastidiousness__line {
    margin: 2rem auto;
  }
}
.topFastidiousness__txt{
  font-size: 1.14rem;
  font-weight: normal;
  line-height: 1.75;
  letter-spacing: calc((100 / 1000) * 1em);
  text-align: center;
  color: #fff;
  display: inline-block;
  filter: drop-shadow(8px 8px 6px #1a6a98);
}
@media only screen and (max-width: 767px) {
  .topFastidiousness__txt{
    font-size: 3.73vw;
  }
}