body,
input,
textarea,
button,
select,
label {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "繝偵Λ繧ｮ繝手ｧ偵ざ ProN W3", "Hiragino Sans W3", "Hiragino Sans", "繝｡繧､繝ｪ繧ｪ", Meiryo, Arial, sans-serif
}

body {
  background-color: #000;
  box-sizing: border-box;
  color: #222;
  font-size: 16px;
  margin: 0;
  min-width: 320px;
  position: relative;
  -webkit-text-size-adjust: 100%
}

header,
footer,
main,
article,
aside,
section,
nav,
figure,
figcaption {
  display: block;
  margin: 0;
  padding: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-feature-settings: "palt";
  line-height: 1.7;
  margin: 0;
  padding: 0
}

p,
th,
td,
li,
dt,
dd {
  font-feature-settings: "palt";
  font-size: 0.938rem;
  line-height: 1.7;
  margin: 0;
  padding: 0
}

ul,
ol {
  list-style-type: none;
  margin: 0;
  padding: 0
}

dl,
form {
  margin: 0;
  padding: 0
}

fieldset,
iframe {
  border-style: none;
  margin: 0;
  max-width: 100%;
  padding: 0
}

input[type=text],
input[type=button],
input[type=submit],
input[type=reset],
textarea,
button {
  -webkit-appearance: none;
  border: none;
  border-radius: 0;
  font-feature-settings: "palt";
  font-size: 1rem
}

input[type=button],
input[type=submit],
input[type=reset],
button {
  cursor: pointer
}

input[type=text]:-ms-input-placeholder {
  color: #cfcfcf
}

input[type=text]::-moz-placeholder {
  color: #cfcfcf
}

input[type=text]::placeholder {
  color: #cfcfcf
}

input[type=text]:focus {
  background-color: #facdbf
}

input[type=text]:focus:-ms-input-placeholder {
  color: #facdbf
}

input[type=text]:focus::-moz-placeholder {
  color: #facdbf
}

input[type=text]:focus::placeholder {
  color: #facdbf
}

select {
  border: none;
  border-radius: 0;
  cursor: pointer;
  font-size: 1rem
}

select:focus {
  outline: none
}

html[data-keypress-flag] select:focus {
  outline: 1px dotted #000
}

label {
  cursor: pointer;
  font-size: 1rem
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

th {
  text-align: left
}

caption {
  text-align: left;
  width: 100%
}

address {
  font-style: normal;
  font-weight: normal
}

i {
  font-style: oblique
}

b,
em {
  font-style: normal;
  font-weight: bold
}

strong {
  color: #c80000;
  font-weight: bold
}

small {
  font-size: 1rem
}

figure img {
  display: inline-block;
  margin: 0 auto
}

img {
  border-style: none;
  height: auto;
  -ms-interpolation-mode: bicubic;
  margin: 0 auto;
  max-width: 100%
}

a {
  transition: all .3s ease
}

a:link,
a:visited {
  color: #1e4696
}

a:active,
a:hover {
  color: #c80000
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0
}

* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: 縲none
}

.header {
  background-color: #000;
  color: #fff;
  left: 0;
  min-width: 320px;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 1001
}

.header a {
  color: #fff;
  text-decoration: none
}

.header a:hover img,
.header a:active img {
  opacity: 1
}

.header_logo {
  height: 32px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px
}

.header_logo a,
.header_logo img {
  display: inline-block;
  height: 32px;
  width: auto
}

.header_utility a {
  background-color: #333;
  border-radius: 4px;
  line-height: 40px;
  overflow: hidden;
  padding-left: 40px;
  width: 40px
}

.header_utility_ticket a::before,
.header_utility_onlineshop a::before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: 0;
  content: "";
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px
}

.header_utility_ticket a::before {
  background-image: url(/assets/img/ico_head_ticket.svg)
}

.header_utility_onlineshop a::before {
  background-image: url(/assets/img/ico_head_onlineshop.svg)
}

.header_utility,
.header_nav_sns {
  box-sizing: border-box;
  display: block;
  margin: 0 auto;
  max-width: 1240px
}

.header_utility li,
.header_nav_sns li {
  display: inline-block;
  margin: 0;
  padding: 0;
  vertical-align: bottom
}

.header_utility li::before,
.header_nav_sns li::before {
  display: none
}

.header_utility li a:hover,
.header_utility li a:active,
.header_nav_sns li a:hover,
.header_nav_sns li a:active {
  background-color: #666;
  color: #fff
}

.header_utility a,
.header_nav_sns a {
  box-sizing: border-box;
  display: inline-block;
  overflow: hidden;
  position: relative;
  text-align: center;
  white-space: nowrap
}

.header_nav_sns {
  padding: 0 20px;
  width: 100%
}

.header_nav_sns a {
  align-items: center;
  display: flex;
  height: 32px;
  justify-content: center
}

@media only screen and (max-width: 600px) {

  [data-device="pc"]{
    display: none!important;
  }

  html.js_nav_open,
  html.js_nav_open body {
    height: 100%;
    overflow: hidden;
    width: 100%
  }

  html.js_nav_open .header {
    top: 0 !important
  }

  body {
    padding-top: 64px;
    -webkit-overflow-scrolling: touch
  }

  .header {
    height: 64px
  }

  .header_nav {
    background: #000 url(/assets/img/bg_nav.jpg) top center no-repeat;
    background-size: cover;
    box-sizing: border-box;
    height: 0;
    left: 0;
    opacity: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 64px 16px 16px;
    position: fixed;
    top: -80px;
    transition: all .3s ease;
    width: 100%;
    z-index: 1000
  }

  .js_nav_open .header_nav {
    height: 100%;
    opacity: 1;
    top: 0
  }

  .header_nav_global {
    margin: 0;
    padding: 0
  }

  .header_nav>li,
  .header_nav_global>li {
    background-color: rgba(0, 0, 0, .7);
    border-bottom: 1px solid #555;
    font-size: 1.125rem
  }

  .header_nav>li a,
  .header_nav_global>li a {
    display: block;
    padding: 16px 36px 16px 24px;
    position: relative
  }

  .header_nav>li a::after,
  .header_nav_global>li a::after {
    border-color: #cfcfcf;
    border-style: solid;
    border-width: 0 2px 2px 0;
    bottom: 0;
    content: "";
    display: block;
    height: 7px;
    margin: auto 0;
    position: absolute;
    right: 24px;
    top: 0;
    transform: rotate(-45deg);
    width: 7px
  }

  .header_nav_child {
    display: none
  }

  .header_nav_button {
    align-items: flex-end;
    cursor: pointer;
    display: flex;
    font-size: 0.625rem;
    justify-content: center;
    height: 40px;
    line-height: 1.2;
    min-width: 32px;
    outline: none;
    position: absolute;
    right: 16px;
    top: 8px;
    z-index: 1001
  }

  .header_nav_button::before,
  .header_nav_button::after {
    border-top: 2px solid #fff;
    content: "";
    display: block;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    transition: all .3s ease;
    width: 32px
  }

  .header_nav_button::before {
    top: 10px
  }

  .header_nav_button::after {
    top: 20px
  }

  .js_nav_open .header_nav_button::before {
    top: 15px;
    transform: rotate(45deg)
  }

  .js_nav_open .header_nav_button::after {
    top: 15px;
    transform: rotate(135deg)
  }

  .header_utility {
    left: auto;
    position: absolute;
    right: 80px;
    top: 12px
  }

  .header_utility li {
    margin-left: calc(16px - .4em)
  }

  .header_nav_sns {
    display: flex;
    justify-content: space-between;
    margin: 48px auto 0;
    max-width: 288px
  }

  .header_nav_sns a {
    background-color: #333;
    border-radius: 8px;
    height: 48px;
    width: 48px
  }
}

