@charset "UTF-8";
html {
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
}
html.preload {
  font-size: 1px !important;
}
html.preload * {
  transition: none !important;
  visibility: hidden;
  max-width: 100%;
}
@media (max-width: 959px) {
  html {
    font-size: calc(var(--vw) / 375);
  }
}
@media (min-width: 960px) and (max-width: 1600px) {
  html {
    font-size: calc(var(--vw) / 1440);
  }
}
@media (min-width: 1600.1px) {
  html {
    font-size: 1.25px;
  }
}

html {
  overflow-x: hidden;
}

body {
  background: #fff;
  font-size: 14rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  color: #000;
  text-align: justify;
  text-justify: inter-ideograph;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
  font-feature-settings: "palt";
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
  opacity: 0;
  animation: fadeIn 0.4s ease-in forwards;
}
@media screen and (min-width: 959.1px), print {
  body {
    font-size: 16rem;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
body.no-scroll {
  overflow: hidden;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
}
@media screen and (min-width: 959.1px), print {
  body.no-scroll {
    overflow: visible;
    position: static;
  }
}

a,
input[type=button],
input[type=submit],
button,
.btn-trigger {
  color: #000;
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  a,
  input[type=button],
  input[type=submit],
  button,
  .btn-trigger {
    transition: 0.2s;
  }
  a:hover,
  input[type=button]:hover,
  input[type=submit]:hover,
  button:hover,
  .btn-trigger:hover {
    text-decoration: none;
    opacity: 0.8;
  }
}
a:visited,
input[type=button]:visited,
input[type=submit]:visited,
button:visited,
.btn-trigger:visited {
  color: #000;
}

.sp-only {
  display: block !important;
}
@media screen and (min-width: 959.1px), print {
  .sp-only {
    display: none !important;
  }
}

.pc-only {
  display: none !important;
}
@media screen and (min-width: 959.1px), print {
  .pc-only {
    display: block !important;
  }
}

section,
nav,
header,
footer,
article,
p,
h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: 600;
  color: #000;
}

img {
  width: 100%;
  height: auto;
  display: block;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul li {
  margin: 0;
  padding: 0;
}

dl,
dt,
dd {
  margin: 0;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

input,
textarea {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

button {
  background: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  caret-color: transparent;
}

/*------------------------------------------*/
#main-area {
  background: #ECF7F0;
}
@media screen and (min-width: 959.1px), print {
  #main-area {
    display: flex;
    align-items: stretch;
  }
}

main {
  margin-top: 70rem;
  width: 100%;
}
@media screen and (min-width: 959.1px), print {
  main {
    margin-top: 0;
    width: calc(100% - 300rem);
  }
}

header {
  width: 100%;
  height: 70rem;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
@media screen and (min-width: 959.1px), print {
  header {
    width: 300rem;
    height: auto;
    position: inherit;
  }
}
header .inner {
  margin: 0 20rem;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 959.1px), print {
  header .inner {
    margin: 0 30rem;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
}
header .inner h1 {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  font-weight: 400;
}
@media screen and (min-width: 959.1px), print {
  header .inner h1 {
    margin-top: 50rem;
    gap: 10rem;
    width: 100%;
  }
}
header .inner h1 .txt {
  font-size: 10rem;
  line-height: 1;
}
@media screen and (min-width: 959.1px), print {
  header .inner h1 .txt {
    font-size: 12rem;
  }
}
header .inner h1 .img {
  max-width: 240rem;
  height: auto;
}
@media screen and (min-width: 959.1px), print {
  header .inner h1 .img {
    max-width: 100%;
  }
}
header .inner nav {
  position: fixed;
  top: 70rem;
  bottom: 0;
  right: 0;
  left: 0;
  visibility: hidden;
  opacity: 0;
  transition: 0.4s;
  background: #fff;
  overflow-y: auto;
  pointer-events: none;
}
@media screen and (min-width: 959.1px), print {
  header .inner nav {
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    margin: 0 -30rem;
  }
}
header .inner nav .block {
  margin: 40rem 20rem 0;
}
@media screen and (min-width: 959.1px), print {
  header .inner nav .block {
    margin: 40rem 30rem 0;
  }
}
header .inner nav .block:last-child {
  margin: 40rem 20rem 40rem;
}
@media screen and (min-width: 959.1px), print {
  header .inner nav .block:last-child {
    margin: 40rem 30rem 40rem;
  }
}
header .inner nav .block.search form {
  width: 100%;
  height: 50rem;
  background: #eee;
  border-radius: 5rem;
  line-height: 1;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header .inner nav .block.search form input {
  font-size: 16rem;
  padding: 20rem;
  width: 100%;
  flex: 1;
}
@media screen and (min-width: 959.1px), print {
  header .inner nav .block.search form input {
    padding: 15rem;
    font-size: 15rem;
  }
}
header .inner nav .block.search form input::placeholder {
  color: #aaa;
}
header .inner nav .block.search form button {
  width: 50rem;
  height: 50rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
header .inner nav .block.search form button img {
  width: 20rem;
  height: auto;
}
header .inner nav .block.industry h2, header .inner nav .block.benefit h2, header .inner nav .block.lottery h2, header .inner nav .block.participation h2, header .inner nav .block.tag h2 {
  display: flex;
  align-items: center;
  gap: 10rem;
  line-height: 1;
  font-size: 20rem;
}
@media screen and (min-width: 959.1px), print {
  header .inner nav .block.industry h2, header .inner nav .block.benefit h2, header .inner nav .block.lottery h2, header .inner nav .block.participation h2, header .inner nav .block.tag h2 {
    font-size: 18rem;
  }
}
header .inner nav .block.industry h2 .icn, header .inner nav .block.benefit h2 .icn, header .inner nav .block.lottery h2 .icn, header .inner nav .block.participation h2 .icn, header .inner nav .block.tag h2 .icn {
  width: 27rem;
  height: 27rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
header .inner nav .block.industry h2 .icn .icn1, header .inner nav .block.benefit h2 .icn .icn1, header .inner nav .block.lottery h2 .icn .icn1, header .inner nav .block.participation h2 .icn .icn1, header .inner nav .block.tag h2 .icn .icn1 {
  width: 21rem;
}
header .inner nav .block.industry h2 .icn .icn2, header .inner nav .block.benefit h2 .icn .icn2, header .inner nav .block.lottery h2 .icn .icn2, header .inner nav .block.participation h2 .icn .icn2, header .inner nav .block.tag h2 .icn .icn2 {
  width: 22rem;
}
header .inner nav .block.industry h2 .icn .icn3, header .inner nav .block.benefit h2 .icn .icn3, header .inner nav .block.lottery h2 .icn .icn3, header .inner nav .block.participation h2 .icn .icn3, header .inner nav .block.tag h2 .icn .icn3 {
  width: 23rem;
}
header .inner nav .block.industry h2 .icn .icn5, header .inner nav .block.benefit h2 .icn .icn5, header .inner nav .block.lottery h2 .icn .icn5, header .inner nav .block.participation h2 .icn .icn5, header .inner nav .block.tag h2 .icn .icn5 {
  width: 22rem;
}
header .inner nav .block.industry .js-tag-modal-open, header .inner nav .block.benefit .js-tag-modal-open, header .inner nav .block.lottery .js-tag-modal-open, header .inner nav .block.participation .js-tag-modal-open, header .inner nav .block.tag .js-tag-modal-open {
  display: flex;
  align-items: center;
  gap: 10rem;
  line-height: 1;
  font-size: 20rem;
  background: #47AF67;
  color: #fff;
  height: 60rem;
  width: 100%;
  border-radius: 5rem;
  padding: 0 20rem;
  position: relative;
  text-decoration: none;
}
header .inner nav .block.industry .js-tag-modal-open .icn, header .inner nav .block.benefit .js-tag-modal-open .icn, header .inner nav .block.lottery .js-tag-modal-open .icn, header .inner nav .block.participation .js-tag-modal-open .icn, header .inner nav .block.tag .js-tag-modal-open .icn {
  width: 27rem;
  height: 27rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 959.1px), print {
  header .inner nav .block.industry .js-tag-modal-open .icn, header .inner nav .block.benefit .js-tag-modal-open .icn, header .inner nav .block.lottery .js-tag-modal-open .icn, header .inner nav .block.participation .js-tag-modal-open .icn, header .inner nav .block.tag .js-tag-modal-open .icn {
    width: 20rem;
    height: 20rem;
  }
}
header .inner nav .block.industry .js-tag-modal-open .icn .icn3, header .inner nav .block.benefit .js-tag-modal-open .icn .icn3, header .inner nav .block.lottery .js-tag-modal-open .icn .icn3, header .inner nav .block.participation .js-tag-modal-open .icn .icn3, header .inner nav .block.tag .js-tag-modal-open .icn .icn3 {
  width: 23rem;
}
@media screen and (min-width: 959.1px), print {
  header .inner nav .block.industry .js-tag-modal-open .icn .icn3, header .inner nav .block.benefit .js-tag-modal-open .icn .icn3, header .inner nav .block.lottery .js-tag-modal-open .icn .icn3, header .inner nav .block.participation .js-tag-modal-open .icn .icn3, header .inner nav .block.tag .js-tag-modal-open .icn .icn3 {
    width: 20rem;
  }
}
header .inner nav .block.industry .js-tag-modal-open .txt, header .inner nav .block.benefit .js-tag-modal-open .txt, header .inner nav .block.lottery .js-tag-modal-open .txt, header .inner nav .block.participation .js-tag-modal-open .txt, header .inner nav .block.tag .js-tag-modal-open .txt {
  font-size: 20rem;
}
@media screen and (min-width: 959.1px), print {
  header .inner nav .block.industry .js-tag-modal-open .txt, header .inner nav .block.benefit .js-tag-modal-open .txt, header .inner nav .block.lottery .js-tag-modal-open .txt, header .inner nav .block.participation .js-tag-modal-open .txt, header .inner nav .block.tag .js-tag-modal-open .txt {
    font-size: 18rem;
  }
}
header .inner nav .block.industry .js-tag-modal-open::after, header .inner nav .block.benefit .js-tag-modal-open::after, header .inner nav .block.lottery .js-tag-modal-open::after, header .inner nav .block.participation .js-tag-modal-open::after, header .inner nav .block.tag .js-tag-modal-open::after {
  content: "";
  background: url(../images/icon-plus.svg) no-repeat center center/contain;
  width: 18rem;
  height: 18rem;
  position: absolute;
  right: 20rem;
}
@media screen and (min-width: 959.1px), print {
  header .inner nav .block.industry .js-tag-modal-open::after, header .inner nav .block.benefit .js-tag-modal-open::after, header .inner nav .block.lottery .js-tag-modal-open::after, header .inner nav .block.participation .js-tag-modal-open::after, header .inner nav .block.tag .js-tag-modal-open::after {
    width: 12rem;
    height: 12rem;
  }
}
header .inner nav .block.industry ul.type1, header .inner nav .block.benefit ul.type1, header .inner nav .block.lottery ul.type1, header .inner nav .block.participation ul.type1, header .inner nav .block.tag ul.type1 {
  margin-top: 20rem;
}
header .inner nav .block.industry ul.type1 li a, header .inner nav .block.benefit ul.type1 li a, header .inner nav .block.lottery ul.type1 li a, header .inner nav .block.participation ul.type1 li a, header .inner nav .block.tag ul.type1 li a {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 20rem;
  margin: -1px -20rem 0;
  box-sizing: border-box;
  font-size: 16rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-decoration: none;
  gap: 20rem;
}
@media screen and (min-width: 959.1px), print {
  header .inner nav .block.industry ul.type1 li a, header .inner nav .block.benefit ul.type1 li a, header .inner nav .block.lottery ul.type1 li a, header .inner nav .block.participation ul.type1 li a, header .inner nav .block.tag ul.type1 li a {
    font-size: 15rem;
    padding: 20rem 30rem;
    margin: -1px -30rem 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  header .inner nav .block.industry ul.type1 li a:hover, header .inner nav .block.benefit ul.type1 li a:hover, header .inner nav .block.lottery ul.type1 li a:hover, header .inner nav .block.participation ul.type1 li a:hover, header .inner nav .block.tag ul.type1 li a:hover {
    opacity: 1;
    color: #47AF67;
  }
}
header .inner nav .block.industry ul.type1 li a::after, header .inner nav .block.benefit ul.type1 li a::after, header .inner nav .block.lottery ul.type1 li a::after, header .inner nav .block.participation ul.type1 li a::after, header .inner nav .block.tag ul.type1 li a::after {
  content: "";
  display: block;
  width: 10rem;
  min-width: 10rem;
  height: 16rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'><path d='M1.06427 0L0 1.07813L3.87145 5L0 8.91933L1.06427 10L6 5L1.06427 0Z' fill='%23fff'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'><path d='M1.06427 0L0 1.07813L3.87145 5L0 8.91933L1.06427 10L6 5L1.06427 0Z' fill='%23fff'/></svg>") center/contain no-repeat;
  mask-mode: alpha;
}
@media screen and (min-width: 959.1px), print {
  header .inner nav .block.industry ul.type1 li a::after, header .inner nav .block.benefit ul.type1 li a::after, header .inner nav .block.lottery ul.type1 li a::after, header .inner nav .block.participation ul.type1 li a::after, header .inner nav .block.tag ul.type1 li a::after {
    width: 6rem;
    min-width: 6rem;
    height: 10rem;
  }
}
header .inner nav.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
header .inner .btn-trigger {
  height: 70rem;
  width: 70rem;
  background: #47AF67;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  caret-color: transparent;
}
@media screen and (min-width: 959.1px), print {
  header .inner .btn-trigger {
    display: none;
  }
}
header .inner .btn-trigger .bar {
  width: 30rem;
  height: 30rem;
  cursor: pointer;
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
  position: relative;
}
header .inner .btn-trigger .bar span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4rem;
  background: #fff;
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
header .inner .btn-trigger .bar span:nth-of-type(1) {
  top: 0;
}
header .inner .btn-trigger .bar span:nth-of-type(2) {
  top: 13rem;
}
header .inner .btn-trigger .bar span:nth-of-type(3) {
  bottom: 0;
}
header .inner .btn-trigger.active .bar span:nth-of-type(1) {
  transform: translateY(13rem) rotate(-45deg);
}
header .inner .btn-trigger.active .bar span:nth-of-type(2) {
  left: 50%;
  opacity: 0;
  animation: active-btn-bar02 0.8s forwards;
}
header .inner .btn-trigger.active .bar span:nth-of-type(3) {
  transform: translateY(-13rem) rotate(45deg);
}
@keyframes active-btn-bar02 {
  100% {
    height: 0;
  }
}

/*------------------------------------------*/
#list .inner {
  padding: 50rem 20rem;
}
@media screen and (min-width: 959.1px), print {
  #list .inner {
    padding: 70rem 50rem;
  }
}
#list .inner ul.item {
  display: flex;
  flex-direction: column;
  gap: 20rem;
}
@media screen and (min-width: 959.1px), print {
  #list .inner ul.item {
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
  }
}
@media screen and (min-width: 959.1px), print {
  #list .inner ul.item li {
    width: calc((100% - 40rem) / 3);
  }
}
#list .inner ul.item li a {
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 10rem;
  padding: 20rem;
  display: block;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  #list .inner ul.item li a:hover {
    opacity: 1;
    box-shadow: 0 0 10rem rgba(0, 0, 0, 0.1);
  }
  #list .inner ul.item li a:hover .img img {
    height: auto;
    transform: scale(1.1);
  }
  #list .inner ul.item li a:hover h3.txt {
    color: #47AF67 !important;
  }
}
#list .inner ul.item li a .img {
  overflow: hidden;
  aspect-ratio: 277.84/185.23;
  display: flex;
  justify-content: center;
  align-items: center;
}
#list .inner ul.item li a .img img {
  transition: transform 0.4s ease;
}
#list .inner ul.item li a h3.txt {
  margin-top: 15rem;
  font-size: 15rem;
  transition: 0.2s;
}

