@charset "UTF-8";

/*----------------------------load--------------------------------*/

#load2 div{
	animation: load2 3s linear ;
}
@keyframes load2 {
	0%{
		transform: translateY(50px);
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	20%{
		transform: translateY(0);
	}
	70%{
		transform: translateY(0);
		animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	}
	100%{
		transform: translateY(-100px);
	}
}

/*----------------------------load-----------------------------------*/

#load{
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 100;
}
#load div:nth-of-type(1){
	height: 100%;
	width: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.8s ease-in-out;
}
#load .loader,
.load .loader{
	position: relative;
	display: inline-block;
	width: 50px;
	height: 50px;
	border: 2px solid #55d8e8;
	border-radius: 50%;
	animation: spin 0.75s infinite linear;
	position: absolute;
	top: calc(50% - 25px);
	left: calc(50% - 25px);
	display: block;
}
#load .loader::before,
#load .loader::after,
.load .loader::before,
.load .loader::after{
	left: -2px;
	top: -2px;
	display: none;
	position: absolute;
	content: '';
	width: inherit;
	height: inherit;
	border: inherit;
	border-radius: inherit;
}
#load .loader,
#load .loader::before,
.load .loader,
.load .loader::before{
	display: inline-block;
	border-color: transparent;
	border-top-color: #55d8e8;
}
#load .loader::before,
.load .loader::before{
	animation: spin 1.5s infinite ease;
}
@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

/*----------------------------delay-----------------------------------*/

.delay{
	opacity: 0;
	transform: translate(0,60px); 
	-webkit-transform: translate(0,60px);
	transition: 0.8s ease-in-out;
}
.delayActive{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
	transition: 0.8s ease-in-out;
}

/*----------------------------header-----------------------------------*/

header{
	display: block;
	color: #fff;
	position: relative;
	background: #233b5f; /* Old browsers */
	background: -moz-linear-gradient(left,  #233b5f 0%, #313945 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left,  #233b5f 0%,#313945 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #233b5f 0%,#313945 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#233b5f', endColorstr='#313945',GradientType=1 ); /* IE6-9 */
	min-height: 50px;
}
#navbar-logo{
	left: calc(50% - 23.5px);
	width: 47px;
	height: 47px;
	position: absolute;
	top: 1px;
	box-sizing: content-box;
}
.onerankcms #navbar-logo a{
	height: 100%;
	width: 100%;
	background: url(../images/onerankcmslogo2.png) 50% 50% no-repeat;
	background-size: contain;
	display: block;
}
.onerankcms #navbar-logo svg, .onerankcms #navbar-logo svg{
	display: none;
}
header ul.nav{
	display: table;
	table-layout: fixed;
	border-right: 1px solid rgba(255,255,255,0.09);
	border-left: 1px solid rgba(0,0,0,0.2);
	float: right;
}
header ul.nav li{
	display: table-cell;
	vertical-align: middle;
	border-left: 1px solid rgba(255,255,255,0.09);
	border-right: 1px solid rgba(0,0,0,0.2);
	position: relative;
}
header ul.nav li a{
	color: #fff;
	line-height: 2rem;
	font-size: 1.15rem;
	text-align: center;
	padding: 15px 15px 15px 40px;
	position: relative;
	min-height: 50px;
	display: block;
}
header ul.nav li a i{
	display: block;
	width: 15px;
	height: 15px;
	position: absolute;
	top: calc(50% - 8px);
	left: 17px;
}
header ul.nav li a i svg{
	width: 15px;
	height: 15px;
	overflow: hidden;
	display: block;
}
header ul.nav li a svg,
header ul.nav li a path{
	fill: #fff !important;
}
header ul.nav li a:hover,
header ul.nav li a:focus{
	background: rgba(0,0,0,0.1);
}
header ul.nav li a:hover svg,
header ul.nav li a:hover path{
	fill: #bfc2c6 !important;
}
@media screen and (max-width: 1260px){
	header ul.nav li a{
		box-sizing: border-box;
	}
	header ul.nav li a span{
		display: none;
	}
}
@media screen and (max-width: 767px){
	header{
		height: auto;
		padding-top: 48px;
	}
	header ul.nav{
		float: none;
		width: 100%;
		border-top: 1px solid rgba(255,255,255,0.09);
		box-shadow: 0 -1px 0 0 rgba(0,0,0,0.2);
	}
	header ul.nav li a{
		min-height: 0;
		padding: 15px 20px;
	}
	header ul.nav li a i{
		position: static;
		margin: 0 auto;
	}
}

#menutoggle{
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 5px;
	left: 10px;
	cursor: pointer;
}
#menutoggle i{
	font-size: 30px;
	color: #fff;
	line-height: 1;
}

