@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
body {
  margin: 0;
  padding: 0;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #111;
}
@media only screen and (max-width: 767px) {
  body {
    overflow-x: hidden;
  }
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

figure {
  margin: 0;
  padding: 0;
}

.ttl {
  max-height: fit-content;
  background-image: url(../img/circlepattern.png);
  background-color: #da292f;
  background-repeat: repeat;
}
@media only screen and (max-width: 767px) {
  .ttl {
    overflow-x: hidden;
    margin: 0 auto;
    background-size: 150px;
    padding: 50px 0;
  }
}
@media only screen and (min-width: 768px) {
  .ttl {
    background-size: 175px;
    margin: 0 auto;
    padding: 100px 0;
  }
}
.ttl__circle {
  position: relative;
  background-repeat: repeat;
  border-radius: 100%;
  border: solid #c30d23 15px;
  z-index: 4;
}
@media only screen and (min-width: 768px) {
  .ttl__circle {
    min-width: 600px;
    max-width: 600px;
    min-height: 600px;
    max-height: 600px;
    margin: 0 auto;
    background-size: 175px;
  }
}
@media only screen and (max-width: 767px) {
  .ttl__circle {
    min-width: 300px;
    max-width: 300px;
    min-height: 300px;
    max-height: 300px;
    margin: 0 auto;
    background-size: 150px;
  }
}
.ttl__title {
  width: 100%;
  position: absolute;
}
@media only screen and (max-width: 767px) {
  .ttl__title {
    height: 370px;
    top: 70px;
  }
}
@media only screen and (min-width: 768px) {
  .ttl__title {
    height: 700px;
    top: 90px;
  }
}
.ttl__title h1 {
  font-family: "Noto Sans JP", serif;
  color: #000;
  text-shadow: rgb(255, 255, 255) 5px 0px 0px, rgb(255, 255, 255) 4.90033px 0.993347px 0px, rgb(255, 255, 255) 4.60531px 1.94709px 0px, rgb(255, 255, 255) 4.12668px 2.82321px 0px, rgb(255, 255, 255) 3.48353px 3.58678px 0px, rgb(255, 255, 255) 2.70151px 4.20736px 0px, rgb(255, 255, 255) 1.81179px 4.6602px 0px, rgb(255, 255, 255) 0.849836px 4.92725px 0px, rgb(255, 255, 255) -0.145998px 4.99787px 0px, rgb(255, 255, 255) -1.13601px 4.86924px 0px, rgb(255, 255, 255) -2.08073px 4.54649px 0px, rgb(255, 255, 255) -2.94251px 4.04248px 0px, rgb(255, 255, 255) -3.68697px 3.37732px 0px, rgb(255, 255, 255) -4.28444px 2.57751px 0px, rgb(255, 255, 255) -4.71111px 1.67494px 0px, rgb(255, 255, 255) -4.94996px 0.7056px 0px, rgb(255, 255, 255) -4.99147px -0.291871px 0px, rgb(255, 255, 255) -4.83399px -1.27771px 0px, rgb(255, 255, 255) -4.48379px -2.2126px 0px, rgb(255, 255, 255) -3.95484px -3.05929px 0px, rgb(255, 255, 255) -3.26822px -3.78401px 0px, rgb(255, 255, 255) -2.4513px -4.35788px 0px, rgb(255, 255, 255) -1.53666px -4.75801px 0px, rgb(255, 255, 255) -0.560763px -4.96845px 0px, rgb(255, 255, 255) 0.437495px -4.98082px 0px, rgb(255, 255, 255) 1.41831px -4.79462px 0px, rgb(255, 255, 255) 2.34258px -4.41727px 0px, rgb(255, 255, 255) 3.17346px -3.86382px 0px, rgb(255, 255, 255) 3.87783px -3.15633px 0px, rgb(255, 255, 255) 4.4276px -2.32301px 0px, rgb(255, 255, 255) 4.80085px -1.39708px 0px, rgb(255, 255, 255) 4.98271px -0.415447px 0px;
  text-align: center;
  font-weight: bolder;
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}
@media only screen and (max-width: 767px) {
  .ttl__title h1 {
    width: 100%;
    font-size: 2.5rem;
    line-height: 1em;
  }
}
@media only screen and (min-width: 768px) {
  .ttl__title h1 {
    font-size: 4.5em;
    line-height: 1.5em;
  }
}
.ttl__tower {
  position: absolute;
  z-index: 3;
}
@media only screen and (min-width: 768px) {
  .ttl__tower {
    bottom: -80px;
    right: 500px;
  }
}
@media only screen and (max-width: 767px) {
  .ttl__tower {
    bottom: -30px;
    right: -22px;
  }
  .ttl__tower img {
    height: 150px;
  }
}
.ttl__cloud--right {
  position: absolute;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .ttl__cloud--right {
    bottom: -80px;
    right: -5px;
  }
  .ttl__cloud--right img {
    height: 830px;
    width: auto;
  }
}
@media only screen and (max-width: 767px) {
  .ttl__cloud--right {
    bottom: -30px;
    right: -22px;
  }
  .ttl__cloud--right img {
    height: 430px;
    width: auto !important;
    max-width: max-content !important;
  }
}
.ttl__cloud--left {
  position: absolute;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .ttl__cloud--left {
    bottom: -80px;
    left: -5px;
  }
  .ttl__cloud--left img {
    height: 830px;
    width: auto;
  }
}
@media only screen and (max-width: 767px) {
  .ttl__cloud--left {
    bottom: -30px;
    right: -275px;
  }
  .ttl__cloud--left img {
    height: 430px;
    width: auto !important;
  }
}

.intro24 {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  background-color: #9f1313;
  background-image: url(../img/cmp-texture.jpg);
  background-size: 600px;
  color: #fff;
  z-index: 1;
  position: relative;
}
.intro24::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-position: bottom;
  background-size: cover;
  background-repeat: no-repeat;
}
.intro24::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-image: url(../img/event-stuff.png);
  background-position: top;
  background-repeat: repeat-x;
}
@media only screen and (min-width: 768px) {
  .intro24::after {
    background-size: 2000px;
  }
}
@media only screen and (max-width: 767px) {
  .intro24::after {
    background-size: 1000px;
  }
}
@media only screen and (max-width: 767px) {
  .intro24 {
    overflow-x: hidden;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 768px) {
  .intro24 {
    margin: 0 auto;
    padding: 50px 0;
  }
}
.intro24__ttl_left_img {
  background-image: url(../img/hana_left.png);
  background-size: 600px 500px;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  .intro24__ttl_left {
    position: absolute;
    width: 600px;
    height: 500px;
    transform: translate(0px, 226px);
  }
}
.intro24__ttl_right_img {
  background-image: url(../img/hana_right.png);
  background-size: 600px 500px;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  .intro24__ttl_right {
    position: absolute;
    width: 600px;
    height: 500px;
    transform: translate(0px, -751px);
    right: 0;
  }
}
.intro24__ttl_context {
  border: 5px solid #e9b546;
  border-radius: 50%;
  margin: 0 auto;
  z-index: 1;
  position: sticky;
}
.intro24__ttl_context::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-image: url(../img/pattern-shr.jpg);
  background-position: bottom;
  background-repeat: repeat;
  border-radius: 50%;
}
@media only screen and (min-width: 768px) {
  .intro24__ttl_context::before {
    background-size: 150px;
  }
}
@media only screen and (max-width: 767px) {
  .intro24__ttl_context::before {
    background-size: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .intro24__ttl_context {
    width: 250px;
    height: 250px;
  }
}
@media only screen and (min-width: 768px) {
  .intro24__ttl_context {
    width: 700px;
    height: 700px;
  }
}
.intro24__ttl_context h1 {
  position: relative;
  z-index: 500;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .intro24__ttl_context h1 {
    margin-top: 70px;
    font-size: 25px;
  }
}
@media only screen and (min-width: 768px) {
  .intro24__ttl_context h1 {
    margin-top: 225px;
    margin-bottom: 0;
    font-size: 60px;
  }
}
.intro24__ttl_context h2 {
  border-top: 1px solid;
  border-bottom: 1px solid;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .intro24__ttl_context h2 {
    max-width: 200px;
    margin: 10px auto;
    font-size: 17px;
  }
}
@media only screen and (min-width: 768px) {
  .intro24__ttl_context h2 {
    max-width: 500px;
    margin: 0 auto;
    font-size: 40px;
  }
}
.intro24__snowfall {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
}
.intro24__snowfall .snowflake {
  position: absolute;
  width: 20px;
  height: 20px;
  background-image: url("../img/ume.png");
  background-size: cover;
  animation: snowfall linear infinite;
}
@keyframes snowfall {
  to {
    transform: translateY(100vh);
  }
}
.intro24__inner {
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .intro24__inner {
    padding: 0 10px;
  }
}
@media only screen and (min-width: 768px) {
  .intro24__inner {
    max-width: 1100px;
    width: calc(100% - 30px);
    padding: 0;
  }
}
.intro24__date {
  text-align: center;
  background: #F4F5F7;
  color: #aa0001;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  height: 50px;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 767px) {
  .intro24__date {
    max-width: 300px;
    font-size: 1.07rem;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 768px) {
  .intro24__date {
    max-width: 600px;
    font-size: 1.35rem;
    margin: 0 auto;
  }
}
.intro24__date-pic {
  margin-right: 15px;
}
.intro24__date-pic img {
  height: auto;
}
@media only screen and (max-width: 767px) {
  .intro24__date-pic img {
    width: 20px;
  }
}
@media only screen and (min-width: 768px) {
  .intro24__date-pic img {
    width: 25px;
  }
}
.intro24__date-ttl {
  margin-right: 13px;
  border-right: #aa0001 solid 3px;
  padding-right: 13px;
}
.intro24__comment {
  position: relative;
  z-index: 3;
}
@media only screen and (min-width: 768px) {
  .intro24__comment {
    margin: 40px auto;
  }
}
.intro24__comment p {
  color: #ffec38;
  text-shadow: rgb(212, 12, 12) 3px 0px 0px, rgb(212, 12, 12) 2.83487px 0.981584px 0px, rgb(212, 12, 12) 2.35766px 1.85511px 0px, rgb(212, 12, 12) 1.62091px 2.52441px 0px, rgb(212, 12, 12) 0.705713px 2.91581px 0px, rgb(212, 12, 12) -0.287171px 2.98622px 0px, rgb(212, 12, 12) -1.24844px 2.72789px 0px, rgb(212, 12, 12) -2.07227px 2.16926px 0px, rgb(212, 12, 12) -2.66798px 1.37182px 0px, rgb(212, 12, 12) -2.96998px 0.42336px 0px, rgb(212, 12, 12) -2.94502px -0.571704px 0px, rgb(212, 12, 12) -2.59586px -1.50383px 0px, rgb(212, 12, 12) -1.96093px -2.27041px 0px, rgb(212, 12, 12) -1.11013px -2.78704px 0px, rgb(212, 12, 12) -0.137119px -2.99686px 0px, rgb(212, 12, 12) 0.850987px -2.87677px 0px, rgb(212, 12, 12) 1.74541px -2.43999px 0px, rgb(212, 12, 12) 2.44769px -1.73459px 0px, rgb(212, 12, 12) 2.88051px -0.838247px 0px;
  text-align: center;
  font-family: "Noto Sans JP";
  padding: 0;
  font-weight: bolder;
}
@media only screen and (max-width: 767px) {
  .intro24__comment p {
    font-size: 0.9rem;
    line-height: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .intro24__comment p {
    font-size: 1.5rem;
    line-height: 2.5rem;
  }
}
.intro24__note {
  border: #F4F5F7 solid 4px;
}
@media only screen and (max-width: 767px) {
  .intro24__note {
    font-size: 15px;
    margin: 25px auto 0;
    padding: 25px 10px;
  }
}
@media only screen and (min-width: 768px) {
  .intro24__note {
    max-width: 700px;
    margin: 30px auto 0;
    padding: 35px;
  }
}
@media only screen and (max-width: 767px) {
  .intro24__note-schedule {
    margin: 0 0 30px;
  }
}
@media only screen and (min-width: 768px) {
  .intro24__note-schedule {
    margin: 0 0 40px;
  }
}
.intro24__note-schedule-ttl {
  font-family: "Noto Sans JP";
  font-weight: 600;
  margin: 0 0 22px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .intro24__note-schedule-ttl {
    font-size: 1.3rem;
    line-height: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .intro24__note-schedule-ttl {
    font-size: 1.6rem;
  }
}
.intro24__note-schedule dl {
  display: flex;
  margin: 0;
  padding: 15px 0;
  border-bottom: #ccc dotted 1px;
}
@media only screen and (max-width: 767px) {
  .intro24__note-schedule dl {
    font-size: 0.95rem;
  }
}
@media only screen and (min-width: 768px) {
  .intro24__note-schedule dl {
    font-size: 1rem;
  }
}
.intro24__note-schedule dl:first-of-type {
  border-top: #ccc dotted 1px;
  margin: 20px 0 0;
}
.intro24__note-schedule dl:last-of-type {
  margin: 0 0 15px;
}
.intro24__note-schedule dl dt {
  width: 30%;
  margin: 0;
  padding: 0;
  text-align: center;
}
.intro24__note-schedule dl dd {
  width: 70%;
  margin: 0;
  padding: 0;
  text-align: left;
}
.intro24__note-schedule p {
  text-align: center;
  margin: 20px 0 0;
  padding: 0;
}
.intro24__note-attention-ttl {
  font-family: "Noto Sans JP";
  font-weight: bold;
  margin: 0 0 17px;
}
@media only screen and (max-width: 767px) {
  .intro24__note-attention-ttl {
    font-size: 1.1rem;
  }
}
@media only screen and (min-width: 768px) {
  .intro24__note-attention-ttl {
    font-size: 1.2rem;
  }
}
.intro24__note-attention ul {
  text-align: left;
  list-style: disc;
  margin: 0 auto;
  padding: 0 0 0 20px;
}
@media only screen and (max-width: 767px) {
  .intro24__note-attention ul {
    font-size: 0.9rem;
    line-height: 1.4rem;
    text-align: justify;
    text-justify: inter-ideograph;
  }
}
@media only screen and (min-width: 768px) {
  .intro24__note-attention ul {
    max-width: 700px;
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
.intro24__note-attention ul li {
  margin: 0 0 8px;
}
.intro24__note-attention ul li:last-child {
  margin: 0;
}

.infotext {
  max-width: max-content;
  width: 100%;
  margin: 0 auto;
  text-align: left;
}
.infotext__text {
  margin: 0 auto;
}
.infotext ul {
  margin: 40px auto;
}
.infotext li {
  font-weight: 700;
  font-size: 20px;
  line-height: normal;
}

.topics {
  background: #F4F5F7;
}
@media only screen and (max-width: 767px) {
  .topics {
    padding: 35px 0 110px;
  }
}
@media only screen and (min-width: 768px) {
  .topics {
    padding: 60px 0 150px;
  }
}
.topics__inner {
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .topics__inner {
    padding: 0 10px;
  }
}
@media only screen and (min-width: 768px) {
  .topics__inner {
    max-width: 1150px;
    width: calc(100% - 30px);
  }
}
.topics__ttl {
  text-align: center;
  font-family: "Noto Sans JP";
}
@media only screen and (max-width: 767px) {
  .topics__ttl {
    margin: 0 0 30px;
  }
}
@media only screen and (min-width: 768px) {
  .topics__ttl {
    margin: 0 0 50px;
  }
}
.topics__ttl-text {
  color: #aa0001;
  text-align: center;
  font-weight: 700;
  padding: 0;
  margin: 10px 0 8px;
  letter-spacing: 0.1rem;
}
@media only screen and (max-width: 767px) {
  .topics__ttl-text {
    font-size: 1.9rem;
  }
}
@media only screen and (min-width: 768px) {
  .topics__ttl-text {
    font-size: 2.2rem;
  }
}
.topics__ttl span {
  color: #aa0001;
}
@media only screen and (max-width: 767px) {
  .topics__ttl span {
    font-size: 0.85rem;
  }
}
@media only screen and (min-width: 768px) {
  .topics__ttl span {
    font-size: 0.95rem;
  }
}
.topics__nav {
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .topics__nav {
    margin: 0 0 30px;
  }
}
@media only screen and (min-width: 768px) {
  .topics__nav {
    margin: 0 0 45px;
  }
}
.topics__nav .tab {
  text-align: center;
  font-size: 0.95rem;
  border-radius: 5px;
  font-weight: 600;
  background: #fff;
  color: #aa0001;
  border: #aa0001 solid 3px;
  box-sizing: border-box;
  cursor: pointer;
  transition: 0.4s;
}
@media only screen and (max-width: 767px) {
  .topics__nav .tab {
    margin: 0 3px 10px;
    padding: 14px 0 12px;
    width: 110px;
  }
}
@media only screen and (min-width: 768px) {
  .topics__nav .tab {
    margin: 0 6px 17px;
    padding: 14px 0 13px;
    width: 145px;
  }
}
.topics__nav .tab:hover {
  background: #aa0001;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .topics__nav .text_s {
    font-size: 0.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .topics__nav .text_s {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .topics__nav .text_ss {
    font-size: 0.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .topics__nav .text_ss {
    font-size: 13px;
  }
}
.topics__nav .narrow-active {
  background: #aa0001;
  color: #fff;
}
.topics__nav .narrow-active:hover {
  opacity: 1;
}
.topics .narrow-hide {
  display: none !important;
}
@media only screen and (max-width: 767px) {
  .topics__area {
    margin: 0 0 30px;
  }
}
@media only screen and (min-width: 768px) {
  .topics__area {
    margin: 30px 0 20px;
  }
}
.topics__area ul {
  list-style: none;
  padding: 0;
  width: 100%;
  display: -ms-flexbox;
  display: -moz-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .topics__area ul {
    margin: 0;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 768px) {
  .topics__area ul {
    margin: 0 0 7px;
    -webkit-justify-content: center;
    justify-content: center;
  }
}
.topics__area ul .topic {
  background: #fff;
  box-sizing: border-box;
  border-radius: 10px;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
  position: relative;
  transition: 0.3s;
}
@media only screen and (max-width: 767px) {
  .topics__area ul .topic {
    width: 48%;
    margin: 0 0 20px;
    padding: 15px 10px;
  }
}
@media only screen and (min-width: 768px) {
  .topics__area ul .topic {
    width: calc((100% - 64px) / 4);
    display: -ms-flexbox;
    display: -moz-box;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    margin: 0 8px 35px;
    padding: 15px 13px;
  }
}
.topics__area ul .topic:first-child {
  margin-top: 0;
}
.topics__area ul .topic:hover {
  box-shadow: 0 6px 13px rgba(0, 0, 0, 0.15);
}
.topics__area ul .topic figure {
  width: 100%;
  position: relative;
  overflow: hidden;
  background: #f1f1f1;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .topics__area ul .topic figure {
    height: 100px;
  }
}
@media only screen and (min-width: 768px) {
  .topics__area ul .topic figure {
    height: 190px;
  }
}
.topics__area ul .topic figure a {
  display: block;
}
.topics__area ul .topic figure a img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.topics__area ul .topic figure .noimg {
  color: #97a5b7;
  font-size: 1.3rem;
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
  .topics__area ul .topic figure .noimg {
    font-size: 1.1rem;
  }
}
@media only screen and (min-width: 768px) {
  .topics__area ul .topic figure .noimg {
    font-size: 1.3rem;
  }
}
.topics__area ul .topic__caption {
  box-sizing: border-box;
  width: 100%;
  margin: 15px 0 0;
}
.topics__area ul .topic__category {
  display: inline-block;
  margin: 0;
  color: #aa0001;
  background: #EBEDF1;
  border-radius: 4px;
}
@media only screen and (max-width: 767px) {
  .topics__area ul .topic__category {
    font-size: 11px;
    padding: 6px 12px;
  }
}
@media only screen and (min-width: 768px) {
  .topics__area ul .topic__category {
    font-size: 12px;
    padding: 6px 14px;
  }
}
.topics__area ul .topic__text {
  background: #fff;
  color: #333;
  font-weight: bold;
  width: 100%;
  padding: 0;
  margin: 10px 0 0;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .topics__area ul .topic__text {
    font-size: 14px;
    height: 66px;
    line-height: 23px;
  }
}
@media only screen and (min-width: 768px) {
  .topics__area ul .topic__text {
    padding: 0;
    font-size: 16px;
    height: 80px;
    overflow: hidden;
    line-height: 27px;
  }
}
.topics__area ul .topic__text:hover {
  text-decoration: none !important;
}
.topics__area ul .topic__text a {
  color: #111;
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .topics__area ul .topic__text a {
    text-overflow: ellipsis;
    white-space: normal;
  }
}
.topics__area ul .topic__text a:hover {
  text-decoration: none !important;
}
.topics__area ul .topic__text a::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: transparent;
}
.topics__area ul .topic__date {
  text-align: right;
  color: #666;
  letter-spacing: 0.07em;
}
@media only screen and (max-width: 767px) {
  .topics__area ul .topic__date {
    margin: 20px 0 0;
    font-size: 14px;
  }
}
@media only screen and (min-width: 768px) {
  .topics__area ul .topic__date {
    margin: 28px 0 0;
    font-size: 0.85rem;
  }
}
.topics__soon {
  text-align: center;
  font-family: "Noto Sans JP";
}
@media only screen and (max-width: 767px) {
  .topics__soon {
    margin: 30px 0 60px;
  }
}
@media only screen and (min-width: 768px) {
  .topics__soon {
    margin: 50px 0 80px;
    font-size: 1.1rem;
  }
}
.topics__more_button {
  background-color: #9f1313;
  border: none;
  border-radius: 4px;
  color: #ffffff;
  cursor: pointer;
  display: block;
  font-size: 1rem;
  height: 50px;
  line-height: 48px;
  margin: 0 auto;
  text-align: center;
  width: 100%;
  max-width: 250px;
}

.narrow-hide {
  display: none !important;
}

.shop {
  background: #D6DBE2;
}
.shop__inner {
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .shop__inner {
    padding: 0 10px;
  }
}
@media only screen and (min-width: 768px) {
  .shop__inner {
    max-width: 1200px;
    width: calc(100% - 30px);
  }
}
.shop__ttl {
  font-family: "Noto Sans JP";
  position: absolute;
  top: -35px;
  background: #D6DBE2;
  border-radius: 10px 10px 0 0/10px 10px 0 0;
  height: 35px;
  text-align: center;
  color: #0A1945;
  font-weight: 600;
  letter-spacing: 1.5px;
}
@media only screen and (max-width: 767px) {
  .shop__ttl {
    left: 10px;
    width: 200px;
    font-size: 14px;
    line-height: 50px;
  }
}
@media only screen and (min-width: 768px) {
  .shop__ttl {
    left: 0;
    width: 210px;
    font-size: 16px;
    line-height: 45px;
  }
}
.shop__container {
  display: flex;
}
@media only screen and (max-width: 767px) {
  .shop__container {
    flex-direction: column;
    padding: 0 0 30px;
  }
}
@media only screen and (min-width: 768px) {
  .shop__container {
    justify-content: space-between;
    padding: 40px 0 60px;
  }
}
.shop__item iframe {
  border-radius: 10px;
}
@media only screen and (max-width: 767px) {
  .shop__item {
    width: 100%;
    margin: 0 0 35px;
  }
  .shop__item:last-child {
    margin: 0;
  }
}
@media only screen and (min-width: 768px) {
  .shop__item {
    width: 48%;
  }
}
.shop__item-ttl {
  font-family: "Noto Sans JP";
  font-weight: 700;
  border-bottom: #000 solid 1px;
  margin: 0 0 15px;
  padding: 0 0 8px;
}
@media only screen and (max-width: 767px) {
  .shop__item-ttl {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .shop__item-ttl {
    font-size: 1.2rem;
  }
}
.shop__item-icon {
  position: relative;
  top: 1px;
}
.shop__item-icon img {
  height: auto;
}
@media only screen and (max-width: 767px) {
  .shop__item-icon img {
    width: 20px;
    margin-right: 7px;
  }
}
@media only screen and (min-width: 768px) {
  .shop__item-icon img {
    width: 25px;
    margin-right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .shop__detail {
    padding: 30px 0 0;
  }
}
@media only screen and (min-width: 768px) {
  .shop__detail {
    padding: 0;
  }
}
.shop__detail-name {
  font-family: "Noto Sans JP";
  font-weight: 700;
  border-bottom: #000 solid 1px;
  margin: 0 0 15px;
  padding: 0 0 8px;
}
@media only screen and (max-width: 767px) {
  .shop__detail-name {
    font-size: 1.15rem;
  }
}
@media only screen and (min-width: 768px) {
  .shop__detail-name {
    font-size: 1.3rem;
  }
}
.shop__detail-item {
  margin: 0 0 20px;
  line-height: 23px;
}
.shop__detail-item:last-child {
  margin: 0;
}
.shop__detail-item p {
  margin: 0;
  padding: 0;
}
@media only screen and (max-width: 767px) {
  .shop__detail-item p {
    font-size: 0.9rem;
    line-height: 1.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .shop__detail-item p {
    font-size: 0.9rem;
    line-height: 1.7rem;
  }
}
.shop__detail-link {
  position: relative;
  border: #0A1945 solid 3px;
  text-align: center;
  border-radius: 5px;
  box-sizing: border-box;
  padding: 7px 5px;
  transition: 0.5s;
}
.shop__detail-link:hover {
  background: #0A1945;
}
.shop__detail-link:hover a {
  color: #fff;
}
.shop__detail-link:hover .shop__detail-icon-hover {
  opacity: 1;
}
.shop__detail-link a {
  color: #0A1945;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
}
.shop__detail-link a::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: transparent;
}
.shop__detail-icon {
  position: relative;
  top: -4px;
}
.shop__detail-icon img {
  margin-right: 7px;
}
.shop__detail-icon-hover {
  position: absolute;
  left: 0;
  top: 4px;
  opacity: 0;
  transition: 0.5s;
}

@media only screen and (min-width: 768px) {
  .sponly {
    display: none;
  }
}

.global_head {
  margin: 0;
  padding: 0;
}

footer {
  margin: 0;
  padding: 0;
  background: #0A1945;
}
footer .global_foot {
  border: none;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  footer .global_foot {
    margin: 0 auto;
    padding: 30px 20px 10px;
  }
}
@media only screen and (min-width: 768px) {
  footer .global_foot {
    max-width: 1200px;
    width: calc(100% - 45px);
    margin: 0 auto;
    padding: 35px 0 25px;
  }
}
footer .global_foot .guide_container {
  display: flex;
}
@media only screen and (max-width: 767px) {
  footer .global_foot .guide_container {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  footer .global_foot .guide_list {
    width: 49%;
    margin: 0 0 18px;
  }
}
@media only screen and (min-width: 768px) {
  footer .global_foot .guide_list {
    margin-right: 50px;
  }
}
footer .global_foot ul {
  list-style: none;
  margin: 0;
  text-align: left;
}
footer .global_foot ul li {
  font-size: 13px !important;
  margin: 0 0 13px !important;
}
footer .global_foot ul li a {
  text-decoration: none;
  color: #fff;
}
footer .global_foot ul li a:hover {
  text-decoration: underline;
}
footer .global_foot .sns_area {
  display: flex;
}
@media only screen and (max-width: 767px) {
  footer .global_foot .sns_area .item {
    margin-right: 4px;
    text-align: left;
  }
  footer .global_foot .sns_area .item img {
    width: 80%;
  }
}
@media only screen and (min-width: 768px) {
  footer .global_foot .sns_area .item {
    margin-left: 5px;
    text-align: right;
  }
  footer .global_foot .sns_area .item img {
    width: 90%;
  }
  footer .global_foot .sns_area .item img:hover {
    opacity: 0.8;
  }
}
footer .global_foot .guide_top {
  display: flex;
}
@media only screen and (max-width: 767px) {
  footer .global_foot .guide_top {
    flex-direction: column;
    margin: 0 0 20px;
  }
}
@media only screen and (min-width: 768px) {
  footer .global_foot .guide_top {
    justify-content: space-between;
    margin: 0 0 40px;
  }
}
footer .global_foot .guide_middle .lang_area {
  display: flex;
}
@media only screen and (max-width: 767px) {
  footer .global_foot .guide_middle .lang_area {
    margin: 0 0 15px;
  }
}
@media only screen and (min-width: 768px) {
  footer .global_foot .guide_middle .lang_area {
    margin: 0 0 15px;
  }
}
footer .global_foot .guide_middle .lang_area .item {
  text-align: left;
}
@media only screen and (max-width: 767px) {
  footer .global_foot .guide_middle .lang_area .item {
    margin-right: 4px;
  }
}
@media only screen and (min-width: 768px) {
  footer .global_foot .guide_middle .lang_area .item {
    margin-right: 3px;
  }
}
footer .global_foot .guide_middle .lang_area .item img {
  border-radius: 50px;
}
@media only screen and (max-width: 767px) {
  footer .global_foot .guide_middle .lang_area .item img {
    width: 70%;
  }
}
@media only screen and (min-width: 768px) {
  footer .global_foot .guide_middle .lang_area .item img {
    width: 75%;
  }
  footer .global_foot .guide_middle .lang_area .item img:hover {
    opacity: 0.8;
  }
}
footer .global_foot .guide_bottom {
  display: flex;
}
@media only screen and (max-width: 767px) {
  footer .global_foot .guide_bottom {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) {
  footer .global_foot .guide_bottom {
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  footer .global_foot .guide_bottom .police {
    text-align: left;
  }
}
@media only screen and (min-width: 768px) {
  footer .global_foot .guide_bottom .copyright {
    text-align: center;
  }
}
footer .global_foot .guide_bottom p {
  color: #fff;
}
@media only screen and (max-width: 767px) {
  footer .global_foot .guide_bottom p {
    font-size: 11px;
  }
}
@media only screen and (min-width: 768px) {
  footer .global_foot .guide_bottom p {
    font-size: 11px;
  }
}
footer .global_foot .guide_bottom p a {
  text-decoration: none;
  color: #fff;
}
footer .global_foot .guide_bottom p a:hover {
  text-decoration: underline;
}/*# sourceMappingURL=style.css.map */