@charset "UTF-8";

/*====================================================
	ログイントップ
====================================================*/
/*  全体　*/
.lo-bg {
	background: #e7e7e9;
	min-height: 100%;
}

.lo-underTitle {
	padding: 52px 0 0 0;
}

.lo-form__title {
	color: #A19FA7;
	font-size: 1.2rem;
	font-weight: bold;
	padding: 0 0 7px;
}

.lo-account__bg {
	background: #fff;
	padding: 18px 0 18px 0;
}

.lo-contents__outer {
	padding: 40px 20px 20px;
	margin: 0 auto;
	max-width: 285px;
}

.lo-mainBtn__outer {
	max-width: 285px;
	margin: 0px auto 20px;
}

.lo-mainBtn__outer a {
	margin-bottom: 20px;
}

.lo-mainBtn {
	width: 100%;
	height: 46px;
	border-radius: 23px;
	padding: 0 0.5em;
	font-size: 1.5rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	box-sizing: border-box;
	cursor: pointer;
}

.lo-form__outer {
	margin-bottom: 16px;
}

.lo-help__outer {
	display: flex;
	justify-content: center;
	margin: 16px 0 50px;
}

.lo-box__outer {
	padding: 15px 0 0;
}

.lo-help__text {
	font-size: 1.1rem;
}

.lo-contact__text--outer {
	margin: 15px 0 0;
}

.lo-contact_Btn--outer {
	margin: 0 46px;
	padding: 0 0 30px;
}

/*  テキスト*/
.lo-text--normal {
	line-height: 1.9rem;
	text-align: center;
	padding: 0 0 19px;
}
.lo-h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color:#4c4166 ;
	height: 35px;
	color: #fff;
	font-size: 1.3rem;
	font-weight: normal;
	text-align: center;
	box-sizing: border-box;
}

.lo-text--small {
	display: flex;
	justify-content: center;
	font-size: 1.0rem;
	line-height: 1.3rem;
	color: rgba(48,48,48,0.75);
	padding-bottom: 15px;
	max-width: 285px;
	margin: 0 auto;
}

.lo-text--attention {
	font-size:1.1rem;
	line-height: 1.6rem;
	margin: 15px 15px 30px 15px;
}

.lo-text--attention p{
	padding-bottom: 10px;
}

/*  ログインボタン　*/
.lo-loginBtn {
	height: 48px;
	border-radius: 24px;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	margin: 0 auto 20px;
	max-width: 290px;
	font-size: 1.4rem;
	font-weight: bold;
}

.lo-loginBtn p {
	margin-left: 15px;
}

.lo-loginBtn--yahoo p {
	margin-left: 20px;
}

.lo-loginBtn--google {
	background-image: url(../img/login_icon_google_4c.svg);
	background-repeat: no-repeat;
	background-position:16px;
	background-size: 23px auto;
	color: #000;
	border: 1px solid #000;
	box-sizing: border-box;
}

.lo-loginBtn--google.hover { 
	background-color: rgba(48,48,48,0.1);	
}

.lo-loginBtn--yahoo {
	background-image: url("../img/top_icon_yahoo.svg");
	background-repeat: no-repeat;
	background-position:5px;
	background-size: 48px auto;
	background-color: #FF0033;
	color: #fff;
}

.lo-loginBtn--yahoo.hover { 
	background-color: #CC0029;	
}

.lo-loginBtn--fb {
	background-image: url("../img/top_icon_fb.svg");
	background-repeat: no-repeat;
	background-position:13px;
	background-size: 34px auto;
	background-color: #1877F2;
	color: #fff;
}

.lo-loginBtn--fb.hover { 
	background-color: #135FC2;	
}

.lo-loginBtn--line {
	background-image: url("../img/top_icon_line.svg");
	background-repeat: no-repeat;
	background-position:5px;
	background-size: 48px auto;
	background-color: #06C755;
	color: #fff;
}

.lo-loginBtn--line.hover { 
	background-color: #048B3C;	
}

.lo-loginBtn__text--login {
	font-size: 1.2rem;
}

.lo-btnText--sub {
	font-size: 1.1rem;
	padding-bottom: 5px;
}

/* アコーディオン展開 */
.lo-btn__details {
	text-align: center;
}

.lo-loginBtn__textLink {
	display: inline-block;
	margin: 10px 0 40px;
	color: #BB5345;
	font-size: 1.3rem;
	font-weight: bold;
	cursor:pointer;
}

.lo-loginBtn__textLink p{ 
	text-decoration: underline;
}

.lo-loginBtn__textLink::-webkit-details-marker {
	display: none;
}

.lo-loginBtn__textLink.hover {
	text-decoration: none;
	color: #9F4C41;
}

.lo-btn__details[open] .lo-loginBtn__textLink {
	display: none;
}

.lo-btn__details[open] .lo-btn__details__innner {
	animation: fadeIn 0.7s ease;
	}
	@keyframes fadeIn {
	0% {
		opacity: 0; 
		transform: translateY(-10px); 
	}
	100% {
		opacity: 1;
		transform: none;
	}
}

