@charset "utf-8";

body{background:#F6F3EE;
font-family: 'Noto Serif JP', serif; color: #333333;
font-size:1rem; line-height:1.85;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%; 
word-wrap: break-word;
}

body.appear{background:#F6F3EE;}
*{box-sizing: border-box;}
#container{overflow-x: hidden;}

/* header */
#header{background:#e0d6cd/*CFBDA6*/;}
#header h1{font-size: 1.5rem; letter-spacing: 0.1em;
position: absolute;
top: 25px;
left:50%;
transform: translateX(-50%);
color:#182578;
}

#g-nav ul{display: flex; padding: 0 0 0 5%;}
#g-nav ul li{letter-spacing: 0.1em; white-space: nowrap;}
#g-nav ul li:last-child{/*display: none;*/}
#g-nav ul li a{display: block; padding:5px 8px; color: #34200B; font-size: 0.88rem;}

#header ul#utility-navi{position: fixed; top:0; right:0; z-index: 999; display: flex; font-size: 0.8rem;}
#header ul#utility-navi li{text-align: center;}
#header ul#utility-navi li span{display: block;}
#header ul#utility-navi li a{color: #ffffff; padding: 15px 0;
display: block;
width:100px;
transition: all .5s;
}

#header ul#utility-navi li img{width:35%;}
#header ul#utility-navi li:first-child a{background:#3B958D;}
#header ul#utility-navi li:first-child a:hover{background:#aaaaaa;}
#header ul#utility-navi li:last-child a{background:#275955;}
#header ul#utility-navi li:last-child a:hover{background:#aaaaaa;}

/* lead */
#lead{position: relative; padding: 80px 0 0 0; height:100vh;}
#slider-area{width:100%; height: 80vh; position: relative; top: 0; left:0; z-index: -1;}
#slider-area #slider{width:100%; height:80vh;}
#lead h2.heading{position: absolute; top:280px; text-align: center;
bottom:  0;                 /* 下からの位置指定 */
left:  0;                   /* 左からの位置指定 */
right:  0;                  /* 右からの位置指定 */
margin:  auto;              /* 位置調整と組み合わせて上下中央に */
 animation-delay: 0.3s;}
#lead h3.heading{position: absolute; top:200px; left:10%; font-size: 1.5em; font-weight: bolder; color: #ffffff; animation-delay: 0.3s; text-shadow: 0 0 0.5em rgba(255,255,255,1);}
#lead p.leadup{position: absolute; top:200px; left:10%; font-size: 1.1em; color: #ffffff; letter-spacing: 0.2em; line-height: 1.6; white-space: nowrap;}
#lead p.lead{position: absolute; top:380px; right:4%; font-size: 1.3em; color: #ffffff; letter-spacing: 0.2em; line-height: 1.6; white-space: nowrap; animation-delay: 0.3s;}
#lead .lead span{display: block; padding: 0; font-size: 0.8em;}

/* new */
#news{position: absolute; left: 0; bottom: 0; background:#ffffff; width:48%; z-index: 2; padding: 30px;}
#news:after{content: ""; display: block; clear: both}

#news h2{position: relative; font-size:1.3rem; color:#333333; margin: 0 0 30px 0; border-bottom: 3px solid #DCDDDD;}
#news h2::before{
content:'';
position: absolute;
width:20%;
height: 3px;
left:0;
bottom:-3px;
z-index: 2; background-color: #a11e30;}
#news h2 span{font-size:1rem; color:#333333;}
#news li{margin:0 0 10px 0;}
#news li a{transition: all .3s;}
#news li a:hover{background:#eeeeee;}
#news li time{display: inline-block; padding:0 20px 0 0; font-size:0.8rem; color: #999999;}


/* history-news***************************************/
#history-news{position: relative; padding:80px 70px; margin: 40px auto 10px;}
#history-news h2{z-index: 2; font-size:1.5em; font-weight: bolder; color: #9D2824; text-shadow: 0 0 0.5em rgba(255,255,255,1);}
#history-news h2 span{font-size: 0.7em; font-weight: normal; color: #555555; margin: auto 8px;}
#history-news img{max-width: 100%; height: auto; border: none; /*border: solid 1px #eeeeee;*/ margin:0 auto 8px; padding:0;}
.history-news-area{display: flex; justify-content: space-between; flex-wrap: wrap;}
    /* history-img***************************************/
.history-news-img{width:55%; padding: 0 0.5%;}  /* width:48%でハーフ */
.history-news-img .event{margin:0 auto; animation-delay: 0.3s;}
    /* history-content***************************************/