@media only screen and (min-width: 601px) {
  [data-device="sp"]{
    display: none!important;
  }
  body {
    padding-top: 120px
  }

  .header {
    height: 120px
  }

  .header_logo {
    padding-top: 24px
  }

  .header_nav_wrapper {
    position: relative;
    padding: 0 16px
  }

  .header_nav,
  .header_nav_global {
    align-items: center;
    display: flex;
    height: 48px;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1200px;
    padding: 0;
    width: 100%
  }

  .header_nav>li,
  .header_nav_global>li {
    display: flex;
    position: static
  }

  .header_nav>li:not([data-nav-name]),
  .header_nav_global>li:not([data-nav-name]) {
    display: none
  }

  .header_nav>li[data-nav-name]+li[data-nav-name],
  .header_nav_global>li[data-nav-name]+li[data-nav-name] {
    margin-left: .8em
  }

  .header_nav>li>a,
  .header_nav_global>li>a {
    align-items: center;
    display: flex;
    font-size: 1rem;
    height: 45px;
    line-height: 1.2;
    padding-bottom: 3px;
    position: relative;
    width: 100%
  }

  .header_nav>li>a:after,
  .header_nav_global>li>a:after {
    border-top: 3px solid #fff;
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    margin: 0 auto;
    opacity: 0;
    position: absolute;
    right: 0;
    transition: all .3s ease;
    width: 0
  }

  .header_nav>li:hover>a:after,
  .header_nav>li.header_nav_current>a:after,
  .header_nav_global>li:hover>a:after,
  .header_nav_global>li.header_nav_current>a:after {
    opacity: 1;
    width: 100%
  }

  .header_nav>li ul[data-link-type=text],
  .header_nav_global>li ul[data-link-type=text] {
    flex-wrap: wrap;
    justify-content: flex-start;
    max-width: 800px;
    padding: 24px 0
  }

  .header_nav>li ul[data-link-type=text] li,
  .header_nav_global>li ul[data-link-type=text] li {
    position: relative;
    width: 200px
  }

  .header_nav>li ul[data-link-type=text] li::after,
  .header_nav_global>li ul[data-link-type=text] li::after {
    background-color: #454545;
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: all .3s ease;
    width: 0;
    z-index: 0
  }

  .header_nav>li ul[data-link-type=text] li:hover::after,
  .header_nav_global>li ul[data-link-type=text] li:hover::after {
    opacity: 1;
    width: 100%
  }

  .header_nav>li ul[data-link-type=text] a,
  .header_nav_global>li ul[data-link-type=text] a {
    padding: 12px 24px;
    position: relative;
    z-index: 1
  }

  .header_nav>li ul[data-link-type=text] a:hover,
  .header_nav>li ul[data-link-type=text] a:active,
  .header_nav_global>li ul[data-link-type=text] a:hover,
  .header_nav_global>li ul[data-link-type=text] a:active {
    background-color: rgba(255, 255, 255, 0)
  }

  .header_nav>li ul[data-link-type=svg] li,
  .header_nav_global>li ul[data-link-type=svg] li {
    width: 200px
  }

  .header_nav>li ul[data-link-type=svg] figure,
  .header_nav_global>li ul[data-link-type=svg] figure {
    height: 125px
  }

  .header_nav>li ul[data-link-type=svg] figure:before,
  .header_nav_global>li ul[data-link-type=svg] figure:before {
    padding-top: 56px
  }

  .header_nav>li ul[data-link-type=svg] figcaption,
  .header_nav_global>li ul[data-link-type=svg] figcaption {
    padding-top: 16px
  }

  .header_nav_child {
    background-color: #222;
    display: none;
    left: 0;
    position: absolute;
    right: 0;
    top: 100%
  }

  .header_nav_child ul {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    margin: 0 auto;
    padding: 0
  }

  .header_nav_child li {
    display: flex;
    font-size: 0.875rem;
    padding-left: 0;
    margin: 0;
    max-width: 25%;
    width: 280px
  }

  .header_nav_child li::before {
    display: none
  }

  .header_nav_child li:nth-child(1):nth-last-child(5),
  .header_nav_child li:nth-child(2):nth-last-child(4),
  .header_nav_child li:nth-child(3):nth-last-child(3),
  .header_nav_child li:nth-child(4):nth-last-child(2),
  .header_nav_child li:nth-child(5):nth-last-child(1) {
    max-width: 20%
  }

  .header_nav_child li:nth-child(1):nth-last-child(6),
  .header_nav_child li:nth-child(2):nth-last-child(5),
  .header_nav_child li:nth-child(3):nth-last-child(4),
  .header_nav_child li:nth-child(4):nth-last-child(3),
  .header_nav_child li:nth-child(5):nth-last-child(2),
  .header_nav_child li:nth-child(6):nth-last-child(1) {
    max-width: 16.6%
  }

  .header_nav_child ul:not([class])>li:nth-child(n+1) {
    padding-left: 0;
    margin: 0
  }

  .header_nav_child ul:not([class])>li:nth-child(n+1)::before {
    display: none
  }

  .header_nav_child figure {
    height: 190px;
    margin: 0 auto;
    max-width: 96%;
    overflow: hidden;
    position: relative;
    width: 200px
  }

  .header_nav_child figure:before {
    content: "";
    display: block;
    height: 0;
    padding-top: 60%;
    width: 100%
  }

  .header_nav_child figure img {
    bottom: 70px;
    display: block;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1
  }

  .header_nav_child figure img[src*=".jpg"] {
    transition: all .3s ease
  }

  .header_nav_child figure figcaption {
    background-color: #222;
    padding: 24px 0 0;
    position: relative;
    text-align: center;
    transition: all .3s ease;
    z-index: 2
  }

  .header_nav_child a {
    background-color: #222;
    box-sizing: border-box;
    display: block;
    padding: 40px 0 0;
    transition: all .3s ease;
    width: 100%
  }

  .header_nav_child a:hover,
  .header_nav_child a:active {
    background-color: #454545
  }

  .header_nav_child a:hover figcaption,
  .header_nav_child a:active figcaption {
    background-color: #454545
  }

  .header_nav_child a:hover img[src*=".jpg"],
  .header_nav_child a:active img[src*=".jpg"] {
    transform: translate3d(0, 0, 0) scale(1.2)
  }

  .header_nav_open .header_nav_child {
    display: block
  }

  .header_nav_button {
    display: none
  }

  .header_utility,
  .header_nav_sns {
    position: absolute;
    right: 0;
    text-align: right
  }

  .header_utility li,
  .header_nav_sns li {
    margin-left: calc(24px - .4em)
  }

  .header_utility {
    height: 0;
    left: 0;
    padding: 0 20px;
    top: 24px
  }

  .header_utility a {
    line-height: 32px;
    width: 32px
  }

  .header_nav_sns {
    height: 0;
    left: 0;
    padding-right: 132px;
    top: -48px
  }

  .header_nav_sns a {
    border-radius: 4px;
    width: 32px
  }
}

@media only screen and (min-width: 980px) {
  .header_utility li {
    margin-left: calc(16px - .4em)
  }

  .header_utility a {
    font-size: 1rem;
    min-width: 162px;
    padding-left: 0;
    width: auto
  }

  .header_utility_ticket a::before,
  .header_utility_onlineshop a::before {
    height: 32px;
    margin-right: 10px;
    position: static;
    vertical-align: top;
    width: 18px
  }

  .header_nav_sns {
    padding-right: 440px
  }
}

@media only screen and (max-width: 479px) {
  .header_logo {
    padding-right: 180px
  }

  .header_utility {
    right: 64px;
    top: 12px
  }

  .header_utility li {
    margin-left: calc(16px - .4em)
  }
}

