/* ==============================
  @ Setting
======================================= */

*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  /* 16px * 0.625 = 10px */
  font-size: 62.5%;
}
body {
  /* 1.6rem = 16px */
  font-size: 1.6rem;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
  color: var(--text-color);
}
.icon {
  display: inline-block;
  width: var(--space-24);
  height: var(--space-24);
  display: inline-block;
  fill: #000;
  vertical-align: middle;
}
.wc_time {
  font-size: 1.2rem;
  color: var(--text-caption);
}

:root {
  --main-color: #1a5ca9;
  --bg-color: #e7eef6;
  --text-color: #031020;
  --text-caption: #aaaaaa;
  --space-8: 0.8rem; /* 8px */
  --space-16: 1.6rem; /* 16px */
  --space-24: 2.4rem; /* 24px */
  --space-32: 3.2rem; /* 32px */
  --space-40: 4rem; /* 40px */
  --space-48: 4.8rem; /* 48px */
  --space-56: 5.6rem; /* 56px */
  --space-64: 6.4rem; /* 64px */
  --space-72: 7.2rem; /* 72px */
  --space-80: 8rem; /* 80px */
  --space-88: 8.8rem; /* 88px */
  --space-96: 9.6rem; /* 96px */
}

/* ==============================

  @ Title

======================================= */

.wc_ttl {
  margin-bottom: var(--space-40);
}
.wc_ttl h2 {
  margin: 0;
  font-size: 3rem;
  font-weight: 900;
}
.wc_ttl b {
  color: var(--main-color);
  font-size: 1.2rem;
}

/* ==============================

  @ Header

======================================= */

.wc_header-logo {
  width: 50dvw;
  display: block;
  top: 0;
  left: 0;
  position: absolute;
  background: #fff;
  padding: var(--space-24);
  border-radius: 0 0 var(--space-16) 0;
  z-index: 11;
}
.wc_menu {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s;
  width: 100%;
  height: 100dvh;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  background: #fff;
  padding: var(--space-8);
}
.menu-on .wc_menu {
  opacity: 1;
  visibility: visible;
}
.wc_menu ul {
  margin: 0;
  padding: var(--space-88) var(--space-24) 0;
  height: 100%;
  background: var(--main-color);
  border-radius: var(--space-8);
  list-style: none;
}
.wc_menu a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #e0eeff;
  padding: var(--space-24) 0;
  border-bottom: 1px solid #e0eeff;
  text-decoration: none;
}
.wc_menu a b {
  font-size: 2rem;
}
.wc_menu a div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-16);
  font-size: 1.2rem;
}
.wc_menu a .icon {
  fill: #fff;
  /* width: var(--space-16);
  height: var(--space-16); */
}
.wc_menu-btn {
  position: fixed;
  right: var(--space-16);
  top: var(--space-16);
  border: none;
  border-radius: 50%;
  padding: var(--space-8);
  background: var(--text-color);
  z-index: 12;
}
.wc_menu-btn > .icon {
  transition: opacity 0.2s ease-in-out;
  opacity: 1;
  width: var(--space-32);
  height: var(--space-32);
  fill: #fff;
  color: #fff;
}
.icon.is-fading {
  opacity: 0;
}
.menu-on .wc_header-logo {
  position: fixed;
  /* animation: fadeInSlide 0.5s ease-out forwards;  */
}
@keyframes fadeInSlide {
  0% {
    opacity: 0;
    /* transform: translateY(10px); */
  }
  100% {
    opacity: 1;
    /* transform: translateY(0); */
  }
}

/* ==============================

  @ Page Head

======================================= */

.wc_pageHead {
  padding: var(--space-96) var(--space-16) var(--space-48);
}
.wc_pageHead .wc_ttl {
  margin-bottom: var(--space-8);
}
.wc_bredList {
  color: #7c8c9d;
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: var(--space-8);
  font-size: 1rem;
}
.wc_bredList a {
  text-decoration: none;
  color: #7c8c9d;
  display: flex;
  align-items: center;
  gap: var(--space-8);
}
.wc_bredList a::after {
  content: "";
  display: block;
  clip-path: polygon(0 7%, 7% 0, 57% 50%, 7% 100%, 0 93%, 43% 50%, 0 7%);
  height: 0.6rem;
  margin-top: 0.15rem;
  aspect-ratio: 1;
  background-color: #7c8c9d;
}

/* ==============================

  @ Pagenation

======================================= */