/* ？ボタン（テキスト、矢印あり）*/
.lo-link__helpText {
	color: #443f4f;
	font-size: 1.0rem;
	position: relative;
}

.lo-link__helpText::before {
	content: "？";
	color: #fff;
	background: #d0cfd3;
	border-radius: 50%;
	font-size: 1.1rem;
	text-align: center;
 	display: flex;
 	align-items: center;
 	justify-content: center;
	position: absolute;
	top: 50%;
	margin-top: -10px;
	margin-left: -25px;
	height: 20px;
	width: 20px;
}

.lo-link__helpText.hover {
	color: #d0cfd3;
}

.lo-link__helpText.hover::before {
	background: #e7e7e9;
	color: #fafafb;
}

.lo-link__helpText::after {
 	width: 1em;
  	height: 1em;
	margin: 0 0 0 0.5em;
	background-image: url(../img/arrow_right.svg);
}

.lo-link__helpText.hover::after {
	opacity: 0.5;
}

/*  上部キャッチ */
.lo-catch {
	margin: 0 auto;
	text-align: center;
	padding-top: 25px;
}

.lo-catchText {
	font-family: 'Shippori Mincho', serif;
	font-weight: normal;
	font-size: 1.9rem;
	letter-spacing:-0.02em;
	color: #924A46;
	line-height: 1.3;
}

.lo-catchText--age {
	font-size: 2.2rem;
	letter-spacing:0em;
}

.lo-catchText--dot {
	font-size: 1.9rem;
	vertical-align:0.1em;
}

.lo-catchText--count {
	font-size: 1.3rem;
	letter-spacing:-0.03em;
	padding-left: 3px;
	vertical-align: 1px;
}

.lo-catchText--kana {
	letter-spacing:-0.06em;
}

.lo-catchLogo {
	display: block;
	width: 236px;
	height: 43px;
	margin: 15px auto 0;
}

.lo-catchLogo img {
	width: 100%;
}

/*====================================================
	ログイン認証の改修
====================================================*/
.lo-auth__outer {
	padding: 82px 30px 30px;
}

.lo-auth__title {
	font-size: 1.5rem;
	line-height: 24px;
	color: #303030;
	margin-bottom: 15px;
}

.lo-auth__text--main {
	color: #303030;
	line-height: 19px;
	margin: 0 0 15px 0;
}

.lo-auth__btn--subOuter {
	margin-top: 40px;
}

.lo-auth__btn--sub {
	margin: 10px 0 0 auto;
	width: 130px;
}

.lo-auth__btn--sub a {
	color: #BB5345;
	display: block;
	font-size: 1.1rem;
   	font-weight: bold;
	padding: 0 12px;
	position: relative;
	text-align: right;
}

.lo-auth__btn--sub a::before {
	content: "";
	position: absolute;
	top: 50%;
	margin-top: -5px;
	right: -4px;
	border: 5px solid transparent;
	border-left: 6px solid #BB5345;
}

.lo-auth__btn--sub a::after {
	content: "";
	position: absolute;
	top: 50%;
	margin-top: -5px;
	right: -2px;
	border: 5px solid transparent;
	border-left: 6px solid #fff;
}

.lo-auth__btn--sub a.hover {
	color: #9F4C41;
}

.lo-auth__btn--sub a.hover::before {
	border-left: 6px solid #9F4C41;
}

.lo-auth__textLink {
	text-align: center;
	margin: 20px auto 60px;
}

.lo-auth__textLink a {
	color: #BB5345;
	text-decoration: underline;
}

.lo-auth__textLink a.hover {
	color: #9F4C41;
	text-decoration: none;
}

.lo-auth__textLink--disable a{
	color: rgba(48, 48, 48, 0.4);
	text-decoration: none;	
	pointer-events: none
}

.lo-auth__btn--disable {
	opacity: 0.4;
	pointer-events: none
}

.lo-auth__mail__check {
	color: #BB5345;
	font-weight: bold;
	line-height: 18px;
	font-size: 1.4rem;
	text-align: center;
	background: rgba(193, 122, 102, 0.1);
	width: 100%;
	border-radius: 5px;
	padding: 15px 10px;
	box-sizing: border-box;
}

.lo-auth__mailErr__outer--middle {
	margin: 60px 0 60px;
}

.lo-auth__caption {
	font-weight: normal;
	color: rgba(48,48,48,0.75);
	font-size: 1.1rem;
	line-height: 16px;
	margin-top: 15px;
}

.lo-auth__caption p {
	margin-top: 10px;
}

.lo-auth__captionOuter--mail {
	margin-bottom: 20px;
}

.lo-auth__phone--bottom {
	margin:60px 0 0 0;
}

.lo-auth__inquiry--top {
	margin:0 0 45px 0;
}

/* 電話番号入力フォーム */
.lo-auth__formOuter {
	margin-top: -10px;
}

