@charset "UTF-8";
/* CSS Document */

/*=======================================================================
	COMMON BASE
========================================================================*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500&display=swap');
/*Light 300,Medium 500*/

html,body{
    height: 100%; 
	margin: 0;
	padding: 0; 
}

body {
font-family: 'Noto Sans JP', sans-serif;
-webkit-text-size-adjust: 100%;
line-height: 1;
width: 100%;
min-width: 1000px;
background-color: #fff;
height: 100%;
margin: 0;
background-image: url(../images/bg.png);
color: #3C3C3C;
}


/*=======================================================================
	header
========================================================================*/
/*スクロール固定*/
#fixed_header {
width: 100%;
height: 50px;
position: fixed;
top: 0px;
z-index: 9999;
min-width: 1000px;
}

header {
width: 100%;
height: 50px;
background-color: #417ccd;
float: left;
-webkit-box-shadow: 0px 5px 5px 10px #FAF9F5;
box-shadow: 0px 5px 5px 10px #FAF9F5;
}

header .header_inner {
width: 1000px;
height: 50px;
min-width: 1000px;
margin-left: auto;
margin-right: auto;
position: relative;
}

header .header_inner .header_logo {
position: absolute;
width: 215px;
top: 6px;
left: 0px;
}

header .header_inner .header_logo img {
width: 100%;
height: auto;
}

header .header_user {
width: 32px;
height: 32px;
background-color: #7099cb;
text-align: center;
color: #18385E;
border-radius: 16px;
font-size: 16px;
line-height: 100%;
position: absolute;
top: 8px;
right: 10px;
padding: 7px 0px 0px 0px;
}

/*---------------------------------------------------------------
	吹き出し
----------------------------------------------------------------*/
.header_user:hover .balloon {
display: inline;
}

.balloon {
position: absolute;
right: -8px;
top: 34px;
display: none;
padding: 10px 15px;
background-color: #729ace;
margin-top: 12px;
z-index: 10000;
border-radius: 8px;
font-size: 13px;
font-weight: 500;
line-height: 140%;
color: #fff;
text-align: left;
white-space: nowrap;
}

.balloon:after{
border-bottom: 15px solid #729ace;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
position: absolute;
top: -12px;
right: 15px;
content: "";
}

/*---------------------------------------------------------------
	USER
----------------------------------------------------------------*/

header .login_user {
text-align: right;
color: #417CCD;
font-size: 14px;
position: absolute;
right: 10px;
top: 60px;
}

/*=======================================================================
	footer
========================================================================*/

/*スクロール固定*/
#fixed_footer {
width: 100%;
position: fixed;
bottom: 0px;
z-index: 9998;
min-width: 1000px;
}

footer {
width: 100%;
background-color: #417ccd;
text-align: center;
padding: 10px;
float: left;
}

footer .footer_inner {
width: 1000px;
min-width: 1000px;
margin-left: auto;
margin-right: auto;
position: relative;
}

footer small {
color: #fff;
font-size: 10px;
}

/*=======================================================================
	contents
========================================================================*/

.contents {
width: 1000px;
height: auto;
min-width: 1000px;
padding-top: 70px;
margin-left: auto;
margin-right: auto;
}

/*---------------------------------------------------------------
	main
----------------------------------------------------------------*/
.main {
width: 100%;
float: left;
padding: 10px 10px 50px 10px;
}

/*=======================================================================
	login
========================================================================*/
.login_box {
width: 512px;
min-height: 512px;
padding: 0px 0px 20px 0px;
margin-left: auto;
margin-right: auto;
position: relative;
}

.anim_logo_box {
width: 512px;
height: 512px;
position: absolute;
top: 120px;
left: 0;
z-index: 3;
}

.anim_logo_box .anim_01 {
width: 512px;
height: 512px;
position: absolute;
top: 0;
left: 0;
z-index: 4;
}

.anim_logo_box .anim_02 {
width: 512px;
height: 512px;
position: absolute;
top: 0;
left: 0;
z-index: 5;
}

.anim_logo_box .anim_03 {
width: 512px;
height: 512px;
position: absolute;
top: 0;
left: 0;
z-index: 6;
}

.anim_logo_box .anim_04 {
width: 512px;
height: 512px;
position: absolute;
top: 0;
left: 0;
z-index: 7;
}

.anim_logo_box .anim_05 {
width: 512px;
height: 512px;
position: absolute;
top: 0;
left: 0;
z-index: 8;
}

.loginform {
width: 340px;
min-height: 340px;
padding: 0px 0px 20px 0px;
margin-left: auto;
margin-right: auto;
position: absolute;
top: 170px;
left: 90px;
z-index: 20;
}

