@charset "UTF-8";
/* CSS Document */
body {
    font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif, "NotoSansJPLight" ;
    word-wrap: break-word;
    line-height: 1.6;
	color:#323232;
	background-color: #fff !important;
	
}
img {
	max-width:100%;
}

body > .wrap {
	display: flex;
	min-height:100vh;
	height:100%;
	flex-flow: column;
	justify-content: space-between;
	position:relative;
}
.m_center{
	margin: 0 auto;
}
.text-caution {
	color:#ff6666 !important;
}
.btn {
	border-radius: 2px;
	font-weight:600;
	line-height: 2;
	font-size:1.2em;
}
.btn-green {
	background: #56d2c2;
	color:var(--white);
	box-shadow:0 3px 0 #40b6a7;
}
.btn-green:hover {
	background: #40b6a7;
	color:var(--white);
	box-shadow:0 3px 0 #40b6a7;
}
.btn-blue {
	background: #40b3ff;
	color:var(--white);
	box-shadow:0 3px 0 #37a2e9;
}
.btn-blue:hover {
	background: #37a2e9;
	color:var(--white);
	box-shadow:0 3px 0 #37a2e9;
}
.btn-orange {
	background: #ffb555;
	color:var(--white);
	box-shadow:0 3px 0 #eba242;
}
.btn-orange:hover {
	background: #eba242;
	color:var(--white);
	box-shadow:0 3px 0 #eba242;
}
.btn-pink {
	background: #fe6d6d;
	color:var(--white);
	box-shadow:0 3px 0 #f45959;
}
.btn-pink:hover {
	background:#f45959;
	color:var(--white);
	box-shadow:0 3px 0 #f45959;
}

.btn-caution {
	background: #fe6d6d;
	color:#FFF;
}
.btn-regist {
	background: #40b3ff;
	color:#FFF;
}
.btn-subregist {
	background: #ff9966;
	color:#FFF;
}
.btn-tgl {
	height:45px;
	border: 1px solid var(--primary);
    background: #FFF;
    color: var(--primary);
    transition: .2s;
    line-height: 43px;
    border-radius: 4px;
    padding: 0 1em;
}
.btn-tgl.btn_on, .btn-tgl:hover {
    background: var(--primary);
    color: #FFF;
}
.btn-sm-txt {
	border:none;
	background: none;
	font-size:0.8em;
	text-decoration: underline;
	color:#333366;
	font-weight:300;
}
.btn-caution:hover, .btn-regist:hover, .btn-subregist:hover {
	color:#FFF;
}
select::-ms-expand {
	display: none;
}
select.form-control {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right:30px;
	background-image: url(/custom_assets/images/common/icon_arrow_blue.svg);
	background-repeat: no-repeat;
	background-size: 12px 10px;
	background-position: right 10px center;
}
form {width:100%;}
.form-control::placeholder {
	font-size:80%;
	color:#cccccc;
}

h4 {
	font-size:calc(100vw / 32 * 1.7);
	margin-bottom:1em;
}
small {
	line-height: 1.2;
}
.form-control {
	border-radius: 1px;
	padding: 0.5rem 0.75rem;
}
@media (min-width: 576px) {
	
	h4 {
		font-size:calc(100vw / 57.6 * 1.8); 
	}
	.btn {
		border-radius: 4px;
		font-size:1.4em;
	}
}
@media (min-width: 1025px) {
	body {
/*		height:calc(100vh - 100px);*/
	}
	.btn{
		font-size:1.0em;
	}
	h4 {
		font-size:1.5rem; 
	}
	
	.container {
		/* max-width:1000px; */
		max-width:87%;
	}
	.btn-tgl {
		height:52px;
		line-height: 50px;
	}
	.form-control {
		border-radius: 2px;
		padding: 0.375rem 0.75rem;
	}
}

/**header**/
header {
      width:100%;
}
body:not(.p-login) header {
	height:50px;
	box-shadow: 0 3px 4px rgba(0,0,0,0.1);
}
body:not(.p-login) header > .wrap {
	width:100%;
	height:100%;
	padding:0 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	position:relative;
}
body:not(.p-login) header > .wrap .brand {
	width:56%;
	max-width:200px;
	text-align: center;
}
body:not(.p-login) header > .wrap .brand img {
	max-width:100%;
	max-height:45px;
}
body:not(.p-login) header > .wrap .menu-function {
	position:absolute;
	right:15px;
	top:50%;
	transform: translateY(-50%);
	width:20px;
	height:20px;
}
body:not(.p-login) header > .wrap .menu-function > input {
	width:100%;
}
body:not(.p-login) header > .wrap .menu-function laber {
	display: none;
}
@media (min-width: 576px) {
	body:not(.p-login) header {
		height:88px;
	}
	body:not(.p-login) header > .wrap .brand {
		width:40%;
		max-width:320px;
	}
	body:not(.p-login) header > .wrap .menu-function {
		right:20px;
		width:40px;
		height:auto;
	}
	body:not(.p-login) header > .wrap .menu-function laber {
		display: block;
		font-size:10px;
		text-align: center;
		color:#00abd0;
		font-weight:600;
	}
}

@media (min-width: 1025px) {
	header, body:not(.p-login) header {
		width:100%;
		height:100px;
		background: var(--white);
		filter: drop-shadow(0 0 8px rgba(0,0,0,0.15));
	}
	header .wrap, body:not(.p-login) header .wrap{
		display: flex;
		width:100%;
		height:100%;
		padding:0 24px;
		align-items: center;
		justify-content: flex-start;
	}
	header .brand, body:not(.p-login) header .wrap .brand{
		width:372px;
	}
	header .brand img {
		max-width:100%;
		max-height:95px;
	}
	
}

