/* ==========================================================================
   Login
   ========================================================================== */
.login-body{
	background-color:#EFFBFF;
	overflow-x: hidden;
}

.login{
	padding-left: 5%;
	padding-right: 5%;
}

@media(min-width: 481px){
	.login{
		width: 100%;
		background-color:#EFFBFF;
	}

}

.login-change-lang-area{
	text-align: right;
}

.sitelogo{
	margin-top: 20px;
	text-align:center;
}

.login-block{
	margin: 0px 70px 0 70px;
}
@media(max-width: 480px){
	.login-block{
		margin: 0;
	}
}

.login-btn{
	display: inline-block;
	font-size: 150%;
	padding: 10px 100px 10px 100px;
}

.login-btn:hover{
	/* opacity: 0.6; */
	cursor: pointer;
	background-color: #675de2;
	border-color: #675de2;
}

@media(max-width: 480px){
	.login-btn{
		padding: 10px 70px 10px 70px;
	}
}

.login-auth{
	background-color: #FFF;
	padding-top: 20px;
	padding-bottom: 20px;
	box-shadow: 5px 5px 5px #C2C2C2;
	text-align: center;
	border: 1px solid #C2C2C2;
}

.own-auth{
	background-color: #FFF;
	box-shadow: 5px 5px 5px #C2C2C2;
	padding-bottom: 42px;
	text-align: center;
	border:1px solid #C2C2C2;
	overflow-y: hidden;
    transition: all 300ms 0s cubic-bezier(0.65, 0.05, 0.36, 1);
	height: 0px;
}

.own-auth-open{
	height: 247px;
}

.login-form{
	width: 100%;
	background-color: #FFF;
}

.switch-form{
	cursor: pointer;
	font-weight: bold;
	text-align: center;
}

@media(min-width: 481px){
	.switch-form:hover{
		opacity: 0.8;
	}
}

.switch-form:after{
	content: "▼";
	position:absolute;
	transition: all 300ms 0s ease;
}

.open-form:after{
	transform:rotate(180deg);
}

.login-form-area{
	height: 100%;
}

.input-login-pass-box{
	max-width: 500px;
	margin-top: 10px;
	margin-bottom: 10px;
}
@media(max-width: 480px){
	.input-login-pass-box{
		max-width: 240px;
	}
}

.login-information{
	margin-top: 20px;
}

.information-area{
	height: 500px;
	background-color: white;
	text-align: left;
	padding: 0px 30px 0px 0px;
	overflow:auto;
	box-shadow: 5px 5px 5px #C2C2C2;
}

.infotext{
	padding: 20px 30px 10px 30px;
	font-size: 110%;
	padding-top: 20px;
	word-break: break-all;
}

@media(max-width:480px){
	.information-area{
		padding: 0px 20px 0px 0px;
		overflow:auto;
		height: 400px;
	}

	.infotext{
		padding: 20px 0px 10px 0px;
		font-size: 110%;
		padding-top: 20px;
		word-break: break-all;
	}
}

.app-section-container {
	    display: flex;
	    flex-direction: column;
	    align-items: center;
	    margin-top: 32px;
	    border: 2px solid #403999;
	    border-radius: 10px;
	    padding: 20px 2% 0px 2%;
}

.app-section-title {
    width: 100%;
    border-bottom: 2px solid #403999;
}

.app-grid-wrapper {
    margin: 0px;
	width:100%
}

.app-platform-grid {
	    -webkit-box-sizing: border-box;
	    box-sizing: border-box;
	    display: -webkit-flex;
	    display: -ms-flexbox;
	    display: grid;
	    grid-template-columns: 10fr 11fr;
	    -webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	    margin: 15px 0;
}

.app-platform-column {
	-webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    justify-content: space-around;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    flex-direction: column;
}

.border-line {
	border-right: solid 2px;
	color: #403999;
	width: 100%;
}

.app-textfont {
	color: #000000;
	font-size: 16px; 
	font-weight: bold;
	margin-bottom: 16px; 
	text-align: center;
}

.app-section-title .app-textfont {
	color: #403999;
}

.app-area {
	display: flex;
    align-items: center;
    justify-content: center;
	margin: 0 10px;
	gap: 15px;
}

.app-area .app-textfont {
	margin-bottom: 12.5px;
}

.app-link{
	text-align: center;
}
.qr-link{
	max-width: 80px;
}
@media(max-width:600px){
	.app-link{
		width: 100%;
	}
	.qr-link{
		display: none;
	}
}

/* ガイドラインより、バッチ周りに[バッチのheigth]*1/4の余白を設けること */
.badge-btn{
	height: 50px;
}


