@charset "shift_jis";
body {
	color: #333;
	font-family: 'Heebo', 'Noto Sans CJK JP', "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
input,
select,
textarea {
	font-family: 'Heebo', 'Noto Sans CJK JP', "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media screen and (min-width: 751px){
	/*header 
		--------------------------------*/
	#header #headerContents #headerLogo a img {
		height: 50px;
	}
	/*heading 
		--------------------------------*/
	.login-heading01 {
		position: relative;
		padding-top: 3px;
		padding-left: 20px;
		font-size: 3rem;
		font-weight: bold;
		line-height: 1.1;
	}
	.login-heading01::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 10px;
		height: 100%;
		border-radius: 3px;
		background-color: #dc322c;
	}
	.login-heading02 {
		margin-top: 70px;
		font-size: 2.6rem;
		font-weight: bold;
		border-bottom: 1px solid #b4b4b4;
	}
	/*text
	--------------------------------*/
	.login-text {
		margin-top: 15px;
		font-size: 2rem;
	}
	.login-text02 {
		margin-top: 20px;
		font-size: 2rem;
	}
	.login-titleText {
		position: relative;
		margin-top: 30px;
		padding-left: 23px;
		font-size: 2rem;
		font-weight: bold;
	}
	.login-titleText + .login-text02 {
		margin-top: 0;
	}
	.login-titleText::before {
		content: '';
		position: absolute;
		top: 7px;
		left: 0;
		width: 13px;
		height: 13px;
		border-radius: 50%;
		background-color: #3489a4;
	}
	.login-linkText {
		margin-top: 5px;
		font-size: 2rem;
		font-weight: bold;
	}
	.login-linkText > a {
		position: relative;
		padding-right: 17px;
		color: #3489a4;
		text-decoration: none;
	}
	.login-linkText > a:hover {
		text-decoration: underline;
	}
	.login-linkText > a::before {
		content: '';
		position: absolute;
		bottom: 8px;
		right: 0;
		width: 9px;
		height: 13px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic07.png") no-repeat 0 0 / contain;
	}
	.login-noteText {
		position: relative;
		margin-top: 20px;
		padding-left: 18px;
		font-size: 1.8rem;
	}
	.login-noteText > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	/*image
	--------------------------------*/
	.login-image {
		margin-top: 25px;
	}
	/*column
	--------------------------------*/
	.login-column {
		display: flex;
		flex-flow: wrap;
		margin-top: 100px;
		margin-bottom: 40px;
	}
	.login-column .login-columnItem {
		width: calc(50% - 15px);
	}
	.login-column .login-columnItem:nth-child(2n) {
		margin-left: 30px;
	}
	.login-column .login-columnItem >:first-child {
		margin-top: 0 !important;
	}
	/*box 
		--------------------------------*/
	.login-boxWrap {
		width: 100%;
		margin-top: 15px;
	}
	.login-boxWrap .login-boxTitleWrap {
		display: flex;
		align-items: center;
		position: relative;
		width: fit-content;
		margin-left: 6px;
		margin-bottom: -20px;
		padding: 0 5px;
		background-color: #fff;
	}
	.login-boxWrap .login-boxTitleWrap .login-boxTitle {
		font-size: 2rem;
		font-weight: bold;
	}
	.login-boxWrap .login-boxTitleWrap .login-boxTitleImage {
		margin-right: 10px;
	}
	.login-box {
		padding: 30px 45px 20px;
		border: 3px solid #e2e2e2;
	}
	.login-box.type02 {
		padding: 41px 45px 32px;
		border: 3px solid #e2e2e2;
	}
	.login-box >:first-child {
		margin-top: 0!important;
	}
	/*list 
		--------------------------------*/
	.login-linkList {
		margin-top: 20px;
	}
	.login-linkList > li + li {
		margin-top: 30px;
	}
	.login-linkList > li > a {
		position: relative;
		padding-right: 17px;
		font-size: 2rem;
		color: #3489a4;
		font-weight: bold;
		text-decoration: none;
	}
	.login-linkList > li > a:hover {
		text-decoration: underline;
	}
	.login-linkList > li > a::before {
		content: '';
		position: absolute;
		bottom: 8px;
		right: 0;
		width: 9px;
		height: 13px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic07.png") no-repeat 0 0 / contain;
	}
	/*button 
		--------------------------------*/
	.login-button {
		margin-top: 15px;
	}
	.login-button a {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 100%;
		min-height: 60px;
		padding: 5px 30px;
		border-radius: 10px;
		border: 2px solid #d0372c;
		background-color: #fff;
		font-size: 2rem;
		color: #d0372c;
		font-weight: bold;
		text-decoration: none;
		transition: 0.3s all ease-out;
	}
	.login-button a:hover {
		opacity: 0.7;
	}
	.login-button a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 10px;
		width: 25px;
		height: 25px;
		margin-top: -13px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic10.png") no-repeat 0 0 / contain;
	}
	.login-box >.login-button:first-child + .login-button {
		margin-top: 0 !important;
	}
	/*generate 
		--------------------------------*/
	.login-generateArea {
		margin-top: 15px;
	}
	.login-generateArea >:first-child {
		margin-top: 0 !important;
	}
	.login-generateArea .login-notice {
		font-size: 1.6rem;
	}
	.login-generateArea .login-notice a {
		display: block;
		position: relative;
		padding: 7px 40px 7px 0;
		border-bottom: 1px solid #dadada;
		color: #333;
		text-decoration: none;
		transition: 0.2s all ease-out;
	}
	.login-generateArea .login-notice a:hover {
		opacity: 0.7;
	}
	.login-generateArea .login-notice a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 3px;
		width: 9px;
		height: 13px;
		margin-top: -6.5px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic08.png") no-repeat 0 0 / contain;
	}
	.login-generateArea .login-noticeMore {
		display: none;
	}
	.login-generateArea .login-moreButton {
		margin-top: 35px;
		text-align: center;
	}
	.login-generateArea .login-moreButton a {
		position: relative;
		padding-right: 25px;
		font-size: 1.6rem;
		color: #333;
	}
	.login-generateArea .login-moreButton a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 0;
		width: 20px;
		height: 20px;
		margin-top: -10px;
		background-color: #333;
		border-radius: 50%;
	}
	.login-generateArea .login-moreButton a span::before,
	.login-generateArea .login-moreButton a span::after {
		content: '';
		position: absolute;
		top: 50%;
		right: 5px;
		width: 10px;
		height: 2px;
		margin-top: -1px;
		background-color: #fff;
		border-radius: 1px;
	}
	.login-generateArea .login-moreButton a span::after {
		transform: rotate(-90deg);
	}
	.login-generateArea .login-moreButton a.is-open span::after {
		transform: rotate(0);
	}
	/*form 
		--------------------------------*/
	.login-form {
		width: 460px;
		margin: 25px auto 0;
	}
	.login-form >:first-child {
		margin-top: 0!important;
	}
	/*input 
		--------------------------------*/
	.login-inputBox {
		margin-top: 25px;
	}
	.login-inputBox >:first-child {
		margin-top: 0 !important;
	}
	.login-inputText {
		display: block;
		width: fit-content;
		margin-top: 25px;
		font-size: 2rem;
		font-weight: bold;
	}
	.login-inputImage {
		margin-top: 25px;
	}
	.login-inputImage + .login-inputText {
		margin-top: 15px;
	}
	.login-inputWrap {
		position: relative;
		margin-top: 5px;
	}
	.login-inputWrap >:first-child {
		margin-top: 0 !important;
	}
	.login-input {
		width: 100%;
		height: 50px;
		margin-top: 5px;
		padding: 5px 10px;
		border: solid 2px #d0d0d0;
		border-radius: 10px;
		font-size: 1.9rem;
	}
	.login-inputButton {
		margin-top: 40px;
		padding: 0 20px;
	}
	.login-inputButton > input {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		min-height: 80px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic11.png") #d0372c no-repeat 95% 50% / 33px;
		border-radius: 10px;
		border: none;
		text-align: center;
		font-size: 2.6rem;
		color: #fff;
		font-weight: bold;
		text-decoration: none;
		transition: 0.3s all ease-out;
		cursor: pointer;
		font-family: 'Heebo', 'Noto Sans CJK JP', "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		-webkit-appearance:none;
	}
	.login-inputButton > input:hover {
		opacity: 0.7;
	}
	.js-pwVisibleWrap{
		position: relative;
	}
	.js-pwVisibleWrap .js-pwVisibleBtn{
		position: absolute;
		top: 50%;
		right: 12px;
		width: 33px;
		height: 29px;
		margin-top: -14.5px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic02.png") no-repeat 0 0 / contain;
		text-indent: -9999px;
	}
	.js-pwVisibleWrap .js-pwVisibleBtn.is-visible{
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic03.png") no-repeat 0 0 / contain;
	}
	.js-pwVisibleWrap > input.js-pwVisible{
		padding-right: 50px;
	}
	/*yellow-formError 
		--------------------------------*/
	.yellow-formError {
		clear: both;
		margin: 20px 0 15px;
		padding: 15px;
		border: 2px solid #dc322c;
		background-color: #fff;
	}
	.yellow-formError > *:first-child {
		margin-top: 0 !important;
	}
	.yellow-formError > .errorList {
		margin: 1em 0 0 0;
	}
	.yellow-formError > .errorList > li {
		padding: 0 0 0 30px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic01.png") no-repeat 0 0;
		background-size: 24px auto;
		color: #dc322c;
		font-size: 16px;
		font-size: 1.6rem;
		font-weight: bold;
	}
	.yellow-formError > .errorList > li + li {
		margin-top: 0.5em;
	}
	/*appFloatingBnr
	--------------------------------*/
	#appFloatingBnr{
		display: none;
	}
}

