@charset "UTF-8";

.clearfix {
  *zoom: 1
}

.clearfix:after {
  content: "";
  display: table;
  clear: both
}

.second-body * {
  box-sizing: border-box
}

figure {
  text-align: center
}

figure img {
  width: 100%
}

table {
  width: 100%
}

strong {
  font-weight: bold
}

.st-red {
  color: #d2001e;
  font-weight: bold
}

.btn-action {
  background: #fff;
  text-align: center;
  display: block;
  font-weight: bold;
  margin: 0 auto;
  width: 170px;
  position: relative;
  border: 1px solid #d2001e;
  -moz-border-radius: 25px;
  -webkit-border-radius: 25px;
  border-radius: 25px;
  -moz-transition: none;
  -o-transition: none;
  -webkit-transition: none;
  transition: none;
  font-size: 14px;
  padding: 5px 20px;
  color: #d2001e;
  -moz-box-shadow: 0 3px 0 #d2001e;
  -webkit-box-shadow: 0 3px 0 #d2001e;
  box-shadow: 0 3px 0 #d2001e
}

.btn-action:hover {
  top: -2px;
  -moz-box-shadow: 0 5px 0 #d2001e;
  -webkit-box-shadow: 0 5px 0 #d2001e;
  box-shadow: 0 5px 0 #d2001e
}

.btn-action:active {
  top: 3px;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none
}

.txtLink {
  text-decoration: underline;
  color: #2071ff
}

.txtLink:hover {
  text-decoration: none
}

.red {
  color: #d2001e
}

.gold {
  color: #bf9c46
}

.alignC {
  text-align: center
}

.mt30 {
  margin-top: 30px
}

.mt50 {
  margin-top: 50px
}

.mt60 {
  margin-top: 60px
}

.mb30 {
  margin-bottom: 30px
}

.mb50 {
  margin-bottom: 50px
}

.mb60 {
  margin-bottom: 60px
}

.container {
  max-width: 1120px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box
}

.list-indent li {
  padding-left: 1em;
  margin-top: 10px
}

.list-indent li:first-letter {
  margin-left: -1em
}

.imgL-1st {
  margin-top: -20px
}

@media screen and (min-width: 768px) {
  .layout-second .second-body article .image-large.imgL-1st {
    margin-top: -50px
  }
}

.flex,
.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap
}

.row {
  margin-right: -20px;
  margin-left: -20px;
  margin-top: 2em;
  margin-bottom: 2em;
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11 {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px
}

@media (min-width: 768px) {
  .col-1 {
    width: 8.33%
  }

  .col-2 {
    width: 16.66%
  }

  .col-3 {
    width: 25%
  }

  .col-4 {
    width: 33.3%
  }

  .col-5 {
    width: 41.6%
  }

  .col-6 {
    width: 50%
  }

  .col-7 {
    width: 58.3%
  }

  .col-8 {
    width: 66.6%
  }

  .col-9 {
    width: 75%
  }

  .col-10 {
    width: 83.33%
  }

  .col-11 {
    width: 91.66%
  }
}

.tbl04 {
  width: 100%;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc
}

.tbl04 th,
.tbl04 td {
  vertical-align: middle;
  text-align: center;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 0.5em 1em
}

.tbl04 th {
  background: #fae5e8
}

.tbl04 td:nth-child(1) {
  background: #fafafa
}

#page-top {
  position: fixed;
  bottom: 100px;
  right: 20px;
  z-index: 999999
}

#page-top a {
  width: 70px;
  height: 50px;
  display: block
}

#page-top a:hover {
  opacity: 0.7
}

#page-top img {
  width: 100%;
  height: auto
}

.component-sidenav a.bg-main {
  margin-left: 0;
  background: none !important
}

.component-sidenav a.active {
  margin-left: -50px;
  background: #d2001e !important
}

.layout-global-header,
.layout-sponsors {
  background: #fff
}

@media screen and (max-width: 767px) {
  .layout-popup-tnav .right {
    right: 0;
    background: #d2001e
  }

  .component-sidenav a {
    border: 1px solid #d2001e
  }
}

.underline {
  text-decoration: underline
}

.layout-second .second-body .color01 {
  color: #d2001e
}

@media screen and (max-width: 767px) {
  #body--index .main-visual-inner {
    padding-bottom: 0
  }

  #body--index .main-visual-inner .bx-controls {
    bottom: -20px
  }
}

@media print,
screen and (min-width: 768px) {
  #body--index .main-visual-inner .slide-pager {
    right: 20px;
    left: initial
  }

  #body--index .main-visual-inner {
    padding-bottom: 80px
  }

  .layout-second .second-body article>p {
    margin-bottom: 15px;
    line-height: 1.8
  }
}

.layout-second .second-header .top,
.layout-second .second-header .btm,
.layout-second .second-header .slice {
  background: #F3F3F3
}

.layout-second .second-header .title-wrap {
  color: #4c4c4c
}

.layout-second .news-article .second-header .top,
.layout-second .news-article .second-header .btm,
.layout-second .news-article .second-header .slice {
  background: #fff
}

#terms h2 {
  margin: 30px 0 10px 0;
  /*color: #d2001e;
  font-size: 110%;
  padding: 0 0 5px 0;
  border-bottom: 1px solid #d2001e;
  font-weight: bold*/

}

#terms dd {
  padding: 5px 1em 15px
}

.team-side-banlist {
  text-align: center;
  padding: 0 5% 5%
}

.team-side-banlist li {
  margin: 10px auto 0
}

.team-side-banlist li a {
  display: block
}

.team-side-banlist li img {
  max-width: 100%;
  vertical-align: top
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important
}

.layout-sponsors {
  text-align: center;
  padding: 50px
}

.layout-sponsors div {
  display: inline-block
}

.layout-sponsors div:nth-of-type(1) {
  margin-right: 1em
}

.layout-sponsors div a {
  display: inline-block;
  padding: 5px 0.5em
}

.layout-sponsors h6 {
  text-align: left;
  border-bottom: 1px solid #666;
  padding-bottom: 5px;
  margin-bottom: 10px;
  font-weight: bold
}

.layout-sponsors .btn-action {
  margin-top: 20px
}

@media only screen and (max-width: 767px) {
  .layout-sponsors div {
    display: block
  }
}

.tit-border {
  font-size: 18px;
  font-weight: bold;
  margin: 20px auto;
  border-top: 2px solid #d2001e;
  padding: 10px 1em;
  border-bottom: 1px solid #ccc
}

.tit-gray {
  color: #797979;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 1em;
}

.tit-gold-border {
  color: #797979;
  font-size: 24px;
  font-weight: bold;
  /*font-size: 110%;
  color: #bf9c46;
  margin: 10px 0;
  padding: 0 0 5px 0;
  border-bottom: 1px solid #bf9c46;
  font-weight: bold*/
}

.titGold {
  color: #797979;
  font-size: 24px;
  font-weight: bold;
  /*color: #bf9c46;
  font-weight: bold*/
}

@media only screen and (max-width: 767px) {

  .tit-gray,
  .tit-gold-border,
  .titGold {
    font-size: 20px
  }
}

.tit-bar {
  border-left: 5px solid #d2001e;
  background: #ccc;
  font-weight: bold;
  color: #333;
  padding: 0.25em 1em;
  font-size: 15px;
  margin-bottom: 20px
}

@media only screen and (min-width: 768px) {
  .tit-bar {
    padding: 0.15em 0.5em;
    font-size: 18px
  }
}

.tit-bar-red {
  border-left: 7px solid #000;
  background: #e50020;
  font-weight: bold;
  color: #000;
  padding: 0.5em 1em;
  font-size: 18px;
  margin-bottom: 20px
}

@media only screen and (min-width: 768px) {
  .tit-bar-red {
    padding: 0.5em 0.5em;
    font-size: 24px
  }
}

.tit-middle {
  color: #bf9c46 !important;
  font-weight: bold;
  font-size: 22px !important;
  margin-bottom: 15px !important
}

.tit-small {
  font-weight: bold;
  font-size: 18px;
  color: #d2001e;
  border-bottom: 1px solid
}

.second-body img {
  max-width: 100%
}

@media screen and (min-width: 769px) {
  .layout-second .second-body .float-imgText {
    margin: 30px 0;
  }

  .layout-second .second-body .imgText-left {
    float: left;
    margin: 0 20px 20px 0;
  }
}

@media screen and (max-width: 768px) {
  .layout-second .second-body .float-imgText {
    margin: 20px 0;
  }

  .layout-second .second-body .imgText-left {
    margin-top: 10px;
    text-align: center;
  }
}

.btn {
  display: block;
  font-size: 18px;
  height: 44px;
  line-height: 44px;
  color: #d2001e;
  border: 1px solid #ccc;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  text-align: center
}

.btn:hover {
  background: #efefef
}

.top-support-card .image-card {
  float: left;
  width: 50%
}

.top-support-card .image-card img {
  width: 100%
}

@media screen and (max-width: 767px) {
  .top-support-card {
    overflow: hidden;
    zoom: 1;
    padding: 10px 10px 0 10px
  }
}

.block-youtube .top-youtube ul li {
  width: 31%;
  margin: 1%;
  display: inline-block
}

.block-youtube .top-youtube ul li iframe {
  max-width: 100%
}

@media screen and (max-width: 767px) {
  .block-youtube .top-youtube ul li {
    width: 95%;
    margin: 20px 2.5%;
    display: block
  }
}

