@charset "utf-8";



/* 消去対象・モック限定
---------------------------------------------------- */
#container > header#line_coop.for_line,
#container #atFirst.skip, #container #schedule.skip,
#container::after,
.headingTitle {

	display: none;

}

a.linkTEMP {
	display: block;
	text-align: center;
	margin: 3em 0 0;
	color: #aaa;
	text-decoration: underline;
}





/* towards... LINE!
---------------------------------------------------- */
body:not(.modalPage, .styleType_cainz, .for_line_modal_only) {
	background: transparent;
}
.closeLightBox.united {
	background-color:#fff;
}



#container::after {}
main::after {
	content: "";
	position: absolute;
	position: fixed;
	z-index: -1;
	background: #63d0e4;
/*
	width: 100vh;
	height: 100vh;
	top: 0;
	left: 0;
	margin-left: calc(-1 * 100vh + 137px);
	transform-origin: 100% 0;
	transform: rotate(45deg);
*/
	width: 100vw;
	height: 100vw;
	top: 0;
	right: calc(100vw - 100px);
	transform-origin: 100% 0;
	transform: rotate(45deg);
}

article:not(#papers),
article:not(#shop) {}
article:not(#papers):not(#shop) {
	background: #fff;
	background: none;
	z-index: 1;
	position: relative;
}
#papers {}
main article#papers {
/*	z-index: 0;	*/
	background: none;
}
#atFirst .tab li,
#atFirst .tab li.ACTIVE {
	background: transparent;
}
body:not(#topPage) .contents {}
.contents {
	background: #fff;
}
#atFirst {
	box-shadow: none;
}


/* モーダル基準で統一 */
body:not(#topPage) main article {
	padding: 20px 0;
}
.modalPage main > article > section {
	max-width: 540px;
}



.modalPage {
	background: #fff;
}
body:not(.modalPage) > #wrap {
	background: transparent;
}
body:not(.modalPage) > #wrap > #container > *:not(iframe),
body:not(.modalPage) > #wrap > #container::after {

	opacity: 0;

	animation: menuLiner 0.333s cubic-bezier(1, 0, 1, 1) 0s 1 both;
	animation: appearSlow 1s linear 0s infinite both;
	animation: appearSlow 0.73s linear 0.1333s 1 both;

	animation: appearSlow 0.73s linear 0.333s 1 both;

}
	@keyframes appearSlow {
		  0% { opacity: 0;}
		100% { opacity: 1;}
	}


/*
.modalCloseBtn {
	background: none;
}
.modalCloseBtn a {
	opacity: 0.1;
}
*/


/*
*:not(#container) > header > div > h1,
*:not(.flexBox) > h1 {
*/
header > h1 {
	font-size: 32px;
	font-weight: normal;
	border-bottom: 5px solid #63d0e4;
}

.innerHeading,
.inner > h1,
.inner > h2 {
	margin: 1em 0 2em;
}

.inner > h2,
h2.innerHeading {
/*	検討の結果元のママ 	*/
/*	color: #c4c4c4;
	color: #969696;
	color: #333332;
	color: #696969;
*/
}

article:not(#paper) h3 {}
.inner > h3,
h3.innerHeading {
	font-size: 24px;
	font-weight: normal;
	margin-bottom: 10em;
	margin: 2em 0;
	margin: 1em 0 2em;
}
h3 {
	text-align: center;
}
.leadTXT {
	font-size: 24px;
	font-size: 16px;
	font-size: 12px;

	font-size: 14px;
	color: #777;

	line-height: 1.2;
	font-weight: normal;
	font-weight: bold;
	margin: 0em 0 0.5em;
}



form {
/*	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 500px;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;	*/

	align-items: flex-end;
}
form > * {
	width: 100%;
}


form > ul {
//	margin-bottom: 5em;
	position: relative;
}
form ul + ul {
	margin-top: 40px;
}


.modalPage:not(#loginPage) form + .linkToMore {
	margin-top: 80px;
}


.inner {
	margin: 0 auto;
	padding: 0px 20px;
}

.confirmBlock {
	display: block;
	background: #dedfda;
	background: #eef0f4;
	min-width: calc(100vw);

	position: relative;
	left: 50%;
	transform: translateX(-50vw);

	box-sizing: border-box;
	padding: 20px;
	margin: -25px auto 50px;

	margin: 40px auto;
}
form > .confirmBlock {
	left: auto;
	transform: none;
	margin: 0px auto 50px;
}
.confirmBlock p {
	margin: 0 auto;
	font-size: 24px;
}
.confirmBlock p + p {
	margin-top: 1em;
}



/* ----- formSubmit ----- */
.formSubmit {
	margin: 50px auto 0;
	margin: 75px auto 0;

	text-align: center;
	max-width: 230px;
	max-width: 240px;
}
@media only screen and (max-width:485px) {
.formSubmit {
	max-width: unset;
}
}
.linkToMore + .formSubmit {
	margin-top: 1em;
}
.linkToMore + div#forError + .formSubmit {
	margin-top:40px;
}
.formSubmit .button {
	margin: 0 auto;
}
.innerHeading {}
.leadTXT {}
.formSubmit p {
	width: 100%;
	text-align: center;
}
.modalPage .formSubmit + .formSubmit {
	margin: 20px auto 0;
	margin: 40px auto 0;
}