@media screen and (max-width: 750px){
	/*heading 
		--------------------------------*/
	.login-heading01 {
		position: relative;
		padding-top: 2px;
		font-size: 2rem;
		padding-left: 20px;
		font-weight: bold;
	}
	.login-heading01::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 10px;
		height: 100%;
		border-radius: 3px;
		background-color: #dc322c;
	}
	.login-heading02 {
		margin-top: 30px;
		padding-bottom: 5px;
		font-size: 1.8rem;
		font-weight: bold;
		border-bottom: 1px solid #b4b4b4;
	}
	/*text
	--------------------------------*/
	.login-text {
		margin-top: 15px;
		font-size: 1.6rem;
	}
	.login-text02 {
		margin-top: 20px;
		font-size: 1.6rem;
	}
	.login-titleText {
		position: relative;
		margin-top: 25px;
		padding-left: 23px;
		font-size: 1.6rem;
		font-weight: bold;
	}
	.login-titleText + .login-text02 {
		margin-top: 0;
	}
	.login-titleText::before {
		content: '';
		position: absolute;
		top: 5px;
		left: 0;
		width: 11px;
		height: 11px;
		border-radius: 50%;
		background-color: #3489a4;
	}
	.login-linkText {
		margin-top: 5px;
		font-size: 1.6rem;
		font-weight: bold;
	}
	.login-linkText > a {
		position: relative;
		padding-right: 12px;
		color: #3489a4;
		text-decoration: none;
	}
	.login-linkText > a::before {
		content: '';
		position: absolute;
		bottom: 5px;
		right: 0;
		width: 6px;
		height: 10px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic07.png") no-repeat 0 0 / contain;
	}
	.login-noteText {
		position: relative;
		margin-top: 20px;
		padding-left: 16px;
		font-size: 1.6rem;
	}
	.login-noteText > .mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	/*image
	--------------------------------*/
	.login-image {
		margin-top: 20px;
	}
	.login-image img {
		margin: 0 auto;
	}
	/*column
	--------------------------------*/
	.login-column {
		margin-top: 50px;
	}
	.login-column >:first-child {
		margin-top: 0 !important;
	}
	.login-column .login-columnItem {
		margin-top: 30px;
	}
	.login-column .login-columnItem >:first-child {
		margin-top: 0 !important;
	}
	/*box 
		--------------------------------*/
	.login-boxWrap {
		width: 100%;
		margin-top: 15px;
	}
	.login-boxWrap .login-boxTitleWrap {
		display: flex;
		align-items: center;
		position: relative;
		width: fit-content;
		margin-left: 5px;
		margin-bottom: -19px;
		padding: 0 4px;
		background-color: #fff;
	}
	.login-boxWrap .login-boxTitleWrap .login-boxTitle {
		font-size: 1.9rem;
		font-weight: bold;
	}
	.login-boxWrap .login-boxTitleWrap .login-boxTitleImage {
		margin-right: 5px;
	}
	.login-box {
		padding: 27px 30px 20px;
		border: 2px solid #e2e2e2;
	}
	.login-box >:first-child {
		margin-top: 0!important;
	}
	/*list 
		--------------------------------*/
	.login-linkList {
		margin-top: 15px;
	}
	.login-linkList > li + li {
		margin-top: 15px;
	}
	.login-linkList > li > a {
		position: relative;
		padding-right: 12px;
		font-size: 1.6rem;
		color: #3489a4;
		font-weight: bold;
		text-decoration: none;
	}
	.login-linkList > li > a::before {
		content: '';
		position: absolute;
		bottom: 7px;
		right: 0;
		width: 6px;
		height: 10px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic07.png") no-repeat 0 0 / contain;
	}
	/*button 
		--------------------------------*/
	.login-button {
		margin-top: 15px;
	}
	.login-button a {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 100%;
		min-height: 50px;
		padding: 5px 30px;
		border-radius: 5px;
		border: 1px solid #d0372c;
		background-color: #fff;
		font-size: 1.6rem;
		color: #d0372c;
		font-weight: bold;
		text-decoration: none;
		transition: 0.3s all ease-out;
	}
	.login-button a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 10px;
		width: 18px;
		height: 18px;
		margin-top: -9px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic10.png") no-repeat 0 0 / contain;
	}
	.login-box >.login-button:first-child + .login-button {
		margin-top: 0 !important;
	}
	/*generate 
		--------------------------------*/
	.login-generateArea {
		margin-top: 0;
	}
	.login-generateArea >:first-child {
		margin-top: 0 !important;
	}
	.login-generateArea .login-notice {
		font-size: 1.3rem;
	}
	.login-generateArea .login-notice a {
		display: block;
		position: relative;
		padding: 7px 20px 7px 0;
		border-bottom: 1px solid #dadada;
		color: #333;
		text-decoration: none;
	}
	.login-generateArea .login-notice a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 3px;
		width: 8px;
		height: 11px;
		margin-top: -5.5px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic08.png") no-repeat 0 0 / contain;
	}
	.login-generateArea .login-noticeMore {
		display: none;
	}
	.login-generateArea .login-moreButton {
		margin-top: 15px;
		text-align: center;
	}
	.login-generateArea .login-moreButton a {
		position: relative;
		padding-right: 20px;
		font-size: 1.6rem;
		color: #333;
	}
	.login-generateArea .login-moreButton a::before {
		content: '';
		position: absolute;
		top: 50%;
		right: 0;
		width: 16px;
		height: 16px;
		margin-top: -8px;
		background-color: #333;
		border-radius: 50%;
	}
	.login-generateArea .login-moreButton a span::before,
	.login-generateArea .login-moreButton a span::after {
		content: '';
		position: absolute;
		top: 50%;
		right: 4px;
		width: 8px;
		height: 2px;
		margin-top: -1px;
		background-color: #fff;
		border-radius: 1px;
	}
	.login-generateArea .login-moreButton a span::after {
		transform: rotate(-90deg);
	}
	.login-generateArea .login-moreButton a.is-open span::after {
		transform: rotate(0);
	}
	/*form 
		--------------------------------*/
	.login-form {
		margin-top: 20px;
	}
	.login-form >:first-child {
		margin-top: 0!important;
	}
	/*input 
		--------------------------------*/
	.login-inputBox {
		margin-top: 20px;
	}
	.login-inputBox >:first-child {
		margin-top: 0 !important;
	}
	.login-inputText {
		display: block;
		width: fit-content;
		margin-top: 20px;
		font-size: 1.9rem;
		font-weight: bold;
	}
	.login-inputImage {
		margin-top: 20px;
	}
	.login-inputImage + .login-inputText {
		margin-top: 10px;
	}
	.login-inputWrap {
		position: relative;
		margin-top: 5px;
	}
	.login-inputWrap >:first-child {
		margin-top: 0 !important;
	}
	.login-input {
		width: 100%;
		height: 50px;
		margin-top: 5px;
		padding: 5px 10px;
		border: solid 2px #d0d0d0;
		border-radius: 5px;
		font-size: 1.8rem;
	}
	.login-inputButton {
		margin-top: 20px;
		padding: 0 15px;
	}
	.login-inputButton > input {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		min-height: 60px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic11.png") #d0372c no-repeat 95% 50% / 25px;
		border-radius: 5px;
		border: none;
		text-align: center;
		font-size: 2.1rem;
		color: #fff;
		font-weight: bold;
		text-decoration: none;
		font-family: 'Heebo', 'Noto Sans CJK JP', "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		-webkit-appearance:none;
	}
	.js-pwVisibleWrap{
		position: relative;
	}
	.js-pwVisibleWrap .js-pwVisibleBtn{
		position: absolute;
		top: 50%;
		right: 7px;
		width: 27px;
		height: 21px;
		margin-top: -10.5px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic02.png") no-repeat 0 0 / contain;
		text-indent: -9999px;
	}
	.js-pwVisibleWrap .js-pwVisibleBtn.is-visible{
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic03.png") no-repeat 0 0 / contain;
	}
	.js-pwVisibleWrap > input.js-pwVisible{
		padding-right: 40px;
	}
	/*yellow-formError
	--------------------------------*/
	.yellow-formError {
		clear: both;
		margin: 20px 0 15px;
		padding: 15px;
		border: 2px solid #dc322c;
		background-color: #fff;
	}
	.yellow-formError > *:first-child {
		margin-top: 0 !important;
	}
	.yellow-formError > .errorList {
		margin: 1em 0 0 0;
	}
	.yellow-formError > .errorList > li {
		padding: 0 0 0 30px;
		background: url("/memberservice/pc/rsp/v1/login/img/rnw/form_ic01.png") no-repeat 0 0;
		background-size: 24px auto;
		color: #dc322c;
		font-size: 16px;
		font-size: 1.6rem;
		font-weight: bold;
	}
	.yellow-formError > .errorList > li + li {
		margin-top: 0.5em;
	}
	/*appFloatingBnr
	--------------------------------*/
	#appFloatingBnr{
		display: block;
		position:absolute;
		top:-200px;
		right:10px;
		transition:all .5s ease;
		z-index:10000;
	}
	#appFloatingBnr.show{
		top:6px
	}
	#appFloatingBnr .icon{
		position:relative
	}
	#appFloatingBnr .icon .logo{
		position:relative;
		width:54px;
		height:54px;
		z-index:2
	}
	#appFloatingBnr .icon .close{
		display:none;
		position:absolute;
		width:20px;
		height:20px;
		top:-5px;
		right:-7px;
		z-index:2
	}
	#appFloatingBnr .icon .details{
		display:none;
		position:absolute;
		top:0;
		left:-67px;
		height:55px;
		width:auto;
		z-index:1;
		opacity:0
	}
	#appFloatingBnr .icon .details img{
		width:auto;
		height:55px
	}
}
