@charset "utf-8";

/*========================

entry.css

========================*/

/*---------------------------------------------
header
---------------------------------------------*/
#header {
justify-content: start;
padding:0 !important;
top:0;
}

#header #header_cont {
border-radius: 0 0 10px 0;
flex: 0 0 290px;
}

#header #header_cont #header_left h1 a img {
height: auto;
max-height: 50px;
width:auto;
}

#header #header_cont #header_left #h_nav {
display:none;
}

#header #header_cont #header_right .entry {
display:none;
}

#header #header_cont #header_left .student_menu {
display:none;
}

/*---------------------------------------------
#main_visual
---------------------------------------------*/
#main.entry #main_visual.left_title {
height:300px;
}

#main.entry #main_visual h2.left_title {
margin-bottom:0;
padding: 30px 60px 30px 80px;
}

#main.entry #main_visual h2.left_title:before {
background-color: var(--white);
}

#main.entry #main_visual h2.left_title span {
color:var(--blue);
}

#main.entry #main_visual .full {
height:300px;
}

#head_info {
display:none;
right:0;
bottom:0;
max-width: 20vw;
}

#head_info #head_info_cont {
align-items: center;
justify-content: center;
}

#head_info #head_info_cont figure {
aspect-ratio: 51 / 38;
}

#head_info #head_info_cont figure img {
border-radius:6px 0 0 6px;
}

/*---------------------------------------------
main
---------------------------------------------*/
#main.entry {
padding:0 0 30px 30px;
}

#main.entry #main_cont {
/*padding:0;*/
/*min-height:100%;*/
}

#main.entry #main_cont .section {
row-gap:15px;
padding:20px 20px 20px;
}

#main.entry #main_cont .section.lazyloaded {
opacity:1;
}

#main.entry #main_cont .section .box {
height:100%;
}

#main.entry #main_cont .section .box .section_cont {
display:flex;
flex-direction:column;
padding:0 20px 20px;
row-gap:0;
}

#main.entry #main_cont .section .box .section_cont .form_wrap {
 max-width:1020px;
}

#main.entry #main_cont .section .box .section_cont p.lead {
text-align:left;
}

#main.entry #main_cont .section .box .section_cont p.lead span {
color:var(--orange);
font-weight:600;
}


/*--- flow ---*/

.flow {
column-gap:20px;
display:flex;
flex-direction:column;
justify-content:center;
}

.flow h4 {
align-items:center;
background-color:var(--blue);
/*color:var(--orange);*/
border-radius:10px 10px 0 0;
color:var(--white); 
display:flex;
font-size: 2.2rem; 
font-weight:600;
justify-content:center;
padding:20px 15px;
text-align:center;
width:100%;
}

.flow .flow_cont {
background-color:var(--blue03);
/*border:3px solid var(--blue);*/
border-radius:0 0 10px 10px;
column-gap:30px;
display:flex;
flex-direction:column;
padding:10px 10px;
}

.flow .flow_cont ol {
background-color:var(--white);
/*box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0. 2);*/ 
border-radius:6px;
column-gap:100px;
display:flex;
justify-content:center;
flex-grow:1;
padding:30px 10px;
}

.flow .flow_cont ol li {
display:flex;
flex-direction:column;
position:relative;
}

.flow .flow_cont ol li:after {
content:"\f054";
color:var(--blue);
font-family:var(--icon);
font-size:1.3rem;
font-weight:600;
top:50%;
right:-40px;
margin-top:-5px;
opacity:0.7;
position:absolute;
z-index:3;
}

.flow .flow_cont ol li:last-child:after {
content:none;
}

.flow .flow_cont ol li dl {
align-items:center;
display:flex;
flex-direction:column;
flex-grow:1;
justify-content:center;
row-gap:10px;
}

.flow .flow_cont ol li dl dt {
align-items:center;
background-color:var(--white);
border-radius:50px;
height:100px;
width:100px;
flex:0 0 100px;
display:flex;
justify-content:center;
}

.flow .flow_cont ol li dl dt img {
border-radius:50px;
border: 6px solid var(--blue02);
object-fit:cover;
height:100px;
width:100px;
}

.flow .flow_cont ol li dl dt i {
color:var(--white);
font-weight:600;
font-size:1.5rem
font-weight:900;
}

.flow .flow_cont ol li dl dd {
align-items:center;
display:flex;
flex-grow:1;
font-size:1.6rem;
font-weight:600;
line-height:1.4;
text-align:center;
}

