/* ===============================
 CSS Reset / Initialization
 =============================== */

:root {
  /* フォントサイズ（10px〜60px） */
  --fs-9: 0.5625rem;  /* 9px */
  --fs-10: 0.625rem;  /* 10px */
  --fs-12: 0.75rem;   /* 12px */
  --fs-14: 0.875rem;  /* 14px */
  --fs-16: 1rem;      /* 16px */
  --fs-17: 1.0625rem; /* 17px */
  --fs-18: 1.125rem;  /* 18px */
  --fs-20: 1.25rem;   /* 20px */
  --fs-21: 1.3125rem; /* 21px */
  --fs-22: 1.375rem;  /* 22px */
  --fs-24: 1.5rem;    /* 24px */
  --fs-25: 1.5625rem; /* 25px */
  --fs-26: 1.625rem;  /* 26px */
  --fs-27: 1.6875rem; /* 27px */
  --fs-28: 1.75rem;   /* 28px */
  --fs-30: 1.875rem;  /* 30px */
  --fs-32: 2rem;      /* 32px */
  --fs-36: 2.25rem;   /* 36px */
  --fs-40: 2.5rem;    /* 40px */
  --fs-48: 3rem;      /* 48px */
  --fs-50: 3.125rem;  /* 50px */
  --fs-51: 3.1875rem; /* 51px */
  --fs-52: 3.25rem;   /* 52px */
  --fs-53: 3.3125rem; /* 53px */
  --fs-54: 3.375rem;  /* 54px */
  --fs-55: 3.4375rem; /* 55px */
  --fs-56: 3.5rem;    /* 56px */
  --fs-60: 3.75rem;   /* 60px */

  --color-main:    #006FA1;  /* メイン */
  --color-sub:     #00A2CA;  /* サブ */
  --color-bg:      #D2F1F8;  /* 背景 */
  --color-bg2:     #ABE3F2;  /* 背景2 */
  --color-bg-gray: #F8F8F8;  /* 背景gray */
  --color-white:   #ffffff;  /* 白 */
}


/* 1. 全要素のデフォルトマージン/パディングを除去 */
*,
*::before,
*::after { margin: 0; padding: 0; box-sizing: border-box; }

/* 2. HTML5 要素をブロック要素として扱う（古いブラウザ対応用） */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section { display: block; }

/* 3. body の基本スタイル */
body { line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased; /* iOS の文字拡大を防止 */ 
  -moz-osx-font-smoothing: grayscale; /* Macでのフォント補正 */
  text-rendering: optimizeLegibility;
  font-family: sofia-pro, system-ui, sans-serif;
  font-size: var(--fs-16);
}

/* 4. 見出し・段落・リストの初期化 */
h1, h2, h3, h4, h5, h6,
p, blockquote, figure, dl, dd { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }

/* 5. a 要素 */
a { background-color: transparent; color: inherit; text-decoration: none; cursor: pointer; transition:.3s; }
a:hover { text-decoration: none; outline: none; opacity:.6; }

/* 6. メディア要素 */
img, picture, video, canvas, svg { max-width: 100%; height: auto; vertical-align:top; }
picture, picture img, video, canvas, svg { display: block; }

/* 7. フォーム要素 */
button, input, select, textarea { margin: 0; font: inherit; color: inherit; border: none; background: none; outline: none; }
button { cursor:pointer; }
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible { outline: 2px solid #2684ff; outline-offset: 2px; }

/* 8. テーブル */
table  order-collapse: collapse; border-spacing: 0; width: 100%; }
th, td { text-align: left; font-weight: normal; vertical-align: middle; }

/* 9. 引用 */
blockquote, q { quotes: none; }
blockquote::before, blockquote::after,
q::before, q::after { content: ''; }

/* 10. 隠し要素（スクリーンリーダー対応の sr-only パターン） */
[hidden]  isplay: none !important; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }


/* 汎用設定 */
.sp { display:none; }
.pc { display:block; }
.lang_select { width:200px; margin:0 auto; }
.goog-te-gadget-simple { width:100%; padding: 6px 10px !important; border: none !important; border-radius:10px; }
.goog-te-gadget-simple * { font-family: sofia-pro, system-ui, sans-serif; }
.lang_select .goog-te-combo {
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 14px;
  cursor: pointer;
}

