/*
 Theme Name:   Morethan Child
 Theme URI:    https://morthan.jp/
 Description:  Lightning テーマの子テーマ（Morethan独自のカスタムCSS）
 Author:       Morethan
 Author URI:   https://morthan.jp/
 Template:     lightning
 Version:      1.0.0
 Text Domain:  morthan-child
*/

.site-footer-copyright p:nth-child(2){
    display:none;
}

.mt-works-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  margin: 40px 0;
}

.mt-work-card {
  background: #ffffff;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(27, 38, 49, 0.05);
  transition: 0.3s ease;
}

.mt-work-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(27, 38, 49, 0.08);
}

.mt-work-card__wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.mt-work-card__image {
  height: 220px;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.mt-work-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mt-work-card__image span {
  padding: 24px;
  color: #1b2631;
  font-weight: 800;
  text-align: center;
}

.mt-work-card__body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 32px;
}

.mt-work-card__category {
  display: inline-block;
  width: fit-content;
  padding: 6px 12px;
  background: #f5f5f5;
  border-radius: 999px;
  color: #1b2631;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 16px;
}

.mt-work-card h3 {
  color: #1b2631;
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 16px;
}

.mt-work-card p {
  color: #555;
  line-height: 1.9;
}

.mt-work-card__link {
  margin-top: auto;
  padding-top: 24px;
  color: #1b2631;
  font-weight: 700;
}

.mt-work-card__link::after {
  content: " →";
}

.mt-works-more {
  text-align: center;
  margin-top: 32px;
}

.mt-works-more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 32px;
  border-radius: 999px;
  background: #1b2631;
  color: #ffffff;
  text-decoration: none;
  font-weight: 800;
}

@media (max-width: 1024px) {
  .mt-works-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
}

@media (max-width: 768px) {
  .mt-works-cards {
    grid-template-columns: 1fr;
  }

  .mt-work-card {
    border-radius: 24px;
  }

  .mt-work-card__image {
    height: 180px;
  }

  .mt-work-card__body {
    padding: 24px;
  }

  .mt-work-card h3 {
    font-size: 22px;
  }
}

/* ==========================
制作実績詳細
========================== */

.mt-work-detail-box{
    max-width:1100px;
    margin:80px auto;
    padding:60px;
    background:#fff;
    border-radius:32px;
    box-shadow:0 10px 40px rgba(0,0,0,.05);
}

.mt-work-detail-title-card{
    margin-bottom:60px;
}

.mt-work-detail-title-card p{
    color:#8a8a8a;
    font-size:14px;
    letter-spacing:.15em;
    text-transform:uppercase;
    margin-bottom:10px;
}

.mt-work-detail-title-card h2{
    font-size:48px;
    color:#1b2631;
    line-height:1.3;
    margin:0;
}

.mt-work-detail-grid{
    display:grid;
    gap:32px;
}

.mt-work-detail-item{
    border-top:4px solid #1b2631;
    padding-top:24px;
}

.mt-work-detail-item span{
    display:block;
    font-size:14px;
    font-weight:700;
    color:#8a8a8a;
    margin-bottom:12px;
}

.mt-work-detail-item p{
    font-size:18px;
    line-height:2;
    color:#333;
    margin:0;
}

.mt-work-detail-actions{
    margin-top:60px;
    display:flex;
    flex-direction:column;
    gap:16px;
}

.mt-work-detail-actions a{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    padding:22px;
    border-radius:14px;
    text-decoration:none;
    font-weight:700;
    font-size:18px;
    transition:.3s;
}

.mt-work-detail-actions a:first-child{
    background:#1b2631;
    color:#fff;
}

.mt-work-detail-actions a:first-child:hover{
    opacity:.9;
}

.mt-work-detail-actions a:last-child{
    background:#f5f5f5;
    color:#1b2631;
}

.mt-work-detail-actions a:last-child:hover{
    background:#eaeaea;
}

/* ==========================
アイキャッチ画像
========================== */

.single-works .entry-body img{
    border-radius:24px;
}

/* ==========================
スマホ対応
========================== */

@media (max-width:768px){

    .mt-work-detail-box{
        padding:30px 20px;
        margin:40px 15px;
        border-radius:20px;
    }

    .mt-work-detail-title-card h2{
        font-size:32px;
    }

    .mt-work-detail-item p{
        font-size:16px;
        line-height:1.9;
    }

    .mt-work-detail-actions a{
        font-size:16px;
        padding:18px;
    }
}