.history-news-content{width:40%; padding: 0 1%;}  /* width:48%でハーフ */
.history-news-content .course-list{display: flex; justify-content: space-around; flex-wrap: wrap; align-items: stretch; margin:0 auto; animation-delay: 0.3s;}
.history-news-content .course-list menu{/*width:24%;*/ width:48%; background: #ffffff; position: relative; box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
margin:0 1% 10px;
padding:4px 4px 8px;
/*border-radius: 5px;*/
border:solid 1px #cccccc;}
.history-news-content .course-list menu p{margin:2px auto; line-height:1.5;}
.history-news-content .course-list menu p span{padding:0 2px;}
#history-news .history-news-btn{margin: 50px 0 0 0;}


/* service ***************************************/
#service{position: relative; text-align: center; padding: 80px 0 0 0;}
#service header{background:#9D2824; color: #ffffff; width:95%; padding: 50px 0 100px 0; z-index: 1;
background-image: url(../imges/top_service-headercontents_bg.jpg);
background-size:contain;
background-repeat: no-repeat;
background-position:right top;
text-align:left;}
#service header h2{font-size: 1.2rem; margin: 0 0 10px 18px; letter-spacing: 0.1em;}
#service header p{margin: 0 0 0px 18px;}
#service header p br{display: none;}
#service .service-area{background:#ffffff; padding: 70px; width:85%; position: relative; top:-50px; left: 0%; z-index: 2;}
#service .service-area ul{display: flex; flex-wrap: wrap; justify-content:space-around;
/* スマホ表示用。flipDownを指定している親要素に指定しないとうまく動かない*/
transform:  translate3d(0, 0, 0);}
#service .service-area ul li{opacity: 0; width:30%; padding: 0 0 50px 0; font-size: 1em; line-height:1.2;}
#service .service-area ul li:first-letter{font-size: 1.8em;}
#service .service-area ul li span{display: block; width:100%; padding: 0;}
#service .service-area ul li span.text{display: block; }
#service .service-area ul li span.img{display: block; width:auto; padding: 0;}
#service .service-area ul li a{display: block;}


