@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

/*  ------------------------------------------------------------------

	共通

---------------------------------------------------------------------*/

body {
	-webkit-text-size-adjust: 100%;
	position:relative;
	width: 100%;
	padding-bottom: 60px !important;
	height: auto !important;
}
#wrap {
	width:100%;
	min-width:320px;
	overflow:hidden;
	position: relative;
}
dl, dt, dd, ul, li, ol {
    list-style: none;
    line-height: 1.3em;
}
.sp{
	display:block !important;
}
.pc {
	display:none !important;
}
.spNL:before {
	content: "\A" ;
	white-space: pre ;
}
img {
	max-width:100%;
	width:auto;
	max-height:100%;
	height:auto;
    -webkit-backface-visibility: hidden;
}
p{
	margin:0;
}

/*  ------------------------------------------------------------------

	ヘッダー

---------------------------------------------------------------------*/

#btnMenu.menu{
	display: none;
}

#bed #mainNav{
	display:none;
}

#sp-header{
	padding:15px;
	position:relative;
}

#sp-header #logo{
	text-align:center;
	line-height:0.1;
	font-size:12px;
}

#sp-header #btnMenu{
	position:absolute;
	right:15px;
	top:15px;
}

#sp-header #btnMenu img{
	width:30px;
}

#btnMenu.menu{
	display: none;
}

#common-header .navi-accordion dd li.parent > a:before{
	transform: rotate(90deg);
}

#common-header .navi-accordion dd li.parent > a.open:before{
	transform: rotate(-90deg);
}

#common-header .navi-accordion dd li.parent .children{
	display: none;
	margin: 10px 0 -10px;
}

#common-header .navi-accordion dd li.parent .children li{
	border-bottom: none;
	border-top: 1px solid rgba(255,255,255,.5);
}

#common-header .navi-accordion dd li.parent .children li a:before{
	margin-top: 0;
	top: 10px;
}
/*  ------------------------------------------------------------------

	ナビ

---------------------------------------------------------------------*/

#sp-menu{
    background:#e7e7e7;
	height:100%;
	position:absolute;
	right:-100%;
	top:60px;
	z-index:100;
	width:95%;
    text-align: left;
	transition:all 0.3s;
}

#sp-menu.open{
	right:0;
}


.dropDownLayer{
    padding: 20px 10px;
}

.dropDownLayer a{
    color: #3a3a3a;
    display: block;
	text-decoration:none;
}

.dropDownList li{
	list-style-type:none;
}

.dropDownList .parent{
    position: relative;
    border-top: 2px solid #fff;
}
.dropDownList .parent:first-child{
    border-top: none;
}
.dropDownList .parent a{
    font-size: 14px;
	padding:10px 40px 10px 0;
    text-decoration: none;
}
.dropDownList .parent:after{
    position: absolute;
    top: 12px;
    right: 10px;
    display: block;
    width: 8px;
    height: 8px; 
    border-top: 2px solid #3a3a3a;
    border-right: 2px solid #3a3a3a;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transition: all 0.4s cubic-bezier(.17,.67,.54,.93);
    -webkit-transition: all 0.4s cubic-bezier(.17,.67,.54,.93);
    content: "";
}
.dropDownList .parent.dropDownOpend:after{
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    top: 18px;
}
.dropDownList ul{
}
.dropDownList .child a{
    font-size: 14px;
    line-height: 25px;
    padding-left: 22px;
    background-image: url(../../../images/pi_gakusyu/sp/common/icon-navArrow.jpg);
    background-position: 0 4px;
    background-repeat: no-repeat;
    background-size: 15px 15px;
}
.dropDownList .single{
    font-size: 14px;
    border-top: 2px solid #fff;
}

.dropDownList .single:last-child{
	border-bottom:none;
}

.dropDownList .single a{
	position:relative;
	padding:10px 40px 10px 0;
}

.dropDownList .single a:after{
    position: absolute;
    top: 50%;
	margin-top:-4px;
    right: 12px;
    display: block;
    width: 8px;
    height: 8px; 
    border-top: 2px solid #3a3a3a;
    border-right: 2px solid #3a3a3a;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transition: all 0.4s cubic-bezier(.17,.67,.54,.93);
    -webkit-transition: all 0.4s cubic-bezier(.17,.67,.54,.93);
    content: "";
}


/*  ------------------------------------------------------------------

	フッター

---------------------------------------------------------------------*/

#sp-footer{
	background-color:#FFF;
	font-size:12px;
}


#sp-footer #pagetop a{
	display:block;
	background-color:#F7F7F7;
	padding:15px;
	color:#333;
	text-decoration:none;
}

#sp-footer #pagetop img{
	-webkit-transform : rotate(-90deg) ;
	-ms-transform : rotate(-90deg) ;
	transform : rotate(-90deg) ;
	width:10px;
	height:auto;
}

#sp-footer #fNav ul{
	border-top:solid 1px #EBEBEB;
}

#sp-footer #fNav ul li{
	width:50%;
	float:left;
	text-align:left;
	border-bottom:solid 1px #EBEBEB;
	box-sizing:border-box;
	list-style-type:none;
}

#sp-footer #fNav ul li:nth-child(2n-1){
	border-right:solid 1px #EBEBEB;
}

#sp-footer #fNav ul li a{
	display:block;
	padding:20px 30px 20px 20px;
	color:#333;
	background:url(../../../images/pi_gakusyu/sp/common/arrow.png) no-repeat right 18px top 20px;
	background-size:10px auto;
	text-decoration:none;
}

#sp-footer #copyright{
	background-color:#F7F7F7;
	padding:15px;
}

#bottomNav{
	height:60px;
	position:fixed;
	bottom:0;
	width:100%;
	z-index:100;
  display: block;
}

#bottomNav p{
	height:60px;
	display:table;
	width:100%;
	text-align:left;
	line-height: 1.4;
}

#bottomNav a{
	color:#FFF;
	display:table-cell;
	text-decoration: none;
	vertical-align:middle;
    width : 33.333%;
	border-right:solid 1px #FFF;
	padding: 0 30px 0px 10px;
	background:url(../../../images/pi_gakusyu/sp/common/arrow_white.png) no-repeat right 10px center #4DBFD8;
	background-size:10px auto;
}

#bottomNav a:last-child{
	border-right:none;
}


/*  ------------------------------------------------------------------

	コンテンツ

---------------------------------------------------------------------*/
#gtitle{
	margin: 0 -20px;
	height: auto;
	padding: 10px;
}
#gtitle h2{
	display: block;
	float: none;
	width: auto;
	margin: 0 0 10px;
}
#gtitle p{
	width: auto;
	float: none;
	display: inline-block;
	vertical-align: middle;
	margin: 0 20px 0 0;
}
#gtcalatog{
	float: none;
	width: auto;
	height: auto;
	margin: 0;
	display: inline-block;
	vertical-align: middle;
}

#wrap #contents,
#content{
	margin:0 20px 20px;
	width:auto !important;
	font-family: 'Noto Sans JP', sans-serif;
}

#gakusyu{
	width:auto !important;
	margin:0;
	padding:0;
	float:none;
}