@charset "UTF-8";
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre, img,small, strong, b, i, dl, dt, dd, ol, ul, li,form, label, table, tbody, tfoot, thead, tr, th, td,article, aside, footer, header,section,audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 16px; vertical-align: baseline; background: transparent; line-height: 1.6; }
html { -webkit-text-size-adjust: 100%; overflow-x: hidden; }
article, aside, footer, header, menu, nav, section { display: block; }
ul, ol, li { list-style: none; }
a { margin: 0; padding: 0; vertical-align: baseline; background: transparent; color: unset; }
table { border-collapse: collapse; border-spacing: 0; }
input, select { vertical-align: middle; }
body { line-height: 1.6; font-family: "Noto Sans JP", "Meiryo", "Geneva", Helvetica, "Hiragino Sans", "Droid Sans", Arial, "Arial Unicode", "Arial Unicode MS", sans-serif; overflow-x: hidden; text-align: left; word-break: normal; overflow-wrap: break-word; }
table { border-collapse: collapse; border-spacing: 0; }
a { text-decoration: none; -webkit-tap-highlight-color: transparent; }
a:visited { text-decoration:none; }
a:hover { text-decoration: unset; }
li img { vertical-align: middle; }
a:active { text-decoration: none; }
.bg_img { display: block; background-repeat: no-repeat; background-position: center; background-size: contain; }
input:focus, textarea:focus, button:focus { outline: none; -webkit-text-size-adjust: none; } 
input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; display: none; }

/* ---------- main CSS ---------- */
/* ---- header ---- */
header { height: 140px; position: relative; top: 0; width: 100%; z-index: 9999; transition: transform 0.4s ease; display: flex; justify-content: space-between; background: #fff; }
.header--fixed { position: fixed; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); }
.header--half-hide { transform: translateY(-65px); justify-content: flex-end; }
.header-placeholder { height: 140px; display: none; }
.header-placeholder.active { display: block; }
.header--half-hide .logo_wrap { padding: 0; position: absolute; left: 50px; bottom: 5px; gap: 0; }
.header--half-hide .logo { height: 50px !important; }
.header--half-hide .logo_02 { height: 50px !important; }
.header--half-hide .logo_wrap span { height: 45px; margin: 0 10px 0 15px; }
.logo_wrap { padding: 24px 0 24px 60px; display: flex; gap: 30px; align-items: center;transition: transform 0.3s ease, opacity 0.3s ease;transform: translateY(0);}

.logo_wrap, 
.logo_wrap img,
.logo_wrap span {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    will-change: width, height, transform, top, bottom;
}