.wc_pageNation {
  display: flex;
  justify-content: center;
  gap: var(--space-32);
  padding: var(--space-16);
}
.wc_pageNation button {
  background: var(--main-color);
  border: none;
  width: 20vw;
  border-radius: var(--space-8);
}
.wc_pageNation button .icon{
  color: #e7eef6;
}
.wc_pageNation-list {
  width: 100%;
  background: #fff;
  border-radius: var(--space-8);
  position: relative;
}
.wc_pageNation-now{
  display: flex;
  justify-content: center;
  align-items: center;
  gap:var(--space-8);
  padding: var(--space-16);
}
.wc_pageNation-now span:nth-child(2){
  font-size:1rem;
  color:var(--text-caption)
}
.wc_pageNation-nowList {
  background: #fff;
  position: absolute;
  bottom: 0;
  width: 100%;
  border-radius: var(--space-16);
  max-height: 25vh;
  overflow-y: scroll;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s;
}
.wc_pageNation-list.on .wc_pageNation-nowList{
    opacity: 1;
    visibility: visible;
}
.wc_pageNation-nowList p {
  border-bottom: 1px solid #ccc;
  padding: var(--space-16);
  margin: 0;
}
.wc_pageNation-nowList p:last-child{
  border:none
}

/* ==============================

  @ Category

======================================= */

.wc_category {
  z-index: 2;
  left: 0;
  margin: 0 auto;
  right: 0;
  bottom: 2vh;
  position: fixed;
  border: 2px solid var(--main-color);
  background: #fff;
  width: calc(100% - 1.6rem);
  max-width: calc(100% - 1.6rem);
  border-radius: var(--space-48);
  display: flex;
  align-items: center;
  padding: var(--space-8) var(--space-16);
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-in-out, visibility 0.3s;
}
.wc_category.off {
  opacity: 0;
  visibility: hidden;
}

.wc_category-cng,
.wc_category-bye {
  border: none;
  background: none;
  width: 50vw;
  border-left: 1px solid var(--text-caption);
  color: var(--text-color);
}
.wc_category-cng b,
.wc_category-bye b {
  font-size: 1rem;
  display: block;
}
.wc_category-cng .icon,
.wc_category-bye .icon {
  color: var(--text-caption);
}
.wc_category-name {
  width: 100%;
  margin: 0;
}
.wc_category-name span {
  display: block;
  font-size: 1rem;
  color: var(--text-caption);
}
.wc_category-list {
  position: fixed;
  width: calc(100% - 2.4rem);
  border: 2px solid var(--main-color);
  left: 0;
  right: 0;
  bottom: 110px;
  margin: 0 auto;
  background: #fff;
  padding: var(--space-16);
  border-radius: var(--space-16);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s;
}
.wc_category-list.on {
  opacity: 1;
  visibility: visible;
}
.wc_category-list::before {
  content: "";
  display: block;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: var(--main-color);
  width: var(--space-32);
  height: var(--space-24);
  position: absolute;
  bottom: -25px;
  right: 35vw;
}
.wc_category-list::after {
  content: "";
  display: block;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #fff;
  width: var(--space-32);
  height: var(--space-24);
  position: absolute;
  bottom: -22px;
  right: 35vw;
}
.wc_category-list div {
  padding: var(--space-16) 0;
  display: flex;
  gap: var(--space-8);
  align-items: center;
  border-bottom: var(--main-color) solid 1px;
}
.wc_category-list p {
  display: flex;
  gap: var(--space-8);
  align-items: baseline;
  margin: 0;
}
.wc_category-list p b {
  font-size: 1.8rem;
}
.wc_category-list p span {
  font-size: 1.2rem;
}
.wc_category-list div.sel {
  color: var(--main-color);
}
.wc_category-list div:last-child {
  border-bottom: none;
}
.wc_category-cls {
  border: none;
  position: absolute;
  right: -8px;
  top: -20px;
  background: var(--main-color);
  border-radius: 50%;
  width: var(--space-40);
  height: var(--space-40);
}
.wc_category-cls .icon {
  fill: #fff;
}

.wc_category-onoff {
  border: 2px solid var(--main-color);
  border-radius: 50%;
  padding: var(--space-8);
  background: #fff;
  right: var(--space-16);
  bottom: 2vh;
  position: fixed;
  z-index: 1;
}


/* ==============================

  @ FOOTER

======================================= */

#wc_footer {
  position: relative;
}
.wcfooter--wave {
  width: 100%;
  position: absolute;
  top: -4rem;
  left: 0;
}
.wc_footer-inr {
  color: #fff;
  background: var(--main-color);
}
.wc_menu-footer ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  list-style-type: none;
  margin: 0;
  padding: var(--space-24) var(--space-24) var(--space-72);
}
.wc_menu-footer ul a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  text-decoration: none;
  padding: var(--space-16) 0;
  border-bottom: 1px solid #fff;
}
.wc_menu-footer ul a > div {
  font-size: 1rem;
}
.wc_menu-footer ul a > div svg {
  display: none;
}
