@import url("global.css");
/* ------------------------------
 Index
------------------------------ */
.list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 -25px 80px; }
  .list li {
    width: calc(100% / 3);
    padding: 0 25px;
    box-sizing: border-box;
    margin-bottom: 50px; }
    .list li a {
      display: block; }
    .list li .img_area {
      width: 100%;
      margin-bottom: 10px; }
      .list li .img_area .img {
        width: 100%;
        height: 0;
        padding-top: 66%;
        position: relative;
        overflow: hidden; }
        .list li .img_area .img img {
          width: 100%;
          position: absolute;
          left: 0;
          top: 0; }
    .list li .text_area .post_cat {
      margin-bottom: 6px; }
      .list li .text_area .post_cat span {
        display: inline-block;
        padding: 2px 10px;
        margin-right: 10px;
        background: #F3F3F3;
        font-size: clamp(11px, 1.4vw, 12px); }
        .list li .text_area .post_cat span.end {
          background: #CCC; }
    .list li .text_area .catch {
      font-size: clamp(13px, 2.3vw, 14px); }
    .list li .text_area .post_title {
      line-height: 1.45;
      font-size: 18px; }
    .list li .text_area .data_wrap {
      border-top: 1px solid #CCC;
      padding-top: 10px;
      margin-top: 10px;
      display: flex;
      align-items: center;
      justify-content: space-between; }
      .list li .text_area .data_wrap .data_inner {
        flex: 1; }
        .list li .text_area .data_wrap .data_inner dl {
          display: flex;
          justify-content: flex-start;
          font-size: clamp(13px, 2.3vw, 14px); }
          .list li .text_area .data_wrap .data_inner dl dt {
            width: 60px; }
      .list li .text_area .data_wrap .img_author {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        overflow: hidden;
        margin-right: 20px; }

/* ------------------------------
 Entry
------------------------------ */
@keyframes titlelogo {
  0% {
    transform: translateY(15px);
    opacity: 0; }
  100% {
    transform: translateY(0);
    opacity: 1; } }
@keyframes titlebgcover_works {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.single #contents {
  position: relative; }
.single #breadcrumbs {
  position: absolute;
  top: 40px;
  left: 400px;
  margin: 0;
  z-index: 3;
  color: #fff; }
  .single #breadcrumbs ul li a {
    color: #fff; }

.post .page_title_event {
  height: 100vh;
  position: relative; }
  .post .page_title_event .page_title_text {
    position: absolute;
    left: 8vw;
    bottom: 100px;
    color: #fff;
    z-index: 3;
    animation: titlelogo 1.5s cubic-bezier(0.52, 0.08, 0.18, 1.5) 1s 1;
    animation-fill-mode: both; }
    .post .page_title_event .page_title_text .title {
      line-height: 1.2;
      padding-left: 80px;
      position: relative;
      font-size: clamp(16px, 2.6vw, 22px);
      font-family: "Spline Sans Mono", monospace, sans-serif; }
      .post .page_title_event .page_title_text .title::after {
        content: "";
        width: 60px;
        height: 1px;
        background: #fff;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%); }
    .post .page_title_event .page_title_text .main_catch {
      line-height: 1.45;
      margin-bottom: 30px;
      font-size: clamp(26px, 5.4vw, 45px); }
    .post .page_title_event .page_title_text .post_title {
      margin-bottom: 10px;
      font-size: clamp(15px, 2.2vw, 18px); }
    .post .page_title_event .page_title_text .post_cat span {
      color: #000;
      background: #fff;
      margin-left: 10px;
      padding: 2px 5px;
      font-size: clamp(12px, 1.6vw, 14px); }
      .post .page_title_event .page_title_text .post_cat span.end {
        color: #fff;
        background: #707070; }
  .post .page_title_event .page_title_img {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden; }
    .post .page_title_event .page_title_img .img {
      height: 100vh;
      overflow: hidden; }
    .post .page_title_event .page_title_img p {
      height: 110%; }
    .post .page_title_event .page_title_img::after {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      background: rgba(0, 0, 0, 0.25);
      z-index: 2;
      animation: titlebgcover_works .8s linear .5s 1;
      animation-fill-mode: both; }
.post .intro_area {
  padding: 100px 0;
  background: #000; }
  .post .intro_area .intro_text_area .end_text {
    background: #F3F3F3;
    padding: 20px;
    text-align: center;
    margin: 20px 0; }
  .post .intro_area .intro_text_area .intro_data {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    margin-bottom: 40px;
    color: #fff; }
    .post .intro_area .intro_text_area .intro_data dl {
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
      display: flex;
      align-items: stretch;
      justify-content: flex-start; }
      .post .intro_area .intro_text_area .intro_data dl dt {
        width: 220px;
        padding: 15px;
        box-sizing: border-box;
        text-align: center; }
      .post .intro_area .intro_text_area .intro_data dl dd {
        flex: 1;
        padding: 15px;
        box-sizing: border-box; }
        .post .intro_area .intro_text_area .intro_data dl dd .link_map {
          text-decoration: underline;
          position: relative;
          padding-left: 20px;
          margin-left: 10px; }
          .post .intro_area .intro_text_area .intro_data dl dd .link_map::before {
            content: "\f3c5";
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            font-size: 20px;
            font-weight: 900;
            font-family: "Font Awesome 6 free", "Font Awesome 6 Brands"; }
  .post .intro_area .intro_text_area .staff_area {
    background: #fff;
    padding: 30px 50px 40px; }
    .post .intro_area .intro_text_area .staff_area dl dt {
      margin-bottom: 20px; }
      .post .intro_area .intro_text_area .staff_area dl dt span {
        line-height: 1.45;
        position: relative;
        padding: 0 15px;
        font-size: clamp(16px, 2.3vw, 18px); }
        .post .intro_area .intro_text_area .staff_area dl dt span::before {
          content: "";
          width: 2px;
          height: 20px;
          background: #000;
          position: absolute;
          left: 0;
          top: 50%;
          transform: translateY(-50%) rotate(-40deg); }
        .post .intro_area .intro_text_area .staff_area dl dt span::after {
          content: "";
          width: 2px;
          height: 20px;
          background: #000;
          position: absolute;
          right: 0;
          top: 50%;
          transform: translateY(-50%) rotate(40deg); }
    .post .intro_area .intro_text_area .staff_area dl dd {
      display: flex;
      align-items: center;
      justify-content: center; }
      .post .intro_area .intro_text_area .staff_area dl dd .img {
        width: 100px;
        height: 100px;
        border-radius: 50%;
        overflow: hidden; }
      .post .intro_area .intro_text_area .staff_area dl dd .text {
        flex: 1;
        padding-left: 50px; }
        .post .intro_area .intro_text_area .staff_area dl dd .text .job {
          display: block;
          font-size: 16px; }
        .post .intro_area .intro_text_area .staff_area dl dd .text .name {
          margin-bottom: 10px;
          font-size: clamp(16px, 2.3vw, 20px); }
.post .img_area {
  width: 100%;
  height: 450px;
  position: relative;
  overflow: hidden; }
.post .detail_area {
  background: #fff;
  padding: 100px 0; }
.post .gallery_area {
  margin-bottom: 100px; }

/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-1 (1600px)

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1600px) {
  /* ------------------------------
   Entry
  ------------------------------ */
  .post .page_title_event .page_title_text {
    left: 6%; } }
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-2 ( 1300px )

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 1300px) {
  /* ------------------------------
   Entry
  ------------------------------ */
  .post .page_title_event .page_title_text {
    left: 6%; } }
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-3 ( 960px )

------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 959px) {
  /* ------------------------------
   Index
  ------------------------------ */
  .list {
    margin: 0 -20px 80px; }
    .list li {
      width: calc(100% / 2);
      padding: 0 20px; }

  /* ------------------------------
   Entry
  ------------------------------ */
  .single #contents {
    padding-top: 0; }
  .single #breadcrumbs {
    display: none; }

  .post .page_title_event {
    height: 80vh; }
    .post .page_title_event .page_title_text {
      left: 6vw; }
    .post .page_title_event .page_title_img {
      height: 80vh; }
      .post .page_title_event .page_title_img .img {
        height: 80vh; }
      .post .page_title_event .page_title_img p {
        height: 120%; }
  .post .intro_area {
    padding: 70px 0; }
    .post .intro_area .intro_text_area .intro_data dl dt {
      width: 160px; }
    .post .intro_area .intro_text_area .staff_area dl dd .text {
      padding-left: 30px; }
  .post .img_area {
    height: 300px; }
  .post .detail_area {
    padding: 70px 0; }
  .post .gallery_area {
    margin-bottom: 70px; } }
