/* Author: c.nz */
/* ---------------------------------------------------
	top
------------------------------------------------------ */
.js-slider {
  pointer-events: none; }

.more-btn {
  display: inline-block;
  margin: 4rem auto 0;
  position: relative;
  font-size: 1.8rem;
  line-height: 1.4; }
  .more-btn::after {
    content: "";
    display: inline-block;
    transition: all ease 0.3s;
    width: 2rem;
    height: 0.1rem;
    background-color: #FFF;
    position: absolute;
    top: 60%;
    right: -2rem;
    opacity: 0; }
  .more-btn:hover {
    text-decoration: underline;
    opacity: 1; }
    .more-btn:hover:after {
      opacity: 1;
      right: -3rem; }

.sec-lead {
  max-width: 120rem;
  padding: 53.7rem 3rem 9.2rem 4rem;
  margin: auto;
  display: flex;
  justify-content: flex-end;
  position: relative;
  background-image: url("../images/top/sec-lead-bg.png");
  background-repeat: no-repeat;
  background-size: 101rem;
  background-position: top 10.1rem center; }
  .fr-sec-lead {
    max-width: 120rem;
    padding: 53.7rem 3rem 13.2rem 4rem;
    margin: auto;
    display: flex;
    justify-content: flex-end;
    position: relative;
    background-image: url(../images/top/sec-lead-bg.png);
    background-repeat: no-repeat;
    background-size: 101rem;
    background-position: top 10.1rem center;
}
  .sec-lead h3 {
    writing-mode: vertical-rl;
    position: absolute;
    left: 0;
    top: 24rem;
    font-size: 3.4rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.5em; }
  .sec-lead h3.fr-heading {
    writing-mode: horizontal-tb;
    position: absolute;
    left: 0;
    top: 24rem;
    font-size: 3.4rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em; }
  .sec-lead p.fr-text {
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: 0.05em;
    font-weight: 400; }
      .sec-lead p {
    font-size: 2.2rem;
    line-height: 2;
    letter-spacing: 0.05em;
    font-weight: 400; }

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .sec-lead {
    background-size: 414px;
    background-position: top 86px center;
    padding: 378px 30px 23px; }
    .sec-lead h3 {
      font-size: 18px;
      top: 60px;
      left: 50%;
      transform: translateX(-50%); }
    .sec-lead h3.fr-heading {
      font-size: 2rem;
      top: 60px;
      left: 50%;
      transform: translateX(-50%); 
}
    .sec-lead p {
      font-size: 15px;
      line-height: 1.6; }

  .sec-lead p.fr-text {
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.05em;
    font-weight: 400; }
    }
@media screen and (max-width: 896px) and (orientation: landscape) {
  .sec-lead h3 {
    left: 20%; } }
#top-slide-inf .slick-list {
  max-width: none; }
  #top-slide-inf .slick-list a {
    pointer-events: none; }

.sec-product {
  margin: 17.8rem 0 0 auto;
  max-width: 149.2rem; }
  .sec-product h3 {
    writing-mode: vertical-rl;
    font-size: 3.4rem;
    font-weight: 400;
    letter-spacing: 0.5em;
    margin: 0 0 7rem 1.8rem; }
  .sec-product div {
    display: flex;
    align-items: flex-start;
    margin-bottom: 4rem; }
    .sec-product div a {
      vertical-align: top; }
      .sec-product div a:first-of-type img {
        width: 8rem;
        margin: 4.6rem 6.8rem 0 0; }
      .sec-product div a:last-of-type img {
        width: 134.4rem;
        max-width: 100%;
        aspect-ratio: 2/1;
        object-fit: cover;
        object-position: bottom; }
    .sec-product div:last-of-type {
      margin-bottom: 22rem; }

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .sec-product {
    margin: 50px 0 0 auto;
    max-width: 100%; }
    .sec-product h3 {
      font-size: 18px;
      margin: 0 0 40px 6%; }
    .sec-product div {
      display: flex;
      align-items: flex-start;
      margin-bottom: 20px; }
      .sec-product div a {
        vertical-align: top; }
        .sec-product div a:first-of-type {
          width: 15%;
          text-align: right;
          margin-right: 20px; }
          .sec-product div a:first-of-type img {
            width: 40%;
            margin: 0; }
        .sec-product div a:last-of-type {
          width: 85%; }
          .sec-product div a:last-of-type img {
            width: 100%;
            max-width: 100%; }
      .sec-product div:last-of-type {
        margin-bottom: 55px; } }
