@charset "UTF-8";



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 共通項目 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
*{margin:0;padding:0;text-decoration:none;box-sizing: border-box;}fieldset{border:0}body{line-height:1.8}body,dd,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,select,ul{margin:0;padding:0}img{border:0;vertical-align:top}a{text-decoration:none}em{font-style:normal}ul li{list-style-type:none;list-style-image:none}address{font-style:normal}strong { font-weight: bold;}ul li {list-style:none;	}img {width: 100%;height: auto;}.sp {display: none;} ::placeholder{color:#BDBDBD;}
html{font-size: 62.5%;}
body{font-size: 1.5rem;}
::-ms-reveal {
    display: none;
}



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* リンク */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
a {
	color: #2F2F2F;
	text-decoration: none;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
a:before {
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
a.txt-link {
	text-decoration: underline;
}
a.txt-link:hover {
	text-decoration: none;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 横幅 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
body {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: 400;
	color: #2F2F2F;
	padding: 0;
	margin: 0;
	letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
}
body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
	overflow: hidden;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フォント */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.en {
	font-family: "Lato", sans-serif;
	font-weight: 700;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* カラー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.bg-light-red {
	background: #F8E8E7;
}
.bg-white {
	background: #fff;
}
.bg-gray {
	background: #F8F8F8;
}

.c-white {
	color: #fff;
}
.c-red {
	color: #FB1810;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* flex */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.flex {
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-start {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
.flex-end {
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	 -ms-flex-direction: row-reverse;
		 flex-direction: row-reverse;
}
.flex-center {
	display: flex;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: solid 4px;
	background: #fff;
	height: 80px;
	padding: 0 40px;
	box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.05);
}
	#header .logo {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
		#header .logo .img {
			height: 30px;
			margin-right: 20px;
		}
			#header .logo .img img {
				width: auto;
				height: 100%;
			}

		#header .logo span {
			font-size: 1.4rem;
			font-weight: 500;
			line-height: 1.3em;
		}

	#header .info {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
		#header .info .name {
			margin-right: 15px;
			padding-right: 15px;
			border-right: solid 1px #ddd;
		}
		#header .info .number {
			margin-right: 25px;
		}

		#header .info a.logout {
			display: block;
			width: 100px;
			height: 28px;
			border: solid 1px #ddd;
			border-radius: 15px;
			line-height: 26px;
			font-weight: 700;
			text-align: center;
		}
@media screen and (max-width: 1024px) {
	#header {
		border-top: solid 0.4vw;
		height: 8vw;
		padding: 0 4vw;
	}
		#header .logo .img {
			height: 3vw;
			margin-right: 2vw;
		}

		#header .logo span {
			font-size: 1.4vw;
		}

		#header .info .name {
			margin-right: 1.5vw;
			padding-right: 1.5vw;
		}
		#header .info .number {
			margin-right: 2.0vw;
		}

		#header .info a.logout {
			width: 10vw;
			height: 2.8vw;
			border-radius: 1.5vw;
			line-height: 2.6vw;
		}
}
@media screen and (max-width: 767px) {
	#header {
		border-top: solid 1vw;
		height: 16vw;
		padding: 0 4vw;
		box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.15);
	}
	#header.dashboard {
		display: block;
		height: 26vw;
	}
		#header .logo {
			display: block;
		}
		#header.dashboard .logo {
			padding: 3.5vw 0 2.5vw 0;
		}
			#header .logo .img {
				height: 4.5vw;
				margin-right: 0;
			}

			#header .logo span {
				display: block;
				font-size: 2.8vw;
				margin-top: 1.5vw;
			}

		#header .info {
			justify-content: space-between;
			width: 100%;
			background: #EAEAEA;
			border-radius: 1vw;
			padding: 1vw 2vw;
		}
			#header .info .name {
				border-right: none;
				margin-right: 0;
				padding-right: 0;
				font-size: 3.1vw;
			}
			#header .info .number {
				margin-right: 0;
				font-size: 3.1vw;
			}

			#header .info a.logout {
				display: none;
			}
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#menubtn {
	display: none;
}
@media screen and (max-width: 767px) {
	#menubtn {
		display: block;
		width: 10vw;
		height: 10vw;
		position: absolute;
		top: 3.5vw;
		right: 2.5vw;
		z-index: 15;
		transition: 0.3s;
		-webkit-transition: 0.3s;
	}
		#menubtn .menu {
			display: block;
			position: relative;
			cursor: pointer;
			width: 10vw;
			height: 10vw;
			transition: 0.3s;
			-webkit-transition: 0.3s;
		}
			#menubtn .menu .openbtn-area {
				transition: all .4s;
			}
				#menubtn .menu span {
					width: 6vw;
					display: inline-block;
					transition: all .4s;
					position: absolute;
					top: 50%;
					left: 50%;
					margin-left: -2.5vw;
					height: 1px;
					background: #2F2F2F;
					transition: 0.3s;
					-webkit-transition: 0.3s;
				}
				#menubtn .menu span:nth-of-type(1) {
					margin-top: -1.5vw;
				}
				#menubtn .menu span:nth-of-type(2) {
					margin-top: -0.05vw;
				}
				#menubtn .menu span:nth-of-type(3) {
					margin-top: 1.5vw;
				}

			#menubtn .menu.active .openbtn-area {
				transform: rotateY(-360deg);
			}
				#menubtn .menu.active span  {
					background: #000000;
				}
				#menubtn .menu.active span:nth-of-type(1) {
					transform: translateY(1.5vw) rotate(-135deg);
					margin-top: -1.5vw;
				}
				#menubtn .menu.active span:nth-of-type(2) {
					opacity: 0;
				}
				#menubtn .menu.active span:nth-of-type(3) {
					transform: translateY(-1.8vw) rotate(135deg);
					margin-top: 1.5vw;
				}
}


	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー展開 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
