@charset "UTF-8";
/*************************************/
.mv {
  max-width: 1720px;
  aspect-ratio: 1720/980;
  width: calc(100% - 200px);
  height: auto;
  margin: 0 auto;
  position: relative; }
  .mv h1 {
    position: absolute;
    right: -50px;
    bottom: 10%;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background: url("../images/index/mv-txt_pc.svg") center center no-repeat;
    background-size: contain;
    width: 479px;
    height: auto;
    aspect-ratio: 479/ 346;
    display: block;
    z-index: 10; }

.slider {
  width: 100%;
  max-width: 1720px;
  aspect-ratio: 1720 / 980;
  overflow: hidden;
  margin: 0 auto;
  position: relative; }

.slick-img {
  width: 100%;
  height: 100%;
  position: relative; }

.slick-img picture,
.slick-img img {
  width: 100%;
  height: 100%;
  display: block;
  /* 画像表示必須 */
  object-fit: cover; }

/* add-animationがついたらフェードインで表示 */
.slick-slide.add-animation img {
  opacity: 1; }

@keyframes zoomUp {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.15);
    /* 拡大率 */ } }
.add-animation {
  animation: zoomUp 10s linear 0s normal both; }

@media (max-width: 1280px) {
  .mv {
    width: calc(100% - 160px); }
    .mv h1 {
      right: -40px;
      bottom: 40px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .mv {
    width: calc(100% - 120px); }
    .mv h1 {
      right: -25px;
      bottom: 45px;
      width: 382px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .mv {
    max-width: 1720px;
    width: calc(100% - 100px); }
    .mv .slider {
      aspect-ratio: 1280/1600; }
    .mv h1 {
      right: -20px;
      bottom: 45px;
      max-width: 382px;
      height: auto;
      width: calc(100% - 40px); } }
/*max-width:768px*/
@media (max-width: 480px) {
  .slick-img .slick-slide {
    width: 335px;
    height: 698px; }

  .mv {
    width: 335px;
    height: 698px;
    width: calc(100% - 40px); }
    .mv .slider {
      width: 335px;
      height: 698px;
      overflow: hidden; }
    .mv h1 {
      right: -20px;
      bottom: 40px;
      max-width: 298px;
      height: auto;
      width: calc(100% - 40px);
      background: url("../images/index/mv-txt_sp.svg") center center no-repeat;
      background-size: contain;
      width: 100%;
      height: auto;
      aspect-ratio: 298/ 254; } }
/*max-width:480px*/
/*************************************/
.news {
  max-width: 1720px;
  width: calc(100% - 200px);
  margin: 0 auto;
  position: relative;
  border-bottom: 1px solid #B2B2B2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  align-items: center;
  padding: 15px 0; }
  .news h2 {
    font: 1.7rem/1em "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
    width: 115px;
    border-left: 1px solid #B2B2B2;
    border-right: 1px solid #B2B2B2; }
  .news div {
    width: calc(100% - 115px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
    letter-spacing: 0.05em; }
  .news p {
    width: calc(100% - 130px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: center; }
    .news p time {
      font: 1.6rem/1em "Noto Serif JP", serif;
      font-weight: 400;
      width: 140px;
      text-align: center; }
    .news p > a {
      width: calc(100% - 140px);
      font: 1.7rem/1em "Noto Serif JP", serif;
      font-weight: 400;
      text-decoration: none;
      text-overflow: ellipsis;
      overflow: hidden;
      white-space: nowrap; }
  .news .view {
    transition: .3s;
    font: 1.5rem/1em cardo, serif;
    font-weight: 400;
    text-decoration: none;
    color: #000000;
    position: relative;
    padding: 0 60px 0 0; }
    .news .view:before {
      position: absolute;
      content: "";
      display: block;
      background: #707070;
      width: 50px;
      height: 1px;
      top: 9px;
      right: 0; }
    .news .view:after {
      position: absolute;
      content: "";
      display: block;
      background: #707070;
      width: 10px;
      height: 1px;
      top: 7px;
      right: 0;
      transform: rotate(30deg); }

@media (hover: hover) {
  .news p > a:hover {
    text-decoration: underline;
    text-underline-offset: 8px; }
  .news .view:hover {
    color: #707070; }
    .news .view:hover:before {
      animation: nobinobi 1s infinite; }
    .news .view:hover:after {
      animation: koro-koro 1s infinite; }

  @keyframes nobinobi {
    0% {
      right: 0;
      width: 50px; }
    50% {
      right: 10px;
      width: 40px; }
    100% {
      right: 0;
      width: 50px; } }
  @keyframes koro-koro {
    0% {
      right: 0; }
    50% {
      right: 10px; }
    100% {
      right: 0; } } }
@media (max-width: 1280px) {
  .news {
    width: calc(100% - 160px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .news {
    width: calc(100% - 120px); }
    .news h2 {
      font: 1.6rem/1em "Noto Sans JP", sans-serif;
      font-weight: 400;
      width: 100px; }
    .news div {
      width: calc(100% - 100px); }
    .news p {
      width: calc(100% - 130px); }
      .news p time {
        font: 1.3rem/1em "Noto Serif JP", serif;
        font-weight: 400;
        width: 120px;
        text-align: center; }
      .news p > a {
        width: calc(100% - 120px);
        font: 1.6rem/1em "Noto Serif JP", serif;
        font-weight: 400;
        text-decoration: none; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .news {
    width: calc(100% - 100px);
    display: block; }
    .news div {
      display: block;
      width: 100%;
      letter-spacing: 0.05em;
      position: relative; }
    .news h2 {
      padding: 3px 0 2px 0;
      width: 100px;
      margin: 0;
      font-size: 1.4rem; }
    .news p {
      padding: 15px 0 15px;
      width: 100%; }
      .news p time {
        font-size: 1.3rem;
        position: absolute;
        left: 100px;
        top: -17px; }
      .news p > a {
        font-size: 1.4rem;
        padding: 0;
        width: 100%; }
    .news .view {
      display: block;
      width: fit-content;
      margin: 0 0 0 auto; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .news {
    width: calc(100% - 40px);
    max-width: 335px; }
    .news h2 {
      font: 1.4rem/1em "Noto Sans JP", sans-serif;
      font-weight: 400;
      width: 100px; }
    .news p time {
      font: 1.3rem/1em "Noto Serif JP", serif;
      font-weight: 400;
      left: 100px;
      width: 100px; }
    .news p > a {
      font: 1.4rem/1em "Noto Serif JP", serif;
      font-weight: 400; }
    .news .view {
      transition: .3s;
      font: 1.3rem/1em cardo, serif;
      font-weight: 400;
      padding: 0 50px 0 0; }
      .news .view:before {
        width: 40px;
        height: 1px;
        top: 7px;
        right: 0; }
      .news .view:after {
        width: 10px;
        height: 1px;
        top: 5px;
        right: 0;
        transform: rotate(30deg); } }
/*max-width:480px*/
/*************************************/
.about {
  max-width: 1720px;
  width: calc(100% - 200px);
  margin: 0 auto;
  position: relative;
  padding: 75px 0 160px;
  position: relative; }
  .about:before {
    transition: .3s;
    position: absolute;
    content: "About us";
    top: -10px;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    /* Safari用 */
    transform: translate(-50%, 0%);
    font: 18vw/1em the-seasons, sans-serif;
    font-weight: 300;
    width: 100%;
    text-align: center;
    top: 75px;
    height: fit-content;
    display: block;
    color: #E8EBEB;
    z-index: 1; }
  .about div {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: flex-end;
    position: relative;
    z-index: 5; }
  .about p {
    transition: .3s;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    order: 1;
    display: block;
    margin: 0 0 0 110px;
    position: relative;
    z-index: 5;
    background: url("../images/index/about_win.svg") center center no-repeat;
    background-size: contain;
    width: 710px;
    height: 590px; }
  .about a {
    color: #000;
    font: 1.6rem/65px cardo, serif;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-decoration: none;
    padding: 0 0 85px;
    width: fit-content;
    height: fit-content;
    display: block;
    writing-mode: vertical-rl;
    position: relative; }
    .about a:before {
      transition: .3s;
      position: absolute;
      content: "";
      display: block;
      width: 70px;
      height: 70px;
      border: 1px solid #707070;
      border-radius: 50%;
      bottom: 0;
      background: url("../images/common/arrow_btm.svg") center top 20px no-repeat; }

@media (hover: hover) {
  .about a:hover:before {
    background: url("../images/common/arrow_btm.svg") center top 30px no-repeat; } }
@media (max-width: 1280px) {
  .about {
    max-width: 1720px;
    width: calc(100% - 160px); }
    .about div {
      max-width: 890px;
      margin: 0 auto;
      -webkit-justify-content: space-between;
      justify-content: space-between; }
    .about p {
      margin: 0;
      max-width: 700px;
      width: calc(100% - 100px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .about {
    max-width: 1720px;
    width: calc(100% - 0px);
    padding: 75px 0 130px; }
    .about:before {
      font: 23.5vw/1em the-seasons, sans-serif;
      font-weight: 300;
      width: 100%; }
    .about div {
      width: calc(100% - 120px);
      max-width: 890px;
      margin: 0 auto;
      -webkit-justify-content: center;
      justify-content: center; }
    .about p {
      background: url("../images/index/about_pc.svg") top center no-repeat;
      background-size: contain;
      max-width: 617px;
      height: auto;
      aspect-ratio: 617/529;
      width: calc(100% - 160px); }
    .about a {
      font: 1.5rem/55px cardo, serif;
      font-weight: 400;
      padding: 0 0 75px;
      margin: 0 100px 0 0; }
      .about a:before {
        width: 60px;
        height: 60px;
        background: url("../images/common/arrow_btm.svg") center top 18px no-repeat;
        background-size: 12px auto; } }
@media (max-width: 1024px) and (hover: hover) {
  .about a:hover:before {
    background: url("../images/common/arrow_btm.svg") center top 22px no-repeat;
    background-size: 12px auto; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .about {
    padding: 55px 0 100px; }
    .about:before {
      font: 24vw/1em the-seasons, sans-serif;
      font-weight: 300;
      width: 100%; }
    .about div {
      width: calc(100% - 100px);
      max-width: 550px;
      margin: 0 auto;
      -webkit-justify-content: space-between;
      justify-content: space-between; }
    .about p {
      background: url("../images/index/about_tb.svg") top center no-repeat;
      background-size: contain;
      max-width: 449px;
      height: auto;
      aspect-ratio: 449/546;
      width: calc(100% - 75px); }
    .about a {
      margin: 0;
      font: 1.4rem/50px cardo, serif;
      font-weight: 400; }
      .about a:before {
        width: 55px;
        height: 55px;
        background: url("../images/common/arrow_btm.svg") center top 18px no-repeat;
        background-size: 10px auto; } }
@media (max-width: 768px) and (hover: hover) {
  .about a:hover:before {
    background: url("../images/common/arrow_btm.svg") center top 22px no-repeat;
    background-size: 10px auto; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .about {
    padding: 80px 0 60px; }
    .about:before {
      font: 24vw/1em the-seasons, sans-serif;
      font-weight: 300;
      width: 100%;
      top: 30px; }
    .about div {
      width: calc(100% - 60px);
      max-width: 315px;
      margin: 0 auto;
      display: block; }
    .about p {
      background: url("../images/index/about_sp.svg") top center no-repeat;
      background-size: contain;
      max-width: 297px;
      margin: 0 auto 30px;
      height: auto;
      aspect-ratio: 297/436;
      width: 100%; }
    .about a {
      font: 1.4rem/55px cardo, serif;
      font-weight: 400; }
    .about a {
      font: 1.5rem/55px cardo, serif;
      font-weight: 400;
      padding: 0 75px 0 0;
      width: fit-content;
      margin: 0 auto;
      writing-mode: horizontal-tb; }
      .about a:before {
        top: 0;
        right: 0;
        width: 55px;
        height: 55px;
        background: url("../images/common/arrow_btm.svg") center top 18px no-repeat;
        background-size: 10px auto; } }
/*max-width:480px*/
@media (min-width: 1920px) {
  .about:before {
    font: 30rem/1em the-seasons, sans-serif;
    font-weight: 300; } }
/*max-width:1280px*/
/*************************************/
.slider-container {
  width: 100%;
  display: flex;
  overflow: hidden; }

.slider-wrapper {
  display: flex;
  animation: horizontal-animation 100s linear infinite; }

.slide {
  width: 560px;
  aspect-ratio: 56/38; }

.slide img {
  aspect-ratio: 56/38;
  width: 100%;
  height: auto;
  line-height: 0; }

@keyframes horizontal-animation {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
@media (max-width: 1280px) {
  .slide {
    width: 430px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .slide {
    width: 340px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .slide {
    width: 260px; } }
/*max-width:768px*/
/*max-width:480px*/
/*************************************/
.ttl {
  border-top: 1px solid #9BBAC5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  max-width: 1720px;
  width: calc(100% - 200px);
  margin: 0 auto;
  padding: 10px 0 0; }
  .ttl h2 {
    color: #0D5068;
    font: 9rem/1em the-seasons, sans-serif;
    font-weight: 300; }
    .ttl h2 span {
      display: block;
      font: 1.7rem/1em "Noto Sans JP", sans-serif;
      font-weight: 500;
      letter-spacing: 0.05em;
      margin: 0 0 20px;
      padding: 1px 0 0 15px;
      border-left: 5px solid #0D5068; }
  .ttl p {
    text-align: justify;
    text-justify: inter-ideograph;
    padding: 40px 0 0 0;
    font: 1.8rem/2em "Noto Serif JP", serif;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #0D5068;
    margin: 0; }

@media (max-width: 1280px) {
  .ttl {
    width: calc(100% - 160px);
    margin: 0 auto; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .ttl {
    width: calc(100% - 120px);
    display: block; }
    .ttl p {
      width: 100% !important; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .ttl {
    width: calc(100% - 100px); }
    .ttl h2 {
      font: 8rem/1em the-seasons, sans-serif;
      font-weight: 300;
      width: 100% !important; }
      .ttl h2 span {
        font: 1.6rem/1em "Noto Sans JP", sans-serif;
        font-weight: 500; }
    .ttl p {
      font: 1.6rem/2em "Noto Serif JP", serif;
      font-weight: 600; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .ttl {
    max-width: 315px;
    width: calc(100% - 60px); }
    .ttl h2 {
      font: 6rem/1em the-seasons, sans-serif;
      font-weight: 300;
      width: 100% !important; }
      .ttl h2 span {
        font: 1.5rem/1em "Noto Sans JP", sans-serif;
        font-weight: 500; }
    .ttl p {
      padding: 15px 0 0;
      font: 1.5rem/2em "Noto Serif JP", serif;
      font-weight: 600; } }
/*max-width:480px*/
/*************************************/
/*************************************/
.view_link {
  color: #000;
  font: 1.6rem/55px cardo, serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-decoration: none;
  padding: 0 75px 0 0;
  width: fit-content;
  height: fit-content;
  display: block;
  position: relative; }
  .view_link:before {
    transition: .3s;
    position: absolute;
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    border: 1px solid #707070;
    border-radius: 50%;
    right: 0;
    background: url("../images/common/arrow_btm.svg") center top 20px no-repeat;
    background-size: 11px 20px; }

@media (max-width: 768px) {
  .view_link {
    font: 1.4rem/53px cardo, serif;
    font-weight: 400;
    padding: 0 70px 0 0; }
    .view_link:before {
      width: 55px;
      height: 55px;
      right: 0;
      background: url("../images/common/arrow_btm.svg") center top 17px no-repeat;
      background-size: 11px 20px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .view_link {
    font: 1.3rem/36px cardo, serif;
    font-weight: 400;
    padding: 0 55px 0 0; }
    .view_link:before {
      width: 40px;
      height: 40px;
      right: 0;
      background: url("../images/common/arrow_btm.svg") center top 12px no-repeat;
      background-size: 8px 15px; } }
/*max-width:480px*/
/*************************************/
.history {
  padding: 140px 0 0; }
  .history .ttl {
    align-items: center;
    margin: 0 auto 75px; }
    .history .ttl h2 {
      width: 315px; }
    .history .ttl p {
      width: calc(100% - 315px); }
  .history .box {
    max-width: 1720px;
    width: calc(100% - 200px);
    margin: 0 auto; }
    .history .box a {
      padding: 0 40px 0 0;
      height: 140px;
      width: 100%;
      text-decoration: none;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      align-items: center;
      background-color: #fff;
      border: 1px solid #B2B2B2;
      color: #000; }
    .history .box p {
      position: relative;
      padding: 0 0 0 45px;
      font: 3rem/1.5em "Noto Serif JP", serif;
      font-weight: 500;
      letter-spacing: 0.1em; }
      .history .box p br {
        display: none; }
      .history .box p:before {
        background-color: #9AC5AF;
        position: absolute;
        top: 0;
        left: 0;
        width: 8px;
        height: 100%;
        content: "";
        display: block; }

@media (hover: hover) {
  .history a:hover .view_link:before {
    background: url("../images/common/arrow_btm.svg") center top 25px no-repeat;
    background-size: 11px 20px; } }
@media (max-width: 1280px) {
  .history .box {
    width: calc(100% - 160px); }
    .history .box a {
      padding: 0 20px 0 0; }
    .history .box p {
      padding: 0 0 0 40px;
      font: 2.6rem/1.5em "Noto Serif JP", serif;
      font-weight: 500;
      width: calc(100% - 165px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .history {
    padding: 130px 0 0; }
    .history .ttl {
      margin: 0 auto 50px; }
      .history .ttl p {
        margin: 0;
        padding: 10px 0 0; }
        .history .ttl p br {
          display: none; }
    .history .box {
      width: calc(100% - 120px); }
      .history .box a {
        padding: 0 15px 0 0; }
      .history .box p {
        padding: 0 0 0 30px;
        font: 2.5vw/1.6em "Noto Serif JP", serif;
        font-weight: 500; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .history .box {
    width: calc(100% - 100px);
    display: block; }
    .history .box a {
      border: 1px solid #B2B2B2 !important;
      width: 100%;
      padding: 0 15px 0 0;
      height: 130px; }
      .history .box a.txt {
        margin: 0 0 10px; }
    .history .box p {
      width: calc(100% - 150px);
      font: 2.6rem/1.8em "Noto Serif JP", serif;
      font-weight: 500; }
      .history .box p br {
        display: block; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .history {
    padding: 80px 0 0; }
    .history .ttl {
      margin: 0 auto 30px; }
    .history .box {
      width: calc(100% - 60px);
      display: block;
      max-width: 315px; }
      .history .box a {
        border: 1px solid #B2B2B2 !important;
        width: 100%;
        padding: 0 15px 0 0;
        height: 100px; }
        .history .box a.txt {
          margin: 0 0 10px; }
      .history .box p {
        border-left: none;
        width: calc(100% - 150px);
        font: 1.8rem/1.6em "Noto Serif JP", serif;
        font-weight: 500;
        padding: 0 0 0 25px; }
        .history .box p br {
          display: block; }
        .history .box p:before {
          height: 40px;
          top: 50%;
          -webkit-transform: translate(0%, -50%);
          /* Safari用 */
          transform: translate(0%, -50%); } }
/*max-width:480px*/
/*************************************/
.archive {
  padding: 140px 0 160px; }
  .archive .ttl {
    margin: 0 auto 75px; }
    .archive .ttl h2 {
      width: 430px; }
    .archive .ttl p {
      width: calc(100% - 430px); }
  .archive .box {
    max-width: 1720px;
    width: calc(100% - 200px);
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    .archive .box a {
      padding: 0 40px 0 0;
      height: 140px;
      width: calc(100%/2);
      text-decoration: none;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      align-items: center;
      background-color: #fff;
      border: 1px solid #B2B2B2;
      color: #000; }
      .archive .box a.img {
        border-left: none; }
        .archive .box a.img p:before {
          background-color: #7D9DB2; }
      .archive .box a.txt p:before {
        background-color: #B39AC5; }
    .archive .box p {
      position: relative;
      padding: 0 0 0 45px;
      font: 3rem/1.5em "Noto Serif JP", serif;
      font-weight: 500;
      letter-spacing: 0.1em; }
      .archive .box p br {
        display: none; }
      .archive .box p:before {
        position: absolute;
        top: 0;
        left: 0;
        width: 8px;
        height: 100%;
        content: "";
        display: block; }

@media (hover: hover) {
  .archive a:hover .view_link:before {
    background: url("../images/common/arrow_btm.svg") center top 25px no-repeat;
    background-size: 11px 20px; } }
@media (max-width: 1280px) {
  .archive .box {
    width: calc(100% - 160px); }
    .archive .box a {
      padding: 0 20px 0 0; }
    .archive .box p {
      padding: 0 0 0 40px;
      font: 2.6rem/1.5em "Noto Serif JP", serif;
      font-weight: 500;
      width: calc(100% - 165px); }
      .archive .box p br {
        display: block; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .archive {
    padding: 130px 0; }
    .archive .ttl {
      margin: 0 auto 50px; }
      .archive .ttl p {
        margin: 0;
        padding: 10px 0 0; }
        .archive .ttl p br {
          display: none; }
    .archive .box {
      width: calc(100% - 120px); }
      .archive .box a {
        padding: 0 15px 0 0; }
      .archive .box p {
        padding: 0 0 0 30px;
        font: 2.5vw/1.6em "Noto Serif JP", serif;
        font-weight: 500; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .archive {
    padding: 130px 0; }
    .archive .box {
      width: calc(100% - 100px);
      display: block; }
      .archive .box a {
        border: 1px solid #B2B2B2 !important;
        width: 100%;
        padding: 0 15px 0 0;
        height: 130px; }
        .archive .box a.txt {
          margin: 0 0 10px; }
      .archive .box p {
        width: calc(100% - 150px);
        font: 2.6rem/1.8em "Noto Serif JP", serif;
        font-weight: 500; }
        .archive .box p br {
          display: block; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .archive {
    padding: 80px 0; }
    .archive .ttl {
      margin: 0 auto 30px; }
    .archive .box {
      width: calc(100% - 60px);
      display: block;
      max-width: 315px; }
      .archive .box a {
        border: 1px solid #B2B2B2 !important;
        width: 100%;
        padding: 0 15px 0 0;
        height: 100px; }
        .archive .box a.txt {
          margin: 0 0 10px; }
      .archive .box p {
        border-left: none;
        width: calc(100% - 150px);
        font: 1.8rem/1.6em "Noto Serif JP", serif;
        font-weight: 500;
        padding: 0 0 0 25px; }
        .archive .box p br {
          display: block; }
        .archive .box p:before {
          height: 40px;
          top: 50%;
          -webkit-transform: translate(0%, -50%);
          /* Safari用 */
          transform: translate(0%, -50%); } }
/*max-width:480px*/
/*************************************/
.report {
  padding: 0 0 40px; }
  .report .ttl {
    margin: 0 auto 75px; }
    .report .ttl h2 {
      width: 620px; }
    .report .ttl p {
      width: calc(100% - 620px); }
  .report .view_link {
    position: absolute;
    top: 115px;
    left: 150px; }
  .report .box {
    max-width: 1720px;
    width: calc(100% - 200px);
    margin: 0 auto;
    padding: 50px 0; }
  .report .box01,
  .report .box02 {
    padding: 30px 0 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 0 0 auto;
    max-width: 1400px;
    width: 100%;
    border-top: 1px solid #C8C9CA;
    position: relative; }
    .report .box01 h3,
    .report .box02 h3 {
      font: 3rem/1em "Noto Serif JP", serif;
      font-weight: 500;
      font-weight: 500;
      width: 330px;
      letter-spacing: 0.1em;
      padding: 15px 0 0; }
    .report .box01 ul,
    .report .box02 ul {
      max-width: 840px;
      width: calc(100% - 340px); }
    .report .box01 li,
    .report .box02 li {
      position: relative;
      padding: 24px 20px 20px 0;
      border-bottom: 1px solid #C8C9CA; }
      .report .box01 li:last-of-type,
      .report .box02 li:last-of-type {
        border: none; }
      .report .box01 li a,
      .report .box02 li a {
        transition: 0.3s;
        position: relative;
        display: block;
        left: 0;
        text-decoration: none; }
      .report .box01 li.single_link,
      .report .box02 li.single_link {
        margin: 0 0 50px; }
    .report .box01 time,
    .report .box02 time {
      margin: 0 0 10px;
      font: 1.5rem/1em "Noto Serif JP", serif;
      font-weight: 600;
      letter-spacing: 0.05em;
      display: block; }
    .report .box01 p,
    .report .box02 p {
      font: 1.8rem/1.6em "Noto Serif JP", serif;
      font-weight: 400;
      letter-spacing: 0.08em; }

@media (hover: hover) {
  .report .view_link:hover::before {
    background: url("../images/common/arrow_btm.svg") center top 25px no-repeat;
    background-size: 11px 20px; }
  .report .box01 li a:hover,
  .report .box02 li a:hover {
    left: 20px; } }
@media (max-width: 1280px) {
  .report .box {
    max-width: 1720px;
    width: calc(100% - 160px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .report {
    padding: 0 0 50px; }
    .report .ttl {
      margin: 0 auto; }
    .report .view_link {
      position: relative;
      top: auto;
      left: auto;
      margin: 0 0 0 auto; }
    .report .box {
      max-width: 1720px;
      width: calc(100% - 120px); }
    .report .box01,
    .report .box02 {
      display: block;
      padding: 30px 0 45px; }
      .report .box01 h3,
      .report .box02 h3 {
        padding: 15px 0 25px; }
      .report .box01 ul,
      .report .box02 ul {
        max-width: 660px;
        margin: 0 0 30px auto;
        width: 100%; }
      .report .box01 li:last-of-type,
      .report .box02 li:last-of-type {
        border-bottom: 1px solid #C8C9CA; }
      .report .box01 li.single_link,
      .report .box02 li.single_link {
        margin: 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .report .box {
    max-width: 1720px;
    width: calc(100% - 100px); }
  .report .box01 h3, .report .box02 h3 {
    font: 2.4rem/1em "Noto Serif JP", serif;
    font-weight: 500; }
  .report .box01 time, .report .box02 time {
    font: 1.4rem/1em "Noto Serif JP", serif;
    font-weight: 600; }
  .report .box01 p, .report .box02 p {
    font: 1.6rem/1.8em "Noto Serif JP", serif;
    font-weight: 400; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .report .box {
    padding: 30px 0 0;
    max-width: 315px;
    width: calc(100% - 60px); }
  .report .box01, .report .box02 {
    padding: 10px 0 40px; }
    .report .box01 h3, .report .box02 h3 {
      font: 1.8rem/1em "Noto Serif JP", serif;
      font-weight: 500;
      width: 100%;
      padding: 10px 0 10px; }
    .report .box01 li, .report .box02 li {
      padding: 20px 0; }
    .report .box01 time, .report .box02 time {
      margin: 0 0 10px;
      font: 1.3rem/1em "Noto Serif JP", serif;
      font-weight: 600;
      letter-spacing: 0.05em;
      display: block; }
    .report .box01 p, .report .box02 p {
      font: 1.5rem/1.8em "Noto Serif JP", serif;
      font-weight: 400; } }
/*max-width:480px*/
/*************************************/
.link {
  padding: 0 0 150px; }
  .link h2 {
    margin-bottom: 50px; }
  .link .box {
    max-width: 1720px;
    width: calc(100% - 200px);
    margin: 0 auto; }
  .link .link_list {
    max-width: 1240px;
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start; }
    .link .link_list a {
      display: block;
      width: calc((100% - 40px)/3);
      height: auto;
      aspect-ratio: 4/1;
      border: #B2B2B2 1px solid;
      margin: 0 20px 20px 0;
      position: relative;
      overflow: hidden; }
      .link .link_list a:nth-of-type(3n) {
        margin-right: 0; }
      .link .link_list a img {
        transition: .3s;
        object-fit: cover;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        /* Safari用 */
        transform: translate(-50%, -50%); }

@media (hover: hover) {
  .link .link_list a:hover img {
    -webkit-transform: translate(-50%, -50%) scale(1.15);
    /* Safari用 */
    transform: translate(-50%, -50%) scale(1.15); } }
@media (max-width: 1280px) {
  .link .box {
    width: calc(100% - 160px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .link h2 {
    margin-bottom: 40px; }
  .link .box {
    width: calc(100% - 100px); }
  .link .link_list {
    max-width: 740px;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    .link .link_list a {
      width: calc((100% - 20px)/2);
      margin: 0 0 20px 0; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .link {
    padding: 0 0 100px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .link {
    padding: 0 0 80px; }
    .link .box {
      width: calc(100% - 60px); }
    .link .link_list {
      max-width: 315px; }
      .link .link_list a {
        width: 100%;
        margin: 0 0 15px; } }
/*max-width:480px*/
/*************************************/