.block-body.banner-body {
  margin-top: 20px;
  text-align: center
}

.team-pricy h2 {
  text-align: center;
  margin-bottom: 40px
}

.about-phx-cont {
  margin-top: 40px
}

.about-phx-cont figure {
  text-align: center;
  padding: 5px 0 20px;
  width: 70%;
  max-width: 600px;
  margin: 60px auto;
}

.about-phx-cont p {
  margin-bottom: 15px
}

@media screen and (min-width: 768px) {
  .layout-second .second-body .team-policy-detail {
    margin-top: 30px
  }

  .layout-second .second-body .team-policy-detail p {
    margin-bottom: 10px;
    line-height: 1.6
  }
}

.cont-schedule-att {
  margin-bottom: 30px;
  background: #efefef;
  border: 1px solid;
  padding: 3% 5%
}

.cont-schedule-att strong {
  font-weight: bold;
  font-size: 18px
}

.cont-schedule-att li {
  margin-top: 5px
}

.gc_wrapper {
  max-width: 800px;
  min-width: 300px;
  margin: 2.0833% auto
}

.responsive-iframe-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden
}

.responsive-iframe-container iframe,
.responsive-iframe-container object,
.responsive-iframe-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.osgsquare-cont {
  margin-top: 40px
}

.osgsquare-cont iframe {
  width: 100%
}

.osgsquare-cont table {
  width: 100%;
  border-bottom: 1px solid #333
}

.osgsquare-cont table tr {
  border-top: 1px solid #333
}

.osgsquare-cont table tr th {
  background: #ddd;
  width: 5em;
  text-align: center
}

.osgsquare-cont table tr td {
  padding: 5px 0 5px 10px
}

@media (max-width: 600px) {
  .big-container {
    display: none
  }

  .small-container {
    padding-bottom: 200%
  }
}

@media (min-width: 600px) {
  .small-container {
    display: none
  }
}

@media print,
screen and (min-width: 768px) {

  .mascot-box .tbl-wrap,
  .mascot-box .tbl03 {
    margin-bottom: 0
  }
}

.seasonlist li {
  width: 49%;
  float: left;
  margin-left: 2%
}

.seasonlist li:nth-child(odd) {
  margin-left: 0
}

.archive-box {
  margin-bottom: 30px
}

.sch-archive {
  width: 100%;
  border-top: 1px solid #898989;
  padding-top: 20px;
  border-left: 1px solid #898989
}

.sch-archive th,
.sch-archive td {
  vertical-align: middle
}

.sch-archive th {
  font-size: 12px;
  background: #aaa;
  text-align: center;
  border-bottom: 1px solid #898989;
  border-right: 1px solid #898989;
  color: #fff
}

.sch-archive .home td {
  background: #f0f0f0
}

.sch-archive td {
  border-bottom: 1px solid #898989;
  border-right: 1px solid #898989;
  text-align: center;
  padding: 0.2em 0
}

.sch-archive .cell-date {
  width: 15%
}

.sch-archive .cell-vs {
  width: 25%
}

.sch-archive .cell-arena {
  width: 25%
}

.sch-archive .cell-score {
  width: 30%
}

.sch-archive .result {
  margin-right: 5px
}

@media only screen and (min-width: 768px) {
  .sch-archive .cell-spomsor {
    display: table-cell;
    width: 10%
  }

  .sch-archive .cell-date {
    width: 10%
  }

  .sch-archive .cell-tip {
    width: 5%
  }

  .sch-archive .cell-vs {
    width: 30%
  }

  .sch-archive .cell-arena {
    width: 25%
  }

  .sch-archive .cell-score {
    width: 20%
  }
}

.layout-second .second-body article .booster-index-box .image-large {
  margin: -20px -10px 30px
}

.give-point h3 {
  margin-top: 20px
}

.give-point li {
  margin-top: 5px
}

.give-point li strong {
  font-weight: bold;
  font-size: 16px
}

.give-point a:hover {
  text-decoration: underline
}

.change-point td:nth-child(even) {
  text-align: right
}

.change-point ul {
  padding-top: 10px
}

.change-point li {
  margin-top: 5px
}

.booster-index-box,
.register-box,
.privilege-box {
  padding-bottom: 30px
}

.privilege-box p,
.register-box p {
  margin-bottom: 15px
}

.agreement-box {
  padding-bottom: 50px
}

.agreement-box h2,
.agreement-box h3 {
  font-size: 110%;
  margin: 0 0 10px 0;
  padding: 0 0 5px 0;
  border-bottom: 1px solid;
  font-weight: bold
}

.agreement-box h2 {
  color: #d2001e
}

.agreement-box h3 {
  color: #bf9c46
}

.agreement-box h4 {
  margin-top: 15px
}

.agreement-box li {
  margin-top: 8px
}

@media screen and (min-width: 768px) {
  .layout-second .second-body article .booster-index-box .image-large {
    margin: -50px -50px 30px
  }

  .layout-second .second-body article .booster-index-box .list .title {
    margin: 10px 0 0
  }

  .booster-index-box,
  .register-box,
  .privilege-box {
    padding-bottom: 60px
  }
}

.access-map iframe {
  width: 100%
}

.access-info {
  padding-top: 30px
}

.access-info .tit-middle {
  border-left: 3px solid;
  padding-left: 0.5em
}

.access-info figure {
  margin-top: 10px
}

.manners section {
  padding: 20px 0
}

.manners section p {
  margin-top: 10px
}

.manners ol {
  margin-top: 15px
}

.manners .list-indent li {
  margin-top: 10px
}

.manners .box-color {
  margin-top: 25px
}

.manners .box-color h3 {
  font-weight: bold
}

.tbl-manners {
  margin-top: 20px
}

.tbl-manners thead th {
  background: #fae5e8
}

.tbl-manners tbody th {
  background: #fafafa;
  text-align: left
}

.sponsorBox {
  padding-top: 60px
}

.sponsorBox p {
  margin-bottom: 10px
}

.sponsorBox p.textLast {
  margin-bottom: 30px
}

.sponsorBox .link-wrap {
  margin-top: 20px
}

.sponsorList {
  text-align: center
}

.sponsorList li {
  float: left;
  width: 50%
}

.sponsorList li a {
  display: block
}

.sponsorList li a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: .7
}

.official.suponsorList li {
  width: 33%
}

.dreamList li {
  float: left;
  width: 100%;
  margin: 5px 0;
  background: url(/v=/common/img/sponsor/icon-arrow.gif) no-repeat left center;
  padding-left: 20px
}

.Sponsor .tit-bar {
  margin: 25px 0 5px
}

.sdgsIntro {
  justify-content: space-between
}

.sdgsIntro .p {
  width: 100%
}

.sdgsIntro figure {
  width: 120px;
  margin: 0 auto
}

@media only screen and (min-width: 768px) {
  .sponsorList li {
    width: 25%
  }
.sdgslist .sponsorList li {
    width: 20%
  }
  .official.suponsorList li {
    width: 25%
  }

  .dreamList li {
    width: 25%
  }

  .Sponsor .tit-bar {
    margin: 50px 0 10px
  }

  .sdgsIntro p {
    width: calc(100% - 160px)
  }
}

.column-header {
  background: #666;
  margin: -20px -10px 0
}

.column-header h1 {
  color: #fff !important
}

.column-header .column-name {
  font-size: 18px;
  margin: 10px 0 15px
}

.column-header .column-name span {
  font-size: 15px;
  display: block
}

.column-header .column-lead {
  font-size: 15px;
  text-align: justify
}

.column-header figure {
  background-size: cover;
  padding: 36% 0;
  background-position: center top;
  background-repeat: no-repeat
}

.column-header-layout {
  color: #fff;
  padding: 3%
}

.column-body {
  margin-top: 30px
}

.column-body p {
  margin: 0 0 25px;
  text-align: justify
}

.column-body .name-writer {
  text-align: right;
  font-size: 12px
}

.column-body figure {
  padding: 0 0 1.5em;
  text-align: center;
  max-width: 360px;
  margin: 0 auto
}

.column-body figure.vertical {
  max-width: 480px
}

.column-body figure img {
  vertical-align: top
}

.column-body figure figcaption {
  font-size: 12px;
  text-align: justify;
  padding: 0.5em 1em;
  background: #f0f0f0
}

.column-body small {
  display: block;
  font-size: 12px
}

.column-body .txt-annotation {
  margin-top: -5px;
  font-size: 12px
}

.layout-second .second-body article .column-body .tit-column-mid {
  color: #d2001e;
  font-size: 22px
}

.layout-second .second-body article .faq-column h3 {
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 16px
}

.person1,
.person2,
.person3,
.person4 {
  font-weight: bold
}

.person1 {
  color: #ff8e00
}

.person2 {
  color: #5c8bff
}

.person3 {
  color: #1ea05a
}

.person4 {
  color: #7d6cc0
}

@media only screen and (min-width: 768px) {
  .column-header {
    max-height: 330px;
    overflow: hidden;
    margin: -50px -50px 0
  }

  .column-header .column-name {
    font-size: 18px
  }

  .column-header figure {
    float: left;
    width: 36%;
    padding: 26% 0
  }

  .column-header figure.vertical {
    width: 45%
  }

  .column-header-layout {
    margin-left: 36%
  }

  .column-body {
    margin-top: 50px
  }

  .column-body p {
    margin: 0 0 20px
  }

  .column-body figure {
    float: right;
    padding: 0 0 1.5em 1.5em;
    width: 37%
  }

  .column-body .txt-annotation {
    margin-top: -10px
  }
}