/*ページャー------------------------------------------*/
.pagination-wrapper {
  margin: 40rem 0 0 0;
  text-align: center;
}
@media screen and (min-width: 959.1px), print {
  .pagination-wrapper {
    margin: 70rem 0 0 0;
  }
}
.pagination-wrapper .pagination {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 959.1px), print {
  .pagination-wrapper .pagination {
    gap: 10rem;
  }
}
.pagination-wrapper .pagination ul.pagination__list {
  display: none;
}
@media screen and (min-width: 959.1px), print {
  .pagination-wrapper .pagination ul.pagination__list {
    order: 3;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 10rem;
  }
}
@media screen and (min-width: 959.1px), print {
  .pagination-wrapper .pagination ul.pagination__list li.pagination__item {
    margin: 0;
  }
}
@media screen and (min-width: 959.1px), print {
  .pagination-wrapper .pagination ul.pagination__list li.pagination__item--current {
    pointer-events: none;
    background: #47AF67;
    color: #fff !important;
  }
}
.pagination-wrapper .pagination .pagination__pos {
  order: 2;
  margin: 0;
  line-height: 1;
  background: #fff;
  font-size: 15rem;
  height: 60rem;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 959.1px), print {
  .pagination-wrapper .pagination .pagination__pos {
    display: none;
  }
}
.pagination-wrapper .pagination .pagination__btn--prev {
  width: 90rem;
  height: 60rem;
  border-radius: 10rem 0 0 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  background: #47AF67;
  order: 1;
}
@media screen and (min-width: 959.1px), print {
  .pagination-wrapper .pagination .pagination__btn--prev {
    width: 50rem;
    height: 50rem;
    border-radius: 50%;
    background: none;
    border: 1px solid #47AF67;
    order: 2;
  }
}
.pagination-wrapper .pagination .pagination__btn--prev::after {
  width: 17rem;
  height: 30rem;
  content: "";
  background-color: #fff;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 15'><path d='M0 1.67507L1.14286 0.5L7.99999 7.55041L6.85714 8.72547L0 1.67507Z' fill='%23fff'/><path d='M6.85714 6.27453L8 7.44959L1.14286 14.5L0 13.3249L6.85714 6.27453Z' fill='%23fff'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 15'><path d='M0 1.67507L1.14286 0.5L7.99999 7.55041L6.85714 8.72547L0 1.67507Z' fill='%23fff'/><path d='M6.85714 6.27453L8 7.44959L1.14286 14.5L0 13.3249L6.85714 6.27453Z' fill='%23fff'/></svg>") center/contain no-repeat;
  mask-mode: alpha;
  display: block;
  transform: scale(-1, 1);
}
@media screen and (min-width: 959.1px), print {
  .pagination-wrapper .pagination .pagination__btn--prev::after {
    width: 8rem;
    height: 14rem;
    background-color: currentColor;
  }
}
.pagination-wrapper .pagination .pagination__btn--prev.end {
  background: #fff;
}
@media screen and (min-width: 959.1px), print {
  .pagination-wrapper .pagination .pagination__btn--prev.end {
    display: none;
  }
}
.pagination-wrapper .pagination .pagination__btn--next {
  width: 90rem;
  height: 60rem;
  border-radius: 0 10rem 10rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  background: #47AF67;
  order: 3;
}
@media screen and (min-width: 959.1px), print {
  .pagination-wrapper .pagination .pagination__btn--next {
    width: 50rem;
    height: 50rem;
    border-radius: 50%;
    background: none;
    border: 1px solid #47AF67;
    order: 4;
  }
}
.pagination-wrapper .pagination .pagination__btn--next::after {
  width: 17rem;
  height: 30rem;
  content: "";
  background-color: #fff;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 15'><path d='M0 1.67507L1.14286 0.5L7.99999 7.55041L6.85714 8.72547L0 1.67507Z' fill='%23fff'/><path d='M6.85714 6.27453L8 7.44959L1.14286 14.5L0 13.3249L6.85714 6.27453Z' fill='%23fff'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 15'><path d='M0 1.67507L1.14286 0.5L7.99999 7.55041L6.85714 8.72547L0 1.67507Z' fill='%23fff'/><path d='M6.85714 6.27453L8 7.44959L1.14286 14.5L0 13.3249L6.85714 6.27453Z' fill='%23fff'/></svg>") center/contain no-repeat;
  mask-mode: alpha;
  display: block;
}
@media screen and (min-width: 959.1px), print {
  .pagination-wrapper .pagination .pagination__btn--next::after {
    width: 8rem;
    height: 14rem;
    background-color: currentColor;
  }
}
.pagination-wrapper .pagination .pagination__btn--next.end {
  background: #fff;
}
@media screen and (min-width: 959.1px), print {
  .pagination-wrapper .pagination .pagination__btn--next.end {
    display: none;
  }
}

