@charset "UTF-8";
/*	----------------------------
ワクチン接種予約受付
---------------------------------	*/
html {
  font-size: 62.5%;
  height: 100%;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}

img {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

a{color:#115098;text-decoration:none;background-color:transparent}
a:hover{color:#0056b3;text-decoration:underline}
a:not([href]){color:inherit;text-decoration:none}
a:not([href]):hover{color:inherit;text-decoration:none}

header {
  border-top: 5px solid #1b5b76;
  text-align: center;
  position: relative;
}

header h1 {
  font-size: 2.4rem;
  font-weight: 500;
  color: #fff;
  background-color: #1b5b76;
  letter-spacing: 0.3rem;
  padding: 1rem;
}

@media (max-width: 575.98px) {
  header h1 {
    font-size: 1.4rem;
    font-weight: 500;
    color: #fff;
    background-color: #1b5b76;
    letter-spacing: 0.3rem;
    padding: 1rem;
  }
}


h2.h2 {
  border-bottom: 1px solid #dde4f1;
  text-align: left;
  font-size: 1.5rem;
  margin-bottom: 2rem;
  color: #284560;
}

header .logo {
  padding: 2.2rem 0 2.3rem;
}
@media (max-width: 575.98px) {
  header .logo {
    padding: 1rem 0 1rem;
    width: 90%;
    margin: 0 auto;
 }
}
@media(max-width: 575.98px){
	.logo .hospital_group_name{
		text-align: left;
		margin-right: 55px;
	}
	.logo .hospital_name{
		text-align: left;
		margin-right: 55px;
	}
	header .reserve_help{
		width: 55px;
	}
}
header .qa {
  position: absolute;
  top: 1rem;
  right: 0.5rem;
}
@media (max-width: 575.98px) {
  header .qa {
    top: 1rem;
    right: 1rem;
 }
}

header .nav {
  background-color: #c0c1c1;
  line-height: 0;
}

header .nav .inner {
  max-width: 976px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 15px;
}

header .nav .inner p {
  margin-right: 24px;
  width: 12.7%;
}
@media (max-width: 575.98px) {
  header .nav .inner {
    padding-right: 0;
    padding-left: 10px;
 }
  header .nav .inner p {
    margin-right: 1rem;
    width: 20%;
 }
}
header .nav ul {
  display: flex;
  flex: 1;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  padding-left: 0;
}
header .nav ul li {
  list-style: none;
  display: inline;
}
@media (max-width: 575.98px) {
  header .nav ul {
    justify-content: flex-start;
    flex-wrap: wrap;
 }
  header .nav ul li {
    width: 21%;
    margin: .5rem;
 }
}

main {
  margin-bottom: 5rem;
  flex: 1 0 auto;
}

main h3 {
  font-weight: 700;
  color: #2077b0;
  background: #dbebf6;
  padding: 1rem 0 0.7rem 1rem;
  margin-bottom: 2rem;
  border-radius : 8px;
  border-bottom: 4px solid #c8e3f4;
}

main .h3_top-info {
  font-weight: 700;
  color: #2077b0;
  background: #dbebf6;
  padding: 1rem 0 0.7rem 1rem;
  margin-bottom: 1rem;
  border-radius : 8px;
  border-bottom: 4px solid #c8e3f4;
}

main .inner {
  max-width: 960px;
  margin: 0 auto;
  padding-top: 3rem;
  padding-right: 15px;
  padding-left: 15px;
}

.inner_login {
  max-width: 960px;
  margin: 0 auto;
  text-align: right;
  padding-top: 1rem;
}

.txt_first {
  font-weight: 700;
  padding: 0;
  margin: 0 auto;
  line-height: 3rem;
}
.txt_first_02 {
  font-weight: 700;
  padding: 0 1rem 0.5rem 1rem;
  margin: 0 auto 4rem;
  line-height: 3rem;
  border-bottom: solid 1px #308ea4;
}
@media (max-width: 575.98px) {
  .txt_first {
    padding: 0;
    line-height: 2.5rem;
 }
  .txt_first_02 {
    padding: 0;
    line-height: 2.5rem;
 }
}

.warning {
}
.warning p {
  margin-bottom: 1rem;
  line-height: 1.8;
  display: inline-block;
}
@media (max-width: 575.98px) {
  .warning p {
    margin-top: -42px;
    padding-left: 50px;
  }
}
.warning::before {
  content: '';
  display: inline-block;
  width: 38px;
  height: 33px;
  background-image: url(../images/icon_warning.png);
  background-size: contain;
  vertical-align: top;
  margin-right: 20px;
}

.kanryo {
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
  margin: 5rem auto;
}

main .agree {
  margin: 1rem auto 2rem;
  text-align: center;
}
main .agree_01 {
  margin: 0 auto 3rem;
  text-align: center;
}
main .agree_02 {
  margin: 0 auto 3rem;
  text-align: center;
}
label, input[type='checkbox'] {
  cursor: pointer;
  vertical-align: middle;
  margin-right: 1rem;
}
.radio_inner label {
  display: inline-block;
}

main .agree label {
  color: #1A1311;
  font-weight: 700;
}
.form_btn{
	display       : inline-block!important;
	font-weight   : 600!important;
	letter-spacing: 0.2rem!important;
	border-radius : 8px!important;						/* 角丸			*/
	font-size     : 16px!important;						/* 文字サイズ	*/
	text-align    : center!important;					/* 文字位置		*/
	cursor        : pointer!important;					/* カーソル		*/
	padding       : 20px 40px!important;				/* 余白			*/
	background    : #2077b0!important;					/* 背景色		*/
	color         : #ffffff!important;					/* 文字色		*/
	line-height   : 1em!important;						/* 1行の高さ	*/
	transition    : 0.3s!important;						/* なめらか変化	*/
	border        : 2px solid #2077b0!important;		/* 枠の指定		*/
}
.form_btn:hover {
	color         : #2077b0!important;			/* 背景色		*/
	background    : #ffffff!important;			/* 文字色		*/
}
.form_btn02{
	display       : inline-block;
	font-weight   : 600;
	letter-spacing: 0.2rem;
	border-radius : 8px;				/* 角丸			*/
	font-size     : 16px;				/* 文字サイズ	*/
	text-align    : center;				/* 文字位置		*/
	cursor        : pointer;			/* カーソル		*/
	padding       : 15px 40px;			/* 余白			*/
	background    : #4494c8;			/* 背景色		*/
	color         : #ffffff;			/* 文字色		*/
	line-height   : 1em;				/* 1行の高さ	*/
	transition    : 0.3s;				/* なめらか変化	*/
	border        : 2px solid #4494c8;	/* 枠の指定		*/
}
.form_btn02:hover {
	color         : #4494c8;			/* 背景色		*/
	background    : #ffffff;			/* 文字色		*/
}
.form_btn03{
	display       : inline-block;
	font-weight   : 600;
	letter-spacing: 0.2rem;
	border-radius : 8px;				/* 角丸			*/
	font-size     : 15px;				/* 文字サイズ	*/
	text-align    : center;				/* 文字位置		*/
	cursor        : pointer;			/* カーソル		*/
	padding       : 15px 40px;			/* 余白			*/
	background    : #4494c8;			/* 背景色		*/
	color         : #ffffff;			/* 文字色		*/
	line-height   : 1em;				/* 1行の高さ	*/
	transition    : 0.3s;				/* なめらか変化	*/
	border        : 2px solid #4494c8;	/* 枠の指定		*/
}
.form_btn03:hover {
	color         : #4494c8;			/* 背景色		*/
	background    : #ffffff;			/* 文字色		*/
}
.form_btn04{
	display       : inline-block!important;
	font-weight   : 600!important;
	letter-spacing: 0.2rem!important;
	border-radius : 8px!important;				/* 角丸			*/
	font-size     : 14px!important;				/* 文字サイズ	*/
	text-align    : center!important;				/* 文字位置		*/
	cursor        : pointer!important;			/* カーソル		*/
	padding       : 15px 40px!important;			/* 余白			*/
	background    : #8d8d8d!important;			/* 背景色		*/
	color         : #ffffff!important;			/* 文字色		*/
	line-height   : 1em!important;				/* 1行の高さ	*/
	transition    : 0.3s!important;				/* なめらか変化	*/
	border        : 2px solid #8d8d8d!important;	/* 枠の指定		*/
}
.form_btn04:hover {
	color         : #8d8d8d!important;			/* 背景色		*/
	background    : #ffffff!important;			/* 文字色		*/
}
.form_btn05{
	display       : inline-block!important;
	font-weight   : 600!important;
	letter-spacing: 0.2rem!important;
	border-radius : 8px!important;				/* 角丸			*/
	font-size     : 16px!important;				/* 文字サイズ	*/
	text-align    : center!important;				/* 文字位置		*/
	cursor        : pointer!important;			/* カーソル		*/
	padding       : 20px 40px!important;			/* 余白			*/
	background    : #8d8d8d!important;			/* 背景色		*/
	color         : #ffffff!important;			/* 文字色		*/
	line-height   : 1em!important;				/* 1行の高さ	*/
	transition    : 0.3s!important;				/* なめらか変化	*/
	border        : 2px solid #8d8d8d!important;	/* 枠の指定		*/
}
.form_btn05:hover {
	color         : #8d8d8d!important;			/* 背景色		*/
	background    : #ffffff!important;			/* 文字色		*/
}
@media (max-width: 575.98px) {
  .form_btn, .form_btn02, .form_btn03, .form_btn04, .form_btn05, .form_btn_TOP01, .form_btn_TOP02, .btn01, .btn02, .btn03, .btn04, .step4_btn{
    width: calc(100% - 1rem)!important;
    margin: 0 0 1.5rem !important;
  }
}
.form_btn03::before{
  content: "仮登録する";
}
.form_reserve::after{
  content: "インターネットからのご予約";
}
.form_login::before{
  content: "ご予約日のキャンセル・変更";
}

.form_btn_TOP01{
	display       : inline-block;
	width   : 100%;
	font-weight   : 700;
	letter-spacing: 0.2rem;
	border-radius : 8px;							/* 角丸			*/
	font-size     : 16px;							/* 文字サイズ	*/
	text-align    : center;							/* 文字位置		*/
	cursor        : pointer;						/* カーソル		*/
	padding       : 10px 10px 30px 10px;			/* 余白			*/
	background    : #2077b0;						/* 背景色		*/
	color         : #ffffff;						/* 文字色		*/
	line-height   : 1em;							/* 1行の高さ	*/
	transition    : 0.3s;							/* なめらか変化	*/
	border        : 2px solid #2077b0;				/* 枠の指定		*/
}
.form_btn_TOP01:hover {
	color         : #2077b0;						/* 背景色		*/
	background    : #ffffff;						/* 文字色		*/
}
.form_btn_TOP02{
	display       : inline-block;
	width   : 100%;
	font-weight   : 700;
	letter-spacing: 0.2rem;
	border-radius : 8px;				/* 角丸			*/
	font-size     : 16px;				/* 文字サイズ	*/
	text-align    : center;				/* 文字位置		*/
	cursor        : pointer;			/* カーソル		*/
	padding       : 15px 10px;			/* 余白			*/
	background    : #4494c8;			/* 背景色		*/
	color         : #ffffff;			/* 文字色		*/
	line-height   : 1em;				/* 1行の高さ	*/
	transition    : 0.3s;				/* なめらか変化	*/
	border        : 2px solid #4494c8;	/* 枠の指定		*/
}
.form_btn_TOP02:hover {
	color         : #4494c8;			/* 背景色		*/
	background    : #ffffff;			/* 文字色		*/
}





.submit_btnarea button[type="submit"][disabled] {
      background-color: #C9C9CA;
      border: 2px solid #C9C9CA;
      color: #fff;
      cursor: default;
    }  
    .submit_btnarea button[type="submit"][disabled]::before {
      content: "仮登録する";
    }  
    .submit_btnarea button[type="submit"][disabled]:hover{
    opacity:1;
  }
.submit_btnarea {
  margin-top: 4rem;
}

input[type="text"], input[type="email"], textarea {
  font-size: 1.6em;
}

.item {
  display: flex;
  border-bottom: 1px solid #b9b9b9;
  max-width: 850px;
  margin: 0 auto;
}
@media (max-width: 575.98px) {
  .item {
    flex-direction: column;
  }
  .label_left{
    width: auto !important;
    padding: 1rem !important;
  }
}
.table-c dl{
	display:table-row;
}
.table-c dt,dd{
  order: 1;
}
.label_left{
  width: 150px;
  background: #e5e5e5;
  text-align: left;
  padding: 2.5rem 0 0 2.5rem;
}
.item input {
  width: 90%;
  text-align: left;
  padding: 0.7rem;
  margin: 0;
}

.item .item_mail {
  font-size: 1.5em;
  text-align: left;
  width: 700px;
  margin: 2rem;
}
@media(max-width: 575.98px){
	.item .item_mail {
    	width: 330px;
    }
}
.item .item_mail_02 {
  text-align: left;
  width: 700px;
  margin: 2rem;
}
@media (max-width: 575.98px) {
  .item .item_mail_02 {
    text-align: left;
    width: 90%;
    margin: 2rem;
  }
}

.btn01{
	display       : inline-block;
	font-weight   : 600;
	letter-spacing: 0.2rem;
	border-radius : 8px;				/* 角丸			*/
	font-size     : 16px;				/* 文字サイズ	*/
	text-align    : center;				/* 文字位置		*/
	cursor        : pointer;			/* カーソル		*/
	padding       : 20px 40px;			/* 余白			*/
	background    : #2077b0;			/* 背景色		*/
	color         : #ffffff;			/* 文字色		*/
	line-height   : 1em;				/* 1行の高さ	*/
	transition    : 0.3s;				/* なめらか変化	*/
	border        : 2px solid #2077b0;	/* 枠の指定		*/
}
.btn01:hover {
	color         : #2077b0;			/* 背景色		*/
	background    : #ffffff;			/* 文字色		*/
}



.btn02, .btn03, .btn04{
  border: 1px solid #fff;
  color: #fff;
  width: 326px;
  height: 52px;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  cursor: pointer;
  /* transition: all .5s ease-out; */
  position: relative;
  margin: 0 auto;
}
.btn02{
  display: block;
}
.btn02, .btn03{
  background: #5e5e5e;
}
.btn02:hover, .btn03:hover{
  background: #aaaaaa;
}
.btn04{
  background: #1a507d;
}

.btn03, .btn04{
  border: 1px solid #fff;
  color: #fff;
  width: 326px;
  height: 52px;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  cursor: pointer;
  /* transition: all .5s ease-out; */
  position: relative;
  margin: 0 1.5rem 5rem;
}
@media (max-width: 575.98px) {
  .btn03{
    display: inline-block;
    margin: 0 1.5rem 2rem;
  }
   .btn04{
    display: inline-block;
    margin: 0 1.5rem 5rem;
  }
}
.btn05 {
  background-color: #3e4e84;
  padding: 0.5rem 0.8rem;
  font-weight: 700;
  color: #fff;
}

.step2-3 {
  text-align: center;
  margin-top: 5rem;
  margin-bottom: 18rem;
  line-height: 2.3;
}

.step3 {
  margin-bottom: 5rem;
}
.step3 ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  /* justify-content: space-between; */
  /* margin-bottom: 5rem; */
  align-items: center;
  /* 20220130追記 */
  justify-content: center;
  /* 20220130追記 */
}
.step3 ul li:last-child {
  width: 302px;
}
@media (max-width: 575.98px) {
  .step3 ul li {
    width: 49%;
    margin-bottom: .2rem;
    margin-left: 0.1rem;
    margin-right: 0.1rem;
  }
  /* .step3 ul li:last-child {
    margin-top: .5rem;
    width: 100%;
  } */
}

/* 20220130追記 */

@media (min-width: 576px) {
  .step3 li {
    margin: 0.5rem;
  }
}

.step3-text-pc {
  display: block !important;
  max-width: 298px;
}

.step3-text-sp {
  display: none !important;
}

@media screen and (max-width:939.98px) {
  .step3-text-pc {
    display: none !important;
  }
  .step3-text-sp {
    display: block !important;
    margin-top: 2rem;
  }
}
/* 20220130追記 */

.step4 {
  margin-bottom: 5rem;
}

.step4 summary {
  list-style: none;
  padding: 1rem 7rem 1rem 1rem;
  position: relative;
  cursor: pointer;
  background-color: #e4e9ee;
  border-left: 5px solid #4e688f;
}

.step4 summary::-webkit-details-marker {
  display: none;
}

.step4 summary::after {
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  content: '表示する';
  background-color: #616366;
  padding: .5rem .8rem;
  position: absolute;
  width: 52px;
  text-align: center;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  transition: transform 0.5s;
  border-radius : 3px;
}

.step4 details[open] summary::after {
  content: '閉じる';
}

.step4 .answer {
  padding: 1rem 0;
}

.step4 details[open] .answer {
  animation: fadein 0.5s ease;
}

.step4 .answer ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: .5rem;
}

/* 20220130追記 */
/* @media (max-width:849.98px){
  .step4 .answer ul {
    display: block;
  }
} */
@media (max-width: 569.98px) {
  .step4 .answer ul {
    display: block;
  }
}
/* 20220130追記 */

.step4 .answer ul li {
  width: 28.3%;
  min-width: 214px;
  border-bottom: 0.75px solid #714e8f;
  padding: 1rem;
  position: relative;
  margin-bottom: 1rem;
}

/* 20220130追記 */
@media (max-width:849.98px){
  .step4 .answer ul li {
    width: 45%;
  }
}

@media (max-width: 569.98px) {
  .step4 .answer ul li {
    width: auto;
  }
}
/* 20220130追記 */

.step4 .answer ul li .reserve {
	text-align: center;
	position: absolute;
	cursor: pointer;
	right: 1rem;
	display: block;
	background-color: #3e5a84;
	color: #fff;
	margin: auto;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	padding: .5rem 1rem .5rem 1rem;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	border-radius : 3px;
	transition    : 0.3s;
}

.step4 .answer ul li .reserve:hover{
	background: #308ea4;
}
.step4 .answer ul li .none {
  width: 68px;
  height: 18px;
  text-align: center;
  position: absolute;
  right: 1rem;
  display: block;
  color: #fff;
  background-color: #BDBEBF;
  margin: auto;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  padding: .6rem 0 .4rem 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.step4 .answer ul li span {
  text-align: center;
  right: 110px;
  display: inline;
  margin: auto;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  padding: .5rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

@keyframes fadein {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

.step4 details {
  margin-bottom: 1.5rem;
}

@media not all and (min-width: 640px){
  .step4 details {
    width: 100%;
  }
}

.step4-2 {
  max-width: 675px;
  margin: 0 auto 5rem;
}
.step4-2 .warning, .step7 .warning {
  color: #E54E3D;
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
  margin: 5rem auto;
}
.step4-2 .warning:before, .step7 .warning:before {
  content: '';
  display: block;
  margin: 0 auto 2rem;
  width: 38px;
  height: 33px;
  background-image: url(../images/icon_warning.png);
  background-size: contain;
  vertical-align: top;
}
.step4-2_agree {
  font-weight: 700;
  margin-bottom: 5rem;
}
.step4-2_btnarea {
  text-align: center;
}

.step4-2_btnarea button[type="submit"][disabled] {
  background-color: #C9C9CA;
  color: #fff;
  cursor: default;
}
.step4-2_btnarea button[type="submit"][disabled]:hover{
opacity:1;
}

.step4_btn {
  background: #3e5c84;
  border: 1px solid #fff;
  color: #fff;
  width: 100%;
  width: 326px;
  height: 52px;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  cursor: pointer;
  /* transition: all .5s ease-out; */
  position: relative;
}

.step5 form table {
  max-width: 850px;
  margin: 0 auto 5rem;
  text-align: left;
  border-collapse: collapse;
}
 
input[type="submit"],
input[type="button"],
input[type="text"],
select,
textarea,
button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
  border: none;
}
@media (max-width: 575.98px) {
.form-table th,
.form-table td {
  display: block;
  width: 100%;
  border-bottom: none;
}
}
 
input[type="text"],
textarea, select {  
  border: 1px solid #828281;
  font-size: 16px;
  padding: .5rem;
  transition: 0.8s;
  border-radius: 0;
}
 
input[type="text"]:focus,
textarea:focus, select:focus {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
 
textarea[name="content"] {
  display: inline-block;
  width: 100%;
  height: 200px;
}
 
input::placeholder,
textarea::placeholder {
  color: #ccc;
}
 
::-webkit-input-placeholder {
  color: #ccc;
  opacity: 1;
}
 
::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}
 
:-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}


.select {
  position: relative;
  width: 200px;
}
.select::after {
  content: "\25BC";
  font-size: 1rem;
  top: 1em;
  right: 10px;
  position: absolute;
}
.select select, .select option {
  width: 100%;
  padding-right: 3rem;
}

.form-table {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
}

.section01 {
  margin: 0 auto 5rem;
  max-width: 850px;
  font-weight: 700;
}


.sec_inner input.txt, .sec_inner textarea.txt {
  width: calc(100% - 1rem);
}

.text_inner input.txt, .text_inner textarea.txt {
  width: calc(100% - 1rem);
}

.sec_inner {
  padding: 0.5rem 0 1.5rem 0;
}

.section01 p {
  padding: 0 2rem;
}

.text_inner {
  padding: 1rem 2rem 2rem 2rem;
}
.text_title {
  padding-left: 2rem;
}
.text_title p {
  padding: 0 !important;
  margin: 0;
}

@media (max-width: 575.98px) {
  .sec_inner {
    padding: 1rem 0;
  }
  .section01 p {
    padding: 0;
    margin-top: 1rem;
  }
  .text_title p {
    margin: 0;
  }
  .text_inner {
    padding: 1rem 1rem 0rem 0rem !important;
  }
  .text_title {
    padding-top: 1rem !important;
    padding-left: 0;
  }
}

.bg-pink{
  background-color: #ffeeee!important;
}
.error-backgroundcolor{
  background-color: #ffeeee!important;
}

.form-table th, .form-table td {
  padding: 1rem 2rem;
  border-bottom: 1px solid #b9b9b9;
}
/* .form-table tr:last-child th, .form-table tr:last-child td {
  background: none;
} */

@media (max-width: 575.98px) {
  .form-table th, .form-table td {
  padding: 1rem;
}
}
.form-table th {
  background: #e5e5e5;
  position: relative;
  text-align: left;
  width: 248px;
}
@media (max-width: 575.98px) {
  .form-table th, .form-table td {
    width: initial;
  }
  .form-table div .input {
    margin-right: 0 !important;
  }
}
.form-table div .input {
  width: 80%;
  margin-right: 1rem;
}

.error-backgroundcolor {
  background-color: #ffeeee;
}

.name_inner {
  display: flex;
  align-items: flex-start;
}
.name_inner div {
  width: 50%;
  display: inline-flex;
  align-items: center;
}
.name_inner span {
  width: 20%;
}
@media (max-width: 575.98px) {
  .name_inner {
    display: block;
  }
  .name_inner div {
    width: 100%;
  }
  .name_inner div:first-child {
    margin-bottom: 1rem;
  }
}
.tel_inner {
  display: flex;
  align-items: center;
}
.tel_inner span {
  margin-left: 1rem;
}
.tel_inner input, .num_inner input {
  width: 70%;
  margin-right: 1rem;
}
@media (max-width: 575.98px) {
  .tel_inner input, .num_inner input {
    width: 50%;
  }
}
.radio_inner {
}
.radio_inner span {
  margin-left: 1rem;
}
.radio_inner label:first-child {
  margin-right: 3rem;
}
.form-table .radio_inner label:first-child {
  margin-right: 1rem;
}

.radio_inner input {
  vertical-align: initial;
}
.birthday_inner {
  vertical-align: middle;
}
.birthday_inner label > input {
  width: 12%;
  margin-right: 1rem;
}
.birthday_inner label:first-child input {
  width: 20%;
}

.att_inner input {
  width: calc(52% - 1rem);
  margin-right: 1rem;
}
@media (max-width: 575.98px) {
  .att_inner input {
    width: calc(100% - 1rem);
    margin-right: 0;
  }
}

@media (max-width: 575.98px) {
  .birthday_inner label > input {
    width: 8%;
    text-align: left;
  }
  .birthday_inner label:first-child input {
    width: 12%;
  }
}
.size_inner {
  vertical-align: middle;
}
.size_inner label > input {
  width: 30%;
  margin: 0 1rem;
}
@media (max-width: 575.98px) {
  .size_inner label > input {
    width: 16%;
  }
}
.txt_inner input {
  width: calc(100% - 1rem);
}

.sec_inner.birthday_inner label:last-child {
  margin-left: 1rem;
}
.sec_inner.birthday_inner label:last-child input {
  margin-left: 1rem;
}
@media (max-width: 575.98px) {
  .sec_inner.birthday_inner label:last-child {
    margin-left: 0;
    display: block;
    margin-top: .5rem;
  }
}
.sec_inner.q5 input:last-child {
  margin-left: 2rem;
  width: 400px;
}
.sec_inner.q5-2 {
  padding-top: 0;
}
.sec_inner.q5-2 div {
  display: inline-block;
}
@media (max-width: 575.98px) {
  .sec_inner.q5-2 div {
    display: block;
  }
  .sec_inner.q5-2 label {
    margin-left: 0 !important;
  }
  .sec_inner.q5 input:last-child {
    margin-left: 0;
    width: 100%;
    margin-top: .5rem;
  }
  .sec_inner.q5 label {
    margin-bottom: 1rem;
  }
  .sec_inner.q2, .sec_inner.q6, .sec_inner.q8 {
    line-height: initial !important;
  }
  .sec_inner.q5 input:last-child {
    margin-left: 0;
    width: calc(100% - 1rem);
  }
}
.sec_inner.q2, .sec_inner.q6, .sec_inner.q8 {
  line-height: 2;
}
.sec_inner.q6 label, .sec_inner.q8 label, .sec_inner.q9 label, .sec_inner.q2 label {
  margin-right: 2rem;
  display: inline-block;
}
.sec_inner.q5 {
  padding-bottom: 0;
}
.sec_inner.q5 div, .sec_inner.q11 div {
  display: inline-block;
  margin-bottom: 1rem;
}
.sec_inner.q10 {
  padding: 0 2rem;
  margin-bottom: 1rem;
}
.sec_inner.q10 label:first-child input {
  margin-right: 1rem;
}
@media (max-width: 575.98px) {
  .sec_inner.q10 label:first-child {
    margin-right: 1rem !important;
    margin-bottom: .5rem !important;
  }
  .sec_inner.q10 label:first-child input {
  margin-right: .5rem;
  }
}

.sec_inner.q10 label:first-child {
  margin-right: 3rem;
}
.sec_inner.q10 label:last-child input {
  margin-left: 1rem;
}
.sec_inner.q10 .q10-1 {
  width: 140px;
}
.sec_inner.q10 .q10-2 {
  width: 460px;
}
@media (max-width: 575.98px) {
  .sec_inner.q10 {
    padding: 0;
  }
  .sec_inner.q10 label {
    display: block;
  }
  .sec_inner.q10 .q10-1 {
    width: 46%;
  }
  .sec_inner.q10 .q10-2 {
    width: auto;
    margin-right: 0;
  }
  .sec_inner.q10 label:last-child input {
    margin-left: 0;
    width: 100%;
    margin-bottom: 1rem;
  }
}

.sec_inner .q12 {
  margin-left: 1rem;
  width: 320px;
}
@media (max-width: 575.98px) {.sec_inner .q12 {
  width: auto;
}
}
.sec_inner.q13 textarea {
  height: 66px;
}

.step7 {
  max-width: 890px;
  margin: 0 auto 5rem;
  text-align: center;
  line-height: 1.8;
}
.step7 ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 7rem;
}
.step7 ul li {
  position: relative;
  list-style: none;
  padding-right: 26px;
}
.step7 ul li:last-child {
  padding-right: 0;
}
@media (max-width: 575.98px) {
  .step7 ul li {
    width: calc(50% - 26px);
  }
  .step7 ul li::after {
    top: 50% !important;
  }
  
}
.step7 ul li::after {
  position: absolute;
  top: 102px;
  right: 5px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  content: '';
  display: inline-block;
  width: 15px;
  height: 24px;
  background-image: url(../images/step7_arw.png);
  background-size: contain;
}
.step7 ul li:last-child::after {
  content:none;
  display: inline-block;
  width: 15px;
  height: 24px;
  background-image: none;
  background-size: contain;
}

.insurance_inner {
  vertical-align: middle;
}
.insurance_inner label > input {
  width: 16%;
  margin-left: 1rem;
}
.insurance_inner label:first-child input {
  width: 20%;
}
@media (max-width: 575.98px) {
  .insurance_inner label:first-child {
    display: block;
    margin-bottom: .5rem;
  }
  .insurance_inner label:first-child input {
    width: auto !important;
  }
  .insurance_inner label > input {
    width: 26%;
  }
  .insurance_inner label:first-child input {
    width: 12%;
  }
}

.w850 {
  max-width: 850px;
  margin: 0 auto;
}

.tit1 {
  color: #fff;
  font-weight: 700;
  background-color: #475a7e;
  padding: 1rem;
}
@media (max-width: 575.98px) {
  .tit1 {
    margin-top: 2rem;
  }
}
.tit2 {
  color: #fff;
  font-weight: 700;
  background-color: #3b506f;
  padding: 1rem;
}


main .tel {
  color: #1A1311;
  border: 1px solid #6F6F6F;
  display: inline-flex;
  padding: 1rem 2rem;
  font-size: 1.4rem;
  font-weight: 700;
  justify-content: center;
  align-items: center;
  margin-left: 60px;
  line-height: 1;
}
@media (max-width: 575.98px) {
  main .tel {
    color: #1A1311;
    border: 1px solid #6F6F6F;
    display: block;
    padding: 1rem;
    font-size: 1.4rem;
    font-weight: 700;
    justify-content: center;
    align-items: center;
    margin-left: 0;
    text-align: center;
  }
  main .tel span {
    display: block;
    white-space: nowrap;
  }
}
main .tel span {
  font-size: 2.8rem;
  margin-left: 1rem;
  white-space: nowrap;
}
main .tel::before {
  font-size: 2.8rem;
  margin-left: 1rem;
  content: '';
  display: inline-block;
  width: 17px;
  height: 22px;
  background-image: url(../images/icon_tel.png);
  background-size: contain;
  vertical-align: top;
  margin-right: 1rem;
}

.scroll {
  overflow-y: scroll;
  height: 164px;
  padding: 0 2rem;
}
.scroll p {
  margin-bottom: 1rem;
}

footer {
  margin-top: auto;
  text-align: center;
  color: #ffffff;
  background-color: #308ea4;
}
footer .inner {
  padding-bottom: 2rem;
}
footer .logo {
  margin: 2rem 0 1rem;
  letter-spacing: 0.1rem;
}
footer .text {
  margin: 1rem 0 0 0;
}
footer .copyimg {
  background-color: #b1dae3;
  padding: 1.5rem 0 0 0;
}
footer .copyimg img {
  width: 180px;
}
footer .copy {
  background-color: #b1dae3;
  font-size: 11px;
  font-weight: 500;
  color: #1b5b76;
  letter-spacing: 0.1rem;
  padding: 1rem 0 1.5rem 0;
}
footer a {
  color:#fff;
  text-decoration:none;
}
.bold {
  font-weight: 700;
}

.mb1r {
  margin-bottom: 1rem;
}
.mb2r {
  margin-bottom: 2rem;
}
.mb5r {
  margin-bottom: 5rem;
}
.mb7r {
  margin-bottom: 7rem;
}
.mb10r {
  margin-bottom: 10rem;
}
.ml1r {
  margin-left: 1rem;
}
.ml2r {
  margin-left: 2rem;
}
.mr1r {
  margin-right: 1rem;
}
.mr2r {
  margin-right: 2rem;
}
.mr4r {
  margin-right: 4rem;
}
.pt0 {
  padding-top: 0;
}
.pb0 {
  padding-bottom: 0;
}
.pb1r {
  padding-bottom: 1rem;
}
.pt1r {
  padding-top: 1rem;
}
.pt2r {
  padding-top: 2rem;
}
.pt3r {
  padding-top: 3rem;
}

.fz13 {
  font-size: 13px;
}
.fz14 {
  font-size: 14px;
}
.fz16 {
  font-size: 16px;
}
.fz17 {
  font-size: 17px;
}
.fz18 {
  font-size: 18px;
}
.fz20 {
  font-size: 20px;
}

.center {
  text-align: center;
}

.red {
  color: #CB0030;
}

.d-flex {
  display: flex;
}

.d-inline-block {
  display: inline-block !important;
}

.align-items-center {
  align-items: center !important;
}

/* 20220130追記 */
.input-image {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}
/* 20220130追記 */

/* 20220323追記 */
.message-covid {
  border: 2px solid #E54E3D;
}

.message-covid p {
  padding: 15px 5px;
  line-height: normal;
}
/* 20220323追記 */

/* 20220324追記 */
.message-imp {
  border: 2px solid #E54E3D;
}

.message-imp p {
  padding: 15px 5px;
  line-height: normal;
}
/* 20220324追記 */

.pdf_icon {
  width: 25px;
}

/* 20220616追記 人数 */
.step4 .ninzu {
  margin: 2rem 2rem 5rem;
  text-align: center;
}
.step4 .ninzu > div {
  margin-top: 2rem;
}
.step4 input[type=radio] {
  display: none;
}
.step4 .label {
  display: inline-block;
  margin: 5px;
  border: 1px solid #828281;
  font-size: 16px;
  padding: 1rem 3rem;
}
.step4 input[type="radio"]:checked + label {
  background: #31A9EE;
  background-color: #e9f4f8;
  border: solid 1px #1a507d;
  font-weight: 700;
}
.step4 .label:hover {
  background-color: #e9f4f8;
}
.step4 .label input[type="radio"] {
  vertical-align: baseline;
}

/* 希望日時 */
.tabs {
  margin-top: 50px;
  padding-bottom: 40px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  width: 700px;
  margin: 0 auto;}

.tab_item {
  width: calc(100%/2);
  height: 50px;
  background-color: #c1c1c1;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  margin-right: 0;
}
.tab_item:hover {
  opacity: 0.75;
}

.tab_content {
  display: none;
  clear: both;
  overflow: hidden;
  padding-top: 2rem;
}

#calendar:checked ~ #calendar_content,
#list:checked ~ #list_content {
  display: block;
}
.step4.tab input[type="radio"]:checked + label {
  background: #31A9EE;
  background-color: #1a507d;
  color: #fff;
  border: none !important;
  font-weight: 700;
  margin-right: 0;
}
.step4 .calendar table {
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: 2rem;
}
.step4 .calendar table .sun{
  background-color: #f8d4dd;
}
.step4 .calendar table .sat{
  background-color: #cce9f4;
}
.step4 .calendar caption {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 1rem;
}
.step4 .calendar th {
  padding: 10px;
  width: 14.28%;
  background: #cdcdcd;
  border: solid 1px #828281;
}
.step4 .calendar td {
  padding: 10px;
  border: solid 1px #828281;
}
.step4 .calendar td:first-child {
  background-color: #ffedf2;
}
.step4 .calendar td:last-child {
  background-color: #e9f4f8;
}
.step4 .calendar td.none {
  background-color: #fff;
}
.step4 .calendar .close {
  background-color: #eeb2b2;
}
.step4 .calendar {
  position: relative;
}
.step4 .calendar .pager {
  width: 100%;
  position: absolute;
  display: flex;
  justify-content: space-between;
}
.step4 .calendar .pager span:nth-of-type(2) {
  font-size: 12px;
  margin-left: 17rem;
  padding-top: 2px;
}
.step4 .calendar .pager span:nth-of-type(2) input {
  margin-left: .5rem;
}
.step4 .calendar .pager span:first-child::before{
  content: "";
  background: url("../images/prev.png") no-repeat;
  background-size: contain;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: .5rem;
}
.step4 .calendar .pager span:last-child::after{
  content: "";
  background: url("../images/next.png") no-repeat;
  background-size: contain;
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: .5rem;
}
.step4 .calendar .pager form {
  display: inline-block;
}
.step4 .calendar .pager form input {
  background-color: #fff;
  color: #000;
  padding: 0;
  cursor: pointer;
}
.step4 .calendar table a {
  text-decoration: none;
}
.answer {
  position:relative;
  margin:20px 0px;
  padding: 10px;
  list-style-type: none;
}
.time {
  display: none;
  position: absolute;
  bottom: -2.5em;
  z-index: 1000;
  padding: 0.5em;
  color: #FFFFFF;
  background: #cc3333;
  border-radius: 0.5em;
}
.time:after {
  width: 100%;
  content: "";
  display: block;
  position: absolute;
  left: 0.5em;
  top: -8px;
  border-top:8px solid transparent;
  border-left:8px solid #c72439;
}

