@charset "utf-8";
/* ============================
　　　各セクションごとアニメーション
============================ */
/* 共通 fade-base が使えるので補足は delay だけ */
.header-ani {transition-delay: 1.5s;}
.kv-ani {transition-delay: 1.2s;}
.kv-title {transition-delay: 1.8s;}
.kv-text {transition-delay: 2.4s;}
.section-lead {transition-delay: 1.5s;}
.leadH2 {transition-delay: 1.5s;}
.leadTxt {transition-delay: 1.5s;}
.leadTxt {transition-delay: 1.5s;}


/* ============================
   Services
============================ */
/* Services 親 */
.overviewCont section { transition-delay: 0s; }

/* タイトル */
.overviewCont .topH2 { transition-delay: .3s; }

/* カード本体 */
.ovCol:nth-child(1) { transition-delay: .6s; }
.ovCol:nth-child(2) { transition-delay: 1.2s; }
.ovCol:nth-child(3) { transition-delay: 1.8s; }

/* h3（タイトル） */
.ovCol:nth-child(1) h3 { transition-delay: .9s; }
.ovCol:nth-child(2) h3 { transition-delay: 1.5s; }
.ovCol:nth-child(3) h3 { transition-delay: 2.1s; }

/* figure（画像） */
.ovCol:nth-child(1) figure { transition-delay: 1.1s; }
.ovCol:nth-child(2) figure { transition-delay: 1.7s; }
.ovCol:nth-child(3) figure { transition-delay: 2.3s; }

/* 本文（ocTxt） */
.ovCol:nth-child(1) .ocTxt { transition-delay: 1.4s; }
.ovCol:nth-child(2) .ocTxt { transition-delay: 2.0s; }
.ovCol:nth-child(3) .ocTxt { transition-delay: 2.6s; }

/* ▶詳しく見る */
.ovCol:nth-child(1) .moreL { transition-delay: 1.6s; }
.ovCol:nth-child(2) .moreL { transition-delay: 2.2s; }
.ovCol:nth-child(3) .moreL { transition-delay: 2.8s; }


/* ============================
  Case Study
============================ */
/* Case 親 */
.topcaseCont { transition-delay: 0s; }

/* タイトル */
.topcaseCont .topH2 { transition-delay: .3s; }

/* カード本体（左右同時でOK） */
.tcCol:nth-child(1) { transition-delay: .7s; }
.tcCol:nth-child(2) { transition-delay: .7s; }

/* h3 */
.tcCol:nth-child(1) h3 { transition-delay: .9s; }
.tcCol:nth-child(2) h3 { transition-delay: 1.1s; }

/* figure */
.tcCol:nth-child(1) figure { transition-delay: 1.05s; }
.tcCol:nth-child(2) figure { transition-delay: 1.25s; }

/* p */
.tcCol:nth-child(1) p { transition-delay: 1.2s; }
.tcCol:nth-child(2) p { transition-delay: 1.4s; }

/* ============================
   Vision / Mission（遅延だけ追加）
   ※ fade-base / fade-show に一切干渉しない
============================ */
/* Vision */
.vi-block { transition-delay: 0s; }
.vi-title { transition-delay: .5s; }
.vi-text  { transition-delay: .6s; }

/* Mission */
.mi-block { transition-delay: .9s; }
.mi-title { transition-delay: 1.2s; }
.mi-list  { transition-delay: 1.5s; }

