@charset "utf-8";   

:root {
         --color-brand: #e11d48;
         --color-brand-dark: #be123c;
         --color-brand-light: #fff1f2;
         --color-blue-main: #0ea5e9;
         --color-blue-dark: #0284c7;
         --color-blue-light: #e0f2fe;
         --color-text-main: #1e293b;
         --color-text-light: #64748b;
         --color-bg-gray: #f8fafc;
         --color-border: #e2e8f0;
         --container-width: 1152px;
         --border-radius-sm: 8px;
         --border-radius-md: 16px;
         --transition-base: all 0.3s ease;
         --shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
         --shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
         --font-family-base: 'Minion Variable Concept', 'Noto Sans JP', sans-serif;
       }
       * {
         margin: 0;
         padding: 0;
         box-sizing: border-box;
       }
       body {
         font-family: var(--font-family-base);
         color: var(--color-text-main);
         background-color: #fff;
         line-height: 1.6;
         overflow-x: hidden;
         -webkit-font-smoothing: antialiased;
         padding-bottom: 90px;
         transition: background-color 0.8s cubic-bezier(0.4, 0, 0.2, 1), color 0.8s cubic-bezier(0.4, 0, 0.2, 1);
       }
       img {
         max-width: 100%;
         height: auto;
         display: block;
         object-fit: cover;
       }
       a {
         text-decoration: none;
         color: inherit;
         transition: var(--transition-base);
       }
       ul {
         list-style: none;
       }
       button {
         cursor: pointer;
         font-family: inherit;
         border: none;
         background: none;
       }
       h1, h2, h3, h4 {
         font-variant-ligatures: no-common-ligatures; /* 念のためのリセチE   */
         font-feature-settings: "palt";
         text-spacing-trim: trim-start;
       }
       .container {
         max-width: var(--container-width);
         margin: 0 auto;
         padding: 0 20px;
         position: relative;
       }
       .text-center {
         text-align: center;
       }
       .sp-only {
         display: none;
       }
       .pc-only {
         display: block;
       }
       .minion-number {
         font-family: 'Minion Variable Concept', 'Minion Pro', 'Times New Roman', serif;
       }
       .btn-cta-primary {
         display: inline-flex;
         align-items: center;
         justify-content: center;
         background: linear-gradient(135deg, var(--color-brand) 0%, var(--color-brand-dark) 100%);
         color: #fff;
         font-weight: 800;
         padding: 16px 40px;
         border-radius: 50px;
         box-shadow: 0 8px 20px rgba(225, 29, 72, 0.3);
         transition: var(--transition-base);
         letter-spacing: 0.05em;
         position: relative;
         overflow: hidden;
       }
       .btn-cta-primary::after {
         content: '';
         position: absolute;
         top: 0;
         left: -100%;
         width: 50%;
         height: 100%;
         background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
         transform: skewX(-20deg);
         animation: shine 3s infinite;
       }
       @keyframes shine {
         0% {
           left: -100%;
         }
         20% {
           left: 200%;
         }
         100% {
           left: 200%;
         }
       }
       .btn-cta-primary:hover {
         transform: translateY(-3px);
         box-shadow: 0 12px 25px rgba(225, 29, 72, 0.4);
       }
       .sec-title {
         font-size: 32px;
         font-weight: 800;
         margin-bottom: 0;
         line-height: 1.4;
         letter-spacing: 0;
         color: var(--color-text-main);
       }
       .sec-title span.blue {
         color: var(--color-blue-main);
         transition: color 0.8s ease;
       }
       /* ヘッダー */
       .header {
         position: sticky;
         top: 0;
         z-index: 100;
         background-color: rgba(255, 255, 255, 0.95);
         backdrop-filter: blur(10px);
         border-bottom: 1px solid var(--color-border);
         transition: background-color 0.8s ease, border-color 0.8s ease;
       }
       .header-inner {
         display: flex;
         justify-content: space-between;
         align-items: center;
         padding: 12px 20px;
         max-width: var(--container-width);
         margin: 0 auto;
       }
       .header-logo-group {
         display: flex;
         align-items: center;
         gap: 10px;
       }
       .header-logo a img {
         display: block;
         width: clamp(150px, 15vw, 300px);
         height: auto;
       }
       .header-title {
         font-size: 16px;
         font-weight: 800;
         letter-spacing: 0.02em;
         transition: color 0.8s ease;
       }
       .header-btn {
         background-color: var(--color-text-main);
         color: #fff;
         font-size: clamp(12px,1.5vw,15px);
         font-weight: 700;

         border-radius: 6px;
         transition: var(--transition-base);
		   width: clamp(200px, 15vw, 300px);
		   min-width: 200px;
       }
