﻿@charset "UTF-8";

:root {
  --navy: #1D2953;
  --blue: #C5ECFE;
}

@media screen and (min-width: 768px) {
  #first .sp {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  #first .pc {
    display: none !important;
  }
}

#first {
  color: #093540;
  font-size: 16px;
  line-height: 1.625;
  background: #E6FFEE;
  padding: 0 0 100px;
}
#first h1 {
  margin: 0;
}
#first h1 img {
  width: 100%;
}
#first .detail {
  width: 1000px;
  margin: 60px auto 0;
  background: #FFF;
  outline: 5px solid #FFF;
  border: 3px solid #0C4755;
  border-radius: 19px;
  overflow: hidden;
  text-align: center;
}
#first h2.title {
  color: #FFF;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  background: #0C4755;
  margin: 0;
  padding: 17px 0 15px;
}
#first h2:before {
  display: none;
}
#first .detail h2 {
  padding: 21px 0 19px;
}
#first .detail-contents {
  padding: 35px 55px 45px;
}
#first .detail h3 {
  color: inherit;
  font-size: 18px;
}
#first .detail h3 span {
  font-size: 28px;
}
#first .detail .link {
  margin: 0 0 20px;
}
#first .detail .link a {
  color: #0072D6;
  font-size: 14px;
  font-weight: bold;
  text-decoration: underline;
}
#first .detail .link a:hover {
  opacity: 1;
  text-decoration: none;
}
#first .detail dl {
  display: flex;
  align-items: center;
  gap: 45px;
  padding: 15px 10px;
  background-image: radial-gradient(circle, #F0D417 2px, transparent 2px);
  background-size: 10px 4px;
  background-repeat: repeat-x;
  background-position: top;
}
#first .detail dl:last-child {
  background-image: radial-gradient(circle, #F0D417 2px, transparent 2px), radial-gradient(circle, #F0D417 2px, transparent 2px);
  background-size: 10px 4px;
  background-repeat: repeat-x;
  background-position: top, bottom;
}
#first .detail dt {
  width: 135px;
  background: #FEE331;
  border-radius: 30px;
  font-size: 18px;
  font-weight: bold;
  padding: 8px 0 5px;
}
#first .detail dd {
  font-weight: bold;
  text-align: left;
  padding: 4px 0 0;
}
#first .detail dd span.num {
  font-size: 23px;
}
#first .detail dd span.ul {
  background:linear-gradient(transparent 40%, #FFF2A2 40%);
}
#first .howto {
  padding: 45px 0 55px;
}
#first .howto h2 {
  width: 1000px;
  margin: 0 auto 53px;
}
#first .howto .step {
  width: 1366px;
  margin: 0 auto;
}
#first .howto .swiper-wrapper {
  display: flex;
  justify-content: center;
  gap: 18px;
}
#first .howto .swiper-slide {
  position: relative;
  width: 225px;
  background: #FFF;
  border-radius: 19px;
  padding: 50px 15px;
  display: flex;
  align-items: center;
  height: auto;
  transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}