/* ------------------------------------------------------------------------------------------------------------------------

 Responsive-Breakpoint-4 ( 644px )
 
------------------------------------------------------------------------------------------------------------------------ */
@media only screen and (max-width: 644px) {
  /* ------------------------------
   Index
  ------------------------------ */
  .list {
    margin: 0 -4vw 80px; }
    .list li {
      width: 100%;
      padding: 0; }
      .list li .text_area {
        padding: 0 5vw; }

  /* ------------------------------
   Entry
  ------------------------------ */
  .post .page_title_event {
    height: 85vh; }
    .post .page_title_event .page_title_text {
      left: 4vw;
      right: 4vw;
      bottom: 40px;
      animation-delay: 1.8s; }
      .post .page_title_event .page_title_text .main_catch {
        margin-bottom: 20px; }
    .post .page_title_event .page_title_img {
      height: 85vh; }
      .post .page_title_event .page_title_img::after {
        animation-delay: 1.2s; }
      .post .page_title_event .page_title_img .img {
        height: 85vh; }
  .post .intro_area {
    padding: 40px 0; }
    .post .intro_area .intro_text_area .intro_data dl {
      display: block; }
      .post .intro_area .intro_text_area .intro_data dl dt {
        width: 100%;
        padding: 10px 5px 0;
        text-align: left;
        font-size: 12px; }
      .post .intro_area .intro_text_area .intro_data dl dd {
        padding: 0 5px 10px; }
    .post .intro_area .intro_text_area .staff_area {
      padding: 20px; }
      .post .intro_area .intro_text_area .staff_area dl dt {
        text-align: center; }
      .post .intro_area .intro_text_area .staff_area dl dd .text {
        padding-left: 20px; }
  .post .img_area {
    height: 170px; }
    .post .img_area p {
      height: 110%; }
  .post .detail_area {
    padding: 50px 0; }
  .post .gallery_area {
    margin-bottom: 40px; } }
