﻿@charset "utf-8";
/*===========================================================
=============================================================
This CSS file is applied to all existing pages.

index as follows;
1: Initialize
2: BugFix
3: Layout Boxes
4: Components
5: Utility
6: State

=============================================================
============================================================*/


/*==================================================

1: Init

====================================================*/
html, body, div, span, h1, h2, h3, h4, h5, h6, p, em, div,
img, dl, dt, dd, ol, ul, li, a,
fieldset, form, label, textarea,input,button,
table, caption, tbody, tfoot, thead, tr, th, td,
hgroup,iframe{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
ul,ol{
	list-style-type: none;
}
body{
	font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	color: #444444;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
button{
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
	margin: 0;
	-ms-user-select: none;
	user-select: none;
}
a img{
	border: none;
}
a{
	color: #3D62AD;
	cursor: pointer;
	text-decoration: none;
	}

a:hover{
	color: #80A0E0;
}

input, select {
	vertical-align:middle;
}

input[type="text"],
input[type="password"]{
	border: 1px solid #D0D6DB;
	border-radius: 3px;
	width: 100%;
	height: 36px;
	padding: 0 10px;
	font-size: 14px;
	outline: none;
}

textarea {
    border: 1px solid #D0D6DB;
    border-radius: 3px;
    width: 100%;
    height: 100px;
    padding: 10px 10px;
    font-size: 14px;
    outline: none;
}

input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus{
	border: 2px solid #5F82CB;
}

select {
    border: 1px solid #D0D6DB;
    border-radius: 3px;
    width: 100%;
    height: 36px;
    padding: 0 10px;
}

input[type="date"] {
    border: 1px solid #D0D6DB;
    border-radius: 3px;
    width: 100%;
    height: 36px;
    padding: 0 10px;
}
/*==================================================

2: Layout 

==================================================*/

html,body{
	display:-webkit-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	flex-flow: column;
	min-height: 100vh;
}

@media screen and (min-width:768px) {
    body{
		background-color: #F5F7FA;
	}
}

/*----------------------------------------------
header
-----------------------------------------------*/
/* preview */
.preview{
	-webkit-box-pack: start !important;
	-ms-flex-pack: start !important;
	justify-content: flex-start !important;
	background-color: #465077;
	padding: 4px 18px;
}

.preview--title{
	color: #fff;
	font-size: 12px;
}

.header{
	background-color: #5388F3;
	height: 50px;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width:767px) {
	.header{
		padding: 10px 12px;
	}
}
@media screen and (min-width:768px) {
    .header{
		padding: 10px 18px;
	}
}



/*----------------------------------------------
body
-----------------------------------------------*/

.body{
    -webkit-box-flex:1;
    -ms-flex-positive:1;
    flex-grow:1;
    margin: 50px 0 0;
}

@media screen and (min-width:768px) {
    .body{
		width: 700px;
		background-color: #fff;
		border: 1px solid #e2e6ea;
		margin: 70px auto 20px;
		border-radius: 4px;
	}
}
/*----------------------------------------------
footer
-----------------------------------------------*/
.footer{
	padding: 12px;
	color: #7c7c7c;
	text-align: center;
	border-top: 1px solid #e2e6ea;
	background-color: #fff;
}

.footer--navi,
.footer--sns{
	display:-webkit-box;
    display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
    -ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 12px;
	margin-bottom: 10px;
}

@media screen and (max-width:767px) {
	.footer--navi{
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
    }
}

@media screen and (max-width:767px) {
    .footer--navi li{
		width: 50%;
		text-align: left;
		margin-bottom: 2px;
}
}

@media screen and (max-width:767px) {
	.footer--navi li a,
	.footer--sns li a{
		display: block;
		padding: 6px;
	}
}

@media screen and (min-width:768px) {
    .footer--navi li + li{
		margin-left: 16px;
	}
}

.footer--sns li + li{
	margin-left: 16px;
}

.footer--sns__youtube{
	width: 60px;
}

.footer--sns__facebook{
	width: 18px;
}

.footer--cr{
	font-size: 10px;
}

@media screen and (max-width:767px) {
	.footer--cr{
		border-top: 1px solid #e2e6ea;
		padding-top: 10px;
		margin: 0 -12px;
		font-size: 2.8vw;
	}
}
/*==================================================

4: Components

==================================================*/

/*----------------------------------------------
Header
-----------------------------------------------*/

.top-head {
    background-color: #5388F3;
    position: fixed;
    width: 100%;
    z-index: 101;
}

@media screen and (min-width:768px) {
	.top-head {
		padding: 0 10px 0 18px;
		min-width: 900px;
	}
}

.top-head a {
    color: #fff;
}

.inner {
    position: relative;
}

@media screen and (min-width:768px) {
    .inner{
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack: justify;
        -ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
}


@media screen and (max-width: 767px) {
    .mobile-head {
		height: 50px;
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
        padding: 0 12px;
		position: relative;
		z-index: 1;
		background-color: #5388F3;
	}
}

@media screen and (max-width:767px) {
	.top-btn__Wrapper{
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		width: 78px;
	}
}

@media screen and (min-width:768px) {
	.top-btn__Wrapper {
		position: absolute;
		right: 0;
		top: 9px;
		border-left: 1px solid #6da4e8;
		padding-left: 8px;
	}
}

/* Header Notification */
.top-notification{
	position: relative;
	cursor: pointer;
}

.top-notification_number{
	position: absolute;
    top: -3px;
    right: 1px;
    display: block;
    min-width: 14px;
    height: 14px;
    padding: 1px 4px 0;
    border-radius: 14px;
    background-color: #ff6b6b;
    color: #fff;
    text-align: center;
    font-size: 10px;
    font-family: Arial, Helvetica, sans-serif;
}

.topNotification--contents{
	display: none;
	background-color: #fff;
    width: 300px;
    margin: auto;
    position: absolute;
    top: 37px;
    border: 1px solid #EBEBEB;
	border-radius: 4px;
	box-shadow: 0 0 5px 0px rgba(100, 116, 152, 0.13);
	z-index: 1;
}


@media screen and ( max-width:320px) {
	.topNotification--contents{
		right: -48px;
	}
}

@media screen and (min-width:321px) and ( max-width:359px) {
	.topNotification--contents{
		right: -46px;
	}
}

@media screen and (min-width:360px) and ( max-width:767px) {
	.topNotification--contents{
		right: -20px;
	}
}

@media screen and (min-width:768px) {
    .topNotification--contents{
		right: 0;
	}
}

.topNotification--contents ul{
    height: 384px;
    overflow-y: scroll;
}

.topNotification--contents ul li a{
	color: #444 !important;
	padding: 11px 20px;
	display: block;
	border-bottom: 1px solid #EBEBEB;
}

.topNotification--contents ul li a:hover{
	background-color: #f9fafd;
}

.topNotification--contents__date{
	font-size: 12px;
    color: #7c7c7c;
	margin-top: 3px;
    font-family: Arial, Helvetica, sans-serif;
}

.topNotification--contents__btn{
	height: 80px;
	padding: 16px 20px;
}

.topNotification--contents__btn .btn__primary{
    display: block;
	padding: 12px;
	text-align: center;
}

/* Toggle Button */
.nav-toggle {
    display: none;
    width: 32px;
    cursor: pointer;
    z-index: 101;
}

@media screen and (max-width: 767px) {
    .nav-toggle {
        display: block;
	}
}

.nav-toggle div {
	position: relative;
	width: 32px;
	height: 32px;
	background-image: url("../images/icon_menu.svg");
}

@media screen and (max-width: 767px) {
	/* #nav-toggle 切り替え */
	.open .nav-toggle div{
		background-image: url("../images/icon_close.svg");
		background-repeat: no-repeat;
		background-position: center;
	}
}

/* Global Navi */
@media screen and (max-width: 767px) {
    .global-nav {
        position: absolute;
        background: #5388F3;
		width: 100%;
		display: block;
		visibility: hidden;
	}
}

@media screen and (max-width: 767px) {
    .open .global-nav {
        visibility: visible;
    }
}

@media screen and (min-width:768px) {
    .global-nav{
		margin-right:42px;
		display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
	}
}

@media screen and (min-width:768px) {
    .global-nav ul {
		font-size: 14px;
	}
}

@media screen and (min-width:768px) {
	.global-nav > ul > li {
		display: inline-block;
		margin-left: 12px;
		position: relative;
	}
}

@media screen and (max-width: 767px) {
    .global-nav li a{
        display: block;
		height: 44px;
		padding: 9px 10px;
		border-top: 1px solid #6394F8;
	}
}

@media screen and (min-width:768px) {
	.global-nav li a {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
        padding: 0 12px;
        height: 50px;
        font-size: 14px;
		background: #5388F3;
		position: relative;
		white-space: nowrap;
	}
}

@media screen and (min-width:768px) {
	.global-nav > li:hover > a {
		background: #5e92fd;
	}
}

.global-nav__secoundLevel{
	display: none;
}

@media screen and (max-width: 767px) {
	.global-nav__secoundLevel{
		font-size: 14px;
		background-color: #4F81E7;
		box-shadow: 0 1px 0 0 rgba(0,0,0,0.16) inset;
	}
}

@media screen and (min-width:768px) {
	.global-nav__secoundLevel {
		position: absolute;
	}
}

@media screen and (max-width: 767px) {
	.global-nav__secoundLevel li a {
		height: 44px;
		padding: 9px 10px;
		background-color: #4F81E7;
		border-top: 1px solid #4574d6;
	}
}

@media screen and (min-width:768px) {
	.global-nav__secoundLevel li a {
		width: 220px;
		height: 40px;
		padding: 0 10px;
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		background-color: #4F81E7;
		border-top: 1px solid #4574d6;
	}
}

@media screen and (min-width:768px) {
	.global-nav__secoundLevel li:hover > a {
		background: #5e92fd;
	}
}

@media screen and (min-width:768px) {
	.global-nav__secoundLevel.posR{
		right: 40px;
	}
}


/*----------------------------------------------
Body
-----------------------------------------------*/


/* Topics */

.topics{
	position: relative;
	margin-bottom: 16px;
}

.topics--img{
	width: 100%;
	z-index: 1;
	height: 220px;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}

@media screen and (min-width:768px) {
    .topics--img{
		border-radius: 4px 4px 0 0;
		height: 390px;
	}
	
}

.topics--txt{
	margin-top: -70px;
	color: #fff;
	padding: 10px;
	width: 100vw;
	height: 70px;
	display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	position: absolute;
	bottom: 0;
	z-index: 3;
}

.topics--overlay{
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 60px;
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.18) 100%); 
	z-index: 2;
}

/* attendance */
.attendance{
	padding: 12px 20px;
	background-color: #FFE1B2;
}

.attendance--title{
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	background-color: #FC9C61;
	padding: 5px 12px 4px 8px;
	height: 30px;
    border-radius: 20px;
	line-height: 1;
	margin: 0 auto 12px;
    width: 105px;
}

.attendance--title__icon{
	width: 20px;
    vertical-align: -4px;
    margin-right: 1px;
}

.attendance--wrapper{
	background-color: #fff;
	border-radius: 4px;
}

.attendance--notification li{
	border-bottom: 1px solid #EBEBEB;
	padding: 10px;
}


.attendance--notification__title{
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 2px;
}

.attendance--notification__txt{
	font-size: 14px;
	margin-bottom: 2px;
}

.attendance--notification__link{
	font-size: 14px;
}

.attendance--notification__link::after{
	content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #3D62AD;
    border-right: 1px solid #3D62AD;
    transform: rotate(45deg);
    margin-left: 3px;
    vertical-align: 1px;
}

.attendance--btnsWrapper{
	padding: 10px;
	height: 104px;
	display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
}


@media screen and (min-width:768px) {
	.attendance--btnsWrapper{
		height: 70px;
	}
}

.attendance--btn{
	background-color: #FC9C61;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	border-radius: 4px;
	padding: 13px 0 12px;
	text-align: center;
	width: 50%;
	box-shadow: 0 3px 0 0 rgba(105,52,0,0.16);
}

.attendance--btn:hover{
	color: #fff;
	background-color: #ffa774;
}

@media screen and (min-width:768px) {
    .attendance--btn{
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		font-size: 16px;
	}
}

.attendance--btn + .attendance--btn{
	margin-left: 10px;
}

.attendance--btn__clock,
.attendance--btn__calender{
	margin-bottom: 2px;
}

@media screen and (min-width:768px) {
	.attendance--btn__clock,
	.attendance--btn__calender{
		width: 24px;
		margin: -2px 4px 0 0;
	}
}

/* information */
.information{
	padding: 12px 20px 6px;
}

.information--title{
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	background-color: #FF9FBD;
	padding: 5px 12px 4px 8px;
	height: 30px;
    border-radius: 20px;
	line-height: 1;
	margin: 0 auto 12px;
    width: 107px;
}

.information--title__icon{
	width: 20px;
    vertical-align: -4px;
    margin-right: 3px;
}

.information--list{
	border-top: 1px solid #EBEBEB;
	margin-bottom: 8px;
}

.information--list li{
	border-bottom: 1px solid #EBEBEB;
	padding: 10px 4px;
	color: #444444;

}

.information--list__date{
	color: #7C7C7C;
	font-size: 14px;
	display: inline-block;
	margin-bottom: 4px;
}

.information--list__new{
	display: inline-block;
	font-size: 10px;
	color: #FF7F00;
	border: 1px solid #FF7F00;
	border-radius: 2px;
	width: 28px;
	height: 16px;
	text-align: center;
	vertical-align: text-top;
}

.information--list__important {
	display: inline-block;
	width: 6em;
	margin-left: -.5em;
	text-align: center;
	color: #F55657;
}
/* お知らせ */
.information--list__genre1 {
	display: inline-block;
	width: 6em;
	margin-left: -.5em;
	text-align: center;
	color: rgb(133, 162, 227);
}

/* 重要 */
.information--list__genre2 {
	display: inline-block;
	width: 6em;
	margin-left: -.5em;
	text-align: center;
	color: rgb(255, 97, 97);
	margin-left: -8px;
}

/* 緊急 */
.information--list__genre3 {
	display: inline-block;
	width: 6em;
	margin-left: -.5em;
	text-align: center;
	color: rgb(252, 217, 8);
	margin-left: -8px;
}

/* 募集 */
.information--list__genre4 {
	display: inline-block;
	width: 6em;
	margin-left: -.5em;
	text-align: center;
	color: rgb(149, 209, 83);
	margin-left: -8px;
}

/* お願い */
.information--list__genre5 {
	display: inline-block;
	width: 6em;
	margin-left: -.5em;
	text-align: center;
	color: rgb(204, 153, 255);
	margin-left: -8px;
}


.information--list__title{
	padding-right: 28px;
	cursor: pointer;
}

.information--list__txt{
	font-size: 14px;
	margin: 7px 0 ;
}

.information--list__detail a{
	font-size: 14px;
}

.information--list__detail a::after{
	content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #3D62AD;
    border-right: 1px solid #3D62AD;
    transform: rotate(45deg);
    margin-left: 3px;
    vertical-align: 1px;
}

.information--link{
	display: block;
	text-align: center;
	padding: 8px;
	position: relative;
}

.information--link::after{
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 1px solid #3D62AD ;
	border-right: 1px solid #3D62AD;
	transform: rotate(45deg);
	margin-left: 3px;
    vertical-align: 2px;
}

/* message */
.message{
	padding: 16px 20px 6px;
	background-color: #D2F598;
}

@media screen and (min-width:768px) {
    .message{
		margin-bottom: 16px;
	}
	
}

.message--title{
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	background-color: #9CCA51;
	height: 30px;
	padding: 6px 12px 0 10px;
    border-radius: 20px;
	line-height: 1;
	margin: 0 auto 12px;
    width: 157px;
}

.message--title__icon{
	width: 18px;
    vertical-align: -3px;
    margin-right: 5px;
}

.message-contents{
	display: block;
	background-color: #fff;
	border-radius: 4px;
	padding: 12px 28px 12px 12px;
	margin-bottom: 8px;
	position: relative;
}

.message-contents:hover{
	background-color: #f9fafd;
}

.message-contents::after{
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 1px solid #3D62AD ;
	border-right: 1px solid #3D62AD;
	transform: rotate(45deg);
	position: absolute;
	right: 12px;
	top: 50%;
	margin-top: -4px;
}

.message--contents__office,
.message--contents__name{
	font-size: 12px;
	color: #444;
	display: inline-block;
}

.message--contents__office{
	margin:0 2px 4px 0;
	letter-spacing: .05em;
}

.message--contents__title{
	color: #333;
	font-size: 16px;
	line-height: 1.3;
	font-weight: bold;
	margin-bottom: 6px;
}

.message--contents__txt{
	font-size: 14px;
	line-height: 1.5;
	color: #444;
	margin-bottom: 6px;
}

.message--contents__detail a {
    font-size: 14px;
}

.message--contents__detail a::after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #3D62AD;
    border-right: 1px solid #3D62AD;
    transform: rotate(45deg);
    margin-left: 3px;
    vertical-align: 1px;
}