@media screen and (min-width: 768px) {
#menubox {
	display: none !important;
}
}
@media screen and (max-width: 767px) {
#menubox {
	display: none;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	background: #EAEAEA;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 12;
}
	#menubox .menunav {
		width: 100%;
		height: 100vh;
		height: 100dvh;
		overflow: hidden;
		overflow-y: scroll;
	}
		#menubox .menunav .logout {
			padding: 15vw 0 10vw 0;
		}
			#menubox .menunav .logout .form-btn {
				margin: 0 auto;
			}
	
		#menubox .menunav ul.menu {
			border-top: solid 1px #ddd;
			background: #F8F8F8;
		}
			#menubox .menunav ul.menu li {
				border-bottom: solid 1px #ddd;
			}
				#menubox .menunav ul.menu li a {
					display: block;
					background: url("../../assets/img/common/icon_arrow_black.svg") no-repeat right 5vw center / 2vw;
					padding: 6vw 5vw;
					font-size: 4.2vw;
					line-height: 1;
				}
}


	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* wrapper */
.wrapper {
	min-height: 100vh;
    position: relative;
	background: #EAEAEA;
    padding-bottom: 178px;
    box-sizing: border-box;
}

/* main */
#main {
	display: block;
}
.inner_540 {
	max-width: 540px;
	margin: 0 auto;
	position: relative;
}
.inner_800 {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	position: relative;
}
.inner_1060 {
	width: 1060px;
	margin: 0 auto;
	position: relative;
}
.inner_full {
	width: 100%;
	position: relative;
}

/* img-over */
a .img-over {
	overflow: hidden;
}
	a .img-over img {
		-moz-transition: -moz-transform 0.2s linear;
		-webkit-transition: -webkit-transform 0.2s linear;
		-o-transition: -o-transform 0.2s linear;
		-ms-transition: -ms-transform 0.2s linear;
		transition: transform 0.2s linear;
	}
	a:hover .img-over img {
		-webkit-transform: scale(1.05);
		-moz-transform: scale(1.05);
		-o-transform: scale(1.05);
		-ms-transform: scale(1.05);
		transform: scale(1.05);
	}

/* list-icon */
.list-icon li {
	margin-bottom: 7px;
	line-height: 1.5em;
	padding-left: 18px;
	position: relative;
}
.list-icon li:nth-last-child(1) {
	margin-bottom: 0;
}
.list-icon li:before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #2F2F2F;
	position: absolute;
	top: 8px;
	left: 0;
}

/* mt */
.mt10 {
	margin-top: 10px;
}
.mt15 {
	margin-top: 15px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt40 {
	margin-top: 40px;
}

/* mb */
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}

/* txt */
.txt-16 {
	font-size: 1.6rem;
	line-height: 1.8em;
}
.txt-14 {
	font-size: 1.4rem;
	line-height: 1.6em;
}
.txt-12 {
	font-size: 1.2rem;
	line-height: 1.4em;
}
.txt-11 {
	font-size: 1.1rem;
	line-height: 1.2em;
}