#first .howto .swiper-slide.active {
  width: 659px;
  padding-inline: 20px;
}
#first .howto .num {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 4px solid #FFF;
  background: var(--navy);
  color: #FFF;
  font-size: 21px;
  font-weight: bold;
  text-align: center;
  padding: 9px 0;
}
#first .howto .swiper-slide .img {
  width: 0;
  opacity: 0;
  margin: 0;
  transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, padding 0.5s ease;
}
#first .howto .swiper-slide.active .img {
  width: 385px;
  background: var(--blue);
  padding: 24px 12px;
  opacity: 1;
  margin: 0 25px 0 0;
}
#first .howto .swiper-slide .img img {
  height: 100%;
}
#first .howto .swiper-slide.active .text {
  width: 210px;
}
#first .howto .swiper-slide h3 {
  color: inherit;
  font-size: 18px;
  margin: 0 0 12px;
}
#first .howto .btn-entry {
  display: block;
  border-radius: 40px;
  color: inherit;
  font-weight: bold;
  text-align: center;
  background: #fdfcda url(../img/arrow02.png) no-repeat right 10px center / 21px;
  border: 2px solid #0c4755;
  margin: 18px 0 0;
  padding: 9px 0 7px;
  box-shadow: 3px 3px #0C4755;
  transition: .3s ease;
}
#first .howto .btn-entry:hover {
  box-shadow: none;
  opacity: 1;
  transform: translate(3px, 3px);
}
#first .howto .pagination {
  display: flex;
  justify-content: center;
  gap: 13px;
  margin: 26px 0 0;
}
#first .howto .pagination span {
  display: block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 1px solid var(--navy);
  background: #FFF;
  transition: .3s ease;
  cursor: pointer;
}
#first .howto .pagination span.active {
  background: var(--navy);
}
#first .code {
  position: relative;
  background: #F9F0AB;
  padding: 80px 0;
}
#first .code:before,
#first .code:after {
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
  height: 30px;
  background: url(../img/border.png) repeat-x;
}
#first .code:after {
  top: auto;
  bottom: -10px;
}
#first .code-contents {
  width: 1000px;
  margin: 0 auto;
  background: #FFFEEB;
  border-radius: 19px;
  overflow: hidden;
}
#first .code h2 {
  padding: 21px 0 19px;
}
#first .code .body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 25px 88px;
}
#first .code .copy-area {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 47px;
  margin: 0 0 13px;
  padding: 15px 16px;
  background: #F5F5F5;
  border-radius: 13px;
}
#first .code .cp-code {
  font-size: 30px;
  font-weight: bold;
  text-align: right;
  padding: 5px 0 0;
}
#first .code .btn-copy {
  width: 372px;
  color: #D44C2B;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  border-radius: 40px;
  border: 4px solid #F25D39;
  box-shadow: 6px 7px #A14229;
  padding: 7px 3px;
  background: #FDFCDA url(../img/icon_copy.png) no-repeat right 15px center / 35px;
  transition: .3s ease;
  cursor: pointer;
  transform: translateY(-3px);
}
#first .code .btn-copy:hover {
  box-shadow: none;
  opacity: 1;
  transform: translate(6px, 3px);
}
#first .code .success-message {
  display: none;
  position: absolute;
  top: -40px;
  right: 55px;
  background: var(--blue);
  border-radius: 5px;
  font-weight: bold;
  padding: 8px 10px 7px;
}
#first .code .success-message:after {
  content: '';
  position: absolute;
  left: calc(50% - 7px);
  bottom: -8px;
  border-style: solid;
  border-width: 10px 7px 0 7px;
  border-color: var(--blue) transparent transparent transparent;
}
#first .code .img {
  padding: 13px;
  /*background: var(--blue);*/
  border-radius: 8px;
}
#first .code .img img {
  box-shadow: 0px 0px 9px rgba(0, 0, 0, .4);
}
#first .code .text {
  flex: 1;
  padding: 0 0 0 35px;
}
#first .code .text h3 {
  color: inherit;
  margin: 0 0 10px;
}
#first .code .text strong {
  font-weight: bold;
}
#first .code .text span {
  background: linear-gradient(transparent 40%, #FFF2A2 40%);
}
#first .entry {
  padding: 65px 0 70px;
  background: url(../img/bg_entry.jpg) no-repeat center / cover;
}
#first .entry h2 {
  font-size: 31px;
  letter-spacing: 0;
  padding: 0;
  margin: 0 0 35px;
}
#first .entry h2 span {
  background: linear-gradient(transparent 55%, #D4F1FE 55%);
}
#first .entry .btn-entry-l {
  position: relative;
  display: block;
  width: 634px;
  color: #FFF;
  font-size: 31px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1px;
  border-radius: 50px;
  margin: 0 auto;
  padding: 26px 0 23px;
  background: #F25D39;
  box-shadow: 6px 6px #A14229;
  transition: .3s ease;
}
#first .entry .btn-entry-l:after {
  content: '';
  position: absolute;
  top: 43px;
  right: 50px;
  width: 20px;
  height: 13px;
  background: url(../img/arrow.png) no-repeat center / 100%;
  rotate: -90deg;
}
#first .entry .btn-entry-l:hover {
  box-shadow: none;
  opacity: 1;
  transform: translate(6px, 6px);
}
#first .entry .btn-entry-l span {
  font-size: 21px;
  padding: 0 6px;
}
#first .info {
  padding: 70px 0 80px;
  background: #E6FFEE;
}
#first .chance {
  background: #FFF url(../img/img_faq.png) no-repeat top 53px right 200px / 135px;
  border-radius: 19px;
  width: 1000px;
  margin: 70px auto 60px;
  padding: 32px 195px 65px;
  text-align: center;
}
#first .chance .more {
  width: 180px;
  margin: 0 auto 42px;
  padding: 8px 0 4px 10px;
  background: #FEE331;
  border-radius: 30px;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 2px;
}
#first .chance h2 {
  font-size: 21px;
  line-height: inherit;
  padding: 0;
  margin: 0 0 40px;
  letter-spacing: 0;
}
#first .chance h2 p {
  font-size: 48px;
}
#first .chance h2 span {
  background: linear-gradient(transparent 60%, #FFF2A2 60%);
}
#first .chance > p {
  font-size: 18px;
  margin: 0 0 25px;
}
#first .chance .hint {
  font-size: 15px;
  text-align: left;
  background: #FFF5B5 url(../img/icon_guide.png) no-repeat left 50px center / 64px;
  border-radius: 17px;
  padding: 18px 60px 13px 125px;
}
#first .guide {
  width: 1000px;
  margin: 0 auto 85px;
}
#first .guide ul {
  display: flex;
  gap: 14px;
  margin: 30px 0 0;
}
#first .guide li a {
  display: block;
  color: inherit;
  width: 324px;
  padding: 13px 13px 20px;
  background: #FFF;
}
#first .guide li p {
  font-size: 13px;
  margin: 15px 0 0;
}
#first .caution {
  background: #65CFB7;
  padding: 92px 0 100px;
}
#first .caution h2 {
  width: 1000px;
  margin: 0 auto 30px;
}
#first .caution-contents {
  width: 1000px;
  margin: 0 auto;
  padding: 45px 23px;
  background: #FFF;
  border-radius: 19px;
}
#first .caution .scroll-area {
  padding: 0 20px;
  max-height: 685px;
  overflow-y: auto;
}
#first .caution .scroll-area::-webkit-scrollbar {
  width: 10px;
  background: #D8D8D8;
  border-radius: 5px;
}
#first .caution .scroll-area::-webkit-scrollbar-thumb {
  background: #0C4755;
  border-radius: 5px;
}
#first .caution-contents p:not(:last-child) {
  margin: 0 0 10px;
}
#first .start {
  margin: 90px auto 75px;
}
#first .start h2.title {
  width: 1000px;
  margin: 0 auto;
  background: #0C4755;
}
#first .start .btn-search {
  width: 628px;
  margin: 60px auto 0;
  padding: 24px 0 20px;
  border-radius: 50px;
  text-align: center;
  background: #FDFCDA url(../img/arrow02.png) no-repeat right 30px center / 36px;
  color: #0C4755;
  font-size: 31px;
  font-weight: bold;
  border: 3px solid #0C4755;
  box-shadow: 6px 6px #0C4755;
  transition: .3s ease;
  cursor: pointer;
}
#first .start .btn-search:hover {
  box-shadow: none;
  opacity: 1;
  transform: translate(6px, 6px);
}
#first .search-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1005;
}
#first .search-modal.is-active {
  display: flex;
  justify-content: center;
  align-items: center;
}
#first .search-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}
#first .search-modal__inner {
  position: relative;
  background-color: #fff;
  padding: 40px 0;
  border-radius: 15px;
  width: 90%;
  max-width: 1200px;
  z-index: 1001;
  max-height: 80vh;
  overflow: hidden;
  height: 815px;
  min-width: 1000px;
}
#first .search-modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 48px;
  height: 48px;
  cursor: pointer;
  background: #F5F5F5;
  border-radius: 50%;
}
#first .search-modal__close::before,
#first .search-modal__close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 2px;
  background-color: #333;
}
#first .search-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
#first .search-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
#first .search-modal__content {
  overflow: auto;
  height: calc(80vh - 80px);
}
#first .search-modal__ttl {
  text-align: center;
  font-size:26px;
  font-weight: bold;
}
#first .search-modal__tabs {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 30px 0 15px;
  justify-content: center;
  gap: 60px;
}
#first .search-modal__tab {
  padding: 8px 16px;
  cursor: pointer;
  border: 2px solid #242424;
  width: 380px;
  text-align: center;
  border-radius: 7px;
  font-size: 22px;
  font-weight: 500;
  position: relative;
  transition: 0.2s;
}
#first .search-modal__tab.is-active {
  font-weight: bold;
  border-color: #0095E2;
  color: #0095E2;
}
#first .search-modal__tab:after {
  content:"";
  border-top: 2px solid;
  border-right: 2px solid;
  width: 10px;
  height: 10px;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-40%) rotate(135deg);
  transition: 0.2s;
}
#first .search-modal__tab.is-active:after {
  transform: translateY(-10%) rotate(-45deg);
}
#first .search-modal__tab.-category span {
  position:absolute;
  top: -17.5px;
  left: -17.5px;
  display: block;
  background: #a00000;
  color: #fff;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  line-height: 35px;
}
#first .search-modal__switch {
  display: none;
  border-top: 2px solid #F2F2F2;
}
#first .search-modal__switch.is-active {
  display: block;
}
#first .search-modal__switch-content {
  padding: 10px 0;
  display: flex;
  justify-content: left;
  gap: 40px;
  padding: 20px 100px;
  flex-wrap: wrap;
  height: 516px;
}
#first .search-modal__switch[data-content="price"] .search-modal__switch-content {
  padding: 30px 190px;
  display: block;
}
#first .search-modal__switch-content li {
  width: calc((100% - 200px) / 6);
}
#first .p-block-filter-contents-row-tit {
  font-size: 24px;
}
#first .search-modal__switch-content-checkbox {
  position: relative;
  width: 110px;
  margin: 0 auto;
}
#first .search-modal__switch-content-checkbox label {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
}
#first .search-modal__switch-content-checkbox label > div {
  border-radius: 50%;
  width: 110px;
  height: 110px;
  background: #F7F7F7;
  display: flex;
  justify-content: center;
  align-items: center;
}
#first .search-modal__switch-content-checkbox img {
  width: 80px;
  height: 80px;  
}
#first .search-modal__switch-content-checkbox label > p {
  margin-top: 4px;
  font-size: 12px;
}
#first .search-modal__switch-content-checkbox label::before {
  content: "";
  position: absolute;
  z-index: 2;
  display: block;
  top: 50%;
  left: 0;
  width: 20px;
  height: 20px;
  background-color: #F7F7F7;
  border: 1px solid #DEDEDE;
  border-radius: 2px;
  transform: translate3d(0, -50%, 0) rotate(0deg);
  transition: all 200ms ease-out 0ms;
  margin-top: -1px;
}
#first .search-modal__switch-content-checkbox label:after {
  content: "";
  z-index: 3;
  position: absolute;
  top: 50%;
  left: 5px;
  width: 10px;
  height: 5px;
  border-left: 2px solid transparent;
  border-bottom: 2px solid transparent;
  transform: translate3d(0, -50%, 0) rotate(-50deg);
  transition: all 200ms ease-out 0ms;
  margin-top: -1px;
}
#first .search-modal__switch-content-checkbox input[type="checkbox"] {
  position: absolute;
  top: calc(50% - 20px);
  left: -25px;
  display: none;
}
#first .search-modal__switch-content-checkbox:has(input[type="checkbox"]:checked) label:before {
  background: #0095E2;
}
#first .search-modal__switch-content-checkbox:has(input[type="checkbox"]:checked) label:after {
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
}
#first .search-modal__switch-content-checkbox:has(input[type="checkbox"]:checked) label > div {
  background: #E8F1F6;
}
#first .search-modal__button {
  display: block;
  max-width: 420px;
  padding: 14px;
  background-color: #081570;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 20px;
  font-weight: bold;
  cursor: pointer;
  margin: 20px auto 0;
  width: 90%;
}
#first .block-ranking-r li {
  margin-bottom: 0;
}
#first .p-block-top-event-wrapper--weekly-ranking {
  padding-bottom: 0;
}
#first .contact {
  width: 1000px;
  margin: 0 auto;
  background: #FFF;
  border-radius: 19px;
  color: #0C4755;
  text-align: center;
  padding: 40px 0 45px;
}
#first .contact h2 {
  color: inherit;
  font-size: 21px;
  padding: 0;
  margin: 0 0 25px;
  letter-spacing: 0;
}
#first .contact .btn-contact {
  display: block;
  width: 450px;
  margin: 0 auto 25px;
  padding: 14px 0 12px;
  border: 2px solid #0C4755;
  border-radius: 40px;
  color: inherit;
  font-size: 19px;
  font-weight: bold;
  background: url(../img/icon_link.png) no-repeat right 26px center / 15px;
}
#first .btn-fixed {
  position: fixed;
  right: 20px;
  bottom: 80px;
  width: 154px;
  height: 154px;
  border: 5px solid #FFF;
  border-radius: 19px;
  color: #FFF;
  font-size: 21px;
  font-weight: bold;
  text-align: center;
  background: #0C4755 url(../img/arrow.png) no-repeat center bottom 30px / 20px;
  padding: 23px 0 0;
  z-index: 11;
}