/*=======================================================================
	input（カプセル型）
========================================================================*/

.cp_ipt {
position: relative;
width: 340px;
margin-bottom: 7px;
}

.cp_ipt input::placeholder {
color: #fff;
}

.cp_ipt .cp_ipt_icon {
position: absolute;
width: 34px;
height: 34px;
top: 6px;
left: 6px;
background-color: #7099CB;
transition: 0.3s;
color: #18385E;
text-align: center;
border-radius: 30px;
padding-top: 9px;
font-size: 14px;
}

/*---------------------------------------------------------------
	input text（カプセル型）
----------------------------------------------------------------*/
.cp_ipt input[type=text] {
background-color: #417ccd;
width: 100%;
height: 46px;
padding: 10px 10px 10px 50px;
transition: 0.3s;
border: 2px solid #417ccd;
border-radius: 30px;
outline: none;
color: #fff;
position: relative;
font-weight: 300;
font-size: 14px;
}

.cp_ipt input[type=text]:focus {
border: 2px solid #999;
background-color: #fff;
color: #666;
}

.cp_ipt input[type=text]:focus + .cp_ipt_icon {
background-color: #417ccd;
color: #fff;
}

/*---------------------------------------------------------------
	input mail（カプセル型）
----------------------------------------------------------------*/
.cp_ipt input[type=mail] {
background-color: #417ccd;
width: 100%;
height: 46px;
padding: 10px 10px 10px 50px;
transition: 0.3s;
border: 2px solid #417ccd;
border-radius: 30px;
outline: none;
color: #fff;
position: relative;
font-weight: 300;
font-size: 14px;
}

.cp_ipt input[type=mail]:focus {
border: 2px solid #999;
background-color: #fff;
color: #666;
}

.cp_ipt input[type=mail]:focus + .cp_ipt_icon {
background-color: #417ccd;
color: #fff;
}

/*---------------------------------------------------------------
	input password（カプセル型）
----------------------------------------------------------------*/
.cp_ipt input[type=password] {
background-color: #417ccd;
width: 100%;
height: 46px;
padding: 10px 10px 10px 50px;
transition: 0.3s;
border: 2px solid #417ccd;
border-radius: 30px;
outline: none;
color: #fff;
position: relative;
font-weight: 300;
font-size: 14px;
}

.cp_ipt input[type=password]:focus {
border: 2px solid #999;
background-color: #fff;
color: #666;
}

.cp_ipt input[type=password]:focus + .cp_ipt_icon {
background-color: #417ccd;
color: #fff;
}

/*---------------------------------------------------------------
	サインイン（カプセル型）
----------------------------------------------------------------*/
.cp_ipt .sign_in {
background-color: #417ccd;
width: 100%;
height: 46px;
padding: 10px 10px 10px 50px;
transition: 0.3s;
border: 1px solid #417ccd;
border-radius: 30px;
outline: none;
color: #fff;
position: relative;
font-weight: 500;
font-size: 14px;
text-align: left;
}

.cp_ipt .sign_in:hover {
background-color: #b8ceeb;
border: 2px solid #417ccd;
color: #18385e;
cursor: pointer;
}

.cp_ipt .sign_in[disabled] {
background-color: #8f99b0;
border: 1px solid #8f99b0;
font-weight: 500;
cursor: not-allowed;
color: #fff;
}


.cp_ipt .sign_in .cp_ipt_icon {
position: absolute;
width: 34px;
height: 34px;
top: 5px;
left: 5px;
background-color: #7099cb;
transition: 0.3s;
color: #fff;
text-align: center;
border-radius: 30px;
padding-top: 9px;
font-size: 14px;
font-weight: 500;
}

.cp_ipt .sign_in:hover .cp_ipt_icon {
position: absolute;
width: 34px;
height: 34px;
top: 4px;
left: 4px;
background-color: #7099cb;
transition: 0.3s;
color: #fff;
text-align: center;
border-radius: 30px;
padding-top: 9px;
font-size: 14px;
font-weight: 500;
}

.cp_ipt .sign_in[disabled] .cp_ipt_icon {
position: absolute;
width: 34px;
height: 34px;
top: 5px;
left: 5px;
background-color: #ACB4C8;
border: 1px solid #ACB4C8;
color: #fff;
text-align: center;
border-radius: 30px;
padding-top: 9px;
font-size: 14px;
font-weight: 500;
cursor: not-allowed;
}

/*---------------------------------------------------------------
	checkbox（サインイン）
----------------------------------------------------------------*/
.check_wrap {
position: relative;
width: 340px;
margin-bottom: 30px;
float: left;
}

.check_wrap input[type="checkbox"][disabled] + label {
color: #b5cae4;
cursor: no-drop;
}