.header-btn a{
		width: 100%;
	height: auto;
		padding: 10px 20px;
	text-align: center;
	display: block;
}
       .header-btn:hover {
         background-color: #000;
       }
       /* FV Section */
       .fv-section {
         position: relative;
         padding: 10px 0 20px;
		  width: 100%;
         min-height: 410px;
         display: flex;
         align-items: center;
         background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);
         overflow: hidden;
       }
       .fv-bg {
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         z-index: 1; /*ここに後日背景動画を差し込みまぁE*/
       }
       .fv-bg img {
         position: absolute;
         width: 100%;
  		 height: 100%;
         top: 0;
         bottom: 0;
         object-fit: cover;
		 object-position: center;  
       }
		.fv_gmo_logo{
			width: 15%;
			min-width: 270px;
			height: auto;
			position: absolute; 
  			top: -40px; 
  			right: 0; 
  			z-index: 5;
		}
		.fv_gmo_logo img{
			width: 170px;
			height: auto;
			margin: 0 auto 20px;
		}
		.fv_gmo_logo p {
			text-align: center;
			font-size: 16px;
			line-height: 1.2;
			font-weight: 700;
		}
		.fv_gmo_logo p span{
			color: var(--color-blue-dark);
}

       .fv-light-effect {
         position: absolute;
         top: -20%;
         right: -10%;
         width: 60%;
         height: 80%;
         background: radial-gradient(circle, rgba(14, 165, 233, 0.2) 0%, transparent 70%);
         filter: blur(60px);
         z-index: 2;
         pointer-events: none;
       }
       .fv-content-wrapper {
         display: flex;
         align-items: center;
         justify-content: space-between;
         position: relative;
         z-index: 3;
         width: 100%;
       }
       .fv-text-side {
         width: 100%;
         max-width: 650px;
         position: relative;
         z-index: 4;
       }
       /* FV Copy */
       .fv-sub-copy {
         font-size: 20px;
         font-weight: 700;
         color: var(--color-text-main);
         margin-bottom: 16px;
         line-height: 1.6;
         letter-spacing: 0.05em;
       }
       .fv-main-copy {
         /*         color: var(--color-blue-main);*/
         font-weight: 900;
         line-height: 1.1;
         margin-bottom: 24px;
         letter-spacing: 0.03em;
         background: linear-gradient(135deg, #001A5C 0%, #0055BB 35%, #00AAEE 70%, #5CF0FF 100%);
         -webkit-background-clip: text; /* 🛠 E E背景のグラチE Eションを文字 E形に型抜ぁE*/
         -webkit-text-fill-color: transparent; /* 🛠 E E斁E  本来の色を透 Eにして、後ろのグラチE Eションを透かぁE*/
       }
       .fv-main-copy .line-1 {
         font-size: clamp(36px, 16vw, 40px);
         display: block;
       }
       .fv-main-copy .line-2 {
         font-size: clamp(50px, 26vw, 60px);
         display: block;
         margin: 4px 0;
       }
       .fv-main-copy .line-3 {
         font-size: clamp(36px, 16vw, 40px);
         display: block;
       }
       .fv-cta-wrapper {
         margin-top: 24px;
       }
       .btn-fv-scroll {
         display: inline-flex;
         align-items: center;
         justify-content: center;
         background: #fff;
         color: var(--color-text-main);
         font-weight: 800;
         font-size: 18px;
         padding: 10px 40px;
         border-radius: 50px;
         box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
         transition: var(--transition-base);
         letter-spacing: 0.05em;
       }

 		.fa-arrow-down{
			margin-left: 8px;
			transform: translateY(2px);
			color: var(--color-blue-main);
}
       .btn-fv-scroll:hover {
         box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
         transform: translateY(-2px);
         color: var(--color-blue-main);
       }
       .fv-badge-side {
         position: absolute;
         right: 20px;
         top: -10px;
         z-index: 4;
       }
       /* 12丁E  メダル (高級感・ネイビ EグラチE Eション・フチなぁE */
       .fv-graduate-badge {
         width: 150px;
         height: 150px;
         /*         background: linear-gradient(135deg, var(--color-blue-dark) 0%, #0f172a 100%);*/
         border-radius: 50%;
         box-shadow: 0 5px 10px rgba(15, 23, 42, 0.25);
         border: none;
         display: flex;
         flex-direction: column;
         align-items: center;
         justify-content: center;
         color: #fff;
         line-height: 1.2;
         font-family: var(--font-family-base);
       }
       .badge-sub {
         font-size: 11px;
         font-weight: 700;
       }
       .badge-main {
         font-size: 24px;
         font-weight: 800;
         margin: 2px 0;
       }
       .badge-unit {
         font-size: 12px;
         font-weight: 700;
       }
       /* ペルソナエリア (白背景) - FV下 E直緁E*/
       .fv-persona-belt {
         background-color: #fff;
         padding: 20px 0 40px;
         position: relative;
         z-index: 10;
       }
		.persona-container{
			max-width: clamp(728px, 90vw, 1600px);
			margin: 0 auto;
}
       .persona-cards {
         display: grid;
         grid-template-columns: repeat(4, 1fr);
         gap: 20px;
       }

       .p-card {
         background: #fff;
         border: none;
         border-radius: 5px;
         overflow: hidden;
         position: relative;
         flex-direction: column;
         box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.02);
         transition: var(--transition-base);
       }
		.investigation{
			width: var(--container-width);
			height: auto;
			margin: auto;
      padding: 0 0 3%;
			text-align: justify;
			font-size: 0.60rem;
			color: #666;
			line-height: 1.5;

}



       /* ホバー時 Eバ Eを削除し、シャドウのみで浮かせめE*/
/*
       .p-card:hover {
         transform: translateY(-4px);
         box-shadow: 0 12px 25px rgba(0, 0, 0, 0.1);
       }
*/
/*
       .p-img-box {
         width: 100%;
         height: 150px;
         background: #e2e8f0;
         position: relative;
         display: flex;
         align-items: center;
         justify-content: center;
         color: #94a3b8;
         font-weight: bold;
         font-size: 13px;
         overflow: hidden;
       }
*/
/*
       .p-img-box img {
         width: 100%;
         height: 100%;
         object-fit: cover;
       }
*/
       .p-tag {
         position: absolute;
         left: 0;
		 bottom: 5px;
         background: var(--color-blue-main);
         padding: 5px 15px;
         font-size: 10px;
         font-weight: 800;
         color: #fff;
         border-radius: 0 5px 5px 0;
         box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.05);
         z-index: 2;
/*
         border-right: 1px solid var(--color-border);
         border-bottom: 1px solid var(--color-border);
*/
       }
/*
       .p-text-box {
         padding: 20px 16px;
         text-align: center;
         flex-grow: 1;
         display: flex;
         flex-direction: column;
         justify-content: center;
         background: #fff;
       }
*/
		.p-card{
			border-radius: 5px;
		}
