@charset "UTF-8";
/* CSS Document */
/*****************************************
※※※※※※※※※※※※※※※※※※※※※※※※※

【Sassあり】
このCSSファイルはSassから生成されていますので、
直接編集しないようにしてください。

※※※※※※※※※※※※※※※※※※※※※※※※※
*****************************************/
/* --------------------------
	共通設定
--------------------------- */
/*メディアクエリ設定*/
/* --------------------------
	luminous追加CSS
--------------------------- */
.lum-lightbox.lum-open {
  z-index: 1500; }

/* --------------------------
	共通パーツ
--------------------------- */
.hashtag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 30px 0 10px;
  gap: 5px 15px;
  flex-wrap: wrap; }

@media only screen and (max-width: 767px) {
  .hashtag {
    margin: 20px 0 10px; } }
.hashtag li {
  color: #a59968;
  font-size: 14px; }

@media only screen and (max-width: 767px) {
  .hashtag li {
    font-size: 12px; } }
/* --------------------------
	準備中ページ
--------------------------- */
.pre-contents.mg {
  margin-top: 100px; }

@media only screen and (max-width: 1024px) {
  .pre-contents.mg {
    margin-top: 50px; } }
@media only screen and (max-width: 767px) {
  .pre-contents.mg {
    margin-top: 40px; } }
.pre-report {
  margin-bottom: 285px; }

.pre-report .en-text {
  font-family: "Noto Serif JP";
  text-align: center;
  margin-bottom: 15px;
  font-size: 25px;
  margin-top: 50px; }

@media only screen and (max-width: 767px) {
  .pre-report .en-text {
    font-size: 20px; } }
.pre-report .text {
  text-align: center; }

