@charset "utf-8";
 @import url(https://fonts.googleapis.com/css?family=Lato:400,700);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
body {
	font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
/**
* header
* -------------------------------------------------------------------
*/
header .title {
	text-align: center;
	font-size: 25pt;
	font-weight: 400;
	margin-top: 10px;
	padding: 0 20px;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	color: #0e8f4b;
}
header .navbar {
	border-top: .1rem solid #f0f1f4;
	padding: 0 20px 0 10px;
	margin-bottom: 10px;
}

header .NameBox {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	padding: 20px 0px 10px;
	color: #534741;
}
header .NameBox .logo img {
	width: 70px;
}
header .NameBox p.name {
	font-size: 24px;
	margin: 10px 0 25px 0;
}
header .NameBox p.name img.vip-icon {
	width: 30px !important;
	height: auto !important;
	vertical-align: bottom !important;
}
header .NameBox .align-head {
	text-align: left;
	margin: 0 auto;
    padding: 10px 15px;
	width: fit-content;
}
header .NameBox p.medical_records {
	font-size: 16px!important;
	line-height: 1.0;
	letter-spacing: 2px;
	margin: 15px 0;
}
header .NameBox p.medical_records span {
	font-size: 12px;
	font-weight: bold;
	display: inline-block;
	margin-right: 10px;
	letter-spacing: 0;
	padding: 4px 0;
	vertical-align: middle;
	color: #10AB5A;
	border: solid 2px #10AB5A;
	width: 100px;
	text-align: center;
}
header .PointBox {
	width:calc(100% - 20px);
	text-align: center;
	padding: 0 20px;
	background: #CDECDC;
    margin: 0 10px;
}
header .PointBox p.point {
	font-size: 22pt;
	line-height: 1.0;
	letter-spacing: 1px;
	display: inline-block;
	padding: 5px 25px;
}
header .PointBox p.point small {
	font-size: 14pt;
	letter-spacing: 0;
}
header .PointBox p.point span {
	font-size: 12pt;
	display: inline-block;
	margin-right: 15px;
	letter-spacing: 0;
}

@media screen and (max-width:600px) {
header .title {
	font-size: 18pt;
}
header .navbar {
	display: block;
}
header .navbar section.navbar-section {
	display: block;
	text-align: center;
}
header .navbar section.navbar-section .label {
	margin-bottom: 10px;
}
}
header .navbar-section .names {
	white-space: nowrap;
}
header .flash {
	padding: 0 20px;
	margin-bottom: 30px;
}
main {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
/**
* content
* -------------------------------------------------------------------
*/
.content {
	padding: 0 20px;
}
.content h2 {
font-size: 20px;
font-weight: 900;
padding: 0.4em 0.5em;/*文字の上下 左右の余白*/
color: #494949;/*文字色*/
background: #f4f4f4;/*背景色*/
border-left: solid 5px #7db4e6;/*左線*/
border-bottom: solid 3px #d7d7d7;/*下線*/
}
@media screen and (max-width:600px) {
}
.content .submit {
	text-align: center;
}
/**
* footer
* -------------------------------------------------------------------
*/
footer {
	text-align: center;
	border-top: .1rem solid #f0f1f4;
	margin-top: 50px;
	padding-top: 20px;
	margin-bottom: 20px;
}
/**
* common
* -------------------------------------------------------------------
*/
.submit {
	text-align: center;
	margin-top: 30px;
}
.submit button + button {
	margin-left: 50px;
}
.pagination {
	justify-content: center;
}
textarea:focus, input:focus {
	background-color: inherit !important;
}
.btn .icon {
	margin-right: 5px;
	margin-left: 5px;
}
.content .message {
	background-color: #f9f9f9;
	border: solid 1px #efefef;
	padding: 20px;
	line-height: 1.5;
}
.gray {
	color: #ccc;
}
/**
* content.home
* -------------------------------------------------------------------
*/
.content.home .submit {
	margin-top: 50px;
}
/**
* content.login
* -------------------------------------------------------------------
*/
.content.login input {
	max-width: 500px;
}
/**
* content.reminder
* -------------------------------------------------------------------
*/
.content.reminder input {
	max-width: 500px;
}
/**
* content.leave
* -------------------------------------------------------------------
*/
.content.leave input {
	max-width: 500px;
}
/**
* content.mypage.reserve
* -------------------------------------------------------------------
*/
.content.mypage.reserve .hide {
	display: none;
}
.content.mypage.reserve dl.error {
	background: rgba(255,0,0,.1);
}
.content.mypage.reserve dl dd {
	margin-top: 0;
	padding: 0.5rem;
}
.content.mypage.reserve dl.error dt {
	background: rgba(255,0,0,.2);
}
.content.mypage.reserve dl.error p.error {
	color: red;
}
.content.mypage.reserve ul {
	list-style: none;
}
.content.mypage.reserve ul li dl {
	margin-bottom: 30px;
}
/*
.content.mypage.reserve dl dt {
	background-color: #efefef;
	font-weight: normal;
	padding: 5px 10px;
	font-size: 15pt;
}*/

.content.mypage.reserve dl dt, .content.mypage.reserve-monshin dl dt{
font-size: 18px;
width: 100%;
color: #505050;/*文字色*/
padding: 0.5em;/*文字周りの余白*/
display: inline-block;/*おまじない*/
line-height: 1.3;/*行高*/
background: #dbebf8;/*背景色*/
vertical-align: middle;/*上下中央*/
border-radius: 25px 0px 0px 25px;/*左側の角を丸く*/
}
.content.mypage.reserve dl dt:before, .content.mypage.reserve-monshin dl dt:before{
content: '●';
color: white;
margin-right: 8px;
}

li.nav-item {
font-size: 18px;
color: #0e8f4b;
font-weight:600;
}

ul.nav > li.nav-item > ul > li a{
display: block;
position: relative;
background: #f1f8ff;
width: 100%;
padding: 0.5em 0.5em;
border-left: solid 2em #5c9ee7;
color: #50596c;
font-size: 14px;
margin-bottom: 1.0em;
}
.nav .nav a{
color: #50596c;
}
ul.nav > li.nav-item > ul > li a:before{
font-family: FontAwesome;
content: "\f040";
position: absolute;
padding: 0em;
color: white;
font-weight: normal;
left: -1.35em;
top: 50%;
-moz-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
.content.mypage.reserve ul.menus {
	display: none;
}
.content.mypage.reserve ul.menus.show {
	display: block;
}
.content.mypage.reserve ul.menus li {
	display: none;
}
.content.mypage.reserve ul.menus li.show {
	display: block;
}
.content.mypage.reserve .schedule {
	margin-top: 20px;
}
.content.mypage.reserve .schedule .cont {
	margin-top: 20px;
	position: relative;
}
.content.mypage.reserve .schedule .cont .loading {
	position: absolute;
	height: 100%;
	background: rgba(254,255,255,.8);
	display: block;
	width: 100%;
	z-index: 100;
	pointer-events: auto;
}
.content.mypage.reserve .schedule .buttons {
	text-align: center;
}
.content.mypage.reserve .schedule .disabled {
	color: #888;
}
.content.mypage.reserve .schedule .closed {
	color: #888;
	font-size: 8pt;
}
.content.mypage.reserve .timetable {
	margin-top: 10px;
}
.content.mypage.reserve .timetable .dates {
	float: right;
	width: calc(80% - 16px);
	white-space: nowrap;
	overflow-x: hidden;
	padding: 10px 16px 0 0;
	box-sizing: content-box;
	font-size: 0;
	margin-bottom: 10px;
}
.sp .content.mypage.reserve .timetable .dates {
	width: 80%;
	padding: 10px 0 0 0;
}
.content.mypage.reserve .timetable .dates .date {
	font-size: 14px;
	display: inline-block;
	min-width: 70px;
	width: 12%;
	width: calc(100% / 7);
	text-align: center;
}
.content.mypage.reserve .timetable .scroll-vertical {
	clear: both;
	height: 350px;
	overflow-y: scroll;
	position: relative;/*margin-top: 10px;*/
}
.content.mypage.reserve .timetable .scroll-vertical .times {
	float: left;
	width: 20%;
}
.content.mypage.reserve .timetable .scroll-vertical .times .time {
	/*margin-bottom: 10px;*/
	height: 70px;
	line-height: 70px;
	text-align: center;
	font-weight: bold;
}
.content.mypage.reserve .timetable .scroll-vertical .times .time:nth-child(odd) {
	background: #f8f9fa;
	border-top: .1rem solid #f0f1f4;
	border-bottom: .1rem solid #f0f1f4;
}
.content.mypage.reserve .timetable .scroll-horizontal {
	float: left;
	width: 80%;
	overflow-x: auto;
}
.content.mypage.reserve .timetable .scroll-horizontal ul {
	margin: 0;
}
.content.mypage.reserve .timetable .scroll-horizontal > ul {
	/*margin-right: 16px;*/
	min-width: 490px;
}
.content.mypage.reserve .timetable .scroll-horizontal ul li {
	margin: 0;
	height: 70px;
}
.content.mypage.reserve .timetable .scroll-horizontal > ul > li {
	white-space: nowrap;/*margin-bottom: 10px;*/
}
.content.mypage.reserve .timetable .scroll-horizontal > ul > li > ul {
	font-size: 0;
}
.content.mypage.reserve .timetable .scroll-horizontal > ul > li > ul > li {
	font-size: 12px;
	display: inline-block;
	min-width: 70px;
	width: 14%;
	width: calc(100% / 7);
	padding-top: 15px;
	text-align: center;
	vertical-align: top;
	line-height: 35px;
}
.content.mypage.reserve .timetable .scroll-horizontal > ul > li:nth-child(odd) > ul > li {
	background: #f8f9fa;
	border-top: .1rem solid #f0f1f4;
	border-bottom: .1rem solid #f0f1f4;
}
.content.mypage.reserve .timetable .scroll-horizontal img.icon-batsu {
	vertical-align: middle;
}
.content.mypage.reserve .timetable .scroll-horizontal button {
}
.content.mypage.reserve .timetable .scroll-horizontal button .rest_num {
	top: 6px;
	font-size: 8pt;
	display: block;
	margin-top: -40px;
	text-align: center;
}
/**
* content.mypage.reserve-monshin
* -------------------------------------------------------------------
*/
.content.mypage.reserve-monshin dl {
	margin-bottom: 30px;
}
/*
.content.mypage.reserve-monshin dl dt {
	background-color: #efefef;
	font-weight: normal;
	padding: 5px 10px;
	font-size: 15pt;
}*/
.content.mypage.reserve-monshin .form-radio, .content.mypage.reserve-monshin .sikou .form-checkbox {
	padding-right: 0;
}
/**
* content.mypage.reserve-check
* -------------------------------------------------------------------
*/
.content.mypage.reserve-check form>table th {
	width: 30%;
}
.content.mypage.reserve-check section.monshin {
	margin-top: 40px;
	margin-bottom: 20px;
}
.content.mypage.reserve-check section.monshin>table th {
	width: 30%;
}
.content.mypage.reserve-check ul {
	margin-left: 1rem;
	list-style-position: outside;
	padding-left: 2rem;
}
.content.mypage.reserve-check ul li {
	margin-top: 0;
}
/**
* content.mypage.reserve-view
* -------------------------------------------------------------------
*/
.content.mypage.reserve-view .list {
	width: 100%;
	overflow: auto;
}
.content.mypage.reserve-view .list>table {
	min-width: 600px;
}
.content.mypage.reserve-view .list>table .date,  .content.mypage.reserve-view .list>table .time {
	white-space: nowrap;
}
.buttons {
	margin-top: 50px;
	text-align: center;
}
.buttons .btn + .btn {
	margin-left: 50px;
}
/**
* content.mypage.reserve-cancel
* -------------------------------------------------------------------
*/
.content.mypage.reserve-cancel form {
	margin-top: 50px;
}
.content.mypage.reserve-cancel form p.desc {
	font-size: 15px;
}
.content.mypage.reserve-cancel form textarea {
	width: 100%;
	height: 10em;
}
/**
* content.register
* -------------------------------------------------------------------
*/
.content.register form select[name=birth_year] {
	width: 5em;
}
.content.register form select[name=birth_month], .content.register form select[name=birth_day] {
	width: 50px;
	margin-left: 5px;
}
.content.register .fk-error span {
	margin-top: 3px;
	margin-bottom: 20px;
}
.content.register .fk-marker::before {
	line-height: 30px;
}
/**
* content.register-check
* -------------------------------------------------------------------
*/
.content.register-check form .submit input + input {
	margin-left: 30px;
}

/**
* VIP icon
* -------------------------------------------------------------------
*/
img.vip-icon {
	width: 16px !important;
	height: 16px !important;
	vertical-align: text-bottom;
}

/**
* 削除済みレコードのスタイル
* -------------------------------------------------------------------
*/
.trashed {
    color: #ddd;
}

.error-cant-reserve {
    margin-top: 3rem;
}


/**
* ログイン後、カード化変更
* -------------------------------------------------------------------
*/

header .title {
	color: #10AB5A!important;
}
.breadcrumb .breadcrumb-item a{
color: #534741!important;
}
.btn.btn-link{
color: #534741!important;
}

header .user-info{
  background: url(../icon/logo-pink.svg) right 10px top 30% / 80px auto no-repeat,
    url(../images/back-dot.jpg) left top / 15px auto repeat;
border-radius: 10px;
margin: 30px auto 30px;
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.35);
max-width: 480px;
}
.Shinsatsu{
background: #10AB5A;
text-align: center;
font-weight: 800;
letter-spacing: 5px;
color: #FFF;
font-size: 1.875rem;
}

/**
* ログイン後画面電話等追記
* -------------------------------------------------------------------
*/
#NaikaBox h2{
border-left: #1ea257 4px solid;
font-size: 1.0rem;
font-size: 16px;
background: none;
border-bottom: none;
font-weight: 400;
margin-bottom: 10px;
}
#NaikaBox ul{
display: flex;
list-style: none;
justify-content: space-between;
margin: 0 auto 10px;
}
#NaikaBox ul li{
display: flex;
list-style: none;
width: calc((100% - 10px)/2);
justify-content: center;
align-items: center;
text-align: center;
}

