#login_area {
	width:1000px;
	max-width:100%;
	margin:0 auto 80px auto;
}

#login_area > h2 {
	font-size:1.3em;
	line-height:1.6em;
	padding-bottom:8px;
	margin-bottom:8px;
}

#login_area p {
	line-height:1.8em;
}

#login_box {
	margin:40px auto 80px auto;
	background-color:#EDEDED;
	display:flex;
}

#login_box2 {
	margin:40px auto 80px auto;
	background-color:#EDEDED;
	text-align:center;
	padding:40px;
}

#login_box2 input[type="password"] {
	margin:auto;
	width:300px;
	max-width:100%;
	margin-bottom:4px;
}

#login_box2 p {
	font-size:0.9em;
}

#login_box > div {
	width:50%;
	padding:40px;
}

#login_box p.login_box_title {
	font-size:1.2em;
	line-height:1.6em;
}

#login_box p.login_box_title+p {
	margin-top:16px;
}

#login_box dl {
	margin-top:40px;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}

#login_box dl > dt {
	width:20%;
	padding:3px 0;
	font-size:1.05em;
}
#login_box dl > dd {
	width:80%;
	padding:3px 0;
	font-size:1.05em;
}

#login_password_show {
	padding-top:5px;
	padding-left:12px;
	font-size:1.05em;
}

#login_box a:link, #login_box a:visited {
	margin:40px auto 0 auto;
	width:300px;
	max-width:90%;
	display:block;
	font-size:16px;
	line-height:46px;
	font-size:16px;
	border-radius:23px;
	text-align:center;
	background-color:#003475;
	color:#fff;
}

#login_box a:hover, #login_box a:active {
	background-color:#7598C4;
}

#login_box a#login_click:link, #login_box a#login_click:visited, #login_box a#login_back:link, #login_box a#login_back:visited {
	margin:0;
	width:auto;
	max-width:auto;
	display:inline-block;
	background-color:transparent;
	color:#003475;
	font-size:1em;
	text-align:left;
	line-height:1.6em;
	padding-bottom:2px;
	border-radius:0;
	border-bottom:1px solid #003475;
}

#login_box a#login_click:hover, #login_box a#login_click:active, #login_box a#login_back:hover, #login_box a#login_back:active {
	color:#7598C4;
	border-bottom:1px solid #7598C4;
}

#login_back_wrap {
	text-align:center;
	padding-top:8px;
}

#login_click_area {
	display:none;
	padding-top:24px;
}

.login_padding {
	margin-top:50px;
	padding-top:50px;
	border-top:1px dashed #999;
}

.login_padding2 {
	margin-top:50px;
}

.login_padding3 {
	margin-top:10px;
}

#login_box p.login_box_pass {
	position:relative;
	padding-left:1.3em;
	padding-bottom:8px;
	font-weight:bold;
	font-size:1.1em;
}

#login_box p.login_box_pass:before {
	content: '●';
	position:absolute;
	left:0;
	top:0;
}

.login_new_panel dl {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	padding-left:20px;
}

.login_new_panel dl > dt {
	width:30%;
	padding:3px 0;
	font-size:1.1em;
}
.login_new_panel dl > dd {
	width:70%;
	padding:3px 0;
	font-size:1.1em;
}

.login_new_panel dl > dt.login_valign_top {
	align-self:start;
	padding-top:8px;
}

#login_area > p a:link, #login_area > p a:visited {
	font-weight:bold;
	text-decoration:underline;
}

#login_new_link {
	margin:60px auto 80px auto;
	width:800px;
	max-width:100%;
	display:flex;
}

#login_new_link > div {
	padding:0 20px;
	width:calc( 100% / 3 );
}

#login_new_link a {
	text-align:center;
	width:100%;
	line-height:46px;
	border:1px solid #707070;
}

#login_new_link > div:nth-of-type(1) a:link, #login_new_link > div:nth-of-type(1) a:visited {
	background-color:#fff;
	color:#707070;
}
#login_new_link > div:nth-of-type(2) a:link, #login_new_link > div:nth-of-type(2) a:visited {
	background-color:#CECECE;
}
#login_new_link > div:nth-of-type(3) a:link, #login_new_link > div:nth-of-type(3) a:visited {
	background-color:#767676;
	color:#fff;
}

#login_new_link > div:nth-of-type(1) a:hover, #login_new_link > div:nth-of-type(1) a:active,
#login_new_link > div:nth-of-type(2) a:hover, #login_new_link > div:nth-of-type(2) a:active,
#login_new_link > div:nth-of-type(3) a:hover, #login_new_link > div:nth-of-type(3) a:active {
	color:#7598C4;
}