.calendar .answer:hover .time {
  display: block;
}

/* モーダル全体(背景＋本体) */
.modal{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  z-index: 100;
}

/* モーダル背景 */
.modal-bg{
  position: absolute;
  height: 100vh;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
}

/* モーダル本体 */
.modal-content{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: scroll;
  width: 60%;
  height: 60%;
  background: white;
  padding: 40px;
}
@media (max-width: 575.98px) {
  .modal-content{
    height: 60%;
    width: 70%;
    padding: 30px;
 }
}
.modal-content > p {
  text-align: center;
  font-size: 16px;
  font-weight: 700;
}

body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}
.modal-content_center_container{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.modal-content_center_container img{
  width: 158px;
}
@media (max-width: 575.98px) {
  .modal-content_center_container img{
    width: 40%;
 }
}

/*20220628追加*/

.rireki{
  margin-bottom: 3rem;
  padding: 1.5rem 1.5rem 1.5rem 1.5rem;
  background-color: #eaf4f8;
}
.rireki p{
  margin-bottom: .5rem;
}
.rireki a{
  margin-left: 1rem;
}

input.btn01[type="submit"][disabled] {
  background-color: #C9C9CA;
  color: #fff;
  cursor: default;
}
.step4 [style="pointer-events: none;"] summary::after{
  background-color: #C9C9CA;
  color: #fff;
  cursor: default;
}


/*20220905追加*/
.hospital_group_name{
  font-size: 1.3rem;
  font-weight: 500;
  color: #555555;
  letter-spacing: 0.2rem;
  padding: 0.4rem;
}

.hospital_name{
  font-size: 2.0rem;
  font-weight: 600;
  color: #555555;
  letter-spacing: 0.1rem;
  padding: 0.4rem;
}

.table-reserve-date_underline {
  text-decoration: none!important;
}
.table-reserve-date::before {
  content: "予約可";
}

.table-reserve-date{
	width: 4em;
	text-align: center;
	background-color: #115098;
	border-radius: 4px;
	color: #fff;
	margin: 20px auto -10px auto;
	font-size: 12px;
	font-weight: 600;
	padding: 0.5rem 0.5rem 0.3rem 0.5rem;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transition    : 0.3s;
}
.table-reserve-date:hover{
	background: #308ea4;
}

@media (max-width: 575.98px) {
  .table-reserve-date {
    width: 1em;
    margin: 25px auto 0px auto;
    font-weight: 800;
  }
  .table-reserve-date::before {
    content: "○";
  }
}

.select-another-date{
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	background: #5e5e5e;
	border-radius : 3px;
	transition    : 0.3s;
}

.select-another-date:hover{
	background: #aaaaaa;
}

.txt-underline {
	text-decoration: underline;
}

.regist_title{
	font-size: 1.6rem;
	font-weight: 600;
	color: #1b5b76;
	letter-spacing: 0.1rem;
	padding: 1.0rem;
	margin: 0 0 3.0rem 0;
	background: #b1dae3;
}
						/*========= ページトップのためのCSS ===============*/
						/*リンクを右下に固定*/
						#page-top {
							position: fixed;
							right: 10px;
							bottom:20px;
							z-index: 2;
						    /*はじめは非表示*/
							opacity: 0;
							transform: translateY(150px);
						}

						/*　上に上がる動き　*/
						#page-top.UpMove{
							animation: UpAnime 0.5s forwards;
						}

						@keyframes UpAnime{
						  from {
						    opacity: 0;
							transform: translateY(150px);
						  }
						  to {
						    opacity: 1;
							transform: translateY(0);
						  }
						}

						/*　下に下がる動き　*/
						#page-top.DownMove{
							animation: DownAnime 0.5s forwards;
						}

						@keyframes DownAnime{
						  from {
						  	opacity: 1;
							transform: translateY(0);
						  }
						  to {
						  	opacity: 1;
							transform: translateY(150px);
						  }
						}

						/*画像の切り替えと動き*/
						#page-top a {
						    /*aタグの形状*/
							display: block;
							width: 43px;
							height: 80px;
							color: #333;
							text-align: center;
							text-transform: uppercase; 
							text-decoration: none;
							font-size:0.6rem;
						    /*背景画像の指定*/
							background: url("/common/hospital-opr/images/pagetop_1.png") no-repeat center;
							background-size: contain;
						}

						#page-top.floatAnime a{
							width: 43px;
							height: 80px;
						    /*背景画像の指定*/
							background: url("/common/hospital-opr/images/pagetop_2.png") no-repeat center;
							background-size: contain;
						    /*アニメーションの指定*/
							animation: floatAnime 0.8s linear infinite;
							opacity: 0;
						}

						@keyframes floatAnime {
						  0% { transform: translateX(0);opacity: 1; }
						  25% { transform: translateX(-5px);opacity: 1; }
						  50% { transform: translateX(0);opacity: 1; }
						  75% { transform: translateX(5px);opacity: 1; }
						  100% { transform: translateX(0);opacity: 1; }
						}
						
						/* top用css */
						main .top-inner {
							width: 100%;
							display: flex;
							flex-flow: row-reverse;
						}
						.top-info_flex {
							display: flex;
						}
						.top-info_time00 {
							width: 5em;
						}
						.top-info_time01 {
							width: 3.5em;
						}
						.top-info_time02 {
							width: 2em;
						}
						.top-info_time03 {
							width: 3.5em;
						}
						.top-info_bg {
							background-color:rgba(255,255,255,0.7);
							padding: 1.0rem;
							margin: 0 0 3.0rem 0;
							border-radius : 8px;
						}

						@media (max-width: 575.98px) {
						  main .top-inner {
						  	width: auto;
						    display: block;
						  }
						}
						
						main .top-inner .top-buttons {
							width: 33%;
							margin-left: 3rem;
						}
						
						main .top-inner .top-buttons .agree_01 img {
							width: 100%;
							display: block;
						}
						
						main .top-inner .top-info {
							width: 67%;
						}
						
						@media (max-width: 575.98px) {
						  main .top-inner .top-buttons, main .top-inner .top-info {
						  	width: auto;
							margin-left: 0;
						  }
						}

/*==================================================
ふわっ
===================================*/

.fadeUp {
animation-name:fadeUpAnime;
animation-duration:0.9s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(10px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* アニメーションスタートの遅延時間を決めるCSS*/

.delay-time01{
animation-delay: 0.1s;
}

.delay-time02{
animation-delay: 0.2s;
}

.delay-time03{
animation-delay: 0.3s;
}

.delay-time04{
animation-delay: 0.4s;
}

.delay-time05{
animation-delay: 0.5s;
}

.delay-time06{
animation-delay: 0.6s;
}

.delay-time07{
animation-delay: 0.1s;
}

.delay-time08{
animation-delay: 0.2s;
}

.br-sp{
 display:none;
 }
@media (max-width: 575.98px){
 .br-sp{
  display: inline;
 }
}

@media (max-width: 575.98px){
 .reservation_num_yaer{
  width: 40%;
 }
 .reservation_num_btn .label{
  width: 70%;
 }
}

@media(max-width: 575.98px){
	.step6_button{
		display: flex;
		flex-flow: wrap-reverse;
	}
}