.lo-auth__form__list {
	border-bottom: solid 1px rgba(48, 48, 48, 0.2);
	height: 56px;
	width: 100%;
 }
 
 .lo-auth__form__list, 
 .lo-auth__form__list a {
	display: flex;
	align-items: center;
	height: 56px;
	width: 100%;
 }
 
 .lo-auth__form__list a {
	background: url("../img/form_arrow_right.png") no-repeat right;
	background-size: 16px;
 }

 .lo-auth__form__label {
	color: #303030;
	font-weight: bold;
	font-size: 1.3rem;
	line-height: 20px;
	flex-shrink: 0;
	width: 74px;
 }

 .lo-auth__form__list--item {
	color: #303030;
	font-size: 1.3rem;
	line-height: 20px;
	padding-right: 16px;
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
 }

 .lo-auth__form__line {
	color: #303030;
	font-size: 1.3rem;
	line-height: 20px;
	width: 100%;
 }

 .lo-auth__form__line::placeholder {
	color: rgba(48, 48, 48, 0.4);
 }
 
 .lo-auth__form__line:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px white inset;
 }

 /* コードが届かない方 */
 .lo-auth__codeBtn__title {
	font-size: 1.4rem;
	font-weight: bold;
	margin-bottom: 15px;
 }

 .lo-auth__codeBtn a{
	font-size: 1.4rem;
 }

 @media screen and (max-width:380px){
	.lo-auth__codeBtn a{
		font-size: 1.3rem;
	 }
 }

  /* メールが届かない方 */
.lo-auth__mailBtn__outer {
	margin: 50px auto 0;
	max-width: 200px;
	font-size: 1.4rem;
}

/*====================================================
	お問い合わせ
====================================================*/
.lo-inquiry__outer {
	padding: 72px 20px 20px;
}

.lo-inquiry__text {
	line-height: 20px;
}

.lo-inquiry__text--sub {
	padding-top: 30px;
}

.lo-inquiry__finishedOuter {
	text-align: center;
	margin: 50px 20px 20px;
	padding-bottom: 20px;
}

.lo-inquiry__finishedText {
	margin: 30px 0 50px;
	line-height: 20px;
}

.lo-inquiry__finishedText--sub {
	padding:5px 0 25px;
	font-size: 1.1rem;
}

.lo-inquiry__finishedBtn {
	width: 200px;
	margin: 0 auto;
}

.lo-inquiry__confirmOuter {
	margin: 20px;
	padding-bottom: 20px;
}

.lo-inquiry__confirm__itemOuter {
	margin:50px 0 50px;
}

.lo-inquiry__confirm__item {
	margin: 0 0 35px;
}

.lo-inquiry__confirm__title {
	margin: 0 0 10px;
	font-weight: bold;
}

.lo-inquiry__caption {
	font-weight: normal;
	color: rgba(48,48,48,0.75);
	font-size: 1.1rem;
	line-height: 16px;
	margin-top: 8px;
}

.lo-inquiry__itemOuter {
	margin: 0 0 60px;
}

.lo-inquiry__formOuter {
	margin: 28px 0 28px;
}

.lo-inquiry__textarea--height {
	height: 134px;
}

/* チェックボックス　*/
.lo-inquiry__check {
	display: flex;
	align-items: center;
	cursor: pointer;
	width: 100%;
	margin-bottom: 15px;
}

.lo-inquiry__check--text::before {
	content: "";
	background: #f0f1f6 url(../img/check.svg) no-repeat center;
	background-size: 0;
	border: 1px solid #ddd;
	border-radius: 3px;
	box-sizing: border-box;
	display: block;
	flex: 1 0 20px;
	margin-right: 7px;
	transition: border 100ms ease-out;
	height: 20px;
	width: 20px;
}

.lo-inquiry__check input[type="checkbox"]:checked + .lo-inquiry__check--text::before {
	background: #B55C50 url(../img/check.svg) no-repeat center;
	background-size: 11px 8px;
	background-position: 50% 50%;
	border-color: #B55C50;
	transition: border 100ms ease-out;
}

/* ラジオボタン　*/
.lo-inquiry__radioOuter {
	display: flex;
	margin-bottom: 3px;
}

.lo-inquiry__radio {
	flex-basis: 80px;
	position: relative;
	display: block;
	cursor: pointer;
}

.lo-inquiry__radio:hover {
	cursor: pointer;
}

.lo-inquiry__radio input + .lo-inquiry__radioInner {
    width: 18px;
    height: 18px;
    background-color: #f0f1f6;
	border: 1px solid #ddd;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    vertical-align: -5px;
}

.lo-inquiry__radio input:checked + .lo-inquiry__radioInner:before {
	position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #fff;
	border: 2px solid #B55C50;
}

.lo-inquiry__radio input:checked + .lo-inquiry__radioInner:after {
	position: absolute;
    content: "";
    width: 8px;
    height:8px;
    border-radius: 50%;
    background-color: #B55C50;
	border: 2px solid #B55C50;
}

.lo-inquiry__radioText {
	padding-left: 7px;
}

/* 空メールでログイン */
.lo-auth__blankmail__outer {
	margin: 50px 0 30px;
	border-bottom: 1px solid rgba(48,48,48,0.1);
	padding-bottom: 30px;
}