#login_inquiry_button {
	margin:50px auto 0 auto;
	width:280px;
	max-width:100%;
}

#login_inquiry_button a {
	line-height:46px;
	width:100%;
	font-size:16px;
	border-radius:23px;
	text-align:center;
}

#login_inquiry_button a#login_next:link, #login_inquiry_button a#login_next:visited,
a#check_button:link, a#check_button:visited {
	background-color:#003475;
	color:#fff;
}

#login_inquiry_button a#login_next:hover, #login_inquiry_button a#login_next:active,
a#check_button:hover, a#check_button:active {
	background-color:#7598C4;
}

#login_cart_flow {
	margin:0 auto 40px auto;
	display:flex;
	width:700px;
	max-width:100%;
}

#login_cart_flow > div {
	width: calc( 100% / 5 );
	text-align:center;
	position:relative;
	padding:20px;
}

#login_cart_flow p {
	display:inline-block;
	border:3px solid #003475;
	border-radius:50%;
	background-color:#fff;
	height: 35px;
	width:35px;
	margin-bottom:8px;
	position:relative;
	z-index:10;
}

#login_cart_flow div.login_cart_next p {
	border-color:#ccc;
}

#login_cart_flow a:link p, #login_cart_flow a:visited p {
	background-color:#003475;
	transition: all .3s  ease-out;
}

#login_cart_flow div.login_cart_end p {
	background-color:#003475;
}

#login_cart_flow a:hover p, #login_cart_flow a:active p {
	background-color:#7598C4;
	border-color:#7598C4;
}

#login_cart_flow > div:before {
	position:absolute;
	content: ' ';
	left:0;
	top:37px;
	width:100%;
	border-top:3px solid #003475;
}
#login_cart_flow > div.login_cart_now:before, #login_cart_flow > div.login_cart_now_top:before {
	border-top:3px solid #ccc;
	left:50%;
	width:50%;
}

#login_cart_flow > div.login_cart_now:after {
	position:absolute;
	content: ' ';
	border-top:3px solid #003475;
	left:0;
	top:37px;
	width:50%;
	z-index:1;
}

#login_cart_flow > div.login_cart_next:before {
	border-top:3px solid #ccc;
}

#login_cart_flow > div:first-of-type:before {
	left:50%;
	width:50%;
}

#login_cart_flow > div:last-of-type:before {
	left:0;
	width:50%;
}

#login_cart_send > div {
	border:1px solid #666;
	padding:30px;
	display:flex;
	align-items: center;
}

#login_cart_send > div:nth-of-type( n+2 ) {
	border-top:0 none #fff;
}

#login_cart_send > div > p:first-of-type {
	font-size:18px;
	line-height:1.7em;
	font-weight:bold;
	width:40%;
}

#login_cart_send > div > p:last-of-type {
	width:60%;
}

#login_cart_send > div.gray:first-of-type {
	background-color:#f7f7f7;
	border-top:1px solid #003475;
	border-bottom:1px solid #003475;
	border-left:1px solid #003475;
	border-right:1px solid #003475;
}

#login_cart_send > div.gray:not(:first-of-type) {
	background-color:#f7f7f7;
	border-bottom:1px solid #003475;
	border-left:1px solid #003475;
	border-right:1px solid #003475;
}

#login_cart_send > div:has(+ div.gray) {
	border-bottom:1px solid #003475;
}

#login_cart_button_area, #login_cart_button_area2 {
	margin:100px auto 0 auto;
	display:flex;
	width:800px;
	max-width:100%;
}

#login_cart_button_area > div, #login_cart_button_area2 > div {
	width:50%;
	padding:0 20px;
}

#login_cart_button_area > div a:link, #login_cart_button_area > div a:visited,
#login_cart_button_area2 > div a:link, #login_cart_button_area2 > div a:visited {
	border:1px solid #003475;
	color:#003475;
	text-align:center;
	width:100%;
	line-height:52px;
	font-size:17px;
	border-radius:28px;
}

#login_cart_button_area > div:last-of-type a:link, #login_cart_button_area > div:last-of-type a:visited,
#login_cart_button_area2 > div:last-of-type a:link, #login_cart_button_area2 > div:last-of-type a:visited {
	background-color:#003475;
	border:2px solid #003475;
	color:#fff;
}

#login_cart_button_area > div a:hover, #login_cart_button_area > div a:active,
#login_cart_button_area2 > div a:hover, #login_cart_button_area2 > div a:active {
	border-color:#7598C4;
	color:#7598C4;
}

