@charset "utf-8";
/* 900px for SP */
@media screen and (max-width: 900px) {

	html{
		font-size: 2.56410256vw; /* デザイン390px幅で10pxを1remと指定。 */
	}
	body{
		background: #F4F4F4;
		font-size: 1.4rem;
		padding: 6.4rem 0 0;
	}
	h1, h2, h3, h4, h5, h6 {
		font-size:1.6rem;
	}
	img{
		width: 100%;
	}
	.pc_only{
		display: none;
	}
	.sp_only{
		display: block;
	}
	.overflow_auto{
		overflow: auto;
	}

	/*---------------------------------------------------------*/
	/* wrapper */
	.wrapper_full,
	.wrapper_l,
	.wrapper_m,
	.wrapper_s{
		padding: 0 1.6rem;
		margin:0 auto;
		max-width: none;
	}
	
	/*---------------------------------------------------------*/
	/* margin & padding */
	.sp_mt_30{
		margin-top: 4vw;
	}
	.sp_mt_40{
		margin-top: 5.3333vw;
	}
	.sp_mt_60{
		margin-top: 8vw;
	}
	.sp_mt_80{
		margin-top: 10.6667vw;
	}
	.sp_mt_100{
		margin-top: 13.3333vw;
	}
	.sp_mt_130{
		margin-top: 17.3333vw;
	}
	.sp_mt_160{
		margin-top: 21.3333vw;
	}
	.sp_mt_180{
		margin-top: 24vw;
	}
	.sp_mt_200{
		margin-top: 26.6667vw;
	}

	/*---------------------------------------------------------*/
	/* box */
	.box_border{
		border: 0.1rem solid #ddd;
		border-radius: 1.2rem;
		padding: 1.5rem;
	}
	.box_shadow{
		box-shadow: 0 0.3rem 0.6rem 0px rgba(0, 0, 0, 0.1);
		border-radius: 1.2rem;
		padding: 1.5rem;
	}
	.box_shadow + .box_shadow{
		margin-top: 1.6rem;
	}
	.box_shadow.box_dark{
		box-shadow: 0px 0.3rem 0.6rem 0px rgba(255,255,255, 0.3);
	
	}
	
	/*---------------------------------------------------------*/
	/* title */
	/* title_A */
	.title_A{
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}

	/*---------------------------------------------------------*/
	/* header */
	.header{
		background: #fff;
		border-bottom: 0.2rem solid #F4F4F4;
		display: flex;
		align-items: center;
		margin: 0;
		padding: 1rem 7.2rem 1rem 1.6rem;
		top: 0;
		right: auto;
		left: 0;
		height: 6.4rem;
		width: 100%;
	}

	/* logo */
	.header .logo img{
		width: 16.5rem;
	}

	/* server_name */
	.header .server_name{
		font-size: 1.1rem;
		padding: 0.2rem 1rem;
		position: fixed;
		top: 0.5rem;
		left: 1rem;
	}

	/* admin_name */
	.header .admin_name{
		background: #fff;
		font-size: 1.1rem;
		border: 0.1rem solid #e00;
		padding: 0.2rem 1rem;
		position: fixed;
		top: 3.5rem;
		left: 1rem;
		margin: 0;
		max-width: 50%;
	}

	/* head_info_wrapper */
	.head_info_wrapper{
		margin-left: 1rem;
		height: 5rem;
	}
	.head_info_unlead{
		top: 0;
		height: 1.2rem;
		width: 1.2rem;
	}	
	.head_info_bell{
		background-size: 1.625rem 2rem;
		height: 5rem;
		width: 5rem;
	}
	.head_info_body{
		top: 5rem;
		width: 27.4rem;
	}
	.head_info_body a{
		padding: 1.6rem;
	}
	.head_info_body a .date{
		font-size: 1.2rem;
	}
	.head_info_body li:not(:first-child){
		border-top:solid 0.1rem #DDDDDD;
	}

	/* head_hamburger */
	.head_hamburger{
		border-radius: 1.6rem;
		top: 0.8rem;
		right: 0.8rem;
		width: 4.8rem;
		height: 4.8rem;
	}
	.head_hamburger .border{
		border-radius: 1rem;
		width: 2rem;
		height: 0.3rem;
	}
	.head_hamburger .border:nth-child(1){
		top: 1.5rem;
	}
	.head_hamburger .border:nth-child(3){
		bottom: 1.5rem;
	}
	.head_hamburger.active .border:nth-child(1){
		top: calc(50% - 0.15rem);
	}
	.head_hamburger.active .border:nth-child(2){
		width: 0;
	}
	.head_hamburger.active .border:nth-child(3){
		top: calc(50% - 0.15rem);
	}

	/* globalnav */
	.globalnav .inner{
		padding: 1rem 1.6rem;
		width: 32.6rem;
	}
	.globalnav .logo{
		width: 16.5rem;
	}
	.globalnav .pagelogo{
		border: 0.77vw solid #152A3A;
		padding: 5.2vw;
		height: 30.8vw;
		width: 30.8vw;
	}
	.globalnav .pagelogo .imgblock{
		background: no-repeat center center;
		background-size: contain;
		border: 1px solid #99acb9;
		height: 100%;
		width: 100%;
	}
	.globalnav .name{
		font-size: 1.6rem;
	}
	.globalnav a{
		background: left 1.6rem center no-repeat;
		background-size: 2rem 2rem;
		border-radius: 1.2rem;
		font-size: 1.6rem;
		padding: 1rem 1rem 1rem 4.6rem;
		height: auto;
	}
	.globalnav .help a{
		margin-top: 2.4rem;
	}
	.globalnav .help a::before{
		height: 0.1rem;
		top: -1.2rem;
	}
	.globalnav .logout a{
		margin-top: 2rem;
		padding: 0 1.6rem;
		font-size: 1.2rem;
	}
	.globalnav .copyright{
		font-size: 1.2rem;
		padding: 0 1.6rem;
		margin-top: 2rem;
	}
	
	/*---------------------------------------------------------*/
	/* main_wrapper */
	.main_wrapper{
		padding: 1.6rem 0;
	}

	/*---------------------------------------------------------*/
	/* form */
	.form_basic label input{
		margin-right: 1rem;
	}
	/* text textarea*/
	.form_basic input[type=text],
	.form_basic input[type=email],
	.form_basic input[type=password],
	.form_basic textarea,
	.form_basic select{
		border: 0.2rem solid #dddddd;
		border-radius: 0.6rem;
		font-size: 1.6rem;
		padding: 1rem 2rem;
	}
	.form_basic textarea{
		height: 10rem;
	}
	/* radio & checkbox & file */
	.form_basic input[type=file],
	.form_basic input[type=radio] + label,
	.form_basic input[type=checkbox] + label{
		border: 0.2rem solid #dddddd;
		border-radius: 0.8rem;
		padding: 1rem 2rem;
		font-size: 1.6rem;
		line-height: 1.2;
	}
	.form_basic input[type=file]{
		padding: 1rem 3rem 1rem 1rem;
	}

	/* delete */
	.form_basic .dbimage_block .delete,
	.form_basic .input_file_reset .delete{
		height: 3rem;
		width: 3rem;
		top: -0.5em;
		right: -0.5em;
	}
	.form_basic .input_file_reset .delete{
		top: calc(50% - 1.5rem);
		right: 0.5rem;
	}	
	.form_basic .dbimage_block .delete::before,
	.form_basic .dbimage_block .delete::after,
	.form_basic .input_file_reset .delete::before,
	.form_basic .input_file_reset .delete::after{
		width: 1.5rem;
		height: 0.2rem;
	}

	/* toggle */
	.form_basic .toggle input[type=radio] + label{
		padding: 0;
		height: 3rem;
		width: 3rem;
	}
	.form_basic .toggle input[type=radio]:last-of-type + label::before{
		height: 2.2rem;
		width: 2.2rem;
		top: 0.4rem;
		left: 0.4rem;
	}
	.form_basic .toggle input[type=radio]:last-of-type:checked + label::before{
		left: 3.4rem;
	}

	/* input_notice_list */
	.form_basic .input_notice_list li{
		margin-top: 0.8rem;
	}

	/* btn_submit */
	.btn_submit_block,
	.btn_return_block{
		margin: 5rem auto;
	}
	.btn_submit,
	.btn_return{
		border-radius: 0.8rem;
		font-size: 1.7rem;
		padding: 1.5rem 3rem;
	}

	/* formError */
	.formError{
		bottom: -3rem !important;
	}
	.formError .formErrorContent{
		font-size: 1.4rem !important;
	}

	/*---------------------------------------------------------*/
	/* cp_login & admin_login */
	body.cp_login .header .server_name,
	body.admin_login .header .server_name{
		position: static;
		margin: 0 auto 0;
	}
	body.cp_login .header .logo,
	body.cp_login .head_info_wrapper,
	body.cp_login .globalnav,
	body.cp_login .head_hamburger,
	body.admin_login .header .logo,
	body.admin_login .head_info_wrapper,
	body.admin_login .globalnav,
	body.admin_login .head_hamburger{
		display: none;
	}

	/*---------------------------------------------------------*/
	/* login_table  */
	.login_table{
		max-width: none;
	}
	.login_table th{
		padding: 2rem 0 1rem;
	}
	.login_table input[type=text],
	.login_table input[type=email],
	.login_table input[type=password]{
		background: url(../img/ic_contract_orange.svg) no-repeat left 1.2rem center;
		background-size: 2rem auto;
		margin: 0;
		padding: 1rem 1rem 1rem 4.4rem;
	}
	.login_table input[type=email]{
		background-image: url(../img/ic_mail_orange.svg);
	}
	.login_table input[type=password]{
		background-image: url(../img/ic_password.svg);
	}

	.login_table .size_s{
		margin-top: 1rem;
	}
	.login_btns{
		max-width: none;
		width: 100%;
	}
	.login_btns .cookieFlagWrap{
		margin: 2rem auto 0;
	}
	.login_btns #cookieFlag{
		width: 2rem;
		height: 2rem;
		top: calc(50% - 1rem);
		left: 1.5rem;
		font-size: 2rem;
	}
	.login_btns input[type=checkbox] + label.cookieFlagLabel{
		padding-left: 4rem;
	}	

	/*---------------------------------------------------------*/
	/* .admin_login .login_table */
	.admin_login .btn_submit{
		margin-bottom: 2rem;
	}

	/*---------------------------------------------------------*/
	/* basic_table  */
	.basic_table{
		border: solid 0.1rem #DDDDDD;
		border-radius: 0.8rem;
	}
	.basic_table tr,
	.basic_table th,
	.basic_table td{
		text-align: left;
		display: block;
	}
	.basic_table tr > *{
		border-bottom: solid 0.1rem #DDDDDD;
		padding: 1rem 1.5rem;
	}
	.basic_table tr:last-child > *{
		border-bottom: none;
	}

	/*---------------------------------------------------------*/
	/* easytips */
	.easytips::before{
		left: 0.1rem;
	}
	.easytips_icon{
		height: 1.2rem;
		width: 1.2rem;
	}
	.easytips_body{
		font-size: 1.2rem;
		left: calc(50% - 5rem);
		width: 20rem;
	}

}