/* スクロール解除 */
body.no-scroll { overflow: hidden; height: 100vh; touch-action: none; }
html:target { scroll-behavior: auto; }


/* スキップリンク */
.skip-link { position: absolute; top: -40px; left: 0; background: #000; color: #fff; padding: 8px 12px; z-index: 100; text-decoration: none; transition: top 0.2s; }
.skip-link:focus { top: 0; }


/* タブ切り替え */
.tab-panels { position: relative; transition: height 0.4s ease; /* 高さもスムーズに */ overflow: hidden; }
.tab-panel { opacity: 0; visibility: hidden; position: absolute; top: 0; left: 0; right: 0; transition: opacity 0.4s ease, visibility 0s linear 0.4s; }
.tab-panel.active { opacity: 1; visibility: visible; position: relative; transition: opacity 0.4s ease; }
.tab-panels.no-transition,
.tab-panels.no-transition * { transition: none !important; }
.overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.8); display: flex; justify-content: center; align-items: center; opacity: 0; visibility: hidden; transition: opacity 0.4s ease; z-index: 9999; }
.overlay.active { opacity: 1; visibility: visible; }
.overlay .content { max-width: 90%; width: 800px; }
.overlay iframe { width: 100%; height: 450px; border: none; }
.overlay .close { position: absolute; top: 20px; right: 20px; background: #fff; border: none; padding: 10px 15px; font-size: 18px; cursor: pointer; border-radius: 4px; }


/* header */
.header { width: 280px; height: 100%; position:fixed; right:0; top:0; overflow-y:auto; background-color: var(--color-sub); box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.3); z-index:2; }
.logo { padding: 30px 48px 0; background-color:var(--color-white); }
.logo picture { width:100%; height:auto; margin:0 auto; }

.nav_menu { display:none; }
.nav_global { background:url(../img/nav_ud_wh.png) no-repeat left top / 100% auto; padding:63px 0 40px; color:var(--color-white); }
.nav_global li a { padding: 11px 40px; display:block; font-size: var(--fs-20); font-weight:600 }
.nav_global li a:visited { color:var(--color-white); }
.nav_global li a::before { content:url(../img/icon_arrow.svg); position:relative; top:-3px; left: 0; margin-right:10px; transition:.3s; }
.nav_global li a:hover::before { left:-2px; margin-right:12px; }
.nav_global .bnr a { padding: 25px 20px; }
.nav_global .bnr a::before { content:initial; }


/* heading */
.hdg_1 { width:400px; height:auto; margin:0 auto 50px; }
.hdg_1::after { content:url(../img/svg_hdg.svg); display:block; text-align:center; margin-top:50px; line-height:23px; }
.hdg_2 { font-size: var(--fs-53); text-align:center; line-height:1.4; font-weight:bold; color: var(--color-main); margin-bottom:50px; }
.hdg_2::after { content:url(../img/svg_hdg.svg); display:block; text-align:center; margin-top:50px; line-height:23px; }
.hdg_sub { display: block; font-size: var(--fs-30); color: var(--color-sub); }
.hdg_3 { font-size: var(--fs-27); color: var(--color-main); margin-bottom:10px; }


/* txt */
.lead { font-size: var(--fs-24); text-align:center; }
.caption { font-size: var(--fs-16); color:var(--color-main); }
.caption_name { font-size: var(--fs-16); text-align:right; }


/* movie */
.movie { max-width:700px; margin:50px auto 40px; }
.movie iframe { aspect-ratio: 16 / 9; width:700px; height:394px; border-radius:10px; }


/* layout */
.base { width:calc(100% - 280px) }
.base p { line-height:2; }
.lyt { display:flex; justify-content:space-between; }


/* mv */
.mv { position:relative; }
.mv::after { position: absolute; left: 0; bottom: -1px; content:""; display: block; width: 100%; height: 15vw; background:url(../img/pc_mv_ud_wh.png) no-repeat left bottom / 100% auto; z-index:100; }


/* contents */
.Story .hdg_2::after { content:initial; }
.Story .inner { background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,1) 29%,rgba(210,241,248,1) 100%); }
.Story .inner_s { max-width:1100px; margin:0 auto; }
.Story .lyt { gap:50px; padding:0 50px; }
.Story .lyt p { font-size: var(--fs-22); font-weight:400; }
.Story .lyt p b { display: block; font-size: var(--fs-28); font-weight: 1000; color:var(--color-main); margin-top:10px; }
.Story::after { content:""; display: block; background: url(../img/pc_mv_ud.png) no-repeat left bottom / 100% auto; width:100%; aspect-ratio: 1290 / 678; }