.pagination__item a,
.pagination__item--current,
.pagination__btn--prev,
.pagination__btn--next {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  width: 60rem;
  height: 60rem;
  border-radius: 50%;
}
@media screen and (min-width: 959.1px), print {
  .pagination__item a,
  .pagination__item--current,
  .pagination__btn--prev,
  .pagination__btn--next {
    width: 50rem;
    height: 50rem;
    border: 1px solid #47AF67;
    color: #47AF67 !important;
    font-size: 15rem;
  }
}

@media screen and (hover: hover) and (pointer: fine) and (min-width: 959.1px), print and (hover: hover) and (pointer: fine) {
  .pagination__item a:hover,
  .pagination__btn--prev:hover,
  .pagination__btn--next:hover {
    opacity: 1;
    background: #47AF67 !important;
    color: #fff !important;
  }
}
/*------------------------------------------*/
.pagetop {
  display: none;
}
@media screen and (min-width: 959.1px), print {
  .pagetop {
    position: fixed;
    right: 10rem;
    bottom: 10rem;
    background: #47AF67;
    /*デフォルトで非表示にする*/
    opacity: 0;
    visibility: hidden;
    height: 60rem;
    width: 60rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10rem;
    box-shadow: 0 0 10rem rgba(0, 0, 0, 0.1);
    transition: 0.2s;
  }
  .pagetop:hover {
    text-decoration: none;
    opacity: 0.8 !important;
  }
  .pagetop::after {
    content: "";
    display: block;
    width: 40rem;
    height: 24rem;
    background-color: #fff;
    transform: rotate(-90deg);
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'><path d='M1.06427 0L0 1.07813L3.87145 5L0 8.91933L1.06427 10L6 5L1.06427 0Z' fill='%23fff'/></svg>") center/contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'><path d='M1.06427 0L0 1.07813L3.87145 5L0 8.91933L1.06427 10L6 5L1.06427 0Z' fill='%23fff'/></svg>") center/contain no-repeat;
    mask-mode: alpha;
  }
  .pagetop.active {
    opacity: 1;
    visibility: visible;
  }
  .pagetop.absolute {
    position: absolute;
    top: -70rem;
    bottom: auto;
  }
}