/**main**/
main {
    display: flex;
    width:100%;
    height:100%;
    justify-content: center;
	flex-grow: 2;
}
body:not(.p-login) main {
	padding:2.5em 0;
}
main section {
	padding-bottom:2em;
}
main section:last-child {
	padding-bottom:0;
}
main section > p {
	font-size:80%;
}
@media (min-width: 576px) {
	body:not(.p-login) main {
		padding:4em 0;
	}
}

/**footer**/

footer {
	background: #1ca8cc;
	padding:0.5em 0;
	position:absolute;
	width:100%;
	bottom:0;
	left:0;
}
footer p.copy {
	color:var(--white);
	font-size:10px;
	margin:0;
}

/*kondo 追加*/
/*common*/
.f_15{
	font-size: 15px !important;
}
.weight{
	font-weight: 700;
}
/*login*/
.login_btn{
	height: auto !important;
	width: 100% !important;
	margin-bottom: 0 !important;
}

.login_label{
	display: block !important;
	max-width: 50% !important;
	margin: 0 auto !important;
}
.login_div{
	margin: 0 auto !important;
}
/*select*/
.select_box{
	line-height: 1.3;
    margin-bottom: 0.5em;
}
.m_5{ margin: 5px;}
/*ccp_records*/
.ccp_flex{
	display: flex;
	width: 100%;
	align-items: center;
}
.ccp_header{
	background-color: #eaf7ff;
    font-weight: 300;
    text-align: left;
    font-size: 0.8em;
	border-top: 1px solid #cdcdcd;
	border-left: 1px solid #cdcdcd;
	border-right: 1px solid #cdcdcd;
}
.ccp_header div{
	padding: 5px 10px;
    white-space: nowrap;
}
.ccp_header div.menu{
	width: 12%;
}
.ccp_header div.class2{
	width: 40%;
}
.ccp_header div.check{
	width: 48%;
}
.ccp_contents{
	border-bottom: 1px solid #cdcdcd;
	border-left: 1px solid #cdcdcd;
	border-right: 1px solid #cdcdcd;
}

.ccp_contents div.ccp_class{
	width: 40%;
	padding: 5px 10px;
    white-space: nowrap;
}
.ccp_contents div.menu_list{
	width: 12%;
	line-height: 2;
}
.ccp_contents div.check_list{
	width: 48%;
	line-height: 2;
}
.ccp_menu{
	border-bottom: 1px solid #cdcdcd;
	padding: 5px 10px;
}
.ccp_menu:last-child{
	border-bottom:none;
}
.ccp_check{
	border-bottom: 1px solid #cdcdcd;
	padding: 5px 10px;
}
.ccp_check:last-child{
	border-bottom:none;
}

/*staff*/
table.regist-list-table tr td form {
	margin-bottom: 0;
}
/*contents_output*/
button.outputBtn{
	margin-bottom: 0 !important;
	height: auto !important;
}

/*administrator*/
.row_flex{
	display: flex;
    flex-direction: row;
}
.row_flex input[type="text"]{
	width: 30%;
	padding:10px;
}
.search_block{
	width: 10%;
	padding: 0;
    margin-left: 1em;
}
/*admin*/
.p_flex{
	display: flex;
    align-items: flex-end;
}
.child_box{
	width: calc(100% / 5 - 10px);
    margin: 0 5px;
}
.child_box p{
	margin-bottom: 0;
}

.create_box input{
	border-radius: 2px;
    padding: 5px 0.75rem;
    border: 1px solid #ced4da;
    width: 100%;
}

.update_box input{
	border-radius: 2px;
    padding: 5px 0.75rem;
    border: 1px solid #ced4da;
    width: 100%;
}

.cong button{
	width: 50%;
}
/*management_report*/

.date-noboder{
    width: 5% !important;
}
.management_table{
    font-size:10px;
    border-collapse:collapse;
    width: 100%;
    table-layout:fixed;
}
.management_table tr{
    border: 1px solid #dcdcdc;
}
.management_table tr td{
    padding: 10px;
    overflow-wrap : break-word;
}
.note{
    width: 40px;
    word-break: break-all;
    word-wrap: break-word;
    overflow-wrap : break-word;
}
.report_header{
    font-size: 9px;
    word-break: break-all;
    word-wrap: break-word;
    overflow-wrap : break-word;
}
.ul_flex{
    margin:0 !important;
    padding: 0 !important;
}
.ul_flex li{
    list-style: none;
    display: inline-block;
    width: 20px;
    height: 20px;
}
.ok_active{
    display: inline-block;
    width: 20px;
    height: 20px;
    text-align:center;
    line-height: 17px;
    border-radius: 2em;
    border: 2px solid #1ca8cc;
}
.ng_active{
    display: inline-block;
    width: 20px;
    height: 20px;
    text-align:center;
    line-height: 17px;
    border-radius: 2em;
    border: 2px solid #fe6d6d;
}
/*join*/
.join_title{
	margin: 0 auto;
	width: 90%;;
}
.m_b_7{
	margin-bottom:7em;
}
.m_auto{
	margin: 0 auto;
}
.thanks{
	margin-bottom: 0 !important;
	line-height: 1.8;
}


.pager {
	margin: 30px 0 20px;

}
.pagination {
	justify-content: center;
}