#NaikaBox ul li:first-child a{
background: #64bc82;
padding: 20px 2%;
width: 100%;
border: 2px #64bc82 solid;
}
#NaikaBox ul li:last-child a{
background: #FFF;
padding: 20px 2%;
width: 100%;
border: 2px #64bc82 solid;
}

#NaikaBox ul li:first-child a img{
width: 100%;
max-width: 89px;
height: auto;
}
#NaikaBox ul li:last-child a img{
width: 100%;
max-width: 140px;
height: auto;
}
#NaikaBox .BusinessHours{
background-color:#f0f7ef;
padding: 20px 20px 12px;;
margin: auto auto 50px;
text-align: center;
}
#NaikaBox .BusinessHours h3{
font-weight: 800;
font-size: 1.0rem;
font-size: 16px;
}

#BiyouBox h2{
border-left: #f29fb0 4px solid;
font-size: 1.0rem;
font-size: 16px;
background: none;
border-bottom: none;
font-weight: 400;
margin-bottom: 10px;
}
#BiyouBox ul{
display: flex;
list-style: none;
justify-content: space-between;
margin: 0 auto 10px;
}
#BiyouBox ul li{
display: flex;
list-style: none;
width: calc((100% - 10px)/2);
justify-content: center;
align-items: center;
text-align: center;
}

