html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  tab-size: 4;
  word-break: normal;
}

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

hr {
  color: inherit;
  height: 0;
  overflow: visible;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace,monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

iframe {
  border-style: none;
}

input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

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

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

* {
  box-sizing: border-box;
  min-height: 0%;
}

body {
  color: #231815;
  font-family: 'Shuei Yokobuto Min M';
  font-size: 16px;
  letter-spacing: 0.025em;
  line-height: 1.75;
}

body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-image: url(/first_chanson/img/bg.jpg);
  background-size: cover;
  background-position: top center;
  z-index: -1;
}

a {
  text-decoration: none;
  color: #231815;
}

a:hover {
  opacity: .8;
}

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

.c-tag {
  display: inline-block;
  background-color: #777;
  color: #fff;
  font-family: 'A1 Gothic M';
  font-size: 13px;
  padding: 2px 24px;
  margin-bottom: 10px;
  border-radius: 1000px;
  text-align: center;
}

* + .c-tag {
  margin-top: 30px;
}

.sec-block1Wrap {
  background-color: #fff;
  padding: 50px 30px 80px;
}

.sec-block1WrapInner {
  display: flex;
  max-width: 644px;
  margin: auto;
}

.sec-block1WrapInner > .sec-block1 {
  width: 50%;
}

.sec-block1WrapInner > .sec-block1:nth-of-type(2) {
  padding-left: 20px;
}

.sec-block1 .play a {
  display: inline-block;
  position: relative;
  font-size: 18px;
}

.sec-block1 .play a::after {
  content: '';
  position: absolute;
  left: calc(100% + 6px);
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background-image: url(/first_chanson/img/ico-play.svg);
  background-size: 100%;
  background-repeat: no-repeat;
}

.sec-block1 p {
  font-size: 20px;
}

.sec-block1 p.min {
  font-size: 12px;
  margin-top: 20px;
}

.sec-block1 p.name {
  font-size: 18px;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.modaal-container {
  max-width: 490px;
  border-radius: 10px;
}

.modaal-content-container {
  padding: 50px;
}

.modal-ttl {
  font-size: 20px;
  margin-bottom: 40px;
}

.modal-cnt {
  font-size: 12px;
}

.sec {
  padding: 50px 30px;
}

.sec .sec-inner {
  max-width: 800px;
  margin: auto;
}

.sec .sec-ttl {
  display: flex;
  justify-content: center;
  background-color: #c70019;
  padding: 20px;
  border-radius: 10px 10px 0 0;
}

.sec .sec-ttl img {
  height: 20.9307px;
  width: auto;
}

.sec .sec-ttl--blue {
  background-color: #08287f;
}

.sec--mv .mv {
  position: relative;
}

.sec--mv .mv::before {
  content: '';
  background-image: url(/first_chanson/img/ico-hobo.svg);
  background-size: 100%;
  width: 133.3183px;
  height: 18.9618px;
  position: absolute;
  right: 50px;
  top: 0;
}

.sec--mv .mv-block1 {
  max-width: 417.049px;
  position: relative;
  z-index: 1;
  margin-left: -30px;
}

.sec--mv .mv-block2 {
  max-width: 436.0257px;
  position: absolute;
  right: 30px;
  top: 50px;
}

.sec--mv .mv-block2-inner {
  position: relative;
}

.sec--mv .mv-block2-inner::before, .sec--mv .mv-block2-inner::after {
  content: '';
  position: absolute;
  background-size: 100%;
  background-repeat: no-repeat;
}

.sec--mv .mv-block2-inner::before {
  width: 49.3499px;
  height: 44.3798px;
  background-image: url(/first_chanson/img/ico-onpu-1.svg);
  top: -3px;
  right: -11px;
}

.sec--mv .mv-block2-inner::after {
  width: 41.2998px;
  height: 44.5079px;
  background-image: url(/first_chanson/img/ico-onpu-2.svg);
  bottom: 21px;
  left: -80px;
}

.sec--mv .mv-block3 .c-tag + p {
  font-size: 24px;
  line-height: 1;
}

.sec--mv .mv-block3 .c-tag + p em {
  font-size: 32px;
  font-style: normal;
}

.sec--mv .mv-block3 p.min {
  font-size: 20px;
}

.sec--yodo {
  padding-top: 30px;
}

.sec--yodo .sec-inner {
  display: flex;
  justify-content: space-between;
}

.sec--yodo .yodo {
  width: 52%;
}

.sec--yodo .tekichu {
  width: 45%;
}

.sec--yodo .tekichu .window {
  position: relative;
}

.sec--yodo .tekichu .window > img {
  position: absolute;
  top: -65px;
  right: 9px;
  width: 125.5466px;
}

.sec--yodo #s_textlive {
  display: flex;
  justify-content: flex-end;
}