.flow .flow_cont ol li:first-child dd {
color:var(--blue);
}

.flow p {
font-size:1.6rem;
line-height:1.6;
}

/*--- notice ---*/

#main.entry #main_cont .section .box .section_cont .notice {
border:6px solid var(--gray_f2);
border-radius:10px;
display:flex;
flex-direction:column;
padding:30px 40px;
row-gap:15px;
}

#main.entry #main_cont .section .box .section_cont .notice h4 {
align-items:center;
color:var(--blue);
display:flex;
font-size:1.6rem;
font-weight:600;
}

#main.entry #main_cont .section .box .section_cont .notice p {
font-size:1.6rem;
line-height:1.6;
}

#main.entry #main_cont .section .box .section_cont .notice dl {
display:flex;
flex-direction:column;
row-gap:10px;
}

#main.entry #main_cont .section .box .section_cont .notice dl dt {
font-size:1.6rem;
font-weight:600;
line-height:1.6;
}

#main.entry #main_cont .section .box .section_cont .notice dl dd {
font-size:1.6rem;
line-height:1.6;
}


/*---------------------------------------------
left_nav
---------------------------------------------*/
#left_nav #left_nav_menu {
padding:180px 0 0;
}

#left_nav #left_nav_menu #left_nav_menu_cont {
align-items:flex-end;
margin-top:0;
justify-content:flex-end;
row-gap:10px;
}

#left_nav_flow {
background-color:var(--blue03);
border-radius:0 10px 10px 0;
padding:10px;
width:100%;
}

#left_nav_flow ol {
background-color:var(--white);
border-radius:6px;
box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2);
display:flex;
flex-direction:column;
padding:20px;
row-gap:25px;
position:relative;
}

#left_nav_flow ol:after {
background-color:var(--blue);
content:" ";
left:40px;
height:calc(100% - 60px);
position:absolute;
top:30px;
width:2px;
z-index:0;
}

#left_nav_flow ol li {
column-gap:10px;
display:flex;
justify-content:space-between;
position:relative;
}

#left_nav_flow ol li .num {
align-items:center;
display:flex;
justify-content:center;
position:relative;
width:40px;
z-index:1;
}

#left_nav_flow ol li .num span {
background-color:var(--blue);
border-radius:20px;
color:var(--white);
font-size:1.4rem;
font-weight:600;
height:40px;
line-height:40px;
text-align:center;
width:40px;
}

#left_nav_flow ol li dl {
align-items:start;
display:flex;
flex-direction:column;
flex-grow:1;
justify-content:center;
row-gap:5px;
}

#left_nav_flow ol li dl dt {
font-size:1.4rem;
font-weight:600;
}

#left_nav_flow ol li dl dd {
font-size:1.4rem;
}

#left_nav_flow ol li.current .num span {
background-color:var(--orange);
color:var(--white);
}

#left_nav .notice {
background-color:var(--white);
border-radius:10px;
padding:20px 20px 20px;
display:flex;
flex-direction:column;
width:calc(100% - 10px);
}

#left_nav .notice h4 {
align-items:center;
color:var(--blue);
display:flex;
font-size:1.6rem;
font-weight:600;
margin-bottom:10px;
}

#left_nav .notice > p {
font-size:1.4rem;
line-height:1.6;
margin-bottom:15px;
}

#left_nav .notice dl {
display:flex;
flex-direction:column;
row-gap:5px;
}

#left_nav .notice dl dt {
font-size:1.4rem;
font-weight:600;
line-height:1.6;
}

#left_nav .notice dl dd {
font-size:1.4rem;
line-height:1.6;
display:flex;
flex-direction:column;
row-gap:10px;
}

#left_nav .banner {

width:calc(100% - 10px);
}

#left_nav .banner dl {
background-color:var(--white);
border-radius:10px;
display:flex;
flex-direction:column;
padding:10px;
row-gap:10px;
}

#left_nav .banner dl dt {
border:3px solid var(--blue);
border-radius:6px;
}

#left_nav .banner dl dt img {
border-radius:6px;
}

#left_nav .banner dl dd {
font-size:0.9rem;
line-height:1.4;
}

/*---------------------------------------------
footer
---------------------------------------------*/
#footer {
flex: 0 0 100%;
}

#footer .copyright {
flex: 0 0 100%;
padding: 20px 20px 20px 320px;
}

/*---------------------------------------------
thanks
---------------------------------------------*/
#main.entry.thanks {}

#main.entry.thanks #main_cont .section {
padding:0 30px 30px;
}