/*----------------------------main--------------------------------*/

main{
	display: flex;
	align-items: center;
	justify-content: center;
	/*height: cmn.js*/
	width: 100%;
	position: relative;
	background: #333;
	overflow: hidden;
}
#secondary{
	position: absolute;
	top: 0;
	left: -260px;
	width: 250px;
	height: calc(100% - 45px);
	border-right: 1px solid #fff;
	box-shadow: 0 0 8px rgba(0,0,0,0.3);
	background: #f8f8f8;
	transition: 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#primary{
	width: 100%;
	height: 100%;
	overflow: hidden;
	transition: 0.5s ease-in-out;
	margin: 0 auto;
	box-shadow: 0 0 80px rgba(0,0,0,0.7);
}
#primary iframe{
	width: 100%;
	height: 100%;
	border: none;
	display: block;
}
.open #secondary{
	left: 0;
}
.parentmodal #secondary{
	left: -260px !important;
}

#secondary>.navbar{
	position: relative;
	height: 100%;
	width: 100%;
	background: none !important;
}
#secondary .navbar-default{
	border: none !important;
	box-sizing: border-box;
}
#secondary>.navbar .navbar-default{
	width: 100% !important;
}
.sidebar{
	margin-top: 0 !important;
}
.sidebar-nav{
	display: block !important;
}

/*----------------------------save_modal--------------------------------*/

#save_modal{
	position: fixed;
	top: 50px;
	left: 0;
	width: 100%;
	height: calc(100% - 50px);;
	background: rgba(0,0,0,0.5);
	z-index: 60;
	opacity: 0;
	transition: 0.3s;
	pointer-events: none;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-size: 1.55rem;
	letter-spacing: 0.02rem;
}
#save_modal.active{
	opacity: 1;
	pointer-events: auto;
}
#save_modal .load{
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}
#save_modal .load div:nth-of-type(1){
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.8s ease-in-out;
}
#save_modal .wrapper{
	position: relative;
	z-index: 2;
	width: 90%;
	max-width: 600px;
	margin-top: -45px;
	min-height: 300px;
	max-height: calc(100vh - 120px);
	display: flex;
	align-items: stretch;
	justify-content: center;
}
#save_modal #contents{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	align-content: flex-start;
	justify-content: space-between;
	background: #f5f7f9;
}
#save_modal #contents .modal_header{
	width: 100%;
	line-height: 1.2;
	padding: 5px 10px;
	background: #fff;
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	text-align: left;
	height: 50px;
	background: #233b5f; /* Old browsers */
	background: -moz-linear-gradient(left,  #233b5f 0%, #313945 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left,  #233b5f 0%,#313945 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #233b5f 0%,#313945 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#233b5f', endColorstr='#313945',GradientType=1 ); /* IE6-9 */
	color: #fff;
	font-weight: 600;
	margin-bottom: 0;
}
#save_modal #contents .modal_header i{
	font-style: normal;
	display: block;
}
#save_modal #contents .modal_header span{
	margin-right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 34px;
	font-weight: normal;
	background: #3bc7dc;
	padding: 0 8px;
	font-size: 1.4rem;
	width: 90px;
	text-align: center;
	cursor: pointer;
	border-radius: 3px;
	box-sizing: content-box;
}
#save_modal #contents .modal_header .modal_header_btn.cancel{
	margin-left: auto;
	margin-right: 10px;
	background: #d9534f;
}
#save_modal #contents .modal_header .modal_header_btn:hover{
	background: #1793a5;
}
#save_modal #contents .modal_header .modal_header_btn.cancel:hover{
	background: #c9302c;
}
@media screen and (max-width: 450px){
	#save_modal #contents .modal_header{
		justify-content: center;
	}
	#save_modal #contents .modal_header i{
		display: none;
	}
	#save_modal #contents .modal_header span{
		margin: 0 5px !important;
	}
}
#save_modal .wrap{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	overflow: auto;
	box-sizing: border-box;
	height: calc(100% - 50px);
}
#save_modal .wrap h3{
	line-height: 1.3;
	color: #333;
	font-size: 1.2rem;
	border-top: 2px solid #e6eaed;
	margin-bottom: 15px;
	margin-top: 0;
}
#save_modal .wrap h3 span{
	display: inline-block;
	padding: 5px 10px;
	background: #e6eaed;
}
#save_modal .wrap .item{
	font-size: 1.4rem;
	line-height: 1.6;
	padding: 20px 20px 15px;
}
#save_modal .wrap h3 + .item{
	padding-top: 0;
}
#save_modal .wrap .item:last-child{
	border-bottom: 0;
	box-shadow: none;
}
#save_modal .wrap .item .cat_1st{
}
#save_modal .wrap .item .cat_2nd,
#save_modal .wrap .item .cat_3rd{
	padding-left: 20px;
	position: relative;
}
#save_modal .wrap .item .cat_3rd{
	padding-left: 40px;
}
#save_modal .wrap .item .cat_2nd:before,
#save_modal .wrap .item .cat_3rd:before{
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	border-bottom: 1px solid rgba(0,0,0,0.2);
	border-left: 1px solid rgba(0,0,0,0.2);
	position: absolute;
	top: calc(50% - 10px);
	left: 5px;
}
#save_modal .wrap .item .cat_3rd:before{
	left: 25px;
}
#save_modal input::after{
	content: attr(placeholder) !important;
	color: #666;
	font-size: 1.4rem;
}
#save_modal input[type="radio"],
#save_modal input[type="checkbox"]{
	display: none;
	margin: 0;
}
#save_modal input[type="radio"] + label:not([for*="block_header"]),
#save_modal input[type="checkbox"] + label:not([for*="block_header"]){
	position: relative;
	display: inline-block;
	cursor: pointer;
	font-size: 1.3rem;
	padding: 5px 15px 7px 22px;
}
#save_modal input[type="radio"] + label::before,
#save_modal input[type="checkbox"] + label::before{
	content: "";
	position: absolute;
	top: calc(50% - 2px);
	left: 0;
	box-sizing: border-box;
	display: block;
	width: 17px;
	height: 17px;
	margin-top: -9px;
	background: #fff;
	border: 1px solid #ddd;
}
#save_modal input[type="radio"] + label::before{
	border-radius: 30px;
}
#save_modal input[type="radio"]:checked + label::after,
#save_modal input[type="checkbox"]:checked + label::after{
	content: "";
	position: absolute;
	top: calc(50% - 2px);
	left: 4px;
	box-sizing: border-box;
	display: block;
	width: 9px;
	height: 9px;
	margin-top: -5px;
	background: #3bc7dc;
}
#save_modal input[type="radio"]:checked + label::after{
	border-radius: 100%;
}
#save_modal input[type="datetime-local"]{
	line-height: 1;
}
#ui-datepicker-div{
	z-index: 70 !important;
}
#save_modal .caution{
	color: #FF7171;
}