#login_cart_button_area > div:last-of-type a:hover, #login_cart_button_area > div:last-of-type a:active,
#login_cart_button_area2 > div:last-of-type a:hover, #login_cart_button_area2 > div:last-of-type a:active {
	color:#fff;
	border-color:#7598C4;
	background-color:#7598C4;
}


#login_cart_confirm > dl {
	margin:20px auto 80px auto;
	display:flex;
	flex-wrap:wrap;
	align-items: top;
	border-top:1px solid #777;
}

#login_cart_confirm > dl > dt {
	width:200px;
	font-weight:bold;
	font-size:16px;
	line-height:1.6em;
	padding:10px;
	border-bottom:1px solid #777;
}

#login_cart_confirm > dl > dd {
	width:calc( 100% - 200px );
	padding:10px;
	border-bottom:1px solid #777;
	line-height:1.7em;
}

#login_cart_confirm > dl > dd.login_cart_confirm_s {
	width:calc( ( 100% - 200px * 2 ) / 2 );
}

#login_cart_confirm dt.login_cart_item:nth-of-type(1) {
	border-top:1px solid #777;
}

#login_cart_confirm dt.login_cart_item {
	border-top:0 none #fff;
	border-bottom:0 none #fff;
	width:10%;
}

#login_cart_confirm dt.login_cart_item+dd {
	width:90%;
}

#login_cart_confirm dt#login_cart_shokei {
	width: calc( 100% - 200px );
	text-align:right;
}

#login_cart_confirm dt#login_cart_shokei+dd {
	width:200px;
	padding-right:30px;
	text-align:right;
	font-weight:bold;
}

#login_cart_confirm dt#login_cart_shokei+dd:after {
	content: ' 円';
	font-weight:normal;
}

p.login_cart_item1, p.login_cart_item2 {
	font-size:14px;
}

div.login_cart_item3 {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	padding-top:4px;
	margin-left:70px;
	font-size:14px;
}

div.login_cart_item3 > div {
	width:200px;
	display:flex;
}

div.login_cart_item3 > div > div:nth-of-type(1) {
	width:120px;
	text-align:right;
}

div.login_cart_item3 > div > div:nth-of-type(2) {
	width:calc( 100% - 120px );
	text-align:right;
}

div.login_cart_item3 > div > div:nth-of-type(2) > p {
	font-weight:bold;
}

#login_cart_confirm dt.login_cart_price_title {
	position:relative;
}

#login_cart_confirm dt.login_cart_price_title p {
	position:absolute;
	top: 50%;
	transform: translate(0, -50%);
}

#login_cart_confirm dt.login_cart_price_title+dd {
	padding-bottom:0;
}

.login_cart_sum {
	width:330px;
	float:right;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
}

.login_cart_sum dt {
	border-bottom:1px solid #777;
	padding:3px 20px;
	width:180px;
}

.login_cart_sum dd {
	border-bottom:1px solid #777;
	padding:3px 20px 3px 0;
	width: calc( 100% - 180px );
	text-align:right;
}

.login_cart_sum dt:last-of-type {
	border-bottom:0 none #fff;
}

.login_cart_sum dd:last-of-type {
	border-bottom:0 none #fff;
	font-size:20px;
	font-weight:bold;
	line-height:1.6em;
}

.login_cart_sum dd:after {
	content: ' 円';
	font-weight:normal;
	font-size:15px;
}

h2#login_thanks_title {
	margin:auto;
	width:820px;
	max-width:100%;
}

#login_thanks {
	margin:auto;
	width:820px;
	max-width:100%;
	box-shadow:2px 2px 5px #ccc;
	background-color:#F7F7F7;
}

#login_thanks > p:first-of-type {
	padding:10px;
	text-align:center;
	font-size:24px;
	font-weight:bold;
	background-color:#D4E2F4;
}

#login_thanks > dl {
	border:1px solid #777;
	margin:40px auto 20px auto;
	width:55%;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	font-size:20px;
}

#login_thanks > dl dt {
	padding:16px 20px;
	width:40%;
	text-align:right;
}

#login_thanks > dl dd {
	padding:16px 20px;
	width:60%;
}

#login_thanks > dl dt:nth-of-type( n+2 ), #login_thanks > dl dd:nth-of-type( n+2 ) {
	border-top:1px solid #777;
}

#login_thanks > p:nth-of-type(2) {
	padding:20px 40px;
}

#login_pass_area {
	display:flex;
	width:400px;
	max-width:100%;
	margin:auto;
}

#login_pass_area > div {
	width:50%;
	padding:8px;
	text-align:center;
}

a#login_pass_btn:link, a#login_pass_btn:visited,
a#login_pass_btn2:link, a#login_pass_btn2:visited {
	background-color:#003475;
	border:1px solid #003475;
	color:#fff;
	margin:20px auto;
	display:block;
	width:170px;
	max-width:100%;
	padding:10px;
	border-radius:23px;
	text-align:center;
}