/* ==========================
支援実績一覧ページ
========================== */

.mt-works-page{
    max-width:1200px;
    margin:0 auto;
}

.mt-works-hero{
    text-align:center;
    padding:40px 20px 50px;
}

.mt-works-label{
    color:#8a8a8a;
    font-size:14px;
    letter-spacing:.3em;
    margin-bottom:10px;
}

.mt-works-hero h1{
    font-size:64px;
    margin-bottom:20px;
    color:#1b2631;
}

.mt-works-hero p{
    max-width:700px;
    margin:0 auto;
    font-size:18px;
    line-height:2;
    color:#666;
}

.mt-works-nav{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
    margin-bottom:100px;
}

.mt-works-nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 28px;
    border-radius:999px;
    background:#f5f5f5;
    color:#1b2631;
    text-decoration:none;
    font-weight:700;
    transition:.3s;
}

.mt-works-nav a:hover{
    background:#1b2631;
    color:#fff;
}

.mt-works-section{
    margin-bottom:120px;
}

.mt-works-section-head{
    margin-bottom:50px;
}

.mt-works-section-head span{
    display:block;
    font-size:13px;
    letter-spacing:.2em;
    color:#8a8a8a;
    margin-bottom:10px;
}

.mt-works-section-head h2{
    font-size:48px;
    color:#1b2631;
    margin-bottom:20px;
}

.mt-works-section-head p{
    font-size:18px;
    color:#666;
}

/* ==========================
カードの余白調整
========================== */

.mt-works-cards{
    margin-top:40px;
}

/* ==========================
スマホ
========================== */

@media(max-width:768px){

    .mt-works-hero{
        padding:50px 20px;
    }

    .mt-works-hero h1{
        font-size:40px;
    }

    .mt-works-section-head h2{
        font-size:32px;
    }

    .mt-works-hero p,
    .mt-works-section-head p{
        font-size:16px;
    }

    .mt-works-section{
        margin-bottom:80px;
    }

}

.single-works .entry-header {
    display:none;
}

/* 制作実績詳細ページ */

.single-works .entry-body{
    margin-top:0;
}

.single-works .site-body{
    padding-top:20px;
}

.single-works .mt-work-detail-box{
    margin-top:20px;
}

.mt-contact-form {
  max-width: 860px;
  margin: 0 auto;
  padding: 56px;
  background: #fff;
  border-radius: 32px;
  box-shadow: 0 10px 40px rgba(27, 38, 49, 0.06);
}

.mt-form-row {
  margin-bottom: 28px;
}

.mt-form-row label {
  display: block;
  margin-bottom: 10px;
  color: #1b2631;
  font-weight: 800;
}

.mt-form-row label span {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #1b2631;
  color: #fff;
  font-size: 12px;
}

.mt-form-row input,
.mt-form-row textarea,
.mt-form-row select {
  width: 100%;
  padding: 16px 18px;
  border: 1px solid #ddd;
  border-radius: 14px;
  font-size: 16px;
}

.mt-form-row textarea {
  min-height: 180px;
}

.mt-form-row input:focus,
.mt-form-row textarea:focus,
.mt-form-row select:focus {
  outline: none;
  border-color: #1b2631;
  box-shadow: 0 0 0 3px rgba(27, 38, 49, 0.08);
}

.mt-form-submit input {
  width: 100%;
  padding: 18px;
  border-radius: 999px;
  background: #1b2631;
  color: #fff;
  font-weight: 800;
  border: none;
}

@media (max-width: 768px) {
  .mt-contact-form {
    padding: 32px 22px;
    border-radius: 24px;
  }
}

/* 支援実績一覧ページ 上部余白調整 */
.page-id-1157 .site-body {
  padding-top: 20px !important;
}

.page-id-1157 .main-section {
  padding-top: 0 !important;
}

.page-id-1157 .entry-body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.page-id-1157 .mt-works-hero {
  padding-top: 20px !important;
}

/* マーケティングページ：上部カードの余白調整 */
.page-id-763 .mt-mission {
  margin-top: 30px !important;
  padding-top: 0 !important;
}

.page-id-763 .mt-mission__inner {
  padding: 50px 60px !important;
}

/* ヒーロー上の余白削除 */

.site-body{
    padding-top:0 !important;
}

.site-body-container{
    padding-top:0 !important;
}

.entry-body{
    margin-top:0 !important;
    padding-top:0 !important;
}