@media screen and (max-width: 767px) {
  #first {
    padding: 0 0 80px;
  }
  #first .detail {
    width: calc(100% - 30px);
    margin: 30px 15px 0;
  }
  #first h2.title {
    font-size: 20px;
    padding: 9px 6px;
  }
  #first .detail h2 {
    padding: 16px 0 14px;
  }
  #first .detail-contents {
    padding: 18px 15px 25px;
  }
  #first .detail h3 {
    font-size: 15px;
  }
  #first .detail h3 span {
    font-size: 25px;
  }
  #first .detail .link {
    margin: 0 0 15px;
  }
  #first .detail dl {
    display: block;
    padding: 18px 0 10px;
  }
  #first .detail dt {
    width: 112px;
    font-size: 15px;
    margin: 0 auto 10px;
    padding: 4px 0 2px;
  }
  #first .detail dd {
    font-size: 15px;
    padding: 0;
  }
  #first .detail dl:nth-of-type(1) dd {
    font-feature-settings: 'palt';
  }
  #first .detail dl:nth-of-type(odd) dd {
    text-align: center;
  }
  #first .detail dd span.num {
    font-size: 19px;
  }
  #first .howto {
    padding: 40px 0 65px;
  }
  #first .howto h2 {
    width: calc(100% - 30px);
    margin: 0 15px 45px;
  }
  #first .howto .step {
    width: 100%;
    margin: 0;
    padding: 0 15px;
  }
  #first .howto .swiper-wrapper {
    justify-content: flex-start;
    gap: 0;
  }
  #first .howto .swiper-slide {
    display: block;
    padding: 35px 15px 20px !important;
    transition: none;
  }
  #first .howto .swiper .swiper-slide .img {
    width: 100%;
    margin: 0 0 15px;
    padding: 0;
    opacity: 1;
  }
  #first .howto .swiper-slide h3 {
    margin: 0 0 8px;
  }
  #first .howto .btn-entry {
    margin: 15px 0 5px;
    padding-right: 5px;
  }
  #first .howto .swiper-pagination {
    position: static;
    line-height: 0;
    margin: 27px 0 0;
  }
  #first .howto .swiper-pagination-bullet {
    width: 15px;
    height: 15px;
    margin: 0 7px;
    background: #FFF;
    border: 1px solid var(--navy);
  }
  #first .howto .swiper-pagination-bullet-active {
    background: var(--navy);
  }
  #first .code {
    padding: 60px 15px;
  }
  #first .code:before,
  #first .code:after {
    top: -6px;
    background-size: auto 15px;
  }
  #first .code:after {
    top: auto;
    bottom: -20px;
  }
  #first .code-contents {
    width: 100%;
  }
  #first .code h2 {
    padding: 15px 0 11px;
  }
  #first .code .body {
    display: block;
    padding: 20px 16px 40px;
  }
  #first .code .copy-area {
    display: block;
    padding: 20px;
    margin: 0 0 30px;
  }
  #first .code .cp-code {
    font-size: 25px;
    text-align: center;
    margin: 0 0 12px;
    padding: 0;
  }
  #first .code .btn-copy {
    width: calc(100% - 6px);
    font-size: 21px;
    background-size: 32px;
    padding: 6px;
  }
  #first .code .success-message {
    top: -30px;
    right: 50%;
    transform: translateX(50%);
    width: 100%;
    text-align: center;
  }
  #first .code .img {
    background: 0;
    padding: 0;
    margin: 0 6% 20px;
    border-radius: 0;
  }
  #first .code .img img {
    box-shadow: none;
  }
  #first .code h3 {
    font-size: 18px;
    text-align: center;
    margin: 0 0 10px;
  }
  #first .code .text {
    padding: 0;
  }
  #first .entry {
    padding: 60px 15px 70px;
    background-image: url(../img/bg_entry_sp.jpg);
  }
  #first .entry h2 {
    font-size: 28px;
    line-height: 1.6;
    margin: 0 0 25px;
  }
  #first .entry .btn-entry-l {
    width: calc(100% - 6px);
    line-height: 1.3;
    padding: 18px 0 15px;
  }
  #first .entry .btn-entry-l:after {
    right: 30px;
  }
  #first .entry .btn-entry-l span {
    display: block;
    font-size: 20px;
  }
  #first .chance {
    position: relative;
    width: calc(100% - 30px);
    margin: 70px 15px 45px;
    padding: 20px 10px;
    background-image: none;
  }
  #first .chance:before {
    content: '';
    position: absolute;
    top: -5vw;
    right: 0;
    width: 22.5vw;
    height: 12vw;
    background: url(../img/img_faq.png) no-repeat right top / 100%;
  }
  #first .chance .more {
    font-size: 15px;
    width: 112px;
    margin: 0 auto 15px;
    padding: 4px 0 1px 9px;
  }
  #first .chance h2 {
    font-size: 16px;
    margin: 0 0 15px;
  }
  #first .chance h2 p {
    font-size: 31px;
  }
  #first .chance > p {
    font-size: 15px;
    margin: 0 0 15px;
  }
  #first .chance .hint {
    font-size: 14px;
    background-size: 50px;
    background-position: left 5px center;
    padding: 12px 10px 9px 58px;
  }
  #first .guide {
    width: 100%;
    padding: 0 15px 60px;
    margin: 0;
  }
  #first .guide ul {
    flex-wrap: wrap;
    gap: 12px 8px;
  }
  #first .guide li {
    width: calc((100% - 8px) / 2);
  }
  #first .guide li a {
    width: 100%;
    height: 100%;
    padding: 7px;
  }
  #first .guide li p {
    font-size: 12px;
    margin: 10px 0 0;
  }
  #first .caution {
    padding: 55px 15px;
  }
  #first .caution h2 {
    width: 100%;
    padding: 9px 0 7px;
    margin: 0 0 22px;
  }
  #first .caution-contents {
    width: 100%;
    padding: 20px 8px;
    font-size: 14px;
  }
  #first .caution .scroll-area::-webkit-scrollbar {
    width: 6px;
  }
  #first .caution .scroll-area {
    padding: 0 5px;
    max-height: 415px;
  }
  #first .caution-contents p:not(:last-child) {
    margin: 0 0 10px;
  }
  #first .start {
    margin: 0;
    padding: 40px 15px 60px;
  }
  #first .start h2.title {
    width: 100%;
  }
  #first .start .btn-search {
    width: calc(100% - 3px);
    font-size: 16px;
    margin-top: 34px;
    padding: 11px 0 9px;
    background-size: 20px;
    background-position: right 15px center;
    box-shadow: 3px 3px #0C4755;
  }
  #first .p-block-top-event-wrapper--weekly-ranking:first-child h2.p-heading {
    margin-bottom: 0;
  }
  #first .p-block-top-event-more {
    margin-top: 20px;
  }
  #first .ranking .swiper-buttons {
    display: none;
  }
  #first .contact {
    width: calc(100% - 30px);
    margin: 0 15px;
    padding: 25px 15px;
  }
  #first .contact h2 {
    line-height: 1.6;
    margin: 0 0 15px;
  }
  #first .contact .btn-contact {
    width: 100%;
    font-size: 14px;
    background-position: right 5% center;
    margin: 0 0 20px;
  }
  #first .contact p {
    font-size: 14px;
  }
  #first .btn-fixed {
    right: 7px;
    bottom: 70px;
    height: 57px;
    border-radius: 10px;
    padding: 8px 20px;
    text-align: left;
    background-position: top 18px right 13px;
  }
  #first .search-modal__inner {
    min-width: initial;
    max-height: initial;
    height: 100svh;
    width: 100%;
    border-radius: 0;
    padding: 0;
  }
  #first .search-modal__switch-content {
    padding: 20px;
    height: auto;
    gap: 30px;
  }
  #first .search-modal__switch-content li {
    width: calc((100% - 120px) / 5);
  }
  #first  .search-modal__close {
    width: 30px;
    height: 30px;
    z-index: 10;
  }
  #first .search-modal__close::before, #first .search-modal__close::after {
    width: 16px;
  }
  #first .search-modal__content {
    height: 100svh;
    padding-bottom: 70px;
    position: relative;
  }
  #first .search-modal__tabs {
    gap: 16px;
    padding: 0 30px;
  }
  #first .search-modal__tab {
    width: 160px;
    font-size: 16px;
  }
  #first .search-modal__tab:after {
    border-top: 1px solid;
    border-right: 1px solid;
    width: 8px;
    height: 8px;
    right: 10px;
    transform: translateY(-60%) rotate(135deg);
  }
  #first .search-modal__tab.is-active:after {
    transform: translateY(-10%) rotate(-45deg);
  }
  #first .search-modal__switch-content-checkbox label::before {
    width: 30px;
    height: 30px;
    top: 10px;
    right: 0;
  }
  #first .search-modal__switch-content-checkbox label::after {
    width:18px;
    height: 12px;
    top: 2px;
    right: 5px;
    transform: rotate(-45deg);
  }
  #first .search-modal__switch-content {
    gap: 15px 15px;
  }
  #first .search-modal__switch-content li {
    width: calc((100% - 30px) / 3);
  }
  #first .search-modal__switch-content-checkbox {
    width: 100%;
  }
  #first .search-modal__switch-content-checkbox label > div {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
  }
  #first .search-modal__switch-content-checkbox img {
    width: 90%;
    height: auto;
  }
  #first .search-modal__switch-content-checkbox label > p {
    font-size: 10px;
    font-weight: bold;
  }
  #first .search-modal__ttl {
    background: #F7F7F7;
    font-size: 16px;
    padding: 19px 0 16px;
    border-bottom: 1px solid #DEDEDE;
  }
  #first .search-modal__switch[data-content="price"] #first  .search-modal__switch-content {
    padding: 35px 20px;
  }
  #first .p-form-select input[type=checkbox] + label.checkbox::before {
    content: "";
    position: absolute;
    z-index: 2;
    display: block;
    top: 50%;
    left: 0;
    width: 20px;
    height: 20px;
    background-color: #F7F7F7;
    border: 1px solid #DEDEDE;
    border-radius: 2px;
    transform: translate3d(0, -50%, 0) rotate(0deg);
    transition: all 200ms ease-out 0ms;
    margin-top: -1px;
  }
  #first .p-form-select input[type=checkbox] + label.checkbox::after {
    content: "";
    z-index: 3;
    position: absolute;
    top: 50%;
    left: 5px;
    width: 10px;
    height: 5px;
    border-left: 2px solid transparent;
    border-bottom: 2px solid transparent;
    transform: translate3d(0, -50%, 0) rotate(-50deg);
    transition: all 200ms ease-out 0ms;
    margin-top: -1px;
  }
  #first .p-form-select input[type=checkbox]:checked + label.checkbox::after {
    border-color: #00146E;
  }
  #first .search-modal__switch[data-content="price"] .search-modal__switch-content {
    padding: 35px 20px;
  }
  #first .p-block-filter-contents-row-tit {
    font-size: 16px;
    margin-bottom: 20px;
  }
  #first .p-block-filter-price-from,
  #first .p-block-filter-price-to {
    flex: 0 0 43%;
    max-width: 43%;
  }
  #first .p-block-filter-price input {
    padding: 6px 10px;
    height: 42px;
  }
  #first .p-block-filter-price-from-unit {
    padding-left: 6px;
    font-size: 14px;
  }
  #first .p-block-filter-price-from-label {
    margin: 0 15px;
  }
  
  .p-block-ranking-tabs-surround {
    overflow-x: scroll;
  }
  .p-block-ranking-tabs {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .p-block-ranking-tabs-item {
    border-right: 1px solid #3A6DCE;
  }
  .p-block-ranking-tabs-item:first-child {
    border-top-left-radius: 0px; 
    border-bottom-left-radius: 0px;
    border-right: 0px;
    border-bottom: 0px;
   }
   .p-block-ranking-tabs-item:nth-child(2) {
     border-right: 0px;
     border-bottom: 0px;
   }
   .p-block-ranking-tabs-item:nth-child(3) {
     border-bottom: 0px;
   }
   .p-block-ranking-tabs-item:nth-child(4) {
     border-right: 0px;
     border-bottom: 0px;
   }
   .p-block-ranking-tabs-item:nth-child(5) {
     border-right: 0px;
     border-bottom: 0px;
   }
   .p-block-ranking-tabs-item:nth-child(6) {
     border-bottom: 0px;
   }
   .p-block-ranking-tabs-item:nth-child(7) {
     border-right: 0px;
   }
   .p-block-ranking-tabs-item:nth-child(8) {
     border-right: 0px;
   }
   .p-block-ranking-tabs-item:last-child {
     border-top-right-radius: 0px;
     border-bottom-right-radius: 0px;
     border-right: 1px solid #3A6DCE;
   }
}