.sns_links {
  margin: 40px auto 0;
  max-width: 1040px
}

.sns_links ul {
  display: flex;
  justify-content: center;
  width: 100%
}

.sns_links li {
  height: 48px;
  margin: 0 20px;
  vertical-align: bottom;
  width: 48px
}

.sns_links a {
  background-color: #454545;
  border-radius: 8px;
  display: block;
  height: 48px;
  width: 48px
}

.sns_links a:hover {
  background-color: #666
}

.sns_links a:hover img {
  opacity: 1
}

.sns_links img {
  display: block
}

@media only screen and (min-width: 601px) {
  .sns_links {
    margin-top: 64px
  }
}

.to_page_head {
  margin: 54px auto 0;
  max-width: 1200px;
  padding: 0 16px
}

.to_page_head a {
  background-color: #000;
  border-radius: 4px;
  display: block;
  height: 40px;
  margin: 0 0 0 auto;
  overflow: hidden;
  position: relative;
  text-indent: 50px;
  transition: all .3s ease;
  width: 40px;
  white-space: nowrap
}

.to_page_head a:before {
  border-color: #fff;
  border-style: solid;
  border-width: 2px 2px 0 0;
  bottom: 0;
  content: "";
  display: block;
  height: 7px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 6px;
  transform: rotate(-45deg);
  width: 7px
}

.to_page_head a:hover,
.to_page_head a:active {
  background-color: #454545
}

.to_page_head::after {
  content: "";
  display: block;
  bottom: 0;
  height: 6000px;
  left: 0;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: -1
}

@media only screen and (max-width: 600px) {
  .to_page_head::after {
    background: url(/assets/img/bg_wave_sp.jpg) bottom right no-repeat
  }
}

@media only screen and (min-width: 601px) {
  .to_page_head::after {
    background: url(/assets/img/bg_wave_pc.jpg) bottom center no-repeat
  }
}

@media only screen and (min-width: 1280px) {
  .to_page_head::after {
    background-size: 100% auto
  }
}

.footer {
  color: #fff;
  background-color: #000;
  font-size: 0.875rem;
  margin-top: 24px;
  min-height: 60px;
  padding: 40px 0;
  position: relative
}

.footer a {
  text-decoration: none
}

.footer a:link,
.footer a:visited {
  color: #fff
}

.footer a:hover,
.footer a:active {
  color: #c80000
}

.footer_links {
  display: flex;
  flex-wrap: wrap;
  margin: -16px auto 0
}

.footer_links li {
  margin-top: 16px
}

.footer_links a {
  display: inline-block
}

.footer_copyright {
  margin: 0 auto
}

.footer_copyright small {
  font-size: 0.75rem
}

.footer_copyright img {
  max-width: 80px
}

@media only screen and (max-width: 899px) {
  .footer_links {
    justify-content: center;
    padding: 0 8px
  }

  .footer_links a {
    padding: 0 12px
  }

  .footer_copyright {
    text-align: center
  }

  *+.footer_copyright {
    margin-top: 40px
  }

  .footer_copyright *+li {
    margin-top: 16px
  }
}

@media only screen and (min-width: 900px) {
  .footer_links {
    box-sizing: border-box;
    max-width: 1232px;
    padding-right: 36em
  }

  .footer_links a {
    padding: 0 16px
  }

  .footer_copyright {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    height: 0;
    left: 16px;
    max-width: 1200px;
    position: absolute;
    right: 16px;
    top: 40px
  }

  .footer_copyright li:first-child {
    margin-top: 8px;
    order: 2
  }

  .footer_copyright li:last-child {
    order: 1
  }
}

#tPath {
  background-color: #000;
  box-shadow: 0 0 200px 200px #000;
  color: #fff;
  letter-spacing: -0.4em;
  margin: 0 auto 0;
  max-width: 1200px;
  padding: 40px 24px 0
}

#tPath li {
  display: inline-block;
  font-size: 0.875rem;
  letter-spacing: 0;
  padding-left: 0
}

#tPath li::before {
  border-style: none;
  content: ">";
  display: inline-block;
  height: auto;
  position: static;
  text-align: center;
  width: 2em
}

#tPath li:first-child::before {
  display: none
}

#tPath li a:link,
#tPath li a:visited {
  color: #fff
}

@media only screen and (max-width: 600px) {
  #tPath {
    display: none
  }
}

#lNav {
  margin-top: 48px
}

#lNav a {
  display: block;
  padding: calc(24px - 0.35em) 16px;
  text-decoration: none
}

#lNav a:link,
#lNav a:visited {
  color: #fff
}

#lNav h2 {
  font-size: 0.938rem;
  padding: 0;
  position: relative;
  z-index: 1
}

#lNav h2::before,
#lNav h2::after {
  display: none
}

#lNav li {
  padding: 0
}

#lNav li::before {
  display: none
}

#lNav li li:nth-child(n+2) {
  margin-top: 16px
}

#lNav li li a {
  padding: calc(8px - 0.35em) 16px
}

#lNav li li ul {
  margin: 16px 0 0 16px
}

#lNav>nav>ul {
  background-color: rgba(34, 34, 34, .75);
  margin: -1px 0 0;
  padding: 0 16px;
  position: relative;
  z-index: 0
}

#lNav>nav>ul>li {
  border-top: 1px solid #454545;
  margin-top: 0
}

#lNav>nav>ul>li>a {
  margin: 0 -16px
}

#lNav>nav>ul>li>ul {
  margin-top: 0;
  padding-bottom: 16px
}

#lNav .current {
  position: relative;
  vertical-align: top
}

#lNav .current::before {
  border-left: 2px solid #fff;
  content: "";
  display: block;
  height: calc(100% - 32px);
  left: 0;
  position: absolute;
  top: 16px;
  width: 0
}

#lNav li li .current::before {
  height: 100%;
  top: 0
}

@media only screen and (min-width: 601px) {
  #lNav {
    float: right;
    margin-top: 0;
    max-width: 240px;
    width: 23%
  }
}

html.js-active,
html.js-active body {
  min-height: 100%;
  min-width: 100%;
  overflow: hidden;
  position: relative
}

.js_modal_window {
  display: inline-flex;
  flex-direction: column;
  max-height: calc(100% - 32px);
  max-width: calc(100% - 32px);
  opacity: 0;
  position: relative;
  transform: scale(0);
  transition: all .2s;
  z-index: 10002
}

.js_modal_window img {
  vertical-align: bottom
}

.js_modal_button {
  cursor: pointer;
  font-size: 0.75rem;
  color: #fff;
  margin: 16px 0 0 auto;
  position: relative;
  padding-top: 40px;
  text-align: center;
  transition: all .2s;
  width: 60px
}

.js_modal_button::before,
.js_modal_button::after {
  border-left: 2px solid #fff;
  content: "";
  display: block;
  height: 32px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 4px;
  width: 0
}

.js_modal_button::before {
  transform: rotate(-45deg)
}

.js_modal_button::after {
  transform: rotate(45deg)
}

.js_modal_button:hover {
  opacity: .7
}

.js_modal_scroll {
  box-sizing: border-box;
  max-height: calc(100% - 160px);
  max-width: 940px;
  overflow-y: auto;
  padding: 0
}

#js_modal_screen,
#js_modal_area {
  height: 100%;
  left: 0;
  margin: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  width: 100%
}

#js_modal_screen {
  background-color: rgba(0, 0, 0, .9);
  cursor: pointer;
  transition: all .2s;
  z-index: 10001
}

.js-active #js_modal_screen {
  opacity: 1
}

#js_modal_area {
  align-items: center;
  justify-content: center;
  display: flex;
  opacity: 0;
  transition: all 0s .2s;
  visibility: hidden;
  z-index: 10000
}