.Activity { padding:0 20px; }
.Activity { max-width:1180px; margin:0 auto; }
.Activity p + p { margin-top:40px; }
.Activity .nav_change { max-width:1100px; margin:0 auto 40px; padding:0 50px; }
.Activity .nav_change button { transition:.3s; }
.Activity .nav_change button:hover { text-decoration: none; outline: none; opacity:.6; }
.Activity .nav_change .col { width:32%; }
.Activity .nav_change .col button { display: block; width: 100%; position: relative; font-weight: bold; line-height:1rem; transition:0.3s; text-align:center; background-color:var(--color-bg-gray); font-size: var(--fs-20); border-radius:5px; padding:20px 0 38px; box-shadow: 0px 2px 8px 0px #dddddd;}
.Activity .nav_change .col button::after { content: ""; position: absolute; left: calc(50% - 5px); bottom: 12px; transform: translateY(-50%); width: 0; height: 0; border-top: 10px solid var(--color-sub); border-left: 5.5px solid transparent; border-right: 5.5px solid transparent; transition:0.3s; }
.Activity .nav_change .col.active button { width: 100%; background-color:var(--color-sub); color:var(--color-white); padding:28px 0 30px; }
.Activity .nav_change .col.active button::after { bottom: -14px; }
.Activity .caption { font-size: var(--fs-16); color:var(--color-main); }
.Activity .movie { margin-bottom:0; }

  /**/
  .Project::after { content:""; display: block; width: 100%; aspect-ratio: 1180 / 440; background:url(../img/pc_img_ft_project.jpg) no-repeat left bottom / 100% auto; }
  .Project .inner { background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,1) 27%,rgba(210,241,248,1) 64%,rgba(210,241,248,1) 100%); padding:0 40px 30px; }

  .Action::after { content:""; display: block; width: 100%; aspect-ratio: 1180 / 440; background:url(../img/pc_img_ft_action.jpg) no-repeat left bottom / 100% auto; }
  .Action .inner { background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,1) 27%,rgba(210,241,248,1) 64%,rgba(210,241,248,1) 100%); padding:0 0 30px; }
  .Action .list { max-width:890px; margin:70px auto 0; padding: 0 40px; }
  .Action .lyt { gap:50px; }
  .Action .lyt.re { flex-direction: row-reverse; }
  .Action .lyt + .lyt { margin-top:40px; }
  .Action .lyt .ph { width:50%; }
  .Action .col { width:44%; position:relative; padding-top:1px; }
  .Action .col .num { display:inline-block; width:30px; padding: 13px 0 17px; line-height: 0; border-radius:50%; text-align:center; font-size: var(--fs-24); color:var(--color-white); background-color:var(--color-sub); margin-right:10px; position:relative; top:-2px; }
  .Action .col .txt_year { position: absolute; right: 0; top: 12px; color:var(--color-sub); font-size: var(--fs-16); }
  .Action .col p { text-align:left; font-size: var(--fs-20); line-height:1.5; }
  .Action .ph img { border-radius:10px; }

  .Hope::after { content:""; display: block; width: 100%; aspect-ratio: 1180 / 440; background:url(../img/pc_img_ft_hope.jpg) no-repeat left bottom / 100% auto; }
  .Hope .bg_wrap { background:url(../img/pc_img_top_hope.png) no-repeat var(--color-bg) left top / 100% auto; border-radius:20px 20px 0 0; margin-top:70px; }
  .Hope .inner { max-width:780px; margin: 0 auto; padding:clamp(100px, calc(29vw + 20px), 460px) 40px 0; }
  .Hope .inner p { text-align:left; }
  .Hope .img { max-width:600px; margin: 0 auto 70px; }
  /**/