@media screen and (min-width: 768px) {
	.code-content {
    	display: flex;
	}
	.code-content .img {
        width: 400px;
    }
    #first .code .text {
        padding: 35px 0 0 35px;
    }
}

.quiz-search {
    width: 350px;
    margin: 30px auto 0;
    padding: 10px 0 10px;
    border-radius: 50px;
    text-align: center;
    background: #FDFCDA url(../img/arrow02.png) no-repeat right 30px center / 36px;
    color: #0C4755;
    font-size: 31px;
    font-weight: bold;
    border: 3px solid #0C4755;
    box-shadow: 6px 6px #0C4755;
    transition: .3s ease;
    margin-bottom: 20px;
    cursor: pointer;
}
.quiz-search:hover  {
  box-shadow: none;
  opacity: 1;
  transform: translate(3px, 3px);
  }
  
  p.btn-entry-l {
    font-size: 25px;
    color: #0c4755;
    vertical-align: text-top;
}


@media screen and (max-width: 767px) {
.quiz-search {
    width: 306px;
    margin: 30px auto 0;
    padding: 10px 0 10px;
    border-radius: 50px;
    text-align: center;
    background: #FDFCDA url(../img/arrow02.png) no-repeat right 20px center / 28px;
    color: #0C4755;
    font-size: 22px;
    font-weight: bold;
    border: 3px solid #0C4755;
    box-shadow: 6px 6px #0C4755;
    transition: .3s ease;
    margin-bottom: 20px;
    cursor: pointer;
}
p.btn-entry-l {
    font-size: 20px;
    color: #0c4755;
    vertical-align: middle;
}
#first {
    overflow: hidden;
}
}