#js_modal_area.js-active {
  opacity: 1;
  transition: all 0s;
  visibility: visible
}

#js_modal_area.js-active .js_modal_window {
  opacity: 1;
  transform: scale(1)
}

#container {
  margin: 0 auto;
  max-width: 1200px
}

#container>article,
#container main {
  background-color: #fff;
  box-sizing: border-box;
  padding: 24px
}

#container>article:last-child,
#container main:last-child {
  margin: 0 auto;
  max-width: 960px
}

#container>article:not(:last-child):not(.members_data),
#container main:not(:last-child):not(.members_data) {
  max-width: 920px
}

#container #dirIndex {
  max-width: 100%
}

#container .members_profile {
  margin: 0 auto;
  max-width: 1040px
}

@media only screen and (min-width: 601px) {
  #container {
    margin-top: 40px
  }

  #container::after {
    clear: both;
    content: "";
    display: block
  }

  #container>article,
  #container main {
    padding: 48px 40px
  }

  #container>article:not(:last-child),
  #container main:not([class]):not(:last-child) {
    float: left;
    width: 77%
  }
}

@media only screen and (max-width: 479px) {

  #container>article,
  #container main {
    padding: 16px
  }
}

h1,
.wm-h1 {
  font-size: 1.5rem;
  font-weight: bold;
  padding: 0
}

@media only screen and (min-width: 480px)and (max-width: 600px) {

  h1,
  .wm-h1 {
    font-size: 1.688rem
  }
}

@media only screen and (min-width: 601px) {

  h1,
  .wm-h1 {
    font-size: 1.875rem
  }
}

h2,
h3,
h4,
h5,
h6 {
  color: #222;
  font-weight: bold;
  position: relative
}

h2::before,
h3::before,
h4::before,
h5::before,
h6::before {
  border-style: solid;
  content: "";
  position: absolute
}

.wm-h3,
.wm-h4,
.wm-h5,
.wm-h6 {
  background-color: transparent;
  color: #222
}

h2,
.wm-h2 {
  background-color: #333;
  color: #fff;
  font-size: 1.125rem;
  padding: calc(16px - 0.35em) 16px calc(16px - 0.35em) 40px
}

h2::before,
.wm-h2::before {
  border-color: #878787 #878787 transparent #878787;
  border-width: 14px 5px 4px 5px;
  display: block;
  height: 0;
  left: 16px;
  top: calc(7px + .5em);
  width: 0
}

*+h2,
*+.wm-h2 {
  margin-top: 48px
}

h2 a:link,
h2 a:visited,
.wm-h2 a:link,
.wm-h2 a:visited {
  color: #fff
}

h2 a:hover,
h2 a:active,
.wm-h2 a:hover,
.wm-h2 a:active {
  color: #c80000
}

article h2 a:first-child:last-child,
article .wm-h2 a:first-child:last-child {
  background-color: #333;
  color: #fff;
  display: block;
  margin: calc(-16px + 0.35em) -16px calc(-16px + 0.35em) -40px;
  padding: calc(16px - 0.35em) 16px calc(16px - 0.35em) 40px;
  position: relative;
  text-decoration: none
}

article h2 a:first-child:last-child::before,
article .wm-h2 a:first-child:last-child::before {
  border-color: #878787 #878787 transparent #878787;
  border-style: solid;
  border-width: 14px 5px 4px 5px;
  content: "";
  display: block;
  height: 0;
  left: 16px;
  position: absolute;
  top: calc(7px + .5em);
  width: 0
}

article h2 a:first-child:last-child::after,
article .wm-h2 a:first-child:last-child::after {
  border-color: #fff;
  border-style: solid;
  border-width: 0 2px 2px 0;
  bottom: 0;
  content: "";
  display: block;
  height: 8px;
  margin: auto;
  position: absolute;
  right: 16px;
  transform: rotate(-45deg);
  transition: all .2s ease;
  top: 0;
  width: 8px
}

article h2 a:first-child:last-child:hover,
article h2 a:first-child:last-child:active,
article .wm-h2 a:first-child:last-child:hover,
article .wm-h2 a:first-child:last-child:active {
  background-color: #cfcfcf;
  color: #222
}

article h2 a:first-child:last-child:hover::after,
article h2 a:first-child:last-child:active::after,
article .wm-h2 a:first-child:last-child:hover::after,
article .wm-h2 a:first-child:last-child:active::after {
  border-color: #222
}

@media only screen and (min-width: 480px)and (max-width: 600px) {

  h2,
  .wm-h2 {
    font-size: 1.188rem
  }
}

@media only screen and (min-width: 601px) {

  h2,
  .wm-h2 {
    font-size: 1.25rem
  }
}

h3,
.wm-h3 {
  font-size: 1.125rem;
  padding: 0 0 0 20px
}

h3::before,
.wm-h3::before {
  border-color: #333 #333 transparent #333;
  border-width: 14px 5px 4px 5px;
  display: block;
  height: 0;
  left: 0;
  top: calc(0.85em - 9px);
  width: 0
}

*+h3,
*+.wm-h3 {
  margin-top: 32px
}

@media only screen and (min-width: 480px)and (max-width: 600px) {

  h3,
  .wm-h3 {
    font-size: 1.188rem
  }
}

@media only screen and (min-width: 601px) {

  h3,
  .wm-h3 {
    font-size: 1.25rem
  }
}

h4,
.wm-h4 {
  font-size: 1rem;
  padding: 0 0 8px
}

