@charset "UTF-8";
/*! Writen  by SCSS */
.contents_wrap {
  font-family: YakuHanMP, "Noto Serif JP","游明朝", "Yu Mincho", YuMincho, "游明朝体", 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','ＭＳ Ｐ明朝', serif; }

.ttl_wrap .ttl {
  margin-bottom: 110px; }
  @media screen and (max-width: 480px) {
    .ttl_wrap .ttl {
      margin-bottom: 50px; } }
.ttl_wrap .main_copy {
  font-size: clamp(23px, calc(33vw / 12), 33px);
  letter-spacing: 0.28em;
  line-height: 1.8;
  margin-bottom: 25px; }
  @media screen and (max-width: 480px) {
    .ttl_wrap .main_copy {
      font-size: clamp(15px, calc(23vw / 4.8), 23px);
      letter-spacing: 0.2em;
      line-height: 1.6;
      margin-bottom: 25px;
      margin-right: -20px;
      margin-left: -20px; } }
.ttl_wrap .main_read {
  font-size: clamp(13px, calc(18vw / 12), 18px);
  letter-spacing: 0.05em;
  line-height: 2.3; }
  @media screen and (max-width: 480px) {
    .ttl_wrap .main_read {
      margin-right: -20px;
      margin-left: -20px; } }

.sub {
  display: flex;
  flex-wrap: wrap; }
  .sub .item {
    width: 25%;
    width: 20%; }
    @media screen and (max-width: 480px) {
      .sub .item {
        width: 50%;
        width: 100%; } }
    @media screen and (max-width: 480px) {
      .sub .item.item03 a .item_in .bg img {
        object-position: 40% 70%; } }
    .sub .item a {
      display: block;
      position: relative;
      overflow: hidden; }
      .sub .item a .item_in {
        aspect-ratio: 1 / 1; }
        @media screen and (max-width: 480px) {
          .sub .item a .item_in {
            aspect-ratio: 2 / 0.5; } }
      .sub .item a .bg {
        width: 100%; }
        @media screen and (max-width: 480px) {
          .sub .item a .bg {
            height: 100%; } }
        .sub .item a .bg img {
          width: 100%; }
          @media screen and (max-width: 480px) {
            .sub .item a .bg img {
              height: 100%;
              object-fit: cover; } }
      .sub .item a .txt {
        font-size: clamp(16px, calc(30vw / 16), 30px);
        letter-spacing: 0.3em;
        font-weight: 400;
        line-height: 1.6;
        color: #fff;
        text-align: center;
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center; }
        .sub .item a .txt p {
          position: relative;
          z-index: 2; }
        .sub .item a .txt::before {
          content: "";
          display: block;
          position: absolute;
          inset: 0;
          z-index: 1;
          background-position: center;
          background-size: cover;
          background-repeat: no-repeat;
          background-image: url("../images/position/btn_txt_bg.png"); }
        .sub .item a .txt.sp_bg::before {
          background-image: url("../images/position/btn_txt_bg_bunkyo.png"); }
        .sub .item a .txt img {
          display: block;
          line-height: 0;
          position: relative;
          z-index: 2; }
    .sub .item.item01 .txt img {
      width: 42%; }
    .sub .item.item02 .txt img {
      width: 39.5%; }
    .sub .item.item03 .txt::before {
      opacity: 0.5; }
    .sub .item.item03 .txt img {
      width: 37.25%; }
    .sub .item.item04 .txt img {
      width: 47%; }

.sec .sec_ttl {
  margin-bottom: 35px; }
  @media screen and (max-width: 480px) {
    .sec .sec_ttl {
      margin-bottom: 20px; } }
.sec .sec_sub {
  margin-bottom: 35px; }
  @media screen and (max-width: 480px) {
    .sec .sec_sub {
      margin-bottom: 20px; } }
.sec .sec_read {
  margin-bottom: 60px; }
  @media screen and (max-width: 480px) {
    .sec .sec_read {
      margin-bottom: 35px; } }

.sec1 {
  background: #232f23;
  padding-top: 80px;
  color: #fff; }
  @media screen and (max-width: 480px) {
    .sec1 {
      padding-top: 20px; } }
  .sec1 .inner {
    padding: 80px 20px 300px; }
    @media screen and (max-width: 480px) {
      .sec1 .inner {
        padding: 60px 20px 160px; } }
    .sec1 .inner .sec_ttl {
      color: #b1a297; }
    .sec1 .inner .cont {
      max-width: 860px;
      margin: 0 auto; }
      .sec1 .inner .cont li {
        display: flex;
        justify-content: space-between;
        align-items: center; }
        @media screen and (max-width: 480px) {
          .sec1 .inner .cont li {
            display: block; } }
        .sec1 .inner .cont li:nth-child(2n) {
          flex-direction: row-reverse; }
        .sec1 .inner .cont li:not(:last-child) {
          margin-bottom: 90px; }
          @media screen and (max-width: 480px) {
            .sec1 .inner .cont li:not(:last-child) {
              margin-bottom: 60px; } }
        .sec1 .inner .cont li .img {
          width: calc(420% / 8.6); }
          @media screen and (max-width: 480px) {
            .sec1 .inner .cont li .img {
              width: 100%;
              margin-bottom: 20px; } }
        .sec1 .inner .cont li .txt {
          width: calc(378% / 8.6); }
          @media screen and (max-width: 480px) {
            .sec1 .inner .cont li .txt {
              width: 100%;
              text-align: center; }
              .sec1 .inner .cont li .txt img {
                margin: 0 auto; } }
          .sec1 .inner .cont li .txt .c_ttl {
            margin-bottom: 20px; }
            @media screen and (max-width: 480px) {
              .sec1 .inner .cont li .txt .c_ttl {
                margin-bottom: 15px; } }
        .sec1 .inner .cont li .cap_l {
          color: #fff;
          padding-top: 0.9em; }
        .sec1 .inner .cont li .cap_r {
          color: #fff;
          padding-top: 0.9em; }

.sec2 {
  background: #141514;
  color: #fff; }
  .sec2 .sec_ttl {
    color: #b1a297;
    letter-spacing: 0.4em; }
    .sec2 .sec_ttl .l {
      font-size: 140%; }
    @media screen and (max-width: 480px) {
      .sec2 .sec_ttl {
        letter-spacing: 0.25em; } }
  .sec2 .sec2_top_image {
    position: relative; }
    .sec2 .sec2_top_image::before {
      content: "";
      display: block;
      position: absolute;
      inset: 0;
      z-index: 1;
      background: linear-gradient(0deg, #141514 0%, rgba(20, 21, 20, 0) 37%, rgba(20, 21, 20, 0) 100%); }
      @media screen and (max-width: 480px) {
        .sec2 .sec2_top_image::before {
          content: none; } }
    .sec2 .sec2_top_image .plot_image {
      display: block;
      line-height: 0;
      position: absolute;
      inset: 0;
      width: 100%;
      z-index: 2; }
      @media screen and (max-width: 480px) {
        .sec2 .sec2_top_image .plot_image {
          width: 600px;
          max-width: 600px; } }
    @media screen and (max-width: 480px) {
      .sec2 .sec2_top_image .view {
        position: relative; } }
    .sec2 .sec2_top_image .t_cap {
      z-index: 5; }
      @media screen and (max-width: 480px) {
        .sec2 .sec2_top_image .t_cap {
          font-size: 7px; } }
  .sec2 .sec02_inner {
    background: #141514;
    padding-top: 20px; }
    @media screen and (max-width: 480px) {
      .sec2 .sec02_inner {
        padding-top: 20px; } }
  .sec2 .inner {
    max-width: 1280px;
    padding: 80px 20px 200px; }
    @media screen and (max-width: 480px) {
      .sec2 .inner {
        padding: 50px 20px 160px; } }
    .sec2 .inner .sec02_highview .t_cap {
      bottom: 6.04%;
      right: auto;
      left: 5%; }
      @media screen and (max-width: 480px) {
        .sec2 .inner .sec02_highview .t_cap {
          right: 3.5%;
          bottom: 3%; } }
    .sec2 .inner .sec_read {
      margin-bottom: 20px; }
      @media screen and (max-width: 480px) {
        .sec2 .inner .sec_read {
          margin-bottom: 20px; } }
    .sec2 .inner .cont {
      max-width: 860px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-direction: row-reverse; }
      @media screen and (max-width: 480px) {
        .sec2 .inner .cont {
          display: block; } }
      .sec2 .inner .cont .fig {
        width: calc(397% / 8.6); }
        @media screen and (max-width: 480px) {
          .sec2 .inner .cont .fig {
            width: 60%;
            margin: 0 auto; } }
      .sec2 .inner .cont .txt {
        width: calc(390% / 8.6); }
        @media screen and (max-width: 480px) {
          .sec2 .inner .cont .txt {
            width: 100%;
            margin-bottom: 30px;
            text-align: center; } }
        .sec2 .inner .cont .txt .c_ttl {
          margin-bottom: 20px; }
          @media screen and (max-width: 480px) {
            .sec2 .inner .cont .txt .c_ttl {
              margin-bottom: 15px; } }
        .sec2 .inner .cont .txt .c_read {
          margin-bottom: 50px; }
          @media screen and (max-width: 480px) {
            .sec2 .inner .cont .txt .c_read {
              margin-bottom: 35px; } }
      @media screen and (max-width: 480px) {
        .sec2 .inner .cont .sec2_d {
          width: 80%;
          margin: 0 auto; } }
    .sec2 .inner .cont_cap {
      max-width: 860px;
      margin: 0 auto; }
      .sec2 .inner .cont_cap .cap_r {
        color: #FFF;
        padding-top: 5px; }
        @media screen and (max-width: 480px) {
          .sec2 .inner .cont_cap .cap_r {
            text-align: left;
            padding-top: 25px; } }

.sec5 {
  background: #eeeeee;
  margin-top: -90px;
  padding-top: 90px; }
  @media screen and (max-width: 480px) {
    .sec5 {
      margin-top: -65px;
      padding-top: 65px; } }
  .sec5 .inner {
    max-width: 860px;
    padding: 80px 20px 200px; }
    @media screen and (max-width: 480px) {
      .sec5 .inner {
        padding: 50px 20px 160px; } }
  .sec5 .sec_sub {
    margin-inline: -40.1%;
    text-align: center;
    font-size: clamp(15px, calc(28vw / 12), 28px); }
    @media screen and (max-width: 1600px) {
      .sec5 .sec_sub {
        margin-inline: -10%; } }
    @media screen and (max-width: 480px) {
      .sec5 .sec_sub {
        font-size: 4.35vw;
        letter-spacing: -0.1em; } }
  .sec5 .wrap01 {
    margin-bottom: 25px; }
    @media screen and (max-width: 480px) {
      .sec5 .wrap01 {
        margin-bottom: 20px; } }
    .sec5 .wrap01 .ttl {
      background: linear-gradient(90deg, #631a1e 0%, #771f24 100%);
      color: #fff;
      font-size: clamp(15px, calc(20vw / 12), 20px);
      text-align: center;
      letter-spacing: 0.05em;
      line-height: 1;
      padding: 20px 10px;
      margin-bottom: clamp(20px, calc(25vw / 12), 25px);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center; }
      @media screen and (max-width: 480px) {
        .sec5 .wrap01 .ttl {
          padding: 10px 5px;
          line-height: 1.4; } }
      .sec5 .wrap01 .ttl .text_min {
        font-size: 0.7em;
        margin-top: 0.4em; }
        @media screen and (max-width: 480px) {
          .sec5 .wrap01 .ttl .text_min {
            line-height: 1; } }
    .sec5 .wrap01 .img {
      margin-inline: auto;
      width: 86.87%; }
      @media screen and (max-width: 480px) {
        .sec5 .wrap01 .img {
          width: calc(100% + 30px);
          margin-inline: -15px; } }
  .sec5 .wrap02 .wrap02_ttl {
    background: #928173;
    color: #fff;
    line-height: 1;
    text-align: center;
    padding: 10px 0; }
    .sec5 .wrap02 .wrap02_ttl .en_ttl {
      font-size: clamp(16px, calc(22vw / 12), 22px);
      margin-bottom: 0.25em;
      letter-spacing: 0.2em;
      line-height: 1; }
      .sec5 .wrap02 .wrap02_ttl .en_ttl .small {
        font-size: 70%; }
    .sec5 .wrap02 .wrap02_ttl .bold {
      color: #93865a;
      font-weight: 900; }
    .sec5 .wrap02 .wrap02_ttl .bold_02 {
      font-weight: 900;
      color: #fffc03; }
  .sec5 .wrap02.wrap02_01 {
    background: #e5e3e1;
    margin-bottom: clamp(20px, calc(40vw / 12), 40px); }
    .sec5 .wrap02.wrap02_01 .text_wrap {
      line-height: 1;
      text-align: center;
      color: #231815;
      padding: clamp(15px, calc(20vw / 12), 20px) 0; }
      .sec5 .wrap02.wrap02_01 .text_wrap .ttl01 {
        margin-bottom: .5em; }
  .sec5 .wrap02.wrap02_02 {
    margin-bottom: 30px; }
    .sec5 .wrap02.wrap02_02 .wrap02_ttl .c_ttl {
      letter-spacing: 0.1em;
      font-size: clamp(16px, calc(19vw / 12), 18px); }
    .sec5 .wrap02.wrap02_02 .in_box {
      display: flex;
      flex-wrap: wrap;
      background: #e5e3e1;
      padding: clamp(15px, calc(30vw / 12), 20px) 5.7%;
      justify-content: space-between;
      row-gap: clamp(20px, calc(25vw / 12), 25px);
      align-items: center; }
      @media screen and (max-width: 480px) {
        .sec5 .wrap02.wrap02_02 .in_box {
          padding: 15px;
          flex-direction: column; } }
      .sec5 .wrap02.wrap02_02 .in_box .img01 {
        width: 50%;
        max-width: 380px; }
        @media screen and (max-width: 480px) {
          .sec5 .wrap02.wrap02_02 .in_box .img01 {
            width: 100%;
            max-width: 100%;
            aspect-ratio: 95/41; }
            .sec5 .wrap02.wrap02_02 .in_box .img01 img {
              width: 100%;
              height: 100%;
              object-fit: cover; } }
      .sec5 .wrap02.wrap02_02 .in_box .text_wrap {
        width: 46.45%; }
        @media screen and (max-width: 480px) {
          .sec5 .wrap02.wrap02_02 .in_box .text_wrap {
            width: 100%;
            text-align: center; } }
        .sec5 .wrap02.wrap02_02 .in_box .text_wrap .ttl {
          margin-bottom: 0.5em; }
        .sec5 .wrap02.wrap02_02 .in_box .text_wrap .read {
          letter-spacing: 0; }
      @media screen and (max-width: 480px) {
        .sec5 .wrap02.wrap02_02 .in_box .cap_l {
          font-size: 8px; } }
  .sec5 .wrap03 {
    position: relative;
    background: #fff;
    padding: 25px 5.7%; }
    @media screen and (max-width: 480px) {
      .sec5 .wrap03 {
        padding: 15px; } }
    .sec5 .wrap03::after {
      content: '';
      position: absolute;
      inset: 0;
      border: 1px solid #231815;
      pointer-events: none; }
    .sec5 .wrap03 .ttl {
      margin-bottom: 0.5em;
      text-align: center;
      line-height: 1.55;
      font-size: clamp(16px, calc(22vw / 12), 22px); }
    .sec5 .wrap03 .item_wrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      grid-row-gap: clamp(15px, calc(30vw / 12), 30px); }
      .sec5 .wrap03 .item_wrap .item {
        width: 47.37%;
        background: #928173; }
        @media screen and (max-width: 480px) {
          .sec5 .wrap03 .item_wrap .item {
            width: 100%; } }
        .sec5 .wrap03 .item_wrap .item .c_ttl {
          text-align: center;
          color: #fff;
          line-height: 1;
          padding: 10px 0 9px; }
        @media screen and (max-width: 480px) {
          .sec5 .wrap03 .item_wrap .item .img span {
            font-size: 9px !important; } }

.sec3 {
  background: #eeeeee; }
  .sec3 .inner {
    position: relative;
    z-index: 5;
    margin-top: calc(-270vw / 16);
    padding: 7.5vw 20px 200px; }
    @media screen and (max-width: 480px) {
      .sec3 .inner {
        padding: 7.5vw 20px 120px; } }
    .sec3 .inner .s_read {
      margin-bottom: 40px; }
      @media screen and (max-width: 480px) {
        .sec3 .inner .s_read {
          margin-bottom: 30px; } }
    .sec3 .inner .sec03_lead_image {
      max-width: 990px;
      margin-left: auto;
      margin-right: auto; }
      @media screen and (max-width: 480px) {
        .sec3 .inner .sec03_lead_image {
          margin-left: -20px;
          margin-right: -20px;
          width: calc(100% + 40px); } }
      .sec3 .inner .sec03_lead_image .t_cap_b {
        right: 2.53%;
        bottom: 2.81%; }
        @media screen and (max-width: 480px) {
          .sec3 .inner .sec03_lead_image .t_cap_b {
            right: 5px;
            bottom: -5px;
            transform: scale(0.9);
            transform-origin: right center; } }
    .sec3 .inner .cont {
      max-width: 860px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-direction: row-reverse; }
      @media screen and (max-width: 480px) {
        .sec3 .inner .cont {
          display: block; } }
      .sec3 .inner .cont .fig {
        width: calc(273% / 8.6);
        position: relative; }
        @media screen and (max-width: 480px) {
          .sec3 .inner .cont .fig {
            width: 78%;
            margin: 0 auto; } }
        .sec3 .inner .cont .fig .han {
          position: absolute;
          bottom: -1.6em;
          left: 0;
          margin-right: -52.02%; }
          @media screen and (max-width: 480px) {
            .sec3 .inner .cont .fig .han {
              position: static;
              margin: 7px -32% 0; } }
          .sec3 .inner .cont .fig .han img {
            width: 100%;
            height: auto; }
      .sec3 .inner .cont .txt {
        width: calc(515% / 8.6); }
        @media screen and (max-width: 480px) {
          .sec3 .inner .cont .txt {
            width: 100%;
            margin-bottom: 30px;
            text-align: center; } }
        .sec3 .inner .cont .txt .c_ttl {
          margin-bottom: 20px; }
          @media screen and (max-width: 480px) {
            .sec3 .inner .cont .txt .c_ttl {
              margin-bottom: 15px; } }

.sec4 {
  background: #fff; }
  @media screen and (max-width: 480px) {
    .sec4 .sec04_top_image {
      aspect-ratio: 5 / 3; }
      .sec4 .sec04_top_image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: bottom center; } }
  .sec4 .inner {
    margin-top: 70px;
    padding: 80px 20px 300px; }
    @media screen and (max-width: 480px) {
      .sec4 .inner {
        margin-top: 0;
        padding: 60px 20px 140px; } }
    .sec4 .inner .s_read {
      margin-bottom: 60px; }
      @media screen and (max-width: 480px) {
        .sec4 .inner .s_read {
          margin-bottom: 40px; } }
    .sec4 .inner .cont {
      max-width: 760px;
      margin: 0 auto; }
      .sec4 .inner .cont .img {
        display: flex;
        justify-content: space-between;
        margin-bottom: 50px; }
        @media screen and (max-width: 480px) {
          .sec4 .inner .cont .img {
            margin: 0 -20px 30px;
            width: calc(100% + 40px); } }
        @media screen and (max-width: 480px) {
          .sec4 .inner .cont .img li {
            width: 50%;
            aspect-ratio: 4 / 3; }
            .sec4 .inner .cont .img li img {
              width: 100%;
              height: 100%;
              object-fit: cover; } }
        .sec4 .inner .cont .img li.item_left img {
          object-position: center; }
        .sec4 .inner .cont .img li.item_right img {
          object-position: 20% 30%; }
      .sec4 .inner .cont .c_ttl {
        margin-bottom: 20px; }
        @media screen and (max-width: 480px) {
          .sec4 .inner .cont .c_ttl {
            margin-bottom: 15px; } }

.view_cont {
  position: relative; }
  .view_cont .time {
    position: absolute;
    bottom: 0;
    right: 0;
    height: 20px;
    width: 100%;
    text-align: right;
    background: rgba(0, 0, 0, 0.4);
    background: rgba(0, 0, 0, 0.6);
    height: 23px;
    padding: 0;
    background: rgba(0, 0, 0, 0.8); }
    @media screen and (max-width: 767px) {
      .view_cont .time {
        background: rgba(0, 0, 0, 0.6); } }
    .view_cont .time img {
      height: 100%;
      width: auto;
      margin: 0 0 0 auto; }
    @media screen and (max-width: 1500px) {
      .view_cont .time {
        height: 20px;
        padding: 3px 0;
        width: 20%; } }

@media screen and (max-width: 480px) {
  .view img {
    width: 600px;
    max-width: 600px; } }

.simplebar-track.simplebar-horizontal {
  height: 20px;
  bottom: -20px; }

.simplebar-track.simplebar-horizontal::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.8); }
  @media screen and (max-width: 767px) {
    .simplebar-track.simplebar-horizontal::before {
      background: rgba(0, 0, 0, 0.6); } }

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  top: 5px;
  bottom: 5px; }

.simplebar-scrollbar {
  display: none; }

.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
  background: #fff !important;
  opacity: 1 !important; }

@media screen and (min-width: 1500px), print {
  .simplebar-track {
    display: none; }

  .simplebar-horizontal {
    display: none; } }

/*# sourceMappingURL=position.css.map */