/* KV */
.kv {min-height: 80vh;  color: #fff;  padding: 0; position: relative; isolation:isolate; }
/* スライド */
.kv-slider {position: relative;　width: 100%; min-height: 80vh;}
.kv-slider .kv-slide {position: absolute; inset: 0; width: 100%; height: 100%; background-size: cover !important;  background-position: center;  background-repeat: no-repeat; opacity: 0; transition: opacity 1s ease; }
.kv-slider .kv-slide.kv-ph::before {content: ""; position: absolute;inset: 0; background: rgba(0,0,0,0.45);	pointer-events: none;}
.kv-slider .kv-slide.active {opacity: 1;}

/* 内側の余白はこっち */
.kv-inner {position: absolute; top: 50%;left: 50%; transform: translate(-50%, -50%); width: 100%;  text-align: center;z-index: 10;}
.kv .Ktit {width: 100%; position: relative; text-align: center;}
.Ktit h1,.Ktit p{text-shadow: 0 0 4px rgba(0,0,0,0.8),0 0 12px rgba(0,0,0,0.6);line-height: 1.5; font-weight: bold; }
.Ktit h1 {font-size: 3.0rem; margin-bottom: 50px; }
.Ktit p {font-size: 1.3rem; line-height: 1.5; max-width:900px; margin: 0 auto; }

.ovCol, .tcCol {box-shadow: 0px 8px 20px rgba(50, 0, 100, 0.05);}
.leadBg{ background: #f5f1ff; }
.overviewCont { background: #ffffff; }
.caseBg { background: #fdf2fe; }
.section-intro {background: #FAF7FF;  padding: 140px 30px;}
.section-intro.yb {background: #FFF9E8;}
.section-intro,.kv{min-width: 1200px;}

/* 内側レイアウト */
.section-intro > div { max-width: 1200px;  margin: 0 auto; padding: 0 30px;  display: flex; gap: 60px;  align-items: center;}
.section-intro h2 {flex: 0 0 40%; font-size: 3rem; font-weight: 800;  margin: 0; font-family: 'Montserrat', sans-serif;  line-height: 1.2;}
.section-intro h2 small {display: block;font-size: 1.2rem;  margin-top: 6px; opacity: 0.85;}
.section-intro p,.section-intro ul {flex: 0 0 60%;  margin: 0;  line-height: 1.85; font-size: 1.2rem; max-width: 680px; }
.section-intro ul {padding-left: 1.1em;}
.leadTxt{text-align: center;  line-height: 1.8; font-size:1.5rem;}
.section-lead{padding: 160px 0 200px 0;}
.section-lead .leadH2{color:#2C1B6B !important; text-align: center; font-size: 2.3rem; font-weight: bold;}
.topcaseCont .tcBox{display:flex; flex-wrap:wrap; justify-content:space-between;}
.topcaseCont .tcBox .tcCol{width:calc(50% - 15px); padding: 50px; border-radius:30px; background: #fff;}
.topcaseCont .tcBox .tcCol h3{margin-bottom: 30px; line-height: 1.7;}
.topcaseCont .tcBox .tcCol h3 span {color: #2C1B6B; font-weight: 700;  font-size: 1.25em; display: block;}
.topcaseCont .tcBox .tcCol p{line-height: 1.5; font-size: 1.4rem;}
.topcaseCont .tcBox .tcCol figure{margin-bottom: 30px;}
.topcaseCont .tcBox .tcCol figure img{width: 100%; height: auto;}
.topcaseCont .tcBox .tcCol .moreL{}
.contact-section {background: linear-gradient(to bottom, #F9F6FF 0%, #F5F1FF 100%); padding: 140px 0;}
.contact-section h2 { color: #2C1B6B;}
.contact-section .contTxt {font-size: 1.25rem; line-height: 1.9;color: #444;　margin-bottom: 50px;}
.contact-section .conBtn .btn-main {width: 360px;}
h2.newH2{text-align: center; font-size: 2.5rem;}
.newsCont {color: #fff; margin: 0 auto; position: relative; z-index: 1; padding: 50px 20px; max-width: 1000px; max-height: 300px; overflow-y: scroll;}
.newsCont  dl.newsList{justify-content:flex-start; flex-wrap:wrap; display: flex;  color: #333; font-size: 1.3rem; line-height: 1.5;}
.newsCont dl.newsList small{font-size:0.9rem;}
.newsCont dl.newsList dt{width:15%; margin-bottom: 20px;}
.newsCont dl.newsList dd{width:85%; padding-left:20px;}
.newCont a:link{color: #fff;}
.newCont a:visited{ color:#fff; text-decoration:none !important;}
.newCont a:hover{color: #fff; text-decoration: underline;}

@media screen and (max-width:768px){
.kv{min-height:70vh;}
.kv-inner {padding:30px 15px;}
.section-intro, .kv{min-width: 320px;}
.section-lead{padding:100px 20px;}
.leadTxt{font-size: 1.25rem;}
.topcaseCont .tcBox{display:block;}
.topcaseCont .tcBox .tcCol{width:100%;padding: 20px; margin-bottom: 30px;}
.topcaseCont .tcBox .tcCol p{font-size: 1.0rem;}
.section-intro{padding: 100px 20px;}
.section-intro h2{margin-bottom: 30px;}
.section-intro p, .section-intro ul{width: 100%;}
.section-intro > div{display: block; padding: 0px;}
.newsCont dl.newsList dt,.newsCont dl.newsList dd{width: 100%;}
.newsCont dl.newsList dd{padding: 0px; margin-bottom: 15px;}
.newsCont dl.newsList dt{margin-bottom: 0px;}
}