.volunteer-box {
  padding-top: 30px
}

.volunteer-box small {
  font-size: 12px
}

.volunteer-box table {
  margin: 15px 0;
  width: 100%
}

.volunteer-box th {
  background: #ddd;
  text-align: center;
  border-bottom: 1px solid #fff;
  color: #666;
  padding: 0.25em;
  width: 5em
}

.volunteer-box td {
  padding: 0.5em 1em
}

.volunteer-box .inq-sec {
  margin-top: 10px
}

.boostmap {
  margin-bottom: 20px
}

.boostmap iframe {
  width: 100%;
  height: 480px
}

.layout-second .second-body article .tit-gold-border {
  font-size: 18px
}

.bshop-list {
  border: 1px solid #ccc;
  margin-top: 15px;
  padding-bottom: 15px
}

.bshop-list h3 {
  background: #ccc;
  color: #fff;
  padding-left: 1em;
  font-weight: bold;
  color: #444
}

.bshop-list h3 a {
  text-decoration: underline;
  color: #444 !important
}

.bshop-list h3 a:hover {
  text-decoration: none;
  color: #d2001e !important
}

.bshop-list address,
.bshop-list p {
  padding-left: 1em;
  margin-bottom: 0 !important
}

.ico-privilege span {
  padding: .1em .5em;
  color: #fff;
  font-size: 12px;
  background: #bf9c46;
  margin-right: .5em
}

.shop-app .list-indent {
  margin: 15px 0 60px
}

.shop-app section {
  margin-bottom: 50px
}

.shop-app section:nth-of-type(3) {
  margin-bottom: 0
}

.layout-second.contact-area .news-article .second-header .top,
.layout-second.contact-area .news-article .second-header .btm,
.layout-second.contact-area .news-article .second-header .slice {
  background: #666
}

.layout-second.contact-area .news-article .second-header .btm {
  padding-bottom: 40px
}

.layout-second.contact-area .contactBox p {
  margin-top: 20px
}

.layout-second.contact-area .contactBox h3 {
  margin-top: 30px
}

.layout-second.contact-area .contactBox .inq-sec-innr {
  margin-bottom: 60px
}

.tbl1708 {
  width: 100%
}

.tbl1708 thead {
  background: #ddd
}

.tbl1708 th,
.tbl1708 td {
  border-left: 1px solid #ccc;
  padding: 5px .5em
}

.tbl1708 th:nth-child(1),
.tbl1708 td:nth-child(1) {
  border-left: none
}

.tbl1708 th {
  text-align: center
}

.tbl1708 td {
  border-bottom: 1px solid #ccc
}

/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp {
  padding: 0;
  margin: 0;
  border: 0;
  outline: none;
  vertical-align: top
}

.fancybox-wrap {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 8020
}

.fancybox-skin {
  position: relative;
  background: #f9f9f9;
  color: #444;
  text-shadow: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px
}

.fancybox-opened {
  z-index: 8030
}

.fancybox-opened .fancybox-skin {
  -webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5)
}

.fancybox-outer,
.fancybox-inner {
  position: relative
}

.fancybox-inner {
  overflow: hidden
}

.fancybox-type-iframe .fancybox-inner {
  -webkit-overflow-scrolling: touch
}

.fancybox-error {
  color: #444;
  font: 14px/20px "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0;
  padding: 15px;
  white-space: nowrap
}

.fancybox-image,
.fancybox-iframe {
  display: block;
  width: 100%;
  height: 100%
}

.fancybox-image {
  max-width: 100%;
  max-height: 100%
}

#fancybox-loading,
.fancybox-close,
.fancybox-prev span,
.fancybox-next span {
  background-image: url(fancybox_sprite.png)
}

#fancybox-loading {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -22px;
  margin-left: -22px;
  background-position: 0 -108px;
  opacity: 0.8;
  cursor: pointer;
  z-index: 8060
}

#fancybox-loading div {
  width: 44px;
  height: 44px;
  background: url(fancybox_loading.gif) center center no-repeat
}

.fancybox-close {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 8040
}

.fancybox-nav {
  position: absolute;
  top: 0;
  width: 40%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
  background: transparent url(blank.gif);
  -webkit-tap-highlight-color: transparent;
  z-index: 8040
}

.fancybox-prev {
  left: 0
}

.fancybox-next {
  right: 0
}

.fancybox-nav span {
  position: absolute;
  top: 50%;
  width: 36px;
  height: 34px;
  margin-top: -18px;
  cursor: pointer;
  z-index: 8040;
  visibility: hidden
}

.fancybox-prev span {
  left: 10px;
  background-position: 0 -36px
}

.fancybox-next span {
  right: 10px;
  background-position: 0 -72px
}

.fancybox-nav:hover span {
  visibility: visible
}

.fancybox-tmp {
  position: absolute;
  top: -99999px;
  left: -99999px;
  max-width: 99999px;
  max-height: 99999px;
  overflow: visible !important
}

.fancybox-lock {
  overflow: visible !important;
  width: auto
}

.fancybox-lock body {
  overflow: hidden !important
}

.fancybox-lock-test {
  overflow-y: hidden !important
}

.fancybox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  display: none;
  z-index: 8010;
  background: rgba(0, 0, 0, 0.8)
}

.fancybox-overlay-fixed {
  position: fixed;
  bottom: 0;
  right: 0
}

.fancybox-lock .fancybox-overlay {
  overflow: auto;
  overflow-y: scroll
}

.fancybox-title {
  visibility: hidden;
  font: normal 13px/20px "Helvetica Neue", Helvetica, Arial, sans-serif;
  position: relative;
  text-shadow: none;
  z-index: 8050
}

.fancybox-opened .fancybox-title {
  visibility: visible
}

.fancybox-title-float-wrap {
  position: absolute;
  bottom: 0;
  right: 50%;
  margin-bottom: -35px;
  z-index: 8050;
  text-align: center
}

.fancybox-title-float-wrap .child {
  display: inline-block;
  margin-right: -100%;
  padding: 2px 20px;
  background: transparent;
  background: rgba(0, 0, 0, 0.8);
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
  text-shadow: 0 1px 2px #222;
  color: #FFF;
  font-weight: bold;
  line-height: 24px;
  white-space: nowrap
}

.fancybox-title-outside-wrap {
  position: relative;
  margin-top: 10px;
  color: #fff
}

.fancybox-title-inside-wrap {
  padding-top: 10px
}

.fancybox-title-over-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 10px;
  background: #000;
  background: rgba(0, 0, 0, 0.8)
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (min-device-pixel-ratio: 1.5) {

  #fancybox-loading,
  .fancybox-close,
  .fancybox-prev span,
  .fancybox-next span {
    background-image: url(fancybox_sprite@2x.png);
    background-size: 44px 152px
  }

  #fancybox-loading div {
    background-image: url(fancybox_loading@2x.gif);
    background-size: 24px 24px
  }
}

@media screen and (max-width: 767px) {
  .layout-second .second-body article .image-list.row3 li {
    margin-right: 1%
  }
}

@media print,
screen and (min-width: 768px) {
  .layout-second .second-body article .image-list.row3 li {
    width: 32%;
    margin-right: 1.3%
  }
}

:root {
  --tayori-theme_page_background_color: #f2f2f2;
  --tayori-theme_page_font_color: #545454;
  --tayori-theme_title_background_color: #ffffff;
  --tayori-theme_title_font_color: #3a3a3a;
  --tayori-theme_button_background_color: #ea5b3a;
  --tayori-theme_button_font_color: #ffffff;
  --tayori-theme_input_background_color: #ffffff;
  --tayori-theme_input_font_color: #000000;
  --tayori-theme_input_danger_color: #ea5b3a;
  --tayori-theme_input_focus_color: #0075ff
}

#tayori-form select,
#tayori-form input,
#tayori-form button,
#tayori-form textarea,
#tayori-form button {
  font: 99% arial, helvetica, clean, sans-serif
}

#tayori-form select {
  background: none
}

.tf-u-grid-row {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.tf-u-grid-col-6-12 {
  width: calc((100% - 18px * (12 - 1)) / 12 * 6 + 18px * (6 - 1))
}

.tf-c-form__item {
  margin-bottom: 16px
}

.tf-c-form__label {
  word-wrap: break-word;
  display: block;
  margin-top: 1em;
  margin-bottom: 0.3em;
  color: var(--tayori-theme_page_font_color);
  font-size: 16px;
  font-weight: bold;
  line-height: 2;
  overflow-wrap: anywhere
}

.tf-c-form__label__required {
  display: inline-block;
  margin-left: 0.25em;
  color: var(--tayori-theme_input_danger_color)
}

.tf-c-form__label-sub {
  word-wrap: break-word;
  margin-top: 2em;
  margin-bottom: 0.3em;
  color: var(--tayori-theme_page_font_color);
  font-size: 13px;
  font-weight: bold;
  line-height: 2;
  overflow-wrap: anywhere
}

.tf-c-form__label-sub:first-of-type {
  margin-top: 0
}

.tf-c-form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 0;
  padding: 0.75em 0.85em;
  border: none;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  outline: none;
  background-clip: border-box;
  background-color: transparent;
  background-color: var(--tayori-theme_input_background_color);
  color: var(--tayori-theme_input_font_color);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  -webkit-transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
  transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out
}