h4::before,
.wm-h4::before {
  background-image: linear-gradient(-90deg, #000 1px, transparent 1px);
  background-size: 5px 5px;
  border-color: transparent;
  border-width: 0;
  display: block;
  height: 1px;
  left: 0;
  top: 100%;
  width: 100%
}

*+h4,
*+.wm-h4 {
  margin-top: 32px
}

@media only screen and (min-width: 480px)and (max-width: 600px) {

  h4,
  .wm-h4 {
    font-size: 1.063rem
  }
}

@media only screen and (min-width: 601px) {

  h4,
  .wm-h4 {
    font-size: 1.125rem
  }
}

h5,
.wm-h5 {
  font-size: 1rem;
  padding: 0 0 0 20px
}

h5::before,
.wm-h5::before {
  border-color: #333;
  border-width: 0 0 0 6px;
  display: block;
  height: 1em;
  left: 0;
  top: 0.35em;
  width: 0
}

*+h5,
*+.wm-h5 {
  margin-top: 32px
}

@media only screen and (min-width: 480px)and (max-width: 600px) {

  h5,
  .wm-h5 {
    font-size: 1.063rem
  }
}

@media only screen and (min-width: 601px) {

  h5,
  .wm-h5 {
    font-size: 1.125rem
  }
}

h6,
.wm-h6 {
  font-size: 1rem;
  padding: 0 0 0 20px
}

h6::before,
.wm-h6::before {
  border-color: #878787;
  border-width: 0 0 0 4px;
  display: block;
  height: 1em;
  left: 0;
  top: 0.35em;
  width: 0
}

*+h6,
*+.wm-h6 {
  margin-top: 32px
}

*+p {
  margin-top: 16px
}

*+ul:not([class]),
*+ol:not([class]) {
  margin-top: 16px
}

ul:not([class])>li:nth-child(n+2),
ul:not([class]) p:nth-child(n+2),
ul:not([class]) ul:nth-child(n+2),
ul:not([class]) ol:nth-child(n+2),
ul:not([class]) table:nth-child(n+2),
ul:not([class]) div:nth-child(n+2),
ol:not([class])>li:nth-child(n+2),
ol:not([class]) p:nth-child(n+2),
ol:not([class]) ul:nth-child(n+2),
ol:not([class]) ol:nth-child(n+2),
ol:not([class]) table:nth-child(n+2),
ol:not([class]) div:nth-child(n+2) {
  margin-top: 8px
}

ul:not([class])>li {
  list-style-type: none;
  padding-left: 16px;
  position: relative
}

ul:not([class])>li::before {
  border: 4px solid #333;
  border-radius: 4px;
  content: "";
  display: block;
  height: 0;
  left: 0;
  position: absolute;
  top: calc(0.85em - 4px);
  width: 0
}

ul:not([class])[style*=list-style-type][style*=circle]>li::before {
  border: 2px solid #333;
  height: 2px;
  width: 2px
}

ul:not([class])[style*=list-style-type][style*=square]>li::before {
  border-radius: 0
}

ol:not([class]) {
  list-style-type: decimal;
  padding-left: 2em
}

ol:not([class])>li {
  padding-left: 8px
}

ol:not([class])[style*=list-style-type][style*=lower-greek] {
  list-style-type: lower-greek
}

ol:not([class])[style*=list-style-type][style*=lower-alpha] {
  list-style-type: lower-alpha
}

ol:not([class])[style*=list-style-type][style*=lower-roman] {
  list-style-type: lower-roman
}

ol:not([class])[style*=list-style-type][style*=upper-alpha] {
  list-style-type: upper-alpha
}

ol:not([class])[style*=list-style-type][style*=upper-roman] {
  list-style-type: upper-roman
}

.icon {
  position: relative
}

.icon a {
  text-decoration: none
}

.icon a:hover,
.icon a:active {
  text-decoration: underline
}

.icon a::before {
  -webkit-backface-visibility: hidden;
  background-image: url(../../assets/img/ico_arrow.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 1.7em;
  margin: auto 10px;
  vertical-align: top;
  width: 6px
}

.icon a[target=_blank]::before,
.icon a[href*=".pdf"]::before,
.icon a[href*=".doc"]::before,
.icon a[href*=".docx"]::before,
.icon a[href*=".xls"]::before,
.icon a[href*=".xlsx"]::before,
.icon a[href*=".mp3"]::before,
.icon a[href*=".mp4"]::before,
.icon a[href*=".zip"]::before {
  margin-right: 6px;
  width: 14px
}

.icon a[target=_blank]::before {
  background-image: url(../../assets/img/ico_blank.svg)
}

.icon a[href*=".pdf"]::before {
  background-image: url(../../assets/img/ico_pdf.svg)
}

.icon a[href*=".doc"]::before,
.icon a[href*=".docx"]::before {
  background-image: url(../../assets/img/ico_doc.svg)
}

.icon a[href*=".xls"]::before,
.icon a[href*=".xlsx"]::before {
  background-image: url(../../assets/img/ico_xls.svg)
}

.icon a[href*=".mp3"]::before,
.icon a[href*=".mp4"]::before {
  background-image: url(../../assets/img/ico_mp4.svg)
}

.icon a[href*=".zip"]::before {
  background-image: url(../../assets/img/ico_zip.svg)
}

ul:not([class]) li.icon,
ul:not([class]) ul.icon>li {
  padding-left: 0
}

ul:not([class]) li.icon::before,
ul:not([class]) ul.icon>li::before {
  display: none
}

li.icon a,
ul.icon>li a {
  display: inline-block;
  padding-left: 16px
}

li.icon a::before,
ul.icon>li a::before {
  margin-left: -16px
}

li.icon a[target=_blank],
li.icon a[href*=".pdf"],
li.icon a[href*=".doc"],
li.icon a[href*=".docx"],
li.icon a[href*=".xls"],
li.icon a[href*=".xlsx"],
li.icon a[href*=".zip"],
ul.icon>li a[target=_blank],
ul.icon>li a[href*=".pdf"],
ul.icon>li a[href*=".doc"],
ul.icon>li a[href*=".docx"],
ul.icon>li a[href*=".xls"],
ul.icon>li a[href*=".xlsx"],
ul.icon>li a[href*=".zip"] {
  padding-left: 22px
}

li.icon a[target=_blank]::before,
li.icon a[href*=".pdf"]::before,
li.icon a[href*=".doc"]::before,
li.icon a[href*=".docx"]::before,
li.icon a[href*=".xls"]::before,
li.icon a[href*=".xlsx"]::before,
li.icon a[href*=".zip"]::before,
ul.icon>li a[target=_blank]::before,
ul.icon>li a[href*=".pdf"]::before,
ul.icon>li a[href*=".doc"]::before,
ul.icon>li a[href*=".docx"]::before,
ul.icon>li a[href*=".xls"]::before,
ul.icon>li a[href*=".xlsx"]::before,
ul.icon>li a[href*=".zip"]::before {
  margin-left: -22px
}

li.icon>p,
li.icon>ul,
li.icon>ol,
li.icon>table,
li.icon>div,
ul.icon>li>p,
ul.icon>li>ul,
ul.icon>li>ol,
ul.icon>li>table,
ul.icon>li>div {
  margin: 8px 0 0 16px
}

*+ul.icon {
  margin-top: 24px
}

ul.icon>li:nth-child(n+2) {
  margin-top: 8px
}

ul.icon ul:not([class])>li {
  padding-left: 0
}

ul.icon ul:not([class])>li::before {
  display: none
}

table {
  width: 100%
}

*+table {
  margin-top: 24px
}

th,
td {
  border: 1px solid #cfcfcf;
  padding: calc(16px - 0.35em) 16px
}

th {
  background-color: #f2f2f2;
  font-weight: 500;
  text-align: center
}

td {
  background-color: #fff
}

tbody th,
tbody td {
  vertical-align: top
}

.wm-border {
  background-color: #fff;
  border: 1px solid #333;
  padding: 23px
}

*+.wm-border {
  margin-top: 24px
}

.wm-background {
  background-color: #fff;
  border: 2px solid #333;
  padding: 22px
}

*+.wm-background {
  margin-top: 24px
}

.wm-border-background {
  background-color: #fff2f2;
  border: 2px solid #c80000;
  padding: 22px
}

*+.wm-border-background {
  margin-top: 24px
}

.linkBtn {
  text-align: center
}

*+.linkBtn {
  margin-top: 24px
}

.linkBtn a,
.linkBtn button,
.linkBtn input {
  align-items: center;
  background-color: #454545;
  border-radius: 4px;
  box-sizing: border-box;
  color: #fff;
  display: inline-flex;
  font-size: 1rem;
  font-weight: bold;
  justify-content: center;
  min-height: 56px;
  outline: none;
  padding: calc(16px - 0.35em) 24px;
  transition: all .2s ease;
  width: 360px
}

.linkBtn a:hover,
.linkBtn button:hover,
.linkBtn input:hover {
  background-color: #878787
}

.linkBtn a {
  text-decoration: none
}

.toHead {
  margin-top: 24px;
  text-align: right
}

.toHead a {
  display: inline-block
}

.toHead a:before {
  border-color: transparent transparent #333 transparent;
  border-style: solid;
  border-width: 0 3px 5px 3px;
  content: "";
  display: inline-block;
  height: 0;
  margin-right: 8px;
  vertical-align: middle;
  width: 0
}

.toHead a:link,
.toHead a:visited {
  color: #333;
  text-decoration: none
}

.toHead a:hover,
.toHead a:active {
  color: #c80000;
  text-decoration: underline
}

.clearfix {
  display: flex;
  flex: 0 0 100%;
  flex-flow: row wrap
}

*+.clearfix {
  margin-top: 32px
}

.clearfix>div {
  box-sizing: border-box;
  width: 100%
}

.clearfix>div:not(:first-child) {
  margin-top: 32px
}

@media only screen and (min-width: 480px) {
  .clearfix {
    margin-left: -32px
  }

  .clearfix>div {
    padding-left: 32px;
    width: 50%
  }

  .clearfix>div:nth-child(2) {
    margin-top: 0
  }
}

*+figure {
  margin-top: 24px
}

figcaption {
  font-size: 0.875rem;
  margin-top: 8px
}

*+.parallelL,
*+.parallelR,
*+.roundL,
*+.roundR {
  margin-top: 24px
}

.parallelL figure,
.parallelR figure,
.roundL figure,
.roundR figure {
  text-align: center
}

.parallelL figcaption,
.parallelR figcaption,
.roundL figcaption,
.roundR figcaption {
  text-align: left
}

.parallelL figure,
.parallelR figure {
  margin: 0 auto
}

.parallelL .sentence,
.parallelR .sentence {
  margin-top: 24px;
  width: 100%
}

.roundL figcaption,
.roundR figcaption {
  margin-bottom: 16px
}

.sizeL figure {
  max-width: 400px
}

.sizeM figure {
  max-width: 320px
}

.sizeS figure {
  max-width: 240px
}

@media(min-width: 1201px) {

  .sizeL.parallelL,
  .sizeL.parallelR {
    display: flex;
    justify-content: space-between
  }

  .sizeL.parallelL figure,
  .sizeL.parallelR figure {
    flex-shrink: 0
  }

  .sizeL.parallelL .sentence,
  .sizeL.parallelR .sentence {
    margin-top: -0.35em;
    flex-grow: 10
  }

  .sizeL.parallelL figure {
    margin-right: 32px
  }

  .sizeL.parallelR figure {
    margin-left: 32px;
    order: 2
  }

  .sizeL.parallelR .sentence {
    order: 1
  }

  .sizeL.roundL::before,
  .sizeL.roundR::before {
    clear: both;
    content: "";
    display: block
  }

  .sizeL.roundL figure+*,
  .sizeL.roundR figure+* {
    margin-top: -0.35em
  }

  .sizeL.roundL figure {
    float: left;
    margin-right: 32px
  }

  .sizeL.roundR figure {
    float: right;
    margin-left: 32px
  }
}

@media(min-width: 721px)and (max-width: 601px),
(min-width: 901px) {

  .sizeM.parallelL,
  .sizeM.parallelR {
    display: flex;
    justify-content: space-between
  }

  .sizeM.parallelL figure,
  .sizeM.parallelR figure {
    flex-shrink: 0
  }

  .sizeM.parallelL .sentence,
  .sizeM.parallelR .sentence {
    margin-top: -0.35em;
    flex-grow: 10
  }

  .sizeM.parallelL figure {
    margin-right: 32px
  }

  .sizeM.parallelR figure {
    margin-left: 32px;
    order: 2
  }

  .sizeM.parallelR .sentence {
    order: 1
  }

  .sizeM.roundL::before,
  .sizeM.roundR::before {
    clear: both;
    content: "";
    display: block
  }

  .sizeM.roundL figure+*,
  .sizeM.roundR figure+* {
    margin-top: -0.35em
  }

  .sizeM.roundL figure {
    float: left;
    margin-right: 32px
  }

  .sizeM.roundR figure {
    float: right;
    margin-left: 32px
  }
}

@media(min-width: 480px) {

  .sizeS.parallelL,
  .sizeS.parallelR {
    display: flex;
    justify-content: space-between
  }

  .sizeS.parallelL figure,
  .sizeS.parallelR figure {
    flex-shrink: 0
  }

  .sizeS.parallelL .sentence,
  .sizeS.parallelR .sentence {
    margin-top: -0.35em;
    flex-grow: 10
  }

  .sizeS.parallelL figure {
    margin-right: 32px
  }

  .sizeS.parallelR figure {
    margin-left: 32px;
    order: 2
  }

  .sizeS.parallelR .sentence {
    order: 1
  }

  .sizeS.roundL::before,
  .sizeS.roundR::before {
    clear: both;
    content: "";
    display: block
  }

  .sizeS.roundL figure+*,
  .sizeS.roundR figure+* {
    margin-top: -0.35em
  }

  .sizeS.roundL figure {
    float: left;
    margin-right: 32px
  }

  .sizeS.roundR figure {
    float: right;
    margin-left: 32px
  }
}

@media only screen and (min-width: 480px) {
  .itemAll .sizeS figure {
    max-width: 140px
  }
}

@media only screen and (min-width: 480px)and (max-width: 899px) {
  .itemAll.clearfix>div {
    width: 100%
  }

  .itemAll.clearfix>div:nth-child(2) {
    margin-top: 32px
  }
}

#dirIndex .parallelL.sizeS figure {
  width: 140px
}

header {
  margin-bottom: 32px
}

header h1+p {
  color: #9f9f9f;
  font-family: "Squada One", cursive, sans-serif;
  font-size: 1.25rem;
  font-style: italic;
  letter-spacing: .05em;
  line-height: 1.2;
  margin-top: 0
}

*+.list_faq,
*+.list_theme {
  margin-top: 24px
}

.list_faq dt,
.list_faq dd,
.list_theme dt,
.list_theme dd {
  background-color: #f2f2f2;
  border-radius: 4px;
  margin-top: 8px;
  position: relative
}

.list_faq dt,
.list_theme dt {
  font-weight: 500
}

.list_faq dt+dd,
.list_theme dt+dd {
  margin-top: calc(-16px + 0.35em)
}

.list_faq dt,
.list_faq dd {
  padding: calc(16px - 0.35em) 24px calc(16px - 0.35em) 60px
}

.list_faq dt::before,
.list_faq dd::before {
  font-family: "Century Gothic", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "繝偵Λ繧ｮ繝手ｧ偵ざ ProN W3", "Hiragino Sans W3", "Hiragino Sans", "繝｡繧､繝ｪ繧ｪ", Meiryo, Arial, sans-serif;
  font-size: 1.375rem;
  font-weight: bold;
  left: 24px;
  line-height: 2em;
  margin-top: -1em;
  position: absolute;
  top: calc(16px + 0.46875rem)
}

.list_faq dt::before {
  content: "Q"
}

.list_faq dd::before {
  content: "A"
}

.list_theme dt,
.list_theme dd {
  padding: calc(16px - 0.35em) 24px
}

.members_data~#lNav {
  background-color: #fff;
  box-sizing: border-box;
  float: none;
  margin: 0 auto;
  max-width: 1200px;
  padding: 64px 24px;
  position: relative;
  width: 100%
}

