.contentBody {
  background: #fff;
  letter-spacing: normal;
  position: relative;
  z-index: 2;
}

.contentBody.story {
  padding-top: 50px;
}

@media screen and (max-width: 768px) {
  .contentBody.story {
    padding-top: 0;
  }
}

.storylist .contentBody {
  margin-top: 0;
}

.storyDetail footer {
  margin-top: 0;
}

.hero {
  background: #000;
  height: calc(56vw + 50px);
  padding-top: 50px;
  position: relative;
  width: 100%;
  z-index: 0;
}

@media screen and (min-width: 769px) {
  .hero .img-wrapper {
    height: calc(100% - 50px);
    left: 0;
    position: absolute;
    top: 50px;
    width: 50%;
  }
  .hero .img-wrapper img {
    display: block;
    height: auto;
    width: 100%;
  }
  .hero .category {
    bottom: calc(20px - 6.25rem);
    color: #fff;
    font-size: 6.25rem;
    font-weight: bold;
    line-height: 6.25rem;
    position: absolute;
    right: -7.75rem;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    -webkit-transform-origin: left top;
            transform-origin: left top;
    z-index: 3;
  }
  .hero .title-wrapper {
    background-color: #000;
    height: 56vw;
    left: 50%;
    position: absolute;
    top: 50px;
    width: 50%;
  }
  .hero .title-wrapper.fixed {
    position: fixed;
    top: 50px;
  }
  .hero .titles {
    display: table;
    height: 100%;
    width: 100%;
  }
  .hero .titles > div {
    display: table-cell;
    padding: 0 8.3vw;
    vertical-align: middle;
    width: 100%;
  }
  .hero .hero-category {
    color: #fff;
    font-size: .75rem;
    font-weight: bold;
    line-height: .75rem;
    margin-bottom: .75rem;
    text-align: left;
  }
  .hero .hero-series {
    color: #fff;
    font-size: .875rem;
    font-weight: bold;
    line-height: .875rem;
    margin-bottom: .875rem;
    text-align: left;
  }
  .hero .title {
    color: #fff;
    font-size: 1.5rem;
    line-height: 1.5;
    margin-bottom: .75rem;
    text-align: left;
    width: 100%;
  }
  .hero time {
    color: #fff;
    display: block;
    font-size: .75rem;
    font-weight: bold;
    margin-bottom: 1.5rem;
    text-align: left;
  }
  .hero .authors {
    color: #fff;
    font-size: .75rem;
    line-height: 2;
    margin-bottom: 1.5rem;
    text-align: left;
  }
  .hero .authors p {
    color: #fff;
    font-size: .75rem;
    line-height: 2;
    text-align: left;
  }
  .hero .authors span::after {
    content: ' ';
  }
}

@media screen and (max-width: 768px) {
  .hero {
    background-color: #000;
    height: auto;
    margin-bottom: 0;
    margin-top: 12.08vw;
    padding-top: 0;
  }
  .hero .img-wrapper {
    height: 158.4vw;
    width: 100vw;
  }
  .hero .img-wrapper img {
    display: block;
    height: auto;
    width: 100%;
  }
  .hero .title-wrapper {
    background: #000;
  }
  .hero .title-wrapper .category {
    display: none;
  }
  .hero .title-wrapper .titles {
    margin: 0 auto;
    padding: 4.35vw 0;
    width: 95.17vw;
  }
  .hero .title-wrapper .hero-category {
    color: #fff;
    font-size: 2.83vw;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 3.38vw;
    text-align: left;
  }
  .hero .title-wrapper .hero-series {
    color: #fff;
    font-size: 3.38vw;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 2.83vw;
    text-align: left;
  }
  .hero .title-wrapper .title {
    color: #fff;
    font-size: 4.35vw;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 1.2vw;
    text-align: left;
  }
  .hero .title-wrapper time {
    display: block;
    margin-bottom: 1.8vw;
    font-size: 2.4vw;
    text-align: left;
    color: #fff;
  }
  .hero .title-wrapper .authors {
    color: #fff;
    font-size: 2.4vw;
    line-height: 2;
    text-align: left;
  }
  .hero .title-wrapper .authors p {
    color: #fff;
    font-size: 2.4vw;
    line-height: 2;
    text-align: left;
  }
  .hero .title-wrapper .authors span::after {
    content: ' ';
  }
}