.tf-c-form-control,
.tf-p-faq__search-form__input__field,
.tf-c-form-term__body {
  border-color: #d1d1d1
}

.tf-c-form-control-select {
  display: block;
  position: relative;
  cursor: pointer
}

.tf-c-form-control-select:before {
  position: absolute;
  top: 28px;
  right: 10px;
  width: 0;
  height: 0;
  margin: -4px 0 0 0;
  border: 5px solid transparent;
  border-top: 5px solid var(--tayori-theme_input_font_color);
  content: "";
  pointer-events: none
}

.tf-c-button {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  min-width: 120px;
  margin: 0;
  margin-right: 8px;
  margin-bottom: 10px;
  margin-left: 8px;
  padding: 0;
  padding: 10px 20px;
  border: none;
  border-radius: 200px;
  outline: none;
  background-color: transparent;
  background-color: var(--tayori-theme_button_background_color);
  color: var(--tayori-theme_button_font_color);
  font-size: 14px;
  line-height: 1.7;
  text-align: center
}

.error-message {
  display: none;
  padding-top: 10px;
  color: var(--tayori-theme_input_danger_color);
  font-size: 11px
}

#tayori-form div.form-parts.validation-error .tf-c-form__label {
  color: var(--tayori-theme_input_danger_color)
}

#tayori-form div.form-parts.validation-error .tf-c-form-control,
#tayori-form div.form-parts.validation-error .tf-c-form-term__body,
#tayori-form div.form-parts.validation-error .tf-c-form-control-radio label::before,
#tayori-form div.form-parts.validation-error .tf-c-form-control-checkbox label::before {
  background-color: #e6e6e6
}

#tayori-form div.form-parts.validation-error .tf-c-form-control {
  border: 2px solid var(--tayori-theme_input_danger_color);
  color: var(--tayori-theme_input_danger_color)
}

.sc-table {
  display: block;
  margin-bottom: 15px;
  width: 100%
}

.sc-table tr {
  border-bottom: 1px solid #ccc
}

.sc-table tr.table-tit td {
  padding: 0 1em;
  margin-top: 15px;
  background: #dfcda2;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  line-height: 34px
}

.sc-table tr.table-tit td small {
  font-size: 13px;
  font-weight: normal
}

.sc-table th {
  display: block;
  background: #f2f2f2;
  width: 7em;
  text-align: center;
  width: 100%
}

.sc-table td {
  display: block;
  padding: 10px 0
}

.sc-table td dl {
  margin-bottom: 5px
}

.sc-table td dl.sc-full {
  color: #d2001e
}

.sc-table td dl dt {
  font-weight: bold
}

@media only screen and (max-width: 767px) {
  .sc-table tr.table-tit td small {
    display: block
  }
}

@media only screen and (min-width: 768px) {
  .sc-table {
    display: table
  }

  .sc-table th,
  .sc-table td {
    vertical-align: top;
    padding: 10px 15px
  }

  .sc-table th {
    display: table-cell;
    width: 15%
  }

  .sc-table td {
    display: table-cell;
    width: 85%
  }

  .sc-table td dl {
    overflow: hidden;
    *zoom: 1
  }

  .sc-table td dl dt,
  .sc-table td dl dd {
    float: left
  }

  .sc-table td dl dt {
    margin-right: 0.5em
  }
}

.sc-about {
  margin-bottom: 30px
}

.sc-about h2 {
  font-weight: bold;
  margin-bottom: 15px;
  font-size: 18px
}

.sc-about h2 strong {
  color: #bf9c46;
  font-size: 16px;
  display: block
}

.sc-about h3 {
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 16px;
  color: #bf9c46
}

.sc-mental {
  margin: 30px 0 50px
}

.sc-mental figure {
  max-width: 500px
}

.sc-idea {
  padding-bottom: 40px
}

.sc-idea .tit-bar {
  margin-bottom: 15px
}

.sc-idea strong {
  display: block;
  color: #bf9c46
}

.sc-policy {
  padding-bottom: 40px
}

.sc-policy .tit-bar {
  margin-bottom: 15px
}

.sc-policy dt {
  color: #bf9c46;
  font-weight: bold;
  margin-top: 15px
}

.sc-policy dd {
  margin-top: 5px
}

.sc-teacher {
  padding-bottom: 30px
}

.sc-teacher .teacher {
  padding: 20px 0;
  border-top: 1px solid #ccc;
  padding: 25px 0
}

.sc-teacher .teacher:nth-of-type(1) {
  border-top: none
}

.sc-teacher .teacher h4 {
  font-weight: bold;
  font-size: 30px;
  line-height: 1.2;
  margin: 15px 0
}

.sc-teacher .teacher h4 .nameShoulder {
  font-weight: normal;
  font-size: 20px
}

.sc-teacher .teacher h4 .nameRuby {
  display: block;
  font-weight: normal;
  font-size: 16px;
  color: #bf9c46
}

.sc-teacher .teacher h5 {
  margin-bottom: 20px
}

.sc-teacher dl {
  margin-bottom: 5px
}

.sc-teacher dt {
  background: #ddd;
  padding: .25em 1em
}

.sc-teacher dd {
  padding: .5em 1em 1em
}

@media only screen and (min-width: 768px) {
  .sc-teacher {
    padding-bottom: 50px
  }

  .sc-teacher .teacher figure {
    float: left;
    width: 35%
  }

  .sc-teacher .teacher div {
    float: right;
    width: 62%
  }

  .sc-teacher dt,
  .sc-teacher dd {
    padding: .25em .5em
  }

  .sc-teacher dt {
    float: left;
    width: 16%
  }

  .sc-teacher dd {
    float: right;
    width: 76.5%
  }
}

.sc-exp .tit-bar {
  margin-bottom: 20px
}

.sc-exp p {
  margin-bottom: 5px
}

.sc-exp p span {
  display: block
}

.sc-exp .btn-action {
  margin-top: 15px
}

.sc-point {
  margin-top: 60px
}

.sc-point h4 {
  font-weight: bold;
  margin: 20px 0 10px
}

.sc-point .youtube {
  margin-top: 20px
}

.sc-app {
  margin-top: 40px
}

.sc-app .tit-bar {
  margin-bottom: 15px
}

.sc-app h4 {
  color: #bf9c46;
  font-weight: bold;
  font-size: 18px;
  margin: 25px 0 10px
}

.sc-app span {
  color: #d2001e;
  font-weight: bold;
  text-decoration: underline
}

.sc-app dd {
  padding-left: 1em
}

.sc-app h5 {
  margin-top: 20px;
  font-weight: bold;
  padding-left: 10px;
  border-left: 5px solid #d2001e;
  position: relative
}

.sc-app h5:after {
  content: '';
  border-bottom: 1px solid #666;
  position: absolute;
  left: -5px;
  bottom: -5px;
  width: 100%
}

.sc-app .clearfix li {
  float: left;
  margin: 15px 20px 0 0
}

.sc-app .clearfix li a {
  color: #d2001e;
  text-decoration: underline
}

.sc-app .clearfix li a:hover {
  text-decoration: none
}

.sc-inq a {
  font-weight: bold;
  color: #d2001e;
  text-decoration: underline
}

.sc-inq a:hover {
  text-decoration: none
}

.sc-date .sc-calender {
  width: 100%;
  height: 600px;
  margin-top: 25px
}

.sc-date #calendarTitle {
  display: none !important
}

.sc-date p {
  font-style: 13px
}

.sc-classDitail h4 {
  color: #bf9c46;
  font-weight: bold;
  font-size: 18px;
  margin: 25px 0 10px
}

.sc-classDitail dt {
  font-weight: bold
}

.sc-classDitail dd {
  margin: 0 0 25px
}

.sc-classDitail dd li:nth-child(1) {
  margin-bottom: 20px
}

.sc-classDitail dd li:nth-child(1) img {
  display: block;
  margin-top: 5px
}

.sc-cost table {
  margin-top: 15px;
  width: 100%;
  border-top: 1px solid #ccc
}

.sc-cost table tr {
  border-bottom: 1px solid #ccc
}

.sc-cost table th {
  background: #ddd;
  width: 40%;
  border-left: 1px solid #ccc;
  text-align: center;
  font-weight: bold;
  padding: 5px 0
}

.sc-cost table th:nth-child(1) {
  width: 20%;
  border-left: none
}

.sc-cost table td {
  padding: 10px 0;
  border-left: 1px solid #ccc;
  text-align: center
}

.sc-cost table td:nth-child(1) {
  border-left: none;
  background: #f2f2f2
}

.sc-cost table td span {
  font-size: 13px;
  display: block
}

.scAgeList,
.scMoveList {
  min-width: 600px
}

.scAgeList li,
.scMoveList li {
  float: left;
  text-align: center;
  box-sizing: border-box
}