/* catholic-menu***************************************/
#catholic-menu{position: relative; padding:80px 70px; margin: 0px auto; /*background:#ffffff; border-top:solid 1px #cccccc;*/ border-bottom:solid 1px #cccccc;}
#catholic-menu h2{z-index: 2; font-size:1.5em; font-weight: bolder; color: #036eb8; text-shadow: 0 0 0.5em rgba(255,255,255,1);}
#catholic-menu h2 span{font-size: 0.7em; font-weight: normal; color: #555555; margin: auto 8px;}
#catholic-menu p{margin: 0 auto 18px;}
.catholic-menu-area{display: flex; justify-content: space-between; flex-wrap: wrap; margin: 0 auto;}
/* catholic-img ***************************************/
.catholic-menu-img{width:50%; height:auto; padding: 0;}
/* catholic-content ***************************************/
.catholic-menu-content{width:50%; padding: 0 0.5%;}
.catholic-menu-content img{max-width: 100%; height: auto; margin:0 auto 0px; padding:0; border: solid 1px #cccccc;}

/*==========================================
 contentCSS
===========================================*/
.inner {max-width:100%; margin: 0 auto; padding: 0 15% 18px;}
.inner:after{content: ""; display: block; clear: both}

/* related-title ---------------------------------------*/
.related-title {text-align:center; margin:148px auto 18px; padding:0;}
.related-title h4 {font-size: 1.5em; font-weight: normal; margin:8px auto; color: #333333; letter-spacing:2px; line-height: 1.2em; position: relative;text-align: center;}
.related-title h4 span {position: relative; z-index: 2; display: inline-block; margin: 0 4em; padding: 0 1em; background-color: #F6F3EE; text-align: center;}
.related-title h4::before {position: absolute; top: 50%; z-index: 1; content: ''; display: block; width: 100%; height: 1px; background: #bbbbbb;
background: -webkit-linear-gradient(-45deg, transparent, #bbb 10%, #bbb 90%, transparent);
background: linear-gradient(-45deg, transparent, #bbb 10%, #bbb 90%, transparent);}

/* related_stage-contents ---------------------------------------*/
.related_stage-contents {text-align:left; margin: 33px auto 18px;}
.related_stage-contents p{margin:0 auto 8px;}
.related_stage-contents section {width: 100%;}
.related_stage-contents article {width: 100%; margin:88px auto; padding:0;}
.related_stage-contents aside {width: 100%; margin:88px auto; padding:88px 0;}
.related_stage-contents h3 {font-size: 1.4em; font-weight:normal; color: #222222; margin:0 auto 4px; border-bottom: 1px solid #888888;}
.related_stage-contents h3 span {font-size: 0.8em; font-weight:normal; color: #888888; margin:auto 18px;}
.related_stage-contents h5 {margin:22px auto 0;}
.related_stage-contents h6 {margin:0 auto; border-bottom: 1px solid #888888;}

.related_stage-contents .course-list{display: flex; justify-content: space-around; flex-wrap: wrap; align-items: stretch;}
.related_stage-contents .course-list aside{width:48%; position: relative; margin:1%; padding:20px 20px 50px 20px; border:solid 1px #cccccc;}
.related_stage-contents .white{width: 100%; background:#ffffff;}
.related_stage-contents .div_box001 p{margin:4px auto; padding:0;}
.related_stage-contents .div_box001 p i{margin:auto 4px auto 18px; padding:0; font-size:1.2em; color:#429353;}
.related_stage-contents .eria-sp{margin:38px auto; padding:0; line-height:1.8;}
.related_stage-contents .eria-bottm-sp{margin:0 auto 30px; padding:0; line-height:1.8;}

/* footer ************************************/
#footer{position: relative; display: flex; justify-content: space-between; flex-wrap:wrap; flex-direction: row-reverse;}
#footer address {font-size: 1em;}
#footer .footer-r{/*width:50%;*/ padding: 40px 80px 0; /*background:#CDBBA5;*/ color: #222222;
    background:url("../img/pict_01.jpg") no-repeat center;
    background-size: cover;
    height: 50vh;
    width:50%;
}

/* footercontent ************************************/
#footer .footer-link {font-size: 1em; margin: 22px 0; padding: 0;}
#footer .footer-link li{display: inline-block;}
#footer .footer-link a,
#footer .footer-link a:link,
#footer .footer-link a:visited {color: #222222; text-decoration: none;}
#footer .footer-link a::after{content:'/'; padding: 0 10px;}
#footer .footer-link li:last-child a::after{content:''; padding: 0;}
#footer .footer-link a:hover,
#footer .footer-link a:active {color: #888888; text-decoration: none;}

#footer .footer-l{width:50%; background:#ffffff;}
#footer .footer-l .footer-contact{display: flex; justify-content: space-evenly;
/*justify-content: center;*/
align-items: center; text-align: center; background: #ffffff; height: 48vh;}
#footer .footer-l .footer-contact-area h2{font-size: 1.8rem; font-weight:normal; margin: 0 0 18px 0; letter-spacing: 0.1em; color:#182578;}
#footer .footer-l .footer-contact-area h2 span{font-size: 1.2rem; font-weight:normal; margin:2px;}
#footer .footer-l .footer-contact-area a:link,
#footer .footer-l .footer-contact-area a:visited {color: #182578; text-decoration: none;}
#footer .footer-l .footer-contact-area a:hover,
#footer .footer-l .footer-contact-area a:active {color: #888888; text-decoration: none;}


#footer #page-top{
position: absolute;
bottom:0;
right: 0;
width:80px;
height:80px;
background:#eeeeee;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
}

#footer #page-top span{
display: inline-block;
width: 15px;
height: 15px;
border-top:2px solid #182578;
border-left: 2px solid #182578;
transform: rotate(45deg);
}

/*==========================================
 footer
===========================================*/
#footermenu {width: 100vw; margin:0 auto 0; padding: 88px 33px; background-color:#4D3C26; color: #ffffff;}
#footermenu a:link,
#footermenu a:visited {color: #ffffff; text-decoration: none;}
#footermenu a:hover,
#footermenu a:active {color: #888888; text-decoration: none;}
.content_nav {overflow: hidden; float: left; font-size:1em;}
.content_nav ul{margin: 0; padding: 0; list-style: none}
.content_nav li {float: left; margin: 0 8px; padding: 0;}
.content_nav li a:before {color:#ffffff; margin:0 4px; font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f105";}
.content_nav li.none {display: none;}

.company_nav {overflow: hidden; float: left; font-size:0.8em;}
.company_nav ul{margin: 0; padding: 0; list-style: none}
.company_nav li {float: left; margin: 0 8px; padding: 0;}
.company_nav li a:before {color:#ffffff; margin:0 4px; font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f105";}
.company_nav li.none {display: none;}
#footermenu address {overflow: hidden; font-size: 0.7em; float: right;}
#footermenu hr {overflow: hidden; width: 100%; border:1px solid #ffffff; margin: 20px 0;}


/*==========================================
 footer_fixedarea PC Tbios off
===========================================*/
#footer_fixedarea {z-index: 8888; margin:0 auto; padding: 8px 0; text-align: center;}