.share-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: nowrap;
      flex-flow: nowrap;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  margin: 60px auto;
  padding: 0;
  text-align: left;
  width: 842px;
}

.share-sns li {
  display: block;
  height: 30px;
  margin-right: 20px;
  width: 30px;
}

.share-sns li a {
  border-radius: 15px;
  -webkit-box-shadow: 0 0 30px 8px rgba(200, 200, 200, 0.4);
          box-shadow: 0 0 30px 8px rgba(200, 200, 200, 0.4);
  display: block;
  height: 100%;
  overflow: hidden;
  width: 100%;
}

.share-sns li img {
  display: block;
  height: 100%;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .share-sns {
    margin: 10vw auto;
    width: 91.3%;
  }
  .share-sns li {
    height: 7.25vw;
    margin-right: 4.83vw;
    width: 7.25vw;
  }
  .share-sns li a {
    border-radius: 4vw;
  }
}

.tags {
  margin: 50px auto;
  width: 824px;
}

.titles .tags {
  margin: 0;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .tags {
    width: 95.17vw;
  }
}

.tags ul {
  margin: 0 auto 100px;
  text-align: left;
}

.titles .tags ul {
  margin: 0 auto;
}

.tags li {
  background-color: #fff;
  border: 1px solid #cbcbcb;
  display: inline-block;
  height: 14px;
  margin: 0 3px 8px 0;
  padding: 0;
}

.tags li a {
  color: #63c13e;
  display: block;
  font-size: 8px;
  line-height: 12px;
  padding: 0 4px;
}

@media screen and (max-width: 768px) {
  .tags ul {
    margin: 0 auto;
    text-align: left;
  }
  .tags li {
    background-color: #fff;
    border: 1px solid #cbcbcb;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: inline-block;
    height: 3.86vw;
    margin: 0 .66vw 2vw 0;
  }
  .tags li a {
    color: #63c13e;
    display: block;
    font-size: 1.9vw;
    line-height: 3.86vw;
    padding: 0 1vw;
  }
}

.lead {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: normal;
  line-height: 1.75;
  margin: 0 auto;
  padding: 0 0 70px;
  text-align: justify;
  width: 842px;
}

@media screen and (max-width: 768px) {
  .lead {
    font-size: 3.38vw;
    margin: 0 auto;
    padding: 0 0 12vw;
    width: 85.5vw;
  }
}

.description {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto 40px;
  width: 842px;
}

.description h2 {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 50px;
  text-align: left;
  width: 100%;
}

.description h3 {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 50px;
  text-align: left;
  width: 100%;
}

.description p {
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  font-size: 1.125rem;
  font-weight: normal;
  letter-spacing: 1px;
  line-height: 2;
  margin-bottom: 40px;
  text-align: justify;
}

@media screen and (min-width: 769px) {
  .description figure + p {
    margin-top: 110px;
  }
  .description p + figure {
    margin-top: 110px;
  }
}

@media screen and (max-width: 768px) {
  .description {
    margin: 0 auto 8vw;
    width: 90.34vw;
  }
  .description h2 {
    font-size: 3.86vw;
    margin: 0 auto 8vw;
    width: 85.5vw;
  }
  .description h3 {
    font-size: 3.86vw;
    margin: 0 auto 8vw;
    width: 85.5vw;
  }
  .description p {
    font-size: 3.38vw;
    margin: 0 auto 8vw;
    width: 85.5vw;
  }
}

.description li {
  text-align: left;
}

.description figure {
  display: block;
  margin-bottom: 40px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .description figure {
    margin-bottom: 8vw;
  }
}

.description figure img {
  height: auto;
  width: 100%;
}

.description figure.columns {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.description .columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .description .columns {
    margin-bottom: 8vw;
  }
}

.description .columns img {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-item-align: start;
      align-self: flex-start;
  width: 410px;
}

.description .columns img:nth-child(odd) {
  margin-left: 0;
}