.members_data~#lNav h2,
.members_data~#lNav li ul {
  display: none
}

.members_data~#lNav ul {
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0
}

.members_data~#lNav li {
  border-style: none;
  margin-top: 24px
}

.members_data~#lNav li:nth-child(n+2) {
  border-left: 1px solid #cfcfcf
}

.members_data~#lNav a {
  background-color: transparent;
  color: #222;
  margin: 0;
  padding: 0 16px
}

.members_data~#lNav a::before {
  border-color: transparent transparent transparent #333;
  border-style: solid;
  border-width: 3px 0 3px 5px;
  content: "";
  display: inline-block;
  height: 0;
  margin-right: 8px;
  vertical-align: middle;
  width: 0
}

@media only screen and (min-width: 480px) {
  .members_data~#lNav {
    padding: 0 40px 80px
  }
}

.members_profile {
  background-image: url(../../assets/img/members/bg_person.webp);
  background-position: center top;
  background-repeat: no-repeat
}

.members_profile .parallelL.sizeS {
  align-items: center;
  display: flex
}

.members_profile .parallelL.sizeS figure {
  height: 140px;
  width: 140px
}

.members_profile .parallelL.sizeS figure img {
  border-radius: 70px;
  height: 140px;
  width: 140px
}

.members_profile .parallelL.sizeS .sentence {
  background-color: #f2f2f2;
  border-radius: 4px;
  box-sizing: border-box;
  font-weight: 500;
  padding: calc(16px - 0.35em) 24px;
  position: relative
}