.txt-center {
	text-align: center;
}
.txt-right {
	text-align: right;
}
.txt-notes {
	text-indent: -15px;
	padding-left: 15px;
}
@media screen and (max-width: 1200px) {
	.inner {
		width: 100%;
		padding: 0 4vw;
	}
	.inner_1060 {
		width: 100%;
		padding: 0 4vw;
	}
}
@media screen and (max-width: 1024px) {
	/* wrapper */
	.wrapper {
		padding-bottom: 17.8vw;
	}
	
	.inner_800 {
		width: 100%;
		padding: 0 8vw;
	}

	/* list-icon */
	.list-icon li {
		margin-bottom: 0.7vw;
		padding-left: 1.8vw;
	}
	.list-icon li:before {
		width: 0.6vw;
		height: 0.6vw;
		top: 1vw;
	}

	/* mt */
	.mt10 {
		margin-top: 1vw;
	}
	.mt15 {
		margin-top: 1.5vw;
	}
	.mt20 {
		margin-top: 2vw;
	}
	.mt30 {
		margin-top: 3vw;
	}
	.mt40 {
		margin-top: 4vw;
	}

	/* mb */
	.mb10 {
		margin-bottom: 1vw;
	}
	.mb15 {
		margin-bottom: 1.5vw;
	}
	.mb20 {
		margin-bottom: 2vw;
	}
	.mb30 {
		margin-bottom: 3vw;
	}
	.mb40 {
		margin-bottom: 4vw;
	}
	
	/* txt */
	.txt-16 {
		font-size: 1.6vw;
	}
	.txt-14 {
		font-size: 1.4vw;
	}
	.txt-12 {
		font-size: 1.2vw;
	}
	.txt-11 {
		font-size: 1.1vw;
	}
	
	.txt-notes {
		text-indent: -1.5vw;
		padding-left: 1.5vw;
	}
}
@media screen and (max-width: 767px) {
	.sp {
		display: block;
	}
	.pc {
		display: none !important;
	}
	
	/* wrapper */
	.wrapper {
		background: #fff;
		padding-bottom: 65vw;
	}

	/* inner */
	.inner_1060 {
		padding: 0;
	}
	.inner_800 {
		padding: 0;
	}
	
	/* list-icon */
	.list-icon li {
		margin-bottom: 1.5vw;
		padding-left: 4vw;
		font-size: 3.7vw;
	}
	.list-icon li:before {
		width: 2vw;
		height: 2vw;
		top: 1.8vw;
	}

	/* mt */
	.mt10 {
		margin-top: 2vw;
	}
	.mt15 {
		margin-top: 3vw;
	}
	.mt20 {
		margin-top: 4vw;
	}
	.mt30 {
		margin-top: 6vw;
	}
	.mt40 {
		margin-top: 8vw;
	}

	/* mb */
	.mb10 {
		margin-bottom: 2vw;
	}
	.mb15 {
		margin-bottom: 3vw;
	}
	.mb20 {
		margin-bottom: 4vw;
	}
	.mb30 {
		margin-bottom: 6vw;
	}
	.mb40 {
		margin-bottom: 8vw;
	}

	/* txt */
	.txt-16 {
		font-size: 4.2vw;
	}
	.txt-14 {
		font-size: 3.7vw;
	}
	.txt-12 {
		font-size: 3.2vw;
	}
	.txt-11 {
		font-size: 3.0vw;
	}
	
	.txt-notes {
		text-indent: -4vw;
		padding-left: 4vw;
	}
}





	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 入力フォーム */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* form-area */
.alert {
	display: none;
	justify-content: center;
	align-items: center;
	padding: 8px;
	border-radius: 8px;
}
.alert.max400 {
	width: 400px;
	margin: 0 auto;
}
.error .alert {
	display: flex;
}
.alert p {
	position: relative;
}
.alert p:before {
	content: "";
	width: 12px;
	height: 12px;
	background: url("../img/common/icon_alerts.svg") no-repeat center / 100%;
	position: absolute;
	top: 3px;
	left: -20px;
}