.scAgeList {
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y0ZTdkMyIvPjxzdG9wIG9mZnNldD0iNTAlIiBzdG9wLWNvbG9yPSIjYzc4YTAzIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZjBjYzdlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');
  background-size: 100%;
  background-image: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #f4e7d3), color-stop(50%, #c78a03), color-stop(100%, #f0cc7e));
  background-image: -moz-linear-gradient(left, #f4e7d3 0%, #c78a03 50%, #f0cc7e 100%);
  background-image: -webkit-linear-gradient(left, #f4e7d3 0%, #c78a03 50%, #f0cc7e 100%);
  background-image: linear-gradient(to right, #f4e7d3 0%, #c78a03 50%, #f0cc7e 100%)
}

.scAgeList li {
  width: 37.5%;
  color: #fff;
  padding: .25em 1em;
  font-size: 12px;
  line-height: 1.5
}

.scAgeList li:nth-child(3) {
  width: 25%
}

.scMoveList li {
  width: 25%;
  border-left: 1px dotted #ccc;
  padding-top: .5em
}

.scMoveList li:first-child {
  border-left: none
}

.scMoveList a {
  display: block;
  text-decoration: underline
}

.scMoveList a:hover {
  text-decoration: none
}

@media only screen and (min-width: 768px) {
  .sc-cost table td {
    padding: 10px 15px
  }
}

.faqBox {
  margin-top: 50px
}

.faqBox .tit-bar {
  margin-bottom: 10px
}

.faqBox:nth-of-type(1) {
  margin-top: 0
}

.accordion {
  background-color: #eee;
  border-bottom: 1px solid #ddd
}

.accordion dt {
  border-top: 1px solid #ddd;
  cursor: pointer;
  padding: 0.5em 1em
}

.accordion dt.open {
  color: #d2001e
}

.accordion dd {
  padding: 1em 1em 1em 2em;
  font-size: 15px;
  border-top: 1px dotted #ddd;
  display: none
}

@media only screen and (max-width: 767px) {

  .accordion dt,
  .accordion dd {
    padding: 1em
  }
}

#page_school_fivestar_form .ct-form select,
#page_enrollment .ct-form select {
  border: 1px solid #ccc;
  width: 50%;
  background-position: 92%
}

.feedCheerSchool {
  margin-bottom: 10px
}

.feedCheerSchool li {
  border-bottom: 1px dotted #ddd;
  padding: 8px 1em
}

.feedCheerSchool .date {
  display: inline-block;
  width: 7em
}

.fg-director .name,
.fg-teacher .name {
  font-size: 18px;
  font-weight: bold;
  margin: 0px !important
}

.fg-director .name span,
.fg-teacher .name span {
  display: block;
  margin-right: 1em;
  font-size: 15px;
  color: #d2001e
}

.fg-director figure,
.fg-teacher figure {
  text-align: center
}

.fg-director figure img,
.fg-teacher figure img {
  width: auto
}

.fg-director p,
.fg-teacher p {
  margin-top: 10px
}

.fg-director {
  margin-top: 30px;
  border-bottom: 1px dotted #000;
  padding-bottom: 30px
}

.fg-teacher {
  margin-left: -20px;
  margin-right: -20px
}

.fg-teacher .profileBox {
  width: 100%;
  margin-top: 30px;
  padding-left: 20px;
  padding-right: 20px
}

.fg-teacher figure {
  margin-bottom: 15px
}

.fg-teacher dt {
  margin-top: 10px;
  font-weight: bold;
  font-size: 13px
}

.fg-teacher dd {
  word-break: break-all;
  font-size: 15px
}

@media only screen and (min-width: 769px) {

  .fg-director .name span,
  .fg-teacher .name span {
    display: inline
  }

  .fg-teacher .profileBox {
    width: 33.33%
  }
}

.pageHeader {
  background-image: url(/v=1535964312/files/user/images/school/hd-youth.jpg);
  text-align: center;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 5% 0;
  margin-bottom: 60px
}

.titHeader {
  color: #d2001e
}

.titHeader span {
  font-family: "abolition", sans-serif;
  display: block;
  font-size: 60px;
  line-height: 1.2
}

.titJE {
  text-align: center;
  font-size: 24px;
  line-height: 1.4;
  margin-bottom: 40px
}

.titJE span {
  position: relative;
  display: inline-block;
  padding: 0 55px;
  color: #d2001e;
  font-size: 16px
}

.titJE span::before,
.titJE span::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  border-top: solid 1px #d2001e;
  border-bottom: solid 1px #d2001e
}

.titJE span::before {
  left: 0
}

.titJE span::after {
  right: 0
}

.body--school-youth {
  background: #f5f5f5
}

.body--school-youth .container {
  padding-bottom: 50px
}

.body--school-youth .layout-second {
  margin: 0
}

.body--school-youth .link-wrap {
  text-align: center
}

.body--school-youth .tbl03 {
  margin-bottom: 0
}

.body--school-youth .tbl03 th {
  background: #77787d;
  color: #fff;
  min-width: 10em;
}

.body--school-youth .tbl03 td {
  background: #fff;
  word-break: break-all;
}

.youthAbout h3 {
  color: #d2001e;
  font-size: 20px
}

.youthAbout p {
  margin: 10px 0 20px
}

.youthHC h3 {
  color: #d2001e;
  font-size: 20px;
  margin-bottom: 20px;
  text-align: center
}

.youthHC figure {
  margin: 0 auto 15px
}

.youthHC .tbl02 {
  background: #fff
}

.youthHC h4 {
  font-size: 18px;
  margin-bottom: 10px;
  font-weight: bold
}

.supportCoach h4 {
  color: #d2001e;
  font-size: 18px;
  margin-bottom: 10px
}

.supportCoach h5 {
  font-weight: bold;
  margin-bottom: 10px
}

.supportCoach figure {
  margin: 0 auto 15px
}

.supportCoach .tbl02 {
  background: #fff;
  margin-bottom: 0
}

.logoZenshin {
  max-width: 400px
}

.youthActivity dt {
  font-weight: bold;
  font-size: 16px;
  margin: 25px 0 10px
}

.youthActivity li {
  margin-top: 10px
}

.youthShikaku ol {
  font-size: 16px;
  margin-bottom: 30px
}

.youthShikaku li {
  margin-top: 10px
}

.youthShikaku h4 {
  color: #d2001e;
  font-weight: bold
}

.bg-box {
  background: #f9f9f9;
  border: 1px solid #eceeef;
  padding: 15px
}

.u15video {
  padding-top: 30px
}

.u15video .col-6 {
  margin-top: 20px
}

.youthActivity2 h4 {
  font-weight: bold;
  font-size: 16px;
  color: #d2001e;
  margin-bottom: 10px
}

.youthActivity2 p {
  margin-top: 10px
}

.youthAboutWrap {
  margin-bottom: 50px
}

.youthAboutWrap h3 {
  color: #d2001e;
  font-size: 20px
}

.youthAboutWrap p {
  margin: 10px 0 20px
}

.youthAboutWrap figure {
  margin-bottom: 20px
}

.youthHCWrap h3 {
  color: #d2001e;
  font-size: 20px;
  margin-bottom: 20px;
  text-align: center
}

.youthHCWrap figure {
  margin: 0 auto 15px
}

.youthHCWrap h4 {
  font-size: 18px;
  margin-bottom: 10px;
  font-weight: bold
}

.supportCoach h4 {
  color: #d2001e;
  font-size: 18px;
  margin-bottom: 10px
}

.supportCoach h5 {
  font-weight: bold;
  margin: 10px 0 0
}

.youthActivity h4 {
  margin: 20px 0 10px;
  font-weight: bold
}

.ticket-index .col-6 {
  padding-bottom: 20px
}

.ticket-index-menu .thumbnail {
  text-align: center
}

.ticket-index .accordion {
  background-color: #fff;
  border-bottom: none;
}

.ticket-index .accordion .toggle {
  display: none;
}

.ticket-index .accordion .tit-bar {
  position: relative;
  display: block;
  cursor: pointer;
}

.ticket-index .accordion .tit-bar::before {
  position: absolute;
  content: '';
  width: 6px;
  height: 6px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 3px);
  right: 20px;
  transform: rotate(135deg);
}

.ticket-index .accordion .tit-bar,
.ticket-index .accordion .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.5s;
}

.ticket-index .accordion .content {
  height: 0;
  margin-bottom: 10px;
  overflow: hidden;
  background-color: #fff;
}

.toggle:checked+.tit-bar+.content {
  height: auto;
  transition: all .5s;
}

.toggle:checked+.tit-bar::before {
  transform: rotate(-45deg);
}

/* リクルートのアコーディオンここから */
.news-article .second-body .body .rec-bar,
 .body .second-body .ticket-index .rec-bar {
    border-left: none;
    background: #f3f3f3;
    font-weight: bold;
    color: #4c4c4c;
    padding: 2em 1em;
    font-size: 20px;
    margin-bottom: 20px;
}

.ticket-index .accordion .rec-bar::before {
  position: absolute;
  content: '';
  width: 12px;
  height: 12px;
  border-top: 2px solid #4c4c4c;
  border-right: 2px solid #4c4c4c;
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 3px);
  right: 20px;
  transform: rotate(135deg);
}

.ticket-index .accordion .rec-bar,
.ticket-index .accordion .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.5s;
}

.toggle:checked+.rec-bar+.content {
  height: auto;
  transition: all .5s;
}

.toggle:checked+.rec-bar::before {
  transform: rotate(-45deg);
}

.ticket-index .accordion .content .tit-bar{
  cursor: default;
}

.ticket-index .accordion .content .tit-bar::before{
  content: none;
}
/* リクルートのアコーディオンここまで */

.ticket-index-menu a {
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  padding: 1em;
  border: 1px solid #ccc;
  display: block
}

.ticket-index-menu a span {
  color: #4c4c4c;
  display: block
}

.ticket-index-menu a .thumb-tit {
  margin-top: 5px;
  font-weight: bold
}

.inq-sec-innr {
  background: #fae5e8;
  padding: 20px
}

