@charset "utf-8";
/* =============================================

	全ページ共通部分用CSSファイル

	ファイル名：common.css
	制作日：2009.04.07
	更新日：2009.04.07
	制作者：Tadashi Suyama

 =============================================*/

/* body
-------------------------------------------*/
body {
	position: relative;
	color: #222;
 	font-size: 100%; -ms-text-size-adjust: none; -webkit-text-size-adjust: none;
    font-family: 'Helvetica Neue','Helvetica','Arial','Noto Sans JP',"Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	margin: 0px;
	background: transparent;
}


/* #container
-------------------------------------------*/
hgroup h1, hgroup h2{
	float: left;
}
hgroup h2{
	padding-left: 15px;
}


section h3{
	color: #F00;
}

.done-true {
  text-decoration: line-through;
  color: gray;
}

table td.today{
	color: #222 !important;
	color: #fff !important;	
	background: #fff !important;
	background: #bbb !important;	
}

/* 著作権表示 */
div#copy {
	width: 100%;
	text-align: center;
	color: #000000;
	font: 1em Arial, Helvetica, sans-serif;
	padding: 0px;
}

.cm {
	margin: 15px auto;

}

#loading {
	display: none;
	width: 100px;
	height: 30px;
	background: url("../images/loading.gif") no-repeat center top;
	text-align: center;
	padding-top: 40px;
}

ul.nav li.active a{
	color: #FF0000;
}
/* ページ繰りのスタイル */
.pages {
	text-align: center;
	clear: both;
}

.pages .list {
	padding: 0.3em 0.5em;
	display: inline-block;  /* 縦方向のpaddingを有効にしつつ、インライン表示を可能にする */
	color: #0000FF;
	border: 1px solid #999999;
	font-weight: bold;
	background: #eeeeee;
	font-size: 1em;
}
.pages  A.list  {
	padding: 0.3em 0.5em;
	display: inline-block;
	background: #FFFFFF;
	border: 1px solid #999999;
}

.pages A.list:hover,
.pages A.list:active {
	border: 1px solid #000000;
	color: #fff;
	background: #000099;
}

/*テキストリサイザー*/

#textsizer{
	margin-bottom: 20px;
}
#textsizer p{
display: inline;
}
ul.textresizer{
	list-style: none;
	display: inline;
	margin: 0px;
	padding: 0px;
}
ul.textresizer li{
	display: inline;
	margin: 0px;
	margin-right: 5px;
	padding: 0px;
}

ul.textresizer a{
	border: solid 1px #999;
	padding: 2px 3px;
	font-weight: bold;
	text-decoration: none;
}

ul.textresizer a:hover{
	background: #e5e5e5;
	border: solid 1px #cccccc;
}

ul.textresizer .small-text{
	font-size: 11px;
}

ul.textresizer .medium-text{
	font-size: 13px;
}

ul.textresizer .large-text	{
	font-size: 15px;
	}

ul.textresizer .larger-text	{
	font-size: 17px;
	}

/* Style of active button */
ul.textresizer a.textresizer-active{
	border: solid 1px #2B562B;
	background: #FFCA6F;
	color: #000000;
}