.Sunshine { padding-top:120px; background:url(../img/pc_bg_sunshine.png) no-repeat center top 240px / 2500px auto; min-height:1700px; }
.Sunshine .logo { max-width:184px; margin:0 auto; padding:0; margin-top:40px; }
.Sunshine .nav_btn { position: relative; max-width: 900px; margin:100px auto 0; padding:0 30px; }
.Sunshine .nav_btn li { position: relative; transition:.3s; }
.Sunshine .nav_btn li::after { content:""; position:absolute; width:1px; height:210px; background-color:var(--color-main); transform:rotate(-30deg); }
.Sunshine .nav_btn li button { line-height: 0; position: relative; display:inline-block; padding:16px 70px 13px; background-color:var(--color-main); color:var(--color-white); font-size:var(--fs-24); border-radius:10px; }
.Sunshine .nav_btn li button::after { content:url(../img/icon_movie.png); position:relative; top:-2px; margin-left:8px; vertical-align: middle; }
.Sunshine .nav_btn li:hover { opacity:.6; }
.Sunshine .nav_btn .vn { margin-bottom: 200px; }
.Sunshine .nav_btn .vn::after { left: 160px; top:35px; }
.Sunshine .nav_btn .ja { float:right; }
.Sunshine .nav_btn .ja::after { right: 100px; bottom:35px; }


.Future { position: relative; background:url(../img/bg_kids_illust.png) no-repeat center bottom, url(../img/bg_kids.png); padding-bottom:360px; }
.Future::before { content:""; display: block; width: 100%; aspect-ratio: 2500 / 234; background:url(../img/bg_cont_top.png) no-repeat left top / 100% auto; margin-bottom:10px; }
.Future::after { position: absolute; left: 0; bottom:-1px; content:""; display: block; width: 100%; aspect-ratio: 1290 / 122; background:url(../img/bg_cont_ud.png) no-repeat left top / 100% auto; }
.Future .hdg_2 { margin-bottom:25px; }
.Future .hdg_2::after { margin-top:15px; }
.Future .lyt { gap:10px; align-items:center; }
.Future .inner { max-width:980px; margin: 0 auto; padding:0 40px; }
.Future .movie.lyt { max-width:980px; margin: 40px auto 0; padding:0 40px; gap:20px; justify-content:flex-start; flex-wrap:wrap; }
.Future .movie.lyt .col { width:48%; text-align:center; }
.Future .movie.lyt .col p { font-size:var(--fs-18); }
.Future .movie.lyt .col iframe { width:100%; max-height: 244px; aspect-ratio: 1920 / 1080; }
.Future .btn { display: block; max-width:600px; margin:60px auto 10px; }


.News { background-color:var(--color-bg); padding:80px 40px; }
.News .hdg_2::after { margin-top: 30px; }
.News .inner { max-width:1000px; margin:0 auto; }
.News .inner p { word-break:break-all; }
.News .inner .col { width:100%; }

.News .pickup.lyt { gap:40px; }
.News .pickup.lyt .year { display: block; font-size:var(--fs-16); color:var(--color-main); margin-bottom:5px; line-height: 1; }
.News .pickup.lyt .img { width:260px; }
.News .pickup.lyt .txt { font-size:var(--fs-20); line-height:1.4; }
.News .pickup.lyt .tag { margin-top:13px; }
.News .pickup.lyt .tag li { display: inline-block; font-size:var(--fs-14); background-color:var(--color-main); color:var(--color-white); padding:1px 10px; }

.News .inner.common.lyt { gap:10px; margin-top:30px; }
.News .inner.common.lyt .lyt { gap:20px; }
.News .inner.common.lyt li { background-color:var(--color-white); padding:15px 20px; }
.News .inner.common.lyt .img { width:195px; }
.News .inner.common.lyt .hdg { color:var(--color-main); }
.News .inner.common.lyt .txt { font-size:var(--fs-14); line-height:1.4; }

.Consept { text-align: center; padding: 70px 30px 400px; background:url(../img/img_products.jpg) var(--color-bg) no-repeat center bottom / 1290px auto; }
.Consept .hdg { text-align: center; color:var(--color-white); line-height:1.2; font-weight:normal; }
.Consept .hdg .lead { color:var(--color-white); font-size:var(--fs-32); margin-bottom:30px; display:block; }
.Consept .hdg em { display: block; font-size:var(--fs-36); font-style: normal; line-height:1.1; margin-top:10px; }
.Consept .hdg .ttl { display:block; }

