/* infodetail reset
------------------------------------ */
html {
  font-size: 62.5%;
}

ul, ol, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

br {
  font-size: 0;
}

@media (min-aspect-ratio: 7 / 10) {
  body {
    font-size: 16px;
  }
}

.indent {
  padding-left: 1em;
  text-indent: -1em;
  display: block;
}

main {
  background: #F4F4F4;
}

main * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.heading {
  max-width: 780px;
  margin: 0 auto 50px;
  padding-top: 92px;
  text-align: left;
}

.heading .date {
  margin-bottom: 12px;
  letter-spacing: 0.8px;
  font-size: 14px;
  font-family: "Nobel Regular" , "Nobel bold";
  font-weight: bold;
}

.heading .title {
  line-height: 1.4;
  letter-spacing: 1.9px;
  font-size: 24px;
}

.heading .category {
  display: inline-block;
  padding: 0 4px;
  line-height: 19px;
  letter-spacing: 0.48px;
  background-color: #ffffff;
  font-size: 12px;
  color: #343434;
  border-radius: 3px;
}

.main {
  display: block;
  max-width: 780px;
  margin: auto;
}

.main a {
  color: #343434;
}

.main a.primary-button {
  color: #fff;
  margin-left: auto;
  margin-right: auto;
}

.content .content-text {
  font-family: "LexusRodinPro-M", Nobel-Regular, Meiryo, sans-serif;
  margin-bottom: 60px;
  letter-spacing: 0.72px;
  line-height: 1.81;
}

.content .content-text .content-text-heading {
  font-size: 18px;
}

.content .content-text .content-text-note {
  line-height: 2.5;
  letter-spacing: 0.48px;
  font-size: 12px;
}

.content .content-text .date {
  letter-spacing: 0.64px;
}

.content .content-image-wrap {
  text-align: center;
}

.content .content-image {
  margin: 0;
}

.content .content-image img {
  width: 100%;
  margin-bottom: 8px;
  vertical-align: bottom;
}

.content .content-image-wrap .content-image.-sm {
  max-width: 380px;
}

.content .content-image-wrap .content-image-caption {
  margin-top: 3px;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.5px;
  font-size: 12px;
}

.content .content-image-container-.col-2 .content-image-caption {
  margin-top: 1px;
}

.content .content-table-wrap {
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  margin: 0 auto 60px;
}

.content table {
  width: 780px;
  font-size: 14px;
  white-space: nowrap;
}

.content table th, .content table td {
  border: 1px solid #D6D6D6;
}

.content table th {
  letter-spacing: 0.5px;
  text-align: left;
  padding-left: 20px;
  font-size: 13px;
  color: #000000;
}

.content table th.head {
  padding-left: 0;
  width: 174px;
  text-align: center;
  line-height: 44px;
  letter-spacing: 0.8px;
  font-size: 14px;
  color: #343434;
}

.content table td {
  padding: 16px 0;
  text-align: center;
  line-height: 1.43;
  letter-spacing: 0.5px;
}

.content table td.head {
  padding: 28px 0 24px 0;
  letter-spacing: 0.6px;
}

.content table td:not(.head) {
  font-family: "LexusRodinPro-M", Nobel-Regular, Meiryo, sans-serif;
}

.content .content-table-wrap.-col-2 {
  max-width: 780px;
  overflow-x: hidden;
}

.content .content-table-wrap.-col-2 .content-table-a {
  width: 100%;
}

.content .content-table-a th:nth-child(2), .content .content-table-a th:nth-child(3) {
  width: 152px;
}

.content .content-table-a th:nth-child(4) {
  width: 151px;
}

.content .content-table-a th:nth-child(5) {
  width: 156px;
}

.content .content-table-a td:first-child {
  text-align: left;
  padding: 0 8px;
}

.content .content-table-b td.head {
  width: 114px;
}

.content .content-link {
  text-decoration: underline;
  line-height: 17px;
  letter-spacing: 0.56px;
  font-size: 14px;
}

.content .content-link.-button {
  display: block;
  max-width: 380px;
  height: 48px;
  margin: 60px auto 0;
  border-radius: 24px;
  border: 1px solid #707070;
  text-align: center;
  line-height: 48px;
  text-decoration: none;
  color: #707070;
  font-size: 14px;
}

@media (min-width: 831px) {
  .content-image-container.-col-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .content .content-table-wrap.-col-2 .content-table-a {
    width: 325px;
  }
  .content .content-table-wrap {
    overflow-x: hidden;
  }
}

@media (max-width: 830px) {
  .heading {
    width: 86.933vw;
  }
  .main {
    width: 86.933vw;
  }
  .content-image-container.-col-2 {
    display: none;
  }
  .content-image-wrap .-lg {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .content-image-wrap .content-image img {
    width: 100%;
  }
  .content-table-wrap.-col-2 {
    width: 325px;
    margin-left: 0;
  }
  main .scroll-hint-icon-wrap {
    width: 86.933vw !important;
    max-width: 780px;
  }
  main .js-scrollable {
    width: 86.933vw;
  }
  main .scroll-hint-icon {
    width: 80px;
    top: 25%;
    left: calc(50% - 40px);
    opacity: .75;
    background-color: #707070;
  }
  main .scroll-hint-icon-wrap.is-active2 .scroll-hint-icon:after {
    opacity: 1;
  }
  main .scroll-hint.is-right-scrollable {
    background: linear-gradient(270deg, rgba(0, 0, 0, 0.1) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  }
  main .scroll-hint.is-right-scrollable.is-left-scrollable {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.1) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.1) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  }
  main .scroll-hint.is-left-scrollable {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.1) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  }
}