@media screen and (max-width: 767px) {
  .ticket-index-menu a {
    margin-top: 20px
  }
}

.table-style01 {
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  width: 100%;
  margin-bottom: 5px
}

.table-style01 tr {
  border-bottom: 1px solid #ddd
}

.table-style01 th,
.table-style01 td {
  border-right: 1px solid #ddd;
  padding: 0.5em;
  vertical-align: top
}

.table-style01 th {
  background: #eee
}

.table-style01 .link-wrap {
  margin-bottom: 0
}

.table-style02 {
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  width: 100%;
  margin-top: 20px
}

.table-style02 th,
.table-style02 td {
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 0.5em;
  vertical-align: top
}

.table-style02 th {
  background: #fae5e8;
  text-align: center;
  vertical-align: middle
}

.table-style02 small {
  font-size: 12px
}

.body--ticket-houtobuy .table-style01 {
  margin-bottom: 15px
}

.body--ticket-houtobuy .table-style02 {
  margin-top: 30px
}

.tbl-def {
  width: 100%;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc
}

.tbl-def th,
.tbl-def td {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 0.5em 1em
}

.tbl-def th {
  background: #eee;
  text-align: center
}

.tbl-sale-sche {
  margin-top: 20px
}

.tbl-sale-sche th,
.tbl-sale-sche td {
  vertical-align: middle;
  text-align: center
}

.tbl-sale-sche th {
  line-height: 1.4
}

.tbl-sale-sche .cat-sche {
  width: 25%;
  background: #fff
}

.price-group td {
  text-align: right
}

.price-group td:nth-child(1) {
  text-align: center
}

.tbl-ikomai th,
.tbl-ikomai td {
  vertical-align: middle;
  text-align: center;
  width: 25%
}

.layout-second .second-body .ticketOverviewAll .image-large:nth-of-type(1) {
  margin: -20px -10px 0
}

.layout-second .second-body .ticketOverviewAll .image-large:nth-of-type(2) {
  margin: 50px -10px 0
}

.ticket-box {
  padding-top: 50px
}

.ticket-box .tit-bkGray {
  background: #999;
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding: .3em 1em;
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 18px
}

.ticket-box p {
  font-size: 15px;
  margin-bottom: 10px
}

.ticket-box ol li {
  margin-top: 40px
}

.ticket-box ol li li {
  margin-top: 5px
}

.hr-wrap {
  margin-top: 50px
}

.hr-wrap .hr {
  margin: 0
}

.tblPriceCat {
  border-left: 1px solid #666;
  border-top: 1px solid #666;
  margin-top: 15px
}

.tblPriceCat th,
.tblPriceCat td {
  border-right: 1px solid #666;
  border-bottom: 1px solid #666;
  vertical-align: middle
}

.tblPriceCat th {
  text-align: center;
  padding: .2em .25em;
  font-size: 13px
}

.tblPriceCat td {
  padding: .25em .5em;
  width: 25%;
  text-align: center
}

.tblPriceCat td:first-child {
  text-align: left
}

.catMid td {
  background: #E2EFDA
}

.catLow td {
  background: #DEEBF7
}

.catHigh td {
  background: #FFE699
}

.seatchartBox h3 {
  margin: 0 !important
}

@media print,
screen and (max-width: 767px) {
  .seatchartBox:nth-of-type(2) {
    margin-top: 30px
  }
}

.chartSpecialDetail {
  padding-top: 20px
}

.chartSpecialDetail li {
  margin-top: 5px
}

.chartSpecialDetail span {
  width: 35px;
  height: 35px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px
}

.chartSpecialDetail span img {
  width: 100%
}

.chartDetail {
  padding-top: 20px
}

.chartDetail li {
  position: relative;
  font-size: 12px;
  padding-left: 4em;
  margin-top: 5px
}

.chartDetail span {
  width: 3em;
  position: absolute;
  display: block;
  height: 13px;
  top: 3px;
  left: 0
}

.cl-premium {
  background: #e94738;
  color: #fff
}

.cl-diamond {
  background: #3e3a39;
  color: #fff
}

.cl-platinum1 {
  background: #86c0d3;
  color: #fff
}

.cl-platinum2 {
  background: #8d93c8;
  color: #fff
}

.cl-platinum3 {
  background: #9dc815;
  color: #fff
}

.cl-center1f {
  background: #f6ac19;
  color: #fff
}

.cl-reserved1f {
  background: #0086c9;
  color: #fff
}

.cl-table {
  background: #fdd108;
  color: #666
}

.cl-reserved2f {
  background: #009e3b;
  color: #fff
}

.cl-free2f {
  background: #ed7987;
  color: #fff
}

.cl-group {
  background: #00ab84;
  color: #fff
}

.tabPriceCat {
  margin-top: 15px
}

.tabPriceCat li {
  margin-bottom: 20px;
  width: 33.33%;
  padding-left: 20px;
  padding-right: 20px;
  cursor: pointer
}

.tabPriceCat li span {
  display: block;
  text-align: center;
  font-weight: bold;
  position: relative;
  padding: 10px .5em
}

