/*
Template: arkhe
Theme Name: OAlab
Theme URI: 
Author: nsl
Author URI:
*/

/*
 * TOPページ
 * */




/* メインビジュアル */
.topMainvisual {
    width: 100vw;
    height: 65vh;
    background-color: #ccc;
	background-image: url(../images/topMainvisual.jpg);
    background-size: cover;
    position: relative;
    z-index: 1;
}
p.topMainvisual_catchcopy {
    box-sizing: border-box;
    color: #fff;
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 48px 1rem 30px;
}
p.topMainvisual_sub {
    font-size: 0.875rem;
    margin: 0 1.125rem;
    padding: 1rem;
    background-color: rgba(255,255,255,0.35);
    color: #1B1464;
    position: relative;
    z-index: 2;
}
.topMainvisual_sub span {
    max-width: 700px;
    display: block;
    margin: 0;
}

/* 大切なお知らせと4つボタン */
.topWrapper {
    margin-top: -30%;
    position: relative;
    z-index: 1;
}
.topImportant {
    background-color: #fff;
    margin-bottom: 2rem;
    padding: 1rem;
    box-shadow: 7px 7px 5px #000000BF;
}
ul.top4button_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
ul.top4button_list li {
    display: block;
    width: 48%;
    height: 70px;
    margin-bottom: 1rem;
    background-color: #666;
    text-align: center;
    border: solid 3px #fff;
    box-shadow: 5px 5px 3px #00000055;
	 background-size: cover;
}
ul.top4button_list li a {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 65px;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
}
ul.top4button_list li a span {
    display: inline-block;
    width: 100%;
    line-height: 2.5rem;
    background-color: rgba(0,0,0,0.3);
    text-shadow: 2px  2px 0px #000000,
      -2px  2px 0px #000000,
       2px -2px 0px #000000,
      -2px -2px 0px #000000,
       2px  0px 0px #000000,
       0px  2px 0px #000000,
      -2px  0px 0px #000000,
       0px -2px 0px #000000;
}

/* TOP本文 */
.topContent {
    margin: 3rem 0;
}

/* お知らせ */
.whatsnew {
    padding: 1rem;
    background-color: #ccc;
    background-image: url(../images/bk_cmn.jpg);
    background-size: cover;
    width: 100vw;
    margin: 0 calc(50% - 50vw) 2rem;
}
.whatsnew_inner {
    background-color: #fff;
    margin: 3rem 0;
    padding: 1rem 0;
    box-shadow: 3px 3px 3px #666;
}
h2.whatsnew_h2 {
    text-align: center;
    font-size: 1.313rem;
    color: #1056BF;
}
ul.whatsnew_list {
    border-top: solid 1px #000;
    margin-top: -1rem;
}
ul.whatsnew_list li {
    display: flex;
    flex-direction: column;
    border-bottom: solid 1px #999;
    padding: 1.313rem 1rem;
}
ul.whatsnew_list li span {
    font-size: 0.813rem;
	font-weight: bold;
}

/* PC表示 */
@media only screen and (min-width:769px) {
    /*メガメニュー*/
    #mega-menu-wrap-header_menu {
        display: block;
    }
    #mega-menu-wrap-header_menu #mega-menu-header_menu > li.mega-menu-item {
    	max-width: 200px;
		min-width: 130px;
	}
    #mega-menu-wrap-header_menu #mega-menu-header_menu li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-columns-3-of-12 {
        margin-bottom: 1.5rem;
    }
    #mega-menu-wrap-header_menu #mega-menu-header_menu li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
        padding: 0 15px 0 15px;
        width: 100%;
        text-align: center;
    }
    div#drawer_menu {
        display: none;
    }
	
	.topMainvisual {
    	height: calc(100vh - 60px);
    	background-position: center;
    	position: relative;
	}
    .topMainvisual_inner {
        height: calc( 100vh - 300px );
        /*padding-top: 10%;*/
    }
	p.topMainvisual_catchcopy {
        max-width: 1200px;
        margin: 0 auto;
        text-align: left;
        font-size: 2.5rem;
        padding-bottom: 1rem;
    }
	p.topMainvisual_sub {
        font-size: 1.125rem;
        margin: 0 1.125rem -1rem 0;
        padding: 1rem;
        width: 55%;
    }
    .topMainvisual_sub span {
        max-width: 650px;
        display: block;
        margin: 0 0 0 auto;
    }
    .topWrapper {
        margin-top: -19%;
    }
	ul.top4button_list {
        flex-wrap: nowrap;
        justify-content: space-between;
        flex-direction: row;
    }
	ul.top4button_list li {
        width: 24.5%;
        height: 160px;
    }
	ul.top4button_list li a {
        line-height: 160px;
    }
	ul.top4button_list li a span {
        font-size: 1.5rem;
        line-height: 5rem;
    }
	.whatsnew {
        max-width: 1200px;
        margin: 5rem auto;
    }
	.whatsnew_inner {
        max-width: 1000px;
        margin: 1.375rem auto;
        padding: 0;
        background-color: transparent;
        box-shadow: none;
    }
	h2.whatsnew_h2 {
        text-align: left;
        font-size: 1.75rem;
        color: #1056BF;
    }
	ul.whatsnew_list {
        height: 180px;
        border-top: solid 1px #000;
        margin-top: -1rem;
        background-color: #fff;
        overflow: auto;
    }
	ul.whatsnew_list li span {
        font-size: 0.875rem;
        font-weight: bold;
    }
	/* TOP本文 */
	.topContent {
        margin: 5rem 0;
    }
	.noNotice {
		margin-top: 8rem;
	}
}

/* メガメニュー用メガメニューCSS */
@media only screen and (max-width:769px) {
    ul.mega-sub-menu img {
        display: none;
    }
    #mega-menu-wrap-header_menu #mega-menu-header_menu > li.mega-menu-megamenu > ul.mega-sub-menu {
        background: hsl(0deg 0% 100% / 10%);
    }
    #mega-menu-wrap-header_menu #mega-menu-header_menu li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
        padding: 0.3rem;
        width: inherit;
    }
    #mega-menu-wrap-header_menu #mega-menu-header_menu > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link, #mega-menu-wrap-header_menu #mega-menu-header_menu > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
        color: #fff;
        font-size: 14px;
        font-weight: normal;
    }
    #mega-menu-wrap-header_menu #mega-menu-header_menu > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link, #mega-menu-wrap-header_menu #mega-menu-header_menu > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link::before {
        content: "\f105";
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
    }
    #mega-menu-wrap-header_menu #mega-menu-header_menu > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link, #mega-menu-wrap-header_menu #mega-menu-header_menu > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item li.mega-menu-item > a.mega-menu-link {
        color: #fff;
        text-align: left;
        padding: 0.5rem 0px 0.8rem 1rem;
    }
}
@media only screen and (min-width:1600px) {
	
    #mega-menu-wrap-header_menu #mega-menu-header_menu > li.mega-menu-item {
	    max-width: 250px;
	    min-width: 200px;
	}
}
@media only screen and (max-width:375px) and (max-height:667px){
    .topMainvisual_sub {
        margin-top: -1.5rem !important;
    }
    .topMainvisual_sub span {
        font-size: 0.8rem;
        line-height: 1.1rem;
    }
}
@media (orientation: landscape) and (max-width: 812px){
    .topMainvisual {
        height: 100vh;
    }
    .topWrapper {
        margin-top: 2rem;
    }
}