.form-area dl.box {
	margin-top: 30px;
}
	.form-area dl.box dt {
		font-size: 1.4rem;
		font-weight: 600;
		line-height: 1.3em;
		margin-bottom: 10px;
	}
		.form-area dl.box dt span {
			padding-left: 3px;
		}

	.form-area dl.box dd.bg-gray {
		border-radius: 8px;
	}
		/* input */
		.form-area dl.box dd .input-box {
			width: 100%;
			height: 60px;
			border-radius: 8px;
			border: solid 1px #ddd;
			background: #fff;
			padding: 0 20px;
			font-size: 1.6rem;
		}
		.form-area dl.box dd .input-box.column2 {
			width: 48.5%;
		}
		.form-area dl.box dd .input-box.readonly {
			background: #F8F8F8;
		}
		.form-area dl.box dd .input-box.readonly:focus {
			outline: none;
		} 

		.form-area dl.box.error-box dd .error-txt {
			display: none;
			margin-top: 10px;
			line-height: 1.3em;
		}


		/* tel */
		.form-area dl.box dd.tel {
			display: flex;
			justify-content: space-between;
			align-items: center;
		}
			.form-area dl.box dd.tel .input-box.column3 {
				width: 30%;
			}

		
		/* checkbox */
		.form-area dl.box dd .horizontal-item {
			display: block;
			margin-bottom: 7px;
		}
		.form-area dl.box dd .horizontal-item:nth-last-child(1) {
			margin-bottom: 0;
		}
			.form-area dl.box dd .horizontal-item input[type=checkbox].check_btn_item{
				display: none;
			}
			.form-area dl.box dd .horizontal-item label {
				display: block;
				padding: 15px 30px;
				font-size: 1.6rem;
			}
			.form-area dl.box dd .horizontal-item .check_btn_item + span {
				padding-left: 22px;
				display: inline-block;
				position: relative;
			}
			.form-area dl.box dd .horizontal-item .check_btn_item + span::after,
			.form-area dl.box dd .horizontal-item .check_btn_item + span::before {
				content: '';
				display: block;
				position: absolute;
				top: 50%;
				margin-top: -5px;
			}
			.form-area dl.box dd .check_btn_item + span::before {
				border: 1px solid #b5b5b5;
				background: #fff;
				border-radius: 2px;
				left: 0;
				height: 10px;
				width: 10px;
			}
			.form-area dl.box dd .check_btn_item:disabled + span::before {
				background: #b5b5b5;
			}
			.form-area dl.box dd .horizontal-item .check_btn_item + span::after{
				opacity: 0;
				border: none;
				border-right: 2px solid #fff;
				border-bottom: 2px solid #fff;
				width: 3px;
				height: 6px;
				left: 4px;
				top: 15px;
				transform: rotate(45deg);
			}
			.form-area dl.box dd .horizontal-item .check_btn_item:disabled + span::after{
				opacity: 1;
			}
			.form-area dl.box dd .horizontal-item .check_btn_item:checked + span::after{
				opacity: 1;
			}
			.form-area dl.box dd .horizontal-item .check_btn_item:disabled + span {
				opacity: 0.5;
			}

		
		/* password */
		.form-area dl.box dd.password {
			display: flex;
			border: 1px solid #ddd;
			border-radius: 8px;
			overflow: hidden;
		}
			.form-area dl.box dd.password .password__input {
				flex: 1;
				outline: none;
				appearance: none;
				border: none;
				border-radius: 8px 0 0 8px;
			}

			.form-area dl.box dd.password .password__toggle {
				width: 40px;
				border: none;
				background: url("../img/common/icon_password_off.svg") no-repeat center center;
				background-size: 50% auto;
				cursor: pointer;
			}
			.form-area dl.box dd.password .password__toggle.is-visible {
				background-image: url("../img/common/icon_password_on.svg");
			}

		
		/* select */
		.form-area dl.box dd .selectbox {
			width: 31.3%;
			position: relative;
		}
		.form-area dl.box dd .selectbox:after {
			position: absolute;
			content: '';
			pointer-events: none;
		}
		.form-area dl.box dd .selectbox:after {
			content: '';
			position: absolute;
			top: 50%;
			right: 20px;
			transform: translate(50%, -65%) rotate(45deg);
			width: 8px;
			height: 8px;
			border-bottom: 1px solid #444444;
			border-right: 1px solid #444444;
		}
			.form-area dl.box dd .selectbox select {
				appearance: none;
				-webkit-appearance: none;
				-moz-appearance: none;
				min-width: 100%;
				height: 60px;
				padding: 0 20px;
				background: #fff;
				border: 1px solid #dbdbdb;
				color: #BDBDBD;
				border-radius: 8px;
				font-size: 1.6rem;
				cursor: pointer;
			}

		
		/* radio */
		.form-area dl.box dd .radio {
			display: flex;
			flex-wrap: wrap;
			gap: .3em 2em;
			border: none;
		}
			.form-area dl.box dd .radio label {
				display: flex;
				align-items: center;
				gap: 0 .5em;
				font-size: 1.4rem;
				position: relative;
				cursor: pointer;
			}
			.form-area dl.box dd .radio label::before,
			.form-area dl.box dd .radio label.checked:after {
				border-radius: 50%;
				content: '';
			}
			.form-area dl.box dd .radio label::before {
				width: 16px;
				height: 16px;
				background: #ddd;
				border: solid 1px  #ddd;
			}
			.form-area dl.box dd .radio label.checked:before {
				background: #fff;
			}
			.form-area dl.box dd .radio label.checked:after {
				position: absolute;
				top: 50%;
				left: 9px;
				transform: translate(-50%, -50%);
				width: 10px;
				height: 10px;
			}
				.form-area dl.box dd .radio input {
					display: none;
				}

		
		/* error */
		.error dl.box.error-box dd .input-box {
			border: solid 1px #FB1810;
			background: #F8E8E7;
		}

		.error dl.box.error-box dd .error-txt {
			display: block;
		}

		.error dl.box.error-box  dd.password {
			border: solid 1px #FB1810;
		}
			.error dl.box.error-box dd .password__input {
				border: none;
				background: #F8E8E7;
			}
			.error dl.box.error-box dd .password__toggle {
				width: 40px;
				border: none;
				background: #F8E8E7 url("../img/common/icon_password_off.svg") no-repeat center center;
				background-size: 50% auto;
				cursor: pointer;
			}
			.error dl.box.error-box dd .password__toggle.is-visible {
				width: 40px;
				border: none;
				background: #F8E8E7 url("../img/common/icon_password_on.svg") no-repeat center center;
				background-size: 50% auto;
				cursor: pointer;
			}

		
		/* pw-input */
		.form-area dl.box dd.pw-input {
			width: 400px;
			margin: 0 auto;
		}
			.form-area dl.box dd.pw-input .input-box {
				width: 60px;
				font-size: 2.8rem;
				font-weight: 700;
				text-align: center;
				transition: border-color 0.2s, background-color 0.2s;
			}
			.form-area dl.box dd.pw-input .input-box:focus {
				outline: none;
				border: solid 2px #444444;
				box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
			}