/*----------------------------admin_edit_window--------------------------------*/

.admin_edit_window{
	width: calc(100% - 110px);
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 5;
	background: #6169a9;
	color: #fff;
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
	transition: 0.1s;
}
.tablet_android .admin_edit_window,
.phone_android .admin_edit_window{
	width: auto;
}
.admin_edit_window i{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 21px;
	line-height: 1;
	width: 45px;
	height: 45px;
	padding: 3px 8px 0;
	cursor: pointer;
	background: #6169a9;
}
.admin_edit_window i:hover,
.admin_edit_window i.selected{
	background: #485092;
}
.admin_edit_window i.save,
.admin_edit_window i.check{
	background: #00c5dc;
	width: 110px;
}
.admin_edit_window i.save:after{
	content: "保存する";
	font-weight: 600;
	font-size: 1.3rem;
	line-height: 1;
	display: inline-block;
	padding-left: 5px;
	font-family: "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}
.admin_edit_window i.check:after{
	content: "編集画面へ";
	font-weight: 600;
	font-size: 1.3rem;
	line-height: 1;
	display: inline-block;
	padding-left: 5px;
	font-family: "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}
.desktop_windows #primary{
	width: 100%;
}
.tablet_android main{
	min-height: 1100px;
}
.tablet_android #primary{
	width: 788px;
	height: 1024px;
}
.phone_android main{
	min-height: 800px;
}
.phone_android #primary{
	width: 380px;
	height: 740px;
}
@media screen and (max-width: 840px){
	.admin_edit_window i:nth-last-child(n+2){
		display: none;
	}
	main{
		min-height: 0 !important;
	}
	#primary{
		width: 100% !important;
		height: 100% !important;
	}
}

body.parentmodal .admin_edit_window{
	opacity: 0;
	pointer-events: none;
}

/*----------------------------link etc--------------------------------*/

a,
input,
button{
	outline: 0;
}
input::-moz-focus-inner,
button::-moz-focus-inner{
	border: 0;
}

a:link, a:visited{
	text-decoration: none;
	color: #666;
}

a:hover{
	color: #999;
}


#facebook_modal .modal-dialog.modal-sm{
	height: 100vh;
	display: flex;
	align-items: center;
}
#facebook_modal .modal-dialog.modal-sm .modal-content{
	width: 100%;
}