.Team { padding: 70px 0; background: linear-gradient(to bottom,  rgba(0,111,161,1) 0%,rgba(0,162,202,1) 100%); }
.Team .hdg_2 { font-size:var(--fs-30); color:var(--color-white); margin-bottom:0; }
.Team .hdg_2::after { content:initial; }
.Team .hdg { margin:30px 0 10px; }
.Team .hdg:first-child { margin-top:0; }
.Team .inner { max-width: 1000px; padding: 0 40px; margin: 0 auto; color:var(--color-white); }
.Team .nav_list li { display:inline-block; margin-right:35px; }
.Team .nav_list li a { font-size:var(--fs-18); }
.Team .nav_list li a::before { content:url(../img/icon_arrow.svg); position:relative; top:-2px; margin-right:7px; }
.Team .nav_sns.lyt { gap:10px; justify-content:flex-start; position:relative; }
.Team .nav_sns.lyt > li { width: 50px; }
.Team .nav_sns.lyt li button { transition:.3s; }
.Team .nav_sns.lyt li button:hover { opacity:.6; }
.Team .nav_sub.lyt[hidden] { display:none; }
.Team .nav_sub.lyt { margin-top: 8px; max-width:calc(100% - 40px); justify-content:initial; flex-wrap: wrap; transition:.3s; }
.Team .nav_sub.lyt li a { display: inline-block; padding:5px 25px 5px 0; }
.Team .nav_sub.lyt li a::before { content:url(../img/icon_arrow.svg); position:relative; top:-2px; margin-right:7px; }


.footer { width:calc(100% - 280px) }
.footer::before { content:""; display: block; width: 265px; height: 123px; margin: 50px auto; background:url(../img/pc_logo.png) no-repeat left bottom / 100% auto; }
.copyright { display:block; background-color:black; color:var(--color-white); text-align:center; padding:50px; }









