/*!
 * default.css
 * ------------------------------------------------------------
 * 受験生特設ページで使用するベーススタイルを定義しています。
 *
 * 【主な役割】
 * - 各種要素のリセット
 * - 基本の文字設定・タイポグラフィ（p, 見出しなど）
 * - よく使うユーティリティクラス（.block / .inline-block / .text-center / .w100 など）
 * - 共通ボタンスタイル (.btn)
 * - ハンバーガーメニュー等の最小限のナビゲーション基本スタイル
 *
 * 【設計方針】
 * - レイアウトやページ固有のデザインは styles.css 側で管理します。
 * - default.css は “ページ共通の基礎” として、影響範囲が広い変更は避けます。
 *
 * 目的：
 * このファイルは、ページ全体で共通して利用する最低限の基盤スタイルを提供します。
 * 個別要素のデザイン調整は styles.css に記述してください。
 * ------------------------------------------------------------
 */
@keyframes show{
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}

/*************
Googleフォント
*************/
.notosansjp { font-family: "Noto Sans JP"; }

/*************************
ヘッダー
*************************/
header a{
	text-decoration: none;
	color: inherit;
}

/*************************
フッター
*************************/
footer a{
	text-decoration: none;
	color: inherit;
}

/*************************
全体
*************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    /* font-size: 16px; */
	font-size: 100%;
	line-height:1.25em;
	/* letter-spacing: 0.1em; */
	font-family: 'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';
	-webkit-text-size-adjust: 100%;
	height:100%;
	background-color:#ffffff;
	color:#333333;
}
ul, ol {
		line-height: 1.7;
}
ol.none, ul.none, li.none{
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

img{
	max-width:100%;
	height:auto;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

iframe{
	max-width:100%;	
}

/*-------------------------------
ページトップへスクロール
--------------------------------*/
#page-top {
    position: fixed;
    bottom: 2%;
    right: 2%;
		z-index: 999;
}

/*************
display関連
*************/
.block{
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.inline{
	display: inline;
}
.inline-block{
	display: inline-block;
}

/*************
文字関連
*************/
.text-center{
	text-align: center;
}
.text-left{
	text-align: left;
}
.text-right{
	text-align: right;
}
.text-just{
	text-align: justify;
}
strong{
	font-weight:bold;
}
p{
	font-size:1rem;
	text-align:justify;
	margin-bottom: 0.5em;
	line-height: 1.7;
}
h1, .h1{
	font-size:2.5rem;
	margin-bottom: 0.5em;
	line-height: 1.25em;
}
h2, .h2{
	font-size:2rem;
	margin-bottom: 0.5em;
	line-height: 1.25em;
}
h3, .h3{
	font-size:1.75rem;
	margin-bottom: 0.5em;
	line-height: 1.25em;
}
h4, .h4{
	font-size:1.5rem;
	margin-bottom: 0.5em;
	line-height: 1.25em;
}
h5, .h5{
	font-size:1.25rem;
	margin-bottom: 0.5em;
	line-height: 1.25em;
}
h6, .h6{
	font-size:1rem;
	margin-bottom: 0.5em;
	line-height: 1.25em;
}

/*************
コンテンツ幅
*************/
.w100{
	width:100%;
	margin-left:auto;
	margin-right:auto;
}

/*************
flex関連
*************/
.flex-wrap{
	display: flex;
	flex-wrap: wrap;
    justify-content: normal;
}

/*************
ボタン関連
*************/
.btn{
	background-color: #333333;
	border: 1px solid #333333;
	border-radius: 0.25em;
	color: #ffffff;
	box-sizing: border-box;
	padding: 0.3em 1em;
	max-width: max-content;
	cursor: pointer;
	text-decoration: none;

}
.btn.hover{
	transition: 0.8s;
}
.btn.hover:hover{
	background-color: #ffffff;
	color: #333333;
}

.btn.hover:hover span{
	position: relative;
	z-index: 1;
}

/*************************
グルーバルナビゲーション
*************************/
/**ハンバーガーアイコン**/
#nav_icon{
	position: absolute;
	top: 5px;
    right: 5px;
	box-sizing: border-box;
	padding: 0.5em;
	width: 4em;
    height: 3.5em;
	background-color: #333333;
	display: none;
	z-index: 9999999999;
}
#nav_icon .menu-ic{
	display: block;
	width: 3em;
    height: 0.25em;
	background-color: #ffffff;
	position: absolute;
	top: 1.65em;
	transition: 0.5s ;
}
#nav_icon .menu-ic:before{
	content: "";
	display: block;
	width: 3em;
    height: 0.25em;
	background-color: inherit;
	position: absolute;
	top: -0.75em;
	transition: 0.5s ;
}
#nav_icon .menu-ic:after{
	content: "";
	display: block;
	width: 3em;
    height: 0.25em;
	background-color: inherit;
	position: absolute;
	bottom: -0.75em;
	transition: 0.5s ;
}

/**オープン時**/
body.drawer-opened #nav_icon .menu-ic{
	width: 0;
	transition: 0s ;
}
body.drawer-opened #nav_icon .menu-ic::before{
	transform: rotate(45deg);
	top: 0em;
}
body.drawer-opened #nav_icon .menu-ic::after{
	transform: rotate(-45deg);
	bottom: 0em;
}
body.drawer-opened .nav-contents > ul > li{
	position: relative;
}

nav ul{
	display: flex;
    justify-content: space-between;
}
nav ul li{
	width: 100%;
	list-style: none;
}
nav a{
	text-decoration: none;
	color:inherit;
}
/**タイプ1**/
nav.type1 ul li > a{
	display: block;
	box-sizing: border-box;
	padding: 15px;
}
/**オープン時**/
body.drawer-opened nav.type1 .nav-contents{
	display: block;
	animation: show 0.8s linear 0s;
	z-index: 999999999;
	overflow-y: auto;
}
body.drawer-opened nav.type1 .nav-contents > ul{
	display: flex;
	flex-wrap: wrap;
	color: #ffffff;
	padding: 5% 0%;
	box-sizing: border-box;
}
body.drawer-opened nav.type1 .nav-2{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 50px;
}
body.drawer-opened nav.type1 .nav-2 a{
	display: block;
    width: 48%;
    max-width: initial;
    border: 1px solid #ffffff;
    border-radius: 5px;
    box-sizing: border-box;
    padding: 10px 5px;
    margin: 1%;
}
body.drawer-opened nav.type1 .nav-2 p{
	text-align: center;
}
/**ハンバーガーメニュー表示**/
@media screen and ( max-width:1119px) {
    /*　画面サイズが992pxから1119pxまではここを読み込む　*/
	body.drawer-opened nav.type1 .nav-2 a{
		width: 48%;
	}
	
}