@media screen and (max-width: 1024px) {
	.alert {
		padding: 0.8vw;
		border-radius: 0.8vw;
	}
	.alert.max400 {
		width: 40vw;
	}
		.alert p:before {
			width: 1.2vw;
			height: 1.2vw;
			top: 0.28vw;
			left: -2vw;
		}
	
	
	.form-area dl.box {
		margin-top: 3vw;
	}
		.form-area dl.box dt {
			font-size: 1.4vw;
			margin-bottom: 1vw;
		}
			.form-area dl.box dt span {
				padding-left: 0.3vw;
			}

		
		/* input */
		.form-area dl.box dd .input-box {
			height: 6vw;
			border-radius: 0.8vw;
			padding: 0 2vw;
			font-size: 1.6vw;
		}

		
		/* checkbox */
		.form-area dl.box dd .horizontal-item {
			margin-bottom: 0.7vw;
		}
			.form-area dl.box dd .horizontal-item label {
				padding: 1.5vw 3vw;
				border-radius: 0.8vw;
				font-size: 1.6vw;
			}
			.form-area dl.box dd .horizontal-item .check_btn_item + span {
				padding-left: 2.2vw;
			}
			.form-area dl.box dd .horizontal-item .check_btn_item + span::after,
			.form-area dl.box dd .horizontal-item .check_btn_item + span::before {
				margin-top: -0.5vw;
			}
			.form-area dl.box dd .horizontal-item .check_btn_item + span::before {
				border-radius: 0.2vw;
				height: 1vw;
				width: 1vw;
			}
			.form-area dl.box dd .horizontal-item .check_btn_item + span::after{
				width: 0.3vw;
				height: 0.6vw;
				left: 0.4vw;
				top: 1.5vw;
			}

		
		/* password */
		.form-area dl.box dd.password{
			border-radius: 0.8vw;
		}
			.form-area dl.box dd.password .password__input {
				border-radius: 0.8vw 0 0 0.8vw;
			}
			.form-area dl.box dd.password .password__toggle {
				width: 4vw;
			}

		
		/* select */
		.form-area dl.box dd .selectbox:after {
			right: 2vw;
			width: 0.8vw;
			height: 0.8vw;
		}
			.form-area dl.box dd .selectbox select {
				height: 6vw;
				padding: 0 2vw;
				border-radius: 0.8vw;
				font-size: 1.6vw;
			}

		
		/* radio */
		.form-area dl.box dd .radio {
			gap: .3vw 2vw;
		}
			.form-area dl.box dd .radio label {
				gap: 0 .5vw;
				font-size: 1.4vw;
			}
			.form-area dl.box dd .radio label::before {
				width: 1.6vw;
				height: 1.6vw;
			}
			.form-area dl.box dd .radio label.checked:after {
				left: 0.9vw;
				width: 1vw;
				height: 1vw;
			}

		
		/* error */
		.form-area dl.box.error dd .error-txt {
			margin-top: 1vw;
		}

		
		/* pw-input */
		.form-area dl.box dd.pw-input {
			width: 40vw;
		}
			.form-area dl.box dd.pw-input .input-box {
				width: 6vw;
				font-size: 2.8vw;
			}
}
@media screen and (max-width: 767px) {
	#login-area .contents .row .form-area .alert {
		padding: 2vw;
		border-radius: 1.6vw;
	}
	.alert.max400 {
		width: 100%;
	}
		.alert p:before {
			width: 3vw;
			height: 3vw;
			top: 0.28vw;
			left: -2vw;
		}
		.alert p:before {
			width: 3vw;
			height: 3vw;
			top: 0.6vw;
			left: -5vw;
		}
	
	
	.form-area dl.box {
		margin-top: 7vw;
	}
		.form-area dl.box dt {
			font-size: 3.7vw;
			margin-bottom: 2.5vw;
		}
			.form-area dl.box dt span {
				padding-left: 1vw;
			}

		
		/* input */
		.form-area dl.box dd .input-box {
			height: 14vw;
			border-radius: 1.6vw;
			padding: 0 4vw;
			font-size: 4.2vw;
		}

		
		/* checkbox */
		.form-area dl.box dd .horizontal-item {
			margin-bottom: 1.5vw;
		}
			.form-area dl.box dd .horizontal-item label {
				padding: 3vw 6vw;
				border-radius: 0.8vw;
				font-size: 3.7vw;
			}
			.form-area dl.box dd .horizontal-item .check_btn_item + span {
				padding-left: 6.0vw;
			}
			.form-area dl.box dd .horizontal-item .check_btn_item + span::after,
			.form-area dl.box dd .horizontal-item .check_btn_item + span::before {
				margin-top: -1.5vw;
			}
			.form-area dl.box dd .horizontal-item .check_btn_item + span::before {
				border-radius: 0.4vw;
				height: 3vw;
				width: 3vw;
			}
			.form-area dl.box dd .horizontal-item .check_btn_item + span::after{
				width: 0.6vw;
				height: 1.2vw;
				left: 1.3vw;
				top: 4vw;
			}

		
		/* password */
		.form-area dl.box dd.password {
			border-radius: 1.6vw;
		}
			.form-area dl.box dd.password .password__input {
				border-radius: 1.6vw 0 0 1.6vw;
			}
			.form-area dl.box dd.password .password__toggle {
				width: 10vw;
			}

		
		/* select */
		.form-area dl.box dd .selectbox:after {
			right: 5vw;
			width: 2vw;
			height: 2vw;
		}
			.form-area dl.box dd .selectbox select {
				height: 14vw;
				border-radius: 1.6vw;
				padding: 0 4vw;
				font-size: 4.2vw;
			}

		
		/* radio */
		.form-area dl.box dd .radio {
			gap: 6vw 8vw;
		}
			.form-area dl.box dd .radio label {
				gap: 0 2vw;
				font-size: 3.8vw;
			}
			.form-area dl.box dd .radio label::before {
				width: 4vw;
				height: 4vw;
			}
			.form-area dl.box dd .radio label.checked:after {
				left: 2.5vw;
				width: 2vw;
				height: 2vw;
			}

		
		/* error */
		.form-area dl.box.error dd .error-txt {
			margin-top: 1.5vw;
		}

		
		/* pw-input */
		.form-area dl.box dd.pw-input {
			width: 100%;
		}
			.form-area dl.box dd.pw-input .input-box {
				width: 13vw;
				height: 13vw;
				font-size: 6.4vw;
			}
}




	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ボタン */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* form-btn */