.ellipsis{
    visibility:hidden;
}

.message--contents__date,
.message--contents__good{
	font-size: 14px;
	color: #7c7c7c;
	display: inline-block;
	font-family: Arial, Helvetica, sans-serif;
}

.message--contents__good{
	position: absolute;
	right: 20px;
}

.message--contents__goodIcon{
	width: 20px;
    vertical-align: -4px;
    margin-right: 4px;
}

.message--contents__goodIconMyLike {
	width: 24px;
	margin-left: -4px;
}

.message--contents__good__btn {
    margin-left: auto;
    margin-right: 20px;
}

.aa{
    text-align: right;
}

.active {
    color: #ff870b;
}

/* information box */
.informationBox{
	padding: 16px 20px 6px;
	background-color: #B0E1FC;
}

@media screen and (min-width:768px) {
    .informationBox{
		margin-bottom: 16px;
	}
}

.informationBox--title{
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	background-color: #5BB2E2;
	height: 30px;
	padding: 5px 12px 0;
    border-radius: 20px;
	line-height: 1;
	margin: 0 auto 12px;
    width: 143px;
}

.informationBox--title__icon{
	width: 20px;
    vertical-align: -4px;
    margin-right: 3px;
}

.informationBox--btnWrapper{
	display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	margin-bottom: 12px;
}