@media (min-aspect-ratio: 7 / 10) and (max-width: 767px) {
  .heading {
    padding-top: 34vw;
  }
}

@media (max-width: 767px) {
  main.main {
    padding-top: 0;
  }
}

@media (max-aspect-ratio: 7 / 10) {
  body {
    font-size: 3.733vw;
  }
  main.main {
    width: 86.933vw;
    margin: 0 auto 16.154vw;
  }
  .heading {
    margin-bottom: 11.87vw;
    padding-top: 41vw;
  }
  .heading .date {
    font-size: 3.2vw;
  }
  .heading .title {
    margin-bottom: 1vw;
    letter-spacing: 0.2vw;
    font-size: 4.8vw;
  }
  .heading .category {
    line-height: 5vw;
    font-size: 3.2vw;
  }
  .main {
    width: 100%;
  }
  .content .content-text {
    width: 86.933vw;
    margin: 0 auto 16.154vw;
    letter-spacing: 0.115vw;
  }
  .content .content-text .content-text-heading {
    margin-bottom: 0.6vw;
    font-size: 4.267vw;
  }
  .content .content-text .content-text-note {
    font-size: 3.2vw;
  }
  .content .content-text .date {
    letter-spacing: 0.3vw;
  }
  .content .content-text + .content-image-wrap {
    margin-top: -4.5vw;
  }
  .content .content-image-wrap {
    margin-bottom: 11vw;
  }
  .content .content-image-wrap .content-image .content-image-caption {
    margin-top: 0;
    letter-spacing: 0.15vw;
    font-size: 3.2vw;
  }
  .content .content-image-wrap .-sm {
    width: 86.933vw;
    margin-left: auto;
    margin-right: auto;
  }
  .content .content-image-wrap .-lg .content-image-caption {
    width: 86.933vw;
    margin: auto;
  }
  .content .content-table-wrap {
    margin-bottom: 10.667vw;
  }
  .content .content-table-wrap table {
    width: 208vw;
    margin-bottom: 0;
    font-size: 3.733vw;
  }
  .content .content-table-wrap table th {
    letter-spacing: 0.133vw;
    padding-left: 5.067vw;
    font-size: 3.467vw;
  }
  .content .content-table-wrap table th.head {
    width: 46.133vw;
    text-align: center;
    line-height: 11.734vw;
    letter-spacing: 0.213vw;
    font-size: 3.733vw;
    padding-left: 0;
  }
  .content .content-table-wrap table td {
    padding: 2.933vw 0;
    letter-spacing: 0.25vw;
  }
  .content .content-table-wrap table td.head {
    padding: 3.2vw 0 2.133vw 0.8vw;
    letter-spacing: 0.133vw;
  }
  .content .content-table-wrap.-col-2 {
    width: 86.933vw;
    margin-top: -2vw;
    margin-left: auto;
  }
  .content .content-table-wrap.-col-4 table {
    display: block;
  }
  .content .content-table-b {
    display: block;
  }
  .content .content-table-a th:nth-child(2) {
    width: 41.067vw;
  }
  .content .content-table-a th:nth-child(3) {
    width: 40.533vw;
  }
  .content .content-table-a th:nth-child(4) {
    width: 40.267vw;
  }
  .content .content-table-a th:nth-child(5) {
    width: 41.6vw;
  }
  .content .content-table-b td.head {
    width: 30.933vw;
    padding-top: 3.2vw;
  }
  .content .content-table-b td {
    width: 44.533vw;
  }
  .content .content-link {
    width: 86.933vw;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: 0.1vw;
    font-size: 3.733vw;
  }
  .content .content-link.-button {
    width: 86.3vw;
    height: 10.9vw;
    margin-top: 9.667vw;
    line-height: 10.9vw;
    font-size: 3.733vw;
  }
}

/* 見出しコンポーネント */

.content-heading {
  line-height: 1.4;
}

.heading-h1, .heading-h2, .heading-h3, .heading-h4 {
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.heading-h5, .heading-h6 {
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.heading-h1 {
  font-size: 32px;
  margin-bottom: 32px;
}

.heading-h2 {
  font-size: 28px;
  margin-bottom: 32px;
}

.heading-h3 {
  font-size: 24px;
  margin-bottom: 32px;
}

.heading-h4 {
  font-size: 20px;
  margin-bottom: 24px;
}

.heading-h5 {
  font-size: 18px;
  margin-bottom: 16px;
}

.heading-h6 {
  font-size: 16px;
  margin-bottom: 16px;
}

@media (max-aspect-ratio: 7 / 10) {
  .heading-h4, .heading-h5, .heading-h6 {
    line-height: 1.4;
    letter-spacing: 0.04em;
  }
  .heading-h1, .heading-h2 {
    font-size: 6.4vw;
  }
  .heading-h3 {
    font-size: 5.333vw;
  }
  .heading-h4 {
    font-size: 4.8vw;
  }
  .heading-h5, .heading-h6 {
    font-size: 4.267vw;
  }
}

/*btn float*/
.btn-float {
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0px;
  z-index: 10;
  display: flex;
  justify-content: center;
  padding: 7px 0 8px;
  background-color: #f4f4f4;
  border-top: solid 1px #bbb;
}

.btn-float .primary-button {
  margin-bottom: 0;
}

@media (max-aspect-ratio: 7 / 10) {
  .btn-float {
    bottom: 54px;
  }
}

/*campaign*/
.content .campaign-period {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 12px;
  font-size: 12px;
}
@media (max-aspect-ratio: 7 / 10) {
  .content .campaign-period {
    font-size: 3.2vw;
  }
}