@charset "UTF-8";
/* --------------------------------------------

	FileName	:	index.css

-------------------------------------------- */
.textOver {
  display: block;
  text-indent: 120%;
  white-space: nowrap;
  overflow: hidden;
}

html {
  background: none;
}
html body {
  background: none;
}

#mainV {
  height: 600px;
  border-bottom: 1px solid #fff;
}

.ie #mainV {
  margin-bottom: 0;
}

#mainV .inner {
  width: 100%;
  max-width: 3000px;
}
#mainV h1 {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding-bottom: 49%;
  background-size: contain;
  text-indent: 120%;
  white-space: nowrap;
  overflow: hidden;
}

.btnArea {
  background: #f0f0f0;
  padding: 20px 0 20px;
}
.btnArea ul {
  display: table;
}
.btnArea ul li {
  display: table-cell;
  width: 50%;
}
.btnArea ul li a {
  display: block;
  width: 100%;
  height: 100%;
}
.btnArea ul li a img {
  width: 100%;
}
.btnArea ul li.aboutTicket {
  width: 50%;
  padding-right: 0.5%;
}
.btnArea ul li.useTicket {
  width: 50%;
  padding-left: 1.5%;
}

@media only screen and (max-width: 640px) {
  .btnArea ul {
    display: block;
  }
  .btnArea ul li {
    display: block;
    width: 100% !important;
    padding: 0 10px !important;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .btnArea ul li.aboutTicket {
    padding-right: 6px !important;
  }
}
section.inner {
  border: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
section.inner .news ul li dl dt, section.inner .shopNews ul li dl dt {
  font-weight: bold;
  line-height: 1.8;
  font-size: 0.875rem;
}
section.inner .news ul li dl dt div, section.inner .shopNews ul li dl dt div {
  display: inline-block;
}
section.inner .news ul li dl span, section.inner .shopNews ul li dl span {
  display: inline-block;
  color: #fff;
  margin-left: 10px;
  text-align: center;
  border-radius: 3px;
}
section.inner .news ul li dl span.new, section.inner .shopNews ul li dl span.new {
  background: #e4004b;
  letter-spacing: 0.6px;
  padding: 2px 15px 1px;
  font-size: 0.625rem;
}
section.inner .news ul li dl span.area, section.inner .shopNews ul li dl span.area {
  background: #f09300;
  padding: 2px 10px 1px;
  min-width: 3em;
  font-size: 0.75rem;
}
section.inner .news ul li dl span.business, section.inner .shopNews ul li dl span.business {
  background: #ed5400;
  padding: 2px 10px 1px;
  min-width: 3em;
  font-size: 0.75rem;
}
section.inner span.mapicon {
  position: relative;
  margin: 0;
  padding-right: 52px;
  color: #333333;
  display: inline-block;
  text-align: left;
  text-decoration: underline;
}
section.inner span.mapicon:hover {
  text-decoration: none;
  color: #f39800;
}
section.inner span.mapicon img {
  width: 48px;
  position: absolute;
  right: 0;
  bottom: 0;
}

.news h2 {
  border-bottom: 3px solid #c0006b;
}
.news h2 span a {
  display: inline-block;
  height: 50px;
  width: 160px;
  background: url("/img/btn-sa208a41088.png") 0 0;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.news h2 span a:hover {
  display: inline-block;
  height: 50px;
  width: 160px;
  background: url("/img/btn-sa208a41088.png") 0 -50px;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.news ul a:hover {
  color: #e4007f;
}
.news ul li {
  border-bottom: 1px dotted #c0006b;
}
.news ul li dl dt {
  color: #c0006b;
}

@media only screen and (max-width: 640px) {
  section.inner .news ul li dl span.new, section.inner .shopNews ul li dl span.new {
    padding: 0px 8px;
    vertical-align: text-bottom;
    font-size: 0.625rem;
  }
}
/*--------------230807追記---------------*/
/*--------------250619追記---------------*/
#mainV {
  padding-top: 200px;
  background-image: url(../img/index/MV_backimg.jpg);
  height: auto;
  border-bottom: none;
  width: calc(100vw - (100vw - 100%));
}
#mainV .end {
  position: relative;
}
#mainV .end img {
  width: calc(100vw - (100vw - 100%));
}

@media only screen and (max-width: 640px) {
  #mainV {
    padding-top: 100px;
  }
}
.btnArea {
  padding: 3em 0;
  background-color: #fff;
}
.btnArea .top-txt {
  background-color: #EDF0AD;
  padding: 1.5em;
}
.btnArea .top-txt p {
  color: #326454;
  font-weight: bold;
  font-size: 23px;
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .btnArea {
    padding: 2em 10px;
  }
  .btnArea .top-txt {
    padding: 1em;
  }
  .btnArea .top-txt p {
    text-align: left;
    font-size: 20px;
  }
}
#news .newsinner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#news .newsinner .newNews, #news .newsinner .shopNews {
  display: block;
  width: 48%;
  background: #fff;
  border-radius: 5px;
  margin-top: 0;
  padding: 2% 1%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: #326454 solid 2px;
}
#news .newsinner .newNews ul, #news .newsinner .shopNews ul {
  margin-bottom: 30px;
  margin-top: 0;
}
#news .newsinner .newNews ul li, #news .newsinner .shopNews ul li {
  padding: 0px 0 5px 0 !important;
  margin: 25px 0 0;
}
#news .newsinner .newNews ul li dl dt, #news .newsinner .shopNews ul li dl dt {
  font-weight: bold;
  line-height: 1.8;
  font-size: 0.875rem;
}
#news .newsinner .newNews ul li dl dt div, #news .newsinner .shopNews ul li dl dt div {
  display: inline-block;
}
#news .newsinner .newNews ul li dl span, #news .newsinner .shopNews ul li dl span {
  display: inline-block;
  color: #fff;
  margin-left: 0 !important;
  text-align: center;
  border-radius: 3px;
}
#news .newsinner .newNews ul li dl span.new, #news .newsinner .shopNews ul li dl span.new {
  background: #e4004b;
  letter-spacing: 0.6px;
  padding: 2px 15px 1px;
  font-size: 0.625rem;
}
#news .newsinner .newNews ul li dl span.area, #news .newsinner .shopNews ul li dl span.area {
  background: #f09300;
  padding: 2px 10px 1px;
  min-width: 3em;
  font-size: 0.75rem;
}
#news .newsinner .newNews ul li dl span.business, #news .newsinner .shopNews ul li dl span.business {
  background: #ed5400;
  padding: 2px 10px 1px;
  min-width: 3em;
  font-size: 0.75rem;
}
#news .newsinner .newNews ul li::before, #news .newsinner .shopNews ul li::before {
  content: none;
}
#news .newsinner .newNews ul a, #news .newsinner .shopNews ul a {
  color: #333333;
  text-decoration: none;
}
#news .newsinner .newNews ul a:hover, #news .newsinner .shopNews ul a:hover {
  text-decoration: none;
}
#news .newsinner .newNews ul a dd, #news .newsinner .shopNews ul a dd {
  text-decoration: underline;
}
#news .newsinner .newNews h2, #news .newsinner .shopNews h2 {
  font-weight: bold;
  font-size: 1.875rem;
  line-height: 2.6rem;
  padding: 0 0 0 0.2rem;
}
#news .newsinner .newNews ul .anchorIn + .icon, #news .newsinner .shopNews ul .anchorIn + .icon {
  display: none;
}
#news .newsinner .newNews h2 {
  color: #EF3683;
  border-bottom: #FFDBEA 3px solid;
}
#news .newsinner .newNews ul a:hover {
  color: #EF3683;
}
#news .newsinner .newNews ul li {
  border-bottom: 2px dotted #FFDBEA;
}
#news .newsinner .newNews ul li dl dt {
  color: #EF3683;
}
#news .newsinner .shopNews h2 {
  color: #F37D40;
  border-bottom: #FFE8DB 3px solid;
}
#news .newsinner .shopNews ul a:hover {
  color: #F37D40;
}
#news .newsinner .shopNews ul li {
  border-bottom: 2px dotted #FFE8DB;
}
#news .newsinner .shopNews ul li dl dt {
  color: #F37D40;
}