.members_profile .parallelL.sizeS .sentence::before {
  border-style: solid;
  content: "";
  display: block;
  height: 0;
  margin: auto;
  position: absolute;
  width: 0
}

.members_profile~#lNav {
  max-width: 1040px
}

@media only screen and (max-width: 479px) {
  .members_profile .parallelL.sizeS {
    flex-direction: column-reverse
  }

  .members_profile .parallelL.sizeS .sentence {
    margin: 0 0 24px
  }

  .members_profile .parallelL.sizeS .sentence::before {
    border-color: #f2f2f2 transparent transparent transparent;
    border-width: 8px 6px 0 6px;
    top: 100%;
    left: 0;
    right: 0
  }
}

@media only screen and (min-width: 480px) {
  .members_profile .parallelL.sizeS .sentence::before {
    border-color: transparent #f2f2f2 transparent transparent;
    border-width: 6px 8px 6px 0;
    bottom: 0;
    right: 100%;
    top: 0
  }

  .members_profile~#lNav {
    padding-top: 80px
  }
}

@media all and (-ms-high-contrast: none) {

  *::-ms-backdrop,
  .members_profile {
    background-image: url(../../assets/img/members/bg_person.png)
  }
}

.profile {
  margin: -24px -24px 0;
  position: relative
}

.profile::before {
  content: "";
  display: block;
  padding-top: 65%
}

.profile~* {
  position: relative
}

.profile header {
  border-bottom: 6px solid #222
}

.profile header h1 {
  color: #fff;
  font-size: 1.875rem;
  line-height: 1.2
}

.profile header p {
  color: #9f9f9f;
  font-family: "Squada One", cursive;
  font-size: 1.125rem;
  font-style: italic;
  letter-spacing: .05em;
  margin-top: 0;
  padding-bottom: calc(16px - 0.35em)
}

.profile figure {
  left: 0;
  margin: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0
}

.profile figure picture,
.profile figure img {
  display: block;
  margin: 0 auto
}

.profile_name {
  box-sizing: border-box;
  float: left;
  margin: 0 auto 56px;
  max-width: 960px;
  padding: 0 24px;
  position: relative;
  z-index: 1
}

.profile_data {
  color: #fff;
  margin: 24px auto 0;
  max-width: 680px
}

.profile_data_wrapper {
  background-color: rgba(51, 51, 51, .8);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  clear: both;
  margin: 0 auto;
  overflow: hidden;
  padding: 40px 24px;
  position: relative;
  z-index: 1
}

.profile_data_wrapper h2 {
  background-color: #222;
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 680px
}

.profile_data_wrapper figure {
  display: contents;
  position: static
}

.profile_data_wrapper figure picture,
.profile_data_wrapper figure img {
  height: 100%;
  margin: 0;
  max-width: 200vw;
  position: absolute;
  top: 0;
  right: 0;
  width: auto
}

.profile_data_wrapper>*:not(figure) {
  position: relative;
  z-index: 1
}

.profile_data div {
  border-bottom: 1px solid #454545;
  display: flex;
  padding: 13px 0
}

.profile_data div dt,
.profile_data div dd {
  box-sizing: border-box;
  padding: 0 16px;
  width: calc(100% - 160px)
}

.profile_data div dt {
  flex-shrink: 0;
  width: 160px;
  max-width: 32%
}

.profile_data div dd {
  flex-grow: 10;
  min-width: calc(100% - 160px);
  width: 68%
}

.profile_sns {
  letter-spacing: -0.4em;
  margin: 0 auto;
  max-width: 680px
}

.profile_sns li {
  display: inline-block
}

.profile_image {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 32px auto -16px;
  max-width: calc(100% - 48px);
  position: relative;
  width: 960px;
  z-index: 1
}

.profile_image li {
  margin: 12px 0;
  width: 31.666%
}

.profile_image li:nth-child(3n+2),
.profile_image li:nth-child(3n) {
  margin-left: 2.5%
}

.profile_image img {
  vertical-align: bottom
}

@media only screen and (max-width: 479px) {
  .profile {
    margin: -24px -16px 0
  }

  .profile_data div {
    display: block;
    padding-left: 16px;
    padding-right: 16px
  }

  .profile_data div dt,
  .profile_data div dd {
    display: inline;
    max-width: 100%;
    padding: 0;
    width: 100%
  }

  .profile_data div dt::after {
    content: "��";
    display: inline-block;
    padding: 0 .2em
  }
}

.profile_sns {
  text-align: right
}

.profile_sns li {
  margin: 24px 24px 0 0
}

@media only screen and (min-width: 480px)and (max-width: 600px) {
  .profile header h1 {
    font-size: 2rem
  }

  .profile header p {
    font-size: 1.188rem
  }
}

@media only screen and (min-width: 601px) {
  .profile {
    margin: -48px -40px 0
  }

  .profile header h1 {
    font-size: 2.125rem
  }

  .profile header p {
    font-size: 1.25rem
  }

  .profile_sns {
    margin-top: 16px;
    text-align: center
  }

  .profile_sns li {
    margin: 16px 20px 0
  }

  .profile_image {
    margin: 56px auto;
    max-width: calc(100% - 80px)
  }
}

@media only screen and (min-width: 680px) {
  .profile::before {
    padding-top: 550px
  }

  .profile header {
    bottom: 100%;
    left: 40px;
    margin-bottom: 0;
    max-width: calc(100% - 80px);
    position: absolute
  }

  .profile header p {
    padding-bottom: calc(32px - 0.35em)
  }

  .profile_name {
    float: none;
    left: 0;
    margin-top: 494px;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%
  }

  .profile_data {
    margin-top: 32px
  }

  .profile_data_wrapper {
    margin-top: 0;
    min-height: 595px;
    padding: 80px 24px
  }
}

.nav_button {
  height: 0;
  left: 0;
  margin: 50% auto 0;
  max-width: 1040px;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%
}

.nav_button_prev,
.nav_button_next {
  position: absolute;
  top: -14px
}

.nav_button_prev a,
.nav_button_next a {
  border-color: #878787;
  border-style: solid;
  display: block;
  height: 26px;
  overflow: hidden;
  text-indent: 30px;
  transform: rotate(45deg);
  white-space: nowrap;
  width: 26px
}

.nav_button_prev {
  left: 24px
}

.nav_button_prev a {
  border-width: 0 0 2px 2px
}

.nav_button_next {
  right: 24px
}

.nav_button_next a {
  border-width: 2px 2px 0 0
}

@media only screen and (min-width: 601px) {
  .nav_button {
    margin-top: 275px
  }

  .nav_button_prev {
    left: 32px
  }

  .nav_button_next {
    right: 32px
  }
}

ul.member_list {
  display: flex;
  flex-wrap: wrap;
  margin: 8px 0 0 -24px
}

dl {
  margin-top: 32px
}

.member_list a {
  text-decoration: none
}

.member_list>li {
  margin: 24px 0 0 24px;
  width: calc(50% - 24px)
}

.member_list>li>* {
  display: flex;
  height: 100%;
  width: 100%
}

.member_list>dt {
  font-weight: bold
}

.member_list>dt:nth-child(n+2) {
  margin-top: 24px
}

.member_list>dd {
  margin-top: 8px
}

.member_list_data {
  display: flex;
  flex-direction: column;
  text-align: center;
  width: 100%
}

.member_list_data dt {
  background-color: #000;
  border-radius: 0 0 4px 4px;
  color: #fff;
  font-size: 1.125rem;
  font-weight: bold;
  margin: 0;
  order: 2;
  padding: calc(16px - 0.35em) 8px
}

