@charset "UTF-8";
@import url("//code.ionicframework.com/ionicons/2.0.0/css/ionicons.min.css");
@import url("//use.fontawesome.com/releases/v6.5.1/css/all.css");
@import url("https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@100;200;300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Alfa+Slab+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Anton&display=swap");
.noto {
  font-family: "Noto Sans JP", "メイリオ", sans-serif;
}

.text__left {
  text-align: left;
}
.text__right {
  text-align: right;
}
.text__center {
  text-align: center;
}

.list__disc {
  list-style: disc;
  text-align: left;
  padding-left: 2em;
  font-size: 16px;
  font-size: 1.6rem;
  margin-bottom: 1em;
}
.list__disc > li {
  line-height: 1.45;
  padding-bottom: 0.5em;
}
.list__disc > li img {
  height: 200px;
  display: block;
}
.list__disc > li:last-child {
  padding-bottom: 0;
}

a {
  color: #003288;
  text-decoration: none;
  transition: 0.3s ease-in-out;
}

html {
  font-size: 62.5%;
  overflow-y: auto;
}

body {
  margin: 0;
  padding: 0;
  width: 100%;
  background: #e9edf4;
  background-size: 100% auto;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  font-family: "Noto Sans JP", "メイリオ", sans-serif;
  font-weight: 400;
  color: #000;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt";
}
body * {
  box-sizing: border-box;
}
body img {
  vertical-align: top;
}
@media only screen and (max-width: 768px) {
  body {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media only screen and (max-width: 768px) {
  img {
    width: 100%;
  }
}
section {
  padding: 80px 0;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  section {
    padding: 50px 0;
  }
}

.sec_inner {
  width: 980px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .sec_inner {
    width: 100%;
  }
}

h2 {
  height: 148px;
  margin: 0 auto 45px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  h2 {
    height: 60px;
    margin: 0 auto 35px;
  }
}
h2 img {
  width: auto;
}

.btn.nolink {
  pointer-events: none;
  background-color: #c5c5c5 !important;
}
.btn.nolink::before, .btn.nolink::after {
  display: none !important;
}

.tab_box > div {
  display: none;
}
.tab_box > div.tab_active {
  display: block;
}

.all {
  background-color: #fff;
  color: #003288 !important;
}

.dx_seat {
  background-color: #987a26;
}

.counter_seat {
  background-color: #772a2e;
}

.pair_seat {
  background-color: #fe5f91;
}

.main_s3 {
  background-color: #d5ab44;
}

.main_s2 {
  background-color: #ca1a45;
}

.main_sa {
  background-color: #59c4f2;
}

.back_sb {
  background-color: #02833d;
}

.back_sc {
  background-color: #d0b951;
}

.back_upper {
  background-color: #c87b00;
}

.back_side {
  background-color: #7a1f6d;
}

.main_side {
  background-color: #8e4c8f;
}

.family {
  background-color: #e16f28;
}

.family_side {
  background-color: #fe8162;
}

.supporter {
  background-color: #024292;
}

.visitor {
  background-color: #a1a1a1;
}

/* -------------------------------
header
------------------------------- */
header {
  position: sticky;
  top: 0;
  z-index: 110;
  width: 100%;
  height: 80px;
  background-color: #003288;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 25px;
  border-bottom: 1px solid #fff;
}
@media only screen and (max-width: 768px) {
  header {
    height: 60px;
    margin-bottom: 2px;
    justify-content: space-between;
    padding: 0 10px;
  }
}
header h1 {
  line-height: 0;
}
header h1 img {
  width: 428px;
}
@media only screen and (max-width: 768px) {
  header h1 img {
    width: 234px;
  }
}
header .pc_bnr {
  display: flex;
  align-items: center;
  justify-content: right;
}
@media only screen and (max-width: 768px) {
  header .pc_bnr {
    display: none;
  }
}
header .pc_bnr li {
  margin-left: 25px;
}
header .pc_bnr li a:hover {
  opacity: 0.5;
}
header .pc_bnr li a img {
  width: 166px;
}
header .menu {
  list-style: none;
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  margin-top: 60px;
  padding: 0;
  clear: both;
  background: var(--background-navbar);
  background-color: #0a2c65;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  transform: scale(1, 0);
  transform-origin: top;
}
header .menu a {
  opacity: 0;
  transition: 0.5s;
}
header .menu .sp_nav {
  display: flex;
  flex-wrap: wrap;
}
header .menu .sp_nav li {
  height: 60px;
  width: 50%;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
header .menu .sp_nav li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
header .menu .sp_nav li a img {
  height: 20px;
}
header .menu .sp_nav li:nth-child(1) {
  width: 100%;
}
header .menu .sp_nav li:nth-child(odd) {
  border-right: none;
}
header .menu .menu_other {
  background: #003288;
  padding: 25px 20px;
  width: 100%;
}
header .menu .menu_other .header_bnr {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header .menu .menu_other .header_bnr li {
  width: calc(50% - 10px);
}
header .menu .menu_other .header_bnr li a {
  width: 100%;
  display: block;
  text-align: center;
}
header .menu .menu_other .sns_list {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 25px 0;
}
header .menu .menu_other .sns_list li {
  margin-left: 2rem;
}
header .menu .menu_other .sns_list li:first-child {
  margin-left: 0;
}
header .menu .menu_other .sns_list li a {
  color: #fff;
  font-size: 24px;
}
header .menu .menu_other .close_icon {
  height: 20px;
  margin: 0 auto;
}
header .menu_icon {
  display: none;
}
@media only screen and (max-width: 768px) {
  header .menu_icon {
    display: block;
    width: 28px;
    height: 36px;
    background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(../images/hamburger_menu.svg);
  }
}
header .menu_btn {
  display: none;
}
header .menu_btn:checked ~ .menu {
  transform: scale(1, 1);
  transform-origin: top;
  transition: 0.2s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
header .menu_btn:checked ~ .menu_icon {
  background-image: url(../images/hamburger_close.svg);
}
header .menu_btn:checked ~ .menu a {
  opacity: 1;
  transition: 0.2s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}

main {
  margin-top: 4px;
}
@media only screen and (max-width: 768px) {
  main {
    margin-top: 2px;
  }
}

.fancybox-close-small {
  position: absolute;
  background: #fff;
  width: 48px;
  height: 48px;
  border-radius: 24px;
  top: -20px;
  right: -20px;
}
.fancybox-close-small svg {
  display: none;
}
.fancybox-close-small::before, .fancybox-close-small::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -2px 0 0 -12px;
  display: block;
  width: 24px;
  height: 3px;
  border-radius: 2px;
  background-color: #003288;
  transform: rotate(-45deg);
}
.fancybox-close-small::after {
  transform: rotate(45deg);
}

/* -------------------------------
content
------------------------------- */
.kv_area {
  width: 100%;
  margin-bottom: 2px;
}
@media only screen and (max-width: 768px) {
  .kv_area {
    margin-bottom: 1px;
  }
}
.kv_area img {
  width: 100%;
}
.kv_area .kv_slider,
.kv_area .kv_slider div {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  line-height: 0;
}
.kv_area .kv_thumbs {
  padding: 10px;
  background: #000;
}
.kv_area .kv_thumbs > picture {
  padding: 10px;
}

.kv_thumbs img {
  opacity: 0.2;
}

.kv_thumbs .slick-current img {
  opacity: 1;
}

.slick-slide {
  padding: 2px;
}

.nav_area {
  width: 100%;
  height: 80px;
  background-color: #003288;
  position: sticky;
  top: 80px;
  opacity: 100;
  z-index: 100;
}
@media only screen and (max-width: 768px) {
  .nav_area {
    position: relative;
    top: 0;
    height: 73px;
    background-color: #fff;
  }
}
.nav_area ul {
  width: 980px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .nav_area ul {
    width: 100%;
    flex-wrap: wrap;
    border-left: none;
  }
}
.nav_area ul li {
  background-color: #003288;
  display: block;
  width: 90%;
  height: 80px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  /*
  &:nth-child(5) {
      width: 10%;
  }
  */
}
.nav_area ul li:nth-child(1) {
  width: 18.4%;
}
.nav_area ul li:nth-child(2) {
  width: 19.3%;
}
.nav_area ul li:nth-child(3) {
  width: 8.5%;
}
.nav_area ul li:nth-child(4) {
  width: 8.5%;
}
.nav_area ul li:nth-child(5) {
  width: 8.5%;
}
.nav_area ul li:nth-child(6) {
  width: 12.7%;
}
.nav_area ul li:nth-child(7) {
  width: 10.4%;
}
.nav_area ul li:nth-child(8) {
  width: 12.7%;
}
.nav_area ul li:nth-child(8) a {
  border-right: none;
}
@media only screen and (max-width: 768px) {
  .nav_area ul li {
    height: 35.5px;
    padding: 0 2%;
    border-right: 1px solid #fff;
    /*
    &:nth-child(5) {
        width: 17.5%;
        margin-top: 1px;
    }
    */
  }
  .nav_area ul li:nth-child(1) {
    width: 40%;
  }
  .nav_area ul li:nth-child(2) {
    width: 40%;
  }
  .nav_area ul li:nth-child(3) {
    width: 20%;
    border-right: none;
  }
  .nav_area ul li:nth-child(4) {
    width: 13.5%;
    margin: 1px 0;
  }
  .nav_area ul li:nth-child(5) {
    width: 13.5%;
    margin: 1px 0;
  }
  .nav_area ul li:nth-child(6) {
    width: 27%;
    margin: 1px 0;
  }
  .nav_area ul li:nth-child(7) {
    width: 20%;
    margin: 1px 0;
  }
  .nav_area ul li:nth-child(8) {
    width: 26%;
    margin: 1px 0;
    border-right: none;
  }
}
.nav_area ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border-right: 1px solid #4e6b9d;
  padding: 5px 0;
}
.nav_area ul li a img {
  height: 19px;
}
.nav_area ul li a:hover {
  opacity: 0.5;
}
@media only screen and (max-width: 768px) {
  .nav_area ul li a {
    height: 100%;
    border-right: 0;
  }
}

.campaign {
  background-image: url(../images/campaign_bg_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .campaign {
    background-image: url(../images/campaign_bg_sp.jpg);
  }
}
.campaign .campaign_list .slick-list {
  overflow: visible;
}
@media only screen and (max-width: 768px) {
  .campaign .campaign_list .slick-list {
    overflow: visible;
    padding: 0 30px !important;
  }
}
.campaign .campaign_list .slick-prev,
.campaign .campaign_list .slick-next {
  position: absolute;
  width: 80px;
  height: 80px;
  z-index: 3;
  background: url(../images/slider_arrow_prev.svg) no-repeat;
  background-size: 100% auto;
  top: 50%;
  left: 50%;
  transform: translate(-242px, -50%);
  transition: 0.2s;
}
.campaign .campaign_list .slick-prev::before, .campaign .campaign_list .slick-prev::after,
.campaign .campaign_list .slick-next::before,
.campaign .campaign_list .slick-next::after {
  display: none;
}
.campaign .campaign_list .slick-prev:hover,
.campaign .campaign_list .slick-next:hover {
  opacity: 0.5;
}
@media only screen and (max-width: 768px) {
  .campaign .campaign_list .slick-prev,
  .campaign .campaign_list .slick-next {
    background-size: auto 100%;
    background-position: center;
    transform: translate(0, -50%);
  }
}
.campaign .campaign_list .slick-prev {
  left: 50%;
}
@media only screen and (max-width: 768px) {
  .campaign .campaign_list .slick-prev {
    left: -11px;
  }
}
.campaign .campaign_list .slick-next {
  background: url(../images/slider_arrow_next.svg) no-repeat;
  background-size: 100% auto;
  left: auto;
  right: 50%;
  transform: translate(251px, -50%);
}
@media only screen and (max-width: 768px) {
  .campaign .campaign_list .slick-next {
    right: -19px;
    background-size: auto 100%;
    background-position: center;
    transform: translate(0, -50%);
  }
}
.campaign .campaign_list .slick-dots {
  position: relative;
  margin-top: 40px;
  bottom: initial;
}
.campaign .campaign_list .slick-dots li {
  width: initial;
  height: inherit;
}
.campaign .campaign_list .slick-dots li button {
  width: initial;
  height: inherit;
  font-size: 22px;
  color: #fff;
  text-decoration: underline;
  font-weight: bold;
  background: initial;
  width: 44px;
  height: 44px;
}
.campaign .campaign_list .slick-dots li button:before {
  content: none;
}
.campaign .campaign_list .slick-dots li.slick-active button {
  text-decoration: none;
  background-color: #fff;
  color: #b68933;
  border-radius: 2px;
}
.campaign .campaign_list .slick-track {
  display: flex;
  align-items: stretch;
}
.campaign .campaign_list .slick-slide {
  transform: scale(88.88%);
  position: relative;
  width: 333px;
  height: auto;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  margin: 0 10px;
  padding: 0 0 20px 0;
}
.campaign .campaign_list .slick-slide > div {
  height: 100%;
}
.campaign .campaign_list .slick-slide.slick-active {
  transform: scale(100%);
}
.campaign .campaign_list .slick-slide li {
  height: 100%;
  display: flex !important;
  flex-direction: column;
}
@media only screen and (max-width: 768px) {
  .campaign .campaign_list .slick-slide {
    width: initial;
    margin: 0 10px;
    transform: scale(100%);
  }
}
.campaign .campaign_list .slick-slide img {
  margin-bottom: 20px;
}
.campaign .campaign_list .slick-slide p {
  margin: 0 0 20px;
  padding: 0 20px;
  flex-grow: 1;
  font-size: 18px;
}
@media only screen and (max-width: 768px) {
  .campaign .campaign_list .slick-slide p {
    font-size: 16px;
  }
}
.campaign .campaign_list .slick-slide a {
  position: relative;
  width: calc(100% - 40px);
  height: 40px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  background: #003288;
  border-radius: 4px;
}
@media only screen and (max-width: 768px) {
  .campaign .campaign_list .slick-slide a {
    font-size: 16px;
  }
}
.campaign .campaign_list .slick-slide a:after {
  content: "\f105";
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.campaign_modal {
  display: none;
  max-width: 580px;
  width: calc(100% - 40px);
  padding: 0;
  overflow: visible;
  border-radius: 4px;
}
.campaign_modal dl dt img {
  width: 100%;
  border-radius: 4px 4px 0 0;
}
.campaign_modal dl dd {
  padding: 20px;
  width: 100%;
}
.campaign_modal dl dd .ttl {
  margin-bottom: 20px;
  font-size: 18px;
}
@media only screen and (max-width: 768px) {
  .campaign_modal dl dd .ttl {
    font-size: 16px;
  }
}
.campaign_modal dl dd .txt {
  margin-bottom: 20px;
  font-size: 16px;
}
@media only screen and (max-width: 768px) {
  .campaign_modal dl dd .txt {
    font-size: 14px;
  }
}
.campaign_modal dl dd .sub {
  font-size: 14px;
}
@media only screen and (max-width: 768px) {
  .campaign_modal dl dd .sub {
    font-size: 10px;
  }
}

.video {
  background-image: url(../images/video_bg_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  .video {
    background-image: url(../images/video_bg_sp.jpg);
  }
}
.video .sec_inner {
  padding: 80px 0;
}
.video .sec_inner > div {
  width: 100%;
  padding-top: 56.327%;
  position: relative;
}
.video .sec_inner > div iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .video .sec_inner {
    padding: 20px;
  }
}

.years100 {
  background-image: url(../images/100years_bg_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .years100 {
    background-image: url(../images/100years_bg_sp.jpg);
  }
}
.years100 .sec_inner {
  padding-bottom: 60px;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner {
    padding: 0 20px 40px;
  }
}
.years100 .sec_inner .lead {
  text-align: center;
  width: 100%;
}
.years100 .sec_inner .lead p {
  font-size: 24px;
  color: #fff;
  font-weight: bold;
  line-height: 1.6em;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner .lead p {
    font-size: 18px;
    font-weight: normal;
  }
}
.years100 .sec_inner .lead p.sub {
  font-size: 12px;
  margin-top: 10px;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner .lead p.sub {
    ont-size: 10px;
  }
}
.years100 .sec_inner .years100_map {
  padding: 60px 0;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner .years100_map {
    padding: 40px 0;
  }
}
.years100 .sec_inner .about .ttl {
  border: 2px solid #fff;
  text-align: center;
  width: 100%;
  padding: 17px 0;
  background: #0d2d64;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner .about .ttl {
    padding: 10px;
    border: 1px solid #fff;
  }
}
.years100 .sec_inner .about .ttl p {
  font-size: 24px;
  color: #fff;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner .about .ttl p {
    font-size: 18px;
    font-weight: normal;
  }
}
.years100 .sec_inner .about .ttl p.sub {
  font-size: 12px;
  margin-top: 10px;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner .about .ttl p.sub {
    font-size: 10px;
  }
}
.years100 .sec_inner .about dl {
  margin: 0 auto;
  display: flex;
  align-items: center;
  background: #fff;
  width: 100%;
  padding: 1em 0;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner .about dl {
    margin: 0 auto;
    display: block;
    height: auto;
    padding: 0;
  }
}
.years100 .sec_inner .about dl dt {
  width: 13%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.years100 .sec_inner .about dl dt img {
  height: 60px;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner .about dl dt {
    width: 100%;
    height: 60px;
    padding: 10px 0;
  }
  .years100 .sec_inner .about dl dt img {
    height: 40px;
  }
}
.years100 .sec_inner .about dl dd {
  width: 80%;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner .about dl dd {
    width: 100%;
    padding: 0 10px 10px;
  }
}
.years100 .sec_inner .about dl dd p {
  font-size: 22px;
  line-height: 1.5;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner .about dl dd p {
    font-size: 14px;
    text-align: center;
  }
}
.years100 .sec_inner .about .notice {
  padding: 1em;
  text-align: center;
  background-color: #ccc;
}
.years100 .sec_inner .about .notice .subt {
  font-size: 18px;
  line-height: 1.5;
  font-weight: bold;
  color: #db002a;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner .about .notice .subt {
    font-size: 14px;
  }
}
.years100 .sec_inner .about .notice .subt img {
  width: 3%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner .about .notice .subt img {
    width: 8%;
  }
}
.years100 .sec_inner .about .notice p {
  margin-top: 10px;
  font-size: 18px;
  line-height: 1.5;
}
@media only screen and (max-width: 768px) {
  .years100 .sec_inner .about .notice p {
    font-size: 14px;
  }
}
.years100 > a {
  position: relative;
  max-width: 480px;
  height: 64px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #003288;
  border: 1px solid #fff;
  color: #fff;
  font-size: 20px;
  margin: 40px auto 0;
  transition: 0.2s;
}
@media only screen and (max-width: 768px) {
  .years100 > a {
    width: calc(100% - 40px);
    height: 48px;
    font-size: 16px;
    margin: 20px auto 0;
  }
}
.years100 > a:after {
  content: "\f105";
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.years100 > a:hover {
  background-color: #fff;
  border: 1px solid #003288;
  color: #003288;
}

.st {
  padding: 0;
}
.st .st_inner {
  position: relative;
  padding-top: 80px;
  background-image: url(../images/st_bg_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  .st .st_inner {
    padding: 50px 0 0;
    background-image: url(../images/st_bg_sp.jpg);
  }
}
.st .st_inner .sec_inner {
  padding-bottom: 154px;
}
@media only screen and (max-width: 768px) {
  .st .st_inner .sec_inner {
    padding: 0 20px 120px;
  }
}
.st .st_inner .sec_inner .lead {
  border: 2px solid #fff;
  text-align: center;
  width: 100%;
  padding: 17px 0;
  background: #0d2d64;
}
@media only screen and (max-width: 768px) {
  .st .st_inner .sec_inner .lead {
    padding: 10px;
    border: 1px solid #fff;
  }
}
.st .st_inner .sec_inner .lead p {
  font-size: 24px;
  color: #fff;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .st .st_inner .sec_inner .lead p {
    font-size: 18px;
    font-weight: normal;
  }
}
.st .st_inner .sec_inner .lead p.sub {
  font-size: 12px;
  margin-top: 10px;
}
@media only screen and (max-width: 768px) {
  .st .st_inner .sec_inner .lead p.sub {
    font-size: 10px;
  }
}
.st .st_inner .sec_inner .lead_inner {
  text-align: center;
  width: 100%;
  padding: 17px 0;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  .st .st_inner .sec_inner .lead_inner {
    padding: 10px;
    border: 1px solid #fff;
  }
}
.st .st_inner .sec_inner .lead_inner p {
  font-size: 24px;
  color: #0d2d64;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .st .st_inner .sec_inner .lead_inner p {
    font-size: 18px;
    font-weight: normal;
  }
}
.st .st_inner .sec_inner .lead_inner p.sub {
  font-size: 12px;
  color: #000;
  font-weight: normal;
  margin-top: 10px;
}
@media only screen and (max-width: 768px) {
  .st .st_inner .sec_inner .lead_inner p.sub {
    font-size: 10px;
  }
}
.st .st_inner .sec_inner > p {
  margin-top: 15px;
  text-align: center;
  color: #fff;
  font-size: 16px;
}
@media only screen and (max-width: 768px) {
  .st .st_inner .sec_inner > p {
    font-size: 14px;
  }
}
.st .st_inner .sec_inner dl {
  margin: 25px auto 0;
  display: flex;
  align-items: center;
  background: #fff;
  width: 100%;
  height: 120px;
}
@media only screen and (max-width: 768px) {
  .st .st_inner .sec_inner dl {
    margin: 20px auto 0;
    display: block;
    height: auto;
  }
}
.st .st_inner .sec_inner dl dt {
  width: 220px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.st .st_inner .sec_inner dl dt img {
  height: 37px;
}
@media only screen and (max-width: 768px) {
  .st .st_inner .sec_inner dl dt {
    width: 100%;
    height: 40px;
  }
  .st .st_inner .sec_inner dl dt img {
    height: 22px;
  }
}
.st .st_inner .sec_inner dl dd {
  width: calc(100% - 220px);
  padding: 0 20px;
}
@media only screen and (max-width: 768px) {
  .st .st_inner .sec_inner dl dd {
    width: 100%;
    padding: 10px;
  }
}
.st .st_inner .sec_inner dl dd p {
  font-size: 18px;
  line-height: 1.5;
}
@media only screen and (max-width: 768px) {
  .st .st_inner .sec_inner dl dd p {
    font-size: 14px;
  }
}
.st .st_inner .sec_inner dl.member_01 dt {
  background-color: #b68933;
}
.st .st_inner .sec_inner dl.member_02 dt {
  background-color: #db002a;
}
.st .st_tab {
  position: relative;
  width: 980px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: -100px auto 0;
  z-index: 10;
}
@media only screen and (max-width: 768px) {
  .st .st_tab {
    width: 100%;
    margin: -88px auto 0;
  }
}
.st .st_tab li {
  width: calc(50% - 10px);
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px 0;
  cursor: pointer;
  overflow: hidden;
  text-indent: -99999px;
}
@media only screen and (max-width: 768px) {
  .st .st_tab li {
    width: calc(50% - 5px);
    height: 60px;
  }
}
.st .st_tab li:before {
  content: "";
  display: block;
  height: 37px;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  .st .st_tab li:before {
    height: 22px;
  }
}
.st .st_tab li.current {
  margin: 0;
  height: 100px;
  padding-bottom: 8px;
}
@media only screen and (max-width: 768px) {
  .st .st_tab li.current {
    height: 88px;
  }
}
.st .st_tab li:first-child {
  background-color: #b68933;
}
.st .st_tab li:first-child:before {
  width: 153px;
  background-image: url(../images/st_txt_01_w.svg);
}
@media only screen and (max-width: 768px) {
  .st .st_tab li:first-child:before {
    width: 94px;
  }
}
.st .st_tab li:first-child.current {
  background-color: #fff;
  border-top: 8px solid #b68933;
}
.st .st_tab li:first-child.current:before {
  background-image: url(../images/st_txt_01_g.svg);
}
.st .st_tab li:last-child {
  background-color: #db002a;
}
.st .st_tab li:last-child:before {
  width: 187px;
  background-image: url(../images/st_txt_02_w.svg);
}
@media only screen and (max-width: 768px) {
  .st .st_tab li:last-child:before {
    width: 114px;
  }
}
.st .st_tab li:last-child.current {
  background-color: #fff;
  border-top: 8px solid #db002a;
}
.st .st_tab li:last-child.current:before {
  background-image: url(../images/st_txt_02_r.svg);
}
.st .tab_box {
  width: 100%;
  background-color: #fff;
}
.st .tab_box .sec_inner {
  padding: 60px 0;
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner {
    padding: 40px 20px;
  }
}
.st .tab_box .sec_inner .seat_list {
  width: 100%;
  padding: 25px;
  background-color: #f4f6f8;
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner .seat_list {
    padding: 10px;
  }
}
.st .tab_box .sec_inner .seat_list p {
  text-align: center;
  font-size: 24px;
  color: #000;
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner .seat_list p {
    font-size: 16px;
  }
}
.st .tab_box .sec_inner .seat_list ul {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner .seat_list ul {
    margin-top: 10px;
  }
}
.st .tab_box .sec_inner .seat_list ul li {
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  padding: 5px 12px;
  border-radius: 2px;
  margin: 10px 10px 0 0;
  text-align: center;
}
.st .tab_box .sec_inner .seat_list ul li:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner .seat_list ul li {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    width: calc(25% - 3px);
    font-size: 12px;
    padding: 0;
    margin: 4px 4px 0 0;
  }
  .st .tab_box .sec_inner .seat_list ul li:nth-child(4n) {
    margin-right: 0;
  }
}
.st .tab_box .sec_inner h3 {
  margin: 50px auto 40px;
  text-align: center;
}
.st .tab_box .sec_inner h3 img {
  height: 37px;
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner h3 {
    margin: 40px auto 20px;
  }
  .st .tab_box .sec_inner h3 img {
    height: 30px;
  }
}
.st .tab_box .sec_inner .text {
  margin: 0 0 40px;
  text-align: center;
}
.st .tab_box .sec_inner .text p {
  font-size: 18px;
  color: #000;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner .text p {
    font-size: 16px;
    font-weight: normal;
  }
}
.st .tab_box .sec_inner .text p.sub {
  font-size: 16px;
  color: #000;
  font-weight: normal;
  margin-top: 10px;
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner .text p.sub {
    font-size: 14px;
  }
}
.st .tab_box .sec_inner .icon_list {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner .icon_list {
    display: block;
  }
}
.st .tab_box .sec_inner .icon_list li {
  width: calc(25% - 30px);
  margin: 0 20px;
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner .icon_list li {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner .icon_list li dl {
    display: flex;
    align-items: center;
    margin: 20px 0 0;
  }
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner .icon_list li dl dt {
    width: 50%;
    padding-right: 5px;
  }
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner .icon_list li dl dd {
    width: 50%;
    padding-left: 5px;
  }
}
.st .tab_box .sec_inner .icon_list li dl dd h4 {
  font-size: 18px;
  font-weight: bold;
  color: #003288;
  text-align: center;
  margin: 15px 0;
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner .icon_list li dl dd h4 {
    font-size: 16px;
    text-align: left;
    margin: 0 0 15px;
  }
}
.st .tab_box .sec_inner .icon_list li dl dd p {
  font-size: 16px;
}
@media only screen and (max-width: 768px) {
  .st .tab_box .sec_inner .icon_list li dl dd p {
    font-size: 14px;
  }
}

.sp {
  padding: 0;
  background: #fff;
}
.sp .sp_inner {
  position: relative;
  padding: 80px 0 72px;
  background-image: url(../images/sp_bg_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  .sp .sp_inner {
    padding: 50px 0 72px;
    background-image: url(../images/sp_bg_sp.jpg);
  }
}
.sp .sp_inner .scroll_icon {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 15;
  display: none;
}
@media only screen and (max-width: 768px) {
  .sp .sp_inner .scroll_icon {
    display: block;
  }
}
.sp .sp_list {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 980px;
  margin: -72px auto 0;
  z-index: 10;
}
@media only screen and (max-width: 768px) {
  .sp .sp_list {
    width: 100%;
    overflow-x: scroll;
  }
}
.sp .sp_list li {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 67px;
  height: 60px;
  cursor: pointer;
  margin: 8px 0 4px;
  color: #fff;
  font-size: 10px;
  font-weight: bold;
  transition: 0.2s;
}
@media only screen and (max-width: 768px) {
  .sp .sp_list li {
    min-width: 67px;
    margin-right: 8px;
  }
  .sp .sp_list li:last-child {
    margin-right: 0 !important;
  }
}
.sp .sp_list li.current {
  height: 72px;
  margin: 0;
  border-top: 4px solid #000;
  background-color: #fff;
  color: #000;
}
@media only screen and (max-width: 768px) {
  .sp .sp_list li.current {
    margin-right: 8px;
  }
}
.sp .sp_list li.current.all {
  border-top: 4px solid #003288;
}
.sp .sp_list li.current.dx_seat {
  color: #987a26;
  border-top: 4px solid #987a26;
}
.sp .sp_list li.current.counter_seat {
  color: #772a2e;
  border-top: 4px solid #772a2e;
}
.sp .sp_list li.current.counter_seat {
  color: #772a2e;
  border-top: 4px solid #772a2e;
}
.sp .sp_list li.current.pair_seat {
  color: #fe5f91;
  border-top: 4px solid #fe5f91;
}
.sp .sp_list li.current.main_s3 {
  color: #d5ab44;
  border-top: 4px solid #d5ab44;
}
.sp .sp_list li.current.main_s2 {
  color: #ca1a45;
  border-top: 4px solid #ca1a45;
}
.sp .sp_list li.current.main_sa {
  color: #59c4f2;
  border-top: 4px solid #59c4f2;
}
.sp .sp_list li.current.back_sb {
  color: #02833d;
  border-top: 4px solid #02833d;
}
.sp .sp_list li.current.back_sc {
  color: #d0b951;
  border-top: 4px solid #d0b951;
}
.sp .sp_list li.current.back_upper {
  color: #c87b00;
  border-top: 4px solid #c87b00;
}
.sp .sp_list li.current.main_side {
  color: #8e4c8f;
  border-top: 4px solid #8e4c8f;
}
.sp .sp_list li.current.back_side {
  color: #7a1f6d;
  border-top: 4px solid #7a1f6d;
}
.sp .sp_list li.current.supporter {
  color: #024292;
  border-top: 4px solid #024292;
}
.sp .tab_contents_wrap {
  background: #fff;
}
.sp .tab_contents_wrap .tab_contents {
  display: none;
  margin: 17px 0 0;
  padding: 70px 0 120px;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents {
    padding: 40px 0 80px;
  }
}
.sp .tab_contents_wrap .tab_contents.tab_active {
  display: block;
}
.sp .tab_contents_wrap .tab_contents h3 {
  font-weight: normal;
  font-size: 40px;
  margin: 0 auto 35px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents h3 {
    font-size: 26px;
  }
}
.sp .tab_contents_wrap .tab_contents .text {
  margin: 0 0 40px;
  text-align: center;
}
.sp .tab_contents_wrap .tab_contents .text p {
  font-size: 16px;
  color: #000;
  font-weight: normal;
  margin-top: 10px;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents .text p {
    font-size: 14px;
  }
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner {
  width: 980px;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents .tab_contents_inner {
    display: block;
    width: 100%;
    padding: 0 20px;
  }
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner > dl {
  width: 470px;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents .tab_contents_inner > dl {
    width: 100%;
    margin-bottom: 20px;
  }
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner > dl dt {
  margin-bottom: 15px;
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner > dl dt img {
  width: 100%;
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner > dl dd ul li {
  font-size: 12px;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents .tab_contents_inner > dl dd ul li {
    font-size: 10px;
  }
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area {
  width: 470px;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area {
    width: 100%;
  }
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dt .slick-slider {
  font-size: 0;
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dt .sp_tab_slider li img {
  width: 100%;
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dt .sp_thum_slider {
  margin-top: 4px;
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dt .sp_thum_slider .slick-slide {
  width: calc(25% - 3px) !important;
  margin-right: 4px;
  background-color: #003288;
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dt .sp_thum_slider .slick-slide > div {
  opacity: 0.4;
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dt .sp_thum_slider .slick-slide:last-child {
  margin-right: 0;
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dt .sp_thum_slider .slick-slide img {
  width: 100%;
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dt .sp_thum_slider .slick-slide.slick-current > div {
  opacity: 1;
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dt .sp_thum_slider .slick-track {
  width: 100% !important;
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dd h4 {
  font-size: 24px;
  margin: 20px 0 15px;
  font-weight: normal;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dd h4 {
    font-size: 20px;
  }
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dd > p {
  font-size: 16px;
  margin: 0 0 20px;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dd > p {
    font-size: 14px;
  }
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dd ul {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dd ul li {
  width: 225px;
  height: 60px;
  display: flex;
  align-items: center;
  background-color: #fff;
  margin: 0 0 20px 0;
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dd ul li:nth-child(odd) {
  margin: 0 20px 20px 0;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dd ul li {
    width: calc(50% - 10px);
    height: 48px;
  }
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dd ul li .sub_txt {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 24px;
  height: 100%;
  width: 80px;
  margin-right: 20px;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dd ul li .sub_txt {
    font-size: 16px;
    height: 48px;
    width: 48px;
  }
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dd ul li p {
  font-size: 24px;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents .tab_contents_inner .right_area dl dd ul li p {
    font-size: 20px;
  }
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner + a {
  display: block;
  width: 480px;
  height: 80px;
  margin: 50px auto 0;
  padding: 6px;
  border-radius: 4px;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.32);
  background-color: #003288;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents .tab_contents_inner + a {
    width: calc(100% - 40px);
    height: 60px;
    margin: 40px auto 0;
    border-radius: 8px;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.32);
  }
}
@media only screen and (min-width: 768px) {
  .sp .tab_contents_wrap .tab_contents .tab_contents_inner + a:hover {
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.8);
  }
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner + a span {
  position: relative;
  font-size: 28px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 2px solid #fff;
  border-radius: 2px;
  background-color: #db002a;
}
@media only screen and (max-width: 768px) {
  .sp .tab_contents_wrap .tab_contents .tab_contents_inner + a span {
    font-size: 24px;
    border-radius: 4px;
  }
}
.sp .tab_contents_wrap .tab_contents .tab_contents_inner + a span:after {
  content: "\f105";
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.sp .tab_contents_wrap .tab_contents#all_area {
  background-color: #efefef;
}
.sp .tab_contents_wrap .tab_contents#all_area h3,
.sp .tab_contents_wrap .tab_contents#all_area h4 {
  color: #003288;
}
.sp .tab_contents_wrap .tab_contents#all_area .sub_txt {
  background-color: #003288;
}
.sp .tab_contents_wrap .tab_contents#dx_seat_area {
  background-color: #fff6dc;
}
.sp .tab_contents_wrap .tab_contents#dx_seat_area h3,
.sp .tab_contents_wrap .tab_contents#dx_seat_area h4 {
  color: #987a26;
}
.sp .tab_contents_wrap .tab_contents#dx_seat_area .sub_txt {
  background-color: #987a26;
}
.sp .tab_contents_wrap .tab_contents#counter_seat_area {
  background-color: #e5cfd0;
}
.sp .tab_contents_wrap .tab_contents#counter_seat_area h3,
.sp .tab_contents_wrap .tab_contents#counter_seat_area h4 {
  color: #772a2e;
}
.sp .tab_contents_wrap .tab_contents#counter_seat_area .sub_txt {
  background-color: #772a2e;
}
.sp .tab_contents_wrap .tab_contents#counter_seat_area {
  background-color: #e5cfd0;
}
.sp .tab_contents_wrap .tab_contents#counter_seat_area h3,
.sp .tab_contents_wrap .tab_contents#counter_seat_area h4 {
  color: #772a2e;
}
.sp .tab_contents_wrap .tab_contents#counter_seat_area .sub_txt {
  background-color: #772a2e;
}
.sp .tab_contents_wrap .tab_contents#pair_seat_area {
  background-color: #ffe9f0;
}
.sp .tab_contents_wrap .tab_contents#pair_seat_area h3,
.sp .tab_contents_wrap .tab_contents#pair_seat_area h4 {
  color: #fe5f91;
}
.sp .tab_contents_wrap .tab_contents#pair_seat_area .sub_txt {
  background-color: #fe5f91;
}
.sp .tab_contents_wrap .tab_contents#main_s3_area {
  background-color: #fff8e5;
}
.sp .tab_contents_wrap .tab_contents#main_s3_area h3,
.sp .tab_contents_wrap .tab_contents#main_s3_area h4 {
  color: #d5ab44;
}
.sp .tab_contents_wrap .tab_contents#main_s3_area .sub_txt {
  background-color: #d5ab44;
}
.sp .tab_contents_wrap .tab_contents#main_s2_area {
  background-color: #ffecf1;
}
.sp .tab_contents_wrap .tab_contents#main_s2_area h3,
.sp .tab_contents_wrap .tab_contents#main_s2_area h4 {
  color: #ca1a45;
}
.sp .tab_contents_wrap .tab_contents#main_s2_area .sub_txt {
  background-color: #ca1a45;
}
.sp .tab_contents_wrap .tab_contents#main_sa_area {
  background-color: #eaf9ff;
}
.sp .tab_contents_wrap .tab_contents#main_sa_area h3,
.sp .tab_contents_wrap .tab_contents#main_sa_area h4 {
  color: #59c4f2;
}
.sp .tab_contents_wrap .tab_contents#main_sa_area .sub_txt {
  background-color: #59c4f2;
}
.sp .tab_contents_wrap .tab_contents#back_sb_area {
  background-color: #e7fff2;
}
.sp .tab_contents_wrap .tab_contents#back_sb_area h3,
.sp .tab_contents_wrap .tab_contents#back_sb_area h4 {
  color: #02833d;
}
.sp .tab_contents_wrap .tab_contents#back_sb_area .sub_txt {
  background-color: #02833d;
}
.sp .tab_contents_wrap .tab_contents#back_sc_area {
  background-color: #fffbe9;
}
.sp .tab_contents_wrap .tab_contents#back_sc_area h3,
.sp .tab_contents_wrap .tab_contents#back_sc_area h4 {
  color: #d0b951;
}
.sp .tab_contents_wrap .tab_contents#back_sc_area .sub_txt {
  background-color: #d0b951;
}
.sp .tab_contents_wrap .tab_contents#back_upper_area {
  background-color: #fff5e4;
}
.sp .tab_contents_wrap .tab_contents#back_upper_area h3,
.sp .tab_contents_wrap .tab_contents#back_upper_area h4 {
  color: #c87b00;
}
.sp .tab_contents_wrap .tab_contents#back_upper_area .sub_txt {
  background-color: #c87b00;
}
.sp .tab_contents_wrap .tab_contents#main_side_area {
  background-color: #ffebff;
}
.sp .tab_contents_wrap .tab_contents#main_side_area h3,
.sp .tab_contents_wrap .tab_contents#main_side_area h4 {
  color: #8e4c8f;
}
.sp .tab_contents_wrap .tab_contents#main_side_area .sub_txt {
  background-color: #8e4c8f;
}
.sp .tab_contents_wrap .tab_contents#back_side_area {
  background-color: #ffe9fc;
}
.sp .tab_contents_wrap .tab_contents#back_side_area h3,
.sp .tab_contents_wrap .tab_contents#back_side_area h4 {
  color: #7a1f6d;
}
.sp .tab_contents_wrap .tab_contents#back_side_area .sub_txt {
  background-color: #7a1f6d;
}
.sp .tab_contents_wrap .tab_contents#supporter_area {
  background-color: #eef5ff;
}
.sp .tab_contents_wrap .tab_contents#supporter_area h3,
.sp .tab_contents_wrap .tab_contents#supporter_area h4 {
  color: #024292;
}
.sp .tab_contents_wrap .tab_contents#supporter_area .sub_txt {
  background-color: #024292;
}