.tabPriceCat li span:after {
  border-top-width: 15px;
  border-top-style: solid;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
  content: "";
  display: none;
  position: absolute;
  left: 50%;
  bottom: -15px;
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

.tabPriceCat li:hover,
.tabPriceCat li.select {
  font-size: 18px
}

.tabPriceCat li.select span::after {
  display: block
}

.tabPriceCat li:nth-child(1) span {
  background: #E2EFDA
}

.tabPriceCat li:nth-child(1):hover span,
.tabPriceCat li:nth-child(1).select span {
  background: #b1d29f
}

.tabPriceCat li:nth-child(1):hover span,
.tabPriceCat li:nth-child(1).select span::after {
  border-top-color: #b1d29f
}

.tabPriceCat li:nth-child(2) span {
  background: #FFE699
}

.tabPriceCat li:nth-child(2):hover span,
.tabPriceCat li:nth-child(2).select span {
  background: #ffbb37
}

.tabPriceCat li:nth-child(2).select span::after {
  border-top-color: #ffbb37
}

.tabPriceCat li:nth-child(3) span {
  background: #DEEBF7
}

.tabPriceCat li:nth-child(3):hover span,
.tabPriceCat li:nth-child(3).select span {
  background: #a8c8e8
}

.tabPriceCat li:nth-child(3).select span::after {
  border-top-color: #a8c8e8
}

.disnon {
  display: none
}

.tbl-ticket-pl {
  width: 100%;
  border-left: 1px solid #bfbfbf;
  border-top: 1px solid #bfbfbf
}

.tbl-ticket-pl th,
.tbl-ticket-pl td {
  vertical-align: middle;
  border-right: 1px solid #bfbfbf;
  border-bottom: 1px solid #bfbfbf;
  text-align: center
}

.tbl-ticket-pl th {
  background: #eee
}

.tbl-ticket-pl td {
  padding: .5em 1em
}

.tbl-ticket-pl a {
  color: #fff;
}

/*#seat-detail .tit-border {
  border-bottom: none
}*/
.seatDetailBox {
  padding: 0 0 50px
}

.seatDetailBox figure {
  margin-bottom: 10px
}

.seatDetailBox .txt-att {
  color: #d2001e;
  font-size: 13px
}

/*.seatDetailBox h3 {
  border-top: 2px solid;
  font-weight: bold;
  padding: 10px 1em 0
}

.seatDetailBox.premium h3 {
  color: #bf9c46
}
.seatDetailBox.diamond h3 {
  color: #000
}
.seatDetailBox.platinum h3 {
  color: #666
}
.seatDetailBox.center1f h3 {
  color: #ffb300
}
.seatDetailBox.reserved1f h3 {
  color: #0069a0
}
.seatDetailBox.reserved2f h3 {
  color: #009e3b
}
.seatDetailBox.mooviHamanako h3 {
  color: #fdd108
}
.seatDetailBox.free2f h3 {
  color: #d2001e
}*/
.ticket-pricelist {
  margin: 10px 0 20px 0
}

.ticket-pricelist li {

  font-weight: bold;

}

.ticket-pricelist li span {
  font-size: 20px;
  display: block
}

.ticket-pricelist+p {
  font-size: 13px
}

@media screen and (min-width: 768px) {

  /*.ticket-pricelist {
    text-align: center
  }*/
  .ticket-pricelist li {
    display: inline-block
  }
}

.howtoPL {
  padding-top: 20px
}

.howtoPL h3 {
  border-bottom: 1px solid #d2001e;
  color: #d2001e
}

.howtoPL p {
  margin-top: 20px
}

.howtoPL dt {
  font-weight: bold
}

.howtoPL dd {
  padding: 0 1em
}

.dlStyle01 dt {
  margin: 25px 0 5px;
  font-weight: bold;
  color: #bf9c46
}

.dlStyle01 dd {
  padding-left: 1em
}

.flex.btnScrollList {
  margin: 20px -10px 30px
}

.flex.btnScrollList li {
  padding: 10px;
  width: 50%;
  text-align: center
}

.flex.btnScrollList span {
  font-weight: bold;
  background: #d2001e;
  color: #fff;
  cursor: pointer;
  border: 1px solid #d2001e;
  display: block;
  padding: .5em 1em
}

.flex.btnScrollList span:hover {
  color: #d2001e;
  background: #fff
}

.tblHowto {
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc
}

.tblHowto th,
.tblHowto td {
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: .2em .5em
}

.tblHowto th {
  background: #eee;
  text-align: center;
  vertical-align: middle;
  font-weight: bold
}

.tblHowto .col-howto {
  background: #fff
}

.tblHowto strong,
.tblHowto small {
  display: block
}

.tblHowto small {
  font-size: 13px
}

.howtoBuy .tgt-scroll {
  padding-top: 60px
}

.howtoBuy .tgt-scroll .tit-bar {
  margin: 40px 0 20px 0;
}

.howtoBuy .tgt-scroll .col-9 {
  padding-top: 15px
}

.howtoBuy .tgt-scroll .inq-sec-innr {
  margin-top: 15px
}

.BticketWrap .link-wrap {
  margin-top: 30px
}

.BticketPoint {
  background: #eee;
  padding: 15px 20px 20px;
  margin-top: 15px
}

.BticketPoint .tit-middle {
  text-align: center
}

.BticketPoint li {
  font-weight: bold;
  font-size: 16px
}

.BticketPoint li:first-letter {
  color: #bf9c46
}

.howtoDetail {
  padding-top: 40px
}

.howtoDetail:first-of-type {
  padding-top: 20px
}

.howtoDetail .tit-small {
  margin: 25px 0 10px
}

.howtoDetail .tit-small:first-of-type {
  margin-top: 0
}

.ticketingPlace {
  border: 1px solid #ccc;
  padding: 10px 20px;
  margin-top: 15px;
  text-align: left;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px
}

.ticketingPlace img,
.ticketingPlace figcaption {
  display: inline-block;
  vertical-align: middle
}

.ticketingPlace img {
  width: 100px;
  height: 100px;
  margin-right: 20px
}

.ticketingPlace small {
  display: block;
  font-size: 13px
}

.thumb-logo {
  margin-bottom: 20px
}

.thumb-logo a {
  display: block;
  border: 1px solid #ccc;
  padding: 2px
}

.thumb-logo img {
  vertical-align: top
}

@media screen and (max-width: 767px) {
  .thumb-logo {
    margin: 0 auto 20px;
    max-width: 200px
  }
}

.ticket-note2019 {
  border: 2px solid #d2001e;
  margin-bottom: 15px;
  padding: 20px 30px;
  margin-top: 30px;
  line-height: 1.8
}

.ticket-note2019 h4 {
  font-weight: bold;
  background: #fae5e8;
  padding: 10px 1em;
  margin: -20px -30px 25px
}

.ticket-note2019 h5 {
  font-weight: bold;
  margin: 20px 0 5px
}

.groupCate {
  border-bottom: 1px solid #ccc;
  padding: 20px 0
}

.groupCate h3 {
  font-weight: bold;
  color: #d2001e;
  margin-bottom: 10px !important
}

.groupCate p {
  margin-top: 10px
}

.groupPrivilege li {
  font-weight: bold
}

/*.groupPrivilege li:first-letter {
  color: #bf9c46
}*/

.kikakuBox {
  border-top: 1px dashed #ccc;
  padding-top: 50px
}

.kikakuBox:nth-of-type(1) {
  margin-top: 50px
}

.margin-b {
  margin-bottom: 20px
}

.planningPresent .col-4 {
  margin-bottom: 25px
}

.planningPresent figcaption {
  text-align: left
}

.ticket-note2019 ol {
  counter-reset: number;
  padding: 0;
  margin: 0;
  list-style: none
}

.ticket-note2019 ol li {
  margin-bottom: 20px;
  position: relative;
  padding-left: 45px
}

.ticket-note2019 ol li:before {
  position: absolute;
  font-size: 16px;
  counter-increment: number;
  content: counter(number);
  background: #BF9C46;
  padding: 0px 8px 1px;
  top: 25%;
  left: 20px;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff
}

.photo-flex {
  display: flex;
  width: 50%;
}

.BC_overview h4 {
  font-size: 18px;
  font-weight: bold;
  margin: 20px auto;
}

.BC_overview .tbl03 a {
  color: #797979 !important;
  font-weight: bold;
}

@media screen and (min-width: 768px) {

  .BC_overview .BC_commonBenefits,
  .ticket-index .ticket_BC-sales {
    display: flex;
    width: 100%;
  }

  .BC_overview .BC_commonBenefits img {
    width: 25%;
    padding: 10px;
  }

  .ticket-index .ticket_BC-sales {
    flex-wrap: wrap;
  }

  .ticket-index .ticket_BC-sales img {
    width: 50%;
    padding: 10px;
  }

  /*.ticket-index .ticket_BC-sales img {
    width: 25%;
  }*/
}

/*.BC_overview .BC_tit-grade {
  width: 7.5em;
  padding: 0.15em 0.5em;
  margin-bottom: 0.5em;
  color: #fff;
  font-weight: bold;
}

.BC_overview .bc-royal {
  background: #000;
}

.BC_overview .bc-vip {
  background: #bf9c46;
}

.BC_overview .bc-oshivip {
  background: #ff66ff;
}

.BC_overview .bc-premium {
  background: #a6a6a6;
}

.BC_overview .bc-standard {
  background: #ff0000;
}

.BC_overview .bc-light {
  background: #efb000;
}

.BC_overview .BC_tit {
  display: inline-block;
  padding: 0.15em 0.5em;
  color: #fff;
}

.BC_overview .BC_tit-flex {
  display: flex;
  flex-wrap: wrap;
}*/

.BC_membershipType .BC_membershipType_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.BC_membershipType .BC_membershipType_flex .BC_membershipType_img {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  width: 30%;
  margin: 10px 0;
}

.BC_membershipType .BC_membershipType_flex .BC_membershipType_img img {
  height: 158px;
  margin-bottom: 10px;
}

.BC_membershipType .BC_membershipType_flex .BC_membershipType_img .link-wrap {
  margin-top: auto;
}

.BC_membershipType .BC_membershipType_flex .BC_membershipType_img .membership-vip {
  margin-top: 32px;
}

@media only screen and (min-width: 767px) and (max-width: 1280px) {

  .BC_overview .BC_commonBenefits {
    flex-wrap: wrap;
  }

  .BC_overview .BC_commonBenefits img {
    width: 50%;
    padding: 10px;
  }
}

@media only screen and (max-width: 767px) {
  .photo-flex {
    flex-direction: column;
    width: 100%;
  }

  .BC_membershipType .BC_membershipType_flex {
    flex-direction: column;
  }

  .BC_membershipType .BC_membershipType_flex .BC_membershipType_img {
    width: 100%;
    margin: 20px 0;
  }

  .BC_membershipType .BC_membershipType_flex .BC_membershipType_img .membershipType-span {
    text-align: center;
  }

  .BC_membershipType .BC_membershipType_flex .BC_membershipType_img .membership-vip {
    margin-top: 0;
  }

  .BC_overview .img_sp-center {
    text-align: center;
  }

  .BC_overview .BC_commonBenefits,
  .ticket-index .ticket_BC-sales {
    flex-direction: column;
    text-align: center;
  }

  .BC_overview .BC_commonBenefits img,
  .ticket-index .ticket_BC-sales img {
    width: 80%;
    padding: 10px;
  }
}

.BC_overview .accordion {
  border-bottom: none;
}

.BC_overview .accordion .toggle {
  display: none;
}

.BC_overview .accordion .Label {
  font: 16px/1.61 "Noto Sans Japanese", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #333;
  position: relative;
  display: block;
  cursor: pointer;
  font-weight: bold;
  padding: 10px 10px 10px 20px;
  background-color: #EFEFEF;
}

.BC_overview .accordion .Label::before {
  position: absolute;
  content: '';
  width: 6px;
  height: 6px;
  border-top: 2px solid #797979;
  border-right: 2px solid #797979;
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 3px);
  right: 20px;
  transform: rotate(135deg);
}

/*.BC_overview .accordion .Label::before {
  top: 48%;
  left: 15px;
  transform: rotate(0deg);
}

.BC_overview .accordion .Label::after {
  top: 48%;
  left: 15px;
  transform: rotate(90deg);
}*/

.BC_overview .accordion .Label,
.BC_overview .accordion .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.5s;
}

.BC_overview .accordion .content {
  height: 0;
  margin-bottom: 10px;
  padding: 0 20px;
  overflow: hidden;
  background-color: #fff;
}

.toggle:checked+.Label+.content {
  height: auto;
  padding: 20px;
  transition: all .5s;
}

.toggle:checked+.Label::before {
  transform: rotate(-45deg);
}

/*.toggle:checked+.Label::after {
  transform: rotate(-45deg);
}*/

.br-none {
  display: none
}

.border-g {
  border: solid 1px #9EA1A0
}

.mt20 {
  margin-top: 20px
}

.mt30 {
  margin-top: 30px
}

.mt40 {
  margin-top: 40px
}

.mt80 {
  margin-top: 80px
}

.guide p {
  font-size: 15px;
  line-height: 1.6
}

.guide .p-big {
  font-size: 16px;
  line-height: 1.7
}

.guide small {
  font-size: 13px
}

.tit-b {
  font-size: 18px
}

.tit-guide-border {
  color: #D2001E;
  font-weight: bold;
  font-size: 18px;
  border-bottom: 1px solid;
  margin-bottom: 30px;
  line-height: 1.6;
  padding-bottom: 5px
}

.tit-guide {
  border: solid #D2001E 2px;
  list-style-type: none;
  display: flex;
  width: 100%;
  overflow: hidden
}