.member_list_data dd:not([class]) {
  background-color: #000;
  border-radius: 0 0 4px 4px;
  color: #9f9f9f;
  flex-grow: 10;
  font-family: "Squada One", cursive, sans-serif;
  margin: -12px 0 0;
  order: 3;
  padding: calc(8px - 0.35em) 8px calc(16px - 0.35em)
}

.member_list_data_image {
  margin: 0;
  order: 1
}

.member_list_data_image img {
  border-radius: 4px 4px 0 0;
  display: block
}

.member_list_data_post {
  background-color: #f2f2f2;
  color: #454545;
  margin: 0;
  order: 2;
  padding: calc(16px - 0.35em) 16px 0;
  text-align: left
}

.member_list_data.staff dt {
  background-color: #f2f2f2;
  color: #222;
  order: 3;
  padding-top: calc(8px - 0.35em)
}

.member_list_data.staff dd:not([class]) {
  background-color: #f2f2f2;
  order: 4
}

@media only screen and (min-width: 640px)and (max-width: 919px) {
  .member_list li {
    width: calc(33.3333% - 24px)
  }
}

@media only screen and (min-width: 920px) {
  .member_list li {
    width: calc(25% - 24px)
  }
}

.member_link {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 24px;
  padding: 0
}

.member_link li {
  border-style: none;
  margin-top: 24px
}

.member_link li:nth-child(n+2) {
  border-left: 1px solid #cfcfcf
}

.member_link a {
  background-color: transparent;
  color: #222;
  margin: 0;
  padding: 0 16px;
  position: relative;
  text-decoration: none
}

.member_link a::before {
  border-color: transparent transparent transparent #333;
  border-style: solid;
  border-width: 3px 0 3px 5px;
  content: "";
  display: inline-block;
  height: 0;
  margin: auto 8px auto 0 !important;
  vertical-align: middle;
  width: 0
}

.member_link a[href^="#"]::before {
  border-color: #333 transparent transparent transparent;
  border-width: 5px 3px 0 3px
}

.infoHead {
  position: relative
}

.infoHead ul {
  position: absolute;
  top: 50%;
  height: 18px;
  right: 10px;
  margin-top: -9px;
  padding: 0;
  line-height: 18px
}

.infoHead li {
  display: inline-block;
  margin: 0 0 0 .5em !important;
  line-height: 18px;
  vertical-align: middle
}

.infoHead a {
  color: #333
}

.infoHead .icon a:before {
  border-color: transparent transparent transparent #333
}

.infoHead a[href*=".xml"] {
  width: 18px;
  height: 18px;
  padding: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background: #333 url(/shared/images/bg_icons.png) -216px -76px no-repeat;
  border-radius: 3px
}

.infoHead a[href*=".xml"]:before {
  display: none
}

*+.infoHead {
  margin-top: 2.5em
}

header.infoHead h2 {
  display: table-row-group
}

.catTop {
  margin: 0
}

.catTop>div.sideL {
  margin: 0 auto;
  max-width: 640px;
  padding: 0;
  width: 100%
}

.catTop>div.sideR {
  margin: 32px 0 0;
  padding: 0;
  width: 100%
}

.catTop .catImg {
  background-color: #222;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  position: relative
}

.catTop .catImg h2 {
  background-color: transparent;
  padding: 0
}

.catTop .catImg h2::before {
  display: none
}

.catTop .catImg figure {
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0
}

.catTop .catImg img {
  display: block
}

.catTop .catImg .inner {
  background-color: rgba(0, 0, 0, .8);
  box-sizing: border-box;
  color: #fff;
  font-weight: 500;
  margin-top: 40%;
  padding: calc(24px - 0.35em) 16px;
  position: relative;
  width: 100%;
  z-index: 1
}

.catTop .catImg .inner>* {
  font-size: 1.125rem
}

.catTop .catImg .inner>*:first-child {
  font-size: 1.25rem;
  font-weight: bold;
  margin: 0;
  padding: 0;
  text-align: center
}

.catTop .catImg .inner>*:nth-child(n+2) {
  border-top: 2px dotted #9f9f9f;
  margin: 8px 0 0;
  padding: 8px 0 0
}

.catTop .catImg .inner a {
  color: #95b8ff
}

.catTop .catImg .inner em a,
.catTop .catImg .inner a em {
  color: #ff4747;
  font-weight: 500
}

@media only screen and (min-width: 900px) {
  .catTop {
    justify-content: space-between
  }

  .catTop>div.sideL {
    margin: 0;
    max-width: 640px;
    width: 58%
  }

  .catTop>div.sideR {
    margin: 0;
    max-width: 440px;
    width: 40%
  }
}

.news_links::after {
  clear: both;
  content: "";
  display: block
}

.news_links a:link,
.news_links a:visited {
  color: #222;
  text-decoration: none
}

.news_links a:hover,
.news_links a:active {
  color: #c80000;
  text-decoration: underline
}

.news_links a::before {
  background-image: url(../../assets/img/ico_list.svg);
  height: 16px;
  margin-bottom: 0.35em;
  vertical-align: bottom;
  width: 16px
}

.news_links a[href*=".xml"]::before {
  background-image: url(../../assets/img/ico_rss.svg)
}

.news_links li {
  float: right;
  margin: 8px 0 0 24px
}

.infoList {
  margin-top: 32px
}

.infoList a:link,
.infoList a:visited {
  color: #222;
  text-decoration: none
}

.infoList a:hover,
.infoList a:active {
  color: #c80000;
  text-decoration: underline
}

.infoList dt {
  align-items: center;
  display: flex;
  padding: calc(24px - 0.35em) 0 calc(8px - 0.35em)
}

.infoList dt:first-child {
  padding-top: 0
}

.infoList dt time {
  display: inline-block
}

.infoList dt span {
  color: #fff;
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1.6;
  margin-left: 24px;
  min-width: 104px;
  overflow: hidden;
  padding: 0 8px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap
}

.infoList dt .information {
  background-color: #555
}

.infoList dt .team {
  background-color: #b51e30
}

.infoList dt .members {
  background-color: #da521c
}

.infoList dt .game {
  background-color: #147151
}

.infoList dt .schedule {
  background-color: #9d2678
}

.infoList dt .academy {
  background-color: #0e74a4
}

.infoList dt .blog {
  background-color: #323232
}

.infoList dt .fanzone {
  background-color: #51399b
}

.infoList dt .sdgs {
  background-color: #2346a4
}

.infoList dd {
  border-bottom: 1px solid #cfcfcf;
  padding: calc(8px - 0.35em) 0 calc(24px - 0.35em)
}

@media only screen and (max-width: 479px) {
  .infoIndex .tnImg {
    display: none
  }
}

@media only screen and (min-width: 480px) {
  .infoIndex {
    border-top: 1px solid #cfcfcf
  }

  .infoIndex dt {
    padding-left: 156px;
    position: relative;
    z-index: 0
  }

  .infoIndex dt:first-child {
    padding-top: calc(24px - 0.35em)
  }

  .infoIndex dd {
    display: flex;
    min-height: calc(94px - 1.7em);
    padding-left: 156px;
    position: relative;
    z-index: 1
  }

  .infoIndex img {
    display: block;
    max-width: 140px
  }

  .infoIndex a {
    display: block;
    margin: -1.7em 0 0 -156px;
    padding: 1.7em 0 0 156px;
    position: relative;
    width: 100%;
    z-index: 2
  }

  .infoIndex .tnImg {
    display: block;
    left: 0;
    height: 94px;
    overflow: hidden;
    position: absolute;
    top: calc(-1.7em + 2px);
    z-index: 1
  }
}