.check_wrap input[type="checkbox"][disabled] + .checkbox_parts::before {
background-color: #8f99b0;
cursor: no-drop;
}

.check_wrap .sign_in_ck {
display: none;
}

.check_wrap .checkbox_parts {
padding-left: 21px;
position: relative;
margin-left: 5px;
color: #417ccd;
font-size: 13px;
cursor: pointer;
transition: 0.3s;
float: left;
}

.check_wrap .checkbox_parts:hover {
color: #7099cb;
cursor: pointer;
}

.check_wrap .checkbox_parts::before {
content: "";
display: block;
position: absolute;
top: 1;
left: 0;
width: 15px;
height: 15px;
background-color: #417ccd;
border-radius: 2px;
cursor: pointer;
}

.check_wrap .sign_in_ck:checked + .checkbox_parts {
color: #417ccd;
}

.check_wrap .sign_in_ck:checked + .checkbox_parts::after {
content: "";
display: block;
position: absolute;
top: 1px;
left: 5px;
width: 4px;
height: 9px;
transform: rotate(40deg);
border-bottom: 2px solid #fff;
border-right: 2px solid #fff;
}

.check_wrap .foget {
color: #417ccd;
float: right;
font-size: 13px;
margin-right: 10px;
transition: 0.3s;
}

.check_wrap .foget:hover {
color: #7099cb;
}

/*---------------------------------------------------------------
	ボタン（カプセル型）
----------------------------------------------------------------*/
.cpbtn_box {
position: relative;
width: 340px;
margin-bottom: 7px;
float: left;
}

.cpbtn {
background-color: #417ccd;
width: 100%;
height: 46px;
padding: 14px 10px 10px 50px;
transition: 0.3s;
border: 2px solid #417ccd;
border-radius: 30px;
outline: none;
color: #fff;
position: relative;
font-weight: 500;
font-size: 14px;
float: left;
text-decoration: none;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

.cpbtn .cp_ipt_icon {
position: absolute;
width: 34px;
height: 34px;
top: 4px;
left: 4px;
background-color: #7099cb;
transition: 0.3s;
color: #fff;
text-align: center;
border-radius: 30px;
padding-top: 9px;
font-size: 14px;
}

.cpbtn:hover {
background-color: #b8ceeb;
border: 2px solid #417ccd;
color: #18385e;
}

.cpbtn:hover .cp_ipt_icon {
background-color: #417ccd;
}

/*---------------------------------------------------------------
	ソーシャルボタン（カプセル型）
----------------------------------------------------------------*/
.sns_wrap {
position: relative;
width: 340px;
margin-top: 10px;
float: left;
}

.sns_box {
position: relative;
width: 340px;
margin-bottom: 7px;
float: left;
}

.btn_fb {
background-color: #3b5998;
width: 100%;
height: 46px;
padding: 14px 10px 10px 50px;
transition: 0.3s;
border: 2px solid #3b5998;
border-radius: 30px;
outline: none;
color: #fff;
position: relative;
font-weight: 500;
font-size: 14px;
float: left;
text-decoration: none;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

.btn_fb .sns_icon {
position: absolute;
width: 34px;
height: 34px;
top: 4px;
left: 4px;
}

.btn_fb .sns_icon img {
width: 100%;
height: auto;
}

.btn_fb:hover {
background-color: #6082C8;
border: 2px solid #3b5998;
color: #fff;
}

.btn_tw {
background-color: #1da1f2;
width: 100%;
height: 46px;
padding: 14px 10px 10px 50px;
transition: 0.3s;
border: 2px solid #1da1f2;
border-radius: 30px;
outline: none;
color: #fff;
position: relative;
font-weight: 500;
font-size: 14px;
float: left;
text-decoration: none;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

.btn_tw .sns_icon {
position: absolute;
width: 34px;
height: 34px;
top: 4px;
left: 4px;
}

.btn_tw .sns_icon img {
width: 100%;
height: auto;
}

.btn_tw:hover {
background-color: #57BFFF;
border: 2px solid #1da1f2;
color: #fff;
}

.btn_gh {
background-color: #000;
width: 100%;
height: 46px;
padding: 14px 10px 10px 50px;
transition: 0.3s;
border: 2px solid #000;
border-radius: 30px;
outline: none;
color: #fff;
position: relative;
font-weight: 500;
font-size: 14px;
float: left;
text-decoration: none;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}

.btn_gh .sns_icon {
position: absolute;
width: 34px;
height: 34px;
top: 4px;
left: 4px;
}

.btn_gh .sns_icon img {
width: 100%;
height: auto;
}

.btn_gh:hover {
background-color: #666;
border: 2px solid #000;
color: #fff;
}