.sec--yodo #s_textlive a {
  max-width: 300px;
  display: block;
  background-color: #fff;
  border: 1px solid #b3b3b3;
  border-radius: 10px;
  padding: 25px;
}

.sec--yodo #s_textlive .title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.sec--yodo #s_textlive h3 {
  font-size: 16px;
  background-color: #ffec00;
  padding: 8px 10px;
  margin-top: 25px;
  border-radius: 10px;
  line-height: 1.5;
  width: calc(100% - 60px - 10px);
  position: relative;
}

.sec--yodo #s_textlive h3::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -14px;
  background-image: url(/first_chanson/img/ico-triangle.svg);
  background-size: 100%;
  width: 18.611px;
  height: 16.6519px;
}

.sec--yodo #s_textlive .face {
  width: 60px;
}

.sec--contents .sec-ttl {
  background-color: initial;
  padding: 0;
  margin-bottom: 10px;
}

.sec--contents .sec-ttl img {
  height: 24.7012px;
}

.sec--contents .contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.sec--contents .contents a {
  width: calc(50% - 10px);
  margin-top: 20px;
}

.sec--contents .contents a .img {
  margin-bottom: 8px;
}

.sec--contents .contents a img {
  border-radius: 10px;
}

.sec--contents .contents a p {
  font-family: 'A1 Gothic M';
  line-height: 1.5;
}

.sec--contents .contents a.comingsoon {
  pointer-events: none;
}

.sec--contents .contents a.comingsoon .img {
  position: relative;
}

.sec--contents .contents a.comingsoon .img::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(102, 102, 102, 0.75);
  z-index: 1;
  border-radius: 10px;
}

.sec--contents .contents a.comingsoon .img::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 175.5869px;
  height: 42.334px;
  z-index: 2;
  background-image: url(/first_chanson/img/txt-comingsoon.svg);
  background-size: 100%;
}

.sec--contents .contents a.comingsoon.noimg .img::before {
  background-color: #666666;
}

.sec--details .sec-block1Wrap {
  border-radius: 0 0 10px 10px;
}

.sec--comments {
  padding-top: 0;
  padding-bottom: 0;
}

.sec--comments .commentsWrap {
  padding: 50px 30px 80px;
  background-color: #fff;
  border-radius: 0 0 10px 10px;
}

.sec--comments .comments {
  display: flex;
  justify-content: space-between;
  max-width: 644px;
  margin: auto;
  border-radius: 0 0 10px 10px;
}

.sec--comments .comments > div {
  max-width: 280px;
  width: 48%;
}

.sec--comments .comments > div p {
  font-size: 12px;
}

.sec--comments .comments > div p.name {
  margin: 15px 0;
  font-size: 20px;
}

.sec--ticket .sec-block1 p.min {
  margin-top: 5px;
}

.sec--ticket .sec-block1Wrap {
  padding: 50px 30px;
}

.sec--ticket .sec-block1WrapInner {
  max-width: 670px;
}

.sec--ticket .sec-block1WrapInner > .sec-block1:nth-of-type(2) {
  padding-left: 0;
}