.informationBox--btn__small{
	background-color: #fff;
	font-size: 12px;
	line-height: 1.3;
	padding: 8px;
	border-radius: 4px;
	text-align: center;
	display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
	width: 33%;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	box-shadow: 0 3px 0 0 rgba(0,0,0,0.16);
}

.informationBox--btn__small:hover{
	background-color: #f9fafd;
}

.informationBox--btn__small + .informationBox--btn__small{
	margin-left: 10px;
}

.informationBox--btn__icon{
	margin-bottom: 1px;
}

.informationBox--btn__large img,
.informationBox--btn__small img{
	width: 36px;
	margin: auto;
}

.sgl,
.sgl:hover{
	color: #8488ED;
}

.style,
.style:hover{
	color: #FF7673;
}

.howtouse,
.howtouse:hover{
	color: #6CC6C6;
}


/* links */
.links{
	padding: 16px 20px;
	background-color: #E5C3F4;
}

@media screen and (min-width:768px) {
    .links{
		border-radius: 0 0 4px 4px ;
	}
}

.links--title{
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	background-color: #BF7BDD;
	padding: 6px 12px 4px 10px;
	height: 30px;
    border-radius: 20px;
	line-height: 1;
	margin: 0 auto 12px;
    width: 106px;
}

.links--title__icon{
	width: 19px;
    vertical-align: -4px;
    margin-right: 1px;
}