/* ---------------------- switch ---------------------- */
@media screen and (max-width: 1040px) {

/*
.skiptranslate + .header { top:40px; }
.skiptranslate + .header .nav_menu { top:44px; }
*/

/* layout */
.base { width:100%; }
.footer { width:100%; }

/* header */
.header { width: 100%; height: 50px; right:initial; left: 0; background:none; box-shadow:none; padding:4px; transition:.3s; height:80px; }
.header.open { background-color:var(--color-sub); height:100dvh; z-index:100; }
.header.open .logo { opacity:0; }
.logo { transition: .3s; width: calc(100% - 47px); padding: 8px 44px 8px; border-radius:6px 0 0 6px; background-color:rgba(255, 255, 255, .9); }
.logo picture { display:block; width:138px; height:auto; margin:0 auto; }
.nav_menu { display:block; }
.nav_global { background:none; padding:0 0 20px; font-size: var(--fs-20); }
.nav_global li a { padding: 16px 40px; display:block; font-size: var(--fs-18); }
.nav_global li a::before { content:url(../img/icon_arrow.svg); position:relative; top:-2px; margin-right:10px; }
.nav_global { display: none; width: 100%; z-index: 999; }
.nav_global.open { display: block; }
.header.open .nav_global { display: block; }
.nav_global .bnr a { padding: 25px 40px; }

/* ボタン全体 */
.nav_menu { position: fixed; right: 5px; top: 4px; }
.nav_menu .btn { width: 45px; height: 45px; background: var(--color-sub); display: flex; flex-direction: column; justify-content: center; align-items: center; cursor: pointer; position: relative; border-radius: 0 6px 6px 0; padding: 0; }
.nav_menu .btn .line { width: 16px; height: 2px; background: #fff; margin: 2px 0; transition: transform 0.3s ease, opacity 0.3s ease; }
.nav_menu .btn.active .line:nth-child(1) { position: relative; top: 6px; transform: rotate(45deg) translateY(0); }
.nav_menu .btn.active .line:nth-child(2) { opacity: 0; }
.nav_menu .btn.active .line:nth-child(3) { position: relative; top: -6px; transform: rotate(-45deg) translateY(0); }

.Future .movie.lyt .col iframe { max-height: 24vw; }

}








/* ---------------------- SP ---------------------- */
@media screen and (max-width: 768px) {



.movie { max-width:700px; margin:25px 20px 20px; }
.movie iframe { width:100%; height:auto; border-radius:7px; }

.sp { display:block; }
.pc { display:none; }


/* heading */
.hdg_1 { width:220px; height:auto; margin:0 auto 27px; }
.hdg_1::after { margin-top: 36px; }
.hdg_2 { font-size: var(--fs-30); line-height:1.4; margin-bottom:20px; }
.hdg_2::after { content:url(../img/sp_svg_hdg.svg); display:block; text-align:center; margin-top:20px; line-height:23px; }
.hdg_sub { font-size: var(--fs-20); color: var(--color-sub); }
.hdg_3 { font-size: var(--fs-20); color: var(--color-main); margin-bottom:5px; }


/* txt */
.lead { font-size: var(--fs-18); padding:0 20px }
.caption { font-size: var(--fs-16); color:var(--color-main); }
.caption_name { font-size: var(--fs-12) !important; text-align:right !important; }


/* layout */
.base p { line-height:1.6; }
.lyt { display:flex; justify-content:space-between; }


/* mv */
.mv { position:relative; }
.mv picture { position:relative; }
.mv::after { position: absolute; left: 0; bottom: -1px; content:""; display: block; width: 100%; height: auto; aspect-ratio: 375 / 130; background:url(../img/sp_mv_ud_wh.png) no-repeat left bottom / 100% auto; }


/* contents */
.Story .lyt { padding:0 40px; }
.Story .lyt { display:block; }
.Story .lyt p { font-size: var(--fs-17); text-align:center; }
.Story .lyt p b { font-size: var(--fs-20); margin-top:10px; }
.Story .lyt .col + .col { margin-top:30px; }
.Story::after { background: url(../img/sp_mv_ud.jpg) no-repeat left bottom / 100% auto; width:100%; aspect-ratio: 375 / 337; }


.Activity { padding:0 10px; }
.Activity p + p { margin-top:25px; }
.Activity .nav_change { margin:0 auto 20px; padding:0 30px; }
.Activity .nav_change .col { width:32%; }
.Activity .nav_change .col button { font-size: var(--fs-14); border-radius:5px; padding:20px 0 36px; line-height: 1.1; }
.Activity .nav_change .col button::after { left: calc(50% - 5px); bottom: 5px; border-top: 8px solid var(--color-sub); }
.Activity .nav_change .col.active button { padding:28px 0; }
.Activity .nav_change .col.active button::after { bottom: -11px; }
.Activity .caption { font-size: var(--fs-10); }
.Activity .movie { margin:25px 0 0; }


  /**/
  .Project::after { aspect-ratio: 1180 / 440; background:url(../img/pc_img_ft_project.jpg) no-repeat left bottom / 100% auto; }
  .Project .inner { padding:15px 20px 30px; }

  .Action::after { content:""; display: block; width: 100%; aspect-ratio: 1180 / 440; background:url(../img/pc_img_ft_action.jpg) no-repeat left bottom / 100% auto; }
  .Action .inner { padding:20px 0 30px; }
  .Action .list { margin:30px auto 0; padding: 0 30px; display:block; }
  .Action .lyt { display:block; }
  .Action .lyt + .lyt { margin-top:25px; }
  .Action .lyt .ph { width:100%; }
  .Action .col { width:100%; padding-top:10px; }
  .Action .col .num { width:26px; padding: 11px 0 13px; font-size: var(--fs-18); margin-right:7px; }
  .Action .col .txt_year { top: 15px; font-size: var(--fs-14); }
  .Action .col p { text-align:left; font-size: var(--fs-16); line-height:1.4; }
  .Action .ph img { border-radius:10px; }

  .Hope::after { content:""; display: block; width: 100%; aspect-ratio: 1180 / 440; background:url(../img/pc_img_ft_hope.jpg) no-repeat left bottom / 100% auto; }
  .Hope .bg_wrap { background:url(../img/pc_img_top_hope.png) no-repeat var(--color-bg) left top / 100% auto; border-radius:20px 20px 0 0; margin-top:30px; }
  .Hope .inner { max-width:780px; margin: 0 auto; padding:clamp(100px, calc(29vw + 20px), 460px) 40px 0; }
  .Hope .inner p { font-size:var(--fs-14); }
  .Hope .img { max-width: 71vw; margin: 0 auto 30px; }
  .Activity .Hope p + p { margin-top:10px; }
  /**/


.Sunshine { padding-top:60px; background:url(../img/pc_bg_sunshine.png) no-repeat center top 180px / 1000px auto; min-height:860px; }
.Sunshine .logo { max-width:82px; margin-top:20px; }
.Sunshine .nav_btn { margin:50px auto 0; padding:0 30px; }

.Sunshine .nav_btn li::after { height:76px; }
.Sunshine .nav_btn li button { padding:10px 10px 6px 20px; font-size:var(--fs-18); border-radius:10px; }
.Sunshine .nav_btn li button::after { display:inline-block; block; top:-2px; margin-left:2px; transform:scale(0.7); }
.Sunshine .nav_btn .vn { margin-bottom: 64px; }
.Sunshine .nav_btn .vn::after { left: 60px; top:33px; }
.Sunshine .nav_btn .ja { float:right; }
.Sunshine .nav_btn .ja::after { right: 50px; bottom:35px; }


.Future { background:url(../img/bg_kids_illust.png) no-repeat center bottom / 100% auto, url(../img/bg_kids.png); padding-bottom:40vw; }
.Future::before { content:""; display: block; width: 100%; aspect-ratio: 2500 / 234; background:url(../img/bg_cont_top.png) no-repeat left top / 100% auto; margin-bottom:10px; }
.Future::after { position: absolute; left: 0; bottom:-1px; content:""; display: block; width: 100%; aspect-ratio: 1290 / 122; background:url(../img/bg_cont_ud.png) no-repeat left top / 100% auto; }
.Future .hdg_2 { margin-bottom:17px; }
.Future .lyt { display: block; }
.Future .inner { padding:0 30px; }
.Future .movie.lyt { display:block; }
.Future .movie.lyt .col { width:100%; font-size:var(--fs-14); }
.Future .movie.lyt .col iframe { max-height: 345px; }
.Future .movie.lyt .col + .col { margin-top:15px; }
.Future .movie.lyt .col p { font-size:var(--fs-14); }
.Future .btn { max-width:320px; margin:30px auto 0; }


.News { padding:35px 30px; }
.News .hdg_2::after { margin-top: 15px; }
.News .inner .col { width:100%; }

.News .pickup.lyt { gap:20px; }
.News .pickup.lyt .year { font-size:var(--fs-14); margin-bottom:5px; }
.News .pickup.lyt .img { width:260px; }
.News .pickup.lyt .txt { font-size:var(--fs-16); line-height:1.4; }
.News .pickup.lyt .tag { margin-top:4px; }
.News .pickup.lyt .tag li { font-size:var(--fs-12); padding:1px 5px; }

.News .inner.common.lyt { display: block; gap:10px; margin-top:25px; }
.News .inner.common.lyt li { background-color:var(--color-white); padding:15px 20px; }
.News .inner.common.lyt .img { width:195px; }
.News .inner.common.lyt .hdg { font-size:var(--fs-14); line-height:1; margin-bottom:5px; }
.News .inner.common.lyt .txt { font-size:var(--fs-12); line-height:1.3; }
.News .inner.common.lyt li + li { margin-top:8px; }

.Consept { text-align: center; padding: 40px 30px 210px; background:url(../img/img_products.jpg) var(--color-bg) no-repeat center bottom / 650px auto; }
.Consept .hdg { font-size:var(--fs-16); }
.Consept .hdg .lead { font-size:var(--fs-16); margin-bottom:15px; }
.Consept .hdg em { font-size:var(--fs-20); margin-top:7px; }
.Consept .hdg .ttl { width:200px; margin:0 auto; }

.Team { padding: 30px 0 35px; }
.Team .hdg_2 { font-size:var(--fs-22); margin-bottom:14px; }
.Team .hdg { font-size:var(--fs-16); margin:15px 0 7px; }
.Team > .lyt { display:block; }
.Team > .lyt > * { width:100%;  }
.Team > .lyt > .col { max-width:300px; margin:0 auto; }
.Team .nav_list li { margin-right:10px; }
.Team .nav_list li a { font-size:var(--fs-14); }
.Team .nav_list li a::before { content:url(../img/icon_arrow.svg); position:relative; top:-1px; margin-right:8px; }
.Team .nav_sns.lyt { gap:5px; justify-content:flex-start; }
.Team .nav_sns.lyt li { width: 50px; }
.Team .nav_sub.lyt { margin-top: 5px; }
.Team .nav_sub.lyt li a { font-size:var(--fs-14); padding: 3px 15px 3px 0; }
.Team .nav_sub.lyt li a::before { top: -1px; }

.footer::before { width: 151px; height: 71px; margin: 19px auto 22px; }
.copyright { font-size: var(--fs-10); padding:16px; }






}/**/




