.form-btn {
	width: 260px;
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
}
.form-btn.back {
	margin-top: 20px;
}
.form-btn.long {
	width: 340px;
}
	.form-btn button {
		width: 100%;
		height: 52px;
		border-radius: 26px;
		font-size: 1.6rem;
		font-weight: 700;
		cursor: pointer;
		transition: 0.3s;
		-webkit-transition: 0.3s;
	}
	.form-btn-bg button {
		border: none;
		color: #fff;
	}
	.form-btn-border button {
		background: #fff;
		border: solid 1px;
	}
	.form-btn.withdrawal button {
		border: none;
		background: #FB1810;
		color: #fff;
	}
	.form-btn.off button {
		background: #b5b5b5 !important;
		pointer-events: none;
	}
	.form-btn-border button:hover {
		border: none;
	}
	.form-btn.withdrawal button:hover {
		background: #F8E8E7;
		color: #FB1810;
	}
@media screen and (max-width: 1024px) {
	.form-btn {
		width: 26vw;
		margin-top: 3vw;
	}
	.form-btn.long {
		width: 34vw;
	}
	.form-btn.back {
		margin-top: 2vw;
	}
		.form-btn button {
			height: 5.2vw;
			border-radius: 2.6vw;
			font-size: 1.6vw;
		}
}
@media screen and (max-width: 767px) {
	.form-btn {
		width: 60vw;
		margin-top: 7vw;
	}
	.form-btn.long {
		width: 80vw;
	}
	.form-btn.back {
		margin-top: 4vw;
	}
		.form-btn button {
			height: 12vw;
			border-radius: 6vw;
			font-size: 4.2vw;
		}
}