/*
       .p-task {
         font-size: 12px;
         color: var(--color-text-light);
         font-weight: 700;
         margin-bottom: 4px;
       }
*/
/*
       .p-result {
         display: flex;
         align-items: center;
         justify-content: center;
         gap: 6px;
         flex-wrap: wrap;
       }
*/
/*
       .p-before {
         font-size: 13px;
         color: var(--color-text-light);
         font-weight: 600;
         text-decoration: line-through;
       }
*/
/*
       .p-arrow {
         color: var(--color-text-light);
         font-size: 14px;
         margin: 0 2px;
       }
*/
/*
       .p-after {
         font-size: 28px;
         font-weight: 800;
         color: var(--color-text-main);
         line-height: 1.2;
         letter-spacing: 0.02em;
       }
*/
/*
       .p-after .small {
         font-size: 13px;
         font-weight: 800;
         display: inline-block;
         vertical-align: baseline;
         color: var(--color-text-main);
         margin-left: 2px;
       }
*/
/*
       .p-after .prefix {
         font-size: 13px;
         font-weight: 800;
         display: inline-block;
         vertical-align: baseline;
         color: var(--color-text-main);
         margin-right: 2px;
       }
*/
/*
       .p-after .suffix {
         font-size: 13px;
         font-weight: 800;
         display: inline-block;
         vertical-align: baseline;
         color: var(--color-text-main);
         margin-left: 2px;
       }
*/
       /* ペルソナとEmpathyセクションを繋ぐ波緁E*/
       .wave-divider {
         position: relative;
         width: 100%;
         line-height: 0;
         direction: ltr;
         z-index: 1;
         margin-top: -1px;
         background-color: #fff;
       }
       .wave-divider svg {
         display: block;
         width: 100%;
         height: 80px;
       }
       /* 悩み・共感セクション */
       .empathy-section {
         padding: 60px 0 80px;
         background-color: var(--color-bg-gray) !important;
         text-align: center;
         position: relative;
         z-index: 3;
       }

		.empathy-section div{
			 font-variant-ligatures: no-common-ligatures; /* 念のためのリセチE   */
		 font-feature-settings: "palt";
		    text-spacing-trim: trim-start;
}
       body.is-dark .empathy-header-sub {
         color: var(--color-text-main);
       }
       body.is-dark .empathy-header-main {
         color: var(--color-blue-main);
       }
       .empathy-header-sub {
         font-size: 20px;
         font-weight: 800;
         color: var(--color-text-main);
         margin-bottom: 8px;
       }
       .empathy-header-main {
         font-size: 36px;
         font-weight: 800;
         color: var(--color-blue-main);
         line-height: 1.4;
         margin-bottom: 20px;
       }
       .empathy-visual-area {
         position: relative;
         width: 100%;
         max-width: 800px;
         margin: 0 auto;
         height: 420px;
       }
       .empathy-center-img {
         position: absolute;
         top: 50%;
         left: 50%;
         transform: translate(-50%, -50%);
         width: 220px;
         z-index: 1;
         border-radius: 12px;
         overflow: hidden;
         display: flex;
         align-items: center;
         justify-content: center;
         color: #94a3b8;
         font-weight: bold;
       }
       .empathy-center-img img {
         filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.1));
       }
       .bubble {
         position: absolute;
         background: #fff;
         border-radius: 50%;
         display: flex;
         align-items: center;
         justify-content: center;
         text-align: center;
         font-weight: 800;
         color: var(--color-blue-main);
         box-shadow: 0 8px 20px rgba(14, 165, 233, 0.15);
         z-index: 2;
         opacity: 0;
         transform: scale(0.8);
         transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
       }
       .empathy-section.is-visible .bubble {
         opacity: 1;
         transform: scale(1);
       }
       .bubble-1 {
         width: 140px;
         height: 140px;
         top: 0;
         left: 10%;
         font-size: 14px;
         transition-delay: 0.1s;
       }
       .bubble-2 {
         width: 160px;
         height: 160px;
         top: 35%;
         left: 0%;
         font-size: 15px;
         transition-delay: 0.2s;
       }
       .bubble-3 {
         width: 150px;
         height: 150px;
         bottom: 0;
         left: 15%;
         font-size: 14px;
         transition-delay: 0.3s;
       }
       .bubble-4 {
         width: 140px;
         height: 140px;
         top: 5%;
         right: 10%;
         font-size: 14px;
         transition-delay: 0.4s;
       }
       .bubble-5 {
         width: 170px;
         height: 170px;
         top: 40%;
         right: 0%;
         font-size: 16px;
         transition-delay: 0.5s;
       }
       .bubble-6 {
         width: 150px;
         height: 150px;
         bottom: 0;
         right: 15%;
         font-size: 14px;
         transition-delay: 0.6s;
       }
       /* 壁セクション */
       .wall-section {
         padding: 60px 0 40px;
         background-color: transparent;
         text-align: center;
       }
       .wall-section .sec-title {
         transition: color 0.8s ease;
       }
       .swipe-container {
         display: grid;
         grid-template-columns: repeat(4, 1fr);
         gap: 22px;
         margin-top: 30px;
         text-align: left;
       }
       .wall-card {
         background: #fff;
         border-radius: 16px;
         border: 1px solid var(--color-border);
         box-shadow: var(--shadow-sm);
         display: flex;
         flex-direction: column;
         height: 100%;
         overflow: hidden;
         transition: background-color 0.8s ease, border-color 0.8s ease;
       }
       .wall-img {
         width: 100%;
         aspect-ratio: 16/9;
         background: #e2e8f0;
         display: flex;
         align-items: center;
         justify-content: center;
         color: #94a3b8;
         font-weight: bold;
       }
       .wall-header {
         background: var(--color-bg-gray);
         padding: 15px 5px 15px 15px;
         font-weight: 800;
         font-size: clamp(15px,2vw,21px);
		   line-height: 1.2;
         display: flex;
         align-items: center;
         border-bottom: 1px solid var(--color-border);
         min-height: 64px;
         transition: background-color 0.8s ease, border-color 0.8s ease, color 0.8s ease;
       }
       .wall-header i {
         margin: 5px 10px 0 0;
         color: var(--color-brand);
       }
       .wall-body {
         padding: 16px 20px;
         flex-grow: 1;
       }
       .wall-list li {
         display: flex;
         align-items: flex-start;
         margin-bottom: 12px;
         font-size: 14px;
		   line-height: 1.4;
         color: var(--color-text-main);
         transition: color 0.8s ease;
		   text-align: justify;
		   font-variant-ligatures: no-common-ligatures; /* 念のためのリセット */
		 font-feature-settings: "palt";
		    text-spacing-trim: trim-start;

       }
       .wall-list i {
         color: var(--color-brand);
         font-size: 8px;
         margin-top: 10px;
         margin-right: 10px;
       }
       /* 原因エリア */
       .cause-section {
         padding: 0 0 80px;
         display: flex;
         flex-direction: column;
         align-items: center;
         background-color: transparent;
       }
       .scroll-line-anim {
         width: 5px;
         height: 60px;
         background-color: rgba(225, 29, 72, 0.2);
         position: relative;
         overflow: hidden;
         margin-bottom: 24px;
         transition: background-color 0.8s ease;
       }
       .scroll-line-anim::after {
         content: '';
         position: absolute;
         top: -100%;
         left: 0;
         width: 100%;
         height: 100%;
         background-color: var(--color-brand);
         animation: scrollLineDown 1.5s ease-in-out infinite;
         transition: background-color 0.8s ease;
       }
       @keyframes scrollLineDown {
         0% {
           top: -100%;
         }
         100% {
           top: 100%;
         }
       }
       .cause-title {
         font-size: 36px;
         font-weight: 800;
         color: var(--color-brand);
         letter-spacing: 0.05em;
         line-height: 1.4;
         text-align: center;
         transition: color 0.8s ease;
       }
       /* Dark Mode */
       body.is-dark {
         background-color: #050b14;
         color: #f8fafc;
       }
       body.is-dark .header {
         background-color: rgba(5, 11, 20, 0.95);
         border-bottom-color: #1e293b;
       }
       body.is-dark .header-title {
         color: #fff;
       }
       body.is-dark .header-btn {
         background-color: #fff;
         color: #000;
       }
       body.is-dark .wall-section .sec-title {
         color: #fff;
       }
       body.is-dark .wall-section .sec-title span.blue {
         color: #38bdf8;
       }
       body.is-dark .wall-card {
         background: #0f172a;
         border-color: #334155;
       }
       body.is-dark .wall-header {
         background: #050b14;
         color: #fff;
         border-bottom-color: #334155;
       }
       body.is-dark .wall-list li {
         color: #cbd5e1;
       }
       body.is-dark .scroll-line-anim {
         background-color: rgba(255, 255, 255, 0.1);
       }
       body.is-dark .scroll-line-anim::after {
         background-color: #38bdf8;
         box-shadow: 0 0 10px #38bdf8;
       }
       body.is-dark .cause-title {
         color: #fff;
         text-shadow: 0 4px 20px rgba(255, 255, 255, 0.5);
       }
       /* 働き方が変わる（ビフォーアフター E E*/
       .lifestyle-section {
         padding: 60px 0;
         background: linear-gradient(to bottom, var(--color-bg-gray) 0%, #fff0f5 100%);
         text-align: center;
         position: relative;
         z-index: 2;
       }
       .lifestyle-grid {
         display: grid;
         grid-template-columns: repeat(4, 1fr);
         gap: 22px;
         margin-top: 48px;
         text-align: left;
       }
       .lifestyle-card {
         background: #fff;
         border-radius: 10px;
         border: 1px solid var(--color-border);
         box-shadow: var(--shadow-sm);
         display: flex;
         flex-direction: column;
         height: 100%;
         overflow: hidden;
       }
       .ls-header {
         background: var(--color-bg-gray);
         padding: 16px;
         text-align: center;
         font-weight: 700;
         font-size: 20px;
         border-bottom: 1px solid var(--color-border);
         min-height: 56px;
         display: flex;
         align-items: center;
         justify-content: center;
		   line-height: 1.2;
       }
       .ls-before {
         padding: 15px 20px 30px;
         flex-shrink: 0;
		 font-variant-ligatures: no-common-ligatures; /* 念のためのリセチE   */
		 font-feature-settings: "palt";
		 text-spacing-trim: trim-start;
		 text-align: justify;
		   display: flex;
    flex-direction: column;
    align-items: center;
	min-height: 150px;
       }
       .ls-badge-before {
         background: #94a3b8;
         color: #fff;
         font-size: 14px;
         font-weight: 700;
         padding: 2px 10px;
         border-radius: 100vmax;
         margin-bottom: 5px;
         display: block;
		 text-align: center;
		   width: 60%;
       }
       .ls-text-before {
         font-weight: 600;
         color: var(--color-text-light);
		   line-height: 1.5;
       }
       .ls-arrow-wrap {
         position: relative;
         height: 0;
         z-index: 2;
         text-align: center;
       }
       .ls-arrow {
         display: inline-flex;
         align-items: center;
         justify-content: center;
         width: 32px;
         height: 32px;
         background: #fff;
         color: var(--color-brand);
         border-radius: 50%;
         box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
         transform: translateY(-50%);
       }
       .ls-after {
         background: var(--color-brand-light);
         padding: 40px 24px 24px;
         flex-grow: 1;
         border-top: 1px solid #fda4af;
         display: flex;
  		flex-direction: column;
  		align-items: center;
		   font-variant-ligatures: no-common-ligatures;
  font-feature-settings: "palt";
  text-align: justify;
       }
       .ls-badge-after {
         background: var(--color-brand);
          color: #fff;
         font-size: 14px;
         font-weight: 700;
         padding: 2px 10px;
         border-radius: 100vmax;
         margin-bottom: 10px;
         display: block;
		 text-align: center;
		   width: 60%;
       }
       .ls-img-after-wrap {
         width: 100%;
         aspect-ratio: 16/9;
         margin-bottom: 16px;
         border-radius: 4px;
         overflow: hidden;
         background-color: #e2e8f0;
         display: flex;
         align-items: center;
         justify-content: center;
         color: #94a3b8;
         font-weight: bold;
       }
       .ls-text-after {
         font-weight: 800;
         color: var(--color-brand-dark);
         font-size: 16px;
         margin-top: auto;
		   line-height: 1.5;
       }
       /* ロゴセクション */
       .logo-section {
         background-color: #fff;
         padding: 40px 0 60px;
         position: relative;
         z-index: 2;
         overflow: hidden;
       }
       .logo-title-simple {
         text-align: center;
         font-size: 24px;
         font-weight: 800;
         color: var(--color-text-main);
         margin-bottom: 32px;
         letter-spacing: 0.05em;
       }
       .logo-title-simple .minion-number {
         font-size: 32px;
         font-weight: 800;
         color: var(--color-text-main);
         margin-right: 2px;
       }
       .marquee-container {
         width: 100%;
         overflow: hidden;
         display: flex;
         margin-top: 10px;
       }
       .marquee-track {
         display: flex;
         gap: 16px;
         padding: 0 8px;
         width: max-content;
         animation: marquee 25s linear infinite;
       }
       .marquee-track:hover {
         animation-play-state: paused;
       }
       @keyframes marquee {
         0% {
           transform: translateX(0);
         }
         100% {
           transform: translateX(calc(-50% - 8px));
         }
       }
       .logo-item {
         background: #e2e8f0;
         border-radius: 8px;
         padding: 12px 24px;
         display: flex;
         align-items: center;
         justify-content: center;
         width: 160px;
         height: 60px;
         flex-shrink: 0;
         overflow: hidden;
         color: #64748b;
         font-weight: bold;
       }
       .logo-section .top-corplogo-track {
         display: flex;
         width: max-content; /* ↁEこれを追加 */
         animation: top-corplogo-scroll 50s linear infinite;
       }
       .logo-section .top-corplogo-list {
         display: flex;
         list-style: none;
         margin: 0;
         padding: 0;
         gap: 5px;
         align-items: center;
         flex-shrink: 0;
         padding-right: 5px; /* ↁEulの末尾にgapと同じ幁E  追加 */
       }
       .logo-section .top-corplogo-list li {
         flex-shrink: 0;
       }
       .logo-section .top-corplogo-list li img {
         width: 80%;
         height: auto;
       }
       @keyframes top-corplogo-scroll {
         0% {
           transform: translateX(0);
         }
         100% {
           transform: translateX(-50%);
         }
       }
       /* 講座リスチE*/
       .courses-section {
         background: #fff;
         padding: 60px 0;
       }
       /*
.courses-section .container{
	width: 100%;
}
*/
       .swipe-hint-text {
         text-align: center;
         color: var(--color-brand);
         font-size: 20px;
         font-weight: 700;
         margin: 15px 0 30px;
         display: flex;
         align-items: center;
         justify-content: center;
         gap: 20px;
         letter-spacing: 0;
       }
		.swipe-hint-text i{
			margin-top: 4px;
}
       .course-list {
         display: flex;
         gap: 32px;
         overflow-x: auto;
         scroll-snap-type: x mandatory;
         margin: 0 calc(50% - 50vw);
         padding: 0 calc(50vw - 50% + 20px) ;
         -webkit-overflow-scrolling: touch;
         scrollbar-width: none;
       }
       .course-list::-webkit-scrollbar {
         display: none;
       }
       .course-card {
         background: #fff;
         border: 1px solid var(--color-border);
		border-radius: 10px;
         padding: 0;
         box-shadow: var(--shadow-sm);
         transition: var(--transition-base);
		  
         display: flex;
         flex-direction: column;
         overflow: hidden;
         height: auto;
         min-width: 400px;
         width: 400px;
         flex-shrink: 0;
         scroll-snap-align: center;
         position: relative;
		   
       }
       /* 上部のグラチE Eションライン (ホバー時も消えなぁE  ブルー系グラチE Eション) */
       .course-card::before {
         content: '';
         position: absolute;
         top: 0;
         left: 0;
         width: 100%;
         height: 6px;
         background: linear-gradient(to right, var(--color-blue-main), var(--color-blue-dark));
         z-index: 10;
         transition: opacity 0.3s ease;
       }
       /* ホバー時 E全体 E枠線を青くし、シャドウを濁E  して浮かせめE*/
       .course-card:hover {
         border-color: var(--color-blue-main);
         box-shadow: var(--shadow-md);
         transform: translateY(-4px);
       }
       .c-img-wrap {
         width: 100%;
         background: #fff;
         border-bottom: 1px solid var(--color-border);
         padding: 30px 24px;
         display: flex;
         align-items: center;
         justify-content: center;
         flex-shrink: 0;
       }
       .c-course-name {
         font-size: 24px;
         font-weight: 800;
         color: #000;
         text-align: center;
         letter-spacing: 0.05em;
         line-height: 1.4;
         margin: 0;
       }
       .c-body {
         padding: 20px 25px;
         display: flex;
         flex-direction: column;
         flex-grow: 1;
       }
       .c-header {
         margin-bottom: 16px;
         min-height: 80px;
       }
       .c-title {
         font-size: 18px;
         font-weight: 800;
         margin-bottom: 12px;
         color: var(--color-blue-main);
         letter-spacing: 0.02em;
         line-height: 1.4;
		   text-align: center;
		   font-variant-ligatures: no-common-ligatures; /* 念のためのリセチE   */
		 font-feature-settings: "palt";
		    text-spacing-trim: trim-start;
       }
       .c-desc {
         font-size: 16px;
         color: var(--color-text-light);
         line-height: 1.6;
         font-weight: 500;
		   text-align: justify;
		   font-variant-ligatures: no-common-ligatures; /* 念のためのリセチE   */
		 font-feature-settings: "palt";
		    text-spacing-trim: trim-start; 		   
       }
       .c-grid {
         display: grid;
         grid-template-columns: 1fr;
         gap: 5px;
         margin-bottom: 10px;
		   align-items: stretch;
       }
       .c-box {
         background: var(--color-bg-gray);
         padding: 15px 20px;
         border-radius: 5px;
/*         border: 1px solid var(--color-border-light);*/
		 font-variant-ligatures: no-common-ligatures; /* 念のためのリセット */
		 font-feature-settings: "palt";
		 text-spacing-trim: trim-start;
		   min-height: 210px;
       }
		.c-grid .c-box:nth-of-type(1){
			min-height: 175px;
		}
       .c-box-title {
         font-size: 18px;
         font-weight: 700;
         margin-bottom: 10px;
         display: flex;
         align-items: center;
         letter-spacing: 0.05em;
       }
       .c-box-title.orange {
         color: var(--color-brand-dark);
       }
       .c-box-title.blue {
         color: var(--color-blue-main);
       }



 .fa-circle-check::before,.fa-list-check::before,.fa-clock::before{
	margin-right: 8px;
	 display: inline-block;
    transform: translateY(1px);
}
.fa-list-check::before{
	transform: translateY(2px);
}

       .c-list {
         list-style: none;
         padding: 0;
         margin: 0;
       }
       .c-list li {
         font-size: 16px;
         margin-bottom: 8px;
         display: flex;
         align-items: flex-start;
         color: var(--color-text-main);
         font-weight: 600;
         line-height: 1.3;
       }
       .c-list.orange li::before {
         content: '\f00c';
         font-family: 'Font Awesome 6 Free';
         font-weight: 900;
         color: var(--color-brand);
         margin-right: 8px;
         margin-top: 2px;
         font-size: 16px;
       }
       .c-list.blue li::before {
         content: '\f111'; 
         font-family: 'Font Awesome 6 Free';
         font-weight: 900;
         color: var(--color-blue-main);
         display: inline-block;
         font-size: 6px;     
         transform: translate(5px,8px) ;
		   margin-right: 18px;
       }
		.c-list li{
		font-size: 14px;
			}

       .c-list-more {
         font-size: 14px;
         font-weight: 800;
         color: var(--color-blue-main);
         text-align: right;
         margin-top: 10px;
         letter-spacing: 0.05em;
       }
       .c-footer {
         color: var(--color-text-light);
         text-align: left;
		 font-size: 18px;
         font-weight: 700;
         margin-bottom: 10px;
         display: flex;
         align-items: center;
         letter-spacing: 0.05em;
		   
       }
       /* サポ Eトセクション */
       .support-section {
         padding: 60px 0;
         background: var(--color-blue-light);
       }
       .support-panel {
         background: #fff;
         border-radius: 24px;
         overflow: hidden;
         box-shadow: var(--shadow-md);
       }
       .support-top {
         background: var(--color-blue-main);
         padding: 30px 30px 30px 60px;
         color: #fff;
         display: flex;
         align-items: center;
         gap: 40px;
       }
       .support-text-area {
         flex: 1;
       }
       .support-sub {
		 font-size: clamp(16px,4.4vw,20px);
         font-weight: 700;
         color: #e0f2fe;
         margin-bottom: 8px;
         letter-spacing: 0.05em;
		   line-height: 1.2;
       }
       .support-main-title {
         font-size: clamp(32px,8.8vw,50px);
         font-weight: 800;
         line-height: 1.2;
       }
   .support-main-title span{
         font-size: clamp(20px,5.5vw,35px);
       }
       .support-img-area {
         width: 40%;
         aspect-ratio: 16/8.5;
         background: #e2e8f0;
         border-radius: 12px;
         overflow: hidden;
         display: flex;
         align-items: center;
         justify-content: center;
         color: #94a3b8;
         font-weight: bold;
       }
       .support-bottom {
         padding: 40px 50px 60px;
         background: #f8fafc;
       }
       .support-grid {
         display: grid;
         grid-template-columns: 1fr 1fr;
         gap: 40px;
       }
       .support-item {
         text-align: center;
       }
       .support-badge {
         display: inline-block;
         background: var(--color-blue-dark);
         color: #fff;
         font-weight: 700;
         padding: 6px;
         border-radius: 50px;
         margin-bottom: 10px;
		 width: 80%;
       }
       .support-item-img-wrap {
         aspect-ratio: 16/10;
         width: 100%;
         border-radius: 5px;
         border: 1px solid var(--color-border);
         margin-bottom: 16px;
         background: #e2e8f0;
         overflow: hidden;
         display: flex;
         align-items: center;
         justify-content: center;
         color: #94a3b8;
         font-weight: bold;
       }
       .lesson-style-title {
         text-align: center;
         font-size: 28px;
         font-weight: 800;
         color: var(--color-blue-main);
         margin: 60px 0 20px;
       }
       .lesson-grid {
         display: grid;
         grid-template-columns: repeat(3, 1fr);
         gap: 32px;
       }
       .lesson-card {
         background: #fff;
         border-radius: 10px;
         overflow: hidden;
         text-align: center;
         border: 1px solid var(--color-border);
         box-shadow: var(--shadow-sm);
         transition: var(--transition-base);
         display: flex;
         flex-direction: column;
       }
       .lesson-card.highlight {
         border: 4px solid rgba(14, 165, 233, 0.3);
         box-shadow: 0 10px 30px rgba(14, 165, 233, 0.15);
         transform: translateY(-4px);
       }
       .lesson-img {
         height: 180px;
         background: #e2e8f0;
         display: flex;
         align-items: center;
         justify-content: center;
         color: #94a3b8;
         font-weight: bold;
       }
		.lesson-img img{
			width: 100%;
			height: auto;
		}
       .lesson-body {
         padding: 24px;
         flex-grow: 1;
         display: flex;
         flex-direction: column;
         justify-content: center;
       }
       .lesson-type {
         display: inline-block;
         font-size: 16px;
         font-weight: 700;
         color: #fff;
         background: var(--color-blue-main);
         padding: 4px 16px;
         border-radius: 50px;
         margin-bottom: 5px;
       }
       .lesson-name {
         font-size: 24px;
         font-weight: 800;
         color: var(--color-text-main);
       }
       /* メリチE  ・琁E  ・FAQ */
       .merit-section {
         background-color: var(--color-bg-gray);
         padding: 60px 0 80px;
       }
       .merit-title {
         text-align: center;
         font-size: 32px;
         font-weight: 800;
         margin-bottom: 30px;
         color: var(--color-text-main);
       }
       .merit-title span {
         color: var(--color-brand);
       }
       .merit-grid {
         display: grid;
         grid-template-columns: repeat(3, 1fr);
         gap: 32px;
         max-width: 1000px;
         margin: 0 auto;
       }
       .merit-card {
         background: #fff;
         border: 1px solid var(--color-border-light);
         border-radius: var(--border-radius-sm);
         padding: 35px 0 20px;
         text-align: center;
         position: relative;
         box-shadow: var(--shadow-sm);
       }
       .merit-badge {
         position: absolute;
         top: -16px;
         left: 50%;
         transform: translateX(-50%);
         background: var(--color-brand);
         color: #fff;
         font-size: 16px;
         font-weight: 700;
         padding: 6px 20px;
         border-radius: 20px;
         white-space: nowrap;
         letter-spacing: 0.05em;
		   width: 80%;
       }
       .merit-card-title {
         font-size: 22px;
		font-weight: 800;
		line-height: 1.2;
         color: var(--color-text-main);
       }
       .bonus-banner-wrap {
         margin-top: 50px;
         text-align: center;
       }
       .bonus-banner-img {
         max-width: 900px;
         width: 100%;
         aspect-ratio: 4/1;
         margin: 0 auto;
         border-radius: 12px;
         /*		   background-color: #e2e8f0;*/
         background-color: #fff;
         border: 1px dashed var(--color-border);
         display: flex;
         align-items: center;
         justify-content: center;
         font-size: 20px;
         font-weight: 800;
         color: var(--color-text-light);
         letter-spacing: 0.05em;
       }
       .reason-section {
         position: relative;
         padding: 60px 0;
         background-color: #1e293b;
         color: #fff;
         text-align: center;
       }
       .reason-title {
         font-size: 36px;
         font-weight: 800;
         margin-bottom: 30px;
         letter-spacing: 0.05em;
         color: #f8fafc;
       }
       .reason-content p {
         font-size: 16px;
         line-height: 1.5;
         margin-bottom: 25px;
         font-weight: 500;
         letter-spacing: 0.03em;
         color: #cbd5e1;
       }
       .reason-highlight {
         color: #38bdf8 !important;
         font-size: 20px !important;
         font-weight: 700 !important;
         margin-top: 40px;
         text-shadow: 0 0 20px rgba(56, 189, 248, 0.3);
       }
       .faq-section {
         background-color: var(--color-blue-light);
         padding: 60px 0;
       }
       .faq-title {
         text-align: center;
         font-size: 32px;
         font-weight: 800;
         margin-bottom: 30px;
         color: var(--color-text-main);
       }
       .faq-list {
         max-width: 800px;
         margin: 0 auto;
         display: flex;
         flex-direction: column;
         gap: 20px;
       }
       .faq-item {
         background: #fff;
         border-radius: var(--border-radius-sm);
         padding: 32px;
         box-shadow: var(--shadow-sm);
       }
       .faq-row {
         display: flex;
         align-items: flex-start;
         gap: 20px;
       }
       .faq-q {
         margin-bottom: 20px;
       }
       .faq-icon {
         width: 32px;
         height: 32px;
         border-radius: 50%;
         display: flex;
         align-items: center;
         justify-content: center;
         font-size: 16px;
         font-weight: 800;
         flex-shrink: 0;
       }
       .faq-icon.q {
         background: var(--color-blue-light);
         color: var(--color-blue-main);
       }
       .faq-icon.a {
         background: var(--color-brand-light);
         color: var(--color-brand);
       }
       .faq-text {
         font-size: 16px;
         font-weight: 800;
         color: var(--color-text-main);
         margin-top: 4px;
         line-height: 1.5;
         text-align: justify;
         font-variant-ligatures: no-common-ligatures; /* 念のためのリセチE   */
         font-feature-settings: "palt";
         text-spacing-trim: trim-start;
       }
       .faq-a .faq-text {
         font-weight: 500;
         color: var(--color-text-light);
         line-height: 1.6;
         font-size: 15px;
         text-align: justify;
         font-feature-settings: "palt";
       }
       .footer {
         background: #0f172a;
         color: #fff;
         padding: 60px 0;
         text-align: center;
         font-size: 13px;
		   font-weight: 500;
		   line-height: 1;
       }
       .floating-cta {
         position: fixed;
         bottom: 0;
         left: 0;
         width: 100%;
         z-index: 99;
         background: rgba(255, 255, 255, 0.95);
         backdrop-filter: blur(10px);
         border-top: 1px solid var(--color-border);
         padding: 16px 20px;
         text-align: center;
         transform: translateY(100%);
         animation: slideUp 0.5s ease forwards 0.5s;
         display: flex;
         flex-direction: column;
         align-items: center;
       }
       @keyframes slideUp {
         to {
           transform: translateY(0);
         }
       }
       .floating-cta .btn-cta-primary {
         width: 100%;
         max-width: 50vw;
         padding: 15px;
         font-size: 22px;
		   border-radius: 100vmax;
       }
.floating-cta .btn-cta-primary a{
	display: block;
	width: 100%;
	height: auto;
}


       /* レスポンシブ対忁E*/
       @media (max-width: 1024px) {
         .badge-main {
           font-size: 20px;
         }

         .empathy-visual-area {
           height: 360px;
         }
         .bubble {
           transform: scale(0.8);
         }
         .course-list {
           gap: 24px;
         }
         .c-course-name {
           font-size: 22px;
         }
         .c-title {
           font-size: 18px;
           min-height: auto;
         }
       }
       @media (max-width: 767px) {
         .sp-only {
           display: block;
         }
         .pc-only {
           display: none;
         }
         .sec-title {
           font-size: 28px;
         }
         .header-btn {
           display: none;
         }
         .fv-section {
           padding: 0;
           min-height: 400px;
           align-items: flex-end;
         }
         .fv-video-bg {
           position: absolute;
           top: 0;
           left: 0;
           width: 100%;
           height: 100%;
         }
/*
         .fv-video-bg .fv-video {
           width: 100%;
           height: 100%;
           object-fit: cover;
           position: absolute;
           top: 0;
           left: 0;
         }
*/
		   
		   
		   
         .fv-content-wrapper {
           flex-direction: column;
         }
		   
		 .fv_gmo_logo{
			width: 45%;
			min-width: 170px;
  			top: -175px; 
			 right: 1%;
		}
		.fv_gmo_logo img{
			width: 130px;
			margin: 0 auto 10px;
		}
		.fv_gmo_logo p {
			font-size: clamp(10px,2.8vw,16px);
			line-height: 1.2;
			font-weight: 700;
		}
         .fv-text-side {
           width: 100%;
           padding-top: 30px;
           text-align: left;
         }
         .fv-sub-copy {
           text-align: left;
           margin-bottom: 5px;
           font-size: 16px;
           line-height: 1.2;
         }
         .fv-main-copy {
           margin-bottom: 16px;
			 filter: drop-shadow(0px 0px 15px rgba(255, 255, 255, 0.9)) 
         }
         .fv-main-copy .line-1, .fv-main-copy .line-3 {
           font-size: clamp(30px, 8vw, 50px);
         }
         .fv-main-copy .line-2 {
           font-size: clamp(40px, 10.5vw, 60px);
         }
         .fv-cta-wrapper {
           text-align: left;
           margin-top: 16px;
         }
         .btn-fv-scroll {
           font-size: 18px;
           padding: 12px 24px;
			 line-height: 1;
         }
		  .fa-arrow-down{
			margin-left: 10px;
			transform: translateY(2px);
			color: var(--color-blue-main);
}
         .fv-badge-side {
           right: 3%;
           top: -20px;
         }
         .fv-graduate-badge {
           width: 100px;
           height: 100px;
           border: none;
         }
         .badge-main {
           font-size: 16px;
         }
         .fv-persona-belt {
           padding: 30px 0 0;
         }
         .persona-cards {
           display: flex;
           overflow-x: auto;
           scroll-snap-type: x mandatory;
           gap: 12px;
           padding: 0 20px 10px;
         }
         .persona-cards::-webkit-scrollbar {
           display: none;
         }
         .p-card {
           min-width: 220px;
           scroll-snap-align: center;
         }
		.investigation{
			width: 90%;
			margin: 20px auto;

}  
		 
         .p-img-box {
           height: 120px;
         }
         .p-text-box {
           padding: 12px;
         }
         .empathy-section {
           padding: 40px 0 40px;
         }
         .empathy-header-main {
           font-size: 28px;
           margin-bottom: 10px;
         }
         .empathy-visual-area {
           height: 420px;
           max-width: 100%;
           margin: 0 auto;
         }
         .empathy-center-img {
           width: 160px;
         }
         .bubble-1 {
           width: 100px;
           height: 100px;
           top: 0;
           left: 0;
           font-size: 12px;
         }
         .bubble-2 {
           width: 110px;
           height: 110px;
           top: 35%;
           left: 0;
           font-size: 12px;
         }
         .bubble-3 {
           width: 100px;
           height: 100px;
           bottom: 0;
           left: 10%;
           font-size: 12px;
         }
         .bubble-4 {
           width: 100px;
           height: 100px;
           top: 0;
           right: 0;
           font-size: 12px;
         }
         .bubble-5 {
           width: 120px;
           height: 120px;
           top: 35%;
           right: 0;
           font-size: 14px;
         }
         .bubble-6 {
           width: 100px;
           height: 100px;
           bottom: 0;
           right: 10%;
           font-size: 12px;
         }
         .swipe-container {
           display: flex;
           overflow-x: auto;
           scroll-snap-type: x mandatory;
           gap: 16px;
           margin: 30px -20px 0;
           padding: 0 20px 20px;
           -webkit-overflow-scrolling: touch;
           scrollbar-width: none;
         }
		   .lifestyle-section{
			   padding: 40px 0 0;
		   }
		  .lifestyle-section .ls-before{
			   height: auto;
		   }
		   .ls-header{
			   font-size: 16px;
		   }
		   
         .swipe-container::-webkit-scrollbar {
           display: none;
         }
         .wall-card, .lifestyle-card {
           min-width: 280px;
           width: 280px;
           flex-shrink: 0;
           scroll-snap-align: center;
			 border-radius: 8px
         }
         .wall-section {
           padding-top: 20px;
			  padding-bottom: 0;
         }
		   .wall-body{
			   padding: 15px;
			   min-height: 190px;
		   }
         .cause-section {
           padding-bottom: 40px;
         }
         .cause-title {
           font-size: 28px;
         }
         .logo-title-simple {
           font-size: 20px;
         }
         .logo-title-simple .minion-number {
           font-size: 26px;
         }
         .logo-section .top-corplogo-track {
           margin-bottom: 20px;
         }
         .logo-section .top-corplogo-track-r {
           display: flex;
           width: max-content; /*  ↁEこれを追加 */
           animation: top-corplogo-scroll 50s linear infinite reverse;
         }
         .logo-section .top-corplogo-track-r .logo-section .reverse {
           display: flex;
           list-style: none;
           margin: 0;
           padding: 0;
           gap: 5px;
           align-items: center;
           flex-shrink: 0;
           padding-right: 5px; /* ↁEulの末尾にgapと同じ幁E  追加 */
         }
         .logo-section li {
           flex-shrink: 0;
           width: 25vw;
         }
         .logo-section .reverse li img {
           width: 80%;
           height: auto;
         }
         /*
	 @keyframes top-corplogo-scroll-reverse {
  				0%   { transform: translateX(-50%); }
  				100% { transform: translateX(0); }
				}
		   
*/
		   
		 .courses-section{
			 padding: 0 0 20px;  
			
		   }
		   .swipe-hint-text{
			   font-size: 16px;
			   margin: 10px auto 20px;
		   }
         .course-list {
           gap: 16px;
           padding-bottom: 24px;
         }
         .course-card {
           min-width: 300px;
           width: 300px;
           scroll-snap-align: center;
         }
		   
		   
         .c-img-wrap {
           padding: 20px 10px 15px;
         }
		 .c-desc{
			   font-size: 14px;
			 height: 90px;
		   }
         .c-course-name {
           font-size: 22px;
         }
		   .support-section{
			   padding: 40px 0;
		   }
		   .support-panel{
			   border-radius: 10px;
		   }
         .support-top {
           flex-direction: column;
           padding: 30px 0;
           text-align: center;
         }
		 .c-body{
			 padding: 15px 15px 20px;  
		   }
		   .c-grid .c-box{
			   padding: 10px 15px 10px 10px;
		   }
		.c-grid .c-box:nth-of-type(1){
			min-height: 150px;
		}
		.c-grid .c-box:nth-of-type(2){
			   min-height: 210px;
		   }
		   .c-footer{
			   margin-bottom: 0;
		   }
         .support-img-area {
           width: 100%;
         }
         .support-bottom {
           padding: 30px 20px;
         }
		  .support-badge{
			   padding: 3px;	
			  margin-bottom: 5px;
		   }
		 .support-item-img-wrap{
			   margin-bottom: 5px;
		   }
		  .support-item p{
			font-size: 14px;
			text-align: justify;
			font-variant-ligatures: no-common-ligatures; /* 念のためのリセット */
			font-feature-settings: "palt";
		    text-spacing-trim: trim-start;
		   }

		   .lesson-style-title{
			   margin-top: 30px;
			   font-size: clamp(27px,0.75vw,33px);
			   line-height: 1.2;
		   }
         .support-grid {
           grid-template-columns: 1fr;
           gap: 32px;
         }
         .lesson-grid {
           grid-template-columns: 1fr 1fr;
           gap: 16px;
         }
		   .lesson-card{
			   border-radius: 10px;
		   }
		   
		   
         .lesson-card:nth-child(1) {
           order: 1;
         }
         .lesson-card:nth-child(2) {
           order: 3;
           grid-column: 1 / -1;
           margin-top: 8px;
         }
         .lesson-card:nth-child(3) {
           order: 2;
         }
         .lesson-img {
           height: 120px;
         }
         .lesson-card.highlight {
           transform: none;
           border-width: 3px;
           box-shadow: 0 8px 25px rgba(14, 165, 233, 0.2);
         }
         .lesson-card:nth-child(2) .lesson-img {
           height: 170px;
			 margin-bottom: 35px;
         }
         .lesson-card:nth-child(2) .lesson-name {
           font-size: 20px;
         }
		   .lesson-grid .lesson-card:nth-of-type(1),.lesson-grid .lesson-card:nth-of-type(3){
			   border-radius: 8px
		   }
		 .lesson-grid .lesson-card:nth-of-type(1) .lesson-img,.lesson-card:nth-of-type(3) .lesson-img{
			   height: 85px;
			 margin-bottom: 20px;
		   }
		   .lesson-grid .lesson-card:nth-of-type(1) .lesson-body,.lesson-card:nth-of-type(3) .lesson-body{
			padding: 0 5px 15px;
			   justify-content: flex-start;
		   }
		   .lesson-grid .lesson-card:nth-of-type(1) .lesson-type,.lesson-card:nth-of-type(3) .lesson-type{
				font-size: 11px;
			   padding: 5px 0;
			   line-height: 1;
			   margin-bottom: 2px;
		   }
		  .lesson-grid .lesson-card:nth-of-type(1) .lesson-name,.lesson-card:nth-of-type(3) .lesson-name{
			font-size: 16px;
		   }
		   .lesson-grid .lesson-card:nth-of-type(2) .lesson-body {
			   padding: 0 20px 20px;
		   }
		.merit-section{
			   padding: 25px 0 40px;
		   }
		   .merit-section .container{
			   padding: 0 15px;
		   }
		   
		   .merit-section .merit-badge{
			   font-size: 14px;
			   line-height: 1;
			   padding: 8px 0;
			   border-radius: 100vmax;
		   }
		   .merit-card{
			   border-radius: 5px;
			   padding: 20px 0 15px;
			   width: 90%;
			   margin: 0 auto ;
		   }
		   .merit-card-title{
			   font-size: 18px;
		   }
		   
         .merit-grid {
           grid-template-columns: 1fr;
           gap: 28px;
         }
		   .bonus-banner-wrap{
			   margin-top: 20px;
		   }
		   .bonus-banner-img{
			   border-radius: 5px;
			   padding: 4px 5px;
		   }
		   

		   .reason-section{
			   padding: 30px 0 40px;
		   }
		   
         .reason-title {
           font-size: clamp(24px,6.6vw,36px);
			 margin: 0;
         }
		   
         .reason-content p {
           font-size: 14px;
           padding: 0 20px;
           font-variant-ligatures: no-common-ligatures; /* 念のためのリセット */
           font-feature-settings: "palt";
           text-spacing-trim: trim-start;
           text-align: justify;
			 margin: 20px 0 0;
         }
		   .faq-section{
			   padding: 30px 0;
		   }
		   .faq-list{
			   gap: 10px;
		   }
		   .faq-title{
			   margin-bottom: 15px; 
		   }
		  .faq-item {
           padding: 10px 20px 20px 10px;
         }
		  .faq-row{
			 gap: 10px;
		   }
		  .faq-q {
	        margin-bottom: 10px;
		   }
		   .footer{
			 padding: 40px 0;
		   }
         .floating-cta .btn-cta-primary {
           width: 100%;
           max-width: 90vw;
           padding: 12px 0;
			 font-size: 22px;
         }

		   .fa-arrow-right{
			   margin-top: 5px;
		   }
		   .fa-arrow-right::before{
			   margin-left: 10px;
			   transform: translateY(2px);
		   }
       }