.pl {
  background-image: url(../images/pl_bg_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  .pl {
    background-image: url(../images/pl_bg_sp.jpg);
  }
}
.pl .lead {
  border: 2px solid #fff;
  text-align: center;
  width: 100%;
  padding: 17px 0;
  background: #0d2d64;
}
@media only screen and (max-width: 768px) {
  .pl .lead {
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 10px;
    border: 1px solid #fff;
  }
}
.pl .lead p {
  font-size: 24px;
  color: #fff;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .pl .lead p {
    font-size: 18px;
    font-weight: normal;
  }
}
.pl .lead p.sub {
  font-size: 12px;
  margin-top: 10px;
}
@media only screen and (max-width: 768px) {
  .pl .lead p.sub {
    font-size: 10px;
  }
}
.pl .lead_inner {
  text-align: center;
  width: 100%;
  padding: 17px 0;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  .pl .lead_inner {
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 10px;
    border: 1px solid #fff;
  }
}
.pl .lead_inner p {
  font-size: 24px;
  color: #0d2d64;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .pl .lead_inner p {
    font-size: 18px;
    font-weight: normal;
  }
}
.pl .lead_inner p.sub {
  font-size: 12px;
  color: #000;
  font-weight: normal;
  margin-top: 10px;
}
@media only screen and (max-width: 768px) {
  .pl .lead_inner p.sub {
    font-size: 10px;
  }
}
.pl .pl_inner {
  margin: 45px auto 0;
  padding: 45px 20px;
  background: rgba(0, 0, 0, 0.2);
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .pl .pl_inner {
    margin: 40px auto 0;
    padding: 40px 20px;
  }
}
.pl .pl_inner h3 {
  text-align: center;
}
.pl .pl_inner h3 img {
  height: 37px;
}
@media only screen and (max-width: 768px) {
  .pl .pl_inner h3 img {
    height: 30px;
  }
}
.pl .pl_inner h3 + p {
  margin: 20px 0 0;
  font-size: 18px;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .pl .pl_inner h3 + p {
    margin: 15px 0 0;
    font-size: 16px;
  }
}
.pl .pl_inner h3 + p img {
  width: 22%;
  height: auto;
  margin-left: 1em;
}
.pl .pl_inner picture {
  display: block;
  width: 100%;
  margin: 30px 0 0;
}
@media only screen and (max-width: 768px) {
  .pl .pl_inner picture {
    margin: 20px 0 0;
  }
}
.pl .pl_inner picture img {
  width: 100%;
}
.pl .pl_inner picture + p {
  text-align: right;
  color: #fff;
  font-size: 14px;
  margin: 15px 0;
}
@media only screen and (max-width: 768px) {
  .pl .pl_inner picture + p {
    font-size: 12px;
    margin: 10px 0;
  }
}
.pl .pl_inner > div {
  display: flex;
  align-items: start;
  margin: 15px 0 40px;
}
@media only screen and (max-width: 768px) {
  .pl .pl_inner > div {
    margin: 10px 0 40px;
  }
}
.pl .pl_inner > div img {
  width: 42px;
  margin: 0 15px 0 0;
}
@media only screen and (max-width: 768px) {
  .pl .pl_inner > div img {
    width: 34px;
    margin: 0 10px 0 0;
  }
}
.pl .pl_inner > div p {
  font-size: 16px;
  color: #fff;
  text-align: left;
}
.pl .pl_inner > div p span {
  font-size: 14px;
}
@media only screen and (max-width: 768px) {
  .pl .pl_inner > div p {
    font-size: 14px;
  }
  .pl .pl_inner > div p span {
    font-size: 12px;
  }
}