/* -btn */
.btn {
	width: 260px;
	margin-left: auto;
	margin-right: auto;
}
.btn.back {
	margin-top: 20px;
}
	.btn a {
		width: 100%;
		height: 52px;
		border-radius: 26px;
		font-size: 1.6rem;
		font-weight: 700;
		cursor: pointer;
		transition: 0.3s;
		-webkit-transition: 0.3s;
	}
	.form-btn-bg a {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		border: none;
		color: #fff;
	}
	.form-btn-border a {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		background: #fff;
		border: solid 1px;
	}
	.form-btn-border a:hover {
		border: none;
	}
@media screen and (max-width: 1024px) {
	.btn {
		width: 26vw;
	}
	.btn.back {
		margin-top: 2vw;
	}
		.btn a {
			height: 5.2vw;
			border-radius: 2.6vw;
			font-size: 1.6vw;
		}
}
@media screen and (max-width: 767px) {
	.btn {
		width: 60vw;
	}
	.btn.back {
		margin-top: 4vw;
	}
		.btn a {
			height: 12vw;
			border-radius: 6vw;
			font-size: 4.2vw;
		}
}

/* btn-external  */
a .btn-external {
	width: 100%;
	max-width: 200px;
	margin-left: auto;
	margin-right: auto;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
	a .btn-external span {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		color: #fff;
		width: 100%;
		height: 42px;
		border-radius: 21px;
		font-size: 1.4rem;
		background-image: url("../../assets/img/common/icon_external_white.svg");
		background-repeat: no-repeat;
		background-position: right 20px center;
		background-size: 12px;
		font-weight: 700;
		cursor: pointer;
	}
@media screen and (max-width: 1024px) {
	a .btn-external {
		width: 100%;
		max-width: 66%;
	}
		a .btn-external span {
			height: 4.2vw;
			border-radius: 2.1vw;
			font-size: 1.4vw;
			background-position: right 2vw center;
			background-size: 1.2vw;
		}
}
@media screen and (max-width: 767px) {
	a .btn-external {
		max-width: 66%;
	}
		a .btn-external span {
			height: 12vw;
			border-radius: 6vw;
			font-size: 3.8vw;
			background-position: right 4vw center;
			background-size: 4vw;
		}
}

/* terms-of-use */
.terms-of-use .cont {
	margin-bottom: 60px;
}
	.terms-of-use .cont h2 {
		font-size: 2.4rem;
	}

	.terms-of-use .cont .cell {
		margin-bottom: 30px;
	}
		.terms-of-use .cont .cell h3.txt-16 {
			font-weight: 500 !important;
		}

		.terms-of-use .cont .cell p a {
			text-decoration: underline;
		}
		.terms-of-use .cont .cell p a:hover {
			text-decoration: none;
		}
@media screen and (max-width: 1024px) {
	.terms-of-use .cont {
		margin-bottom: 6vw;
	}
		.terms-of-use .cont h2 {
			font-size: 2.4vw;
		}
	
		.terms-of-use .cont .cell {
			margin-bottom: 3vw;
		}
}
@media screen and (max-width: 767px) {
	.terms-of-use .cont {
		margin-bottom: 9vw;
	}
		.terms-of-use .cont h2 {
			font-size: 5.0vw;
		}
	
		.terms-of-use .cont .cell {
			margin-bottom: 5vw;
		}
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer {
	width: 100%;
	background: #ddd;
	position: absolute;
    bottom: 0;
}
	#footer .info {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 40px;
		position: relative;
	}
	#footer.column1 .info {
		justify-content: flex-end;
	}
		#footer .info a.btn-pagetop {
			display: block;
			width: 48px;
			position: absolute;
			top: -24px;
			right: 40px;
		}
		#footer .info a.btn-pagetop:hover {
			opacity: 0.7;
		}

		#footer .info ul.link-list {
			width: -webkit-calc(100% - 420px);
			width: calc(100% - 420px);
		}
			#footer .info ul.link-list li {
				margin-top: 8px;
				margin-bottom: 8px;
				margin-right: 20px;
			}
			#footer .info ul.link-list li:nth-last-child(1) {
				margin-right: 0;
			}
				#footer .info ul.link-list li a {
					display: block;
					padding-left: 10px;
					background: url("../img/common/icon_arrow_black.svg") no-repeat left center / 5px;
					font-size: 1.2rem;
					line-height: 1;
				}
				#footer .info ul.link-list li a:hover {
					opacity: 0.7;
				}

		#footer .info .logo {
			text-align: right;
		}
			#footer .info .logo .kabusapo {
				text-align: right;
				margin-bottom: 15px;
			}
				#footer .info .logo .kabusapo img {
					width: 90px;
					line-height: 1;
				}

			#footer .info .logo .read {
				font-size: 1.0rem;
				line-height: 1;
			}

	#footer .copyright {
		padding: 15px 0;
		background: #2F2F2F;
		font-size: 1.2rem;
		line-height: 1;
		color: #fff;
		text-align: center;
	}