footer {
  background: #47AF67;
  position: relative;
}
footer .inner {
  padding: 50rem 20rem;
}
@media screen and (min-width: 959.1px), print {
  footer .inner {
    padding: 50rem 70rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
}
footer .inner .link-area {
  display: flex;
  flex-direction: column;
  gap: 30rem;
}
@media screen and (min-width: 959.1px), print {
  footer .inner .link-area {
    flex-direction: row;
    gap: 40rem;
  }
}
footer .inner .link-area .sisters-list {
  padding-bottom: 30rem;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 959.1px), print {
  footer .inner .link-area .sisters-list {
    padding-bottom: 0;
    border-bottom: 0;
    padding-right: 40rem;
    border-right: 1px solid #fff;
  }
}
footer .inner .link-area .sisters-list h4,
footer .inner .link-area .recommend-list h4 {
  font-size: 18rem;
  color: #fff;
}
footer .inner .link-area .sisters-list ul,
footer .inner .link-area .recommend-list ul {
  margin-top: 10rem;
}
@media screen and (min-width: 959.1px), print {
  footer .inner .link-area .sisters-list ul,
  footer .inner .link-area .recommend-list ul {
    margin-top: 15rem;
  }
}
footer .inner .link-area .sisters-list ul li,
footer .inner .link-area .recommend-list ul li {
  margin-top: 5rem;
  font-size: 12rem;
  color: #fff;
}
@media screen and (min-width: 959.1px), print {
  footer .inner .link-area .sisters-list ul li,
  footer .inner .link-area .recommend-list ul li {
    margin-top: 10rem;
    font-size: 14rem;
  }
}
footer .inner .link-area .sisters-list ul li.adjust a,
footer .inner .link-area .recommend-list ul li.adjust a {
  white-space: nowrap;
}
@media screen and (min-width: 959.1px), print {
  footer .inner .link-area .sisters-list ul li.adjust a,
  footer .inner .link-area .recommend-list ul li.adjust a {
    white-space: inherit;
  }
}
footer .inner .link-area .sisters-list ul li.adjust a[target=_blank]::after,
footer .inner .link-area .recommend-list ul li.adjust a[target=_blank]::after {
  margin: 0;
}
@media screen and (min-width: 959.1px), print {
  footer .inner .link-area .sisters-list ul li.adjust a[target=_blank]::after,
  footer .inner .link-area .recommend-list ul li.adjust a[target=_blank]::after {
    margin: 0 10rem;
  }
}
footer .inner .link-area .sisters-list ul li a,
footer .inner .link-area .recommend-list ul li a {
  color: #fff;
}
footer .inner .link-area .sisters-list ul li a[target=_blank]::after,
footer .inner .link-area .recommend-list ul li a[target=_blank]::after {
  margin: 0 5rem;
  content: "";
  background: url(../images/icon-window.svg) no-repeat center center/contain;
  width: 10rem;
  height: 10rem;
  display: inline-block;
  vertical-align: middle;
}
@media screen and (min-width: 959.1px), print {
  footer .inner .link-area .sisters-list ul li a[target=_blank]::after,
  footer .inner .link-area .recommend-list ul li a[target=_blank]::after {
    margin: 0 10rem;
    width: 12rem;
    height: 12rem;
  }
}
footer .inner .copy-area {
  margin-top: 40rem;
}
@media screen and (min-width: 959.1px), print {
  footer .inner .copy-area {
    margin-top: 0;
    text-align: right;
  }
}
footer .inner .copy-area ul li {
  margin-top: 5rem;
  font-size: 12rem;
  color: #fff;
}
@media screen and (min-width: 959.1px), print {
  footer .inner .copy-area ul li {
    margin-top: 10rem;
  }
}
footer .inner .copy-area ul li a {
  color: #fff;
}

/*------------------------------------------*/
#list .inner ul.pankuzu {
  margin-top: -20rem;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  overflow-x: scroll;
  word-break: keep-all;
  white-space: nowrap;
}
#list .inner ul.pankuzu::-webkit-scrollbar {
  display: none;
}
#list .inner ul.pankuzu li {
  display: flex;
  align-items: center;
  font-size: 12rem;
}
@media screen and (min-width: 959.1px), print {
  #list .inner ul.pankuzu li {
    font-size: 15rem;
  }
}
#list .inner ul.pankuzu li:not(:last-child)::after {
  content: "";
  background: url(../images/icon-triangle1.svg) center/contain no-repeat;
  height: 5rem;
  width: 5rem;
  display: block;
  margin: 0 10rem;
}
#list .inner h1 {
  font-size: 30rem;
  line-height: 1.25;
  margin: 50rem 0 50rem;
}
@media screen and (min-width: 959.1px), print {
  #list .inner h1 {
    font-size: 40rem;
  }
}

