@charset "utf-8";

html {
  scroll-behavior: smooth;
  scroll-padding-top: 120px; 
}

body {
	background-color: #fff;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	overflow-x: hidden !important;
	word-break: break-all;
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: <weight>;
 	font-style: normal;
	font-feature-settings: "palt";
}


.gridContainer {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

/* Container */
.main26 .container {
	width: 100%;
	max-width:1200px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

*{margin:0; padding:0;}
a:link,a:hover,a:visited{text-decoration:none;}
.main26 img,.main26  object,.main26  embed,.main26  video {
	max-width: 100%;
}

*, *::before, *::after {
    box-sizing: border-box;
}

.gnavi .gnavi-txt{color:#000 !important;}


.main26 .container2 {position: relative; width: 100%; margin: 0 auto; overflow: hidden;}

.main26 .main1{width:100%; min-height: 100vh;}
.main26 .bg-image {width: 100%; display: block; height: 100vh; object-fit: cover;}

.main26 .text-box {position: absolute; display: flex; align-items: center; justify-content: center;}

.main26 .text-box p {margin: 0; font-weight: bold; white-space: nowrap;}
.main26 .box-left {top: 61%; left: 17%;}
.main26 .box-left p {margin: 0; font-size: 15px; white-space: normal; word-break: break-all; line-height: 1.4; text-align: left;}

.main26 .box-right {top: 41%; left: 67%; transform: skewX(-10deg) rotate(-5deg); background:rgba(216, 56, 56, 1); transform-origin: left center; padding:5px 1%; font-weight: bold; white-space: nowrap;}
.main26 .box-right h1{transform: skewX(10deg); font-size: 18px !important; color: #ffffff;}

.main26 .main2{padding:75px 0; background:#f7f9fb;}
.main26 .main2-1{display:flex; flex-direction: column; justify-content: center;}
.main26 .main2-1 h2{font-size:56px; color:#0D447A; font-weight:bold; line-height: 140%; letter-spacing: 5%; text-align: center;}

.main26 .main2_div{display:flex; gap:24px; padding:49px 0;}

.main26 .main2_div1{display:flex; flex-direction: column; width:100%; max-width:347px; padding:0 8px 8px 0;}
.main26 .main2_div1con{position:relative;}
.main26 .main2_div1con::before{content:""; position: absolute; width:100%; height:100%; right:-8px; bottom:-8px; background:#0d447a;}
.main26 .main2_d1-1{padding:17px;}
.main26 .main2_d1-1p{background:#fff782; padding:4px 18px; font-size:12px; letter-spacing: 1px; font-weight: bold; display:inline-block;}
.main26 .main2_d1-1 h3{margin-top:10px; line-height:150%; letter-spacing: 5%;}

.main26 .main2_div1oya{position:relative; background:#fff;}
.main26 .main2_sli_pho{width:100%; height:auto; overflow: hidden;}
.main26 .main2_div1oya img.top2 {
  width: 100%; height: auto;
  object-fit: cover;
  transition: transform 0.3s ease;
}


.main26 .main2_div1oya:hover img.top2 {
  transform: scale(1.1);
}

.main26 .slider-wrapper {width: 100%; overflow: hidden; padding: 40px 0;}
.main26 .slider {padding-left: calc((100vw - 1900px) / 2); width: 100vw;}
.main26 .slide-item {width: 347px; margin-right: 24px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-sizing: border-box; margin-right: 24px !important;}

.main26 .slider .slick-track {margin-left: 0 !important; margin-right: auto !important;}

.main26 .top1{max-width:485px;     width: 100%;}

/* ──────────────────────────────────
   ナビゲーションエリア（プログレス＋矢印）
   ────────────────────────────────── */

.main26 .slider-progress-bar {
  flex: 1 !important;
  width: 100% !important;
  min-width: 100px;
  height: 4px !important;
  background-color: #e0e0e0 !important;
  margin-right: 40px !important;
  position: relative !important;
  display: block !important;
}


.main26 .progress-line {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-color: #0b3c5d !important;
  transform-origin: left !important;
  transition: transform 0.3s ease !important;
  display: block !important;
}


.main26 .slider-arrows {display: flex; gap: 12px;}
.main26 .slider-arrows button {width: 60px !important; height: 60px !important; background-color: transparent !important; border: none !important; cursor: pointer; background-repeat: no-repeat !important; background-position: center !important; background-size: contain !important; transition: background-image 0.3s ease; display: inline-block !important;}
.main26 .slick-prev-custom {background-image: url("../img/arrow.svg") !important; transform: scaleX(-1);}
.main26 .slick-next-custom {background-image: url("../img/arrow.svg") !important;}
.main26 .slick-prev-custom:hover {background-image: url("../img/arrow_hov.svg") !important; transform: scaleX(-1);}
.main26 .slick-next-custom:hover {background-image: url("../img/arrow_hov.svg") !important;}


@media (max-width: 1200px) {
  .main26 .slider {padding-left: 20px;}
  .main26 .slider-controls {padding: 0 20px;}
}

.main26 .main_nav{padding: 48px 0;}
.main26 .main_nav1 h2{font-size:28px; line-height: 150%; letter-spacing: 5%; color:#0d447a; font-weight: bold; text-align: center; margin-bottom:20px;}
.main26 .menu {display: flex; justify-content: center; align-items:stretch;}

.main26 .menu-item {display: flex; flex-direction: column; align-items: center; padding: 0 22px;}
.main26 .menu a{position: relative;}

.main26 .sub-text {font-size:12px; line-height: 120%; letter-spacing: 5%; color:#0d447a; font-weight: bold; text-align: center; margin-bottom:14px;}
.main26 .main-text {font-size:14px; line-height: 140%; letter-spacing: 5%; color:#000; font-weight: bold; padding-bottom:30px; position: relative; text-align: center; flex: 1; display: flex; align-items: center;}

.main26 .main3{background:#eff1f4; position: relative; padding:110px 23px;}
.main26 .main3::before{content:""; position: absolute; top: 0; left: 0; width: 100%; height: 84%; clip-path: polygon(0% 16%, 100% 7%, 100% 84%, 0% 93%); -webkit-clip-path: polygon(0% 16%, 100% 7%, 100% 84%, 0% 93%); background:#f7f9fb;}
.main26 .main3 .container{position: relative; z-index:1;}
.main26 .main3_box{display:flex; gap:32px; align-items: flex-start;}

.main26 .main3_box-1{margin-top:15px; width:100%; max-width:588px;}
.main26 .main3_box-1 h2{font-size: clamp(4.2rem, 3.1088rem + 3.41vw, 7.2rem);/*42-72*/ letter-spacing: 2%; line-height: 120%; color:#0d447a; font-weight: bold; margin-bottom:30px;}
.main26 .main3_box-1 h3{font-size: clamp(2rem, 1.8544rem + 0.45vw, 2.4rem);/*20-24*/ letter-spacing: 5%; line-height: 140%; color:#0d447a; font-weight: bold; position: relative; margin-bottom:28px;}
.main26 .main3_box-1 h3 span{padding-right:10px; background:#f7f9fb;}
.main26 .m3_p1{font-size: clamp(2.4rem, 1.8176rem + 1.82vw, 4rem);/*24-40*/ letter-spacing: 1px; line-height: 130%; color:#0d447a; font-weight: bold; margin-bottom:46px;}
.main26 .m3_p2{font-size: clamp(1.4rem, 1.328rem + 0.23vw, 1.6rem);/*14-16*/ letter-spacing: 5%; line-height: 180%;}

.main26 .grid-container {display: grid; width: 100%; max-width: 580px; margin: 0 auto; grid-template-columns: repeat(16, 1fr); grid-template-rows: repeat(25, 1fr); aspect-ratio: 572 / 500; margin-top:10px;}
.main26 .box img {width: 100%; height: 100%; object-fit: cover; display: block;	border-radius: 8px;}

.main26 .red-box {grid-column: 1 / 13; grid-row: 1 / 15; z-index: 1;}
.main26 .blue-box {grid-column: 2 / 6; grid-row: 14 / 25; z-index: 2;}
.main26 .gray-box {grid-column: 12 / 17; grid-row: 9 / 17; z-index: 2;}
.main26 .green-box {grid-column: 8 / 15; grid-row: 19 / 25;}

.main26 .main4{background:#eff1f4; padding:0 23px 119px 23px;}
.main26 .main4box{display:flex; align-items: stretch; border-radius: 16px; background:#fff; box-shadow: 0px 4px 36px 0px rgba(255,255,255,.1);}
.main26 .main4-1{width:100%; max-width:570px; height:auto; border-radius: 16px 0 0 16px; overflow: hidden;}
.main26 .main4-1 img{width:100%; max-width:570px; height:100%; object-fit: cover;}
.main26 .main4-2{padding:70px 40px;}



.main26 .main4-2_h3{font-size: clamp(2.4rem, 2.2544rem + 0.45vw, 2.8rem);/*24-28*/ font-weight: bold; line-height: 150%; letter-spacing: 5%; display:flex; align-items: center; gap:18px; color:#0d447a;}
.main26 .main4-2_h3 span:first-child{font-size: clamp(1.4rem, 1.2544rem + 0.45vw, 1.8rem);}
.main26 .main4-2_p1{font-size:12px; font-weight: bold; line-height: 140%; letter-spacing: 5%; background:#eff1f4; padding:5px 16px; border-radius: 100vh; display:inline-block; margin-top:12px;}

.main26 .main4-2_d1{padding:26px 12px; font-size: clamp(2.4rem, 1.8176rem + 1.82vw, 4rem);/*24-40*/ font-weight: bold; line-height: 130%; letter-spacing: 1px; margin-top:15px; color:#0d447a;}

.main26 .main4-2_d1 span {
    position: relative;
    padding: 17px 30px;
    text-align: center;
	display: block;
}

.main26 .main4-2_d1 span::before,
.main26 .main4-2_d1 span::after {
    position: absolute;
    width: 30px;
    height: 30px;
    content: '';
}

.main26 .main4-2_d1 span::before {
    border-left: #0d447a solid 1px;
    border-top: #0d447a solid 1px;
    top: 0;
    left: 0;
}

.main26 .main4-2_d1 span::after {
    border-right: #0d447a solid 1px;
    border-bottom: #0d447a solid 1px;
    bottom: 0;
    right: 0;
}

.main26 .main4-2_p2{font-size: clamp(1.4rem, 1.328rem + 0.23vw, 1.6rem);/*14-16*/ font-weight: bold; line-height: 180%; letter-spacing: 5%; margin-top:10px;}
.main26 .main4-2_a1{font-size: clamp(1.6rem, 1.528rem + 0.23vw, 1.8rem);/*16-18*/ font-weight: bold; line-height: 180%; letter-spacing: 5%; color:#0d447a; border:1px solid #0d447a; border-radius: 100vh; padding:16px 34px; margin-top:40px; display:inline-block; transition: color 0.3s ease; overflow: hidden; position: relative; z-index: 1;}
.main26 .main4-2_a1 span{padding-right:42px; position: relative; z-index: 2;}
.main26 .main4-2_a1 span::before{content:""; position: absolute; top: 50%; transform:  translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); right:0; background:url("../img/icon.svg") no-repeat; width:24px; height:24px; background-size: contain;}

.main26 .main4-2_a1::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0d447a;
	border:1px solid #0d447a;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
  z-index: -1; border-radius: 100vh;
}

.main26 .main4-2_a1:hover {color: #fff;}
.main26 .main4-2_a1:hover::before {transform: scaleX(1);}
.main26 .main4-2_a1:hover span::before{background:url("../img/icon_h.svg") no-repeat;}

.main26 .main5{background: #153BA6; background: linear-gradient(180deg, rgba(21, 59, 166, 1) 0%, rgba(94, 196, 186, 1) 100%); position: relative; padding:70px 23px;}
.main26 .main5::before{content:""; position: absolute; top: 0; left: 0; width: 100%; height: 84%; clip-path: polygon(0% 20%, 100% 7%, 100% 67%, 0% 82%);
  -webkit-clip-path: polygon(0% 20%, 100% 7%, 100% 67%, 0% 82%); background:#153BA6;}
.main26 .main5 .container{position: relative; z-index:1;}
.main26 .main5oya{display:flex; align-items: center; justify-content: space-between;}
.main26 .main5-1{padding:32px; display:flex; align-items: center; justify-content: center; width:100%;}
.main26 .main5-1 .iframe-wrapper {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.main26 .main5-1 .iframe-wrapper iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.main26 .main5-2{width:100%; max-width:486px;}
.main26 .main5-2 h2{font-size: clamp(4.2rem, 3.1088rem + 3.41vw, 7.2rem);/*42-72*/ letter-spacing: 2%; line-height: 120%; color:#fff; font-weight: bold; margin-bottom:30px;}
.main26 .main5-2 h3{font-size: clamp(2rem, 1.8544rem + 0.45vw, 2.4rem);/*22-24*/ letter-spacing: 5%; line-height: 140%; color:#fff; font-weight: bold; position: relative; margin-bottom:28px;}
.main26 .main5-2 h3 span{padding-right:10px; background:#153BA6; position: relative;}
.main26 .m5_p1{font-size: clamp(2.4rem, 1.8176rem + 1.82vw, 4rem);/*24-40*/ letter-spacing: 1px; line-height: 130%; color:#fff; font-weight: bold; margin-bottom:46px;}
.main26 .m5_p2{font-size: clamp(1.4rem, 1.328rem + 0.23vw, 1.6rem);/*14-16*/ letter-spacing: 5%; line-height: 180%; color:#fff;}

.main26 .main5-2_a1{font-size: clamp(1.6rem, 1.528rem + 0.23vw, 1.8rem);/*16-18*/ font-weight: bold; line-height: 180%; letter-spacing: 5%; color:#0d447a; border:1px solid #0d447a; border-radius: 100vh; padding:16px 34px; margin-top:40px; display:inline-block; background:#fff; transition: color 0.3s ease; overflow: hidden; position: relative; z-index: 1;}
.main26 .main5-2_a1 span{padding-right:42px; position: relative;}
.main26 .main5-2_a1 span::before{content:""; position: absolute; top: 50%; transform:  translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); right:0; background:url("../img/icon.svg") no-repeat; width:24px; height:24px; background-size: contain;}

.main26 .main5-2_a1::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  background: #0d447a;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
  z-index: -1;  border-radius: 100vh;
}

.main26 .main5-2_a1:hover {color: #fff;}
.main26 .main5-2_a1:hover::before {transform: scaleX(1);}
.main26 .main5-2_a1:hover span::before{background:url("../img/icon_h.svg") no-repeat;}

  /* ===== BBT Learning scroll (すべて #bbtl 配下にスコープ) ===== */
  #bbtl {
    --navy: #0f4a87;
    --ink: #1a1a1a;
    --yellow: #f6e000;
    --cyan: #00aeea;
    --magenta: #e4007f;
    --green: #96c300;
    --gray: #dedede;
    --bg: #f3f4f7;
    --ease-out: cubic-bezier(.22,.61,.36,1);
    box-sizing: border-box;
    background: var(--bg);
    color: var(--ink);
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
  }
  #bbtl *, #bbtl *::before, #bbtl *::after { box-sizing: border-box; }

  /* ---------- 共通：見出し ---------- */
  #bbtl .bbtl-head { margin: 0; }
  #bbtl .bbtl-title {
    margin: 0; font-family: "Montserrat", sans-serif; font-weight: 800;
    font-size: clamp(44px, 5.6vw, 72px); line-height: 1; color: var(--navy); letter-spacing: .01em;
  }
  #bbtl .bbtl-sub {
    display: flex; align-items: center; gap: 10px; margin: 10px 0 0;
    font-size: clamp(14px, 1.5vw, 20px); color: var(--navy); letter-spacing: .06em;
  }
  #bbtl .bbtl-sub::after { content: ""; width: 160px; height: 1px; background: var(--navy); opacity: .8; }

  /* ---------- 共通：図 ---------- */
  #bbtl .fig svg { display: block; width: 100%; height: auto; overflow: visible; }
  #bbtl .blend { isolation: isolate; }
  #bbtl .c { mix-blend-mode: multiply; }
  #bbtl .disc circle { fill: #fff; }
  #bbtl .disc text { font-size: 10px; font-weight: 900; text-anchor: middle; fill: var(--ink); letter-spacing: .02em; }
  #bbtl .disc .ico { fill: none; stroke: var(--ink); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
  #bbtl .off .disc circle { opacity: .55; }
  #bbtl .off .disc text { fill: #c9c9c9; }
  #bbtl .off .disc .ico { stroke: #c9c9c9; }
  #bbtl .arw path { fill: none; stroke: #111; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }

  /* 矢印：その図が表示されたときに線を描く */
  #bbtl .arw .line { stroke-dasharray: 1; stroke-dashoffset: 1; }
  #bbtl .arw .head { opacity: 0; }
  #bbtl .is-on .arw .line { stroke-dashoffset: 0; transition: stroke-dashoffset 1s var(--ease-out) .45s; }
  #bbtl .is-on .arw .head { opacity: 1; transition: opacity .2s 1.3s; }

  /* まとめ：循環のパルス */
  #bbtl .is-on .pulse .c { animation: bbtl-ring 3.2s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
  #bbtl .is-on .pulse .c.z { animation-delay: .4s; }
  #bbtl .is-on .pulse .c.s { animation-delay: 1.2s; }
  #bbtl .is-on .pulse .c.k { animation-delay: 2s; }
  #bbtl .is-on .pulse .c.j { animation-delay: 2.8s; }
  @keyframes bbtl-ring { 0%, 30%, 100% { transform: scale(1); } 15% { transform: scale(1.1); } }

  /* ---------- 共通：テキスト ---------- */
  #bbtl .badges { display: flex; gap: 8px; margin-bottom: 14px; }
  #bbtl .badge { display: inline-block; padding: 4px 14px; border-radius: 999px; font-size: 13px; line-height: 1.5; }
  #bbtl .numrow { display: flex; align-items: center; gap: 22px; margin-bottom: 22px; }
  #bbtl .num { font-family: "Montserrat", sans-serif; font-weight: 700; font-size: clamp(48px, 5vw, 68px); line-height: 1; color: var(--navy); }
  #bbtl .ttl { padding-left: 22px; border-left: 1px solid var(--navy); font-size: clamp(18px, 1.8vw, 22px); color: var(--navy); letter-spacing: .12em; line-height: 2.6; }
  #bbtl .body { margin: 0 0 18px; font-size: 15px; line-height: 2.1; letter-spacing: .06em; }

  #bbtl br.sp { display: none; }
  #bbtl .mk { background-repeat: no-repeat; background-position: 0 100%; background-size: 0% 38%; }
  #bbtl .is-on .mk { background-size: 100% 38%; transition: background-size .9s var(--ease-out) .7s; }
  #bbtl .is-on .mk.c2 { transition-delay: 1.1s; }
  #bbtl .mk.y { background-image: linear-gradient(var(--yellow), var(--yellow)); }
  #bbtl .mk.c { background-image: linear-gradient(var(--cyan), var(--cyan)); }
  #bbtl .mk.m { background-image: linear-gradient(var(--magenta), var(--magenta)); }
  #bbtl .mk.g { background-image: linear-gradient(var(--green), var(--green)); }

  #bbtl .tags { display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 0; padding: 0; list-style: none; }
  #bbtl .tags li { padding: 3px 9px; font-size: 13px; line-height: 1.6; letter-spacing: .04em; opacity: 0; transform: translateY(6px); }
  #bbtl .is-on .tags li { opacity: 1; transform: none; transition: opacity .45s calc(.8s + var(--i) * .08s), transform .5s var(--ease-out) calc(.8s + var(--i) * .08s); }
  #bbtl .tags li.br { flex-basis: 100%; height: 0; padding: 0; }
  #bbtl .bg-y { background: var(--yellow); color: var(--ink); }
  #bbtl .bg-c { background: var(--cyan); color: #fff; }
  #bbtl .bg-m { background: var(--magenta); color: #fff; }
  #bbtl .bg-g { background: var(--green); color: #fff; }

  #bbtl .fin { color: var(--navy); letter-spacing: .1em; }
  #bbtl .fin-a, #bbtl .fin-c { font-size: clamp(17px, 1.8vw, 21px); margin: 0; }
  #bbtl .fin-b { position: relative; display: inline-block; margin: 14px 0; padding: 10px 26px 12px; font-size: clamp(28px, 3.2vw, 40px); font-weight: 900; letter-spacing: .08em; }
  #bbtl .fin-b::before, #bbtl .fin-b::after { content: ""; position: absolute; width: 0; height: 0; border-color: var(--navy); border-style: solid; }
  #bbtl .fin-b::before { top: 0; left: 0; border-width: 1px 0 0 1px; }
  #bbtl .fin-b::after { right: 0; bottom: 0; border-width: 0 1px 1px 0; }
  #bbtl .is-on .fin-b::before, #bbtl .is-on .fin-b::after { width: 22px; height: 30px; transition: width .5s var(--ease-out) .6s, height .5s var(--ease-out) .6s; }


  /* ---------- 写真コラージュ ---------- */
  #bbtl .collage { position: relative; }
  #bbtl .ph { position: absolute; margin: 0; overflow: hidden; border-radius: 6px; box-shadow: 0 10px 28px rgba(15,40,80,.12); background: #e6e9ee; }
  #bbtl .ph img { display: block; width: 100%; height: 100%; object-fit: cover; }
  #bbtl .ph1 { z-index: 1; } #bbtl .ph1 img { object-position: 58% 50%; }
  #bbtl .ph2 { z-index: 2; } #bbtl .ph2 img { object-position: 40% 50%; }
  #bbtl .ph3 { z-index: 3; } #bbtl .ph3 img { object-position: 44% 50%; }
  #bbtl .ph4 { z-index: 4; }

  /* 写真の入り方（少しずつずらして浮かび上がる） */
  #bbtl .ph { opacity: 0; transform: translateY(18px); }
  #bbtl .is-on .ph { opacity: 1; transform: none; transition: opacity .8s var(--ease-out) calc(.15s + var(--d, 0s)), transform 1s var(--ease-out) calc(.15s + var(--d, 0s)); }
  #bbtl .ph2 { --d: .12s; } #bbtl .ph3 { --d: .24s; } #bbtl .ph4 { --d: .36s; }

  /* リード文 */
  #bbtl .lead { margin: 0 0 22px; color: var(--navy); font-size: clamp(24px, 2.5vw, 32px); font-weight: 900; line-height: 1.55; letter-spacing: .06em; }
  #bbtl .lead-sub { margin: 0; color: var(--navy); font-size: 15px; line-height: 2; letter-spacing: .08em; }

  /* 背景の斜めの帯 */
  #bbtl { position: relative; }
  #bbtl::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 100vh; background: #f9fafc; clip-path: polygon(0 20%, 100% 4%, 100% 55%, 0 71%); pointer-events: none; }
  #bbtl .bbtl-wrap { position: relative; }

  /* =========================================================
     デスクトップ：左固定（見出し＋図）／右スクロール（説明）
     ========================================================= */
  @media (min-width: 761px) {
    #bbtl .bbtl-wrap {
      display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      max-width: 1200px; margin: 0 auto; padding: 0 40px;
    }
    #bbtl .bbtl-left {
      align-self: start;
      position: sticky !important; top: 0; height: 100vh;
      display: flex; flex-direction: column; justify-content: center; gap: 6vh;
      padding: 0 4% 0 4%;
    }
    #bbtl .figstack { position: relative; width: min(430px, 56vh, 100%); aspect-ratio: 1; }
    #bbtl .figstack .fig {
      position: absolute; inset: 0; opacity: 0; transform: scale(.97);
      transition: opacity .8s var(--ease-out), transform .9s var(--ease-out);
    }
    #bbtl .figstack .fig.is-on { opacity: 1; transform: none; }
    #bbtl .figstack .fig-photo { inset: auto; left: 0; top: 0; height: 100%; aspect-ratio: 473 / 450; }
    #bbtl .fig-photo .collage { width: 100%; height: 100%; }
    #bbtl .fig-photo .ph1 { left: 0;     top: 0;     width: 70.4%; height: 44.4%; }
    #bbtl .fig-photo .ph2 { left: 68.3%; top: 26%;   width: 31.7%; height: 33.3%; }
    #bbtl .fig-photo .ph3 { left: 5.7%;  top: 40.9%; width: 28.1%; height: 40.7%; }
    #bbtl .fig-photo .ph4 { left: 40.2%; top: 62.9%; width: 45.7%; height: 37.1%; }

    #bbtl .slide {
      min-height: 100vh; display: flex; align-items: center;
      padding: 0 0 0 6%;
    }
    #bbtl .sp-head, #bbtl .slide .s-fig { display: none; }
    #bbtl .slide .s-txt { opacity: .14; transform: translateY(24px); transition: opacity .7s var(--ease-out), transform .8s var(--ease-out); }
    #bbtl .slide.is-on .s-txt { opacity: 1; transform: none; }
  }

  /* =========================================================
     スマホ：1画面ずつ上にスライドする紙芝居
     ========================================================= */
  @media (max-width: 760px) {
    html { scroll-snap-type: y mandatory; }
    #bbtl .bbtl-left { display: none; }

    /* 見出し（中央揃え・左右に罫線） */
    #bbtl .sp-head { order: 0; width: 100%; padding: 0 20px; margin-bottom: 28px; }
    #bbtl .sp-head .bbtl-title { font-size: 40px; }
    #bbtl .sp-sub {
      display: flex; align-items: center; justify-content: center; gap: 14px;
      margin: 8px 0 0; font-size: 15px; line-height: 1.5; color: var(--navy); letter-spacing: .08em;
    }
    #bbtl .sp-sub::before, #bbtl .sp-sub::after { content: ""; flex: 1; max-width: 80px; height: 1px; background: var(--navy); opacity: .6; }

    /* 1画面＝1ステップ（テキスト → 図） */
    #bbtl .slide {
      height: 100vh; height: 100svh;
      scroll-snap-align: start; scroll-snap-stop: always;
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      padding: 24px 20px; overflow: hidden; text-align: center;
    }
    #bbtl .s-txt { order: 1; width: 100%; }
    #bbtl .s-fig { order: 2; flex: none; margin-top: 18px; width: var(--fig-w, min(84vw, 340px)); }
    #bbtl .slide.fin-slide .s-fig { display: none; }

    /* 1枚目：見出し → 写真 → リード文（縦に長いので、この1枚だけ画面内でスクロール） */
    #bbtl .slide.intro-slide { height: auto; min-height: 100vh; min-height: 100svh; justify-content: flex-start; padding: 48px 0 56px; }
    #bbtl .intro-slide .s-fig { order: 1; width: 96.6vw; margin: 0 auto 0 0; }
    #bbtl .intro-slide .s-txt { order: 2; padding: 0 20px; margin-top: 44px; }
    #bbtl .intro-slide .collage { width: 100%; aspect-ratio: 227 / 489; }
    #bbtl .intro-slide .ph1 { left: 0;     top: 0;     width: 89.9%; height: 33.7%; border-radius: 0 6px 6px 0; }
    #bbtl .intro-slide .ph2 { left: 44.9%; top: 28.8%; width: 55.1%; height: 25.4%; }
    #bbtl .intro-slide .ph3 { left: 9.7%;  top: 49.1%; width: 48.9%; height: 30.9%; }
    #bbtl .intro-slide .ph4 { left: 29.5%; top: 75.1%; width: 70.5%; height: 24.9%; }
    #bbtl .lead { font-size: 23px; margin-bottom: 16px; }
    #bbtl .lead-sub { font-size: 15px; line-height: 1.9; }

    #bbtl .badges { justify-content: center; margin-bottom: 10px; }
    #bbtl .badge { font-size: 12px; padding: 2px 12px; }
    #bbtl .numrow { flex-direction: column; gap: 0; margin-bottom: 12px; }
    #bbtl .num { font-size: 52px; }
    #bbtl .ttl { border-left: 0; padding: 0; font-size: 19px; line-height: 1.6; letter-spacing: .1em; }
    #bbtl .ttl::before { content: ""; display: block; width: 56px; height: 1px; margin: 10px auto 10px; background: #c3cad6; }
    #bbtl .body { font-size: 13.5px; line-height: 1.95; margin-bottom: 12px; letter-spacing: .04em; }
    #bbtl .body br.pc { display: none; }
    #bbtl .body br.sp { display: inline; }
    #bbtl .tags { justify-content: center; }
    #bbtl .tags li { font-size: 12px; padding: 2px 8px; }
    #bbtl .tags li.br { display: none; }
    #bbtl .fin-b { font-size: 28px; }

    /* 画面が切り替わったときの入り方 */
    #bbtl .s-fig, #bbtl .s-txt { opacity: 0; transform: translateY(28px); }
    #bbtl .slide.is-on .s-txt { opacity: 1; transform: none; transition: opacity .7s var(--ease-out) .1s, transform .8s var(--ease-out) .1s; }
    #bbtl .slide.is-on .s-fig { opacity: 1; transform: none; transition: opacity .7s var(--ease-out) .3s, transform .8s var(--ease-out) .3s; }
  }

  @media (prefers-reduced-motion: reduce) {
    #bbtl *, #bbtl *::before, #bbtl *::after { transition-duration: .01s !important; transition-delay: 0s !important; animation: none !important; }
  }



.main26 .main6{background: #fff782; position: relative; padding:70px 22px;}
.main26 .main6::before{content:""; position: absolute; top: 0; left: 0; width: 100%; height: 84%; clip-path: polygon(0% 18%, 100% 5%, 100% 72%, 0% 85%);
  -webkit-clip-path: polygon(0% 18%, 100% 5%, 100% 72%, 0% 85%); background:#fdf25b;}
.main26 .main6 .container{position: relative; z-index:1;}
.main26 .main6oya{display:flex; align-items: center; justify-content: space-between;}
.main26 .main6-1{padding:32px; display:flex; align-items: center; justify-content: center; max-width:548px;}
.main26 .main6-2{width:100%; max-width:588px;}
.main26 .main6-2 h2{font-size: clamp(4.2rem, 3.1088rem + 3.41vw, 7.2rem);/*42-72*/ letter-spacing: 2%; line-height: 120%; color:#0d447a; font-weight: bold; margin-bottom:30px;}
.main26 .main6-2 h3{font-size: clamp(2rem, 1.8544rem + 0.45vw, 2.4rem);/*20-24*/ letter-spacing: 5%; line-height: 140%; color:#0d447a; font-weight: bold; position: relative; margin-bottom:28px;}
.main26 .main6-2 h3 span{padding-right:10px; background:#fdf25b; position: relative;}
.main26 .m6_p1{font-size: clamp(2rem, 1.272rem + 2.27vw, 4rem);/*20-40*/ letter-spacing: 1px; line-height: 130%; color:#0d447a; font-weight: bold; margin-bottom:23px;}
.main26 .m6_p2{font-size: clamp(1.6rem, 1.528rem + 0.23vw, 1.8rem);/*16-18*/ letter-spacing: 5%; line-height: 180%; color:#000; font-weight: bold;}

.main26 .main6-2_a1{font-size:18px; font-weight: bold; line-height: 180%; letter-spacing: 5%; color:#0d447a; border:1px solid #0d447a; border-radius: 100vh; padding:16px 34px; margin-top:40px; display:inline-block; background:#fff;}
.main26 .main6-2_a1 span{padding-right:42px; position: relative;}
.main26 .main6-2_a1 span::before{content:""; position: absolute; top: 50%; transform:  translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); right:0; background:url("../img/icon.svg") no-repeat; width:24px; height:24px; background-size: contain;}

.main26 .m6_p3{margin-top:19px;}

.main26 .main7{padding:170px 22px;}
.main26 .main7oya,.main26 .main7oya2,.main26 .main7oya3{display:flex; align-items: flex-start; justify-content: space-between; gap:56px;}
.main26 .main7oya2,.main26 .main7oya3{margin-top:120px;}
.main26 .main7-1{max-width:384px;}
.main26 .main7-2{max-width:752px;}

.main26 .main7-1_p1{font-size:72px; letter-spacing: 2%; line-height: 120%; color:#0d447a; font-weight: bold; margin-bottom:38px;}
.main26 .main7-1_h3{font-size: clamp(2.4rem, 2.2544rem + 0.45vw, 2.8rem);/*24-28*/ letter-spacing: 5%; line-height: 150%; color:#0d447a; font-weight: bold; margin-bottom:30px;}
.main26 .main7-1_p2{font-size: clamp(1.4rem, 1.328rem + 0.23vw, 1.6rem);/*14-16*/ letter-spacing: 5%; line-height: 180%; font-weight: bold;}

.main26 .main7-3{max-width:658px;}
.main26 .main7oya4{display:flex; align-items: center; justify-content: center; margin-top:60px;}

.main26 .main8{background: #153BA6; background: linear-gradient(180deg, rgba(21, 59, 166, 1) 0%, rgba(94, 196, 186, 1) 100%); position: relative; padding:112px 22px 0;}
.main26 .main8::before{content:""; position: absolute; top: 0; left: 0; width: 100%; height: 84%; clip-path: polygon(0% 11%, 100% 4%, 100% 37%, 0% 47%);
  -webkit-clip-path: polygon(0% 11%, 100% 4%, 100% 37%, 0% 47%); background:#153BA6;}
.main26 .main8::after{content:""; position: absolute; bottom: 0; left: 0; width: 100%; height: 84%; clip-path: polygon(100% 90%, 0% 100%, 100% 100%);
  -webkit-clip-path: polygon(100% 90%, 0% 100%, 100% 100%); background:#0d447a;}
.main26 .main8 .container{position: relative; z-index:1;}
.main26 .main8oya{display:flex; justify-content: center; flex-direction: column; text-align: center;}
.main26 .main8oya h2{font-size: clamp(4.2rem, 3.1088rem + 3.41vw, 7.2rem);/*42-72*/ letter-spacing: 2%; line-height: 120%; color:#fff; font-weight: bold;}
.main26 .main8oya h3{font-size: clamp(2rem, 1.8544rem + 0.45vw, 2.4rem);/*20-24*/ letter-spacing: 5%; line-height: 140%; color:#fff; font-weight: bold; margin-top:30px;}
.main26 .main8oya h3 span{position:relative; padding:0 106px;}
.main26 .main8oya h3 span::before{content:""; position: absolute; width:96px; height:1px; background:#fff; top: 50%; left: 0%; transform:  translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%);}
.main26 .main8oya h3 span::after{content:""; position: absolute; width:96px; height:1px; background:#fff; top: 50%; right: 0%; transform:  translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%);}

.main26 .m8_p1{font-size: clamp(2.4rem, 1.8176rem + 1.82vw, 4rem);/*24-40*/ letter-spacing:1px; line-height: 130%; color:#fff; font-weight: bold; margin-top:30px;}

.main26 .main8oya2{display:flex; align-items: stretch; gap:64px; padding:72px 0;}
.main26 .main8-1,.main26 .main8-2{width:100%; max-width:568px; display:flex; flex-direction: column; align-items: stretch; border-radius: 16px;}
.main26 .main8-1-1{padding:51px 34px; background:#fff; text-align: center; border-radius: 16px 16px 0 0; flex:1;}
.main26 .main8_p1{font-size: clamp(4.2rem, 3.1088rem + 3.41vw, 7.2rem);/*42-72*/ letter-spacing: 2%; line-height: 120%; font-weight: bold; background: #153BA6;
background: linear-gradient(180deg,rgba(21, 59, 166, 1) 0%, rgba(94, 196, 186, 1) 100%); -webkit-background-clip:text;
	-webkit-text-fill-color: transparent; text-align: center;}
.main26 .main8oya2 h3{font-size:14px; letter-spacing: 5%; line-height: 140%; text-align: center; padding-bottom:19px; position: relative; margin-bottom:23px; font-weight: bold;}
.main26 .main8oya2 h3::before{content:""; position: absolute; width:80px; height:1px; background:#0d447a; bottom:0; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%);}

.main26 .main8_p2{font-size: clamp(2.4rem, 2.2544rem + 0.45vw, 2.8rem);/*24-28*/ letter-spacing: 5%; line-height: 150%; font-weight: bold; color:#0d447a; margin-bottom:31px; text-align: center;}
.main26 .main8_p3{font-size: clamp(1.4rem, 1.328rem + 0.23vw, 1.6rem);/*14-16*/ letter-spacing: 5%; line-height: 180%; font-weight: bold; text-align: left;}

.main26 .main8-1-2 img{width:100%; height:auto; max-height:293px; object-fit: cover; overflow: hidden; border-radius: 0 0 16px 16px;}
.main26 .main8 .main5-2_a1 {margin-top: 40px;}

.main26 .main9{position: relative; padding:112px 0 120px;}
.main26 .main9::before{content:""; position: absolute; top: 0; left: 0; width: 100%; height: 84%; clip-path: polygon(0% 0%, 100% 0%, 100% 55%, 0% 65%);
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 55%, 0% 65%); background:#0d447a;}
.main26 .main9 .container{position: relative; z-index:1;}
.main26 .main9oya2{padding:36px 22px; display:flex; align-items: stretch; gap:63px;}
.main26 .main9-1{width:100%; max-width:568px; height:100%; min-height:568px; border-radius: 16px; padding:32px; position: relative; overflow: hidden; color:#fff; position:relative; z-index:1;  overflow: hidden;}
.main26 .main9-1::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image:url("../img/program1.jpg");
  background-size: cover;
  background-position: center;
  transition: transform 0.4s ease;
  z-index: 0;
}

.main26 .main9-1:hover::after {
  transform: scale(1.1);
}


.main26 .main9-1 div{display:flex; flex-direction: column; width:100%; height:100%; min-height:568px; position: relative; z-index: 2;}


.main26 .main9-1::before{background:rgba(20,55,90,.6); width:100%; height:100%; content:""; position: absolute; top:0; left:0; z-index: 1;}
.main26 .main9-1:hover::before{background:rgba(20,55,90,.0);}

.main26 .main9_p1{font-size: clamp(1.6rem, 1.3088rem + 0.91vw, 2.4rem);/*16-24*/ letter-spacing: 5%; line-height: 140%; font-weight: bold; position: relative; padding-bottom:20px;}
.main26 .main9_p1::before{content:""; position: absolute; bottom:0; left:0; width:33px; height:1px; background:#fff;}
.main26 .main9_h4{font-size: clamp(2.4rem, 1.8176rem + 1.82vw, 4rem);/*24-40*/ letter-spacing: 1px; line-height: 130%; font-weight: bold; position: relative;}

.main26 .main9-2{width:100%; max-width:568px; height:100%; min-height:568px; border-radius: 16px; padding:32px; position: relative; overflow: hidden; color:#fff; position:relative; z-index:1;  overflow: hidden;}
.main26 .main9-2::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image:url("../img/program2.jpg");
  background-size: cover;
  background-position: center;
  transition: transform 0.4s ease;
  z-index: 0;
}

.main26 .main9-2:hover::after {
  transform: scale(1.1);
}
.main26 .main9-2 div{display:flex; flex-direction: column; justify-content: space-between; width:100%; max-width:568px; height:100%; min-height:568px; position: relative; z-index: 2;}


.main26 .main9-2::before{background:rgba(129,108,0,.6); width:100%; height:100%; content:""; position: absolute; top:0; left:0; z-index:1;}
.main26 .main9-2:hover::before{background:rgba(20,55,90,.0);}

.main26 .main10{padding:75px 0; background:#f7f9fb;}
.main26 .main10-1{display:flex; flex-direction: column; justify-content: center;}
.main26 .main10-tit{text-align: center;}
.main26 .main10-tit h2{font-size: clamp(3.2rem, 2.328rem + 2.73vw, 5.6rem);/*32-56*/ color:#0D447A; font-weight:bold; line-height: 140%; letter-spacing: 5%; text-align: center;}
.main26 .main10-tit h3{font-size: clamp(2rem, 1.8544rem + 0.45vw, 2.4rem);/*20-24*/ color:#0D447A; font-weight:bold; line-height: 140%; letter-spacing: 5%; text-align: center; margin-bottom:18px;}
.main26 .m10_p1{font-size: clamp(1.4rem, 1.328rem + 0.23vw, 1.6rem);/*14-16*/ font-weight:bold; line-height: 180%; letter-spacing: 5%; text-align: center;}

.main26 .main10_div{display:flex; gap:24px; padding:0 0 49px 0;}

.main26 .main10_div1{display:flex; flex-direction: column; width:100%; max-width:280px; padding:0 8px 8px 0;}
.main26 .main10_div1con{position:relative; height: 100%;}
.main26 .main10_div1con::before{content:""; position: absolute; width:100%; height:100%; right:-8px; bottom:-8px; background:#0d447a;}
.main26 .main10_d1-1{padding:17px;}

.main26 .main10_div1oya{position:relative; background:#fff; height: 100%;}
.main26 .main10_div1oya{position:relative; background:#fff; height: 100%;}
.main26 .main10_sli_pho{width:100%; height:auto; overflow: hidden;}
.main26 .main10_div1oya img.main10img {
  width: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}


.main26 .main10_div1oya:hover img.main10img {
  transform: scale(1.1);
}

.main26 .main10_d1-h4{font-size:24px; color:#0D447A; font-weight:bold; line-height: 140%; letter-spacing: 5%; display:inline-block; position: relative;}
.main26 .main10_d1-h4::before{position:absolute; content:""; left:0; bottom:0; width:100%; height:9px; background:#fff782;}
.main26 .main10_d1-h4 span{position: relative; z-index:1;}
.main26 .main10_span1{font-size:14px; color:#0D447A; font-weight:bold; line-height: 140%; letter-spacing: 5%; margin-left:10px;}
.main26 .main10_d1-1p{font-size:16px; color:#000; font-weight:bold; line-height: 150%; letter-spacing: 5%; margin-top:10px; margin-bottom:20px;}
.main26 .main10_d1-2p{font-size:12px; color:#000; font-weight:bold; line-height: 100%; letter-spacing: 1px; color:#fff; padding:3px 16px; display:inline-block;}
.main26 .career{background:#F03E79;}
.main26 .growth{background:#445C7C;}
.main26 .succession{background:#9548af;}
.main26 .kigyo{background:#00a3e7;}
.main26 .global{background:#c88227;}
.main26 .start{background:#0D447A;}
.main26 .main10_d1-2p_oya{display:flex; align-items: center; gap:4px;}
.main26 .slick-track {display: flex !important;}
.main26 .slick-slide {height: auto !important;}
.main26 .main10_div1oya{display: flex !important; flex-direction: column; justify-content: space-between; position: relative;}
.main26 .main10_d1-2p_oya {margin-top: auto; margin-bottom: 15px; margin-left:17px;}
.main26 .main2_d1-1 h3 {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;}
.main26 .main10link{margin:0 auto;}
.main26 .main11box{display:flex; align-items: stretch;}
.main26 .main11_l{width:100%; max-width:558px; height:auto;}
.main26 .main11_l img{width:100%; max-width:558px; height:100%; min-height:379px; object-fit: cover;}
.main26 .main11_p1{color:#EBE149; font-size:20px; line-height:20px; font-weight: bold;}
.main26 .main11_h2{font-size:36px; color:#fff; letter-spacing: 4px; font-weight: bold; margin-top:15px;}
.main26 .main11_p2{font-size:16px; color:#fff; letter-spacing: 4px; margin-top:15px; line-height:28px;}

.main26 .main11_r{width:100%; display:flex; align-items: center; justify-content: space-around; gap:100px; background: #153BA6;
background: linear-gradient(90deg,rgba(21, 59, 166, 1) 0%, rgba(94, 196, 186, 1) 100%); padding:60px;}
.main26 .main11_r2{display:flex; flex-direction: column; justify-content: center; align-items: center; gap:5px; color:#fff;}
.main26 .main11_r2 span{font-size:14px; font-weight: bold;}

.wrapper{overflow:inherit !important;}