.tit-guide strong {
  color: #D2001E;
  background: #fff;
  padding: 0.5em 1em 0.5em 1.5em
}

.tit-guide span,
.tit-guide strong {
  position: relative
}

.tit-guide span:after {
  top: -.5em;
  right: -.8em;
  border-width: 40px 0 40px 1em;
  z-index: 10;
  border-style: solid
}

.tit-guide span {
  background: #D2001E;
  font-weight: bold;
  color: #fff;
  font-size: 20px;
  padding: 0.7em 1em 0.7em 1em
}

.tit-guide span:after {
  content: "";
  border-color: transparent transparent transparent #D2001E;
  position: absolute;
  width: 0;
  height: 0;
  margin: auto
}

.ar-os h4,
.ar-bro h4 {
  font-size: 20px;
  font-weight: bold
}

.ar-os .col-box {
  border: solid 2px #4C4C4C
}

.ar-os .col-box span {
  display: block;
  background: #4C4C4C;
  padding: 10px 20px;
  color: #fff;
  font-size: 15px;
  font-weight: bold
}

.ar-os .col-box div {
  display: flex;
  justify-content: space-between;
  padding: 20px
}

.ar-os .col-box p {
  font-size: 18px
}

.ar-bro .col-6 div {
  display: flex;
  justify-content: space-between
}

.ar-bro .col-6 figcaption {
  font-size: 12px
}

.ar-bro .col-6 figcaption strong {
  font-size: 14px
}

.listHead {
  margin-bottom: 1em;
  font-size: 15px
}

.listHead:before {
  content: counter(number, upper-alpha);
  background: #BF9C46;
  font-weight: bold
}

.listHead strong {
  font-size: 16px
}

.listCash-1:before {
  top: 15%
}

.listCash-2:before {
  top: 8%
}

.listAtte strong {
  font-size: 15px
}

.listAtte li {
  margin-bottom: 20px;
  position: relative;
  padding-left: 45px
}

.listAtte li:before {
  content: "";
  position: absolute;
  padding: 14px 14px;
  top: 25%;
  left: 20px;
  transform: translate(-50%, -50%);
  text-align: center
}

.atte-1:before {
  background: url("/files/user/images/ticket/icon-ate1.svg") no-repeat left center
}

.atte-2:before {
  background: url("/files/user/images/ticket/icon-ate2.svg") no-repeat left center
}

.li-icon .listAtte strong {
  font-size: 15px
}

.li-icon .listAtte li {
  padding-left: 65px;
  font-size: 14px
}

.li-icon .listAtte li:before {
  padding: 25px 30px;
  top: 50%;
  left: 30px
}

.li-icon .atte-1:before {
  background: url("/files/user/images/ticket/icon-sumachike.svg") no-repeat left center
}

.li-icon .atte-2:before {
  background: url("/files/user/images/ticket/icon-pdf.svg") no-repeat center
}

.ticket-guide-get .tit-get {
  margin-top: 60px;
  margin-bottom: 30px;
  background: #D2001E;
  font-size: 20px;
  font-weight: bold;
  padding: 1em 1.5em;
  color: #fff
}

.ticket-guide-get .tit-get:before {
  content: ""
}

.ticket-guide-get .getIco-1 {
  position: relative;
  padding-left: 75px
}

.ticket-guide-get .getIco-1:before {
  position: absolute;
  padding: 25px 30px;
  top: 50%;
  left: 55px;
  transform: translate(-50%, -50%);
  text-align: center;
  background: url("/files/user/images/ticket/icon-sumachike-min.svg") no-repeat left center
}

.ticket-guide-get .getIco-2:before {
  padding: 20px 20px;
  background: url("/files/user/images/ticket/icon-pdf-min.svg") no-repeat left center
}

.tit-guide-min-box {
  margin-top: 30px
}

.tit-guide-border-min {
  font-weight: bold;
  font-size: 16px;
  border-bottom: 1px solid;
  margin-bottom: 15px;
  line-height: 1.6;
  padding-bottom: 5px
}

.get-printer .tit-guide-border,
.get-conveni .tit-guide-border {
  margin-top: 50px;
  margin-bottom: 20px
}

.get-printer .tit-guide-border:before,
.get-conveni .tit-guide-border:before {
  content: "";
  padding: 15px 25px
}

.get-printer .tit-guide-border:before {
  background: url("/files/user/images/ticket/icon-printer.svg") no-repeat center
}

.get-conveni .tit-guide-border:before {
  background: url("/files/user/images/ticket/icon-conveni.svg") no-repeat center
}
/* 2025.08.07 ADD OKADA --START */
.link-box{
  display:grid;
  gap:2px;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
.link-box a.link-box-item{
  position:relative;
  background-color:#ccc;
}
.link-box a.link-box-item:hover{
  opacity:0.8;
  transition:.2s;
}
.team-hh .layout-second .news-article .second-body article a.link-box-item {
  color:#000 !important;
}
.link-box a.link-box-item div{
  padding:1rem 3rem 1rem 2rem;
}
.link-box-item::after{
  content:"";
  width: 0.8rem;
  position:absolute;
  top:calc(50% - 0.3rem);
  right:1rem;
  aspect-ratio: 1/cos(45deg);
  clip-path: polygon(50% 100%,100% 0,0 0);
  background: #000;
}
/* 2025.08.07 ADD OKADA --END */

@media screen and (max-width: 767px) {
  .tit-guide span {
    font-size: 18px;
    padding: 0.5em 1em 0.5em 1em
  }

  .tit-guide span:after {
    border-width: 31px 0 45px 1em
  }

  .tit-b {
    font-size: 16px
  }

  .ar-os .col-6:nth-of-type(n+2),
  .ar-bro .col-6:nth-of-type(n+2) {
    margin-top: 20px
  }
  /* 2025.08.07 ADD OKADA --START */
  .link-box{
    grid-template-columns: repeat(1, 1fr);
  }
  /* 2025.08.07 ADD OKADA --END */
}

@media screen and (max-width: 375px) {
  .br-none {
    display: block
  }

  .ticket-guide-get .getIco-1 {
    line-height: 1.3
  }
}

h_comcul {
  font-size: 20px;
  font-weight: 500;
}

.sdl_message_h {
  font-size: 28px;
  font-weight: 500;
}

.sdl_message_p {
  font-size: 16px;
  line-height: 2;
  padding-left: 1em;
}

.sdl_flex_2 {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  margin-bottom: 4em;
  margin-top: 3em;
}

.sdl_flex_2>div:first-child {
  flex: 0 0 50%;
  margin-right: 1em;
}

.sdl_h4 {
  background-color: #efefef;
  padding: 0.3em 1em;
  margin-bottom: 0.5em;
}

.sdl_ol {
  list-style-type: none;
  list-style-position: outside;
}

.sdl_ol>li {
  margin-bottom: 0.4em;
}

.sdl_tbl {
  border-collapse: collapse;
  border-left: 1px solid #efefef;
  border-top: 1px solid #efefef;
  margin: 4em 0 2em;
  max-width: 500px;
}

.sdl_tbl th,
.sdl_tbl td {
  border-right: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  padding: 0.6em 1em;
  text-align: left;
}

.sdl_tbl th {
  background-color: rgba(210, 155, 163, 0.3);
}

.sdl_tbl td span {
  display: inline-block;
}

@media only screen and (max-width: 767px) {
  .sdl_message_h {
    font-size: 20px;
    margin-bottom: 1em;
  }

  .sdl_message_p {
    font-size: 14px;
  }

  .sdl_flex_2 {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 2em;
    margin-top: 2em;
  }

  .sdl_flex_2 figure {
    width: 90%;
    margin: auto;
  }

  .sdl_ol>li {
    font-size: 14px;
  }

  .sdl_tbl th,
  .sdl_tbl td {
    font-size: 14px;
  }
}
.academy_con *{
  box-sizing:border-box;
}
.banner-600{
  display:block;
  width90%;
  max-width:600px;
  margin-left:auto;
  margin-right:auto;
}
.h-vision{
  width:300px;
}
.box-vision{
  justify-content:space-between;
  max-width:1000px;
  margin:0 auto 2em;
}
.box-vision>article{
  max-width:300px;
  margin-left:auto;
  margin-right:auto;
}
.box-vision>article img{
  width:200px;
}
.flex-aca{
  display:flex;
  justify-content:center;
  align-items:center;
}
.bold{
  font-weight:bold;
}
.u12link{
  display:block;
  width:100%;
  max-width:600px;
  margin-left:auto;
  margin-right:auto;
}
.fs24{
  font-size:20px;
}
@media only screen and (min-width: 768px) {
  .fs24{
  font-size:24px;
}
.u12link{
  width:50%;
}
}
.coach_name{
  font-weight:bold;
  font-size:16px;
}
.coach_name span{
  font-size:24px;
}
.career{
  font-size:14px;
}
.career dl{
  display:flex;
  flex-wrap:nowrap;
}
.career dl dt{
  width:5em;
  margin-right:2em;
}
.career dl dd{
  font-size:14px !important;
}
.academy_con .responsivtable th{
  width:16em;
}
.academy_con .responsivtable th,
.academy_con .responsivtable td{
  text-align:left;
}
@media screen and (max-width: 768px) {
.academy_con .responsivtable th,
.academy_con .responsivtable td{
  width:100%;
  display:block;
}
.academy_con .responsivtable th .ghost,
.academy_con .responsivtable td .ghost{
  display:none;
}
}