/* ==========================
スクロールフェードインアニメーション
========================== */

.mt-reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .7s ease, transform .7s ease;
}

.mt-reveal.is-visible{
    opacity:1;
    transform:translateY(0);
}

@media (prefers-reduced-motion: reduce){
    .mt-reveal{
        opacity:1;
        transform:none;
        transition:none;
    }
}

/* ==========================
フローティングCTA（下部固定バー）
========================== */

.mt-float-cta{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:9990;
    display:flex;
    flex-direction:row-reverse;
    align-items:stretch;
    gap:0;
    opacity:0;
    transform:translateY(100%);
    transition:opacity .4s ease, transform .4s ease;
    pointer-events:none;
    box-shadow:0 -4px 20px rgba(27,38,49,.15);
}

.mt-float-cta.is-visible{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
}

.mt-float-cta__btn{
    flex:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:17px 12px;
    color:#fff;
    text-decoration:none;
    font-weight:700;
    font-size:15px;
    line-height:1;
    transition:opacity .2s ease;
}

.mt-float-cta__btn:hover{ opacity:.92; }
.mt-float-cta__btn--line{ background:#06C755; }
.mt-float-cta__btn--mail{ background:#1b2631; }

.mt-float-cta__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border-radius:50%;
    background:rgba(255,255,255,.2);
    font-size:12px;
    font-weight:800;
    flex:none;
}

/* トップへ戻るボタンをバーの上に配置 */
#page_top.page_top_btn{ bottom:74px !important; }

@media (max-width:768px){
    .mt-float-cta__btn{ padding:15px 8px; font-size:14px; }
    #page_top.page_top_btn{ bottom:70px !important; }
}

@media (prefers-reduced-motion: reduce){
    .mt-float-cta{ transition:opacity .4s ease; }
    .mt-float-cta__btn{ transition:none; }
}

/* ==========================
離脱防止ポップアップ
========================== */

.mt-exit-popup{
    position:fixed;
    inset:0;
    z-index:10000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    opacity:0;
    visibility:hidden;
    transition:opacity .3s ease, visibility .3s ease;
}

.mt-exit-popup.is-visible{
    opacity:1;
    visibility:visible;
}

.mt-exit-popup__overlay{
    position:absolute;
    inset:0;
    background:rgba(27,38,49,.6);
}

.mt-exit-popup__card{
    position:relative;
    z-index:1;
    width:100%;
    max-width:520px;
    background:#fff;
    border-radius:24px;
    padding:48px 40px 40px;
    box-shadow:0 20px 60px rgba(0,0,0,.3);
    text-align:center;
    transform:translateY(20px) scale(.98);
    transition:transform .3s ease;
}

.mt-exit-popup.is-visible .mt-exit-popup__card{
    transform:translateY(0) scale(1);
}

.mt-exit-popup__close{
    position:absolute;
    top:16px;
    right:16px;
    width:36px;
    height:36px;
    border:none;
    background:#f5f5f5;
    border-radius:50%;
    font-size:20px;
    line-height:1;
    color:#1b2631;
    cursor:pointer;
    transition:background .2s ease;
}

.mt-exit-popup__close:hover{ background:#eaeaea; }

.mt-exit-popup__label{
    font-size:12px;
    letter-spacing:.2em;
    color:#8a8a8a;
    margin:0 0 12px;
}

.mt-exit-popup__title{
    font-size:26px;
    line-height:1.5;
    color:#1b2631;
    margin:0 0 16px;
    font-weight:800;
}

.mt-exit-popup__lead{
    font-size:15px;
    line-height:1.9;
    color:#555;
    margin:0 0 28px;
}

.mt-exit-popup__actions{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.mt-exit-popup__btn{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
    border-radius:999px;
    color:#fff;
    text-decoration:none;
    font-weight:800;
    font-size:16px;
    transition:opacity .2s ease;
}

.mt-exit-popup__btn:hover{ opacity:.9; }
.mt-exit-popup__btn--line{ background:#06C755; }
.mt-exit-popup__btn--mail{ background:#1b2631; }

@media (max-width:768px){
    .mt-exit-popup__card{ padding:40px 24px 28px; border-radius:20px; }
    .mt-exit-popup__title{ font-size:22px; }
    .mt-exit-popup__lead{ font-size:14px; }
}

@media (prefers-reduced-motion: reduce){
    .mt-exit-popup{ transition:opacity .3s ease; }
    .mt-exit-popup__card{ transition:none; }
}