.description .columns img:nth-child(even) {
  margin-right: 0;
}

@media screen and (max-width: 768px) {
  .description .columns img {
    width: 44vw;
  }
}

.description figcaption {
  font-size: .75rem;
  margin-bottom: 0;
  text-align: left;
  width: 100%;
}

.description figcaption p {
  font-size: .75rem;
  margin-bottom: 0;
  padding: 1.5rem 0 0;
  text-align: left;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .description figcaption p {
    font-size: 2.83vw;
    line-height: 2;
    padding: 4.83vw 2.42vw 0;
  }
}

.description figcaption p:not(:first-child) {
  padding-top: 0;
}

@media screen and (max-width: 768px) {
  .description figure + * {
    margin-bottom: 0;
  }
  .description figure + figure {
    margin-top: 4.83vw;
  }
  .description figure + :not(figure) {
    margin-bottom: 8vw;
    margin-top: 8vw;
  }
}

.description .captionStyle {
  font-size: .75rem;
  padding: 0;
}

@media screen and (max-width: 768px) {
  .description .captionStyle {
    font-size: 2.9vw;
    padding-left: 0;
    width: 100%;
  }
}

.description iframe {
  height: calc($pc-content-width / 16 * 9);
  width: 842px;
}

.description iframe[title*='Spotify'] {
  height: calc($pc-content-width / 16 * 11);
}

.description iframe.instagram-media {
  height: 827px;
  margin: 1px auto;
}

@media screen and (max-width: 768px) {
  .description iframe {
    height: calc($sp-content-width-wide / 16 * 9);
    width: 90.34vw;
  }
  .description iframe[title*='Spotify'] {
    height: calc($sp-content-width-wide * 1.5);
  }
  .description iframe.instagram-media {
    height: calc(91.2vw * 1.85);
  }
}

.description .caption-insta {
  margin-left: auto;
  margin-right: auto;
  max-width: 540px;
  min-width: 326px;
}

@media screen and (max-width: 768px) {
  .description .caption-insta {
    width: 91.2vw;
  }
}

.information {
  border: 1px solid #000;
  margin-bottom: 40px;
  padding: 50px 35px;
}

@media screen and (max-width: 768px) {
  .information {
    margin-bottom: 4.83vw;
    padding: 7.25vw 3.38vw;
  }
}

.information.profile {
  background-color: #000;
  color: #fff;
}

.information.profile * {
  color: #ccc;
}

.information.profile a[target='_blank'] {
  background: url("../gs-images/common/blank-white.svg") no-repeat right 2px top 0;
  background-size: 12px;
  padding-right: 20px;
}

.information h2 {
  font-size: .875rem;
  font-style: italic;
  font-weight: bold;
  line-height: 1.55;
  margin-bottom: 1rem;
  padding: 0;
  text-align: left;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .information h2 {
    font-size: 3.38vw;
    margin-bottom: 4.83vw;
    padding-left: 0;
  }
}

.information h3 {
  font-size: .625rem;
  font-weight: bold;
  line-height: 2.2;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .information h3 {
    font-size: 2.83vw;
    margin-bottom: 0;
    padding: 0;
  }
}

.information p {
  font-size: .75rem;
  line-height: 2.2;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .information p {
    font-size: 2.83vw;
    margin-bottom: 0;
    padding: 0;
  }
}

.information address {
  font-style: normal;
}