.box30 {
    margin: 2em 0;
    background: #f1f1f1;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}
.box-title {
    font-size: 1.2em;
    background: #5fc2f5;
    padding: 4px;
    text-align: center;
    color: #000;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box30 .meta {
    padding: 15px 20px;
		color: #000;
    margin: 0;
}
.box30 .meta span{background-color: #ff9;}

.btn_item {
  display: inline-block;
  padding: 10px 20px;
  text-decoration: none;
  background: rgb(228,226,223);
  color: #333;
  border-radius: 5px;
	float: right;
}
.btn_item2 {
  display: inline-block;
  padding: 10px 20px;
  text-decoration: none;
  background: rgb(255 178 209);
  color: #333;
  border-radius: 5px;
	float: right;
}

.btn_item:hover {
  transition: all .2s linear;
  color: #fff;
}





@import url(https://fonts.googleapis.com/css?family=Open+Sans);


fieldset {
  border: none;
  padding: 0;
  margin: 0;
  text-align: center;
}
fieldset.box-title {
    font-size: 1.2em;
    background: #5fc2f5;
    padding: 4px;
    text-align: center;
    color: #000;
    font-weight: bold;
    letter-spacing: 0.05em;
}


.pclaa {
  margin: 0 0 1.6rem;
  padding-bottom: 0.2rem;
  border-bottom: 1px solid #ddd;
}

.radio-inline__input {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
}

.radio-inline__label {
    display: inline-block;
    padding: 0.5rem 1rem;
    margin-right: 18px;
    border-radius: 3px;
    transition: all .2s;
}

.radio-inline__input:checked + .radio-inline__label {
    background: #020887;
    color: #fff;
    text-shadow: 0 0 1px rgba(0,0,0,.7);
}

.radio-inline__input:focus + .radio-inline__label {
    outline-color: #4D90FE;
    outline-offset: -2px;
    outline-style: auto;
    outline-width: 5px;
}
#success_message{ display: none;}

a {
  text-decoration: none;
}

.info-text {
  text-align: left;
  width: 100%;
}

header, form {
  padding: 1em 2%;
}

.form-group {
  margin-bottom: 20px;
}

h2.heading {
  font-size: 18px;
  text-transform: uppercase;
  font-weight: 300;
  text-align: left;
  color: #020887;
  border-bottom: 3px solid #020887;
  padding-bottom: 3px;
  margin-bottom: 20px;
}

.controls {
  text-align: left;
  position: relative;
}
.controls input[type="text"],
.controls input[type="email"],
.controls input[type="number"],
.controls input[type="date"],
.controls input[type="tel"],
.controls textarea,
.controls button,
.controls select {
  padding: 20px;
  font-size: 14px;
  border: 1px solid #c6c6c6;
  width: 100%;
  margin-bottom: 18px;
  color: #000;
  font-family: 'Lato', 'sans-serif';
  font-size: 16px;
  font-weight: 300;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.controls input[type="text"]:focus, .controls input[type="text"]:hover,
.controls input[type="email"]:focus,
.controls input[type="email"]:hover,
.controls input[type="number"]:focus,
.controls input[type="number"]:hover,
.controls input[type="date"]:focus,
.controls input[type="date"]:hover,
.controls input[type="tel"]:focus,
.controls input[type="tel"]:hover,
.controls textarea:focus,
.controls textarea:hover,
.controls button:focus,
.controls button:hover,
.controls select:focus,
.controls select:hover {
  outline: none;
  border-color: #9FB1C1;
}
.controls input[type="text"]:focus + label, .controls input[type="text"]:hover + label,
.controls input[type="email"]:focus + label,
.controls input[type="email"]:hover + label,
.controls input[type="number"]:focus + label,
.controls input[type="number"]:hover + label,
.controls input[type="date"]:focus + label,
.controls input[type="date"]:hover + label,
.controls input[type="tel"]:focus + label,
.controls input[type="tel"]:hover + label,
.controls textarea:focus + label,
.controls textarea:hover + label,
.controls button:focus + label,
.controls button:hover + label,
.controls select:focus + label,
.controls select:hover + label {
  color: #020887;
  cursor: text;
}
.controls .fa-sort {
  position: absolute;
  right: 10px;
  top: 17px;
  color: #999;
}
.controls select {
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.controls label {
  //position: absolute;
  //left: 8px;
  //top: 16px;
  color: #999;
  //width:60%;
  font-size: 16px;
  display: inline-block;
  padding: 4px 10px;
  font-weight: 400;
  background-color: rgba(255, 255, 255, 0);
  -moz-transition: color 0.3s, top 0.3s, background-color 0.8s;
  -o-transition: color 0.3s, top 0.3s, background-color 0.8s;
  -webkit-transition: color 0.3s, top 0.3s, background-color 0.8s;
  transition: color 0.3s, top 0.3s, background-color 0.8s;
  background-color: white;
}
.controls label.active {
  top: -11px;
  color: #555;
  background-color: white;
  width: auto;
}
.controls textarea {
  resize: none;
  height: 200px;
}
button {
  cursor: pointer;
  background-color: #020887;
  border: none;
  color: #fff;
  padding: 12px 0;
  float: right;
}
button.oshitai:hover {
  color: #ccc;
}



.clear:after {
  content: "";
  display: table;
  clear: both;
}

.grid {
  background: transparent;
}
.grid:after {
  /* Or @extend clearfix */
  content: "";
  display: table;
  clear: both;
}

[class*='col-'] {
  float: left;
  padding-right: 10px;
}
.grid [class*='col-']:last-of-type {
  padding-right: 0;
}

.col-2-3 {
  width: 66.66%;
}

.col-1-3 {
  width: 33.33%;
}

.col-1-2 {
  width: 50%;
}

.col-1-4 {
  width: 25%;
}





/* ___________________________________

  共通タグ
____________________________________ */

p {
	font-weight: 400;
}

/* リセット */
input[type="submit"] {
  -webkit-appearance: none;
}

/* ------------------------------
   予約不可（span.icnClose）の背景色
------------------------------ */
td.parent {
	background: #ddd !important;
}


/* ------------------------------
   table-bordered
------------------------------ */
/* 共通部分
--------------------------- */
.table-bordered {
	width: 100%;
	border: 2px solid #ccc;
	background: #fff;
	box-shadow: rgba(45, 62, 80, 0.12) 0px 1px 5px 0px;	
}
.table-bordered th {
	background: #fff;
	background: #ccc;	
}

/* 月
--------------------------- */
table.table-bordered thead.atama th {
	padding: 1% 0;
	font-weight: bold;
}
table.table-bordered thead.atama th:nth-child(2) {
	color: #fff;
	color: #1b1b1b;	
	background: #020663;
	background: #eee;	
}
table.table-bordered thead.atama th:nth-child(1), table.table-bordered thead.atama th:nth-child(3) {
	width: 11.11111111%;
	background: #020663;
	background: #eee;	
}
table.table-bordered thead.atama th:nth-child(1) a, table.table-bordered thead.atama th:nth-child(3) a {
	color: #fff;
	color: #1b1b1b;
}

/* 日
--------------------------- */
table.table-bordered thead.atama td {
	width: 11.11111111%;
	padding: 1% 0;
	color: #fff;
	color: #1b1b1b;	
	font-weight: bold;
	background: rgba(2,6,99,0.5);
	background: #fff;
}

/* 前週・次週
--------------------------- */
table.table-bordered thead.atama th{
	vertical-align: middle;
}
table.table-bordered thead.atama th a {
	line-height: 20px;
}
table.table-bordered thead.atama th a:hover {
	color: #999;
	text-decoration: none;
}
table.table-bordered thead.atama th a span {
	display: block;
}

/* ------------------------------
   moreInner
------------------------------ */

/* ○×
--------------------------- */
table.moreInnerTable {
	width: 100%;
}
table.moreInnerTable td.closeCell {
	width: 100%;
	height: 30px;
	padding: 2%;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 1px solid #ccc;
	background: #fff;	
}
table.moreInnerTable tr:last-child td.closeCell {
	border-bottom: none;	
}

/* 時間帯
--------------------------- */
table.moreInnerTable th.timeCell {
	height: 30px;
	padding: 2%;
	color: #fff;
	color: #1b1b1b;
	font-weight: normal;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 1px solid #ccc;
	background: #020663;
	background: #eee;
}
table.moreInnerTable tr:last-child th.timeCell {
	border-bottom: none;
}

/* ___________________________________

  ご予約内容
____________________________________ */

/* ボタン
--------------------------- */
.form-group .grid .controls button {
	padding: 1em 0 0.7em;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	font-family: 'Noto Sans JP',"Hiragino Kaku Gothic ProN","メイリオ", sans-serif;	
	background: #F75C03;
	box-shadow: 1px 4px 4px #873100;
	border: none;
	border-radius: 40px;	
	cursor: pointer;
}





@media (max-width: 760px) {
  .col-1-4-sm, .col-1-3, .col-2-3 {
    width: 100%;
  }

  [class*='col-'] {
    padding-right: 0px;
  }
}
.col-1-8 {
  width: 12.5%;
}
.yoyakcl{
	color: #000;
}
.yokaku{
	font-size: 25px;
	color: #000;

}
.chek{
	font-size: 10px !important;
}
.floatLabel{
	background-color: white;
}

.comtable{
  width: 100%;
  border-collapse: collapse;
}

.comtable tr{
  border-bottom: solid 2px #eee;
}

.comtable tr:last-child{
  border-bottom: none;
}

.comtable th {
	width: 30%;
	background-color: #020887;
	color: white;
	font-size: 14px;
	text-align: center;
	padding: 10px 0;
	border-bottom: 1px solid #fff;
}
.comtable th:last-child {
	border-bottom: none;
}

.comtable td{
	width: 70%;
	font-size: 14px;	
	text-align: center;
	background-color: #fff;
	padding: 10px 0;
}

.btn--orange,
a.btn--orange {
	margin-top: 10px;
	padding: 1em 0 0.7em;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	background: #F75C03;
	box-shadow: 1px 4px 4px #873100;
	border: none;
	border-radius: 40px;
	cursor: pointer;
	display: block
}
a.btn--orange:hover {
	color: #fff;
}

.fa-position-left {
  position: absolute;
  top: calc(50% - .5em);
  left: 1rem;
}

.btn--radius,
a.btn--radius,
button.btn--radius
{
    border-radius: 100vh;
}
.chkbox {
	margin:			0 0 10px 20px;
}
/* ラベルのスタイル　*/
.chkbox label {
	padding-left:		38px;			/* ラベルの位置 */
	font-size: 16px;
	line-height:		32px;
	display: flex;
	cursor:			pointer;
	position:		relative;
	width: 100%;
	padding-bottom: 35px;
	white-space: nowrap;
}

/* ボックスのスタイル */
.chkbox label:before {
	content:		'';
	width:			32px;			/* ボックスの横幅 */
	height:			32px;			/* ボックスの縦幅 */
	display:		inline-block;
	position:		absolute;
	left:			0;
	background-color:	#fff;
	box-shadow:		inset 1px 2px 3px 0px #000;
	border-radius:		6px 6px 6px 6px;
}
/* 元のチェックボックスを表示しない */
.chkbox input[type=checkbox] {
	display:		none;
}
/* チェックした時のスタイル */
.chkbox input[type=checkbox]:checked + label:before {
	content:		'\2713';		/* チェックの文字 */
	font-size:		34px;			/* チェックのサイズ */
	color:			#fff;			/* チェックの色 */
	background-color:	#06f;			/* チェックした時の色 */
}
/* .fixed01 {
  position: sticky;
  top: 0;
	z-index: 1000;
	white-space: nowrap;
}
.fixed01:before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 100%;
  height: 100%;
  border: 1px solid #ccc;
	z-index: 1000;
}
/* .oshitai{
	position: sticky;
	z-index: 1002;
} */
/*
.oshitai2{
	position: sticky;
	z-index: 1001;
} */
.ticky_table{
	width: 100%;
	table-layout: inherit;
	white-space: nowrap;
}
.button-radio input[type="radio"] {
  display:none;
}

.button-radio label {
  display:inline-block;
  color:#fff;
  background-color:#2780e3;
  padding:5px 10px;
}

.button-radio input[type="radio"]:checked + label {
  background-color:#000;
}
group + group {
  margin-top: 20px;
}
.inline-radio {
  display: flex;
  border-radius: 3px;
  overflow: hidden;
  border: 1px solid #747474;
	margin-bottom: 25px;
}
.inline-radio div {
  position: relative;
  flex: 1;
}
.inline-radio input {
  width: 100%;
  height: 60px;
  opacity: 0;
}
.inline-radio label {
  position: absolute;
  top: 0;
  left: 0;
  color: #545454;
  width: 100%;
  height: 100%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  border-right: 1px solid #b6b6b6;
}
.inline-radio div:last-child label {
  border-right: 0;
}
.inline-radio input:checked + label {
  background: #020887;
  font-weight: 700;
  color: #fff;
}
.oshitai{
	background-color: transparent;
	color: #999;
	padding: 0;
	font-size: 14px;
}
.oshitai::before{
 background-color: #b6b6b6 !important;
}
.footerimg{
	text-align: center;
}
.moreInnerTable{
	margin: auto;
}
.shinnryo{
	font-size: 12px;
	text-align:center;
}
.testa{
	display: flex;
}
.inline_box {
	width: 96%;
	height: 200px;
	overflow: auto;
	background: #ffffff;
	border: 1px solid #cccccc;
	margin: 0 auto;
	padding: 5%;
  }
.privacypolicy main h1 {
	margin: 0 0 1.5em;
	font-size: 22px;
	text-align: center;
}
.privacypolicy main h2 {
	margin: 3em 0 1.5em;
	font-size: 20px;
	text-align: center;
	line-height: 1.5;
}
.privacypolicy main p, .detail li {
	font-size: 14px;
	line-height: 2;
}
p.agree {
	font-size: 16px;
	text-align: center;
}
.privacypolicy main .txt-right {
  text-align: end;
}
.privacypolicy main .txt-left {
  text-align: left;
}


/* ol */
.privacypolicy main .detail ol {
  line-height: 1.5;
}

.privacypolicy main .detail ol li {
  display: list-item;
  list-style: unset;
  text-align: start;
  line-height: 2;
}

.privacypolicy main .detail ol.inside li {
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  list-style-type: none;
  counter-increment: cnt;
}

.privacypolicy main .detail ol.inside li::before {
  content: "(" counter(cnt) ") ";
}










/**
 * レスポンシブ: SP用 ウィンドウ幅640px以下
 */
@media screen and (max-width:640px) {

.table td, .table th {
	font-size: 13px;
}
table.table-bordered thead.atama td {
	font-size: 13px;
}	
table.table-bordered thead.atama th:nth-child(1), table.table-bordered thead.atama th:nth-child(2), table.table-bordered thead.atama th:nth-child(3) {
	font-size: 13px;
}	
.oshitai {
	font-size: 13px;
}
.container {
	width: 96%;
	margin: 0 auto;
	padding: 0 2%;
}	
}



/**
 * レスポンシブ: SP用 ウィンドウ幅375px以下
 */
@media screen and (max-width:375px) {

.controls label {
	font-size: 14px;
}
}



/**
 * レスポンシブ: SP用 ウィンドウ幅370px以下
 */
@media screen and (max-width:370px) {

table.table-bordered thead.atama th:nth-child(1), table.table-bordered thead.atama th:nth-child(2), table.table-bordered thead.atama th:nth-child(3) {
	font-size: 12px;
}	
table.table-bordered thead.atama td {
	font-size: 12px;
}
table.table-bordered thead.atama th a {
	font-size: 12px;
}
.table td, .table th {
	font-size: 12px;
}
.oshitai {
	font-size: 12px;
}	
}

/**
 * レスポンシブ: SP用 ウィンドウ幅320px以下
 */
@media screen and (max-width:320px) {

.yokaku {
	font-size: 20px;
}
.privacypolicy main h1 {
	font-size: 18px;
}
.comtable th, .comtable td {
	font-size: 13px;
}
.table td, .table th {
	font-size: 12px;
}
table.table-bordered thead.atama td {
	font-size: 12px;
}	
table.table-bordered thead.atama th:nth-child(1), table.table-bordered thead.atama th:nth-child(2), table.table-bordered thead.atama th:nth-child(3) {
	font-size: 12px;
}	
.oshitai {
	font-size: 12px;
}
}


/**
 * レスポンシブ: SP用 ウィンドウ幅280px以下
 */
@media screen and (max-width:280px) {

.table td, .table th {
	font-size: 11px;
}
table.table-bordered thead.atama td {
	font-size: 11px;
}	
table.table-bordered thead.atama th:nth-child(1), table.table-bordered thead.atama th:nth-child(2), table.table-bordered thead.atama th:nth-child(3) {
	font-size: 11px;
}	
.oshitai {
	font-size: 11px;
}
}