/* --------------------------
	レポート一覧ページ
--------------------------- */
.report-detail {
  /* --------------------------
  	「もっと見る」で表示
  --------------------------- */ }
  .report-detail .contents.mg.container {
    max-width: 1000px;
    margin-bottom: 100px; }
    @media only screen and (max-width: 1024px) {
      .report-detail .contents.mg.container {
        margin-bottom: 30px; } }
  .report-detail .report-wrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .report-detail .report-wrapper::after {
      content: "";
      display: block;
      width: 300px; }
    @media only screen and (max-width: 1024px) {
      .report-detail .report-wrapper::after {
        width: 31%; } }
  .report-detail .report-box {
    width: 300px;
    margin-bottom: 70px; }
    @media only screen and (max-width: 1024px) {
      .report-detail .report-box {
        width: 31%; } }
    @media only screen and (max-width: 767px) {
      .report-detail .report-box {
        width: 100%;
        margin-bottom: 50px; } }
    .report-detail .report-box .hashtag {
      margin: 15px 0 10px;
      gap: 0 15px; }
      @media (max-width: 767px) {
        .report-detail .report-box .hashtag {
          margin: 10px 0 5px; } }
    .report-detail .report-box h3 {
      font-size: 16px; }
    .report-detail .report-box .report-mainimg {
      overflow: hidden;
      position: relative;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        .report-detail .report-box .report-mainimg {
          height: 240px;
          display: flex; } }
      .report-detail .report-box .report-mainimg::before {
        content: "";
        display: block;
        padding-top: 100%;
        /* 高さを幅の100%に固定 */ }
    .report-detail .report-box img {
      transition: 0.7s all;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      object-fit: cover;
      height: 100%; }
      @media only screen and (max-width: 767px) {
        .report-detail .report-box img {
          width: 100%; } }
    @media only screen and (min-width: 768px) {
      .report-detail .report-box a:hover {
        opacity: 1; }
      .report-detail .report-box a:hover img {
        transform: scale(1.2, 1.2);
        filter: brightness(0.9); }
      .report-detail .report-box a:hover .hashtag, .report-detail .report-box a:hover h3 {
        opacity: .6; } }
  .report-detail .list li.is-hidden {
    visibility: hidden;
    opacity: 0;
    height: 0;
    margin: 0 10px;
    padding: 0; }
  .report-detail .more {
    text-align: center;
    margin-top: -45px; }
    @media only screen and (max-width: 767px) {
      .report-detail .more {
        margin-top: -30px; } }
  .report-detail .more button {
    cursor: pointer;
    transition: 0.3s ease-in-out;
    height: 45px;
    width: 200px;
    border: 1px solid #000;
    box-sizing: border-box;
    text-align: center;
    line-height: 45px;
    position: relative;
    font-size: 12px;
    background-color: #fff; }
    .report-detail .more button::before {
      content: "";
      width: 6px;
      height: 6px;
      border: 0px;
      border-top: solid 1px #000;
      border-right: solid 1px #000;
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      position: absolute;
      top: 50%;
      right: 10px;
      margin-top: -3px; }
    .report-detail .more button:hover {
      opacity: .6; }
  .report-detail .list li.is-appear {
    animation-name: fadeUpAnime;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0; }

/* --------------------------
	レポート詳細ページ
--------------------------- */
.report-detail .contents.mg {
  max-width: 800px;
  margin: 80px auto 0;
  padding: 0 30px;
  box-sizing: content-box;
  animation-name: fadeUpAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0; }
  @media only screen and (max-width: 767px) {
    .report-detail .contents.mg {
      margin-top: 30px;
      padding: 0 20px; } }

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(20px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
.report-detail .contents h2 {
  font-size: 18px;
  font-weight: bold; }

.report-detail .contents p {
  line-height: 1.75;
  margin: 25px 0 20px; }
  @media only screen and (max-width: 767px) {
    .report-detail .contents p {
      margin: 25px 0 10px; } }

.report-detail .report-gallery ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .report-detail .report-gallery ul::after {
    content: "";
    display: block;
    width: 250px; }
  .report-detail .report-gallery ul li {
    width: 250px;
    margin-top: 25px; }
    @media only screen and (max-width: 1024px) {
      .report-detail .report-gallery ul li {
        width: 31%; } }
    @media only screen and (max-width: 767px) {
      .report-detail .report-gallery ul li {
        width: 47%; } }
    .report-detail .report-gallery ul li img {
      width: 100%; }

@media only screen and (max-width: 767px) {
  .lum-lightbox .lum-lightbox-inner img {
    max-width: 100%;
    max-height: 100%; } }

.report-post-footer {
  display: flex;
  max-width: 800px;
  margin: 80px auto 130px;
  align-items: center;
  position: relative; }
  @media only screen and (max-width: 1024px) {
    .report-post-footer {
      padding: 0 30px; } }
  @media only screen and (max-width: 767px) {
    .report-post-footer {
      padding: 0 20px;
      margin: 80px auto 100px; } }
  .report-post-footer .archive-link-box {
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    width: 200px; }
  .report-post-footer .archive-link {
    display: block;
    height: 45px;
    box-sizing: border-box;
    border: 1px solid #000;
    text-align: center;
    line-height: 45px;
    position: relative;
    font-size: 12px; }
    .report-post-footer .archive-link::before {
      content: "";
      width: 6px;
      height: 6px;
      border: 0px;
      border-top: solid 1px #000;
      border-right: solid 1px #000;
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      position: absolute;
      top: 50%;
      right: 10px;
      margin-top: -3px; }
  .report-post-footer .pre-link a {
    position: relative; }
    .report-post-footer .pre-link a::before {
      content: "";
      width: 6px;
      height: 6px;
      border: 0px;
      border-top: solid 1px #000;
      border-right: solid 1px #000;
      -ms-transform: rotate(225deg);
      -webkit-transform: rotate(225deg);
      transform: rotate(225deg);
      position: absolute;
      top: 50%;
      margin-top: -3px; }
  .report-post-footer .next-link {
    position: absolute;
    right: 0; }
    @media only screen and (max-width: 1024px) {
      .report-post-footer .next-link {
        right: 30px; } }
    @media only screen and (max-width: 767px) {
      .report-post-footer .next-link {
        right: 20px; } }
  .report-post-footer .next-link a {
    position: relative; }
    .report-post-footer .next-link a::after {
      content: "";
      width: 6px;
      height: 6px;
      border: 0px;
      border-top: solid 1px #000;
      border-right: solid 1px #000;
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      position: absolute;
      top: 50%;
      margin-top: -3px;
      right: 0; }

.report-detail .contents .inner {
  margin-bottom: 100px; }

@media only screen and (max-width: 1024px) {
  .report-detail .contents .inner {
    margin-bottom: 80px; } }
@media only screen and (max-width: 767px) {
  .report-detail .contents .inner {
    margin-bottom: 60px; } }
.report-detail .contents .inner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 35px; }

@media only screen and (max-width: 767px) {
  .report-detail .contents .inner ul {
    display: block;
    margin-bottom: 25px; } }
.report-detail .contents .inner ul li {
  width: 48.5%; }

@media only screen and (max-width: 767px) {
  .report-detail .contents .inner ul li {
    width: 100%;
    margin-bottom: 15px; } }
.report-detail .contents .inner ul li img {
  width: 100%; }

.report-detail .contents .inner .read-text {
  margin-bottom: 35px; }

@media only screen and (max-width: 767px) {
  .report-detail .contents .inner .read-text {
    margin-bottom: 25px; } }
