@charset "utf-8";
/*＠SP
/////////////////////////////////////////////////////////////////////*/
@media screen and (max-width: 767px){
	/*SP時背景固定*/
	body.sp.p-d-active {
		overflow: hidden;
	}
}
@media screen and (max-width:960px) {
	#header .inner .logo { display:none;}
}
@media screen and (max-width:767px) {
	body { min-width:320px;}
	.sp-banner { text-align:center; padding:12px 0;}
	.pc_only { display:none;}
	#contents {
		font-size:13px;
		width: 100%;
		margin-top: 20px;
	}

	#side { display:none;}
	#header { height:50px; margin-left:0px;z-index:6000;}
	#header h1 {
        height:40px;
        left:5px;
        max-width: 70%;
        max-width: -webkit-calc(100% - 55px);
        max-width: calc(100% - 55px);
    }
    #header h1 a {
        display: block;
    }
	#header h1 img {
        display:block;
        height:auto;
        max-height:40px;
        max-width:100%;
    }
	#header .inner { float:none; padding:0; position:absolute; top:50px; right:7px;}
	#header .inner > div { height:40px;}
	#header .inner .icon,
	#header .inner .login { padding-top:7px;}
    .admin-settings #header .inner > div.testmode{
        font-size:18px !important;
        height:30px !important;
    }
    #header.is_auth{
        margin-left:50px !important;
    }

	/*footer*/
	#footer .inner { font-size:11px; line-height: 1.8em;}
	#footer .txtlink { margin-bottom:5px;}
	#footer .gmo { position:static; margin-bottom:20px;}
	#footer .copyright { font-size:10px;}

	/*menu*/
	#menu {
		height:50px;
        width:100%;
        position:absolute;
		z-index: 5000;
        top:0;
        left:0;
        border:none;
	}
	#menu ul {
		width:100%; height:100%;
		border-right:1px solid #80868b;
		position:absolute; top:50px; left:0;
        z-index:9000;
		display:none;
	}
	#menu ul li { border-bottom:1px solid #80868b;}
	#menu ul li a { font-size:15px; padding:12px 15px;}

	#mOpen {
		display:block; width:50px; height:100%;
		position:absolute; top:0; left:0;
		cursor:pointer; transition:all 0.5s;
	}
	#mOpen span { display:inline-block; transition:all 0.4s;}
	#mOpen .icon {
		width:20px; height:16px;
		position:absolute; top:50%; left:50%;
		margin:-8px 0 0 -10px;
	}
	#mOpen .icon span { width:100%; height:2px; position:absolute; left:0; background-color:#80868b;}
	#mOpen .icon span:nth-of-type(1) { top:0;}
	#mOpen .icon span:nth-of-type(2) { top:7px;}
	#mOpen .icon span:nth-of-type(3) { bottom:0;}

	#mOpen.active .icon span:nth-of-type(1) {
		-webkit-transform:translateY(7px) rotate(-45deg);
		transform:translateY(7px) rotate(-45deg);
	}
	#mOpen.active .icon span:nth-of-type(2) { opacity:0;}
	#mOpen.active .icon span:nth-of-type(3) {
		-webkit-transform:translateY(-7px) rotate(45deg);
		transform:translateY(-7px) rotate(45deg);
	}

	/*action-btn*/
	.action-btn { font-size:12px; min-width:70px;}
	.action-btn .material-icons { vertical-align:middle; margin-top:-5px;}
	.action-btn.csv .material-icons { margin:-6px 3px 0 -10px;}

	/*side-menu*/
	#side-menu { width:40px; height:calc(100% - 50px); top:50px;}
	#side-mOpen { width:40px; height:50px; top:-50px;}
	#side-menu li a .material-icons { left:8px;}
	#side-mSearch { width:35px; height:100px; right:-35px;}
	#side-mSearch .material-icons { font-size:26px;}

	/*local-menu*/
	#local-menu ul { padding:0 20px 0 55px;}
	#local-menu ul li a {
		min-width:0; width:60px;
		font-size:12px; line-height:1.35;
		padding:0; position:relative;
	}
	#local-menu ul li a span {
		display:block; width:100%; padding:0 5px;
		position:absolute; top:50%; left:50%;
		-webkit-transform:translate(-50%, -50%);
		transform:translate(-50%, -50%);
	}

	/*icon*/
	.notification.large { min-width:20px; min-height:20px; line-height:20px; font-size:11px;}
	.category { min-width:50px; font-size:12px; padding:1px 5px 1px 6px;}

	.col2 > div { border:1px solid #80868b; min-height:300px;}
	.col2 > div:nth-child(1) { margin-bottom:20px;}
	.col2 > div:nth-child(1),
	.settlement-info,
	.joined-events{
		border: none!important;
	}

	/*＠管理画面
	/////////////////////////////////////////////////////////////////////*/
	.admin-settings #header .inner {
		position:relative;
		top:0;
		right:0;
	}
	.admin-settings #header .inner > div { height:50px;}
	.admin-settings #header .inner .icon { padding-top:15px;}
	.admin-settings #header .inner .person { padding:5px;}
	.admin-settings #header .inner .person a { width:40px; height:40px;}
	.admin-settings #header .inner .person .material-icons { font-size:33px;}
	.admin-settings #header .inner .person span { font-size:10px; margin-top:3px;}
	.admin-settings #header .inner .person-detail {
		top: 51px;
		right: 0;
		width: 100%;
		border: none;
		overflow: hidden;
		height: 100vh;
		position: fixed;
	}
	#header .inner .person-detail .btn{
		width: 80%;
	}
	.admin-settings #header .inner .person-detail:before,
	.admin-settings #header .inner .person-detail:after{
		content: none;
	}

	.admin-settings-top #contents { padding:0;}
	.admin-settings-top .block.list .admin-top-title { display:block; width:100%;}
	.admin-settings-top .block.list .admin-top-title span {
		position:static; padding:10px 0;
		-webkit-transform:translateY(0);
		transform:translateY(0);
	}
	.admin-settings-top .block { padding-top:10px;}
	.admin-settings-top .block dl,
	.admin-settings-top .block ul { width:100%;}
	.admin-settings-top .block dl { padding:15px 10px 25px;}
	.admin-settings-top .block dt { padding:0 0 3px 15px;}
	.admin-settings-top .block dd { padding:0 0 15px 15px;}
	.admin-settings-top .block dd a { display:block;}
	.admin-settings-top .block dl .date { font-size:12px; position:static;}
	.admin-settings-top .block dl .category { position:static;}
	.admin-settings-top .block ul { padding:15px 10px 25px;}
	.admin-settings-top .block ul li { padding-right:65px;}
	.admin-settings-top .block ul .filesize { font-size:12px;}

	.admin-settings-top .others .block { width:calc(33.3333% - 10px); height:100px; margin:0 5px 10px;}
	.admin-settings-top .others .admin-top-title { font-size:15px;}
	.admin-settings-top .others .admin-top-title span { padding:45px 0 0 0;}
	.admin-settings-top .others .admin-top-title .material-icons {
		top:15px; left:50%;
		-webkit-transform:translateX(-50%);
		transform:translateX(-50%);
	}

	.admin-settings-sub #contents { padding:0 15px 20px 70px;}
	.admin-settings-sub #header h1 { left:50px;}
	.admin-sub-title { padding:20px 15px;}
	.admin-sub-main { padding:30px 15px 0;}

	.admin-sub-main .headings { margin-bottom:20px;}
	.admin-sub-main .headings p { font-size:16px; padding:0 0 8px;}
	.admin-sub-main .headings h2 { font-size:18px; padding:12px 0;}
	.admin-sub-main .headings .date { display:block; width:100%; font-size:12px; position:static;}
	.admin-sub-main .headings .category { top:-30px; right:0;}

	/*modal*/
	.modal-box { width:96%; min-height:0; font-size:14px;}
	.modal-box .modal-inner { min-height:0; padding:60px 20px 20px;}
	.modal-box .modal-inner h1 { font-size:18px; margin-bottom:30px;}

	/*＠入力フォーム
	/////////////////////////////////////////////////////////////////////*/
	.input-form #header .inner { position:absolute; top:0; right:5px;}
	.input-form #header .inner > div { height:50px;}
	.input-form #header .inner .icon { padding-top:15px;}

	.form-header { font-size:15px; text-align:center; padding:20px 0;}
	.form-main { width:100%; padding:10px 20px;}
	.form-main form dl { display:block; padding:1em 0;}
	.form-main form dt,
	.form-main form dd { display:block;}
	.form-main form dt { width:100%; font-size:15px; margin-bottom:5px;}
	.form-main form dd > div { margin-right:5px;}
	.form-main form dd > div:last-child { margin-right:0;}
	.form-main form p { font-size:15px; text-align:center; padding:30px 0 10px;}

	.form-main input { padding:9px 0.5em;}
	.form-main select { padding:7px 0.5em;}

	.form-main .selectgp .inner.year { width:90px;}
	.form-main .selectgp .inner.month,
	.form-main .selectgp .inner.day { width:50px;}
	.form-main .selectgp .inner:after { right:7px;}

	/*btn*/
	.form-btn { text-align:center; padding:20px 0;}
	.form-btn button { width:52%; height:42px; line-height:43px; font-size:15px;}
	.form-btn button#back,
	.form-btn button#cancel { width:40%;}
	/*error*/
	.form-err, .form-error { width:100%; padding:15px 15px;}
	.form-err:after, .form-error:after { border-width:10px; margin-left:-10px;}
	.form-err:before, .form-error:before { border-width:14px; margin-left:-14px;}
	.form-err p, .form-error p { font-size:16px;}
	.form-err p .material-icons, .form-error p .material-icons { font-size:26px;}
	.form-main .err_txt { font-size:13px;}

	/*調整*/
	.step {
		width: 100%;
		margin: 20px auto 10px;
	}
	#register_form,.message{
		margin: 0 auto;
	}
	.step li { font-size:11px;}
	.step li span.flow-marker {
		width: 20px;
		height: 20px;
	}
}