.links--list{
    background-color: #fff;
    border-radius: 4px;
    padding: 12px;
}

@media screen and (min-width:768px) {
    .links--list{
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 12px 12px 2px;
    }
}

@media screen and (min-width:768px) {
    .links--list li{
        width: 312px;
        margin-bottom: 10px;
    }
}

@media screen and (max-width:767px) {
    .links--list li+li{
        margin-top: 10px;
    }
}

.links--list li a{
    display: block;
}

.links--list li img{
    width: 100%;
    vertical-align: bottom;
}

/* Admin */
.adminBody{
	width: 1080px;
	margin: 70px auto 20px;
	background-color: #fff;
	border: 1px solid #e2e6ea;
	border-radius: 4px;
	-webkit-box-flex:1;
	-ms-flex-positive:1;
	flex-grow:1;
}

.adminTitle{
	font-size: 24px;
	color: #6A7989;
	padding: 16px 16px 10px;
}

.adminTitle--icon{
	margin-right: 4px;
    vertical-align: -4px;
}

.adminTitle::after{
	content: '';
    display: block;
    border-top: 1px solid #ccc;
    border-bottom: 2px solid #e3e3e3;
    margin: 15px -16px 0;
}

.adminNavi{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	border:1px solid #EBEBEB;
	border-radius: 3px;
	width: 1020px;
	height: 40px;
	margin: 0 auto 10px;
}

.adminNavi--item{
	display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	width: 100%;
}

.adminNavi--item:not(:last-child){
	border-right:1px solid #EBEBEB;
}

.adminNavi--item a{
	display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	font-size: 14px;
	color: #7C7C7C;
    width: 100%;
    height: 38px;
}

.adminNavi--item a:hover{
	background-color: #F0F5FF;
}

.adminNavi--item.active{
	background-color: #5F82CB;
}

.adminNavi--item:first-child.active{
	border-radius: 2px 0 0 2px;
}

.adminNavi--item:last-child.active{
	border-radius: 0 2px 2px 0;
}

.adminNavi--item.active {
	color: #fff;
	font-size: 14px;
}

.adminSubTitle--wrapper{
	width: 1020px;
	margin: auto;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	padding: 10px 0;
}

.adminSubTitle{
	font-size: 20px;
	color: #646464;
}