@media screen and (max-width: 1024px) {
	#footer .info {
		padding: 4vw;
	}
		#footer .info a.btn-pagetop {
			width: 4.8vw;
			top: -2.4vw;
			right: 4vw;
		}
	
		#footer .info ul.link-list {
			width: -webkit-calc(100% - 42vw);
			width: calc(100% - 42vw);
		}
			#footer .info ul.link-list li {
				margin-top: 0.8vw;
				margin-bottom: 0.8vw;
				margin-right: 2vw;
			}
				#footer .info ul.link-list li a {
					padding-left: 1vw;
					background: url("../img/common/icon_arrow_black.svg") no-repeat left center / 0.5vw;
					font-size: 1.2vw;
				}

		#footer .info .logo .kabusapo {
			margin-bottom: 1.5vw;
		}
			#footer .info .logo .kabusapo img {
				width: 9vw;
			}

		#footer .info .logo .read {
			font-size: 1.0vw;
		}

	#footer .copyright {
		padding: 1.5vw 0;
		font-size: 1.2vw;
	}
}
@media screen and (max-width: 767px) {
	#footer .info {
		display: block;
		padding: 6vw 4vw;
	}
		#footer .info a.btn-pagetop {
			width: 10vw;
			top: -5vw;
			right: 4vw;
		}
	
		#footer .info ul.link-list {
			width: 100%;
			margin-bottom: 1vw;
		}
			#footer .info ul.link-list li {
				margin-top: 2vw;
				margin-bottom: 2vw;
				margin-right: 5vw;
			}
				#footer .info ul.link-list li a {
					padding-left: 3vw;
					background: url("../img/common/icon_arrow_black.svg") no-repeat left top 0.5vw / 1.5vw;
					font-size: 3.2vw;
				}

		#footer .info .logo {
			text-align: left;
		}
			#footer .info .logo .kabusapo {
				margin-bottom: 4vw;
				text-align: center;
			}
				#footer .info .logo .kabusapo img {
					width: 30vw;
				}

			#footer .info .logo .read {
				font-size: 2.6vw;
				line-height: 1.8em;
			}

	#footer .copyright {
		padding: 3vw 0;
		font-size: 3.1vw;
	}
}