#main.entry.thanks #main_cont .section .box .section_cont {
row-gap:20px;
padding:0;
}

#main.entry.thanks .messgae {
padding-top:30px;
}

#main.entry.thanks .messgae p {
font-size:1.6rem;
line-height:1.8;
}

#main.entry.thanks .btn {
align-items:center;
display:flex;
justify-content:center;
}

#main.entry.thanks .btn a {
border-color: var(--blue);
color: var(--blue);
font-size:1.0rem;
padding:20px 60px;
}

#main.entry.thanks .btn a:after {
color: var(--blue);
font-size:0.8rem;
}

.thanks .flow .flow_cont ol li:first-child dl dt {
background-color:var(--orange);
}

/*---------------------------------------------
layerBoard
---------------------------------------------*/
.layer_board .layer_board_cont .introduction {
display:flex;
flex-direction:column;
padding:0 50px 50px;
row-gap:20px;
}

.layer_board .layer_board_cont .introduction dl.intro {
display:flex;
flex-direction:column;
row-gap:10px;
}

.layer_board .layer_board_cont .introduction dl.intro dt {
font-size:1.8rem;
font-weight:600;
line-height:1.6;
}

.layer_board .layer_board_cont .introduction dl.intro dd {
font-size:1.4rem;
line-height:1.8;
}

.layer_board .layer_board_cont .introduction dl.campaign {
display:flex;
flex-direction:column;
row-gap:10px;
}

.layer_board .layer_board_cont .introduction dl.campaign dt {
align-items:center;
display:flex;
justify-content:center;
}

.layer_board .layer_board_cont .introduction dl.campaign dt img {
height:auto;
max-width:700px;
width:100%;
}

.layer_board .layer_board_cont .introduction dl.campaign dd {
font-size:1.3rem;;
line-height:1.6;
}

.layer_board .layer_board_cont .introduction .notice {
display:flex;
flex-direction:column;
row-gap:3px;
}

.layer_board .layer_board_cont .introduction .notice p {
font-size:1.3rem;
line-height:1.6;
}


/*--- campaign ---*/
.layer_board .layer_board_cont .campaign {
 background-color: var(--blue01);
 border-radius:10px;
 display:flex;
 flex-direction:column;
 gap:15px;
 padding:25px 30px;
}

.layer_board .layer_board_cont .campaign h5 {
 color: var(--blue);
 font-size: 1.6rem ;
 font-weight: 600;
 text-align: center;
}

.layer_board .layer_board_cont .campaign .campaign_cont {
 column-gap:30px;
 display:flex;
 justify-content:space-between;
 row-gap:15px;
}
 
.layer_board .layer_board_cont .campaign .lead {
 font-size: 1.2rem;
 text-align:center;
 width:100%;
}

.layer_board .layer_board_cont .campaign .campaign_cont .campaign_detail {
 background-color: var(--white);
 border-radius:6px;
 display:flex;
 flex-direction:column;
 row-gap:10px;
 padding:20px;
 width:calc(100% / 3 - 20px);
}

.layer_board .layer_board_cont .campaign .campaign_cont .campaign_detail h6 {
 align-items:center;
 font-size: 1.3rem;
 font-weight: 600;
 display:flex;
 flex-grow:1;
 flex-direction:column;
 row-gap:5px;
 justify-content:center;
}

.layer_board .layer_board_cont .campaign .campaign_cont .campaign_detail h6 span {
 display:block;
 font-size: 1.1rem;
}

.layer_board .layer_board_cont .campaign .campaign_cont .campaign_detail p {
 font-size: 1.1rem;
 flex-grow:1;
 line-height:1.3;
}

.layer_board .layer_board_cont .campaign .campaign_cont .campaign_detail ul {
 gap:15px;
 display:flex;
 justify-content:space-between;
}

.layer_board .layer_board_cont .campaign .campaign_cont .campaign_detail ul li {
 display:flex;
}

.layer_board .layer_board_cont .campaign .campaign_cont .campaign_detail ul li dl {
 align-items:center;
 display:flex;
 gap:5px;
 flex-wrap:wrap;
 justify-content:center;
}

.layer_board .layer_board_cont .campaign .campaign_cont .campaign_detail ul li dl dt {
 font-size: 1.3rem;
 font-weight: 600;
}

.layer_board .layer_board_cont .campaign .campaign_cont .campaign_detail ul li dl dd {
 font-size: 1.3rem;
 font-weight: 600;
}