.sec--ticket .application {
  background-image: url(/first_chanson/img/bg-ticket.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 50px 30px;
  text-align: center;
  border-radius: 0 0 10px 10px;
}

.sec--ticket .application > a {
  display: block;
  border-radius: 8px;
  border: 1px solid #fff;
  padding: 8px;
  margin: auto;
  font-family: 'A1 Gothic M';
  font-size: 26px;
  background-color: #08287f;
  color: #fff;
  max-width: 440px;
}

.sec--ticket .application > a span {
  display: block;
  border: 1px dashed #fff;
  padding: 12px 10px;
  border-radius: 6px;
}

.sec--ticket .application p {
  color: #fff;
  font-size: 12px;
  margin-top: 10px;
}

.sec--ticket .application p a {
  color: #fff;
}

.sec--goods {
  background-color: #fff;
}

.sec--goods .sec-ttl {
  background-color: initial;
  padding: 0;
  margin-bottom: 10px;
}

.sec--goods .sec-ttl img {
  height: 25.5166px;
}

.sec--goods .sec-inner {
  max-width: 800px;
}

.sec--goods .goods {
  display: flex;
  flex-wrap: wrap;
}

.sec--goods .goods a {
  max-width: 240px;
  width: 30%;
  margin-right: 5%;
  margin-top: 30px;
}

.sec--goods .goods a img {
  margin-bottom: 10px;
}

.sec--goods .goods a p {
  font-family: 'A1 Gothic M';
}

.sec--goods .goods a:nth-of-type(3n) {
  margin-right: 0;
}

footer {
  font-family: 'Aoto Gothic Bold';
  color: #4d4d4d;
  padding: 50px 30px;
}

footer a {
  color: #4d4d4d;
}

footer .footer-inner {
  display: flex;
  max-width: 800px;
  margin: auto;
}

footer .footer-inner .left {
  letter-spacing: 0.11em;
  width: 400px;
}

footer .footer-inner .left .links {
  line-height: 2.5;
  margin-bottom: 30px;
}

footer .footer-inner .left .links a + a {
  margin-top: 10px;
}

footer .footer-inner .left .sns {
  display: flex;
  align-items: center;
  padding: 25px 0;
  font-size: 13px;
  border-top: 1px dashed;
  border-bottom: 1px dashed;
}

footer .footer-inner .left .sns span {
  margin-right: 40px;
}

footer .footer-inner .left .sns a {
  margin-right: 40px;
}

footer .footer-inner .left .sns a.ig img {
  width: 36.4px;
}

footer .footer-inner .left .sns a.x img {
  width: 32.4924px;
}

footer .footer-inner .left .sns a.fb img {
  width: 36.6225px;
}

footer .footer-inner .left .sns a.li {
  margin-right: 0;
}

footer .footer-inner .left .sns a.li img {
  width: 38.2023px;
}

footer .footer-inner .right {
  font-family: 'Aoto Gothic Regular';
  font-size: 12px;
  letter-spacing: 0.1em;
  width: calc(100% - 400px);
  padding-left: 100px;
  line-height: 2.5;
}

footer .footer-inner .right a + a {
  margin-top: 10px;
}

footer .footer-inner .right .hobo {
  margin-top: 40px;
}

@media (max-width: 767px) {
  body::before {
    background-image: url(/first_chanson/img/bg-sp.jpg);
  }
  .sec-block1Wrap {
    padding: 30px 20px 50px;
  }
  .sec-block1WrapInner {
    display: block;
    max-width: 100%;
  }
  .sec-block1WrapInner > .sec-block1 {
    width: 100%;
  }
  .sec-block1WrapInner > .sec-block1:nth-of-type(2) {
    padding-left: 0;
    margin-top: 30px;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .modaal-inner-wrapper {
    padding: 80px 20px;
  }
  .modaal-content-container {
    padding: 30px;
  }
  .sec {
    padding: 40px 20px;
  }
  .sec--mv .mv::before {
    right: 5px;
    top: -20px;
  }
  .sec--mv .mv-block1 {
    width: 55vw;
    max-width: 100%;
    margin-left: -20px;
  }
  .sec--mv .mv-block2 {
    position: static;
    max-width: 100%;
    margin-top: -75px;
  }
  .sec--mv .mv-block2-inner::before {
    top: -58px;
    right: 28px;
  }
  .sec--mv .mv-block2-inner::after {
    bottom: -167px;
    right: 41px;
    left: initial;
  }
  .sec--mv .mv-block3 {
    margin: 30px auto 0;
    max-width: 330px;
  }
  .sec--yodo .sec-inner {
    display: block;
  }
  .sec--yodo .yodo {
    width: 100%;
  }
  .sec--yodo .tekichu {
    width: 100%;
    margin-top: 80px;
  }
  .sec--yodo .tekichu .window > img {
    right: initial;
    left: calc(50% + 13px);
  }
  .sec--yodo #s_textlive {
    justify-content: center;
  }
  .sec--contents .sec-ttl {
    margin-bottom: 30px;
  }
  .sec--contents .contents {
    display: block;
  }
  .sec--contents .contents a {
    display: block;
    width: 100%;
    margin-top: 30px;
  }
  .sec--comments {
    padding-top: 0;
    padding-bottom: 0;
  }
  .sec--comments .commentsWrap {
    padding: 30px 20px 50px;
  }
  .sec--comments .comments {
    display: block;
  }
  .sec--comments .comments > div {
    width: 100%;
    max-width: 100%;
  }
  .sec--comments .comments > div + div {
    margin-top: 50px;
  }
  .sec--ticket .sec-block1Wrap {
    padding: 30px 20px 50px;
  }
  .sec--ticket .application > a {
    font-size: 16px;
  }
  .sec--ticket .application p {
    text-align: left;
  }
  .sec--goods .goods {
    justify-content: space-between;
  }
  .sec--goods .goods a {
    max-width: initial;
    width: calc(50% - 10px);
    margin-right: 0 !important;
    margin-top: 20px;
  }
  .sec--goods .goods a p {
    line-height: 1.5;
  }
  footer {
    padding: 50px 20px;
  }
  footer .footer-inner {
    display: block;
  }
  footer .footer-inner .left {
    width: 100%;
  }
  footer .footer-inner .left .sns {
    font-size: 12px;
  }
  footer .footer-inner .left .sns span {
    margin-right: 20px;
  }
  footer .footer-inner .left .sns a {
    margin-right: 28px;
  }
  footer .footer-inner .right {
    width: 100%;
    padding-left: 0;
    margin-top: 40px;
  }
}