@media only screen and (max-width: 640px) {
  #news .newsinner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #news .newsinner .newNews, #news .newsinner .shopNews {
    width: 100%;
    display: block;
    margin-top: 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 5% 3%;
  }
}
main ul.anchorLink li:before {
  display: none;
}
main ol {
  list-style-type: none;
  counter-reset: num;
}
main ol li {
  position: relative;
  padding: 0 0 0 40px;
  margin: 0 0 0.8em;
}
main ol li:before {
  counter-increment: num;
  content: counter(num) ".";
  left: 0;
  position: absolute;
  text-align: center;
  top: 0;
  width: 1.54em;
  line-height: 1.7;
  color: #326454;
}
main ol li ol {
  margin: 0.6em 0;
}
main ol li ol li {
  padding: 0 0 0 42px;
}
main ol li ol li:before {
  width: 2.8em;
  line-height: 1.5;
}
main ol li ul {
  counter-reset: num;
  margin: 0.6em 0;
}
main ol li ul li {
  position: relative;
  margin: 0.6em 0;
  padding: 0 0 0 15px;
  position: relative;
}
main ol li ul li:before {
  position: absolute;
  left: 3px;
  top: 8px;
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #cb0071;
  border-radius: 100%;
}
main ol li ul li ul {
  margin: 0.6em 0;
}
main ol li ul li ul li {
  padding: 0 0 0 13px;
}
main ol.maru > li {
  padding: 0 0 0 1.4em;
}
main ol.maru > li:before {
  counter-increment: num;
  content: counter(num);
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  text-align: center;
  font-size: 0.8em;
  width: 1.2em;
  line-height: 1.2em;
  color: #cb0071;
  border: 1px solid #cb0071;
  border-radius: 50%;
}
main ol.maru.maru_blue > li:before {
  color: #004ea2;
  border-color: #004ea2;
}
main ol.maru.maru_big > li:before {
  font-size: 0.9em;
  top: 1px;
}
main ol.maru.maru_more > li:before {
  font-size: 1em;
  top: 2px;
}
main ol.circlea {
  margin: 0;
}
main ol.circlea li:before {
  content: counter(num);
  color: #fff;
  width: 1.54em;
  height: 1.54em;
  line-height: 1.54;
  background: #cb0071;
  font-weight: bold;
  border-radius: 100%;
  font-size: 86.66667%;
}
main ol.none li {
  padding: 0;
}
main ol.none li:before {
  display: none;
}
main ul {
  margin: 2.5em 0;
  padding: 0 0 0 4px;
}
main ul li {
  position: relative;
  margin: 0.6em 0;
  padding: 0 0 0 20px;
  position: relative;
}
main ul li:before {
  position: absolute;
  left: 3px;
  top: 13px;
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #326454;
  border-radius: 100%;
}
main ul li ul {
  margin: 0.6em 0;
}
main ul li ul li {
  padding: 0 0 0 13px;
}
main ul.noStyle {
  padding: 0;
  margin: 1em 0;
}
main ul.noStyle li {
  padding: 0;
  margin: 0 0 15px;
  line-height: 1.3;
}
main ul.noStyle li:after {
  background: none;
}
main ul.columList {
  margin: 1em 0 1.5em;
  padding: 0;
  width: 100%;
  display: inline-block;
  display: block;
}
main ul.columList:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}
main ul.columList li {
  float: left;
  margin: 0;
  padding: 8px 5px 8px 20px;
  border-bottom: 3px double #cb0071;
  border-radius: 3px;
  width: 49%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
main ul.columList li:nth-child(1), main ul.columList li:nth-child(2) {
  border-top: 3px double #cb0071;
}
main ul.columList li:nth-child(2n) {
  float: right;
}
main ul.columList li:nth-child(2n+1) {
  clear: left;
}
main ul.columList li:after {
  left: 5px;
  top: 15px;
}
main ul.link li {
  padding: 0 0 0 2em;
  position: relative;
}
main ul.link li.download a {
  color: #215f9c;
}
main ul.link li:before {
  content: "";
  width: 18px;
  height: 18px;
  background: #326454;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
main ul.link li:after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: 0;
  left: 4px;
  bottom: 0;
  margin: auto;
}
main ul.link .gray-arrow:before {
  background: #b0b1b1;
}
main span.redline {
  font-weight: bold;
  text-decoration: underline;
  color: #e4004b;
}
main section#caution p.mgtop_2 {
  margin-top: 2rem;
}
main section#caution .inner ul.mgtop_1 {
  margin-top: 1rem !important;
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 10px;
}
table tbody th, table tbody td {
  border: 1px solid #326454;
  padding: 9px 10px 8px 10px;
}
table tbody th input[type=text], table tbody td input[type=text] {
  padding: 5px;
}
table tbody th label, table tbody td label {
  margin-right: 1em;
  display: inline-block;
}
table tbody th label.fullW, table tbody td label.fullW {
  width: 100%;
}
table tbody th {
  color: #326454;
  font-weight: bold;
  background: #E3EFE9;
  padding: 2em 0 2em 1em;
}
table tbody th span {
  vertical-align: text-top;
  color: #fff;
  display: inline-block;
  background: #cb0071;
  margin-left: 5px;
  padding: 2px 6px 3px;
  font-size: 73.33333%;
  border-radius: 2px;
}
table tbody td {
  line-height: 1.3;
}
table tbody td p {
  margin: 0.5em 0;
}
table.formTable tr.request label {
  min-width: 9em;
}

@media only screen and (max-width: 640px) {
  table {
    width: 100%;
    border-spacing: 0;
  }
  table tbody tr {
    margin-top: 25px;
  }
  table tbody th {
    padding: 8px 15px;
  }
  table tbody td {
    padding: 15px 15px;
  }
  tbody, thead, tr, th, td {
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}