a#login_pass_btn:hover, a#login_pass_btn:active,
a#login_pass_btn2:hover, a#login_pass_btn2:active {
	color:#fff;
	border-color:#7598C4;
	background-color:#7598C4;
}

a#login_close_btn:link, a#login_close_btn:visited {
	border:1px solid #003475;
	margin:20px auto;
	color:#003475;
	width:170px;
	max-width:100%;
	border-radius:23px;
	padding:10px;
}

a#login_close_btn:hover, a#login_close_btn:active {
	color:#7598C4;
	border-color:#7598C4;
	background-color:#fff;
}

#login_second {
	display:none;
	padding-top:20px;
}

#login_second > p:first-of-type {
	font-weight:bold;
}

#login_complete_box {
	border:1px solid #777;
	margin:40px auto 20px auto;
	width:70%;
	font-size:20px;
}

#login_complete_box th {
	width:40%;
	font-weight:bold;
	text-align:center;
	padding:8px;
}

#login_complete_box td {
	text-align:left;
	padding:8px;
}

@media screen and (max-width:640px) {

	#login_box {
		display:block;
		margin:40px auto 40px auto;
	}
	#login_box > div {
		width:100%;
		padding:40px 20px;
	}
	.login_padding {
		border-top:0 none #eee;
		margin-top:0;
	}
	#login_box a#login_click:link, #login_box a#login_click:visited {
		text-align:center;
	}
	#login_box dl {
		display:block;
	}
	#login_box dl > dt {
		width:100%;
		font-size:1em;
	}
	#login_box dl > dd {
		width:100%;
		padding:3px 0;
		font-size:1em;
	}
	#login_box dl > dt:nth-of-type( n+2 ), .login_new_panel dl > dt:nth-of-type( n+2 ) {
		margin-top:10px;
	}
	.login_new_panel dl {
		display:block;
		padding-left:0;
	}
	
	.login_new_panel dl > dt {
		width:100%;
		padding:3px 0;
		font-size:1em;
	}
	.login_new_panel dl > dd {
		width:100%;
		padding:3px 0;
		font-size:1em;
	}
	#login_new_link {
		display:block;
	}
	
	#login_new_link > div {
		padding:0 20px 12px 20px;
		width:100%;
	}
	#login_cart_flow > div {
		font-size:12px;
		padding:20px 5px 0 5px;
	}
	#login_area > h2 {
		font-size:1.2em;
		line-height:1.6em;
	}
	#login_cart_send > div {
		display:block;
		padding:16px;
	}
	#login_cart_send > div > p:first-of-type {
		width:100%;
		font-size:15px;
		padding-bottom:8px;
	}
	#login_cart_send > div > p:last-of-type {
		width:100%;
		font-size:14px;
		line-height:1.6em;
	}
	#login_cart_button_area {
		margin-top:50px;
	}

	#login_cart_confirm > dl > dt {
		width:100%;
		font-size:14px;
		line-height:1.6em;
		padding:5px;
		border-bottom:1px dotted #ccc;
	}
	#login_cart_confirm > dl > dd {
		width:100%;
		padding:5px;
		border-bottom:1px solid #777;
		font-size:14px;
		line-height:1.6em;
	}
	#login_cart_confirm > dl > dd.login_cart_confirm_s {
		width:100%
	}

	div.login_cart_item3 {
		margin-left:80px;
		padding-top:3px;
		width:calc( 100% - 80px );
		font-size:13px;
	}
	div.login_cart_item3 > div {
		width:220px;
	}
	#login_cart_confirm dt#login_cart_shokei {
		width: 100%;
		text-align:left;
		border-top:1px solid #000;
		margin-top:-1px;
		padding-top:5px;
	}
	#login_cart_confirm dt#login_cart_shokei+dd {
		width:100%;
		padding-right:30px;
		text-align:right;
		font-weight:bold;
	}
	
	#login_cart_confirm dt#login_cart_shokei+dd:after {
		content: ' 円';
		font-weight:normal;
	}
	#login_cart_confirm dt.login_cart_price_title p {
		position:relative;
		top: 0;
		transform: none;
	}
	
	#login_thanks > p:first-of-type {
		font-size:18px;
	}
	#login_thanks > dl {
		font-size:16px;
		width:80%;
	}
	
	#login_thanks > dl dt {
		padding:16px 16px;
	}
	
	#login_thanks > dl dd {
		padding:16px 16px;
	}
	#login_thanks > p:nth-of-type(2) {
		font-size:14px;
	}

}