#BiyouBox ul li:first-child a{
background: #f29fb0;
padding: 20px 2%;
width: 100%;
border: 2px #f29fb0 solid;
}
#BiyouBox ul li:last-child a{
background: #FFF;
padding: 20px 2%;
width: 100%;
border: 2px #f29fb0 solid;
}

#BiyouBox ul li:first-child a img{
width: 100%;
max-width: 89px;
height: auto;
}
#BiyouBox ul li:last-child a img{
width: 100%;
max-width: 140px;
height: auto;
}
#BiyouBox .BusinessHours{
background-color:#fef4f6;
padding: 20px 20px 12px;;
margin: auto auto 50px;
text-align: center;
}
#BiyouBox .BusinessHours h3{
font-weight: 800;
font-size: 1.0rem;
font-size: 16px;
}
#BiyouBox a.YoyakuBtn{
display: block;
background: #eb6d8e;
padding: 10px;
text-align: center;
width: 100%;
max-width: 420px;
border-radius: 10px;
margin: 10px auto 10px;
}
#BiyouBox a.YoyakuBtn img{
width: 100%;
height: auto;
max-width: 226px;
}

.btn.btn-primary {
	background: #10ab5a;
	border-color: #0c9f52;
}

.btn.btn-primary:focus ,
.btn.btn-primary:hover ,
.btn.btn-primary.active ,
.btn.btn-primary:active {
    background: #0e8f4b;
    border-color: #0a8343;
}
.btn:focus {
	box-shadow: 0 0 0 0.2rem rgba(6, 168, 0, 0.15);
}

.content.mypage.reserve-monshin {
	ul.list {
		margin-left: 40px;
		list-style: disc outside;
		li {
			div + div {
				margin-top: 2px;
			}
		}
	}
	input[type=text] {
		display: inherit;
		width: auto;
		&.form-input-short {
			width: 100px;
		}
		&.form-input-long {
			width: 60%;
			min-width: 300px;
		}
	}
	div.items {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		height: calc(25px * 9);
		label {
			min-width: calc(100% / 3);
			height: 25px;
			box-sizing: border-box;
		}
	}
	div.items-B {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		height: calc(25px * 4);
		label {
			min-width: calc(100% / 3);
			height: 25px;
			box-sizing: border-box;
		}
	}
}