.service {
  background-color: #fff;
}
.service ul {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  width: 980px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .service ul {
    width: 100%;
    display: block;
    padding: 0 20px;
  }
}
.service ul li {
  display: flex;
  flex-direction: column;
  width: 164px;
}
@media only screen and (max-width: 768px) {
  .service ul li {
    width: 100%;
    margin: 0 auto;
  }
}
.service ul li img {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .service ul li img {
    width: 120px;
  }
}
.service ul li a > div {
  font-size: 18px;
  text-align: center;
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #003288;
  flex-grow: 1;
}
@media only screen and (max-width: 768px) {
  .service ul li a > div {
    width: calc(100% - 120px);
    padding-left: 10px;
    font-size: 20px;
    justify-content: left;
    text-align: left;
  }
}
.service ul li a > div p {
  margin: 0 10px 0 0;
}
.service ul li a > div:after {
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.service ul li a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 768px) {
  .service ul li a {
    width: 100%;
    display: flex;
    margin: 0 auto 10px;
    flex-direction: initial;
    align-items: center;
  }
}
.service_fancybox {
  display: none;
  max-width: 720px;
  width: calc(100% - 40px);
  border-radius: 20px;
  border: 4px solid #fff;
  background-color: #003288;
  padding: 30px;
  color: #fff;
  overflow: visible;
}
@media only screen and (max-width: 768px) {
  .service_fancybox {
    padding: 20px;
  }
}
.service_fancybox dl {
  display: flex;
  align-items: start;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  .service_fancybox dl {
    align-items: center;
  }
}
.service_fancybox dl dt {
  width: 164px;
}
@media only screen and (max-width: 768px) {
  .service_fancybox dl dt {
    width: 88px;
  }
}
.service_fancybox dl dt img {
  width: 100%;
}
.service_fancybox dl dd {
  width: calc(100% - 164px);
  padding-left: 30px;
}
@media only screen and (max-width: 768px) {
  .service_fancybox dl dd {
    width: calc(100% - 88px);
    padding-left: 20px;
  }
}
.service_fancybox dl dd .ttl {
  font-size: 24px;
  margin-bottom: 5px;
}
@media only screen and (max-width: 768px) {
  .service_fancybox dl dd .ttl {
    font-size: 18px;
  }
}
.service_fancybox dl dd .sub_ttl {
  font-size: 14px;
  margin-bottom: 20px;
  color: #003288;
  background: #fff;
  padding: 2px 10px;
  font-weight: bold;
  display: block;
  width: fit-content;
  border-radius: 3px;
}
@media only screen and (max-width: 768px) {
  .service_fancybox dl dd .sub_ttl {
    font-size: 12px;
    margin-bottom: 0;
  }
}
.service_fancybox dl dd .txt {
  font-size: 16px;
}
@media only screen and (max-width: 768px) {
  .service_fancybox dl dd .txt {
    display: none;
  }
}
.service_fancybox dl dd .txt span {
  display: block;
  font-size: 12px;
  margin-top: 10px;
}
.service_fancybox > .txt {
  font-size: 14px;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .service_fancybox > .txt {
    display: none;
  }
}
.service_fancybox > .txt span {
  display: block;
  font-size: 10px;
  margin-top: 10px;
}
.service_fancybox > a {
  position: relative;
  max-width: 264px;
  height: 48px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #fff;
  color: #003288;
  font-size: 20px;
  margin: 0 auto;
  transition: 0.2s;
}
@media only screen and (max-width: 768px) {
  .service_fancybox > a {
    font-size: 16px;
    width: 100%;
    height: 40px;
  }
}
.service_fancybox > a:after {
  content: "\f105";
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.service_fancybox > a:hover {
  opacity: 0.5;
}

.benefit {
  background-image: url(../images/benefit_bg_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 768px) {
  .benefit {
    background-image: url(../images/benefit_bg_sp.jpg);
  }
}
.benefit .sec_inner {
  width: 1060px;
}
@media only screen and (max-width: 768px) {
  .benefit .sec_inner {
    width: 100%;
    padding: 0 20px;
  }
}
.benefit .panel_list li {
  position: relative;
}
.benefit .panel_list li.closed .li_inner .img_wrap {
  position: relative;
  height: 100%;
}
.benefit .panel_list li.closed .li_inner .img_wrap img {
  filter: brightness(40%);
}
.benefit .panel_list li.closed .li_inner .img_wrap:before {
  content: "本キャンペーンは終了いたしました";
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 11;
  transform: translate(-50%, -50%);
  width: 155px;
}
.benefit .panel_list li .li_inner {
  position: relative;
  margin: 20px auto 40px;
  padding: 40px;
  background: #fff;
  border-radius: 4px;
  display: flex;
  justify-content: space-between;
  width: 100%;
  z-index: 10;
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li .li_inner {
    padding: 20px;
    display: block;
  }
}
.benefit .panel_list li .li_inner .panel_inner {
  margin-top: 20px;
  padding-right: 20px;
  width: calc(100% - 320px);
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li .li_inner .panel_inner {
    width: 100%;
    padding-right: 0;
    margin-bottom: 20px;
  }
}
.benefit .panel_list li .li_inner .panel_inner h3 {
  font-size: 24px;
  font-weight: normal;
  color: #003288;
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li .li_inner .panel_inner h3 {
    font-size: 20px;
  }
}
.benefit .panel_list li .li_inner .panel_inner .day {
  font-size: 20px;
  color: #db002a;
  margin: 10px 0 20px;
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li .li_inner .panel_inner .day {
    font-size: 16px;
  }
}
.benefit .panel_list li .li_inner .panel_inner .txt {
  font-size: 16px;
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li .li_inner .panel_inner .txt {
    font-size: 14px;
  }
}
.benefit .panel_list li .li_inner .panel_inner .txt span {
  font-size: 12px;
}
.benefit .panel_list li .li_inner img {
  width: 320px;
  height: 210px;
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li .li_inner img {
    width: 100%;
    height: auto;
  }
}
.benefit .panel_list li .li_inner img + img {
  margin-left: 20px;
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li .li_inner img + img {
    margin: 20px 0 0;
  }
}
.benefit .panel_list li .li_inner .close {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  z-index: 15;
}
.benefit .panel_list li .li_inner .close p {
  width: 160px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  background: #db002a;
  border: 4px solid #fff;
  color: #fff;
}
.benefit .panel_list li .li_inner:before {
  content: "";
  position: absolute;
  top: -20px;
  left: 40px;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 20;
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li .li_inner:before {
    top: -16px;
    left: 20px;
  }
}
.benefit .panel_list li.s01 .li_inner::before {
  width: 150px;
  height: 64px;
  background-image: url(../images/benefit_label_01_pc.svg);
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li.s01 .li_inner::before {
    width: 140px;
    height: 48px;
    background-image: url(../images/benefit_label_01_sp.svg);
  }
}
.benefit .panel_list li.s02 .li_inner::before {
  width: 150px;
  height: 64px;
  background-image: url(../images/benefit_label_02_pc.svg);
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li.s02 .li_inner::before {
    width: 140px;
    height: 48px;
    background-image: url(../images/benefit_label_02_sp.svg);
  }
}
.benefit .panel_list li.s03 .li_inner::before {
  width: 150px;
  height: 64px;
  background-image: url(../images/benefit_label_03_pc.svg);
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li.s03 .li_inner::before {
    width: 140px;
    height: 48px;
    background-image: url(../images/benefit_label_03_sp.svg);
  }
}
.benefit .panel_list li.shin .li_inner::before {
  width: 130px;
  height: 64px;
  background-image: url(../images/benefit_label_04_pc.svg);
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li.shin .li_inner::before {
    width: 130px;
    height: 48px;
    background-image: url(../images/benefit_label_04_sp.svg);
  }
}
.benefit .panel_list li.shin:after {
  background: #910c26;
}
.benefit .panel_list li.kei .li_inner::before {
  width: 130px;
  height: 64px;
  background-image: url(../images/benefit_label_05_pc.svg);
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li.kei .li_inner::before {
    width: 130px;
    height: 48px;
    background-image: url(../images/benefit_label_05_sp.svg);
  }
}
.benefit .panel_list li.kei:after {
  background: #83652b;
}
.benefit .panel_list li.shinki .li_inner::before {
  width: 130px;
  height: 64px;
  background-image: url(../images/benefit_label_07_pc.svg);
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li.shinki .li_inner::before {
    width: 130px;
    height: 48px;
    background-image: url(../images/benefit_label_07_sp.svg);
  }
}
.benefit .panel_list li.shinki:after {
  background: #83652b;
}
.benefit .panel_list li.dou .li_inner::before {
  width: 150px;
  height: 64px;
  background-image: url(../images/benefit_label_06_pc.svg);
}
@media only screen and (max-width: 768px) {
  .benefit .panel_list li.dou .li_inner::before {
    width: 140px;
    height: 48px;
    background-image: url(../images/benefit_label_06_sp.svg);
  }
}
.benefit .icon_list {
  display: flex;
  justify-content: center;
  width: 980px;
  margin: 60px auto 0;
}
@media only screen and (max-width: 768px) {
  .benefit .icon_list {
    width: 100%;
    padding: 0 20px;
    flex-wrap: wrap;
  }
}
.benefit .icon_list li {
  width: 130px;
  display: flex;
  flex-direction: column;
  margin-right: 20px;
}
@media only screen and (max-width: 768px) {
  .benefit .icon_list li {
    width: calc(33.33% - 13.3px);
    margin-bottom: 20px;
    margin-right: 19px;
  }
  .benefit .icon_list li:nth-child(3n) {
    margin-right: 0 !important;
  }
}
.benefit .icon_list li:last-child {
  margin-right: 0 !important;
}
.benefit .icon_list li img {
  width: 100%;
}
.benefit .icon_list li a {
  margin-top: 10px;
  color: #fff;
  font-size: 16px;
  text-decoration: underline;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-grow: 1;
  text-align: center;
}
.benefit .icon_list li a span {
  font-size: 12px;
}
@media only screen and (max-width: 768px) {
  .benefit .icon_list li a {
    display: block;
    font-size: 14px;
  }
}
.benefit_fancybox {
  display: none;
  max-width: 720px;
  width: calc(100% - 40px);
  border-radius: 20px;
  border: 4px solid #fff;
  background-color: #003288;
  padding: 30px;
  color: #fff;
  overflow: visible;
}
@media only screen and (max-width: 768px) {
  .benefit_fancybox {
    padding: 20px;
  }
}
.benefit_fancybox dl {
  display: flex;
  align-items: start;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  .benefit_fancybox dl {
    align-items: center;
  }
}
.benefit_fancybox dl dt {
  width: 164px;
}
@media only screen and (max-width: 768px) {
  .benefit_fancybox dl dt {
    width: 88px;
  }
}
.benefit_fancybox dl dt img {
  width: 100%;
}
.benefit_fancybox dl dd {
  width: calc(100% - 164px);
  padding-left: 30px;
}
@media only screen and (max-width: 768px) {
  .benefit_fancybox dl dd {
    width: calc(100% - 88px);
    padding-left: 20px;
  }
}
.benefit_fancybox dl dd .ttl {
  font-size: 24px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  .benefit_fancybox dl dd .ttl {
    font-size: 18px;
    margin-bottom: 0;
  }
}
.benefit_fancybox dl dd .ttl a {
  color: #fff;
  text-decoration: underline;
}
.benefit_fancybox dl dd .txt {
  font-size: 16px;
}
@media only screen and (max-width: 768px) {
  .benefit_fancybox dl dd .txt {
    display: none;
  }
}
.benefit_fancybox dl dd .txt span {
  display: block;
  font-size: 12px;
  margin-top: 10px;
}
.benefit_fancybox dl.no_txt {
  align-items: center;
}
.benefit_fancybox > .txt {
  font-size: 14px;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .benefit_fancybox > .txt {
    display: none;
  }
}
.benefit_fancybox > .txt span {
  display: block;
  font-size: 10px;
  margin-top: 10px;
}
.benefit_fancybox > a {
  position: relative;
  max-width: 264px;
  height: 48px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #fff;
  color: #003288;
  font-size: 20px;
  margin: 0 auto;
  transition: 0.2s;
}
@media only screen and (max-width: 768px) {
  .benefit_fancybox > a {
    font-size: 16px;
    width: 100%;
    height: 40px;
  }
}
.benefit_fancybox > a:after {
  content: "\f105";
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.benefit_fancybox > a:hover {
  opacity: 0.5;
}
.benefit > a {
  position: relative;
  max-width: 480px;
  height: 64px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #003288;
  border: 1px solid #fff;
  color: #fff;
  font-size: 20px;
  margin: 40px auto 0;
  transition: 0.2s;
}
@media only screen and (max-width: 768px) {
  .benefit > a {
    width: calc(100% - 40px);
    height: 48px;
    font-size: 16px;
    margin: 20px auto 0;
  }
}
.benefit > a:after {
  content: "\f105";
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.benefit > a:hover {
  background-color: #fff;
  border: 1px solid #003288;
  color: #003288;
}

.benefit_list {
  padding: 40px;
  background-color: #fff;
  border-radius: 4px;
}
@media only screen and (max-width: 768px) {
  .benefit_list {
    padding: 20px;
  }
}

.benefit_list_img {
  display: block;
}
.benefit_list_img img {
  width: 100%;
  height: auto;
}
.benefit_list_img.benefit_list_img + .benefit_list_img {
  margin-top: 40px;
}
@media only screen and (max-width: 768px) {
  .benefit_list_img.benefit_list_img + .benefit_list_img {
    margin-top: 20px;
  }
}

.schedule {
  background-color: #fff;
}
.schedule .sec_inner {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .schedule .sec_inner {
    padding: 0 20px;
  }
}
.schedule .sec_inner .schedule_inner {
  /*
  @include sp() {
      overflow-x: scroll;
      &::-webkit-scrollbar {
          height: 6px;
          background-color: #fff;
          border-radius: 6px;
      }
      &::-webkit-scrollbar-thumb {
          background: $color__accent;
          height: 6px;
          border-radius: 6px;
      }
      img {
          width: 650px;
      }
  }
  */
}
.schedule .sec_inner .schedule_inner img {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .schedule table tbody tr td:first-child {
    word-break: normal !important;
    width: 10%;
  }
}
.schedule table tbody tr td img {
  width: 80%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .schedule table tbody tr td img {
    width: 100%;
  }
}
.schedule table tbody tr td span img {
  width: 40% !important;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .schedule table tbody tr td span img {
    width: 90% !important;
  }
}
.schedule .schedule_sep {
  position: relative;
  overflow: hidden;
}
.schedule .schedule_sep .schedule_sep_left {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 153px;
  background-color: #fff;
}
.schedule .schedule_sep .schedule_sep_left img {
  width: 100%;
  height: auto;
}
.schedule .schedule_sep .schedule_sep_right {
  display: block;
  margin-left: 153px;
  overflow-x: scroll;
}
.schedule .schedule_sep .schedule_sep_right::-webkit-scrollbar {
  height: 6px;
  background-color: #fff;
  border-radius: 6px;
}
.schedule .schedule_sep .schedule_sep_right::-webkit-scrollbar-thumb {
  background: #003288;
  height: 6px;
  border-radius: 6px;
}
.schedule .schedule_sep .schedule_sep_right img {
  width: 497px;
  height: auto;
}
.schedule .schedule_sep .schedule_sep_right .schedule_scroll {
  position: absolute;
  width: 40px;
  height: 100%;
  top: 0;
  right: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  background: rgba(0, 50, 136, 0.8);
}
.schedule .schedule_sep .schedule_sep_right .schedule_scroll img {
  width: 36px;
}

.howto {
  background-image: url(../images/howto_bg_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .howto {
    background-image: url(../images/howto_bg_sp.jpg);
  }
}
.howto .howto_slider .slick-list {
  overflow: visible;
}
@media only screen and (max-width: 768px) {
  .howto .howto_slider .slick-list {
    overflow: visible;
    padding: 0 !important;
  }
}
.howto .howto_slider .slick-prev,
.howto .howto_slider .slick-next {
  position: absolute;
  width: 80px;
  height: 80px;
  z-index: 3;
  background: url(../images/slider_arrow_prev.svg) no-repeat;
  background-size: 100% auto;
  top: 50%;
  left: 50%;
  transform: translate(-495px, -50%);
  transition: 0.2s;
}
.howto .howto_slider .slick-prev::before, .howto .howto_slider .slick-prev::after,
.howto .howto_slider .slick-next::before,
.howto .howto_slider .slick-next::after {
  display: none;
}
.howto .howto_slider .slick-prev:hover,
.howto .howto_slider .slick-next:hover {
  opacity: 0.5;
}
@media only screen and (max-width: 768px) {
  .howto .howto_slider .slick-prev,
  .howto .howto_slider .slick-next {
    background-size: auto 100%;
    background-position: center;
    transform: translate(0, -50%);
  }
}
.howto .howto_slider .slick-prev {
  left: 50%;
}
@media only screen and (max-width: 768px) {
  .howto .howto_slider .slick-prev {
    left: -11px;
  }
}
.howto .howto_slider .slick-next {
  background: url(../images/slider_arrow_next.svg) no-repeat;
  background-size: 100% auto;
  left: auto;
  right: 50%;
  transform: translate(502px, -50%);
}
@media only screen and (max-width: 768px) {
  .howto .howto_slider .slick-next {
    right: -19px;
    background-size: auto 100%;
    background-position: center;
    transform: translate(0, -50%);
  }
}
.howto .howto_slider .slick-dots {
  position: relative;
  margin-top: 40px;
  bottom: initial;
}
.howto .howto_slider .slick-dots li {
  width: initial;
  height: inherit;
}
.howto .howto_slider .slick-dots li button {
  width: initial;
  height: inherit;
  font-size: 22px;
  color: #fff;
  text-decoration: underline;
  font-weight: bold;
  background: initial;
  width: 44px;
  height: 44px;
}
.howto .howto_slider .slick-dots li button:before {
  content: none;
}
.howto .howto_slider .slick-dots li.slick-active button {
  text-decoration: none;
  background-color: #fff;
  color: #b68933;
  border-radius: 2px;
}
.howto .howto_slider .slick-slide {
  width: 916px;
  height: auto !important;
  background: #fff;
  border-radius: 4px;
  padding: 40px;
  margin: 0 40px;
  box-shadow: 0 0 20px #0c224a;
}
@media only screen and (max-width: 768px) {
  .howto .howto_slider .slick-slide {
    width: 100%;
    padding: 20px;
    margin: 0 20px;
  }
}
.howto .howto_slider .slick-slide dl {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .howto .howto_slider .slick-slide dl {
    display: block;
  }
}
.howto .howto_slider .slick-slide dl dt {
  width: calc(50% - 20px);
}
@media only screen and (max-width: 768px) {
  .howto .howto_slider .slick-slide dl dt {
    width: 100%;
  }
}
.howto .howto_slider .slick-slide dl dt img {
  width: 100%;
}
.howto .howto_slider .slick-slide dl dd {
  width: calc(50% - 20px);
}
@media only screen and (max-width: 768px) {
  .howto .howto_slider .slick-slide dl dd {
    width: 100%;
    margin-bottom: 20px;
  }
}
.howto .howto_slider .slick-slide dl dd p {
  font-size: 16px;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .howto .howto_slider .slick-slide dl dd p {
    font-size: 14px;
  }
}
.howto .howto_slider .slick-slide h3 {
  font-size: 24px;
  color: #003288;
  font-weight: normal;
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  .howto .howto_slider .slick-slide h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
.howto .howto_slider .slick-slide h3 span {
  font-size: 42px;
  font-weight: bold;
  margin-right: 20px;
  vertical-align: sub;
  font-family: Oswald;
  line-height: 0;
}
@media only screen and (max-width: 768px) {
  .howto .howto_slider .slick-slide h3 span {
    font-size: 32px;
    margin-right: 10px;
  }
}
.howto .howto_slider .slick-track {
  display: flex;
  align-items: stretch;
}
.howto .howto_block {
  width: 90%;
  max-width: 916px;
  margin: 50px auto 0;
  padding: 40px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 0 20px #0c224a;
}
.howto .howto_block h3 {
  font-size: 24px;
  font-size: 2.4rem;
  color: #003288;
  margin-bottom: 20px;
}
.howto .howto_block dl {
  width: 100%;
  margin-bottom: 20px;
  line-height: 20px;
}
.howto .howto_block dt {
  padding: 0.5em 0;
  float: left;
}
.howto .howto_block dd {
  padding: 0.5em 0 0.5em 8em;
  border-top: solid 1px #0c224a;
}
.howto .howto_block dd:last-child {
  border-bottom: solid 1px #0c224a;
}
.howto .howto_block dd span {
  margin-left: 0.5em;
  font-size: 12px;
  font-size: 1.2rem;
}
.howto .howto_block > p {
  margin-bottom: 20px;
}
.howto .howto_block > p.annotation {
  font-size: 12px;
  font-size: 1.2rem;
  margin-top: -15px;
}
@media only screen and (max-width: 768px) {
  .howto .howto_block {
    padding: 20px;
    margin: 30px auto 0;
  }
  .howto .howto_block h3 {
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 10px;
  }
  .howto .howto_block dl {
    float: none;
  }
  .howto .howto_block dt {
    padding: 0.5em 0 0;
    font-weight: bold;
    border-top: solid 1px #0c224a;
    float: none;
  }
  .howto .howto_block dd {
    padding: 0 0 0.5em;
    border-top: none;
  }
  .howto .howto_block > p {
    margin-bottom: 10px;
  }
}
.howto .howto_block.closed {
  filter: brightness(30%);
}
.howto .closed_wrap {
  position: relative;
}
.howto .closed_wrap::before {
  content: "受付終了";
  color: #fff;
  font-weight: bold;
  font-size: 50px;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 11;
  transform: translate(-50%, -50%);
}

.qa {
  background-color: #e9edf4;
}
.qa h2 {
  width: 338px;
}
@media only screen and (max-width: 768px) {
  .qa h2 {
    width: 179px;
  }
}
@media only screen and (max-width: 768px) {
  .qa .sec_inner {
    padding: 0 20px;
  }
}
.qa .aco_list {
  width: 100%;
}
.qa .aco_list > li {
  width: 100%;
  background-color: #fff;
  border-radius: 8px;
  margin-bottom: 20px;
  cursor: pointer;
  position: relative;
}
.qa .aco_list > li .aco_btn {
  position: relative;
  width: 100%;
  height: 68px;
  padding: 0 60px 0 30px;
  display: flex;
  align-items: center;
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
  color: #003288;
  transition: 0.2s;
}
.qa .aco_list > li .aco_btn:hover {
  opacity: 0.5;
}
@media only screen and (max-width: 768px) {
  .qa .aco_list > li .aco_btn {
    height: auto;
    padding: 20px;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: left;
    padding: 10px 40px 10px 16px;
  }
}
.qa .aco_list > li .aco_btn::before, .qa .aco_list > li .aco_btn::after {
  content: "";
  display: block;
  position: absolute;
  width: 28px;
  height: 4px;
  border-radius: 2px;
  background-color: #003288;
  top: 50%;
  margin-top: -2px;
  right: 20px;
  transition: 0.2s;
}
@media only screen and (max-width: 768px) {
  .qa .aco_list > li .aco_btn::before, .qa .aco_list > li .aco_btn::after {
    width: 16px;
    right: 15px;
  }
}
.qa .aco_list > li .aco_btn::after {
  transform: rotate(90deg);
}
.qa .aco_list > li .aco_btn.open::after {
  transform: rotate(0deg);
}
.qa .aco_list > li .aco_btn img {
  width: 16px;
  margin-top: 5px;
  margin-right: 20px;
}
@media only screen and (max-width: 768px) {
  .qa .aco_list > li .aco_btn img {
    width: 13px;
    margin-right: 10px;
  }
}
.qa .aco_list > li .aco_box {
  display: none;
  width: 100%;
  padding: 0 30px 30px;
}
@media only screen and (max-width: 768px) {
  .qa .aco_list > li .aco_box {
    padding: 0 16px 16px;
  }
}
.qa .aco_list > li .aco_box .ab_inner {
  display: flex;
  align-items: start;
  padding: 25px 0;
  border-top: 2px solid #003288;
}
@media only screen and (max-width: 768px) {
  .qa .aco_list > li .aco_box .ab_inner {
    border-top: 1px solid #003288;
    padding: 16px 0;
  }
}
.qa .aco_list > li .aco_box .ab_inner img {
  width: 16px;
  margin-right: 20px;
}
@media only screen and (max-width: 768px) {
  .qa .aco_list > li .aco_box .ab_inner img {
    width: 13px;
    margin-right: 10px;
  }
}
.qa .aco_list > li .aco_box .btn {
  position: relative;
  border: 1px solid #fff;
  background-color: #b68933;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: bold;
  width: 260px;
  height: 40px;
  border-radius: 20px;
  margin: 0 0 0 auto;
}
@media only screen and (max-width: 768px) {
  .qa .aco_list > li .aco_box .btn {
    width: 180px;
    height: 30px;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.qa .aco_list > li .aco_box .btn::before, .qa .aco_list > li .aco_box .btn::after {
  content: "";
  display: block;
  position: absolute;
}
.qa .aco_list > li .aco_box .btn::before {
  border: 3px solid transparent;
  border-left: 5px solid #b68933 !important;
  z-index: 2;
  top: 16px;
  right: 12px;
}
@media only screen and (max-width: 768px) {
  .qa .aco_list > li .aco_box .btn::before {
    top: 11px;
    right: 8px;
  }
}
.qa .aco_list > li .aco_box .btn::after {
  background-color: #fff;
  width: 16px;
  height: 16px;
  border-radius: 8px;
  right: 10px;
}
@media only screen and (max-width: 768px) {
  .qa .aco_list > li .aco_box .btn::after {
    width: 14px;
    height: 14px;
    right: 7px;
  }
}
.qa .aco_list > li .aco_box .btn:hover {
  opacity: 0.5;
}
.qa > a {
  position: relative;
  max-width: 480px;
  height: 64px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #003288;
  color: #fff;
  font-size: 20px;
  margin: 40px auto 0;
  transition: 0.2s;
}
@media only screen and (max-width: 768px) {
  .qa > a {
    width: calc(100% - 40px);
    height: 48px;
    font-size: 16px;
    margin: 20px auto 0;
  }
}
.qa > a:after {
  content: "\f105";
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.qa > a + a {
  background-color: #fff;
  border: 1px solid #003288;
  color: #003288;
}
.qa > a:hover {
  opacity: 0.5;
}

.footer_bnr {
  width: 100%;
  padding: 0 40px 40px 0;
  right: 0;
  bottom: 0;
  position: sticky;
  z-index: 100;
  display: flex;
  justify-content: right;
}
@media only screen and (max-width: 768px) {
  .footer_bnr {
    position: sticky;
    border-bottom: none;
    background-color: initial;
    border: none;
    right: 0;
    bottom: 0;
    padding: 0;
  }
}
.footer_bnr a {
  display: block;
  width: 330px;
  height: 80px;
  padding: 6px;
  border-radius: 4px;
  background-color: #003288;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.32);
}
@media only screen and (max-width: 768px) {
  .footer_bnr a {
    border-radius: 0;
    width: 100%;
    height: 60px;
    border-radius: 0;
  }
}
@media only screen and (min-width: 768px) {
  .footer_bnr a:hover {
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.8);
  }
}
.footer_bnr a span {
  position: relative;
  font-size: 28px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 2px solid #fff;
  border-radius: 2px;
  background-color: #db002a;
}
@media only screen and (max-width: 768px) {
  .footer_bnr a span {
    font-size: 24px;
    border-radius: 4px;
  }
}
.footer_bnr a span:after {
  content: "\f105";
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.footer_bnr a.disabled {
  pointer-events: none;
  filter: grayscale(1);
}

@media only screen and (max-width: 768px) {
  #pageTop {
    width: 100%;
    height: 40px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #pageTop img {
    width: 23px;
  }
}
footer {
  width: 100%;
  background: #003288;
}
footer .footer_inner {
  width: 980px;
  margin: 0 auto;
  padding: 54px 0 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  footer .footer_inner {
    width: 100%;
    padding: 40px 0 0;
  }
}
footer .footer_inner > a {
  display: block;
  margin: 0 auto 45px;
}
@media only screen and (max-width: 768px) {
  footer .footer_inner > a {
    margin: 0 auto 20px;
  }
}
footer .footer_inner > a:hover {
  opacity: 0.5;
}
footer .footer_inner > a img {
  width: 168px;
}
@media only screen and (max-width: 768px) {
  footer .footer_inner > a img {
    width: 84px;
  }
}
footer .footer_inner .icon_area {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  footer .footer_inner .icon_area {
    display: block;
  }
}
footer .footer_inner .icon_area p {
  margin-right: 20px;
  line-height: 0;
}
footer .footer_inner .icon_area p img {
  width: 80px;
}
@media only screen and (max-width: 768px) {
  footer .footer_inner .icon_area p {
    margin: 0 auto 20px;
  }
}
footer .footer_inner .icon_area ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
footer .footer_inner .icon_area ul li {
  margin-right: 25px;
}
footer .footer_inner .icon_area ul li:last-child {
  margin-right: 0;
}
footer .footer_inner .icon_area ul li a {
  color: #fff;
  font-size: 25px;
}
footer .footer_inner .link_list {
  border-top: 1px solid #3c63a5;
  border-bottom: 1px solid #3c63a5;
  margin-top: 40px;
  padding: 20px 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  footer .footer_inner .link_list {
    margin-top: 40px;
    padding: 0 20px;
    display: block;
    border: none;
  }
}
footer .footer_inner .link_list li {
  border-right: 1px solid #3c63a5;
  padding-right: 22px;
}
footer .footer_inner .link_list li:last-child {
  padding-right: 0;
  border-right: none;
}
@media only screen and (max-width: 768px) {
  footer .footer_inner .link_list li:last-child {
    border-bottom: 1px solid #3c63a5;
  }
}
@media only screen and (max-width: 768px) {
  footer .footer_inner .link_list li {
    padding: 0 10px !important;
    border-right: none;
    border-top: 1px solid #3c63a5;
  }
}
footer .footer_inner .link_list li a {
  color: #fff;
  font-size: 14px;
  font-size: 1.4rem;
}
@media only screen and (max-width: 768px) {
  footer .footer_inner .link_list li a {
    width: 100%;
    height: 43px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
footer .footer_inner .link_list li a:after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-left: 0.5rem;
  margin-top: -2px;
  vertical-align: middle;
}
footer .footer_inner .link_list li a:hover {
  opacity: 0.5;
}
footer .footer_inner .copy {
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  padding: 40px 20px;
  text-align: center;
}

/* -------------------------------
//contents
------------------------------- */
.fade-here,
.fade-scale,
.fade-up,
.fade-from-left,
.fade-from-right {
  transition: all 2s ease-in-out;
  -webkit-transition: all 2s ease-in-out;
}

.hide {
  display: none !important;
}

.mfp-container .hide {
  display: block !important;
}

@media only screen and (max-width: 768px) {
  .pcDISP {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  .spDISP {
    display: none !important;
  }
}