@media screen and (min-width: 769px) {
  .information .prof-colums {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.information .prof-colums .prof-column1-2 {
  height: auto;
  width: 144px;
}

@media screen and (max-width: 768px) {
  .information .prof-colums .prof-column1-2 {
    text-align: center;
    width: 100%;
  }
}

.information .prof-colums .prof-column1-2 img {
  border-radius: 72px;
  display: block;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .information .prof-colums .prof-column1-2 img {
    border-radius: 20vw;
    margin-bottom: 7.25vw;
    margin-left: auto;
    margin-right: auto;
    width: 35vw;
  }
}

.information .prof-colums .prof-column2-2 {
  padding-left: 35px;
  width: 610px;
}

@media screen and (max-width: 768px) {
  .information .prof-colums .prof-column2-2 {
    padding-left: 0;
    text-align: center;
    width: 100%;
  }
}

.story-related {
  border-bottom: 1px solid #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto;
  padding-bottom: 70px;
  text-align: left;
  width: 842px;
}

@media screen and (max-width: 768px) {
  .story-related {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .story-related h2 {
    margin-left: 7.9vw;
  }
}

.story-related h2 :lang(en) {
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.66;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .story-related h2 :lang(en) {
    font-size: 3.86vw;
    line-height: 1.66;
  }
}

.story-related h2 :lang(ja) {
  display: block;
  font-size: 1.11rem;
  font-weight: bold;
  line-height: 2;
  padding-top: .5rem;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .story-related h2 :lang(ja) {
    font-size: 3.38vw;
    padding-top: 1vw;
  }
}

.story-related .innerWrap {
  overflow: hidden;
  padding: 0;
  width: 100%;
}

.story-related .list-items {
  height: auto;
  margin: 0 auto;
  width: 100%;
}

@media screen and (min-width: 769px) {
  .story-related .list-items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.story-related .list-items .list-item {
  height: 325px;
  letter-spacing: normal;
  margin-bottom: 25px;
  margin-right: 20px;
  white-space: normal;
  width: 195px;
}

.story-related .list-items .list-item:nth-child(4n) {
  margin-right: 0;
}

.story-related .list-items .list-item a {
  display: block;
}

.story-related .list-items .list-item p {
  color: #000;
  line-height: 1.5;
  text-align: left;
}

.story-related .list-items .list-item p.gender {
  font-size: .75rem;
}

.story-related .list-items .list-item p.brand {
  font-size: .625rem;
}

.story-related .list-items .list-item p.name {
  color: #666;
  font-size: .875rem;
}

.story-related .list-items .list-item p.linktext {
  font-size: .625rem;
}

.story-related .list-items .list-item img {
  display: block;
  margin-bottom: 10px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .story-related .list-items .list-item {
    height: 57.5vw;
    letter-spacing: normal;
    margin-bottom: 10vw;
    margin-right: 1vw;
    white-space: normal;
    width: 42.8vw;
  }
  .story-related .list-items .list-item:nth-child(4n) {
    margin-right: 1vw;
  }
  .story-related .list-items .list-item p {
    color: #000;
    line-height: 1.5;
    text-align: left;
  }
  .story-related .list-items .list-item p.gender {
    font-size: 2.83vw;
  }
  .story-related .list-items .list-item p.brand {
    font-size: 2.42vw;
  }
  .story-related .list-items .list-item p.name {
    color: #666;
    font-size: 3.38vw;
  }
  .story-related .list-items .list-item p.linktext {
    font-size: 0.2 0.83vw;
  }
}

.storypanel {
  margin-bottom: 80px;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .storypanel {
    margin-bottom: 19.32vw;
    margin-top: 19.32vw;
  }
}

.storypanel .swipe-wrapper {
  height: calc(32.3vw + 110px);
  width: 100%;
}

.storypanel .list-items {
  height: calc(32.3vw + 115px);
  margin: 0 auto;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .storypanel .list-items {
    height: 135vw;
    margin: 2.4vw auto 0;
  }
}

.brand .storypanel .list-items {
  height: auto;
}

.storypanel .list-item {
  height: calc(32.3vw + 110px);
  margin-bottom: 55px;
  margin-right: 2.3vw;
  width: 20.4vw;
}

@media screen and (max-width: 768px) {
  .storypanel .list-item {
    height: 135vw;
    width: 72.01vw;
  }
}

.storypanel .list-item a {
  display: block;
  height: 100%;
  width: 100%;
}

.storypanel .list-item .ph-item {
  height: auto;
  width: 100%;
}

.storypanel .list-item .ph-item img {
  width: 100%;
}

.storypanel .list-item .detail {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 4px 8px;
  width: 100%;
}

.storypanel .list-item .detail p {
  text-align: left;
}

.storypanel .list-item .detail p.series {
  font-size: 11px;
  font-weight: bold;
  line-height: 1.8;
  margin-bottom: 3px;
  min-height: 19px;
}

@media screen and (max-width: 768px) {
  .storypanel .list-item .detail p.series {
    font-size: 2.66vw;
  }
}

.storypanel .list-item .detail p.name {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: #666;
  display: -webkit-box;
  display: box;
  font-size: 14px;
  font-weight: 700;
  line-clamp: 3;
  line-height: 1.29;
  max-height: 54px;
  min-height: 54px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .storypanel .list-item .detail p.name {
    font-size: 3.38vw;
  }
}

.storypanel .list-item .detail time {
  display: inline-block;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.8;
  text-align: left;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .storypanel .list-item .detail time {
    font-size: 2.66vw;
  }
}

.storylist .storypanel .list-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: auto;
  padding-left: 2.8vw;
}

@media screen and (max-width: 768px) {
  .storylist .storypanel .list-item {
    height: 150vw;
  }
}

.flickity-slider .list-item:first-child {
  padding-left: 60px;
  width: calc(20.4vw + 60px);
}

.flickity-slider .list-item:last-child {
  margin-right: 0;
  padding-right: 60px;
  width: calc(20.4vw + 60px);
}

.flickity-slider .list-item:only-child {
  padding-left: 60px;
  padding-right: 0;
  width: calc(20.4vw + 60px);
}

@media screen and (max-width: 768px) {
  .flickity-slider .list-item:first-child {
    padding-left: 8.7vw;
    width: calc(72.01vw + 8.7vw);
  }
  .flickity-slider .list-item:last-child {
    margin-right: 0;
    padding-right: 8.7vw;
    width: calc(72.01vw + 8.7vw);
  }
  .flickity-slider .list-item:only-child {
    padding-left: 8.7vw;
    padding-right: 0;
    width: calc(72.01vw + 8.7vw);
  }
}

@media screen and (max-width: 768px) {
  .story-related .flickity-slider .list-item:first-child {
    height: 57.5vw;
    margin-bottom: 10vw;
    margin-right: 1vw;
    padding-left: 8vw;
    width: calc(42.8vw + 8vw);
  }
  .story-related .flickity-slider .list-item:last-child {
    padding-right: 8vw;
    width: calc(42.8vw + 8vw);
  }
  .story-related .flickity-slider .list-item:only-child {
    padding-left: 8vw;
    padding-right: 0;
    width: calc(42.8vw + 8vw);
  }
  .newstory .flickity-slider .list-item {
    padding-right: 4.8vw;
  }
  .newstory .flickity-slider .list-item:first-child {
    padding-left: 15.7vw;
    width: calc(72.01vw + 15.7vw);
  }
  .newstory .flickity-slider .list-item:first-child .ph img {
    width: calc(72.01vw - 4.8vw);
  }
  .newstory .flickity-slider .list-item:last-child {
    margin-right: 0;
    padding-right: 15.7vw;
    width: calc(72.01vw + 15.7vw);
  }
  .newstory .flickity-slider .list-item:last-child .ph img {
    width: calc(72.01vw - 4.8vw);
  }
  .newstory .flickity-slider .list-item:only-child {
    padding-left: 15.7vw;
    padding-right: 0;
    width: calc(72.01vw + 15.7vw);
  }
  .newstory .flickity-slider .list-item:only-child .ph img {
    width: calc(72.01vw - 4.8vw);
  }
}

.storypanel {
  margin-bottom: 0;
  padding: 80px 0;
}

.storypanel .list-item {
  margin-bottom: 55px;
}

.storypanel .list-item .detail p.series {
  color: #ccc;
  font-size: .75rem;
}

.storypanel .list-item .detail p.name {
  color: #ccc;
  font-size: .875rem;
}

.storyDetail .storypanel {
  background-color: #000;
}

.storypanel time {
  color: #fff;
}

.see-all {
  background-color: #999;
  color: #fff;
  display: block;
  font-size: 14px;
  height: 40px;
  line-height: 40px;
  margin: 20px auto;
  text-align: center;
  width: 180px;
}

@media screen and (max-width: 768px) {
  .see-all {
    font-size: 3.38vw;
    height: 9.66vw;
    line-height: 9.66vw;
    margin: 4.83vw auto;
    width: 43.5vw;
  }
}

h2.vert-title {
  color: #fff;
  font-size: 3rem;
  font-weight: bold;
  line-height: 60px;
  margin-bottom: 0;
  margin-left: 0;
  position: relative;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  width: calc(32.3vw + 110px);
  z-index: 15;
}

@media screen and (max-width: 768px) {
  h2.vert-title {
    font-size: 8.7vw;
    line-height: 8.7vw;
    margin-left: 2vw;
    width: 135vw;
    z-index: 15;
  }
}

.view-items {
  -ms-flex-item-align: end;
      align-self: flex-end;
  bottom: 0;
  height: 100px;
  left: 0;
  padding-bottom: env(safe-area-inset-bottom);
  padding-top: 1vw;
  position: -webkit-sticky;
  position: sticky;
  width: 100%;
  z-index: 29;
}

.btn-view-items {
  background-color: #999;
  bottom: 0;
  color: #fff;
  display: block;
  font-size: 14px;
  height: 40px;
  line-height: 40px;
  margin: 20px auto;
  text-align: center;
  -webkit-transition: opacity .5s linear;
  transition: opacity .5s linear;
  width: 180px;
  z-index: 30;
}

@media screen and (max-width: 768px) {
  .btn-view-items {
    font-size: 3.38vw;
    height: 9.66vw;
    line-height: 9.66vw;
    margin: 4.83vw auto;
    width: 43.5vw;
  }
}

.btn-view-items.scroll {
  opacity: .4;
}

.modal-item {
  background: #fff;
  -webkit-box-shadow: 0 0 30px 8px rgba(200, 200, 200, 0.4);
          box-shadow: 0 0 30px 8px rgba(200, 200, 200, 0.4);
  height: auto;
  left: 0;
  position: fixed;
  top: 100vh;
  -webkit-transition: top 200ms linear;
  transition: top 200ms linear;
  width: 100%;
  z-index: 31;
}

@media screen and (max-width: 768px) {
  .modal-item {
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    width: 100vw;
  }
}

.modal-item .headding {
  background-color: #999;
  color: #fff;
  font-size: 14px;
  line-height: 28px;
  position: relative;
}

.modal-item .headding::after {
  color: #fff;
  content: '\0d7';
  display: block;
  font-size: 20px;
  line-height: 28px;
  padding-top: 0;
  position: absolute;
  right: 20px;
  top: 0;
}

@media screen and (max-width: 768px) {
  .modal-item .headding {
    font-size: 3.38vw;
    line-height: 6.76vw;
  }
  .modal-item .headding::after {
    font-size: 4.83vw;
    line-height: 6.76vw;
    right: 4.83vw;
  }
}

.modal-item .innerWrap {
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  margin: 0 auto;
  overflow-y: scroll;
  padding-top: 20px;
  scrollbar-width: none;
  width: 882px;
}

@media screen and (max-width: 768px) {
  .modal-item .innerWrap {
    width: 90.34vw;
  }
}

.modal-item .innerWrap::-webkit-scrollbar {
  display: none;
}

.modal-item .list-items {
  -ms-flex-line-pack: distribute;
      align-content: space-around;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-left: 20px;
  padding-right: 20px;
}

@media screen and (max-width: 768px) {
  .modal-item .list-items {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (max-width: 768px) {
  .storypanel {
    padding: 9.6vw 0;
  }
  .storypanel .list-item {
    margin: 0 auto;
    padding: 0;
    width: 72.01vw;
  }
}

.tagline {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto;
  padding: 0 1.1vw;
  text-align: left;
  width: 100%;
}

.tagline h1 {
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  margin: 30px 0 60px;
}

.tagline p {
  font-size: 18px;
  font-weight: bold;
  line-height: 2;
  margin-bottom: 20px;
  text-align: left;
}

.tagline.taglist h1 {
  font-size: 18px;
  font-weight: bold;
  line-height: 2;
  margin: 0 0 20px;
  text-align: left;
}

.tagline.taglist p {
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  margin: 30px 0;
}

.tagline.story h1 {
  margin-top: 0;
}

.tagline.story h2 {
  font-weight: bold;
}

.tagline.story p {
  margin: 0 0 30px;
}

@media screen and (max-width: 768px) {
  .tagline h1 {
    font-size: 5.8vw;
    margin: 17vw 0 5vw;
  }
  .tagline p {
    font-size: 3.38vw;
    margin-bottom: 8vw;
  }
  .tagline.taglist h1 {
    font-size: 3.38vw;
    margin-bottom: 8vw;
  }
  .tagline.taglist p {
    font-size: 5.8vw;
    margin: 17vw 0 5vw;
  }
  .tagline.story h1 {
    margin-top: 15vw;
  }
  .tagline.story h2 {
    font-size: 3.38vw;
  }
  .tagline.story p {
    margin: 5vw 0;
  }
}

.tagline {
  padding-left: calc(20px + 2.8vw);
}

.storylist .storypanel {
  margin-top: 60px;
  padding-top: 0;
}

.storylist .storypanel .detail p.series {
  color: #000;
  font-size: .75rem;
}

.storylist .storypanel .detail p.name {
  color: #666;
  font-size: .875rem;
}

.storylist .storypanel .detail time {
  color: #000;
}

.category-selector {
  margin: 50px auto 20px;
  padding: 0 2.3vw 0 0;
  text-align: left;
  width: calc(22.7vw * 4);
}

@media screen and (max-width: 768px) {
  .category-selector {
    margin: 7.2vw auto 6vw;
    padding: 0;
    width: 90.34vw;
  }
}

.category-selector h2 {
  background-color: #666;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  height: 40px;
  line-height: 40px;
  margin-bottom: 1.4rem;
  padding: 0 10px;
  position: relative;
  -webkit-transition: background-color .2s linear;
  transition: background-color .2s linear;
  width: 360px;
}

.category-selector h2::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  content: '+';
  display: block;
  font-size: 16px;
  height: 24px;
  line-height: 20px;
  padding-bottom: 4px;
  position: absolute;
  right: 8px;
  text-align: center;
  top: 8px;
  width: 24px;
}

.category-selector h2.open {
  background-color: #fff;
  color: #000;
}

.category-selector h2.open::after {
  color: #fff;
  background-color: #ccc;
  content: '-';
}

@media screen and (max-width: 768px) {
  .category-selector h2 {
    font-size: 2.83vw;
    margin-bottom: 2.83vw;
    margin-left: auto;
    margin-right: auto;
    width: 85.5vw;
  }
  .category-selector h2::after {
    font-size: 3.86vw;
    height: 5.8vw;
    line-height: 4.83vw;
    right: 1.9vw;
    top: 1.9vw;
    width: 5.8vw;
  }
}

.category-selector div {
  text-align: left;
}

.category-selector .storytab {
  height: 0;
  overflow: hidden;
  text-align: left;
  -webkit-transition: all .3s linear;
  transition: all .3s linear;
}

.category-selector .storytab span:not(.replace) {
  font-weight: bold;
  line-height: 1;
  width: calc(100% - 16px - .5vw);
}

@media screen and (max-width: 768px) {
  .category-selector .storytab span:not(.replace) {
    width: calc(100% - 7vw);
  }
}

.category-selector .storytab span:lang(en) {
  display: inline-block;
}

.category-selector .storytab span:lang(ja) {
  display: block;
  padding-left: calc(16px + .5vw);
}

@media screen and (max-width: 768px) {
  .category-selector .storytab span:lang(ja) {
    padding-left: calc(4vw + 2vw);
  }
}

.category-selector li {
  border-bottom: 1px solid #ccc;
  padding: 10px;
  text-align: left;
}

.category-selector li:first-child {
  border-top: 1px solid #ccc;
}

.category-selector li .replace {
  margin-top: 4px;
}

.category-selector li label {
  width: 100%;
}

.open ~ .storytab {
  height: calc(60px * 5 + 20px);
}

@media screen and (max-width: 768px) {
  .open ~ .storytab {
    height: 75vw;
  }
}