.adminSearch--Wrapper,
.adminTool--Wrapper{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.adminSearch--search{
	width: 220px;
	height: 36px;
	border: 1px solid #D0D6DB;
	border-radius:3px;
	margin-right: 16px;
	padding: 0 10px;
	font-size: 14px;
	background-image: url("../images/icon_search.svg");
	background-repeat: no-repeat;
	background-size: 20px;
	background-position: 5px center;
	padding-left: 27px;
}

.adminSearch--search::placeholder{
	color: #9A9A9A;
}

.adminSearch--detailSearch__btn{
	font-size: 14px;
}

.adminSearch--detailSearch__btn::after{
	content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #2A60B5;
    border-left: 1px solid #2A60B5;
    transform: rotate(-135deg);
	vertical-align: 3px;
	margin: 0 4px 0 5px;
}

.adminTool--link{
	font-size: 14px;
}

.adminTool--icon__back{
	margin-right: 2px;
	vertical-align: -3px;
}

.admin--detail__textarea {
    white-space: pre-wrap;
}

.detailSearch--wrapper{
	border: 1px solid #E2E6EA;
    border-radius: 4px;
    width: 1020px;
    margin: 15px auto 30px;
	padding: 14px 20px 20px;
	display: none;
}

.detailSearch--table{
	width: 100%;
}

.detailSearch--table th{
	font-size: 14px;
	font-weight: normal;
	text-align: left;
	padding-right: 20px;
}

.detailSearch--table td{
	padding: 8px 0;
}

.detailSearch--table.userManagement th{
	width: 100px;
}

.detailSearch--btn__wrapper{
	margin: 10px auto 0;
	text-align: center;
	display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.detailSearch--btn__wrapper .btn + .btn{
	margin-left: 8px;
}

/** 管理者向けテーブル*/
.adminResult--table{
	width: 1020px;
	margin: 0 auto ;
}

.adminResult--table th{
	color: #7C7C7C;
	font-size: 14px;
	font-weight: normal;
	border-top:2px solid #EBEBEB;
	border-bottom:1px solid #EBEBEB;
	padding: 6px;
}

.adminResult--table td{
	font-size: 14px;
	text-align: center;
	border-bottom:1px solid #EBEBEB;
}

.adminResult--table__detailLink{
	padding: 14px 6px;
	color: #444444;
	display:-webkit-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.adminResult--table td a:hover{
	background-color: #f9fafd;
}

.adminResult--table td a p{
	padding: 0 8px;
}

/* お知らせ、社員メッセージのセルの横幅*/

.adminResult--table.userManagement th{
	width: 204px;
}

.adminResult--table.userManagement td p{
	width: 100%;
}

/* お知らせ、社員メッセージのセルの横幅*/

.adminResult--table__informationId{
	width: 107px;
}

.adminResult--table__informationTitle{
	width: 280px;
}

.adminResult--table__informationOpen,
.adminResult--table__informationClose{
	width: 110px;
}

.adminResult--table__informationOperater{
	width: 70px;
}

.adminResult--table__informationUpdate{
	width: 162px;
}

.adminResult--table__informationGenre{
	width: 100px;
}

.adminResult--td__userName{
	color: #3D62AD;
}

.adminResult--table__operation{
	width: 100px;
}

.adminResult--table__topImg{
    width: 80px;
    height: 80px;
    object-fit: cover;
}

/** マイページ　テーブル*/
.myPageResult--table {
	width: 100%;
	border-top: 1px solid #EBEBEB;
	margin: 0 auto 20px;
}

@media screen and (min-width:768px) {
    .myPageResult--table {
		width: 660px;
		margin: 0 auto 20px;
	}
}

.myPageResult--table th {
	background-color: #FCFDFF;
	border-bottom: 1px solid #EBEBEB;
	padding: 10px;
	text-align: left;
	font-size: 14px;
	width: 120px;
}

@media screen and (min-width:768px) {
    .myPageResult--table th {
		width: 165px;
		padding: 20px;
	}
}

.myPageResult--table td {
	font-size: 14px;
	text-align: left;
	border-bottom: 1px solid #EBEBEB;
	padding: 10px;
}

@media screen and (min-width:768px) {
    .myPageResult--table td {
		padding: 20px;
	}
}

.myPageResult--table td div {
	padding: 6px;
	color: #444444;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 54px;
}


.myPageResult--table td div p {
	width: 100%;
}


.setting--table{
	width: 1020px;
	margin: 10px auto 24px;
	border-top: 1px solid #F2F2F2;
	font-size: 14px;
}

.setting--table tr{
	border-bottom: 1px solid #F2F2F2;
}

.setting--table th{
	background-color: #FCFDFF;
	width: 225px;
	padding: 20px;
	text-align: left;
}

.setting--table td{
	padding: 20px;
}

/* 固定 */
.is-fixed {
	position: fixed;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    z-index: 2;
    width: 1020px;
	background: #fff;
	border-bottom: 1px solid #F2F2F2;
}

.completeMessage{
	position: absolute;
	top: 120px;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	display: none;
}

/* トップコンテンツ管理 */
.setting--preview{
	border: 1px dashed #D0D6DB;
	border-radius: 3px;
	height: 137px;
	font-size: 14px;
	font-weight: bold;
	color: #CFD2D5;
	display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.image--preview{
    max-width: 100%;
    max-height: 100%;
}

input[type="file"] {
    display: none;
}

.select-file__label {
    padding: 7px 0;
    width: 107px;
    height: 36px;
    text-align: center;
    border-radius: 3px 0 0 3px;
    display: inline-block;
    position: relative;
    border: 1px solid #7F9DD9;
    color: #3D62AD;
    margin-bottom: 16px;
    cursor: pointer;
}

.select-file__label:hover{
    background-color: #F0F5FF;
}

.select-file__label::after {
    content: attr(data-name);
    border: 1px solid #7F9DD9;
    border-radius: 0 3px 3px 0;
    font-size: 14px;
    width: 430px;
    height: 36px;
    line-height: 20px;
    position: absolute;
    top: -1px;
    left: 105px;
    padding: 7px;
    box-sizing: border-box;
    text-align: left;
    color: #9a9a9a;
}

.select-file__label.changed::after {
    content: "";
}

.filename {
    font-size: 14px;
    display: inline-block;
    width: 416px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    vertical-align: middle;
}

/*----------------------------------------------
ListPage
-----------------------------------------------*/

/*
infomation list
---------------------*/

.infoPage--title{
	font-size: 16px;
	font-weight: bold;
	color: #FA78A1;
	text-align: center;
	padding: 7px 0;
}

@media screen and (min-width:768px) {
    .infoPage--title{
		font-size: 24px;
		padding: 14px 20px 0;
		text-align: left;
	}
}

.infoPage--title::after{
	content: '';
    display: block;
    border-top: 1px solid #FFB9CF;
    border-bottom: 2px solid #FFD3E1;
    margin: 7px 0 0;
}

@media screen and (min-width:768px) {
	.infoPage--title::after{
		margin: 13px -20px 0;
	}
}

.infoPage--title__icon{
	vertical-align: -4px;
	margin-right: 3px;
}

@media screen and (min-width:768px) {
	.infoPage--title__icon{
		width: 26px;
	}
}

.infoPage--list {
	padding: 0 16px;
}

.infoPage--list li{
	padding: 10px 8px 12px;
	cursor: pointer;
}

.infoPage--list li:not(:last-child){
	border-bottom: 1px solid #EBEBEB;
}

.infoPage--list__titleWrapper{

}

.infoPage--date{
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	color: #7C7C7C;
	display: inline-block;
}

.infoPage--new{
	color: #FF7F00;
    border: 1px solid #FF7F00;
    border-radius: 2px;
    font-size: 10px;
    padding: 2px 3px;
	width: 28px;
	height: 16px;
	line-height: 1;
	display: inline-block;
	vertical-align: text-top;
}

.infoPage--list__title{
	color: #444;
	padding-right: 20px;
	line-height: 1.4;
}

.infoPage--date + .infoPage--list__title{
	margin-top: 3px;
}

.infoPage--important{
	color: #F55657;
	margin-left: -10px;
}

/* お知らせ */
.infoPage--genre1 {
    color: rgb(133, 162, 227);
    margin-left: -10px;
}

/* 重要 */
.infoPage--genre2 {
    color: rgb(255, 97, 97);
    margin-left: -10px;
}

/* 緊急 */
.infoPage--genre3 {
    color: rgb(252, 217, 8);
    margin-left: -10px;
}

/* 募集 */
.infoPage--genre4 {
    color: rgb(149, 209, 83);
    margin-left: -10px;
}

/* お願い */
.infoPage--genre5 {
    color: rgb(204, 153, 255);
    margin-left: -10px;
}

/*
message list
---------------------*/
.messagePage--title{
	font-size: 16px;
	font-weight: bold;
	color: #8FBC46;
	text-align: center;
	padding: 7px 0;
}

@media screen and (min-width:768px) {
    .messagePage--title{
		font-size: 24px;
		padding: 14px 20px 0;
		text-align: left;
	}
}

.messagePage--title::after{
	content: '';
    display: block;
    border-top: 1px solid #ABDE56;
    border-bottom: 2px solid #D9F2AF;
    margin: 7px 0 0;
}

@media screen and (min-width:768px) {
	.messagePage--title::after{
		margin: 13px -20px 0;
	}
}

.messagePage--title__icon{
	vertical-align: -3px;
	margin-right: 4px;
	width: 18px;
}

@media screen and (min-width:768px) {
	.messagePage--title__icon{
		width: 28px;
		vertical-align: -5px;
		margin-right: 6px;
	}
}

.messagePage--list {
    padding: 0 16px;
    position: relative;
}

.message--list__titleWrapper{
    cursor: pointer;
}

.messagePage--list li:not(:last-child) {
    border-bottom: 1px solid #EBEBEB;
}

.messagePage--list li {
    padding: 10px 28px 12px 8px;
    position: relative;
    color: #444;
}

.messagePage--list li a::after {
	content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #3D62AD;
    border-right: 1px solid #3D62AD;
    transform: rotate(45deg);
  	vertical-align: 2px;
}

.messagePage--list__goodBtn{
	height: 28px;
	position: absolute;
	bottom: 10px;
	right: 20px;
}


/* 勤怠通知 */
.attendancePage--title{
	font-size: 16px;
	font-weight: bold;
	color: #FC9C61;
	text-align: center;
	padding: 7px 0;
}

@media screen and (min-width:768px) {
    .attendancePage--title{
		font-size: 24px;
		padding: 14px 20px 0;
		text-align: left;
	}
}

.attendancePage--title::after{
	content: '';
    display: block;
    border-top: 1px solid #F8C573;
    border-bottom: 2px solid #FFEAC9;
    margin: 7px 0 0;
}

@media screen and (min-width:768px) {
	.attendancePage--title::after{
		margin: 13px -20px 0;
	}
}

.attendancePage--title__icon{
	vertical-align: -5px;
    margin-right: 1px;
}

@media screen and (min-width:768px) {
	.attendancePage--title__icon{
		width: 28px;
		vertical-align: -7px;
		margin-right: 2px;
	}
}

/* マイページ */

.myPage--title{
	font-size: 16px;
	font-weight: bold;
	color: #4FCBCB;
	text-align: center;
	padding: 7px 0;
}

@media screen and (min-width:768px) {
    .myPage--title{
		font-size: 24px;
		padding: 14px 20px 0;
		text-align: left;
	}
}

.myPage--title::after{
	content: '';
    display: block;
    border-top: 1px solid #9ADBDB;
    border-bottom: 2px solid #C9EDED;
    margin: 7px 0 0;
}

@media screen and (min-width:768px) {
	.myPage--title::after{
		margin: 13px -20px 0;
	}
}

.myPage--title__icon{
	vertical-align: -4px;
	margin-right: 3px;
}

@media screen and (min-width:768px) {
	.myPage--title__icon{
		width: 26px;
	}
}

/*----------------------------------------------
DetailPage
-----------------------------------------------*/

.detail--wrapper{
	padding: 10px 20px 0;
	display:-webkit-box;
    display:-ms-flexbox;
	display:flex;
	-webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
	flex-direction: column;
	min-height: calc(100vh - 138px);
}

@media screen and (min-width:768px) {
    .detail--wrapper{
		padding: 22px 26px 0;
		min-height: calc(100vh - 198px);
	}
}

.detailPage--contents{
	-webkit-box-flex:1;
	-ms-flex-positive:1;
	flex-grow:1;
}

.detailPage--title{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
}

.detailPage--txt{
    font-size: 16px;
    line-height: 1.5;
    white-space: pre-wrap;
}

.detailPage--txt p{
	margin-bottom: 20px;
}

.detailPage--btn__icon{
	vertical-align: -3px;
    margin-right: 2px;
}

.detailPage--btn__iconMyLike {
	width: 28px;
}

.detailPage--link__back{
	padding: 10px 0;
	text-align: center;
	border-top: 1px solid #EBEBEB;
	margin: 0 -20px;
}

@media screen and (min-width:768px) {
    .detailPage--link__back{
		margin: 0 -26px;
	}
}

.detailPage--link__back a::before{
	content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #3D62AD;
    border-left: 1px solid #3D62AD;
    transform: rotate(-45deg);
    margin-right: 3px;
    vertical-align: 1px;
}

/*----------------------------------------------
LoginPage
-----------------------------------------------*/
.loginBody{
	padding: 10px 20px 24px;
}

@media screen and (max-width:767px) {
	.loginBody{
		-webkit-box-flex:1;
		-ms-flex-positive:1;
		flex-grow:1;
	}
}

@media screen and (min-width:768px) {
    .loginBody{
		width: 450px;
		background-color: #fff;
		border: 1px solid #e2e6ea;
		margin: auto;
		padding: 16px 30px 30px;
		border-radius: 4px;
	}
}

.login--title{
	font-size: 24px;
	text-align: center;
	margin-bottom: 25px;
}

.login--title::after{
	content: '';
    display: block;
    border-top: 1px solid #e3e3e3;
	margin: 8px -30px 0;
}

@media screen and (min-width:768px) {
	.login--title::after{
		margin: 15px -30px 0;
	}
}

.login--label{
	display: inline-block;
	margin-bottom: 2px;
}

.login--input {
	margin-bottom: 18px;
}

.login--forgetPassword{
	display: block;
    font-size: 14px;
    margin-bottom: 17px;
    padding: 6px 0;
}

@media screen and (min-width:768px) {
	.login--forgetPassword{
		margin-top: -15px;
	}
}

.login--btn{
	width: 180px;
    height: 44px;
    display: block !important;
    margin: 22px auto 0;
	font-size: 16px !important;
}

/*----------------------------------------------
Error Screen
-----------------------------------------------*/
.errorScreen{
	padding: 20px;
	display:-webkit-box;
    display:-ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
	height: calc(100vh - 280px);
}

@media screen and (min-width:768px) {
	.errorScreen{
		height: calc(100vh - 220px);
		text-align: center;
	}
}

.errorScreen--title{
	font-size: 20px;
	margin-bottom: 12px;
}

.errorScreen--txt{
	font-size: 16px;
	line-height: 1.6;
}

/*----------------------------------------------
Form
-----------------------------------------------*/

/* selectbox */
.form--selectbox{
	position: relative;
	border: 1px solid #D0D6DB;
	border-radius: 2px;
	background: #ffffff;
	width: 100%;
    display: inline-block;
}

.form--selectbox select {
	padding: 0 10px;
    height: 36px;
	font-size: 14px;
	color: #1B2028;
	width: 100%;
	cursor: pointer;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.form--selectbox select::-ms-expand {
    display: none;
}

.form--selectbox::before {
	position: absolute;
	top: 15px;
	right: 12px;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 7px solid #767CA3;
	pointer-events: none;
}

/* checktbox */
.form--checkbox {
	cursor: pointer;
}

.form--checkboxInput{
	position: relative;
	margin: 0 22px 0 0;
	cursor: pointer;
}
.form--checkboxInput:before {
	position: absolute;
	z-index: 1;
	top: -1px;
    left: 5px;
    width: 14px;
    height: 6px;
	content: '';
	-webkit-transform: rotate(-45deg) scale(0, 0);
	transform: rotate(-45deg) scale(0, 0);
	border: 3px solid #5F82CB;
	border-top-style: none;
	border-right-style: none;
}
.form--checkboxInput:checked:before {
	-webkit-transform: rotate(-45deg) scale(1, 1);
	transform: rotate(-45deg) scale(1, 1);
}
.form--checkboxInput:after {
	position: absolute;
	top: -8px;
    left: 0px;
    width: 24px;
    height: 24px;
	content: '';
	cursor: pointer;
	border: 1px solid #D0D6DB;
	background: #ffffff;
	border-radius: 3px;
}


/* 成功メッセージ */
.form--message__success{
	color: #ffffff;
    font-size: 14px;
    font-weight: bold;
	background: #39c3bd;
	padding: 6px 8px 5px;
	margin-bottom: 18px;
	border-radius: 3px;
}

.form--message__success::before{
	content: "";
	background-image: url("../images/icon_complete.svg");
	background-size: 16px;
    display: inline-block;
    width: 16px;
	height: 16px;
	margin: 0px 6px 0 0;
    vertical-align: -3px;
}


/* エラー */
.form--message__error{
	color: #ffffff;
    font-size: 14px;
    font-weight: bold;
	background: #f56767;
	padding: 6px 8px 5px;
	margin-bottom: 18px;
	border-radius: 3px;
}

.form--message__error::before{
	content: "!";
    border-radius: 50%;
    text-align: center;
    display: inline-block;
    background: #fff;
    color: #f73535;
    font-size: 12px;
    width: 16px;
    height: 16px;
    margin: 0 5px 0px 0px;
    line-height: 1.4;
    font-family: Tahoma;
}

.form--input__error{
	background-color: #FFF5F5!important;
	border-color: #f73535 !important;
}

.form--txt__error{
	font-size: 14px;
	color: #f73535;
}


/*----------------------------------------------
Button
-----------------------------------------------*/
.btn{
	display: inline-block;
    border-radius: 50px;
	padding: 0 16px;
	font-size: 14px;
	display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.btn__primary{
    background-color: #5F82CB;
    color: #fff;
    box-shadow: 0 3px 0 0px rgba(0,0,0,0.1);
	font-weight: bold;
}

.btn__primary:hover{
	background-color: #789AE2;
	color: #fff;
}

.btn__normal{
    border: 1px solid #7F9DD9;
	background-color: #fff;
    color: #3D62AD;
    box-shadow: 0 3px 0 0px rgba(0,0,0,0.1);
}

.btn__normal:hover{
	background-color: #F0F5FF;
}


.btn__disabled{
	color: #8C92A3;
	border: 1px solid #CBCDD6;
}

.btn__small{
	width: 106px;
	height: 30px;
}

.btn__mideum{
	width: 96px;
	height: 36px;
}

.btn__large{
	width: 164px;
	height: 40px;
	font-size: 16px;
}

#scroll--top--btn {
    position: fixed;
    right: 10px;
    bottom: 10px;
    text-align: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	font-size: 10px;
	padding: 14px 0 0 0;
	line-height: 11px;
}

#scroll--top--btn::before{
	content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    border-top: 1px solid #3D62AD;
    border-right: 1px solid #3D62AD;
    transform: rotate(-45deg);
    margin-left: 3px;
    vertical-align: 2px;
    position: absolute;
    top: 12px;
    left: 17px;
}

button:disabled {
    cursor: not-allowed;
}

.btn__link {
	color: #3D62AD;
	font-size: 16px;
}

.btn__link:hover {
	color: #80A0E0;
}
/*----------------------------------------------
List
-----------------------------------------------*/
.list {
    border-top: 1px solid #E5E7EA;
}

.list li{
	padding: 10px 16px;
	background-color: #fff;
	border-bottom: 1px solid #E5E7EA;
}

.list a{
	display:-webkit-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/*----------------------------------------------
Pagenation
-----------------------------------------------*/
/* PC用 */
.pagination {
	text-align: center;
	margin: 24px 0 ;
}

.pagination li {
	display: inline-block;
}

.pagination li a {
	display: inline-block;
	text-decoration: none;
	width: 28px;
	height: 28px;
	border-radius: 2px;
	margin: 0 2px;
	padding: 7px 9px;
	font-size: 12px;
	background:#fff;
	border: 1px solid #7F9DD9;
	text-align: center;
	line-height: 1.0;
}

.pagination li a:hover {
	background-color: #F0F5FF;
}

.pagination .pre a,
.pagination .next a{
	width: 64px;
}

.pagination .pre a::before{
	content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #3D62AD;
    border-left: 1px solid #3D62AD;
    transform: rotate(-45deg);
    vertical-align: 1px;
    margin-right: 1px;
}

.pagination .next a::after{
	content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: 1px solid #3D62AD;
    border-right: 1px solid #3D62AD;
    transform: rotate(45deg);
    vertical-align: 1px;
}

.pagination .active{
	display: inline-block;
	background-color: #7F9DD9;
	border: 1px solid #7F9DD9;
	color: #fff;
	width: 28px;
	height: 28px;
	border-radius: 2px;
	margin: 0 2px;
	padding: 7px 9px;
	font-size: 12px;
	text-align: center;
	line-height: 1.0;
}

/* SP用 */
.sp--pageNavi{
	padding: 20px 0;
	text-align: center;
	border-top: 1px solid #EBEBEB;
}

.sp--pageNavi__number{
	display: inline-block;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 18px;
	margin: 0 12px;
}

.sp--pageNavi__prev::before{
	content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #3D62AD;
    border-left: 1px solid #3D62AD;
    transform: rotate(-45deg);
    margin-right:3px;
    vertical-align: 1px
}

.sp--pageNavi__next::after{
	content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #3D62AD;
    border-right: 1px solid #3D62AD;
    transform: rotate(45deg);
    margin-left: 3px;
    vertical-align: 1px
}

.sp--pageNavi__prev.disabled,
.sp--pageNavi__next.disabled,
.sp--pageNavi__number.disabled{
	color: #ccc;
	pointer-events: none;
}

.sp--pageNavi__prev.disabled::before,
.sp--pageNavi__next.disabled::after{
	border-color: #ccc;
}

/*======================================================================

5: Utility  

======================================================================*/
.u_block{
	display: block;
}

/*
width
---------------------*/
.u_w388{
	width: 388px !important;
}

.u_w409{
	width: 409px !important;
}

/*
text
---------------------*/
.u_txtC{
	text-align: center;
}

.u_txtL{
	text-align: left;
}

.u_txtBold{
	font-weight: bold;
}

.u_fz12{
	font-size: 12px;
}

@media screen and (min-width: 768px){
	.u_fz12-PC{
		font-size: 12px;
	}
	.u_fz14-PC{
		font-size: 15px;
		line-height: 1.5;
	}
}

/*
margin
---------------------*/
.u_maAuto{
	margin-left: auto;
	margin-right: auto;
}

.u_maT10{
	margin-top: 10px;
}
.u_maT-13{
	margin-top: -13px;
}

.u_maT18{
	margin-top: 18px;
}

.u_maL6{
	margin-left: 6px;
}

.u_maL16{
	margin-left: 16px;
}

.u_maB-2{
	margin-bottom: -2px;
}

.u_maTB10{
	margin-top: 10px;
	margin-bottom: 10px;
}
.u_maLR3{
	margin-left: 3px;
	margin-right: 3px;
}
.u_maB6{
	margin-bottom: 6px;
}
.u_maB12{
	margin-bottom: 12px;
}
.u_maB15{
	margin-bottom: 15px;
}
.u_maB18 {
	margin-bottom: 18px;
}
.u_maB28{
	margin-bottom: 28px;
}
@media screen and (max-width: 767px){
	.u_maL6-SP{
		margin-left: 6px;
	}
	.u_maB-2-SP{
		margin-bottom: -2px;
	}
	.u_maB30-SP{
		margin-bottom: 30px;
	}
	.u_maB20-SP--important {
		margin-bottom: 20px !important;
	}
}
@media screen and (min-width: 768px){
	.u_maRB12-PC{
	margin-right: 12px;
	margin-bottom: 12px;
	}
	.u_maLR0-PC{
		margin-left: 0px;
		margin-right: 0px;
	}
	.u_maT15-PC{
		margin-top: 15px;
	}
	.u_maR12-PC{
		margin-right: 12px;
	}
	.u_maB12-PC{
		margin-bottom: 12px;
	}
	.u_maL6-PC{
		margin-left: 6px;
	}
	.u_maB-2-PC{
		margin-bottom: -2px;
	}
	.u_maB10-PC{
		margin-bottom: 10px;
	}
	.u_maB60-PC{
		margin-bottom: 60px!important;
	}
}

/*
display
---------------------*/
.u_hidden{
	display: none;
}
.u_block{
	display: block;
}
@media screen and (max-width: 767px){
	.u_hidden-SP{
		display: none!important;
	}
}
@media screen and (min-width: 768px){
	.u_hidden-PC{
		display: none;
	}
}

/*
その他
---------------------*/

/* 改行を挿入 */
@media screen and (max-width: 767px){
	.u_br-SP:after{
		white-space: pre-wrap;
		content: "\A";
	}
}
@media screen and (min-width: 768px){
	.u_br-PC:after{
		white-space: pre-wrap;
		content: "\A";
	}
}

/* モーダル */
#modal-open {
	color: #cc0000;
}
/* モーダル コンテンツエリア */
#modal-main {
	display: none;
	width: 500px;
	height: 300px;
	margin: 0;
	padding: 0;
	background-color: #ffffff;
	color: #666666;
	position: fixed;
	z-index: 2;
}
/* モーダル 背景エリア */
#modal-bg {
	display: none;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
}