.sec-about {
  background-color: #000;
  background-image: url("../images/top/sec-about-full.png");
  background-repeat: no-repeat;
  background-size: cover;
  display: flex; }
  .sec-about h3, .sec-about p, .sec-about a, .sec-about a:visited {
    color: #FFF; }
  .sec-about div {
    width: 34%;
    padding: 15rem 12rem 17.2rem;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.9); }
    .sec-about div h3 {
      writing-mode:horizontal-tb;
      font-size: 3.4rem;
      font-weight: 400;
      letter-spacing: 0.05em;
      display: inline-block;
      margin-bottom: 6rem; }
    .sec-about div p {
      text-align: left;
      font-size: 1.8rem;
      line-height: 1.8;
      letter-spacing: 0.05em; }
      .sec-about div p span.inblock {
        display: inline-block; }
  .sec-about img {
    width: 66%;
    max-width: 100%;
    object-position: left;
    object-fit: cover; }

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .sec-about {
    background: url("../images/top/sec-about.png");
    background-position: left;
    background-size: cover;
    background-repeat: no-repeat;
    display: block; }
    .sec-about div {
      width: 100%;
      padding: 50px 10px;
      text-align: center;
      backdrop-filter: brightness(30%);
      -webkit-backdrop-filter: brightness(30%);
      background-color: transparent; }
      .sec-about div h3 {
        font-size: 2rem;
        margin-bottom: 30px; }
      .sec-about div p {
        text-align: left;
        font-size: 1.5rem;
        line-height: 1.8; }
      .sec-about div a {
        margin-top: 40px; }
    .sec-about img {
      width: 100%;
      display: none; } }
@media screen and (max-width: 896px) and (orientation: landscape) {
  .sec-about {
    display: flex;
    /*background:#000;*/ }
    .sec-about div {
      width: 34%; }
    .sec-about img {
      width: 66%;
      display: block; } }
.sec-topnews {
  background: url("../images/top/sec-topnews-bg.png");
  padding: 22.2rem 1rem;
  text-align: center; }
  .sec-topnews h3 {
    text-align: left;
    margin: 0 auto 5rem;
    max-width: 120rem;
    font-size: 3.4rem;
    font-weight: 400;
    line-height: 1.5; }
  .sec-topnews .sec-list {
    margin: auto;
    max-width: 120rem;
    display: block; }
    .sec-topnews .sec-list .list-item {
      margin-bottom: 3rem; }
      .sec-topnews .sec-list .list-item:last-of-type {
        margin-bottom: 0; }
      .sec-topnews .sec-list .list-item a {
        display: block; }
        .sec-topnews .sec-list .list-item a .item-txt {
          display: flex;
          font-size: 1.8rem; }
          .sec-topnews .sec-list .list-item a .item-txt .date {
            line-height: 1.71;
            margin-right: 3rem; }
          .sec-topnews .sec-list .list-item a .item-txt .tit {
            line-height: 1.71;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis; }
  .sec-topnews .more-btn {
    margin-top: 6rem; }
    .sec-topnews .more-btn::after {
      background: #000; }

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) {
  .sec-topnews {
    padding: 100px 10px;
    text-align: center; }
    .sec-topnews h3 {
      text-align: left;
      margin: 0 auto 40px;
      max-width: 100%;
      font-size: 18px; }
    .sec-topnews .sec-list {
      margin: auto;
      max-width: 100%;
      display: block; }
      .sec-topnews .sec-list .list-item {
        margin-bottom: 20px; }
        .sec-topnews .sec-list .list-item:last-of-type {
          margin-bottom: 0; }
        .sec-topnews .sec-list .list-item a {
          display: block; }
          .sec-topnews .sec-list .list-item a .item-txt {
            display: flex;
            font-size: 15px; }
            .sec-topnews .sec-list .list-item a .item-txt .date {
              margin-right: 20px; }
    .sec-topnews .more-btn {
      margin-top: 50px; } }
