.elementor-1941 .elementor-element.elementor-element-3024788d{--display:flex;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-1941 .elementor-element.elementor-element-58d6bea{width:var( --container-widget-width, 100% );max-width:100%;padding:0px 40px 0px 40px;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Noto Sans JP", Sans-serif;font-size:14px;color:#646464;}.elementor-1941 .elementor-element.elementor-element-58d6bea a{color:#7DC5C2;}.elementor-1941 .elementor-element.elementor-element-58d6bea a:hover{color:#BBBBBB;}.elementor-1941 .elementor-element.elementor-element-9acf37{--display:flex;--padding-top:0px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}@media(max-width:767px){.elementor-1941 .elementor-element.elementor-element-3024788d{--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-1941 .elementor-element.elementor-element-58d6bea{padding:0px 20px 0px 20px;font-size:12px;}.elementor-1941 .elementor-element.elementor-element-16505436{width:100%;max-width:100%;padding:0px 20px 20px 20px;}}/* Start custom CSS for shortcode, class: .elementor-element-46a5837b *//* 新しいクラス名を指定 */
.custom-styled-title-wrapper {
    position: relative;
    width: 100%;
}

/* ラインを出すのはこの新しいクラスに対して行う */
.custom-styled-title-wrapper::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 3px;
    background-color: #D83447;
    z-index: 10;
}

/* 4. 背景の角丸ボックス（薄いグレー系に修正） */
.modern-header-box {
    margin-left: 20px;
    padding: 60px 30px 60px 40px;
    /* 水色系から薄いグレー系のグラデーションに変更 */
    background: linear-gradient(135deg, #f2f2f2 0%, #ffffff 100%);
    border-radius: 10px;
}

.header-text {
    margin: 0;
    color: #333;
    font-size: 2rem;
    font-weight: bold;
}
/* スマホ・タブレット用調整（画面幅768px以下） */
@media (max-width: 768px) {
    /* ラインが長すぎるとバランスが悪いため短く調整 */
    .custom-styled-title-wrapper::before {
        width: 30px;
    }

    /* ボックスの余白を少し詰める */
    .modern-header-box {
        margin-left: 15px;
        padding: 40px 20px 40px 30px;
    }

    /* タイトルの文字サイズを少し小さく */
    .header-text {
        font-size: 1.5rem;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-16505436 *//* 全体ラッパー：PC3列・スマホ1列 */
.yamasa-interview-wrapper {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}

@media (min-width: 900px) {
  .yamasa-interview-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* カード本体 */
.yamasa-interview-card {
  width: 100%;
  /* 縦長すぎるのを防ぐため、比率を 4/5 に変更 */
  aspect-ratio: 4 / 5; 
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  cursor: pointer;
  background-color: #f0f0f0;
}

/* --- 以下、変更なし --- */
.yamasa-img-layer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.yamasa-img-layer img { width: 100%; height: 100%; object-fit: cover; position: absolute; transition: transform 0.6s ease, opacity 0.4s ease; }
.yamasa-interview-card:hover .default-img { opacity: 0; }
.yamasa-interview-card:hover .hover-img { opacity: 1; transform: scale(1.05); }
.hover-img { opacity: 0; }

.yamasa-tag { position: absolute; top: 20px; right: 20px; background: rgba(255, 255, 255, 0.9); color: #333; padding: 6px 15px; border-radius: 4px; font-size: 12px; font-weight: bold; z-index: 5; }

.yamasa-text-box { position: absolute; bottom: 0; width: 100%; padding: 20px; box-sizing: border-box; background: linear-gradient(transparent, rgba(0,0,0,0.8)); color: #fff; z-index: 2; }
.yamasa-interview-title { font-size: 16px; margin-bottom: 8px; line-height: 1.4; word-break: break-all; }
.yamasa-name { font-size: 13px; opacity: 0.8; }

.yamasa-circle-arrow { position: absolute; bottom: 20px; right: 20px; width: 40px; height: 40px; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; transition: all 0.3s ease; z-index: 3; }
.yamasa-interview-card:hover .yamasa-circle-arrow { background: #fff; color: #333; }

.yamasa-pagination { margin-top: 40px; text-align: center; width: 100%; }
.yamasa-pagination .page-numbers { display: inline-block; padding: 8px 15px; margin: 0 5px; border: 1px solid #ddd; border-radius: 4px; color: #333; text-decoration: none; }
.yamasa-pagination .page-numbers.current { background-color: #333; color: #fff; border-color: #333; }/* End custom CSS */