/* style_Rの打ち消し */
.modalPage .formSubmit .button.backward,
#confirm .formSubmit#confirm .button.backward {
	margin: 0 0 20px;
	margin: 0 auto;
/*
	width: calc(100% - 40px);
	min-width: 240px;
	max-width: 360px;

	max-width: 240px;
*/

}

/* ----- btnBlock ----- */
.formSubmit,
.modalPage .formSubmit,
.btnBlock {
/*	max-width: unset;
	width: 100%;
*/
	display: flex;
	flex-flow: row wrap;
}
.btnBlock {
	margin: 1em auto 5em;
	margin: 10px auto 50px;
}
.formSubmit .button,
.btnBlock .button {
	margin: 0 auto;
	display: block;
/*
	width: calc(100% - 30px * 2);
*/
}
.btnBlock .button + .button {
	margin-top: 10px;
}




main .button,
main .button.basicSW {}

body:not(#topPage) main .button,
body:not(#topPage) main .button.basicSW {

	padding: 0 10px;
	font-size: inherit;
	font-weight: bold;
	line-height: 2.1;
	min-width: 0;
	min-width: unset;




	border-radius: 100px;
	border-radius: 0px;
	border-radius: 4px;

	padding: 5px 30px;
	padding: 5px 1em;

	line-height: 2;
	font-size: 18px;
	font-weight: normal;

	width: 100%;
	width: calc(100% - 40px);
	min-width: 240px;
	max-width: 360px;

}
body:not(#topPage) .button.inlineBtn::after,
main .button:not(.inlineBtn)::after,
main .button.basicSW::after {
	display: none;
}
body:not(#topPage) .button.inlineBtn {
/*	position: absolute;
	bottom: 0;
	right: 0;
*/
	width: auto;
	line-height: 1;
	padding: 10px;
	padding: 5px 10px;
/*
	margin-top: -20px;
*/
	min-width: unset;
}
.updateBtn {
	margin-top: 0;
	margin: 0 auto 40px;
	margin: 0 auto;

	padding: 0 0px 5px 0;
	border-bottom: 1px dashed #f3e31e;
}
body:not(#topPage) .updateBtn .inlineBtn {
	font-size: 12px;
}
.updateBtn .inlineBtn {
}
.updateBtn + .profHeading {
	margin-top: 40px;
}
.profHeading {
	margin-bottom: 0.5em;
/*	border-bottom: 1px solid #aaa;
*/
}
.profHeading,
.profHeading + .msgPage {
	color: #aaa;
	text-align: left;
	margin-bottom: 1em;
}



.customRadio label {
	min-width: 5em;
	text-align: center;
	padding: 10px 0;
}
.zip_message {
	font-size: 12px;
	color: #777;
}





/* カルテ情報登録
---------------------------------------------------- */
.modalPage .pet #vaccinate {
	display:inline-block;
	width:calc(100% - 1rem);
}
.modalPage .pet #vaccinate + span {
	font-size:0.9rem;
	margin-left:0.1rem;
	width:1rem;
}

/* 更新＞プロフィール
---------------------------------------------------- */
.profHeading {}
.inlineBtn {}











/* 新設）アルバム
---------------------------------------------------- */
.modalPage.albumPage main > article > section {
	max-width: unset;
}
.postWrap {
	align-items: flex-start;
	
}
.postUnit {
/*	width: calc(50% - 5px);
*/
	width: calc((100% - 10px * 2) / 3);
	max-width: 340px;
	margin-bottom: 20px;
}
@media only screen and (max-width:485px) {
.postUnit {
	width: auto;
	max-width: unset;
}
}
/*
.postUnit + .postUnit{
	margin-top: 50px;
	margin-top: 20px;
}
*/
.postPH {}
.postPH img {
	width: 100%;
	height: auto;
}
.postBalloon {
	position: relative;
	margin-top: 10px;
	background: #eef0f4;
	border-radius: 20px;
	padding: 20px;
	box-sizing: border-box;

	width: calc((50vw - 50px));
	width: calc((100% - 50px));
}
.postBalloon::after {
	content: "";
	display: block;

	border: 40px solid transparent;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top-color: green;
	border-top-color: #eef0f4;

	width: 0;
	height: 0;
	position: absolute;
	bottom: -60px;
	left: 33.3%;
	left: calc(50% - 20px);

	transform-origin: 100% 0%;
	transform: rotate(-45deg);
}
.postInfo {
	padding: 10px;
	text-align: right;
}
.postStaff {
	display: inline-block;
}
.postStaff::after {
	content: "　[ ";
}
.postDate {
	display: inline-block;
}
.postDate::after {
	content: " ]";
}

.confirmBlock {}
.msgPage {}

.albumPage .confirmBlock p {
	margin: 1em auto;
}







/* Cainz Special Styling!!!
---------------------------------------------------- */
.styleType_cainz #guidePage main::after,
.styleType_cainz .introLinePage main::after {
	display: none;
}



.styleType_cainz main {
	overflow: hidden;
}
.styleType_cainz main::after {
	background: #006438;
}





body#topPage.styleType_cainz #schedule h2 span {
	background: url('../img/cainz/bg_tile.png') repeat 50% 0 #F4ECE4;
}