@charset "utf-8";

/*ﾌｫﾝﾄ*/
@font-face {
	font-family:"webfont";
	src:url("../font/NotoSansJP/NotoSansJP-Regular.ttf");
	font-display:swap;/*sans-serifを先行表示し読込遅延回避*/
}
/*全体*/
* {
	box-sizing:border-box;
	margin:0;
	padding:0;
	font-size:16px;
	font-family:"webfont", sans-serif;
	color:#2a2a2a;
}
/*SP*/
@media screen and (max-width:767px) {
	* {
		font-size:4vw;
	}
}
/*html*/
html {
	overflow-y:scroll;
}
/*body*/
body {
	min-height:100vh;
	background:#ffffff;
}
/*画像*/
img {
	vertical-align:top;
	line-height:0;
	font-size:0;
}
/*ﾘﾝｸ*/
a {
	color:#2a2a2a;
}
a:hover {
	transition:all 0.5s ease-out;
	opacity:0.5;
}
/*ﾃｷｽﾄ*/
input[type="text"], 
input[type="password"],
input[type="number"] {
	display:block;
	width:100%;
	height:26px;
	margin:10px auto 0 auto;
	padding:1px 3px;
	border:1px solid #d4d4d4;
	border-radius:3px;
}
/*ｾﾚｸﾄﾎﾞｯｸｽ*/
select {
	display:block;
	width:100%;
	height:26px;
	margin:10px auto 0 auto;
	padding:1px 3px;
	background:#ffffff;
	border:1px solid #d4d4d4;
	border-radius:3px;
}
/*ﾃｷｽﾄｴﾘｱ*/
textarea {
	display:block;
	width:100%;
	height:150px;
	margin:10px auto 0 auto;
	padding:1px 3px;
	border:1px solid #d4d4d4;
}
/*ﾎﾞﾀﾝ*/
input[type="button"], 
input[type="submit"] {
	display:block;
	height:32px;
	width:150px;
	margin:30px auto 0 auto;
	color:#ffffff;
	background:#ff8c00;
	border:1px solid #ffffff;
	border-radius:30px;
	transition:all 0.5s ease-out;

	box-shadow:3px 3px 3px -1px #d4d4d4;/*影*/
	-moz-box-shadow:3px 3px 3px -1px #d4d4d4;/*Firefox 3.6 and earlier*/
	-webkit-box-shadow:3px 3px 3px -1px #d4d4d4;/*Safari and Chrome*/
}
input[type="button"]:hover, 
input[type="submit"]:hover {
	color:#ff8c00;
	background:#ffffff;
	border:1px solid #ff8c00;
}
input[type="button"]:disabled, 
input[type="submit"]:disabled {
	color:#ffffff;
	background:#aaaaaa;
	border:1px solid #aaaaaa;
}
/*ﾁｪｯｸﾎﾞｯｸｽ*/
input[type="checkbox"] {
	display:none;
}
input[type="checkbox"] + label {
	display:none;
	cursor:pointer;
	display:inline-block;
	position:relative;
	padding-left:25px;
	padding-right:10px;
	vertical-align:top;
}
input[type="checkbox"] + label::before {
	content:"";
	position:absolute;
	display:block;
	width:18px;
	height:18px;
	margin-top:-8px;
	left:0;
	top:50%;
	border:1px solid #d4d4d4;/*□枠色*/
	background:#ffffff;/*□背景色*/
}
input[type="checkbox"]:checked + label::after {
	content:"";
	position:absolute;
	display:block;
	width:12px;
	height:8px;
	margin-top:-6px;
	top:50%;
	left:3px;
	transform:rotate(-45deg);
	border-bottom:3px solid #ff8c00;/*選択ﾚ色*/
	border-left:3px solid #ff8c00;/*選択ﾚ色*/
}
/*ﾗｼﾞｵﾎﾞﾀﾝ*/
input[type="radio"] {
	display:none;
}
input[type="radio"] + label {
	cursor:pointer;
	display:inline-block;
	padding-left:20px;
	position:relative;
	margin-right:10px;
}
input[type="radio"] + label::before {
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:16px;
	height:16px;
	border:1px solid #999999;
	border-radius:50%;
}
input[type="radio"]:checked + label::after {
	content:"";
	display:block;
	position:absolute;
	top:3px;
	left:3px;
	width:12px;
	height:12px;
	border-radius:50%;
	background:#0000ff;/*選択●色*/
}
input[type="radio"].gray:checked + label::after {
	background:#ff8c00;/*選択●色*/
}
/*ﾌｧｲﾙ*/
input[type="file"] {
	font-size:13px;/*14以上だとtdのheightが33px以上になる*/
}
/*ﾍﾞｰｽ*/
.div_base {
	width:100%;
	margin:0 auto;
	padding:0;
}
/*ﾛｰﾄﾞ*/
.div_load {
	position:fixed;
	width:100%;
	height:100%;
	background:#000000;
	opacity:0.5;
	top:0;
	left:0;
	z-index:91;
	display:none;
}
.div_load img {
	position:fixed;
	top:calc(50% - 16px);
	left:calc(50% - 16px);
	z-index:92;
}
/*左*/
.div_left {
	position:fixed;
	height:100vh;
	width:calc(50% - (480px / 2));
	top:0;
	left:0;
	background-image:url("../img/left.jpg");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center;
}
.div_left .img_logo {
	position:absolute;
	width:20%;
	top:20px;
	left:20px;
}
/*右*/
.div_right {
	position:fixed;
	height:100vh;
	width:calc(50% - (480px / 2));
	top:0;
	right:0;
	background:#002b00;
}
/*中央*/
.div_center {
	width:480px;
	margin:0 auto;
	padding:20px 20px 200px 20px;
}
/*SP*/
@media screen and (max-width:767px) {
	/*左*/
	.div_left {
		display:none;
	}
	/*右*/
	.div_right {
		display:none;
	}
	/*中央*/
	.div_center {
		width:100%;
		padding:3vw 3vw 30vw 3vw;
	}
}
/*ﾛｸﾞｲﾝ*/
.div_login {
	margin:5px 0;
	color:#ff8c00;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
/*ﾒﾆｭｰ*/
.div_menu {
	position:absolute;
	width:60%;
	padding:20px;
	background:#ffffff;
	top:20%;
	left:50%;
	transform:translate(-50%, -20%);
	-webkit- transform:translateY(-50%, -20%);
}
.div_menu a {
	position:relative;
	display:block;
	padding:10px 0 10px 0;
	text-decoration:none;
	border-top:1px solid #d4d4d4;
}
.div_menu a:first-child {
	border-top:0;
}
.div_menu a::after {
	position:absolute;
	content:"";
	width:8px;
	height:8px;
	right:10px;
	top:50%;
	-webkit-transform:translateY(-50%) rotate(45deg);
	transform:translateY(-50%) rotate(45deg);
	border-top:solid 1px #555555;
	border-right:solid 1px #555555;
}
/*非活性*/
.div_menu.disabled a {
	pointer-events:none;
	color:#d4d4d4;
}
.div_menu.disabled a::after {
	border-top:solid 1px #d4d4d4;
	border-right:solid 1px #d4d4d4;
}
/*ｻｸｾｽ･ｴﾗｰ*/
.top_suc,
.top_err,
.det_suc,
.det_err {
	padding:3px;
	text-align:left;
	font-weight:normal;
	border-radius:3px;
}
.top_suc {
	border:1px solid #0000ff;
	background:#d5d5ff;
	color:#0000ff;
	margin-bottom:10px;
}
.top_err {
	border:1px solid #ff0000;
	background:#ffd5d5;
	color:#ff0000;
	margin-bottom:10px;
}
.det_suc {
	border:1px solid #0000ff;
	background:#d5d5ff;
	color:#0000ff;
	margin-top:10px;
}
.det_err {
	border:1px solid #ff0000;
	background:#ffd5d5;
	color:#ff0000;
	margin-top:10px;
}
/*ﾄﾗｲｱﾝｸﾞﾙ*/
.tri_red {
	position:absolute;
	height:40px;
	width:100px;
	font-size:12px;
	text-align:center;
	transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	-o-transform:rotate(45deg);

	padding:20px 0 2px 0;
	background-color:#ea0000;
	color:#ffffff;
	right:-38px;
	top:-8px;
	opacity:1;
	cursor:pointer;
}
.tri_orange {
	position:absolute;
	height:40px;
	width:100px;
	font-size:12px;
	text-align:center;
	transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	-o-transform:rotate(45deg);

	padding:20px 0 2px 0;
	background-color:#ff8c00;
	color:#ffffff;
	right:-38px;
	top:-8px;
	opacity:1;
	cursor:pointer;
}
/*装飾文字*/
.txt_deco1 {
	display:inline-block;
	font-size:110%;
	font-weight:bold;
	color:#ffffff;
	text-shadow:1px 1px 1px #bf0000, 
				-1px 1px 1px #bf0000, 
				1px -1px 1px #bf0000, 
				-1px -1px 1px #bf0000, 
				1px 1px 1px #bf0000, 
				-1px 1px 1px #bf0000, 
				1px -1px 1px #bf0000, 
				-1px -1px 1px #bf0000;
}
.txt_deco2 {
	display:inline-block;
	font-size:110%;
	font-weight:bold;
	color:#ffffff;
	text-shadow:1px 1px 1px #555555, 
				-1px 1px 1px #555555, 
				1px -1px 1px #555555, 
				-1px -1px 1px #555555, 
				1px 1px 1px #555555, 
				-1px 1px 1px #555555, 
				1px -1px 1px #555555, 
				-1px -1px 1px #555555;
}
/*太字*/
.f_bold {
	font-weight:bold !important;
}
/*赤色*/
.f_red {
	color:#ff0000 !important;
}
/*青色*/
.f_blue {
	color:#ff0000 !important;
}
/*緑色*/
.f_blue {
	color:#ff0000 !important;
}
/*紫色*/
.f_purple {
	color:#ff00ff !important;
}
/*橙色*/
.f_orange {
	color:#ff8c00 !important;
}
/*灰色*/
.f_gray {
	color:#bfbfbf !important;
}
/*全文字･全画像を赤*/
.all_red,
.all_red * {
	color:#ff0000;
}
.all_red img {
    filter:invert(15%) sepia(95%) saturate(6932%) hue-rotate(358deg) brightness(95%) contrast(112%);/*赤*/
}
/*全文字･全画像を青*/
.all_blue,
.all_blue * {
	color:#0000ff;
}
.all_blue img {
	filter:invert(8%) sepia(99%) saturate(7044%) hue-rotate(247deg) brightness(100%) contrast(145%);/*青*/
}
/*全文字･全画像を緑*/
.all_green,
.all_green * {
	color:#008000;
}
.all_green img {
	filter:invert(17%) sepia(91%) saturate(7085%) hue-rotate(128deg) brightness(100%) contrast(106%);/*緑*/
}
/*全文字･全画像を紫*/
.all_purple,
.all_purple * {
	color:#ff00ff;
}
.all_purple img {
	filter:invert(11%) sepia(71%) saturate(5170%) hue-rotate(293deg) brightness(87%) contrast(111%);/*紫*/
}
/*削除ﾃﾞｰﾀ*/
.data_delete,
.data_delete * {
	color:#d4d4d4;
}
.data_delete img {
	opacity:0.5;
}
/*ｻﾌﾞﾀｲﾄﾙ*/
.p_subtitle1 {
	height:26px;
	padding:2px 0 0 4px;
	margin:20px 0 0 0;
	background:#fff1df;
	border-left:6px solid #ff8c00;
}
.p_subtitle2 {
	height:26px;
	padding:2px 0 0 4px;
	margin:20px 0 0 0;
	background:#dfffdf;
	border-left:6px solid #008000;
}
/*ﾊﾝﾊﾞｰｶﾞｰﾒﾆｭｰ*/
.div_hamburger {
	display:none;
}
/*SP*/
@media screen and (max-width:767px) {
	/*ﾊﾝﾊﾞｰｶﾞｰﾒﾆｭｰ*/
	.div_hamburger {
		display:block;
		z-index:999;
	}
	/*×*/
	.div_hamburger_btn {
		position:fixed;
		height:50px;
		width:50px;
		top:0;
		right:0;
		/*background:#002b00;*/
		cursor:pointer;
		z-index:2;
	}
	/*3本線*/
	.div_hamburger_btn span {
		position:absolute;
		display:inline-block;
		height:4px;
		width:34px;
		left:50%;
		-webkit-transform:translateX(-50%);
		transform:translateX(-50%);
		background:#002b00;
		transition:all .3s;
	}
	.div_hamburger_btn span:nth-of-type(1) {
		top:14px;
	}
	.div_hamburger_btn span:nth-of-type(2) {
		top:24px;
	}
	.div_hamburger_btn span:nth-of-type(3) {
		top:34px;
	}
	.div_hamburger_btn.active span:nth-of-type(1) {
		top:24px;
		left:50%;
		-webkit-transform:translateX(-50%) rotate(-45deg);
		transform:translateX(-50%) rotate(-45deg);
	}
	.div_hamburger_btn.active span:nth-of-type(2) {
		opacity:0;
	}
	.div_hamburger_btn.active span:nth-of-type(3) {
		top:24px;
		left:50%;
		-webkit-transform:translateX(-50%) rotate(45deg);
		transform:translateX(-50%) rotate(45deg);
	}
	/*ﾒﾆｭｰ*/
	.div_hamburger_menu {
		position:fixed;
		display:none;
		height:100vh;
		width:100vw;
		padding:12vw 5vw;
		top:0;
		right:0;
		background:#ffffff;
		z-index:1;
	}
	.div_hamburger_menu a {
		position:relative;
		display:block;
		padding:10px 0 10px 0;
		text-decoration:none;
		border-top:1px solid #d4d4d4;
	}
	.div_hamburger_menu a:first-child {
		border-top:0;
	}
	.div_hamburger_menu a::after {
		position:absolute;
		content:"";
		width:8px;
		height:8px;
		right:10px;
		top:50%;
		-webkit-transform:translateY(-50%) rotate(45deg);
		transform:translateY(-50%) rotate(45deg);
		border-top:solid 1px #808080;
		border-right:solid 1px #808080;
	}
}
/*ﾛｺﾞ*/
.div_logo {
	position:relative;
	height:25px;
	margin-bottom:15px;
}
.div_logo .img_logo {
	position:absolute;
	height:30px;
	top:50%;
	left:0;
	transform:translate(0, -50%);
}
/*戻る･submitﾎﾞﾀﾝ*/
.div_back_submit {
	margin:30px 0;
	padding:0 20px;
}
.div_back_submit a {
	display:inline-block;
	margin-top:5px;
	color:#ff8c00;
}
.div_back_submit input {
	float:right;
	margin:0;
}
/*ﾄｯﾌﾟへ*/
.a_totop {
	position:fixed;
	display:none;
	bottom:20px;
	right:calc(50% - 210px);
	z-index:1;
}
/*SP*/
@media screen and (max-width:767px) {
	/*ﾄｯﾌﾟへ*/
	.a_totop {
		bottom:20px;
		right:20px;
	}
}
/*ﾊﾞﾗ･箱･ｶｺﾞ*/
.bara_hako_kago1,
.bara_hako_kago2,
.bara_hako_kago3 {
	display:inline-block;
	width:110px;
	margin:6px 6px 0 0;
	border-radius:30px;
	text-align:center;
	font-size:85%;
}
.bara_hako_kago1 {
	color:#ff8c00;
	border:1px solid #ff8c00;
	background:#fff1df;
}
.bara_hako_kago2 {
	color:#0000ff;
	border:1px solid #0000ff;
	background:#eaeaff;
}
.bara_hako_kago3 {
	color:#008000;
	border:1px solid #008000;
	background:#ccffcc;
}
/*SP*/
@media screen and (max-width:767px) {
	.bara_hako_kago1,
	.bara_hako_kago2,
	.bara_hako_kago3 {
		width:25vw;
	}
}