.logo { height: 70px; }
.logo_wrap span { width: 1px; height: 80px; background: #B0C2DE; display: block; }
.header-menu-wrap { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; }
.header-tools { display: flex; justify-content: flex-end; }
.header-sns { display: flex; gap: 16px; align-items: center; padding-right: 30px; }
.header-sns_fb { background-image: url('../img/header-sns_fb.png'); width: 21px; height: 21px; }
.header-sns_fb:hover,.header-sns_fb:active { background-image: url('../img/header-sns_fb_on.png'); }
.header-sns_x { background-image: url('../img/header-sns_x.png'); width: 19px; height: 19px; }
.header-sns_x:hover,.header-sns_x:active { background-image: url('../img/header-sns_x_on.png'); }
.header-sns_yt { background-image: url('../img/header-sns_yt.png'); width: 26px; height: 18px; }
.header-sns_yt:hover,.header-sns_yt:active { background-image: url('../img/header-sns_yt_on.png'); }
.header-sns_ig { background-image: url('../img/header-sns_ig.png'); width: 21px; height: 21px; }
.header-sns_ig:hover,.header-sns_ig:active { background-image: url('../img/header-sns_ig_on.png'); }
.lang_box_wrap { position: relative; }
.lang_box { display: flex; gap: 10px; align-items: center; color: #303F82; font-size: 16px; font-weight: 400; background: #D4EBFB; height: 50px; width: 240px; justify-content: center; position: relative; z-index: 1001; }
.lang_box_icon { background-image: url('../img/lang_box_icon.png'); width: 22px; height: 22px; }
.lang_box_arr { background-image: url('../img/lang_box_arr.png'); width: 17px; height: 10px; transition: transform 0.3s ease; transform-origin: center; }
.lang_dropdown { opacity:0; visibility: hidden;transition: transform 0.3s ease; margin: 0; padding: 10px 0; list-style: none; background: #fff; width: 240px; border: 1px solid #D4EBFB; box-sizing: border-box; position: absolute;  z-index: 1000; border-top: unset; overflow: hidden; max-height: none; height: 0}
.lang_dropdown.open { opacity: 1; visibility: visible; transform: translateY(0); overflow: hidden; height: auto;}
.lang_dropdown.closing { opacity: 0; visibility: visible; }
.lang_dropdown li a { display: block; padding: 3px 19px; color: #303F82; text-decoration: none; font-size: 14px; }
.lang_dropdown li a:hover { color: #4A90E2; }
header .lang_box_arr.active { transform: rotateX(180deg); }
header .lang_dropdown{top: 45px; transform: translateY(-20px); }
header .lang_dropdown.closing{ transform: translateY(-20px);}

.header-search_box { display: flex; }
.header-search_box input { border: unset; background: rgba(227, 230, 243, 0.80); width: 240px; height: 50px; padding: 20px 18px; box-sizing: border-box; font-size: 16px; font-weight: 400; color: #1F2F5B; transition: .3s background-color; }
.header-search_box button { border: 0; padding: 0; background-image: url('../img/search-01.png'); width: 50px; height: 50px; background-color: #303F82; background-size: 19px; cursor: pointer; }
.header-search_box button:hover,.header-search_box button:active { background-color: #B0C2DE; }
.header-menu { display: flex;  align-items: center; gap: 30px; padding-right: 50px; }
.header-menu_li {padding-bottom: 25px; color: #303F82; font-size: 18px; font-weight: 600;}
.header-menu_li > a > .hover-underline {
  --transform-origin-start: left;
  --transform-origin-end: right;
  --animation-default: .3s ease;
  --hover-underline-gap: 1px;
  color: currentColor;
  display: inline;
  background: linear-gradient(to var(--transform-origin-end), currentColor, currentColor) 0 var(--hover-underline-gap) / 0 var(--hover-underline-gap) no-repeat;
  background-position-x: var(--transform-origin-end);
  background-position-y: bottom;
  transition: background-size var(--animation-default), color var(--animation-default);
}

@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .header-menu_li:hover > a > .hover-underline {
    background-position-x: var(--transform-origin-start);
    background-size: 100% var(--hover-underline-gap);
    background-position-y: bottom;
  }
}

.header-menu_li_home { background-image: url('../img/header-menu_home.png'); width: 18px; height: 20px;padding-bottom: unset;margin-bottom: 25px;}
.header-menu_li_home:hover{animation: spinY .9s ease-in-out infinite;}
.header-menu_li_home a{display: block;width: 18px;height: 20px;}
.header-menu_li:hover .nav-snb_wrap{opacity: 1;visibility: visible;}
.nav-snb_wrap { position: absolute; z-index: 1000; left: 0; top: 140px; width: 100%; background: rgba(48, 63, 130, 0.90); opacity: 0; visibility: hidden; transition: all 0.35s linear; }
.nav-snb { position: relative; display: flex; margin: 60px auto;justify-content: center;gap: 180px;align-items: center;}
.nav-snb > dt { position: relative; display: flex;}
.nav-snb > dt strong { display: block; color: #fff; font-weight: 400;    display: flex;flex-direction: column;padding-bottom: 15px;}
.snb-tit{font-size: 44px;font-weight: 400;letter-spacing: 2.2px;font-family: Oswald;}
.snb-sub_tit{font-size: 20px;font-weight: 600;}
.nav-snb > dd { width: fit-content; box-sizing: border-box; }
.nav-snb > dd ul { display: grid;width: fit-content;grid-template-columns: repeat(3, auto);gap: 20px 60px;color: #fff;}
.nav-snb > dd ul > li {min-width: 0;width: 100%;}
.nav-snb > dd ul a {min-width: 0;width: 100%;}
.nav-snb > dd ul a .hover-underline { --transform-origin-start:left; --transform-origin-end:right; --animation-default:.3s ease; --hover-underline-gap:1px; color:currentColor; display:inline; background:linear-gradient(to var(--transform-origin-end),currentColor,currentColor) 0 var(--hover-underline-gap)/0 var(--hover-underline-gap) no-repeat; background-position-x:var(--transform-origin-end); background-position-y:bottom; transition:background-size var(--animation-default), color var(--animation-default); }
@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine) { 
.nav-snb > dd ul a:hover .hover-underline { background-position-x:var(--transform-origin-start); background-size:100% var(--hover-underline-gap); background-position-y:bottom; } 
}
.nav-snb > dd ul a span { position: relative; display: inline-block;font-size: 16px;font-weight: 500;}
.nav-snb > dd ul > li > ul{grid-template-columns: unset;gap: unset;padding-top: 20px;}
.header-drawer_menu__btn { position: fixed;right: 0;top: 0; width: 100px; height: 100px; display: flex; align-items: center; justify-content: center; background-color: #303F82; transition: .3s background-color; z-index: 2500;}
.header-drawer_menu__inner { position: fixed; top: -100%; left: 0; width: 100%; height: 100vh; background-color: #fff; transition: top .5s ease; z-index: 2000;display: flex;flex-direction: column;overflow: hidden;}
.header-drawer_menu__inner.open { top:0; }
.header-drawer_menu__inner:not(.header-drawer_menu__inner.open){display: none;}
.header-drawer_menu__btn span,.header-drawer_menu__btn span:before,.header-drawer_menu__btn span:after { display: block; height: 3px; width: 40px; background: #fff; transition: .5s; position: absolute; }
.header-drawer_menu__btn span { top: calc(50% - 23px / 2); }
.header-drawer_menu__btn span:before { content: ""; top: 10px; }
.header-drawer_menu__btn span:after { content: ""; top: 20px; }
.header-drawer_menu__btn.open span { background: transparent; }
.header-drawer_menu__btn.open span::before { transform: rotate(45deg) translate(5px,5px); top: 4px; }
.header-drawer_menu__btn.open span::after { transform: rotate(-45deg) translate(5px,-5px); top: 18px; }
.header-drawer_menu__inner_cont{gap: 60px;flex: 1; margin: 100px auto 0;display: flex;flex-direction: column;overflow-y: auto;-webkit-overflow-scrolling: touch;}
.body-fixed {position: fixed;width: 100%;overflow: hidden;scrollbar-width: none;-ms-overflow-style: none;}
.header-drawer_menu__inner_cont::-webkit-scrollbar {display: none;}
.header-drawer_menu__inner_item{margin: 0 40px;max-width: 944px;}
.header-drawer_menu__inner_item:last-of-type{margin-bottom: 100px;}
.drawer_menu_tit__wrap{display: flex;flex-direction: column;text-align: center;padding-bottom: 15px;color: #1F2F5B;margin-bottom: 20px;}
.drawer_menu__tit{font-family: Oswald;font-size: 44px;font-weight: 400;letter-spacing: 2.2px;}
.drawer_menu__sub_tit{font-size: 20px;font-weight: 600;line-height: normal;}
.header-drawer_menu__inner_item .modules-list{gap: 20px 22px;}
.header-drawer_menu__inner_item .modules-list a, .header-drawer_menu__inner_item .modules-list.sitemap-member div{width: calc( 33.333% - 14.666px);}
.header-drawer_menu__inner_item .modules-list a{padding: 0 20px;gap: 5px;}
.header-drawer_menu__inner_item .modules-list.sitemap-member div a{width: 100%;}
.header-drawer_menu__inner_item .modules-list a .modules-list_txt{font-size: 16px;line-height: normal;}
.header-drawer_menu__inner_item .modules-list a:has(.modules-list_subtxt){border-bottom: unset;height: 40px;}
.header-drawer_menu__inner_item .modules-list_icon::after {width: 12px;height: 12px;min-width: 12px;top: 2px;position: relative;}
/* ---- end header ---- */

/* ---- btn-donate ---- */
.btn-donate { border-radius: 10px 0 0 10px; background: #E95A56; box-shadow: 0 4px 8px 0 rgba(49, 62, 129, 0.30); position: fixed; z-index: 500; right: 0; top: 50%;transform: translateY(-50%);width: 76px; padding: 20px 0;display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; z-index: 1500; }
.btn-donate.show { opacity: 1; visibility: visible; }
.btn-donate-txt { text-orientation: upright; writing-mode: vertical-rl; color: #FFF; font-size: 26px; font-weight: 600; letter-spacing: .14em; }
.btn-donate-img { background-image: url('../img/btn-donate.png'); width: 32px; height: 32px; }
.btn-donate:hover .btn-donate-img { animation: spinY .9s ease-in-out infinite; }
@keyframes spinY {
  0% {
    transform: rotateY(0deg);
  }
  70% {
    transform: rotateY(360deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}
/* ---- end btn-donate ---- */

/* ---- top main ---- */
.top .sec-tit { display: flex; flex-direction: column; align-items: center; }
.top h3 { color: #4A90E2; font-size: 48px; font-weight: 500; letter-spacing: 2.4px; font-family: "Oswald"; }
.top h4 { color: #72B4EB; font-size: 18px; font-weight: 600; }
.sec_cont:not(.project-sec .sec_cont, .download-sec .sec_cont) { max-width: 1600px; margin: 0 auto; padding: 0 100px; }
#news .sec_cont, #project-download .sec_cont { margin: 60px auto 0; }
#event .sec_cont{ margin: 120px auto 0; }
.news .detail-box a:not(.btn), .news  .detail-box p a:not(.btn), .news  .detail-box_wrap a:not(.btn), .news  .detail-box_wrap p a:not(.btn), .event .detail-box a:not(.btn), .event  .detail-box p a:not(.btn), .event  .detail-box_wrap a:not(.btn), .event  .detail-box_wrap p a:not(.btn){text-decoration: underline;}
.btn { border: 1px solid #303F82; background-color: #FFF; display: flex; gap: 16px; justify-content: center; padding: 12px 40px; box-sizing: border-box; align-items: center; width: fit-content;transition: none;}
.btn span { color: #303F82; font-size: 18px; font-weight: 600; line-height: normal; }
.btn_01 .bg_img { background-image: url('../img/btn_arr01.png'); width: 13px; height: 13px;min-width: 13px;min-height: 13px;}
.btn_02 .bg_img { background-image: url('../img/btn_arr02.png'); width: 16px; height: 16px;min-width: 16px;min-height: 16px;}
.btn_03 .bg_img { background-image: url('../img/btn_arr02.png'); width: 16px; height: 16px; transform: scaleX(-1); min-width: 16px;min-height: 16px;}
.btn_03 { flex-direction: row-reverse; margin: auto; }
.no-img { background-color: #D7E0EE; background-image: url(../img/logo_03.png); background-repeat: no-repeat; background-position: center; background-size: 55%; }
.btn_04 { border: unset; background-color: unset; border-bottom: 1px solid #303F82; padding: 40px 10px 15px; gap: 20px; }
.btn_04:hover .bg_img { background-image: url('../img/btn_arr01.png'); }
.btn_04 span { font-size: 14px; }
.btn_01:hover .bg_img { animation: btn01Move 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) forwards; }
.btn_02:hover .bg_img {animation: btn02Move 0.6s cubic-bezier(0.215,0.61,0.355,1) forwards;}
.btn_03:hover .bg_img {animation: btn03Move 0.6s cubic-bezier(0.215,0.61,0.355,1) forwards;}
@keyframes btn01Move { 0% { transform: translate(0, 0); opacity: 1; } 40% { transform: translate(8px, -8px); opacity: 0; } 41% { transform: translate(-8px, 8px); opacity: 0; } 100% { transform: translate(0, 0); opacity: 1; } }
@keyframes btn02Move {0%   { transform: translate(0,0); opacity:1; }40%  { transform: translate(8px,0); opacity:0; }41%  { transform: translate(-8px,0); opacity:0; }100% { transform: translate(0,0); opacity:1; }}
@keyframes btn03Move {0%   { transform: scaleX(-1) translate(0,0); opacity:1; }40%  { transform: scaleX(-1) translate(8px,0); opacity:0; }41%  { transform: scaleX(-1) translate(-8px,0); opacity:0; }100% { transform: scaleX(-1) translate(0,0); opacity:1; }}
.hover-underline { --transform-origin-start: left; --transform-origin-end: right; --animation-default: .3s ease; --color-foreground: 0, 0, 0; --hover-underline-gap: 1px; color: currentColor; }
.hover-underline__text { display: inline; background: linear-gradient(to var(--transform-origin-end), currentColor, currentColor) 0 var(--hover-underline-gap) / 0 var(--hover-underline-gap) no-repeat; background-position-x: var(--transform-origin-end); background-position-y: bottom; transition: background-size var(--animation-default), color var(--animation-default); }
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .u-hover-target:hover .hover-underline__text { background-position-x: var(--transform-origin-start); background-size: 100% var(--hover-underline-gap); background-position-y: bottom;}
}

/* -- main_visual -- */
#main_visual { height: 100%; }
#main_visual h2 { width: 100%; }
.mv { display: flex; width: 100%; gap: 1px; position: relative; }
.mv_left { flex: 2; display: flex; }
.mv_left img { width: 100%; aspect-ratio: 1920/769; object-fit: cover; display: block; }
.mv_right { flex: 1; display: flex; flex-direction: column; gap: 1px; }
.mv_top,.mv_bottom { flex: 1; display: flex; }
.mv_top img,.mv_bottom img { width: 100%; aspect-ratio: 1920/768; object-fit: cover; display: block; }
.mv_prev, .mv_next { display: none; position: absolute; top: 50%; transform: translateY(-50%); background-image: url(../img/btn_arr02.png); background-size: 13px; background-repeat: no-repeat; background-position: center; background-color: #fff; border: none; padding: 15px 10px; cursor: pointer; z-index: 10; }
.mv_prev { left: 10px; transform: scaleX(-1) translateY(-50%); }
.mv_next { right: 10px; }

@media (min-width: 768px) {
  .mv { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 1px; height: auto; }
  .mv-arrange-0 .mv_left { grid-column: 1; grid-row: 1 / 3; }
  .mv-arrange-0 .mv_top { grid-column: 2; grid-row: 1; }
  .mv-arrange-0 .mv_bottom { grid-column: 2; grid-row: 2; }
  .mv-arrange-1 .mv_top { grid-column: 1; grid-row: 1 / 3; }
  .mv-arrange-1 .mv_bottom { grid-column: 2; grid-row: 1; }
  .mv-arrange-1 .mv_left { grid-column: 2; grid-row: 2; }
  .mv-arrange-2 .mv_bottom { grid-column: 1; grid-row: 1 / 3; }
  .mv-arrange-2 .mv_left { grid-column: 2; grid-row: 1; }
  .mv-arrange-2 .mv_top { grid-column: 2; grid-row: 2; }
  .mv_left, .mv_right, .mv_top, .mv_bottom { transition: grid-column 0.5s ease, grid-row 0.5s ease; }
  .mv_right { display: contents; }
}

/* -- news -- */
.top #news { margin-top: 100px; }
.news_li_wrap { margin-bottom: 60px; gap: 20px 30px; display: flex; flex-wrap: wrap; }
.news_li { display: flex; height: 171px;width: calc(50% - 15px);}
.news_li:hover .news_img img { transform: scale(1.08); }
.news_img { width: 100%; max-width: 228px; aspect-ratio: 4 / 3; overflow: hidden; }
.news_img img { max-width: 228px; max-height: 100%; aspect-ratio: 4/3;object-fit: cover; object-position: 50% 0%; width: 100%; height: 100%; transition: transform 0.4s; min-height: 100%; min-width: 100%; }
.news_img.no-img{ transition: background-size 0.4s ease-in-out; }
.news_li:hover .news_img.no-img{ background-size: 65%; }
.news_txt { background: #EAF4FC; width: 100%; padding: 18px 30px; }
.news_date { padding-bottom: 5px; color: #4A90E2; font-weight: 500; display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.news_tit { color: #292929; font-size: 18px; font-weight: 500; line-height: 1.75; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.top #news .btn { margin: 0 auto; height: 54px; }
.news-new .news_date::after { content: 'NEW'; color: #FFF; font-size: 11px; border-radius: 24px; background: #E5322D; width: 38px; text-align: center; align-items: center; line-height: 1.5; }

/* -- event -- */
.top #event { margin-top: 100px; position: relative; }
.top #event .sec_cont { z-index: 2; }
.top-event_li_wrap { margin-bottom: 120px; gap: 20px; display: flex; flex-wrap: wrap; }
.top-event_li { width: calc( 100% / 3 - 14px); filter: drop-shadow(1px 1px 12px rgba(49, 62, 129, 0.30));}
.top-event_img_wrap{overflow: hidden;}
.top-event_img { display: block; height: auto; aspect-ratio: 520 / 420; width: 100%; object-fit: cover; object-position: 50% 0%; max-width: 520px;transition: transform 0.4s;background-color: #fff;}
.top-event_li:hover .top-event_img {transform: scale(1.08);}
.top-event_img.no-img { background-size: 30%;transition: background-size 0.4s ease;background-color: #D7E0EE;}
.top-event_li:hover .top-event_img.no-img {background-size: 35%;}
.event_li-finished{position: relative;}
.event-finished-label { position:absolute; /*top:-8px; left:-8px;*/ z-index:1; background-color:#E5322D; color:#fff; font-size:18px; font-weight:500; line-height:30px; padding:12px 30px; }
.top-event_dtl { width: 100%; height: auto; padding: 20px 22px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; background: #fff; min-height: 180px; }
.top-event_date { color: #4A90E2; font-size: 24px; font-weight: 600; padding-bottom: 5px; }
.top-event_tit { color: #292929; font-size: 18px; font-weight: 500; line-height: 1.75; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; margin-bottom: 12px;height: 63px;}
.event-label { color: #FFF; text-align: center; font-size: 13px; border-radius: 24px; padding: 2px 15px; width: fit-content; display: flex; align-items: center; line-height: 1.5; }
.event-label_01 { background: #E64D7F; }
.event-label_02 { background: #8A5744; }
.event-label_03 { background: #72B4EB; }
.event-label_04 { background: #58A27C; }
.event-label_05 { background: #D4C267; }
.top #event .btn { margin: 0 auto; height: 54px; }
.top-event_bg { background: rgba(114, 180, 235, 0.3); position: absolute; z-index: -1; height: -webkit-fill-available; width: 100%; bottom: 100px;top: 160px;}

/* -- logo-list -- */
.top #logo-list { margin: 100px 0 160px; }
.top #logo-list .sec-tit { margin-bottom: 60px; }
.top #logo-list .sec_cont { display: flex; gap: 40px 50px; flex-wrap: wrap; align-items: center; justify-content: center; gap: 20px; }
.top #logo-list .sec_cont a { border: 1px solid #B0C2DE; box-sizing: border-box; }
.logo-list_img { max-width: 100%; height: auto; display:block; max-height: 142px; }
.top #logo-list .sec_cont a:has(.logo-list_01) { padding: 48px 20px; }
.top #logo-list .sec_cont a:has(.logo-list_02) { padding: 23px 75px; }
.top #logo-list .sec_cont a:has(.logo-list_03) { padding: 36.5px 20px; }
.top #logo-list .sec_cont a:has(.logo-list_04) { padding: 38px 20px; }
.top #logo-list .sec_cont a:has(.logo-list_05) { padding: 46.5px 20px; }
.top #logo-list .sec_cont a:has(.logo-list_06) { padding: 10px 76.5px; }
.top #logo-list .sec_cont a:has(.logo-list_07) { padding: 10px 133px; }
.top #logo-list .sec_cont a:has(.logo-list_08) { padding: 34.5px 20px; }
.top #logo-list .sec_cont a:has(.logo-list_09) { padding: 40.5px 19px; }
.top #logo-list .sec_cont a:has(.logo-list_10) { padding: 40.5px 19px; }
.logo-list_01 { max-height: 46px; aspect-ratio: 480/46; }
.logo-list_02 { max-height: 96px; aspect-ratio: 370/96; }
.logo-list_03 { max-height: 69px; aspect-ratio: 480/69; }
.logo-list_04 { max-height: 66px; aspect-ratio: 345/66; }
.logo-list_05 { max-height: 49px; aspect-ratio: 345/49; }
.logo-list_06 { max-height: 122px; aspect-ratio: 232/122; }
.logo-list_07 { max-height: 122px; aspect-ratio: 119/122; }
.logo-list_08 { max-height: 73px; aspect-ratio: 345/73; }
.logo-list_09 { max-height: 61px; aspect-ratio: 347/61; }
.logo-list_10 { max-height: 61px; aspect-ratio: 347/61; }

/* -- about -- */
.top #about { background: #66CDB3; padding: 92px 0 93px; }
.top #about .sec_cont { max-width: 1264px; display: flex; position: relative; }
.top #about .sec-tit { float: left; }
.top #about h3 { color: #303F82; }
.top #about h4 { color: #fff; }
.top-about_cont { width: 500px;z-index: 1;}
.top-about_txt { color: #fff; padding-top: 30px; display: inline-block; }
.top-about_txt01 { font-size: 25px; font-weight: 600; padding-bottom: 20px; }
.top-about_txt02 { font-size: 16px; font-weight: 600; line-height: 1.7; }
.top #about .btn { margin-top: 40px; height: 54px; background-color: unset; }
.top-about_img::before { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: contain; background-image: url(../img/about_img.png); position: absolute; top: 50%; aspect-ratio: 1026/652; max-width: 100%; width: 100%; max-height: 652px; left: calc(50% - 30px); transform: translate(-16%,-50%);

}
@supports (background-image: url("../img/about_img.webp")) {
  .top-about_img::before { background-image: url("../img/about_img.webp"); }
}

/* -- project-download -- */
.top #project-download { margin: 160px auto; display: flex; gap: 60px; justify-content: center; padding: 0 100px; }
.project-sec .sec_cont { display: flex; gap: 10px; }
.top-project-li { position: relative; flex: 1; max-width: 381px; aspect-ratio: 381 / 456;overflow: hidden;}
.top-project-li::before { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: cover; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -10;transition: transform 0.4s ease;transform: scale(1);}
.top-project-li:hover::before {transform: scale(1.08);}
.top-project-li_01::before { background-image: url('../img/top-project_01.jpg'); }
.top-project-li_02::before { background-image: url('../img/top-project_02.jpg'); }
.top-project-li_03::before { background-image: url('../img/top-project_03.png'); }
.top-project-li::after { content: ''; display: block; width: 35px; height: 35px; position: absolute; right: 10px; bottom: 10px; background-color: #fff; z-index: 10; box-sizing: border-box; }
.arrow-img { position: absolute; right: 10px; bottom: 10px; width: 35px; height: 35px; background-image: url('../img/btn_arr01.png'); background-repeat: no-repeat; background-position: center; background-size: 13px; z-index: 11; }
.top-project-li:hover .arrow-img { animation: arrowMoveFade 0.6s cubic-bezier(0.215,0.61,0.355,1) forwards; }
@keyframes arrowMoveFade { 0% { transform: translate(0,0); opacity:1; } 40% { transform: translate(8px,-8px); opacity:0; } 41% { transform: translate(-8px,8px); opacity:0; } 100% { transform: translate(0,0); opacity:1; } }

.top-project-cont { position: absolute; padding: 30px 40px 44px; background: linear-gradient(0deg, rgba(33, 47, 107, 0.40), rgba(33, 47, 107, 0.40)); z-index: 0; height: 100%; width: 100%; box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; font-weight: 500; color: #fff; top: 0; max-width: 381px; aspect-ratio: 381 / 456; /*max-height: 456px;*/ position: relative; gap: 25px; }
.top-project-num { font-family: 'Oswald'; font-size: 24px; letter-spacing: 1.2px; }
.top-project-tit_01 { padding: 4px 0; font-size: 24px; font-weight: 600; }
.top-project-tit_02 { font-size: 16px; }
.top-project-txt { font-size: 16px; line-height: 1.7; }
.download-img { aspect-ratio: 322 / 456; width: 100%; max-width: 322px; max-height: 456px; height: auto; box-shadow: 4px 4px 16px 0 rgba(49, 62, 129, 0.35); }
/* ---- end top main ---- */

/* ---- footer ---- */
.footer-access_wrap { background: #D4EBFB; display: flex; gap: 100px; justify-content: center; align-items: center; height: 265px; }
.footer-access_wrap .logo_wrap { padding: unset; }
#footer-lang_dropdown { border: 1px solid #303F82; box-sizing: content-box; right: -1px;}
.footer-access { display: flex; gap: 20px; align-items: center; }
.footer-access_txt span { background-image: url('../img/footer-access_icon.png'); width: 24px; height: 30px; padding-bottom: 10px; }
.footer-access_txt p { color: #1F2F5B; font-size: 16px; font-weight: 400; line-height: 1.7; }
.footer-img { background-image: url('../img/footer-img.jpg'); width: 100%; height: 345px; display: block; background-size: cover; }
@supports (background-image: url("../img/footer-img.webp")) {
  .footer-img { background-image: url("../img/footer-img.webp"); }
}
.footer-menu_wrap { background: #303F82; display: flex; align-items: center; gap: 88px; justify-content: center; height: 105px; }
.footer-menu { display: flex; gap: 40px; }
.footer-menu a {font-size: 16px;font-weight: 500;color: #FFF;white-space: nowrap;}
.footer-menu a .hover-underline { --transform-origin-start:left; --transform-origin-end:right; --animation-default:.3s ease; --hover-underline-gap:1px; color:currentColor; display:inline; background:linear-gradient(to var(--transform-origin-end),currentColor,currentColor) 0 var(--hover-underline-gap)/0 var(--hover-underline-gap) no-repeat; background-position-x:var(--transform-origin-end); background-position-y:bottom; transition:background-size var(--animation-default), color var(--animation-default); }
@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine) { 
.footer-menu a:hover .hover-underline { background-position-x:var(--transform-origin-start); background-size:100% var(--hover-underline-gap); background-position-y:bottom; } 
}
.footer-menu_wrap .lang_box { background: #fff; }
footer .lang_dropdown {transform: translateY(20px); bottom: 45px;}
footer .lang_dropdown.closing {transform: translateY(20px);}
footer .lang_box_arr {transform: rotateX(180deg);}
footer .lang_box_arr.active { transform: rotateX(0); }
.footer-copyright { height: 113px; color: #1F2F5B; font-weight: 400; display: flex; align-items: center; justify-content: center; padding: 0 75px; text-align: center; }
.btn-pagetop { position: fixed; bottom: 34px; right: 16px; width: 44px; height: 44px; box-sizing: border-box; background-color: #fff; transition: opacity .3s ease, visibility .3s ease; border: 1px solid #303F82; opacity: 0; visibility: hidden; pointer-events: none; cursor: pointer; z-index: 11000; }
.btn-pagetop.active { opacity: 1; visibility: visible; pointer-events: auto; }
.btn-pagetop::before { content: ""; position: absolute; inset: 0; background-image: url('../img/btn_arr02.svg'); background-size: 20px; background-position: center; background-repeat: no-repeat; display: block; transform: rotate(-90deg); }
.btn-pagetop.active:hover::before { animation: pageTopUp 0.6s cubic-bezier(0.215,0.61,0.355,1) forwards; }
@keyframes pageTopUp { 0% { transform: translateY(0) rotate(-90deg); opacity:1; } 40% { transform: translateY(-8px) rotate(-90deg); opacity:0; } 41% { transform: translateY(8px) rotate(-90deg); opacity:0; } 100% { transform: translateY(0) rotate(-90deg); opacity:1; } }
/* ---- end footer ----  */

/* ---- sub ---- */
.sub section { margin: 100px auto 160px; max-width: 1200px; }
.pv-img { width: 100%; height: 345px; display: block; background-size: cover; }
.pv-cont { background: #E3F0FB; position: relative; overflow: visible; height: 56px; display: flex; align-items: center; justify-content: flex-end; }
.sub-tit { position: absolute; bottom: 28px; left: 20px; width: 532px; aspect-ratio: 532/168; z-index: 1; }
.sub-tit::before { content: ""; position: absolute; top: 0; left: 0; width: 532px; aspect-ratio: 532/168; background-color: #fff; z-index: -1; clip-path: polygon(13.7% 100%,0% 0%,86.3% 0%,100% 100%); }
.sub-tit h2 { color: #4A90E2; font-family: Oswald; font-size: 48px; font-weight: 500; letter-spacing: 2.4px; width: auto; height: auto; top: 50%; left: 50%; transform: translate(-50%,-50%); position: absolute; white-space: nowrap; }
.sub-tit h2 span { color: #72B4EB; font-size: 20px; font-weight: 600; display: block; }
.breadcrumb { display: flex; padding-right: 152px; }
.breadcrumb_item { color: #292929; font-size: 14px; font-weight: 400;white-space: nowrap;}
.breadcrumb_item + .breadcrumb_item::before { content: ""; display: inline-block; width: 7px; height: 12px; margin: 0 10px; background-image: url("../img/breadcrumb_arrow.svg"); background-size: contain; background-repeat: no-repeat; background-position: center; vertical-align: middle; }
.breadcrumb_item a { position: relative;white-space: nowrap;}
.breadcrumb_item a::before { content: ''; position: absolute; top: 100%; left: 0; width: 100%; height: 1px; background: currentColor; transform-origin: 0% 50%; transform: scale3d(1,1,1); transition: transform 0.3s; pointer-events:none; }
.breadcrumb_item a:hover::before { transform-origin: 100% 50%; transform: scale3d(0,1,1); }
.sub h3 { color: #303F82; font-size: 40px; font-weight: 600; text-align: center; margin-bottom: 60px; }
.sub h3 span { color: #4A90E2; font-size: 20px; font-weight: 400; display: block; }
.sub h4 { color: #303F82; font-size: 32px; font-weight: 600; border-top: 1px solid #303F82; padding-top: 30px; margin-top: 100px; margin-bottom: 60px; }
.sub h3 + .sub h4 { margin-top: unset; }
.sub h3 + .detail-box_wrap { margin-top: 100px; }
.sub h5 { color: #303F82; font-size: 24px; font-weight: 600; /*padding-top: 30px; margin-top: 30px; margin-bottom: 20px;*/ }
.detail_wrap { margin-bottom: 100px; display: flex;flex-direction: column; gap: 60px; }
.detail-date { color: #4A90E2; font-size: 16px; font-weight: 500; }
.detail-tit { color: #303F82; font-size: 28px; font-weight: 600; }
.detail-tit + .detail-box_wrap h4{ margin-top: unset;}
.detail-cont { color: #292929; font-size: 18px; font-weight: 400;}
.detail-cont img { max-width: 100%; height: auto!important }
.detail-cont a { text-decoration: underline; transition: opacity 0.3s ease;  word-break: break-all;}
.detail-cont a:hover { opacity: 0.6; }
.detail-cont02 { color: #292929; font-size: 18px; font-weight: 400; text-align: center; line-height: 2; }
.detail-img { width: 100%; }
.detail-docs_item { color: #292929; font-size: 16px; font-weight: 400; }
.detail-docs_item + .detail-docs_item { margin-top: 20px; }
.docs_icon { position: relative; width: fit-content; }
.docs_icon::after { content: ""; display: inline-block; margin-left: 20px; background-size: contain; background-repeat: no-repeat; background-position: center; position: absolute; }
.docs_pdf::after { width: 20px; height: 20px; background-image: url("../img/pdf_icon.png"); right: -38px; top: 5px; }
.docs_wpel-link::after { width: 18px; height: 18px; background-image: url("../img/wpel_icon.png"); right: -38px; top: 6px; }
.detail-docs_item::before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: currentColor; transform-origin: 0% 50%; transform: scale3d(1,1,1); transition: transform 0.3s; pointer-events: none; }
.detail-docs_item:hover::before { transform-origin: 100% 50%; transform: scale3d(0,1,1); }
.docs__pdf_wpel-link::after { right: -76px; top: 4px; width: 56px; height: 20px; background-image: url("../img/pdf_icon.png"), url("../img/wpel_icon.png"); background-position: left center, right center; background-repeat: no-repeat, no-repeat; background-size: 20px 20px, 20px 20px; }
.detail-databox_wrap { margin-top: 80px; gap: 80px; }
.detail-databox_wrap h4 { margin-top: 0; }
.detail-box_wrap, .detail-box { display: flex; flex-direction: column; }
.detail-box_wrap { gap: 80px;word-break: break-all;}
.detail-box_wrap table { border-collapse: collapse; width: 100%; }
.detail-box_wrap th,
.detail-box_wrap td { border: 1px solid #333; padding: 10px; }
.detail-box { gap: 60px; }
.detail-box p { color: #292929; }
.detail-box img { max-width: 100%; height: auto!important }
.event-wysiwyg-text a { white-space: nowrap; }
.detail-box_tit01, .detail-box_tit02 { text-align: center; font-weight: 600; color: #303F82; }
.detail-box_tit01 { font-size: 28px; }
.detail-box_tit02 { font-size: 21px; }
.detail-box_tit03 { font-size: 21px; text-align: center; font-weight: 600; color: #292929; }
.detail-databox_wrap + .event-btn_wrap{margin-top: 100px;}

/* -- sub about -- */
.about .pv-img { background-image: url('../img/pv-about.jpg'); }
@supports (background-image: url("../img/pv-about.webp")) {
  .about .pv-img { background-image: url("../img/pv-about.webp"); }
}
.detail-box-txt_wrap_01 { display: flex; flex-direction: column; gap: 24px; }
.detail-box-txt_wrap_02 { display: flex; flex-direction: column; gap: 40px; }
.detail-box-txt_wrap_01 .detail-docs_item + .detail-docs_item {margin-top: unset;}
.detail-box-txt_wrap_01 .docs_icon{padding-right: 38px;}
.detail-box-txt_wrap_01 .docs_icon::after{right: 0px;}
.greeting { display: flex; }
.greeting-img_cont { position: relative; display: flex; }
.greeting-img_cont img { aspect-ratio: 400 / 549; max-height: 549px; object-fit: cover; object-position: 50% 50%; width: 400px; height: 549px; max-width: 400px; }
.greeting-bar { border-left: 1px dashed #303F82; margin: 0 60px; }
.greeting-txt { display: flex; flex-direction: column; gap: 20px; }
.greeting-txt p { color: #292929; }
.greeting-name { font-size: 20px; color: #1F2F5B; line-height: 1.5; font-weight: 600; margin-top: 28px; }
.slanted-box_wrap { max-width: unset !important;}
.slanted-box { max-width: 1200px; display: flex; position: relative; margin: auto; padding: 0 100px; }
.slanted-box .top-about_cont  { width: 461px; z-index: 1; padding: 80px 0; }
.detail-box-tit { color: #303F82; font-size: 48px; line-height: 1.3; letter-spacing: 2.4px; font-weight: 500; font-family: "Oswald"; margin-bottom: 30px; }
.detail-box-txt { color: #FFF; font-size: 21px; font-weight: 600; line-height: 1.5; text-align: left; word-break: normal; overflow-wrap: break-word; }
.about-btm-off { margin: 80px auto 40px!important; }
.about-top-off { margin: 140px auto 160px!important; }
.top-about_img.slanted-box-img01::before { background-image: url(../img/slanted-box01.png);     width: auto;
    height: 100%;
    left: unset;
    transform: translate(0%, 0%);
    top: unset;
    max-height: unset;
    max-width: unset;
    z-index: 0;}
@supports (background-image: url("../img/slanted-box01.webp")) {
    .slanted-box-img01::before {
        background-image: url(../img/slanted-box01.webp);
    }
}
.top-about_img.slanted-box-img02::before{background-image: url(../img/slanted-box02.png); }
@supports (background-image: url("../img/slanted-box02.webp")) {
    .slanted-box-img02::before {
        background-image: url(../img/slanted-box02.webp);
    }
}
.slanted-box_wrap01 { background: #66CDB3;margin: 40px auto 80px!important;}
.slanted-box_wrap02 { background: #A5DD97;margin: 80px auto!important;}
.slanted-box_wrap + .slanted-box_wrap { margin-top: 160px; }
.slanted-box_wrap02 .slanted-box { flex-direction: row-reverse; }
.slanted-box_wrap02 .slanted-box-img02::before { /*right: 38%; transform: translate(8%, -50%); left: unset; */right: 17%;width: auto;height: 100%;left: unset;transform: translate(-50%, 0%);top: unset;max-height: unset;max-width: unset;z-index: 0;}
.w-100-img { width: 100%; }
.about iframe { aspect-ratio: 200/119; max-height: 714px; }
.recruitment-box_wrap { display: flex; gap: 20px; justify-content: flex-end; margin-bottom: 60px; }
.year_box_wrap { position: relative; display: flex; justify-content: flex-end; }
.year_box { display: flex; gap: 40px; align-items: center; justify-content: center; color: #303F82; font-size: 16px; font-weight: 400; background: #fff; height: 50px; width: 169px; box-sizing: border-box; cursor: pointer; border: 1px solid #303F82; }
.year_box_arr { background-image: url('../img/lang_box_arr.png'); width: 17px; height: 10px; transition: transform 0.3s ease; transform-origin: center; }
.year_box_arr.active { transform: rotateX(180deg); }
.year_dropdown { opacity: 0; visibility: hidden; transform: translateY(-20px); transition: transform 0.3s ease, opacity 0.3s ease; margin: 0; padding: 0 24px 16px 24px; list-style: none; background: #fff; width: 169px; border: 1px solid #303F82; box-sizing: border-box; position: absolute; top: 50px; border-top: unset; overflow: hidden;top: 44px; }
.year_dropdown.open { opacity: 1; visibility: visible; transform: translateY(0); }
.year_dropdown.closing { opacity: 0; transform: translateY(-3px); visibility: visible; }
.year_dropdown li a { display: block; color: #303F82; text-decoration: none; font-size: 16px; }
.year_dropdown li a:hover { color: #4A90E2; }
.search_box { display: flex;transition: border-color 0.3s; }
.search_box input { width: 300px; height: 50px; padding: 20px 18px; box-sizing: border-box; font-size: 16px; font-weight: 400; transition: .3s background-color; color: #303F82; background: #FFF; border: unset; border-bottom: 1px solid #B0C2DE; }
.search_box button { padding: 0; background-image: url('../img/search-02.png'); width: 50px; height: 50px; background-size: 16px; background-color: #FFF; border: unset; border-bottom: 1px solid #B0C2DE;cursor: pointer;}
.search_box input, .search_box button { transition: border-color 0.3s; }
.search_box:hover input, .search_box:hover button, .search_box input:focus, .search_box button:focus { border-color: #8FA7CE; outline: none;}
.list-li { display: flex; align-items: center; padding: 25px 30px; gap: 40px; border-bottom: 1px solid #B0C2DE; }
.list-li_date { color: #4A90E2; font-size: 16px; font-weight: 500; width: 130px; flex-shrink: 0; text-align: left; }
.list-li_tit { color:#292929; font-size: 18px; font-weight: 500; position: relative;text-decoration: none;padding-bottom: 1px;overflow: hidden;}
.list-li_tit::after {content: "";position: absolute;left: 0;bottom: 0;width: 0;height: 1px;background: currentColor;}
a:hover .list-li_tit::after {width: 100%;transition: width 0.35s cubic-bezier(0.215,0.61,0.355,1);}
.list-li_tit.line-out::after {animation: lineOut 0.35s forwards;}
.list-li_new { width: 38px; border-radius: 24px; background: #E5322D; color: #fff; font-size: 11px; font-weight: 500; text-align: center; align-items: center; line-height: 1.5; }
.report-ul { display: flex; gap: 90px ; flex-wrap: wrap; position: relative; justify-content: flex-start; }
.report-li { width: calc(33.333% - 60px); position: relative; }
.report-li::after { content: ''; position: absolute; width: 1px; height: 100%; background-color: #303F82; top: 0; right: -45px; display: none; }
.report-li.show-line::after { display: block; }
.report-li_img img { width: 100%; aspect-ratio: 91/129; box-shadow: 4px 4px 16px 0 rgba(49, 62, 129, 0.35);}
.report-li_txt { color: #292929; font-size: 21px; font-weight: 500; padding-right: 38px; }
.report-li_txt::after { top: 8px; right: 0; }
a:hover .report-li_txt::before {width: 100%;transition: width 0.35s cubic-bezier(0.215,0.61,0.355,1);}
.report-li_txt.line-out::before {animation: lineOut 0.35s forwards;}
.page-nav { display: flex; justify-content: center; align-items: center; margin-top: 100px; }
.page-nav_btn { color: #303F82; font-size: 16px; font-weight: 500; display: inline-block; box-sizing: border-box; display: flex; align-items: center; justify-content: center; transition: color 0.3s ease; }
.page-nav_btn.prev{margin-right: 10px;}
.page-nav_btn.next{margin-left: 10px;}
.page-nav_btn span { display: flex; align-items: center; gap: 10px; }
.page-nav_btn.prev span::before, .page-nav_btn.next span::after { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: contain; background-image: url(../img/btn_arr02.png); width: 12px; height: 12px;transition: color 0.3s ease;}
.page-nav_btn.prev, .page-nav_btn.next { padding: 10px 12px; border-bottom: 1px solid #303F82; }
.page-nav_btn.prev span::before { transform: scaleX(-1); }
.page-numbers { margin: 0 20px; display: flex; flex-wrap: wrap; gap: 2px; justify-content: center; }
.page-nav_btn.num { width: 44px; height: 44px; }
.page-nav_btn.num + .page-nav_btn.num{margin-left: 2px;}
.page-nav_btn.num:hover, .page-nav_btn.num.current{background-color: #303F82;color: #fff;}
.page-nav_btn.prev:hover span::before { animation: navPrevMove 0.6s cubic-bezier(0.215,0.61,0.355,1) forwards; }
.page-nav_btn.next:hover span::after { animation: navNextMove 0.6s cubic-bezier(0.215,0.61,0.355,1) forwards; }
@keyframes navPrevMove {0%   { transform: scaleX(-1) translate(0,0); opacity:1; }40%  { transform: scaleX(-1) translate(8px,0); opacity:0; }41%  { transform: scaleX(-1) translate(-8px,0); opacity:0; }100% { transform: scaleX(-1) translate(0,0); opacity:1; }}
@keyframes navNextMove { 0% { transform: translate(0,0); opacity:1; } 40% { transform: translate(8px,0); opacity:0; } 41% { transform: translate(-8px,0); opacity:0; } 100% { transform: translate(0,0); opacity:1; } }

/* -- sub news -- */
.news .pv-img { background-image: url('../img/pv-news.jpg'); }
@supports (background-image: url("../img/pv-news.webp")) {
  .news .pv-img { background-image: url("../img/pv-news.webp"); }
}
.news .news_li_wrap { gap: 20px; }
.news .news_li { width: 100%; }
.projects .projects_li_wrap { gap: 20px; }
.projects .projects_li { width: 100%; }
.news .search_box { justify-content: flex-end;margin-bottom: 80px;}

/* -- sub event -- */
.event .pv-img { background-image: url('../img/pv-event.jpg'); }
@supports (background-image: url("../img/pv-event.webp")) {
  .event .pv-img { background-image: url("../img/pv-event.webp"); }
}

.event-sec { max-width: 1600px!important; }
.event-search { margin-bottom: 100px; display: flex; gap: 60px; justify-content: flex-end; align-items: center; }
.event-search .search-checkbox { padding: 20px 40px; }
.event-search-opt{display: flex;gap: 50px;align-items: center;}

.event .detail-date { font-size: 24px; font-weight: 600; }
.event-detail-date_wrap { display: flex; flex-direction: column; gap: 40px; }
.event .detail-box_wrap h4 { margin-bottom: unset; }
.event .detail_wrap h4 { margin-bottom: unset; }

.desc-list { width: 100%; }
.desc-list dl { display: flex; border-top: 1px solid  #303F82; }
.desc-list dl:last-child { border-bottom: 1px solid  #303F82; }
.desc-list dt { padding: 15px; background: #EFF3F8; border-left: 1px solid #303F82; display: flex; align-items: center; justify-content: center; font-weight: 600; box-sizing: border-box; width: 30%; }
.desc-list dd { padding: 15px 40px; border-left: 1px solid #303F82; border-right: 1px solid #303F82; box-sizing: border-box; width: 70%;word-break: break-all;}

.event-btn_wrap { display: flex; gap: 40px; justify-content: center; /*margin-top: 100px;*/ }
.event-btn_wrap .btn_01 { background-color: #303F82; border: 1px solid #303F82; }
.event-btn_wrap .btn_01 span { color: #fff; }
.event-btn_wrap .btn_01 .bg_img { background-image: url('../img/btn_arr01_on.png'); }
.event-btn_wrap .btn_03 { margin: unset; }

.event-sec2{max-width: 1200px!important;}
.event-sec2 h3{margin-bottom:unset;}
.event-sec2 .detail-box_wrap{gap: 100px;}
.event-sec2 .detail-box_wrap + .detail-box_wrap h4{margin-top: 120px;}
.event-sec2 .event-btn_wrap .btn_01{background-color: #FFF;}
.event-sec2 .event-btn_wrap .btn_01 span {color: #303F82;}
.event-sec2 .event-btn_wrap .btn_01 .bg_img {background-image: url('../img/btn_arr01.png');}

/* -- member -- */
.member .pv-img { background-image: url('../img/pv-member.jpg'); }
@supports (background-image: url("../img/pv-member.webp")) {
  .member .pv-img { background-image: url("../img/pv-member.webp"); }
}

.member-list { margin: 100px auto 160px!important; }
.member-cluster{margin: 100px auto 0!important; }
.member-cluster-dtl{margin: 0 auto!important; }
.member-nav { display: flex; margin-bottom: 100px; justify-content: center; gap: 20px; } 
.member-nav-li { border: 1px solid #303F82; background: #FFF; width: calc(100% / 3 - 13px); max-width: 387px; padding: 19px 51px; box-sizing: border-box; transition: color 0.3s ease; display: grid; } 
.member-nav-li span { display: flex; color: #303F82; font-size: 18px; font-weight: 600; justify-content: space-between; align-items: center; line-height: 22px; gap: 10px; } 
.member-nav-li span::after, .modules-list_icon::after { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: contain; background-image: url(../img/btn_arr01.png); width: 13px; height: 13px; }
.member-nav-li:hover span::after, .modules-list a:hover .modules-list_icon::after { animation: memberNavMove 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) forwards; }
@keyframes memberNavMove { 0% { transform: translate(0, 0); opacity: 1; } 40% { transform: translate(8px, -8px); opacity: 0; } 41% { transform: translate(-8px, 8px); opacity: 0; } 100% { transform: translate(0, 0); opacity: 1; } }
.member-li_cont { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 90px; position: relative; }
.member-li_item { width: calc(33.333% - 60px); position: relative; }
.member-li_item::after { content: ''; position: absolute; width: 1px; height: 100%; background-color: #303F82; top: 0; right: -45px; display: none; }
.member-li_item.show-line::after { display: block; }
.member-li_img_wrap { position: relative; display: flex; }
.member-li_img { overflow: hidden; border-radius: 16px; aspect-ratio: 4 / 5; max-height: 425px; width: 100%; height: 100%; }
.member-li_img img { max-height: 425px; aspect-ratio: 4/5; border-radius: 16px; object-fit: cover; object-position: 50% 50%; width: 100%; height: 100%; transition: transform 0.4s; min-height: 100%; min-width: 100%; }
.member-li_item:hover .member-li_img img { transform: scale(1.08); }
.member-li_img.no-img { background-color:#D7E0EE; background-size: 40%;transition: background-size 0.4s ease;}
.member-li_item:hover .member-li_img.no-img { background-size: 50%;}
.member-li_label_wrap { display: flex; gap: 5px; position: absolute; bottom: -12.5px; }
.member-li_label_wrap div { padding: 5.5px 20px; box-sizing: border-box; line-height: 1; font-size: 14px; font-weight: 500; /*width: max-content;*/ height: fit-content; }
.member-li_position { border-radius: 32px; color:#FFF; }
.member-li_position_01 { background-color:#5583B5; }
.member-li_position_02 { background-color:#63CECA; }
.member-li_position_03 { background-color:#99C769; }
.member-li_position_04 { background-color:#BF73A3; }
.member-li_position_05 { background-color:#6A8FD0; }
.member-li_position_06 { background-color:#DCC12B; }
.member-li_position_07 { background-color:#6FB7E6; }
.member-li_position_08 { background-color:#FF8361; }
.member-li_position_09 { background-color:#5583B5; }
.member-li_cluster { border-radius: 15px; color:#292929; }
.member-li_cluster_01 { background-color: #B9C9E4; }
.member-li_cluster_02 { background-color: #B9C9E4; }
.member-li_cluster_03 { background-color: #B9C9E4; }
.member-li_cluster_04 { background-color: #B9C9E4; }
.member-li_txt { padding-top: 30px;color: #1F2F5B;--transform-origin-start: left; --transform-origin-end: right; --animation-default: .3s ease; --color-foreground: 31, 47, 91;--hover-underline-gap: 1px; color: currentColor;}
.member-li_name { color: #1F2F5B; font-size: 20px; font-weight: 600; line-height: 1.5;display: inline; background: linear-gradient(to var(--transform-origin-end), currentColor, currentColor) 0 var(--hover-underline-gap) / 0 var(--hover-underline-gap) no-repeat; background-position-x: var(--transform-origin-end); background-position-y: bottom; transition: background-size var(--animation-default), color var(--animation-default);}
.member-li_title { padding-top: 5px; color: #1F2F5B; }
.member-li_dtl { padding-top: 10px; color: #292929; }
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .member-li_item:hover .member-li_name { background-position-x: var(--transform-origin-start); background-size: 100% var(--hover-underline-gap); background-position-y: bottom;}
}
.member-view { display: flex; flex-direction: column; }
.member-box { background-color: #D4EBFB; padding: 60px; }
.member-box_img { max-width: 340px; max-height: 426px; aspect-ratio: 170 / 213; border-radius: 16px; object-fit: cover; object-position: 50% 50%; width: 35%; height: 100%; float: left; margin: 0 60px 60px 0; }
.member-box:not(:has(.member-box_txt)) .member-box_img { margin: 0 60px 0 0; }
.member-box .member-li_label_wrap { position: relative; bottom: 0; margin-top: 10px; }
.member-box .member-li_label_wrap { width: fit-content; margin-top: 10px; /*padding: 5.5px 20px;*/ box-sizing: border-box; line-height: 1; font-size: 14px; font-weight: 500; }
.member-box_name { color: #303F82; padding-top: 16px; font-size: 28px; font-weight: 600; }
.member-box_title { color: #303F82; padding-top: 6px; }
.member-box_dtl { color: #292929; padding-top: 14px; }
.member-box_txt { color: #292929; padding-top: 20px; }
.member-box_name.docs_icon { --transform-origin-start:left; --transform-origin-end:right; --animation-default:.3s ease; --color-foreground:48,63,130; --underline-thickness:1px; color:#303F82; position:relative; background:linear-gradient(to var(--transform-origin-end), #303F82, #303F82) 0 var(--underline-thickness) / 0 var(--underline-thickness) no-repeat; background-position-x:var(--transform-origin-end); background-position-y:bottom; transition:background-size var(--animation-default), color var(--animation-default); }
@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine) {
  .member-box_name.docs_icon:hover { background-position-x:var(--transform-origin-start); background-size:100% var(--underline-thickness); background-position-y:bottom; color:rgb(var(--color-foreground)); }
}
.member-dtl_cont .h4 { margin-bottom: 80px; }
.member-profile_table { width: 100%; }
.member-profile_table tr:first-child th, .member-profile_table tr:first-child td { padding-top: unset; }
.member-profile_table th { color: #303F82; font-size: 18px; font-weight: 600; border-bottom: 1px solid #303F82; padding: 13px 40px; box-sizing: border-box; text-align: left; white-space: nowrap; width: 220px; vertical-align: middle; }
.member-profile_table td { color: #292929; border-bottom: 1px solid #B0C2DE; padding: 15px 40px; }
.member-txt { color: #292929; display: flex; flex-direction: column; gap: 40px; }
.member-history_etc { padding-top:40px; }
.member-dtl_cont:has(> h4:only-child) > h4 { margin-bottom: unset; }
.sdgs-img_wrap { display: flex; gap: 20px; margin: 0 auto;flex-wrap: wrap;justify-content: center;}
.sdgs-img_wrap img { width: 100px; height: 100px; }
.member-link { border-bottom: 1px solid #B0C2DE; padding: 15px 60px 15px 40px; }
.member-link:first-child { padding: 0 60px 15px 40px; }
.member-link a { display: block; }
.underline_multiline { background-image: linear-gradient(to right, #221815, #221815); background-repeat: no-repeat; background-size: 100% 1px; background-position: 0% 100%; transition: background-size 0.3s ease, background-position 0.3s ease; word-break: break-all; }
.underline_multiline:hover { animation: slideOut 0.3s forwards; }
.underline_multiline:not(:hover) { animation: slideIn 0.3s forwards; }
@keyframes slideIn { from { background-size: 0% 1px; background-position: 0% 100%; } to { background-size: 100% 1px; background-position: 0% 100%; } }
@keyframes slideOut { from { background-size: 100% 1px; background-position: 0% 100%; } to { background-size: 0% 1px; background-position: 100% 100%; } }
.member-publications { counter-reset: pub-counter; }
.member-publications dl { display: flex; border-bottom: 1px solid #B0C2DE; }
.member-publications dl dt { counter-increment: pub-counter; color: #506083; font-size: 18px; font-weight: 600; padding: 25.5px 40px; }
.member-publications dl dt::before { content: counter(pub-counter); }
.member-publications dl:first-child dt { padding: 10.5px 40px 25px 40px; }
.member-publications dl dd { color: #292929;padding: 15px 40px 15px 0; }
.member-publications dl:first-child dd { padding: 0 40px 15px 0; }
.member-list .btn { margin: 100px auto 0; }
.member-search { margin-bottom: 100px; display: flex; gap: 60px; justify-content: flex-end; align-items: center; }
.search-checkbox { display: flex; gap: 10px 30px; border-radius: 40px; border: 1px solid #B0C2DE; align-items: center; padding: 24px 40px; box-sizing: border-box;flex-wrap: wrap;}
.search-checkbox span { color: #303F82; font-size: 18px; font-weight: 600; }
.checkbox-cont { display: flex; align-items: center; }
.checkbox-cont input[type="checkbox"] { display: none; }
.checkbox-cont label { position: relative; padding-left: 32px; cursor: pointer; font-size: 16px; user-select: none; color: #506083;}
.checkbox-cont label::before { content: ""; display: block; width: 22px; height: 22px; background-image: url(../img/checkbox.png); background-position: center; background-repeat: no-repeat; background-size: contain; position: absolute; top: 0; left: 0; bottom: 0; margin: auto 0; }
.checkbox-cont input:checked + label::before { background-image: url(../img/checkbox_on.png); }
.sub h3 + .member-dtl_cont > h4 { margin-top: unset; }
.member-img { width: 100%; }
.member-cluster-dtl h4 { max-width: 1200px; margin: 100px auto 80px; }
.cluster-cont_wrap { padding: 100px 0; }
.cluster-cont_wrap:nth-child(2n) { background-color: rgba(212, 235, 251, 0.60); }
.cluster-cont_wrap:last-child { margin-bottom: 0; }
.cluster-cont { max-width: 1200px;margin: 0 auto; }
.cluster-cont .detail-tit { padding-bottom: 80px; text-align: center; }
.cluster-tit { color: #292929; text-align: center; font-size: 24px; font-weight: 500; padding-bottom: 60px; }
.cluster-tit span { font-size: 18px; display: block; }
.cluster-cont .sdgs-img_wrap { padding-bottom: 80px; justify-content: center; }
.cluster-img { display: block; margin: 0 auto; width: 90%; }
.detail-box_tit { color: #303F82; font-size: 24px; font-weight: 600; line-height: normal; text-align: center; padding-bottom: 60px; }
.modules-list { display: flex; flex-wrap: wrap; width: 100%; gap: 10px 19px; }
.modules-list a { border-bottom: 1px solid #303F82; padding: 0 30px; box-sizing: border-box; width: calc( 33.333% - 12.666px); gap: 10px; display: flex; justify-content: space-between; align-items: center; height: 82px; }
.modules-tit { color: #303F82; font-size: 24px; font-weight: 600; line-height: normal; margin-bottom: 60px; text-align: center; }
.modules-tit span { font-size: 16px; display: block; font-weight: 400; padding-top: 20px; }
.modules-list_txt { color: #303F82; font-size: 18px; font-weight: 500; line-height: 22px; padding-bottom: 6px; }
.modules-list_subtxt { color: #303F82; font-size: 16px; font-weight: 500; line-height: 22px; }  
.modules-list_icon::after { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: contain; background-image: url(../img/btn_arr01.png); width: 13px; height: 13px;min-width: 13px; }
.member-cluster-dtl .cluster-cont_wrap:last-child { padding: 100px 0 160px; }
.detail-box .member-box .member-li_label_wrap { margin-bottom: 16px; }
.detail-box .docs_wpel-link::after { right: -33px; top: unset; bottom: 8px; }
.modules-member-li { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 89px 29px; position: relative; }
.modules-member-li .member-li_item { width: calc(25% - 21.75px); }
.modules-member-li .member-li_label_wrap div { line-height: 1.2; padding: 4.1px 20px; }

/* -- sub projects -- */
.project .pv-img { background-image: url('../img/pv-project.jpg'); }
@supports (background-image: url("../img/pv-project.webp")) {
  .project .pv-img { background-image: url("../img/pv-project.webp"); }
}
.project .search_box { justify-content: flex-end; }
.link-list a { display: block; color: #1F2F5B; border-bottom: 1px solid #B0C2DE; padding: 15px 72px 15px 40px; display: flex; align-items: flex-start; justify-content: space-between; display: block; position: relative; }
.link-list a:first-child { padding: 0 72px 15px 40px; }
.link-list a::after { content: ''; display: inline-block; background-repeat: no-repeat; background-position: center; background-size: contain; background-image: url(../img/btn_arr02.png); width: 16px; height: 16px; min-width: 16px; position: absolute; right: 40px; top: 50%; transform: translate(0,-50%);}
/* .link-list a:hover::after{animation: linkListMove 0.6s cubic-bezier(0.215,0.61,0.355,1) forwards;}
@keyframes linkListMove {0%   { transform: translate(0,-50%); opacity:1; }40%  { transform: translate(8px,-50%); opacity:0; }41%  { transform: translate(-8px,-50%); opacity:0; }100% { transform: translate(0,-50%); opacity:1; }} */
.project .detail-box_wrap h4, .project .detail_wrap h4 { margin-bottom: unset; }
.project .detail-box_wrap .btn { margin: 0 auto; }
.project .detail-box_wrap .underline_multiline { background-image: linear-gradient(to right, #1F2F5B, #1F2F5B); }
.project-search { margin-bottom: 100px; }
.project_li_wrap { margin-bottom: 60px; gap: 20px 30px; display: flex; flex-wrap: wrap; }
.project_li { display: flex; height: 171px;width: 100%;}
.project_img { flex-shrink: 0; width: auto;overflow: hidden;}  
.project_img img { width: auto; aspect-ratio: 228 / 171; max-width: 228px; object-fit: cover; display: block;transition: transform 0.4s;}  
.project_li:hover .project_img img {transform: scale(1.08);}
.project_img.no-img { min-width: 228px; background-size: 50%;transition: background-size 0.4s ease;}
.project_li:hover .project_img.no-img {background-size: 55%;}
.project_txt_wrap { background: #EAF4FC; flex: 1; padding: 18px 30px; display: flex; flex-direction: column; justify-content: flex-start; min-width: 0; box-sizing: border-box; }  
.project_tit { color: #292929; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;}
.project_tit span{font-size: 18px; font-weight: 600;word-wrap: break-word;}
.project_txt { color: #292929; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; margin: 7px 0; }  
.project_leader_wrap { display: flex; gap: 10px; flex-wrap: wrap; }  
.project_leader { color: #1F2F5B; font-weight: 600; }  
.project_leader_wrap .member-li_label_wrap { position: unset; }
.project .btn{ margin: 100px auto 0;}
.project .event-btn_wrap .btn{margin: unset;}
.project-detail-leader_wrap { display: flex; flex-direction: column; gap: 16px; }
.project-detail-leader_wrap .member-li_label_wrap { position: unset; }
.project-detail-leader_wrap .project_leader { font-size: 28px; }
.project-detail-img { display: flex; flex-direction: column; gap: 20px; }
.project-detail-img img { margin: 0 auto; max-width: 100%}
.project-detail-img_txt { text-align: center; display: flex; flex-direction: column; gap: 10px; }
.project-detail-img_txt p { font-size: 14px; }
.blue-link { color: #4A90E2; position: relative; }
.blue-link.docs_wpel-link::after { bottom: 2px; }
.project .project-detail-img_txt a, .project .detail-box_wrap .detail-box a { margin: 0 auto;padding-right: 40px;}
.project .project-detail-img_txt a.detail-docs_item::before, .project .detail-box_wrap .detail-box a.detail-docs_item::before {content: unset;}
.project .project-detail-img_txt a.detail-docs_item::after, .project .detail-box_wrap .detail-box a.detail-docs_item::after {top: 50%;transform: translateY(-50%);right: 0px;}
.project-kyudai .project_txt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; }
.project-kyudai .project_txt_wrap { gap: unset; }
.map{left: 50%;margin-left: -50vw;}
.project-map-popup { border-radius: 14px; background-color:  #FFF; filter: drop-shadow(1px 1px 12px rgba(49, 62, 129, 0.3)); padding: 28px 15px 10px 20px; display: inline-block; position: relative; font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;width: -webkit-fill-available;}
.project-map-popup svg { position: absolute; bottom: -22px; left: 50%; transform: translateX(-50%); }
.project-map-popup_cont { display: flex; flex-direction: column; gap: 6px; position: relative; }
.project-map-popup-date, .project-map-popup-time { font-size: 14px; color: #292929; white-space: nowrap; line-height: normal; }
.project-map-popup-date{min-width: 250px;}
.project-map-popup-tit { color: #506083; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: calc(100% - 10px); line-height: normal; }
.project-map-popup a { display: block; text-align: center; background-color: #303F82; color: #fff; display: flex; margin: 6px auto 8px; box-sizing: border-box; width: fit-content; padding: 1px 10px; }
.project-map-popup a:hover { background-color: #4A90E2; }
.project-map-popup a span { font-size: 14px; line-height: 1.5; }
.project-map-popup-close { position: absolute; width: 17.8px; height: 17.8px; background: transparent; border: none; cursor: pointer; top: 7px; right: 17px; }  
.project-map-popup-close::before, .project-map-popup-close::after { content: ''; position: absolute; width: 100%; height: 2px; background-color: #999; transform-origin: center; transition: background-color 0.3s; }  
.project-map-popup-close::before { transform: rotate(45deg); }  
.project-map-popup-close::after { transform: rotate(-45deg); }  
.project-map-popup-close:hover::before, .project-map-popup-close:hover::after { background-color: #666; }
.gm-style .gm-style-iw-tc{display: none;}
.project-country h4 { margin-bottom: 80px; }
.project-country-dtl { overflow: hidden; }
.project-country-dtl p { color: #292929; }
.project-country-dtl img { width: 32.3%!important; height: auto; float: right; margin: 0 0 60px 60px; }
.project-country-cont { margin: 40px 0; display: flex; flex-direction: column; gap: 80px; }
.project-country-cont + .project-country-cont { margin-top: unset; }
.project-country-cont .detail-tit { text-align: center; }
.project-country-cont .top-event_li_wrap { margin-bottom:unset; }
.project-country-cont .top-event_dtl { min-height: 161px; }
.project-country-cont .top-event_li { filter: drop-shadow(1px 1px 12px rgba(49, 62, 129, 0.30)); }
.project-country-cont .top-event_date { font-size: 18px; height: fit-content!important; }
.project-country-cont .top-event_tit { font-size: 16px; margin-bottom: 9px; line-height: 1.6;height: 56px;}
.project-country-cont .page-nav { margin-top: unset; }
.project-country-cont02 { margin: 100px 0; display: flex; flex-direction: column; gap: 80px; }
.project-country-cont02 + .project-country-cont02 { margin-top: unset; }
.project-country-cont02 .detail-tit { text-align: center; }
.project-country-cont02 .top-event_li_wrap { margin-bottom:unset; }
.project-country-cont02 .top-event_dtl { min-height: 161px; }
.project-country-cont02 .top-event_li { filter: drop-shadow(1px 1px 12px rgba(49, 62, 129, 0.30)); }
.project-country-cont02 .top-event_date { font-size: 18px; height: fit-content!important; }
.project-country-cont02 .top-event_tit { font-size: 16px; margin-bottom: 9px; line-height: 1.6;height: 56px;}
.project-country-cont02 .page-nav { margin-top: unset; }
.project-country-KYUDAINOW .detail-tit02 { text-align: center; margin-bottom: 80px; }
.project-country-KYUDAINOW .detail-date { font-size: 24px; }
.project-country-KYUDAINOW .btn { margin: unset; }
.project-country-NEWS .detail-tit02 { text-align: center; margin-bottom: 80px; }

/* --  contact -- */
.others .pv-img { background-image: url('../img/pv-others.jpg'); }
@supports (background-image: url("../img/pv-others.webp")) {
  .others .pv-img { background-image: url("../img/pv-others.webp"); }
}
/* --  contact -- */
.contact h4 { margin-bottom: 80px; }
.contact-form table { border-collapse: collapse; width: 100%; }
.contact-form table tr { border-bottom: 1px solid #303F82; border-top: 1px solid #303F82; }
.contact-form table th, .contact-form table td { padding: 20px 40px; color: #292929; min-height: 84px; box-sizing: border-box; }
.contact-form table th { background-color: #EFF3F8; border-right: 1px solid #303F82; vertical-align: middle; width: 360px; }
.contact-form table th div { display: flex; justify-content: space-between; align-items: center; font-size: 18px; font-weight: 600;text-align: left;}
.form_required { font-size: 11px; color: #FFF; border-radius: 2px; background: #E74C2D; padding: 2px 6px; }
.contact-form input, .contact-form textarea { padding: 10px 20px; border: 1px solid #506083; background: #FFF; margin: 0; font-size: 18px; width: 100%; box-sizing: border-box; line-height: 1.6; }
.contact-form textarea { min-height: 140px;resize: vertical;font-family: "Noto Sans JP", "Meiryo", "Geneva", Helvetica, "Hiragino Sans", "Droid Sans", Arial, "Arial Unicode", "Arial Unicode MS", sans-serif;}
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #B9BFCD; }
.contact-form input::-webkit-input-placeholder, .contact-form textarea::-webkit-input-placeholder { color: #B9BFCD; }
.contact-form input::-moz-placeholder, .contact-form textarea::-moz-placeholder { color: #B9BFCD; opacity: 1; }
.contact-form input:-ms-input-placeholder, .contact-form textarea:-ms-input-placeholder { color: #B9BFCD; }
.contact-form table td:has(textarea) { height: 180px; }
.contact-privacy-agree { color: #1F2F5B; text-align: center; }
.contact-privacy-agree .underline_multiline {    background-image: linear-gradient(to right, #1F2F5B, #1F2F5B);}
.progress-wrap { display: flex; align-items: center; justify-content: center; }
.progress-item { justify-content: center; border-radius: 50px; border: 1px solid #B0C2DE; display: flex; flex-direction: column; align-items: center; gap: 10px; box-sizing: border-box; height: 94px; width: 260px; }
.progress-item_on { border: 1px solid #303F82; }
.progress-item_on .progress-circle { color: #303F82; border: 2px solid #303F82; background-color: #303F82; }
.progress-item_on .progress-txt { color: #303F82; font-weight: 600; }
.progress-circle { color: #B0C2DE; min-width: 22px; min-height: 22px; box-sizing: border-box; border: 2px solid #B0C2DE; border-radius: 50%; }
.progress-txt { color: #506083; font-weight: 400; }
.progress-bar { width: 60px; height: 1px; background: #B0C2DE; }
.progress-bar_on { background: #303F82; }
.contact-btn_wrap { display: flex; gap: 100px; justify-content: center; margin: 100px auto 0; }
.contact-btn_wrap .btn_03{margin: unset;}
.contact-form-confirm table td div { font-size: 18px; line-height: 1.66; box-sizing: border-box; color: #292929; }
.contact-form-confirm table .tr_02 td div { min-height: auto; }
.contact-form-confirm table th, .contact-form-confirm table td {min-height: unset;}

/* --  link -- */
.partners-link-list a { padding: 15px 80px 15px 40px; }
.partners-link-list a:first-child { padding: 0 80px 15px 40px; }
.partners-link-list a:first-child::after { top: calc( 50% - 6px ); }
.partners-link-list a::after { background-image: url(../img/wpel_icon.png); width: 18px; height: 18px; min-width: 18px; }
/* .is-link-page .sub-tit h2 {font-size: 44px;} */
.partners-link-list a:hover .underline_multiline{animation: slideOut 0.3s forwards;}

/* -- policy -- */
.p-indent { padding-left: 2.5em; text-indent: -2.5em;  }
.others .detail-box_wrap a.detail-docs_item::before {content: unset;}
.others .detail-box_wrap a.detail-docs_item::after {right: 0;top: 50%; transform: translateY(-50%);}

/* -- sitemap -- */
.sitemap-nav, .to-event_report_wrap{ display: flex; margin: 100px auto; justify-content: center; gap: 20px; flex-wrap: wrap; }
.sitemap-nav-li, .to-event_report { border: 1px solid #303F82; background: #FFF; width: calc(33.333% - 13.333px); max-width: 387px; padding: 19px 51px; box-sizing: border-box; transition: color 0.3s ease; display: grid; }
.sitemap-nav-li span, .to-event_report span { display: flex; color: #303F82; font-size: 18px; font-weight: 600; justify-content: space-between; align-items: center; line-height: 22px; gap: 10px; }
.sitemap-nav-li span::after, .to-event_report span::after { content: ''; display: block; background-repeat: no-repeat; background-position: center; background-size: contain; background-image: url(../img/btn_arr01.png); width: 13px; height: 13px;transform: scaleY(-1); }
.sitemap-nav-li:hover span::after, .to-event_report:hover span::after { animation: sitemapNavMove 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) forwards; }
@keyframes sitemapNavMove { 0% { transform: scaleY(-1) translate(0, 0); opacity: 1; } 40% { transform: scaleY(-1) translate(8px, -8px); opacity: 0; } 41% { transform: scaleY(-1) translate(-8px, 8px); opacity: 0; } 100% { transform: scaleY(-1) translate(0, 0); opacity: 1; } }
.sitemap-member div { width: calc( 33.333% - 12.666px); display: flex; flex-direction: column; align-items: center; }
.sitemap-member div a { width: 100%; }

/* ---- end sub ---- */

/* pc 1800 1600 1440 1280 1200 */
@media print ,screen and (min-width:1201px) and (max-width:1750px){
  .logo_wrap { padding: 24px 0 24px 50px; }
  .logo { height: 80px; }
  .logo_wrap span { height: 70px; }
}

@media print ,screen and (min-width:1371px) and (max-width:1800px){
  .event-sec {padding: 0 100px;}
}

@media screen and (max-width:1750px) {
  .search-checkbox { gap: 20px; }
  .event-search, .member-search { align-items: flex-end; flex-direction: column-reverse; }
  .event-search .search-checkbox { margin: 0 auto; }
  .search-checkbox{margin: 0 auto;}
} 

@media screen and (max-width:1700px) {
  .top #about { position: relative; }
  .top-about_img::before { left: 41%; }

  .breadcrumb { padding-right: 100px; }
}

@media screen and (max-width:1550px) {
  /* 1. Prevent right menu from wrapping/shrinking */
  .header-menu-wrap {
    flex-shrink: 0;   /* Do not shrink the menu area */
    white-space: nowrap; /* Prevent text from wrapping to 2 lines */
  }

  .header-menu {
    gap: 15px; 
    padding-right: 20px; 
  }

  /* 2. Force logo wrapper to shrink first */
  header .logo_wrap {
    padding: 24px 10px 24px 30px; /* Adjusted padding */
    gap: 10px;
    flex-shrink: 1;      
    min-width: 0;        
    display: flex;
    align-items: center; 
  }

  /* 3. Allow logos to resize responsively */
  header .logo_01,
  header .logo_02 {
    height: auto !important;
    max-height: 80px;    /* Cap height */
    width: auto;
    max-width: 100%;     /* Shrink width based on parent container */
    object-fit: contain;
  }

  /* 4. Allow link container to shrink */
  header .logo_wrap a {
    flex-shrink: 1;
    min-width: 0;
    display: flex;
    align-items: center;
  }

  /* 5. Separator line adjustment */
  header .logo_wrap span {
    margin: 0 10px;
    flex-shrink: 0;
  }

  .header--half-hide .logo_wrap {
        top: auto !important;
        bottom: 10px !important;
        transform: none !important;
  }
}

@media screen and (max-width:1450px) {
  .top-project-li, .top-project-cont { aspect-ratio: unset; }
  .footer-menu_wrap { gap: 50px; }
  .footer-menu { gap: 35px; }
  .breadcrumb { padding-right: 80px; }
}

@media screen and (max-width:1420px){
  .top #project-download { flex-direction: column; }
  .download-sec { display: flex; flex-direction: column; }
  .top #project-download { gap: 100px; }
}

@media screen and (max-width:1370px) {
  .sub section { margin: 100px 80px 140px; }
  .member-list { margin: 100px 80px 140px!important; }
  .member-cluster { margin: 80px 80px 0!important; }
  .member-cluster-dtl { margin: 0 auto!important; }
  .cluster-cont { margin: 0 80px!important; }
  .event-sec { margin: 100px 80px 140px!important; }
  .about-btm-off  { margin: 80px 80px 0 !important; }
  .about-top-off { margin: 0 80px 140px!important; }
  .map{left: -80px;margin-left: unset;}
}

@media screen and (max-width:1350px) {
  /* .header-sns { display: none; } */
  #news .sec_cont { padding: 0 80px; }
  .footer-menu_wrap { gap: 35px; height: unset; flex-direction: column; padding: 35px 100px 40px; }
}

@media screen and (min-width:1281px) { 
  .header-drawer_menu { display: none; }
}

@media screen and (max-width:1280px) {

  .header-menu-wrap .header-tools > *, .header-menu-wrap .header-menu {display: none;}

  .header-menu-wrap .header-tools .lang_box_wrap {display: block;position: absolute;right: 100px;bottom: 25px;}
  .header-menu-wrap .header-tools .lang_box_wrap .lang_box{background:#fff;}
  .header-menu-wrap .header-tools .lang_box_wrap .lang_dropdown {filter: drop-shadow(1px 1px 12px rgba(49, 62, 129, 0.30));border: none;}

  .header-drawer_menu { display: block; }

  header { height:99px; position: fixed; z-index: 2000; background: #fff; width: 100%;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);} 

  header .logo_wrap {
    gap: 10px;          
    flex-shrink: 1;     
    min-width: 0;       
    padding-right: 10px; 
  }

  header .logo_wrap a {
    flex-shrink: 1;
    min-width: 0;
    display: flex;
    align-items: center;
  }

  header .logo,
  header .logo_01,
  header .logo_02 { 
    height: auto !important;
    max-height: 60px;
    width: auto; 
    max-width: 100%;
    object-fit: contain;
  } 
  
  .logo_wrap span { height: 50px; flex-shrink: 0; margin: 0 10px; }

  .slanted-box_wrap02 .slanted-box-img02::before {right: 11%;}
  .footer-access_wrap { gap: 60px; }
  .member-search { gap: 60px; }
  .search-checkbox { padding: 24px 50px; }
  .slanted-box .top-about_cont { width: 400px; }
  .news_tit { -webkit-line-clamp: 2; }
  .news_li { height: unset; }
  .projects_li { height: unset; }
}

@media screen and (max-width:1200px) {
  .sub-tit h2 { font-size: 42px; }
  .sub-tit h2 span { font-size: 18px; }
  #main_visual { margin-top: 100px; }
  #event .sec_cont { padding: 0 80px; }
  .top-event_dtl { padding: 20px; }
  .top .top-about_img::before { z-index: 0; }
  .top .top-about_cont { z-index: 1; }
  .footer-access_wrap { padding: 0 100px; }
  footer .logo_wrap { display: none; }
  .member-nav-li, .sitemap-nav-li { padding: 20px 35px; }
  .member-search { flex-direction: column-reverse; align-items: flex-end; }
  .search-checkbox { margin: 0 auto; }
  /* .detail-box-txt { font-size: 24px; } */
  /* .slanted-box_wrap02 .slanted-box-img02::before { right: 45%; } */
  .event .search-checkbox { width: 602px; }
  #about, #news, #events, #staff, #projects, #others { scroll-margin-top: 100px; }
}

@media screen and (max-width:1120px) {
  .footer-menu { flex-wrap: wrap;gap: 0 5px;justify-content: space-between;}
  .footer-menu a { width: calc(100% / 3 - 10px); padding: 8px 0; }
  .slanted-box .top-about_cont { width: 350px; }
  .about .top-about_img::before { filter: brightness(.65); width: auto; height: 100%; transform: translate(-50%, 0%)!important; top: unset; max-height: unset; max-width: unset; z-index: 0; right: -50%!important; left: 50%!important; }
  .slanted-box { padding: 0 50px; justify-content: space-around; }
  .top-about_img.slanted-box-img02::before { transform: translate(-50%, 0%); right: -50%; left: 50%; }
  .slanted-box_wrap02 .slanted-box { flex-direction: unset; }
  .slanted-box_wrap { max-height: unset; }
  .slanted-box_wrap + .slanted-box_wrap { margin-top: 80px; }
  .detail-box-tit { font-size: 36px; color: #fff; }
  .detail-box-txt { font-size: 21px; }
  .slanted-box .top-about_cont { width: 400px; }
}

@media screen and (max-width:1080px) {
  .contact-form table th, .contact-form table td { padding: 20px 40px; }
  .contact-form table th { width: 320px; }
  .report-li_txt { font-size: 18px; }
  .report-li_txt::after { top: 5px; }
}

/* ---------- tb 1024 768 ---------- */
@media screen and (max-width:1024px) {
  .sec_cont:not(.project-sec .sec_cont, .download-sec .sec_cont) { padding: 0 50px!important; }
  .top #news, .top #event, .top #logo-list { margin-top: 80px; }
  .top #project-download { gap: 80px; }
  #news .sec_cont, #project-download .sec_cont { margin: 45px auto 0; }
  #event .sec_cont{ margin: 100px auto 0; }
  .top #logo-list .sec-tit { margin-bottom: 45px; }
  .top h3 { font-size: 36px; }
  .top h4 { font-size: 14px; }
  .btn span { font-size: 16px; }
  .btn-donate { width: 45px; }
  .news_img { width: 25%; max-width: unset; min-width: 166.5px; }
  .news_img img { width: 100%; height: auto; }
  .news_img.no-img { min-width: 166.5px; width: 25%; max-width: unset; aspect-ratio: 4 / 3; }
  .news_txt { box-sizing: border-box; padding: 10px 20px; width: 75%; }
  .news_tit { font-size: 16px;-webkit-line-clamp: 3;}
  .news_li {width: 100%;}
  .top-event_date { font-size: 21px; }
  .top-event_dtl { padding: 15px 20px; }
  .top-event_li_wrap { gap: 15px; }
  .top-event_li { width:calc(100% / 2 - 8px); }
  .top-event_bg {bottom: 100px;top: 125px;}
  .top-event_tit { font-size: 16px; height: 56px; }
  .top-event_dtl { min-height: unset; }
  .top #about { padding: unset; }
  .top #about .sec-tit { padding-top: 92px; z-index: 1; position: relative; }
  .top-about_txt { z-index: 1; position: relative; }
  .top #about .btn { margin-bottom: 93px; z-index: 1; position: relative; background-color: #FFF; }
  .top #about .btn:hover { border: 1px solid #303F82;}
  .top-about_img::before { filter: brightness(.65); width: auto; height: 100%; left: unset; transform: translate(-50%, 0%); top: unset; max-height: unset; max-width: unset; z-index: 0; right: -50%; left: 50%; }
  .top #about h3 { color: #fff; }
  .top #logo-list .sec_cont a { width: 100%; display: flex; justify-content: center; max-width: 550px; padding: 20px!important; }
  .top #project-download { padding: 0 50px; }
  .project-sec .sec_cont { flex-direction: column; align-items: center; }
  .top-project-li, .top-project-cont { max-width: unset; width: 100%; }
  .footer-access_txt p { font-size: 14.65px; }
  .footer-access_wrap { padding: 0 50px; gap: 50px; }
  .sub section { margin: 80px 50px 140px; }
  .member-list { margin: 80px 50px 140px!important; }
  .member-cluster { margin: 80px 50px 0!important; }
  .member-cluster-dtl { margin: 0 auto!important; }
  .cluster-cont { margin: 0 50px!important; }
  .about-btm-off  { margin: 80px 50px 0 !important; }
  .about-top-off { margin: 0 50px 140px!important; }
  .map{left: -50px;}
  .breadcrumb { padding-right: 40px; }
  .sub-tit { width: 460px; }
  .sub-tit::before { width:460px; }
  .report-li { width: calc( 100% / 3 - 14px )}
  .member-nav { gap: 10px; }
  .member-nav-li, .sitemap-nav-li { padding: 20px; }
  .member-li_cont { gap: 90px 60px; }
  .member-li_item::after { right: -30px; }
  .member-li_item { width: calc(33.333% - 40px); }
  .member-box { gap: 50px; }
  .member-box_img { margin: 0 40px 40px 0; }
  .member-box:not(:has(.member-box_txt)) .member-box_img { margin: 0 40px 0 0; }
  .modules-list a { padding: 0 15px; }
  .modules-member-li .member-li_item { width: calc(25% - 15px); }
  .modules-member-li { gap: 80px 20px; }
  .event-sec { margin: 80px 50px 140px!important; }
  .greeting-img_cont img { width: 270px; height: auto; }
  .greeting-bar { margin: 0 50px; }
  .greeting .member-li_label_wrap { bottom: -23px; }
  .greeting .member-li_label_wrap div { line-height: 1.25; width: auto; }
  .greeting-name { margin-top: 40px; }
  
  .report-ul { gap: 90px 60px; }
  .report-li::after { right: -30px; }
  .report-li { width: calc(33.333% - 40px); }
  .sub h3 { font-size: 36px; margin-bottom: 40px; }
  .sub h3 span { font-size: 18px; }
  .detail-tit { font-size: 26px; }
  .sub h4 { padding-top: 15px; font-size: 28px; margin-top: 80px;}
  
  .detail_wrap { margin-bottom: 80px; }
  .top-event_li_wrap { margin-bottom: 100px; }
  .page-nav { margin-top: 80px; }
  .member-nav { margin-bottom: 60px; }
  .member-nav-li, .sitemap-nav-li { padding: 10px 15px; }
  .member-nav-li span, .sitemap-nav-li span { font-size: 14px; }
  .pv-cont { height: 50px; }
  .member-list .btn { margin: 80px auto 0; }
  .cluster-cont_wrap { padding: 80px 0; }
  .cluster-cont .detail-tit { padding-bottom: 60px; }
  .cluster-tit { padding-bottom: 60px; }
  .cluster-cont .sdgs-img_wrap { padding-bottom: 60px; }
  .modules-tit { margin-bottom: 40px; }
  .member-cluster-dtl .cluster-cont_wrap:last-child { padding: 80px 0 100px; }
  .sdgs-img_wrap img { width: 80px; height: 80px; }
  .detail-box_tit01 { font-size: 26px; }
  .member-box_name { font-size: 26px; }
  .detail-box .docs_wpel-link::after { bottom: 6px; }
  .member-li_name { font-size: 18px; }
  .member-search { margin-bottom: 80px; }
  .detail-box_wrap { gap: 60px; }
  .detail-databox_wrap { margin-top: 60px; gap: 60px; }
  .event-search { margin-bottom: 80px; }
  .project-search { margin-bottom: 80px; }
  .project .btn { margin: 80px auto 0; }
  .project .detail-box .docs_wpel-link::after { top: 4px; }
  .project-country-cont { margin: 20px 0 0 0; gap: 60px; }
  .project-country-cont02 { margin: 80px 0 60px; gap: 60px; }
  .project-country-cont02 .detail-tit { font-size: 26px; margin-bottom: -30px; }
  .contact-btn_wrap { margin: 80px auto 0; }
  .sitemap-nav { margin: 80px auto; }
  #about, #news, #events, #staff, #projects, #others { scroll-margin-top: 80px; }
  .top #logo-list { margin: 80px 0 100px; }
  .top #project-download { margin: 80px auto; }
  .download-sec { margin-bottom: 40px; }
  .top-about_img.slanted-box-img01::before {transform: translate(-50%, 0%);right: -50%;left: 50%;}
  .event-sec2 .detail-box_wrap { gap: 80px; }
}

@media screen and (max-width:950px) {
  .header-drawer_menu__inner_item .modules-list a, .header-drawer_menu__inner_item .modules-list.sitemap-member div { width: calc( 50% - 11px); }
  .footer-access_wrap { flex-direction: column; gap: 35px; padding: 40px 50px; height: unset; }
  .sub-tit { bottom: 50px; }
  .modules-list a, .sitemap-member div { width: calc( 50% - 19px); }
  .modules-member-li .member-li_item { width: calc(33.333% - 13.333px); }
  .modules-member-li { gap: 30px 20px; }
  .contact-form table th, .contact-form table td { padding: 20px 30px; }
  .contact-form input, .contact-form textarea { padding: 10px 30px; }
}

@media screen and (max-width:900px){
  .contact-form table tr { border-bottom: unset; display: flex; flex-direction: column; }
  .contact-form table tr:last-child { border-bottom: 1px solid #303F82; }
  .contact-form table th, .contact-form table td { width: 100%; }
  .contact-form table th { border-right: unset; min-height: unset; padding: 15px 30px; }
  .progress-bar { width: 45px; }
  .progress-txt { font-size: 15px; }
}

@media screen and (max-width:800px){
  #report img{width: 100% !important;height: auto !important;}
}

@media screen and (max-width:767px) {
  header { height: 50px; }
  .pv-img { height: 245px; }
  .logo { height: 35px; }
  header .logo_01, 
  header .logo_02 {
      height: auto !important;
      max-height: 36px;
      width: auto;
      max-width: 100%;
      position: relative;
      top: 0;
      object-fit: contain;
  }
  header .logo_01 {
      top: 2px;
  }
  header .logo_02 {
      top: 0; 
  }
  .logo_wrap span { height: 30px; }
  .logo_wrap { padding: 0 0 0 10px;}
  header .logo_wrap span{margin: 0 8px;}
  .header-drawer_menu__btn { width: 50px; height: 50px; }
  .header-drawer_menu__btn span,.header-drawer_menu__btn span:before,.header-drawer_menu__btn span:after { width: 24px; }
  .header-drawer_menu__btn span { top: calc(50% - 21px / 2); }
  .header-drawer_menu__btn span:before { top: 9px; }
  .header-drawer_menu__btn span:after { top: 18px; }
  .header-drawer_menu__inner_cont {margin: 90px auto 0;}
  .header-menu-wrap .header-tools .lang_box_wrap {bottom: 0;right: 50px;}
  #main_visual { margin-top: 50px; }
  .mv { display: block; position: relative; }
  .mv_left, .mv_right, .mv_top, .mv_bottom { display: none; }
  .mv_left.active { display: flex; }
  .mv_right { display: flex; }
  .mv_top.active, .mv_bottom.active { display: flex; }
  .mv_prev, .mv_next { display: block; }
  .sec_cont:not(.project-sec .sec_cont, .download-sec .sec_cont) { padding: 0 34px!important; }
  .top #news, .top #event, .top #logo-list { margin-top: 60px; }
  .top #project-download { gap: 60px;margin-top: 60px; }
  .top #logo-list { margin-bottom: 80px; }
  #news .sec_cont, #project-download .sec_cont { margin: 36px auto 0; }
  #event .sec_cont { margin: 80px auto 0; }
  .top #logo-list .sec-tit { margin-bottom: 36px; }
  .top h3 { font-size: 28px; }
  .top h4 { font-size: 14px; }
  .top #news .btn, .top #event .btn, .top #about .btn { height: auto; padding: 10px 20px; }
  .btn span { font-size: 14px; }
  .btn-donate { width: 30px; top: calc(100vh / 2 - 110px);}
  .btn-donate-img { width: 21px; height: 21px; }
  .btn-donate-txt { font-size: 20px; letter-spacing: 8px; }
  .top-event_li { width: 100%; max-width: 520px; margin: auto; }
  .top-event_tit { display: block; overflow: visible; height: auto; }
  .top-event_dtl { max-width: 520px; }
  .projects_li { flex-direction: column; align-items: center; height: auto; }
  .projects_img { width: 100%; display: flex; justify-content: center; }
  .projects_img img { min-width: unset; min-height: unset; max-width: unset; width: 100%; height: auto; }
  .projects_txt { width: 100%; height: auto; }
  .projects_img.no-img { width: 100%; }
  .top #project-download { padding: 0 34px; }
  .download-img { max-width: 240px; }
  .footer-img { height: 200px; }
  .footer-copyright { height: unset; padding: 30px 75px; }
  .footer-copyright p { font-size: 14px;width: 318px;}
  .footer-menu a { width: calc(50% - 5px); font-size: 14px; }
  .sub section { margin: 60px 35px 100px; }
  .map{left: -35px;}
  .member-list { margin: 60px 35px 100px!important; }
  .member-cluster { margin: 80px 30px 0!important; }
  .memberage-navcluster-dtl { margin: 0 auto!important; }
  .cluster-cont { margin: 0 30px!important; }
  .about-btm-off  { margin: 60px 35px 0 !important; }
  .about-top-off { margin: 0 35px 100px!important; }
  .list-li { flex-wrap: wrap; gap: 8px 10px; padding: 25px 10px; }
  .list-li_date { order:1; }
  .list-li_tit { order:3; width: 100%; }
  .list-li_new { order:2; }
  .sub h3 { font-size: 24px; }
  .sub h3 span { font-size: 14px; }
  .pv-cont { height: auto; min-height: 45px; }
  .sub-tit { bottom: 45px; }
  .breadcrumb { padding-right: 20px; flex-wrap: wrap; }
  .page-nav_btn.num { width: 40px; height: 40px; }
  .page-nav {max-width: 520px;margin: 60px auto 0;flex-wrap: wrap; position: relative;}
  .page-nav_btn.prev, .page-nav_btn.next { padding: 5px 10px; min-width: 75px; position: absolute; bottom: -59px; }
  .page-nav_btn.prev { order: 2; left: 0; }
  .page-numbers { order: 1; width: 100%; margin:unset;}
  .page-nav_btn.next { order: 3; right: 0; }
  .member-li_item { width: calc(50% - 30px); }
  .member-box_img { width: 100%; float: unset; max-width: 250px; display: block; margin: 0 auto 40px; }
  .member-box:not(:has(.member-box_txt)) .member-box_img { margin: 0 auto 40px; }
  .member-profile_table th { padding: 13px 25px; width: unset; }
  .member-profile_table td { padding: 15px 25px; }
  .member-publications dl dt { padding: 25.5px 25px; }
  .member-publications dl:first-child dt{ padding: 10.5px 25px 25px; }
  .member-publications dl dd { color: #292929;padding: 15px 25px 15px 0; }
  .member-publications dl:first-child dd { padding: 0 25px 15px 0; }
  .event-sec { margin: 60px 35px 100px!important; }
  .top-event_li_wrap { margin-bottom: 80px; }
  .link-list a { padding: 15px 52px 15px 20px; }
  .link-list a:first-child { padding: 0 52px 15px 20px; }
  .link-list a::after { right: 20px; }
  .project_tit { font-size: 16px; }
  .project_txt_wrap { padding: 15px 25px; }
  .project_img img {min-width: unset;min-height: unset;max-width: unset;width: 100%;height: auto!important;}
  .project_img.no-img { min-width: 180px; }
  .project_txt_wrap { gap: 5px; }
  .project-country-dtl { display: flex; flex-direction: column; align-items: center; }
  .project-country-dtl img { margin-left: unset; width: 100%!important; }
  .project_li { flex-direction: column;width: 100%;height: auto!important;max-width: 520px;margin: auto; }
  .greeting { flex-direction: column; }
  .greeting-bar { display: none; }
  .greeting-img { margin: 0 auto 30px; }
  .slanted-box { padding: 0 30px; }
  .report-li { width: calc(50% - 30px); }
  .detail_wrap { margin-bottom: 100px; display: flex;flex-direction: column; gap: 40px; margin-bottom: 60px;}
  .detail-box-txt_wrap_02 { display: flex; flex-direction: column; gap: 20px; }
  .detail-tit { font-size: 22px; }
  .sub h4 { margin-top: 80px; font-size: 22px; }
  .year_box { height: 45px; }
  .search_box input { height: 45px; }
  .search_box button { height: 45px; }
  .footer-menu_wrap { gap: 20px; padding: 25px 100px 35px; }
  .detail-box_tit02 { font-size: 19px; }
  .detail-box_tit03 { font-size: 19px; }
  .event .detail-date { font-size: 21px; }
  .event-detail-date_wrap { gap: 20px; }
  .member-nav { margin-bottom: 60px; }
  .cluster-cont_wrap { padding: 60px 0; }
  .cluster-cont .detail-tit { padding-bottom: 40px; }
  .cluster-tit { padding-bottom: 40px; font-size: 19px; }
  .cluster-tit span { font-size: 16px; }
  .cluster-cont .sdgs-img_wrap { padding-bottom: 40px; }
  .modules-tit { margin-bottom: 40px; font-size: 21px; }
  .modules-tit span { font-size: 14px; }
  .member-cluster-dtl .cluster-cont_wrap:last-child { padding: 60px 0 80px; }
  .sdgs-img_wrap img { width: 70px; height: 70px; }
  .sdgs-img_wrap { gap: 15px; }  
  .detail-box_tit01 { font-size: 22px; }
  .detail-box { gap: 40px; }
  .member-box_name { font-size: 24px; }
  .detail-box .docs_wpel-link::after { bottom: 5px; }
  .member-search { margin-bottom: 60px; }
  .event-search { margin-bottom: 60px; }
  .event-btn_wrap { gap: 20px; }
  .event-search-opt, .search_box{width: 100%;justify-content: flex-end;}
  .event-search-opt .search_box input{width: 300px;}
  .event-search-opt {gap: 20px;align-items: center;flex-direction: column-reverse;width: 100%;}
  .event-search {gap: 25px;}
  .event-search-opt .search_box {justify-content: flex-end;}
  .event-finished {width: 100%;display: flex;justify-content: flex-end;}
  .project-search { margin-bottom: 60px; }
  .project .btn { margin: 60px auto 0; }
  .contact-btn_wrap { gap: 20px; margin: 60px auto 0;}
  .progress-bar { width: 20px; }
  .progress-circle { min-width: 16px; min-height: 16px; }
  .progress-item { padding: 0 20px; text-align: center; gap: 5px; }
  .sitemap-nav { margin: 60px auto; }
  .modules-list_txt { color: #303F82; font-size: 15px; }
  .project-country-cont { margin: 60px 0 0 0; }
  .event .search-checkbox {width: auto;}
  .top-event_bg { bottom: 70px;top: 103px;}
  .top #project-download { margin: 60px auto; }
  .download-sec { margin-bottom: 40px; }
  .member-list .btn { margin: 60px auto 0; }
  .project-country-cont .top-event_dtl { min-height: auto; }
  .project-country-cont .top-event_tit { height: auto; }
}

@media screen and (max-width:650px) {
  .member-nav { flex-direction: column; align-items: center; }  
  .member-nav-li, .sitemap-nav-li { width: 100%; max-width: 387px; }
  .event-search .search-checkbox { flex-wrap: wrap; justify-content: left; gap: 15px 30px; border-radius: 10px; }
  .search-checkbox span { width: 100%; text-align: center; }
  .modules-member-li .member-li_item { width: calc(50% - 10px); }
  .desc-list dd { padding: 15px 25px; }
}

/* ---------- sp 600 480 360 ---------- */
@media screen and (max-width:600px) {
  .header-drawer_menu__inner_item .modules-list a, .header-drawer_menu__inner_item .modules-list.sitemap-member div{width: 100%;}
  .header-drawer_menu__inner_item .modules-list {gap: 22px;}
  .header-drawer_menu__inner_item .modules-list a .modules-list_txt {font-size: 18px;}
  .modules-list a { width: 100%; }
  .sitemap-member div { width: 100%; }
  .modules-list { justify-content: center; gap: 10px; }
  .event-btn_wrap{ flex-direction: column; align-items: center; }
  .event-btn_wrap .btn_01, .event-btn_wrap .btn_03 { width: 100%; max-width: 280px; }
  .event-finished-label {padding: 11px 23px;font-size: 16px;line-height: 22px;}
  .contact-btn_wrap { flex-direction: column; align-items: center; }
  .contact-btn_wrap .btn_02, .contact-btn_wrap .btn_03 { width: 100%; max-width: 280px; }
  .btn_03 { width: 100%; max-width: 280px; }
  .news .search_box { margin-bottom: 60px; }
  .breadcrumb_item { font-size: 12px; }
  .list-li_tit { overflow: visible; white-space: normal; text-overflow: unset; }
  .recruitment-box_wrap { gap: 20px; justify-content: flex-end; flex-direction: column-reverse; align-items: flex-end; margin-bottom: 40px; }
  .cluster-img { width: 100%; }
  .link-list a:first-child { padding: 0 52px 15px 10px; }
  .link-list a { padding: 15px 52px 15px 10px; }
  .contact-form table th div { font-size: 16px; }
  .contact-form table th, .contact-form table td { padding: 15px; }

  .header-menu-wrap .header-tools .lang_box_wrap {
    right: 50px;
    bottom: 0;
  }

  .header-menu-wrap .header-tools .lang_box_wrap .lang_box {
    width: 60px;
    height: 50px;
    padding: 0;
    background: transparent;
    font-size: 0;
    justify-content: center;
    border: none;
  }

  .lang_box .lang_box_icon {
    display: block;
    margin: 0;
    width: 24px;
    height: 24px;
    background-size: contain;
  }

  .lang_box .lang_box_arr {
    display: none;
  }

  .header-menu-wrap .header-tools .lang_box_wrap .lang_dropdown {
    width: 240px !important;
    right: 0 !important;
    top: 50px;
    text-align: left;
    transform: none !important;
  }
}

@media screen and (max-width:570px) {
  .footer-access_wrap { padding: 30px 40px 38px 40px; }
  .footer-access { flex-direction: column; gap: 8px; }
  .footer-copyright { padding: 20px 73px; }
  .btn-pagetop{bottom: 20px;}
  .member-li_cont { gap: 90px 40px; }
  .member-li_item::after { right: -20px; }
  .member-li_item { width: calc(50% - 20px); }
  .member-box { padding: 60px 40px;  }
  .member-profile_table th, .member-profile_table td { display: block; }
  .member-profile_table tr:first-child th { padding-top: 13px; }
  .member-profile_table tr:first-child td { padding-top: 15px; }
  .member-profile_table td { border-bottom: unset; }
  .contact-form input, .contact-form textarea { font-size: 16px; padding: 10px; }
  .report-ul { gap: 90px 40px; }
  .report-li::after { right: -20px; }
  .report-li { width: calc(50% - 20px); }
  .btn_04 { padding: 15px 10px; }
  .member-profile_table th { padding: 13px 10px; }
  .news_li { flex-direction: column; align-items: center; height: auto;max-width: 520px;margin: auto;height: fit-content!important;}
  .news_img { width: 100%; display: flex; justify-content: center;max-height: 250px;display: none;}
  .news_img img { min-width: unset; min-height: unset; max-width: unset; width: 100%; height: auto;max-height: 250px;}
  .news_txt { width: 100%; height: auto; padding: 12px 18px; }
  .news_img.no-img { width: 100%;max-height: 250px;background-size: 30%;}
  .news_tit { display: block; overflow: visible;  -webkit-box-orient: unset; text-overflow: unset; }
  .news_li_wrap { gap: 10px 30px; }
  .top #logo-list .sec_cont { gap: 10px; }
}

@media screen and (max-width:500px) {
  .breadcrumb { justify-content: flex-end; }
  .sub-tit h2 { font-size: 32px; }
  .sub-tit h2 span { font-size: 16px; }
  .sub-tit, .sub-tit::before { width: 100%; left: 0; aspect-ratio: unset; height: 145px; }
  .desc-list dl { flex-direction: column; }
  .desc-list dt, .desc-list dd { width: 100%; }
  .desc-list dt { border-right: 1px solid #303F82; padding: 10px; }
  .desc-list dd { min-height: 55.59px; }
  .top-project-cont { padding: 30px 25px 44px; }
  .download-img { max-width: 180px; }
  .footer-menu a { font-size: 14px; }
  .footer-menu_wrap { padding: 25px 40px 35px; }
  .lang_box { font-size: 14px; height: 50px; }
  .top-about_txt01 { font-size: 22px; }
}

@media screen and (max-width:490px) { 
  .page-nav_btn.num { width: 37px; height: 37px; }
  .page-numbers { margin: 0 13px; }
  .checkbox-cont label { padding-left: 27px; }
  .checkbox-cont label::before { width: 20px; height: 20px; }
  .progress-txt { font-size: 14px; }
  .progress-txt span { font-size: 14px; }
}

@media screen and (max-width:480px) {
  .top-about_txt01 br { display: none; }
  .contact-form input::placeholder, .contact-form textarea::placeholder { font-size: 14px; }
  .contact-form input::-webkit-input-placeholder, .contact-form textarea::-webkit-input-placeholder { font-size: 14px; }
  .contact-form input::-moz-placeholder, .contact-form textarea::-moz-placeholder { font-size: 14px; }
  .contact-form input:-ms-input-placeholder, .contact-form textarea:-ms-input-placeholder { font-size: 14px; }
  .logo-list_06, .logo-list_07 { max-height: 90px; }
  .projects_li { width: 100%; }
  .progress-item {padding: 10px 20px; }
  .progress-txt span{display: none;}
  .progress-circle { min-width: 14px; min-height: 14px; }
  .progress-item { border-radius: 86px; height: 86px; width: 86px; }
}

@media screen and (max-width:460px) {
  .btn-pagetop{bottom: 33px;}
}

@media screen and (max-width:450px) { 
  .footer-access_wrap .logo { height: 45px; }
  .member-publications dl:first-child dt { padding: 10.5px 25px 25px 15px; }
  .member-publications dl dt { padding: 25.5px 25px 25.5px 15px; }
  .event-search-opt{ gap: 25px; }
  .contact-btn_wrap .btn { padding: 12px 40px; }
  .header-menu-wrap .lang_box {width: 220px;}
  .header-menu-wrap .lang_dropdown {width: 220px;}
}

@media screen and (max-width:420px) { 
  .project-map-popup-date{min-width: auto;white-space: unset;}
}

@media screen and (max-width:400px) {
  .footer-menu a span { font-size: 13px; }
  .member-li_item { width: 100%; }
  .member-box { padding: 40px 30px; }
  .modules-member-li .member-li_item { width: 100%; }  
  .report-li {width: 100%; }
  .contact-btn_wrap .btn_02, .contact-btn_wrap .btn_03 { width: 80%; }
  .event-btn_wrap .btn_01, .event-btn_wrap .btn_03 { width: 80%; }
  .btn_03 { width: 80%; }
  .top #news .btn, .top #event .btn { width: 80%; }
  .recruitment-box_wrap { align-items: stretch; }
  /*header .logo_01, header .logo_wrap span{display: none;}*/
  header .logo_wrap span {
    margin: 0 2px;
  }
}

@media screen and (max-width:360px) {
  .event-search .search-checkbox { gap: 15px 30px; padding: 20px 30px; }
  .progress-item { border-radius: 80px; height: 80px; width: 80px; }
  .top-project-tit_01 { font-size: 20px; }
}


/* ---- 260123 View Mode Switcher ---- */
/* View Mode Switcher */
.view-mode-controls {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-bottom: 30px;
}

.view-mode-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1px solid #303F82;
  background: #fff;
  color: #303F82;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 4px;
}

.view-mode-btn:hover {
  background: #EAF4FC;
}

.view-mode-btn.active {
  background: #303F82;
  color: #fff;
}

.icon-card, .icon-table {
  display: inline-block;
  width: 18px;
  height: 18px;
  position: relative;
}

.icon-card {
  border: 2px solid currentColor;
  border-radius: 2px;
  box-sizing: border-box;
}
.icon-card::before {
  content: '';
  position: absolute;
  top: 4px;
  left: 0;
  width: 100%;
  height: 2px;
  background: currentColor;
}

.icon-table {
  border: 2px solid currentColor;
  border-radius: 2px;
  box-sizing: border-box;
  background: linear-gradient(to bottom, transparent 50%, currentColor 50%, currentColor calc(50% + 2px), transparent calc(50% + 2px));
}
.icon-table::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  background: currentColor;
  transform: translateX(-50%);
}

/* Table View Styles */
/* ---- Table View Styles (Custom Colors & Alignment) ---- */
.top-event_table_wrap {
  width: 100%;
  overflow-x: auto;
  margin-bottom: 60px;
}

.event-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  min-width: 900px;
  border: 1px solid #303F82;
}

/* Header Style: Center Alignment */
.event-thead th {
  background: #EFF3F8;
  color: #303F82;
  padding: 15px 20px;
  text-align: center; /* All headers centered */
  font-weight: 600;
  border: 1px solid #303F82;
  white-space: nowrap;
  vertical-align: middle;
}

/* Body Style */
.event-row td {
  background: #FFF;
  color: #292929;
  padding: 15px 20px;
  border: 1px solid #303F82;
  font-size: 15px;
  line-height: 1.6;
}

.event-row:hover td {
  background: #fdfdfd;
}

/* Column Alignment */
.col-date {
  font-weight: 500;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
}

.col-tit {
  font-weight: 500;
  text-align: left;
}

.col-tit a {
    color: #1F2F5B;
    text-decoration: underline;
    font-weight: 500;
    transition: opacity 0.3s;
}

.col-tit a:hover {
    text-decoration: none;
    opacity: 0.8;
}

.col-speaker {
  font-weight: 400;
  text-align: left;
}

.col-materials {
  white-space: nowrap;
  text-align: left;
}

.col-materials a {
    color: #1F2F5B;
    text-decoration: underline;
    font-weight: 400;
    transition: opacity 0.3s;
}

.col-materials a:hover {
    text-decoration: none;
    opacity: 0.8;
}

.link-material {
  display: inline;
  color: #4A90E2;
  text-decoration: underline;
  margin-right: 0.5em;
}
.link-material:last-of-type {
  margin-right: 0;
}

.link-material:hover {
  text-decoration: none;
  opacity: 0.7;
}

.col-remarks {
  font-size: 14px;
  color: #666;
  text-align: left;
}

/* Hide in-cell labels on desktop (thead is visible) */
@media screen and (min-width: 901px) {
  .event-table .col-label {
    display: none;
  }
}

/* Responsive Table (Mobile) */
@media screen and (max-width: 1200px) {
  .top-event_table_wrap {
    width: 100%;
    overflow-x: hidden;
  }

  .event-table {
    min-width: auto;
    width: 100%;
    table-layout: fixed;
  }

  .event-thead th,
  .event-row td {
    white-space: normal;
    word-wrap: break-word;
    word-break: keep-all;
  }
}
/* ---------- tb 1024 768 ---------- */
@media screen and (max-width: 1024px) {
    .top-event_table_wrap {
        width: 100%;
        margin-right: 0;
        margin-bottom: 60px;
        padding-right: 0;
        box-sizing: border-box;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media screen and (max-width: 900px) {
  .event-thead {
    display: none;
  }
  .event-table, .event-table tbody, .event-row, .event-row td {
    display: block;
    width: 100%;
    border: unset;
  }
  .event-table {
    border: unset;
    min-width: unset;
  }
  .event-row {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 30px;
    border: 1px solid #303F82;
    border-radius: 8px;
    overflow: hidden;
    }

  .event-row td {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px;
    
    /* Content wrapping fix */
    white-space: normal;
    word-break: break-all;
    overflow-wrap: break-word;
  }
  
  .event-row td:last-child {
    border-bottom: unset;
  }
  
  .col-label {
    font-weight: 600;
    color: #303F82;
    width: 60px;
    display: inline-block;
    flex-shrink: 0;
  }
  .col-value {
    flex: 1;
  }
  .col-date, .col-tit, .col-speaker, .col-materials, .col-remarks {
    width: 100%;
    box-sizing: border-box;
    text-align: left;
  }
  
  .col-tit a, .col-speaker, .col-remarks, .link-material {
    flex: 1;
  }
  .link-material {
    display: inline-block;
    margin-right: 15px;
  }
}

@media screen and (max-width: 767px) {
    .top-event_table_wrap {
        padding-right: 0;
    }

    .docs_icon,
    a.docs_icon,
    .docs_icon a {
        display: inline !important;
        background: none !important;
        text-decoration: underline !important;
        text-underline-offset: 3px;
        border: none !important;
        margin-right: 0;
    }

    .docs_icon:hover,
    a.docs_icon:hover,
    .docs_icon a:hover {
        text-decoration: none !important;
    }

    .docs_icon::before,
    .detail-docs_item::before {
        display: none !important;
    }

    .docs_icon::after,
    .docs_pdf::after,
    .docs_wpel-link::after {
        display: inline-block !important;
        position: relative !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        margin-left: 8px;
        vertical-align: middle;
        text-decoration: none !important;
        border: none !important;
    }
}

@media screen and (min-width: 768px) {
    a.docs_icon,
    .docs_icon a,
    a.detail-docs_item,
    .detail-cont a.docs_icon,
    .detail-box a.docs_icon {
        text-decoration: none !important;
        border: none !important;
    }

    a.docs_icon:hover, .docs_icon a:hover, a.detail-docs_item:hover,
    a.docs_icon:visited, .docs_icon a:visited, a.detail-docs_item:visited {
        text-decoration: none !important;
    }
}