#detail .inner {
  padding: 50rem 20rem;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner {
    padding: 70rem 50rem;
  }
}
#detail .inner ul.pankuzu {
  margin-top: -20rem;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  overflow-x: scroll;
  word-break: keep-all;
  white-space: nowrap;
}
#detail .inner ul.pankuzu::-webkit-scrollbar {
  display: none;
}
#detail .inner ul.pankuzu li {
  display: flex;
  align-items: center;
  font-size: 12rem;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner ul.pankuzu li {
    font-size: 15rem;
  }
}
#detail .inner ul.pankuzu li:not(:last-child)::after {
  content: "";
  background: url(../images/icon-triangle1.svg) center/contain no-repeat;
  height: 5rem;
  width: 5rem;
  display: block;
  margin: 0 10rem;
}
#detail .inner h1 {
  font-size: 30rem;
  line-height: 1.25;
  margin-top: 50rem;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner h1 {
    font-size: 40rem;
  }
}
#detail .inner .date {
  margin-top: 10rem;
  font-size: 10rem;
  line-height: 1.5;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .date {
    font-size: 12rem;
  }
}
#detail .inner .tab {
  margin-top: 50rem;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 0 10rem;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .tab {
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    gap: 50rem;
  }
}
#detail .inner .tab label {
  flex: 1 1;
  order: -1;
  position: relative;
  width: 50%;
  height: 60rem;
  color: #47AF67;
  font-size: 20rem;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border: 1px solid #47AF67;
  border-radius: 10rem;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .tab label {
    display: none;
  }
}
#detail .inner .tab label:hover {
  background: #47AF67;
  color: #fff;
}
#detail .inner .tab label:has(:checked) {
  background: #47AF67;
  color: #fff;
}
#detail .inner .tab label:has(:checked)::before {
  content: "";
  position: absolute;
  background: url(../images/icon-triangle2.svg) center/contain no-repeat;
  left: 50%;
  transform: translateX(-50%);
  width: 17rem;
  height: 15rem;
  bottom: -15rem;
}
#detail .inner .tab label input {
  display: none;
}
#detail .inner .tab .slide {
  display: none;
  width: 100%;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .tab .slide {
    display: flex !important;
    flex-direction: column-reverse;
  }
  #detail .inner .tab .slide.pc-slide {
    width: 65%;
    flex: 1;
  }
  #detail .inner .tab .slide.sp-slide {
    width: 30%;
    flex-shrink: 0;
  }
}
#detail .inner .tab .slide .swiper {
  margin-top: 25rem;
  border: 5rem #eee solid;
  width: 100%;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .tab .slide .swiper {
    margin-top: 10rem;
    display: flex;
    flex-direction: column-reverse;
  }
}
#detail .inner .tab .slide .swiper .swiper-wrapper .swiper-slide {
  height: 500rem;
  max-height: 50vh;
  width: 100%;
  overflow-y: scroll;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .tab .slide .swiper .swiper-wrapper .swiper-slide {
    height: 450rem;
    max-height: 60vh;
  }
}
#detail .inner .tab .slide .swiper .swiper-caption {
  background: #eee;
  width: 100%;
  font-size: 15rem;
  line-height: 1;
  display: flex;
  align-items: center;
  padding: 20rem;
  height: 1em;
}
#detail .inner .tab .slide .pagination {
  margin-top: 20rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  background: #fff;
  height: 60rem;
  width: 100%;
  border-radius: 10rem;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .tab .slide .pagination {
    margin: 0;
    height: 40rem;
    border: none;
    background: none;
    height: inherit;
    justify-content: flex-end;
  }
}
#detail .inner .tab .slide .pagination .swiper-button-prev::after,
#detail .inner .tab .slide .pagination .swiper-button-next::after {
  display: none;
}
#detail .inner .tab .slide .pagination .swiper-button-prev::before,
#detail .inner .tab .slide .pagination .swiper-button-next::before {
  width: 17rem;
  height: 30rem;
  content: "";
  background-color: #fff;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 15'><path d='M0 1.67507L1.14286 0.5L7.99999 7.55041L6.85714 8.72547L0 1.67507Z' fill='%23fff'/><path d='M6.85714 6.27453L8 7.44959L1.14286 14.5L0 13.3249L6.85714 6.27453Z' fill='%23fff'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 15'><path d='M0 1.67507L1.14286 0.5L7.99999 7.55041L6.85714 8.72547L0 1.67507Z' fill='%23fff'/><path d='M6.85714 6.27453L8 7.44959L1.14286 14.5L0 13.3249L6.85714 6.27453Z' fill='%23fff'/></svg>") center/contain no-repeat;
  mask-mode: alpha;
  display: block;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .tab .slide .pagination .swiper-button-prev::before,
  #detail .inner .tab .slide .pagination .swiper-button-next::before {
    width: 8rem;
    height: 14rem;
  }
}
#detail .inner .tab .slide .pagination .swiper-button-prev,
#detail .inner .tab .slide .pagination .swiper-button-next {
  width: 100rem;
  height: 100%;
  background: #47AF67;
  top: 0;
  margin: 0;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .tab .slide .pagination .swiper-button-prev,
  #detail .inner .tab .slide .pagination .swiper-button-next {
    width: 40rem;
    height: 40rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  #detail .inner .tab .slide .pagination .swiper-button-prev,
  #detail .inner .tab .slide .pagination .swiper-button-next {
    transition: 0.2s;
  }
  #detail .inner .tab .slide .pagination .swiper-button-prev:hover,
  #detail .inner .tab .slide .pagination .swiper-button-next:hover {
    text-decoration: none;
    opacity: 0.8;
  }
}
#detail .inner .tab .slide .pagination h3.pc-tit {
  display: none;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .tab .slide .pagination h3.pc-tit {
    display: block;
    margin-right: auto;
    font-size: 20rem;
    line-height: 1;
  }
}
#detail .inner .tab .slide .pagination .swiper-pagination {
  bottom: inherit;
  position: inherit;
  line-height: 1;
  font-size: 15rem;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .tab .slide .pagination .swiper-pagination {
    width: auto;
    left: inherit;
    position: inherit;
    margin-right: 20rem;
  }
}
#detail .inner .tab .slide .pagination .swiper-button-prev {
  left: 0;
  border-radius: 10rem 0 0 10rem;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .tab .slide .pagination .swiper-button-prev {
    border-radius: 20rem 0 0 20rem;
    left: inherit;
    position: inherit;
    margin-right: 2px;
  }
}
#detail .inner .tab .slide .pagination .swiper-button-prev::before {
  transform: scale(-1, 1);
}
#detail .inner .tab .slide .pagination .swiper-button-next {
  right: 0;
  border-radius: 0 10rem 10rem 0;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .tab .slide .pagination .swiper-button-next {
    border-radius: 0 20rem 20rem 0;
    position: inherit;
  }
}
#detail .inner .tab label:has(:checked) + div.slide {
  display: block;
}
#detail .inner h2 {
  margin-top: 50rem;
  font-size: 25rem;
  line-height: 1;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner h2 {
    margin-top: 60rem;
    font-size: 30rem;
  }
}
#detail .inner .info {
  margin-top: 30rem;
  border-collapse: collapse;
  width: 100%;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .info {
    table-layout: fixed;
  }
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .info tr:not(:last-child) {
    border-bottom: 2px solid #ECF7F0;
  }
}
#detail .inner .info th,
#detail .inner .info td {
  display: block;
  width: 100%;
  padding: 15rem 20rem;
  border-bottom: none;
  box-sizing: border-box;
  font-size: 15rem;
  line-height: 1.5;
  vertical-align: top;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .info th,
  #detail .inner .info td {
    display: table-cell;
    width: auto;
    padding: 20rem 20rem;
  }
}
#detail .inner .info th {
  background: #000;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .info th {
    width: 200rem;
  }
}
#detail .inner .info th h3 {
  color: #fff;
  font-size: 16rem;
  font-weight: 400;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .info th h3 {
    font-size: 15rem;
  }
}
#detail .inner .info td {
  background: #fff;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .info td {
    flex: 1;
  }
}
#detail .inner .info td a[target=_blank] {
  display: inline-block;
}
#detail .inner .info td a[target=_blank]::after {
  width: 12rem;
  height: 12rem;
  content: "";
  background-color: #000;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2.25 0V9.75H12V0H2.25ZM11.0625 8.8125H3.1875V2.625H11.0625V8.8125Z' fill='white'/><path d='M0.9375 11.0625V2.25H0V12H9.75V11.0625H0.9375Z' fill='white'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2.25 0V9.75H12V0H2.25ZM11.0625 8.8125H3.1875V2.625H11.0625V8.8125Z' fill='white'/><path d='M0.9375 11.0625V2.25H0V12H9.75V11.0625H0.9375Z' fill='white'/></svg>") center/contain no-repeat;
  mask-mode: alpha;
  display: inline-block;
  margin-left: 5rem;
}
#detail .inner .info td ul.tag {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5rem;
}
#detail .inner .info td ul.tag li a {
  font-size: 15rem;
  padding: 10rem;
  line-height: 1;
  border-radius: 100vmax;
  border: 1px solid #ddd;
  text-decoration: none;
  box-sizing: border-box;
  display: block;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .info td ul.tag li a {
    font-size: 14rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  #detail .inner .info td ul.tag li a:hover {
    opacity: 1;
    color: #47AF67;
    box-shadow: 0 0 10rem rgba(0, 0, 0, 0.1);
  }
}
#detail .inner .info td > ul.line {
  margin-top: 20rem;
}
#detail .inner .info td > ul.line > li {
  margin-top: 15rem;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .info td > ul.line > li {
    margin-top: 20rem;
  }
}
#detail .inner .info td > ul.line > li:not(:last-child) {
  border-bottom: 1px dotted #000;
  margin-bottom: 15rem;
  padding-bottom: 15rem;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .info td > ul.line > li:not(:last-child) {
    margin-bottom: 20rem;
    padding-bottom: 20rem;
  }
}
#detail .inner .info td > ul.line > li h4 {
  line-height: 1.25;
}
#detail .inner .info td > ul.line > li p {
  margin-top: 5rem;
}
#detail .inner .info td > ul.list > li {
  list-style: none;
  position: relative;
  padding-left: 1.5em;
}
#detail .inner .info td > ul.list > li::before {
  content: "";
  position: absolute;
  top: 8rem;
  left: 5rem;
  background: #000;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#detail .inner .info td > ul.list > li:not(:first-child) {
  margin-top: 5rem;
}
#detail .inner .info td > ul.number {
  counter-reset: bucket-number;
}
#detail .inner .info td > ul.number > li {
  counter-increment: bucket-number;
  list-style: none;
  position: relative;
  padding-left: 1.5em;
}
#detail .inner .info td > ul.number > li::before {
  content: counter(bucket-number);
  position: absolute;
  font-size: 12rem;
  left: 0;
  top: 1rem;
  border: 1px solid #000;
  width: 18rem;
  height: 18rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .info td > ul.number > li::before {
    top: 2rem;
  }
}
#detail .inner .info td > ul.number > li:not(:first-child) {
  margin-top: 5rem;
}
#detail .inner .info td > ul.twitter {
  width: 100%;
  columns: 1;
}
#detail .inner .info td > ul.twitter > li {
  break-inside: avoid;
  margin-bottom: 10rem;
}
#detail .inner .info td > ul.twitter > li:last-child {
  margin-bottom: 0;
}
#detail .inner .info td > ul.twitter > li .twitter-tweet {
  margin: 0 !important;
}
@media screen and (min-width: 1100px) {
  #detail .inner .info td > ul.twitter {
    columns: 2;
    column-gap: 10rem;
  }
}
#detail .inner .back-btn {
  margin-top: 50rem;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .back-btn {
    margin-top: 60rem;
  }
}
#detail .inner .back-btn a {
  width: 215rem;
  height: 60rem;
  border-radius: 100vmax;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  border: 1px solid #47AF67;
  gap: 10rem;
  font-size: 20rem;
  color: #47AF67;
  text-decoration: none;
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .back-btn a {
    width: 150rem;
    height: 50rem;
    border-radius: 25rem;
    font-size: 15rem;
    margin: 0;
  }
}
#detail .inner .back-btn a::before {
  width: 11rem;
  height: 20rem;
  content: "";
  background-color: #47AF67;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 15'><path d='M0 1.67507L1.14286 0.5L7.99999 7.55041L6.85714 8.72547L0 1.67507Z' fill='%23fff'/><path d='M6.85714 6.27453L8 7.44959L1.14286 14.5L0 13.3249L6.85714 6.27453Z' fill='%23fff'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 15'><path d='M0 1.67507L1.14286 0.5L7.99999 7.55041L6.85714 8.72547L0 1.67507Z' fill='%23fff'/><path d='M6.85714 6.27453L8 7.44959L1.14286 14.5L0 13.3249L6.85714 6.27453Z' fill='%23fff'/></svg>") center/contain no-repeat;
  mask-mode: alpha;
  display: block;
  transform: scale(-1, 1);
}
@media screen and (min-width: 959.1px), print {
  #detail .inner .back-btn a::before {
    width: 8rem;
    height: 14rem;
    background-color: currentColor;
  }
}
@media (hover: hover) and (pointer: fine) {
  #detail .inner .back-btn a:hover {
    opacity: 1;
    background: #47AF67;
    color: #fff;
  }
  #detail .inner .back-btn a:hover::before {
    background-color: #fff;
  }
}

