@charset "UTF-8";
/* import font from gg font*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');
/* import font from gg font*/

:root {
  --font-main: "Noto Sans JP", sans-serif;
  --font-zen: "Zen Maru Gothic", sans-serif;
  --txt: #000;     
  --mcolor: #004ea2;
  --blue_light: #0165b2;
  --yellow: #fecd07;
  --yellow_bg: #fdf5da;
  --orange: #f9ba22;
  --orange_dark: #f38805;
  --site_size: 1240px;
  --mfont-size: 16px;
  --border-color: #efefef;
  
  --red: #ff0000;
  --gray: #e9e9e9;
}

.f-yugo{font-family: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", sans-serif;font-weight: 700}

/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
font-size: var(--mfont-size);
-webkit-text-size-adjust: none;
font-weight: 500;
font-family: var(--font-main);
}
html:focus-within {scroll-behavior: smooth;}
img {vertical-align: middle;max-width: 100%;flex-shrink: 0;height: auto;}
*,
::before,
::after{box-sizing:border-box;outline: none;}
select { visibility: visible !important; }
a{transition:all ease 0.3s;text-decoration:none;}
a[href^="tel:"] {word-break: keep-all;}
/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html{background:#fff;scroll-behavior: smooth}
body{color:var(--txt);-webkit-text-size-adjust:none;min-width:320px;font-family: var(--font-main);font-size: var(--mfont-size);margin: 0}
body.is_active{overflow: hidden;}
table {width: 100%}
h1,h2,h3,h4,h5,h6{line-height: 1.5;margin: 0}
p,
dd,
dt,
li,
th,
td,
address{line-height: 2em;letter-spacing: 0;margin: 0}
p {margin: 0 0 1.5em;font-size: var(--mfont-size);}
p:last-child{margin-bottom: 0}
ul{padding: 0;margin: 0;list-style-type: none;}
a{font-feature-settings: "palt" 1;color: var(--txt);}

.bold{font-weight: bold;}
.left{text-align:left}
.right{text-align: right;}
.auto{margin-left: auto; margin-right: auto;}
.red{color: var(--red);}
.txt_line{text-decoration: underline;}
.m0a{display: block;margin: 0 auto;}
.f_big{font-size: 150%;}
.f_sm{font-size: 80%;}
.d-flex {display: flex; }
.flex-wrap{flex-wrap: wrap;}
.justify-between {justify-content: space-between; }
.justify-center {justify-content: center; }
.align-center {align-items: center;}
.align-start {align-items: flex-start; }
.center, .text-center {text-align: center; }
.text-left {text-align: left; }
.text-right {text-align: right; }

#wrapper{overflow: hidden;}
.container {max-width: 1260px;padding: 0 20px;margin: 0 auto;}

/*==========================================================
                       H E A D E R  
==========================================================*/
header{width: 100%;position: fixed;top: 0;left: 0;width: 100%;z-index: 10;top: 0;left: 0}
header.show .h_box{box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);background-color: #fff;padding: 10px 0}
.h_box{width:100%;padding: 20px 0;transition: .3s;z-index: 1}
.h_box::before{content: '';position: absolute;width: 100%;height: 100%;top: 0;left: 0;background: #fff;opacity: 0.8;z-index: -1}
.h_inner{display:flex;justify-content:space-between;align-items: center;height: 100%;max-width: 1322px}
.h_right{display: flex;align-items: center;}
#logo{width: 330px;position: relative;padding-top: 4px}
#logo::before{content: '';position: absolute;width: 10px;height: 10px;left: 0;top: 0}
#logo::after{content: '';position: absolute;width: 10px;height: 10px;left: 0;top: 0}
.lang_box{width: 34px;margin-left: 20px;display: flex;flex-direction: column;gap: 10px}
.lang_box li{height: 24px}
.lang_box li a{display: flex;align-items: center;justify-content: center;}
.h_btn_box{display: flex;}
.h_btn{margin-bottom: 0;display: flex;align-items: center;justify-content: center;line-height: 1em}
.h_btn02{margin-left: 15px}

/* HAMBUGER BUTTON */
.hamburger{font:inherit;display:block;overflow:visible;margin:0;padding:13px 10px 5px;cursor:pointer;transition-timing-function:linear;transition-duration:.15s;transition-property:opacity,filter;text-transform:none;color:inherit;border:0}
.hamburger-box{position:relative;display:inline-block;width:35px;height:24px}
.hamburger-inner{top:50%;display:block;margin-top:-2px}
.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before{position:absolute;width:30px;height:4px;transition:all ease 0.15s;background-color:#fff}
.hamburger-inner::after,
.hamburger-inner::before{display:block;content:""}
.hamburger-inner::before{top:-10px}
.hamburger-inner::after{bottom:-10px}
.hamburger--3dxy .hamburger-box{perspective:80px}
.hamburger--3dxy .hamburger-inner{transition:transform .15s cubic-bezier(0.645,0.045,0.355,1),background-color 0 cubic-bezier(0.645,0.045,0.355,1) .1s}
.hamburger--3dxy .hamburger-inner::after,
.hamburger--3dxy .hamburger-inner::before{transition:transform cubic-bezier(0.645,0.045,0.355,1) .1s}
.hamburger--3dxy.is_active .hamburger-inner{transform:rotateX(180deg) rotateY(180deg);background-color:transparent!important}
.hamburger--3dxy.is_active .hamburger-inner::before{transform:translate3d(0,10px,0) rotate(45deg)}
.hamburger--3dxy.is_active .hamburger-inner::after{transform:translate3d(0,-10px,0) rotate(-45deg)}

/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
/* main{position: relative;z-index: 2;}
.mv{position: relative;padding: 0;background: #2071a4;}
.mv_img{width: 100%;height: 100vh;background: url(../images/mv01_pc.png) center bottom /cover no-repeat;margin-bottom: 0;position: relative;}
.mv_img::before{content: '';position: absolute;width: 100%;height: 200px;background: #FFFFFF;background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);top: 0;left: 0}
.mv_img02{background-image: url(../images/mv02_pc.png);}
.mv_img03{background-image: url(../images/mv03_pc.png);}
.mv_img04{background-image: url(../images/mv04_pc.png);}
.mv_txt_box{display: flex;align-items: center;justify-content: flex-start;position: absolute;width: 100%;height: 100%;left: 0;top: 0;z-index: 2}
.mv_txt{width: 100%}
.mv_slide .swiper-slide img{width: 100%;height: 100vh;object-fit: cover;} */

main {position: relative;z-index: 2;}
.mv {position: relative;padding: 0;background: #2071a4;}
.mv_slide .swiper-slide { position: relative; }
.mv_slide .swiper-slide img {width: 100%;height: 100vh;object-fit: cover;object-position: center bottom; display: block; }
.mv_slide .swiper-slide::before {content: '';position: absolute;width: 100%;height: 200px;background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%);top: 0;left: 0;z-index: 1; pointer-events: none; }
.mv_txt_box {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 2; 
    pointer-events: none; 
}
.mv_txt {
    width: 100%;
    pointer-events: auto; 
}
/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl{text-align: center;font-weight: 700;margin-bottom: 60px}
.ttl span{display: block;}
.ttl .ttl_main{font-size: 80px;font-family: var(--font-zen);color: var(--blue_light);line-height: 1.5em;font-weight: 900}
.ttl .ttl_sub{font-size: 24px;display: inline-block;line-height: 1.5em;padding: 6px 10px;background: var(--orange);color: #fff;font-weight: 700;font-size: 24px;}

.btn_center_box{gap: 20px;margin-bottom: 30px;display: flex;justify-content: center;align-items: center;}
.btn_center_box .btn{margin-bottom: 0}
.btn a {display: flex; align-items: center; position: relative; color: #fff; background-color: var(--mcolor);padding: 12px 15px; z-index: 1;font-family: var(--font-zen);font-weight: 700;width: 152px;height: 50px;border-radius: 50px;justify-content: center;text-align: center;overflow: hidden;}
.btn.btn_yellow a{background-color: var(--yellow);}
.btn.btn_orange a{background-color: var(--orange);}
.btn a::before {position: absolute; content: ""; top: 0; left: 0; right: 0; bottom: 0; height: 0; background-color: rgba(255, 255, 255, 0.2); z-index: -1; transition: 0.3s; }
.btn a:hover::before {height: 100%; }
.btn a span {font-size: 15px; transition: 0.25s; font-weight: 500; position: relative; z-index: 2; }
.btn_100{width: 100%}
.btn_100 a{width: 100%;text-align: center;justify-content: center;}
.btn_big_blue a{font-size: 24px;width: fit-content;background-color: var(--blue_light);}
.btn_auto a{width: fit-content;}
.btn.center{display: flex;justify-content: center;}

.btn_ic:last-child{margin-bottom: 0}
.btn_ic a{width: 230px;height: 60px;background: #fff;font-weight: 600;font-size: 14px;padding: 10px 20px;position: relative;display: flex;align-items: center;justify-content: flex-start;border-radius: 50px;overflow: hidden;z-index: 1}
.btn_ic_long_txt a{width: 315px}
.btn_ic a::after{content: '';position: absolute;width: 40px;height: 40px;right: 20px;top: calc(50% - 20px);background: url(../images/btn_ic.png) center /cover no-repeat;}
.btn_ic a::before {position: absolute; content: ""; top: 0; left: 0; right: 0; bottom: 0; height: 0; background-color: rgba(0, 0, 0, 0.2); z-index: -1; transition: 0.3s; }
.btn_ic a:hover::before {height: 100%; }

.btn_ic_blue a{background-color: var(--blue_light);color: #fff;}
.btn_ic_orange_dark a{background-color: var(--orange_dark);color: #fff; line-height: 1.4;}
.btn_ic_orange a{background-color: var(--orange);color: #fff; line-height: 1.4;}

.btn_ic_orange_dark a::after,
.btn_ic_orange a::after,
.btn_ic_blue a::after{filter: brightness(100) invert(0);}
.btn_ic_orange_dark a::before,
.btn_ic_orange a::before,
.btn_ic_blue a::before{background-color: rgba(255, 255, 255, 0.2);}

.link{text-decoration: underline;text-underline-offset: 6px;color: #000;}
.link_black{color: #000;}
.link:hover{text-decoration: none;color: var(--mcolor);}
.link.link_ic{color: #000}
.link_pdf,
.link_docs,
.link_xlsx,
.link_web{margin-left: 26px;position: relative;}


.single_content  .link_pdf,
.single_content  .link_xlsx,
.single_content  .link_docs {
   margin-left: 0px
}

.link_pdf::before,
.link_docs::before,
.link_xlsx::before,
.link_web::before{content: '';position: absolute;width: 16px;height: 16px;left: -26px;top: 6px;background: url(../images/pdf_ic.png) center /cover no-repeat;}
.link_docs::before{background-image: url(../images/doc-icon.png);}
.link_xlsx::before{background-image: url(../images/xlsx_ic.png);}
/*.link_web::before{background-image: url(../images/direct-icon.png);width: 18px;height: 18px;top: 5px;left: -28px;}*/
.link_web::before{background-image: url(/wp-content/uploads/2026/03/iconweb.png);width: 18px;height: 18px;top: 5px;left: -28px;}
.single_content .link_pdf::before,
.single_content .link_xlsx::before,
.single_content .link_docs::before,
.single_content .link_web::before{display: none;}

.h_btn a{width: 130px}

section{padding: 40px 0;}

/*==================== SEC01 ===================*/
.sec01{position: relative;background: #2071a4;z-index: 1;overflow: hidden;}
.sec01::before{content: '';position: absolute;width: 1406px;height: 1212px;left: calc(50% - 740px);top: -110px;background: url(../images/s01_map_bg.jpg) center /cover no-repeat;z-index: -1}
.s01_list_img{display: flex;justify-content: center;align-items: center;gap: 20px}
.s01_ttl{font-size: 50px;font-weight: 900;color: #fff;text-align: center;margin-bottom: 30px;line-height: 1.5em}
.s01_content{display: flex;justify-content: center;align-items: center;position: relative;}
.s01_content::before{content: '';position: absolute;width: 400px;height: 208px;right: calc(50% - 711px);bottom: 67px;background: url(../images/s01_ic02.png) center /cover no-repeat;}
.s01_txt{color: #fff;line-height: 1.5em;margin-bottom: 30px;font-size: 16px}
.s01_txt:last-child{margin-bottom: 0}
.s01_list_btn_box{display: flex;justify-content: flex-end;position: relative;}
.s01_list_btn_box::before{content: '';position: absolute;width: 436px;height: 286px;left: -30px;bottom: 0;background: url(../images/s01_ic01.png) center /cover no-repeat;}
.s01_list_btn{width: 732px;flex-shrink: 0}
.s01_list_btn{display: flex;gap: 18px 20px;flex-wrap: wrap;}
.s01_list_btn .btn_ic{width: fit-content;margin-bottom: 0}

/*==================== u_SEC02 ===================*/
.sec02{background: #fcf1ca;position: relative;z-index: 2}
.sec02::before{content: '';position: absolute;width: 414px;height: 176px;right: calc(50% - 630px);top: -80px;background: url(../images/s02_ic.png) center /cover no-repeat;}
.s02_content{display: flex;justify-content: center;margin-bottom: 87px}
.news_archive{line-height: 1.5em;display: flex;align-items: flex-start;gap: 30px;margin-bottom: 37px;font-weight: 600;position: relative;} 
.news_archive .item_ttl::after{content: '';position: absolute;width: 100%;height:100%;left: 0;top: 0;}
.news_archive:last-child{margin-bottom: 0}

/*==================== SEC03 ===================*/
.sec03{background: url(../images/s03_bg.jpg) center /cover no-repeat;}
.sec03 .ttl .ttl_main{color: #fff}
.school-life_archive_item{position: relative;}
.school-life_archive_item .item_img{margin-bottom: 24px;width: 100%;aspect-ratio: 4/3}
.school-life_archive_item .item_img img{border-radius: 10px;width: 100%;height: 100%;object-fit: cover;}
.school-life_archive_item .item_date{margin-bottom: 7px;font-weight: 700}
.school-life_archive_item .item_ttl{line-height: 1.5em}
.school-life_archive_item:hover .item_ttl a{color: var(--mcolor);}
.school-life_archive_item .item_ttl a::after{content: '';position: absolute;width: 100%;height: 100%;left: 0;top: 0}


.s03_content_box{display: flex;gap: 40px;position: relative;}
.s03_content_box::before{content: '';position: absolute;width: 362px;height: 184px;left: 0;bottom: 8px;background: url(../images/s03_ic02.png) center /cover no-repeat;}
.s03_content_box::after{content: '';position: absolute;width: 274px;height: 192px;right: 0;bottom: 0;background: url(../images/s03_ic03.png) center /cover no-repeat;}
.s03_content_l{width: 740px;flex-shrink: 0;position: relative;}
.s03_img01{margin-bottom: -200px}
.s03_img01 img{border-radius: 30px}
.s03_img02{display: flex;justify-content: flex-end;}
.s03_img02 img{position: relative;right: -100px}
.s03_content_r{flex: 1;position: relative;padding-top: 130px;}
.s03_content_r::before{content: '';position: absolute;width: 162px;height: 184px;left: 86px;top: -86px;background: url(../images/s03_ic01.png) center /cover no-repeat;}
.s03_txt{color: #fff}

/*==================== SEC04 ===================*/
.sec04{background: #fcf1ca}
.s04_img{position: relative;}
.s04_img::before{content: '';position: absolute;width: 250px;height: 260px;right: 0;top: 0;background: url(../images/s04_ic01.png) center /cover no-repeat;}
.s04_img::after{content: '';position: absolute;width: 270px;height: 210px;left: 0;bottom: 0;background: url(../images/s04_ic02.png) center /cover no-repeat;}
.s04_img01{margin-bottom: 0}
.s04_img02{position: absolute;top: 100px;right: 0;}
.s04_content_txt,
.s04_btn_box{width: 100%;max-width: 1020px;margin: 0 auto}
.s04_content_txt{margin-bottom: 50px}
.s04_btn_box{display: flex;gap: 20px;justify-content: center;}

/*==================== SEC05 ===================*/
.sec05{background: url(../images/s05_bg.jpg) center /cover no-repeat;position: relative;z-index: 2;padding-top: 186px}
.sec05::before{content: '';position: absolute;width: 842px;height: 226px;left: calc(50% - 421px);top: -65px;background: url(../images/s05_ic01.png) center /cover no-repeat;}
.s05_content{position: relative;z-index: 1}
.s05_content::before{content: '';position: absolute;width: 350px;height: 188px;left: calc(50% - 305px);bottom: -97px;background: url(../images/s05_ic03.png) center /cover no-repeat;z-index: 1}
.s05_content::after{content: '';position: absolute;width: 756px;height: 210px;left: calc(50% - 960px);bottom: 50px;background: url(../images/s05_ic02.png) center /cover no-repeat;z-index: -1}
.s05_img{position: absolute;top: -48px;right: calc(50% - 703px)}
.s05_img img{border-radius: 30px}
.s05_l{width: 484px;flex-shrink: 0;height: 569px}
.s05_content_txt{margin-bottom: 30px}
.s05_list_box{display: flex;flex-wrap: wrap;gap: 20px}
.s05_list_box .btn_ic{margin-bottom: 0}

/*==========================================================
                        F O O T E R
==========================================================*/
footer{position: relative;padding: 40px 0}
.ft_contact_frame{padding: 87px 0 150px}
.ft_contact_frame_ttl{font-size: 80px;font-weight: 900;color: #0264ae;line-height: 1em;margin-bottom: 13px;font-family: var(--font-zen);text-align: center;}
.ft_contact_frame_content{padding: 72px 60px 146px;background: #fcf1ca;position: relative;width: 100%;max-width: 1000px;margin: 0 auto;border-radius: 30px}
.ft_contact_frame_content::before{content: '';position: absolute;width: 604px;height: 188px;background: url(../images/ft_contact_ic.png) center /cover no-repeat;left: calc(50% - 302px);bottom: -81px}
.ft_contact_frame_sub_ttl{display: flex;align-items: center;justify-content: center;margin-bottom: 14px}
.ft_contact_frame_sub_ttl span{color: #fff;background: var(--orange);line-height: 1.5em;font-size: 24px;padding: 5px 10px}
.ft_contact_frame_txt{font-size: 24px;font-weight: 700;line-height: 1.8em;margin-bottom: 61px;text-align: center;}
.ft_contact_frame_btn_box{display: flex;justify-content: center;gap: 20px;margin-bottom: 35px}
.ft_contact_frame_btn_box .btn_ic{margin-bottom: 0}
.ft_contact_frame_btn_box .btn_ic a{font-size: 24px;color: #fff;height: 70px;border-radius: 30px}
.ft_contact_frame_btn_box .btn_ic a::after{background-image: url(../images/btn_ic_big.png);width: 56px;height: 56px;top: calc(50% - 28px);}
.ft_contact_frame_btn_box .btn_ic_orange_dark a{width: 385px;}
.ft_contact_frame_btn_box .btn_ic_orange a{width: 280px;}
.ft_contact_frame_btn_box .btn_ic_orange.btn_auto a{width: fit-content;padding-right: 90px}
.ft_contact_frame_bottom_txt{text-align: center;margin-bottom: 6px}
.ft_contact_frame_bottom_tel{text-align: center}
.ft_contact_frame_bottom_tel a{font-size: 30px;font-family: var(--font-zen);font-weight: 900;}
.ft_contact_frame_bottom_tel .num{font-size: 48px;color: var(--blue_light);margin-left: 10px}


.ft_slide_img{margin: 0 5px}

.ft_bottom{padding: 100px 0 83px}
.ft_bottom .container{display: flex;justify-content: space-between;align-items: flex-start;}
.ft_logo{margin-bottom: 30px}
.ft_info_ttl{font-weight: 700;margin-bottom: 0;line-height: 1.5em}
.ft_info_txt{line-height: 1.5em;margin-bottom: 18px;font-weight: 400}
.ft_info_txt:last-child{margin-bottom: 0}

.ft_link{display: flex;align-items: flex-start;}
.ft_link01{margin-right: 33px}
.ft_link02{margin-right: 60px}
.ft_link_box{margin-bottom: 22px}
.ft_link_box .big,
.ft_link_box .big a{font-size: 18px;font-weight: 700;margin-bottom: 7px}
.ft_link_box:last-child,
.ft_link_box li:last-child,
.ft_link_box .big:last-child,
.ft_link_box .big a:last-child{margin-bottom: 0}
.ft_link_box li:not(.big){line-height: 1.5em}
.ft_link_box li:not(.big):last-child{margin-bottom: 0}
.ft_link_box li:not(.big) a{padding-left: 15px;position: relative;display: inline-block;font-weight: 500;line-height: 1.5em}
.ft_link_box li:not(.big) a::before{content: '';position: absolute;width: 13px;border-top: 1px solid #000;left: 0;top: 11px;}



address{padding: 0;margin: 0;font-size: var(--mfont-size);line-height: 1.5em;font-family: var(--font-main);font-style: initial;font-weight: 500}

/* BACK TO TOP */
.to_top{position:fixed;z-index:9;width:80px;height:80px;bottom:20px;right:20px;cursor:pointer;transition:all .2s;opacity:0;visibility:hidden;background: var(--mcolor);display: flex;justify-content: center;align-items: center;}
.to_top img{width: 26px}
.to_top.show{transform:scale(1);opacity:1;visibility:visible}

/**/
.mokuji-box {
  padding: 12px 10px;
  background: #E5EDF6;
  font-family: sans-serif;
  box-sizing: border-box;
  margin: 0 0 30px;
}

.mokuji-head {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
}

.mokuji-title {
  font-size: 16px;
  font-weight: bold;
  color: #222;
  line-height: 1.4;
}

.mokuji-toggle {
  padding: 0;
  border: none;
  background: none;
  color: #4aa3df;
  font-size: 12px;
  cursor: pointer;
  line-height: 1.4;
}

.mokuji-toggle:hover {
  text-decoration: underline;
}

.mokuji-list {
  margin: 0 0 0 10px;
  padding: 0;
  list-style: none;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
}

.mokuji-list li {
  margin: 0 0 4px;
  text-align: left;
  width: 33.33333%;
}

.mokuji-list li:last-child {
  margin-bottom: 0;
}

.mokuji-list a {
  color: #44a8f0;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.6;
}

.mokuji-list a:hover {
  text-decoration: underline;
}

.mw_wp_form_confirm .cdlt {
	display: none;
}

@media print {
	header {
		display: none;
	}
}