/*------------------------------------------*/
/*------------------------------------------*/
/* ========================================
   タグモーダル (.c-tag-modal)
======================================== */
.c-tag-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  pointer-events: none;
}
.c-tag-modal.is-show {
  visibility: visible;
  pointer-events: auto;
}
.c-tag-modal.is-show .c-tag-modal__overlay {
  opacity: 1;
}
.c-tag-modal.is-show .c-tag-modal__inner {
  opacity: 1;
  transform: translateY(0);
}
.c-tag-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.3s;
  cursor: pointer;
}
.c-tag-modal__inner {
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 10rem;
  padding: 30rem 20rem;
  width: calc(100% - 40rem);
  max-height: 89vh;
  overflow-y: auto;
  opacity: 0;
  transform: translateY(20rem);
  transition: opacity 0.3s, transform 0.3s;
  box-sizing: border-box;
}
@media screen and (min-width: 959.1px), print {
  .c-tag-modal__inner {
    padding: 50rem 40rem;
    max-width: 1200rem;
  }
}
.c-tag-modal__inner ul.type2 {
  margin-top: 20rem;
  display: flex;
  flex-wrap: wrap;
  gap: 5rem;
}
@media screen and (min-width: 959.1px), print {
  .c-tag-modal__inner ul.type2 {
    margin-top: 40rem;
  }
}
.c-tag-modal__inner ul.type2 li a {
  font-size: 12rem;
  padding: 10rem;
  line-height: 1;
  border-radius: 100vmax;
  border: 1px solid #ddd;
  text-decoration: none;
  box-sizing: border-box;
  display: block;
}
@media screen and (min-width: 959.1px), print {
  .c-tag-modal__inner ul.type2 li a {
    padding: 15rem;
    font-size: 16rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-tag-modal__inner ul.type2 li a:hover {
    opacity: 1;
    color: #47AF67;
    box-shadow: 0 0 10rem rgba(0, 0, 0, 0.1);
  }
}
.c-tag-modal__head {
  display: flex;
  align-items: center;
  gap: 10rem;
  line-height: 1;
  font-size: 20rem;
}
@media screen and (min-width: 959.1px), print {
  .c-tag-modal__head {
    font-size: 30rem;
  }
}
.c-tag-modal__head .icn {
  width: 27rem;
  height: 27rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-tag-modal__head .icn .icn3 {
  width: 23rem;
}
.c-tag-modal__head .txt {
  flex: 1;
  font-weight: bold;
}
.c-tag-modal__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 50rem;
  height: 50rem;
  margin-left: auto;
  cursor: pointer;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
@media (hover: hover) and (pointer: fine) {
  .c-tag-modal__close:hover {
    opacity: 0.7;
  }
}
.c-tag-modal__close span {
  position: absolute;
  display: block;
  width: 16rem;
  height: 2px;
  border-radius: 2px;
  background: #000;
}
.c-tag-modal__close span:nth-child(1) {
  transform: rotate(45deg);
}
.c-tag-modal__close span:nth-child(2) {
  transform: rotate(-45deg);
}