@charset "utf-8";

/* default PC */
div#inquiry {
  margin-top:-160px;
  padding-top:160px;
}

/*Web予約*/
h4#mailform {
  margin-top:-150px;
  padding-top:150px;
}

#reservation .num-content .table-numlist {
  width:100%;
}

#reservation .num-content .table-numlist tr {
  border-bottom:2px solid #EDEDED;
}

#reservation .num-content .table-numlist td {
  padding:17px 15px;
  vertical-align:top;
}

#reservation .num-content .table-numlist td:first-child {
  width:40%;
}

#reservation .num-content .table-numlist td .bold {
  font-size:18px;
  font-weight:bold;
}

#reservation .num-content .table-numlist td .tel-txt {
  margin-bottom:0;
}

#reservation .num-content .table-numlist td .tel-txt .tel {
  color:#DA656F;
  display:block;
  font-family:"Lato", sans-serif;
  font-size:48px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1em;
  max-width:440px;
  padding-left:40px;
  position:relative;
}

#reservation .num-content .table-numlist td .tel-txt .tel:before {
  background-image:url(../image/contents/tel_ico_pink.svg);
  background-repeat:no-repeat;
  background-size:contain;
  bottom:0;
  content:"";
  display:block;
  height:33px;
  left:0;
  margin:auto;
  position:absolute;
  top:4px;
  width:32px;
}


#reservation .reservation-btn .link-txt {
  margin-bottom:0;
}

#reservation .reservation-btn .btn-area {
  align-items:center;
  display:flex;
  flex-direction:column;
  height:160px;
  justify-content:center;
  padding:25px 0 20px;
}

#reservation .txt-2box.end.reservation-btn .btn-area .txt-center {
  margin:5px 0 19px;
}

.reservation-btn.txt-3box {
  margin-right:20px;
  width:calc(100% / 3 - 15px);
}

.reservation-btn.txt-3box.end {
  margin-right:0;
}

.reservation-btn.txt-4box {
  margin-right:20px;
  width:calc(100% / 4 - 20px);
}

.reservation-btn.txt-4box.end {
  margin-right:0;
}

#reservation .reservation-btn .link-txt {
  color:#00A29A;
  font-weight:500;
  margin-bottom:0;
  text-align:center;
}

#reservation .reservation-btn .link-btn {
  background-color:#FFF;
  border:2px solid #00A29A;
  border-radius:10px;
  max-width:100%;
}

#reservation .reservation-btn .link-btn::after {
  content:none;
}


#reservation .reservation-btn.blue .link-btn {
  border:2px solid #007BBB;
}

#reservation .reservation-btn.orange .link-btn {
  border:2px solid #EA5514;
}

#reservation .reservation-btn.red .link-btn {
  border:2px solid #DB535E;
}

#reservation .reservation-btn.lightblue .link-btn {
  border:2px solid #2EA7E0;
}

#reservation .reservation-btn.blue .link-txt {
  color:#007BBB;
}

#reservation .reservation-btn.orange .link-txt {
  color:#EA5514;
}

#reservation .reservation-btn.red .link-txt {
  color:#DB535E;
}

#reservation .reservation-btn.lightblue .link-txt {
  color:#2EA7E0;
  margin:auto;
  max-width:240px;
  width:100%;
}

#contents .reservation-tel .txt-center {
  color:#DB535E;
  font-size:18px;
  font-weight:600;
}

#reservation .reservation-btn.purple .link-btn {
  border:2px solid #172A88;
}

#reservation .reservation-btn.purple .link-btn .link-txt {
  color:#172A88;
}

#reservation .reservation-btn.lightpurple .link-btn {
    border: 2px solid #7E318E;
}

#reservation .reservation-btn.lightpurple .link-btn .link-txt {
  color:#7E318E;
}

.tel-content {
  display:flex;
  justify-content:center;
  margin-top:30px;
  position:relative;
}

.tel-content:before {
  background-image:url(../image/contents/tel_ico_pink.svg);
  background-repeat:no-repeat;
  background-size:contain;
  bottom:0;
  content:"";
  display:block;
  height:73px;
  left:0px;
  margin:auto;
  position:absolute;
  right:34em;
  top:4px;
  width:62px;
}

#contents .tel-content p {
  color:#DB535E;
  font-size:20px;
  font-weight:bold;
  line-height:1.5;
  margin-bottom:0;
}

#contents .tel-content .num .tel {
  color:#DA656F;
  display:block;
  font-family:"Lato", sans-serif;
  font-size:48px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:.8;
  max-width:440px;
  padding-left:20px;
  position:relative;
}

#contents .tel-content .num .min-txt {
  color:#333;
  font-size:14px;
  font-weight:400;
  padding-left:20px;
}

.time-content {
  background-color:#FFF0F1;
  border-radius:5px;
  padding:15px 30px;
}

.please-note {
  background-color:#FFF0F1;
  border:2px solid #DA656F;
  border-radius:5px;
  margin-bottom:50px;
  padding:30px;
}

#contents .please-note h5 {
  margin:0 0 10px;
}

#reservation .reservation-btn a[target="_blank"] .link-txt:before {
  background-image:url(../image/contents/tab_ico_lightblue.svg);
  border:0;
  content:"";
  height:20px;
  margin-left:-40px;
  position:absolute;
  top:calc(100% - 38%);
  transform:rotate(0deg);
  width:20px;
}

#reservation .reservation-btn.purple a[target="_blank"] .link-txt:before {
  background-image:url(../image/contents/tab_ico_purple.png);
  background-size:20px;
}

#reservation .reservation-btn .link-btn::before {
  content:none;
}

/*お問い合わせ*/
#reservation #contents input[type="submit"] {
  background-color:#007BBB;
  margin:30px auto 0;
  max-width:400px;
  width:100%;
}


#reservation .table-01 {
  border:1px solid #43B1DE;
  border-collapse:separate;
  border-left:none;
  vertical-align:middle;
}

#reservation .table-01 tr {
  border-top:1px dotted #43B1DE;
}

#reservation .table-01 tr:first-child {
  border-top:none;
}

#reservation .table-01 tr:first-child th,
#reservation .table-01 tr:first-child td {
  border-top:none;
}

#reservation #contents .table-01 th {
  background-color:#E8F3F8;
  border-left:1px solid #0D9BD5;
  border-top:1px dotted #0D9BD5;
  display:table-cell;
  font-size:16px;
  font-weight:500;
  text-align:left;
  vertical-align:top;
}

#reservation #contents .table-01 tr:first-child th:first-child {
  border-top:0;
}

#reservation .table-01 th.txt-center {
  text-align:center;
}

#reservation .table-01 td {
  background-color:#FFF;
  border-left:1px solid #0D9BD5;
  border-top:1px dotted #0D9BD5;
  font-weight:400;
  padding:15px 20px;
}

#reservation .table-01 th.need {
  min-width:200px;
}

#reservation .table-01 th.need:before {
  background-color:#E08752;
  color:#FFF;
  content:"必須";
  display:block;
  float:left;
  font-size:11px;
  font-weight:normal;
  margin-right:10px;
  text-align:center;
  width:30px;
}

#reservation .table-01 th.no-need {
  padding-left:50px;
}


/*Web予約---↑--*/

#reservation .link-btn.anchor::before {
  top:47%;
  transform:rotate(135deg);
}


/*健康診断・人間ドック 日程変更・キャンセル申込みフォーム*/
#change-cancel #contents h2 {
  line-height:1.5;
  margin-top:20px;
}

#change-cancel #contents form {
  max-width:100%;
}

#change-cancel tr.individual-id .flex .txt-id {
  width:65%;
}


#change-cancel tr.individual-id .flex .img-id {
  width:30%;
}

#change-cancel #contents form th {
  width:33%;
}

/* #change-cancel .individual-id,
.individual-reach2,
.individual-reach3 {
  display: none;
} */

#change-cancel .individual-id.open,
.individual-reach2.open,
.individual-reach3.open {
  display:table-row;
}

input[type="button"].wpcf7c-btn-back {
  border-radius:5px;
  color:#FFF;
  display:block;
  font-size:17px;
  letter-spacing:.03em;
  margin:0 auto 0;
  max-width:400px;
  outline:none;
  padding:15px;
  transition:.5s;
  width:40%;
}

input[type="submit"] {
  width:40%;
}

#contents .shudan-btn {
  display:flex;
}

.gray-box {
  background-color:#F3F3F3;
  border-radius:10px;
  margin-top:30px;
  padding:30px 40px;
}

#change-cancel #contents select {
  text-align:right;
}

#contents form td p:last-child {
  margin-top:20px;
}

#change-cancel .works-date-flex .date-list {
  width:100%;
}

#contents form td p .works-date-flex .date-list input {
  margin-left:15px;
  max-width:300px;
  width:100%;
}


form .table-01 td .tel1 .input-short,
form .table-01 td .birth-year .input-short {
  margin-left:0;
}

/* #change-cancel .works-date-flex,
#change-cancel-test .works-date-flex {
  display: none;
} */

#change-cancel .works-date-flex.open,
#change-cancel-test .works-date-flex.open {
  display:flex;
  margin-top:45px;
}

#contents form td .change-ttl {
  font-size:110%;
  font-weight:600;
  margin-bottom:10px;
}

#contents form td .cancel-check-box .asterisk {
  margin-bottom:10px;
  margin-top:0;
  padding-left:18px;
}

#contents form td .cancel-check-box .wpcf7-list-item {
  font-weight:500;
}

.table-02.dial th {
  width:110px;
}

#reservation .num-content .table-numlist tr:first-child {
  border-top:2px solid #EDEDED;
}

#change-cancel #contents form input[type="submit"] {
  max-width:400px;
  width:100%;
}


#contents form .asterisk {
  display:block;
  margin-left:1em;
  text-indent:-1em;
}

/*予約確認画面*/
#confirm .confirm-area,
#no .confirm-area {
  padding:80px 0 40px;
}

#confirm .confirm-area .txt-2box .link-btn {
  border-radius:5px;
  font-size:20px;
  margin:auto;
  max-width:450px;
  padding:20px;
}

#confirm .confirm-area .txt-2box:first-child .link-btn {
  background-color:#DB535E;
}

#confirm .confirm-area h2 {
  font-size:32px;
  margin-bottom:70px;
}

/*予約確認画面 「いいえ」ページ*/
#no #contents h2.ttl-txt {
  font-size:32px;
  line-height:1.4;
}

#no .confirm-area .tel.link-btn {
  background-color:#FBEEF0;
  border-radius:7px;
  cursor:pointer;
  margin:auto;
  max-width:650px;
  padding:28px 20px 20px;
  pointer-events:auto;
  text-decoration:auto;
  width:100%;
}

#no .confirm-area .tel.link-btn::before {
  display:none;
}

#no .confirm-area .tel.link-btn:hover {
  opacity:.5;
  text-decoration:none;
}

#no .tel-area .tel-content {
  margin-top:0;
}

#no .tel-area .tel-content p {
  padding-left:60px;
}

#no .tel-area .tel-content p.num {
  padding-left:0;
}

#no .tel-area .tel-content::before {
  left:30px;
}

/* バナー吹き出し */
#reservation .reservation-btn .link-btn .speech-bubble {
  background-color:#2EA7E0;
  border-radius:4px;
  color:#FF0;
  font-size:16px;
  left:-60px;
  padding:4px 20px 6px 20px;
  position:absolute;
  top:-10px;
}

#reservation #contents .reservation-btn .link-btn .speech-bubble p {
  margin-bottom:0;
  text-align:center;
}

#reservation .reservation-btn .link-btn .speech-bubble .tail {
  border-color:#2EA7E0 transparent transparent transparent;
  border-style:solid;
  border-width:20px 0px 0 20px;
  bottom:-20px;
  content:"";
  height:0px;
  left:0;
  margin:auto;
  position:absolute;
  right:0;
  width:0px;
}





/**/

br.br-1040,
br.br-430 {
  display:none;
}

/* プレミアムドック */
#premium #contents h2 {
  line-height:1.5em;
}

@media screen and (max-width: 1200px) {
  #reservation .num-content .table-numlist td .tel-txt .tel {
    font-size:45px;
  }

  div#inquiry {
    margin-top:-230px;
    padding-top:230px;
  }

  /* バナー吹き出し */
  #reservation .reservation-btn .link-btn .speech-bubble {
    left:-20px;
  }
}

/* view-1140 notePC,Tablet */
@media screen and (max-width: 1140px) {
  #reservation .num-content .table-numlist td .tel-txt .tel {
    font-size:40px;
  }

  /*Web予約*/
  .reservation-btn.txt-4box {
    margin-right:20px;
    margin-top: 20px;
    width:calc(100% / 2 - 20px);
  }

  .reservation-btn.txt-4box:nth-child(2n) {
  margin-right:0px;
}
}

@media screen and (max-width: 1040px) {
  br.br-1040 {
    display:block;
  }

  /**/
  #change-cancel #contents form th {
    max-width:35%;
  }
}

/* view-959 Mobile,Tablet */
@media screen and (max-width: 959px) {
  div#inquiry {
    margin-top:-100px;
    padding-top:100px;
  }

  /*予約確認*/
  #confirm .confirm-area .txt-2box {
    width:calc(100% / 2 - 20px);
  }

  /*いいえ*/
  #no #contents h2.ttl-txt {
    font-size:28px;
  }



  /*Web予約*/
  #reservation .reservation-btn .btn-area {
    height:auto;
  }

  #reservation #contents .table-01 th {
    font-size:15px;
    width:225px;
  }

  .txt-2box.reservation-btn {
    margin-bottom:20px;
  }

  .reservation-btn.txt-3box {
    margin-bottom:20px;
    margin-right:0;
    width:100%;
  }

  .reservation-btn.txt-4box {
    margin-bottom:20px;
    margin-right:0;
    width:100%;
  }

  .txt-2box.end.reservation-btn {
    margin-bottom:0;
  }

  #contents .reservation-tel .txt-center {
    font-size:16px;
  }

  #contents .tel-content p {
    font-size:18px;
  }

  #contents .tel-content .num .tel {
    font-size:40px;
  }

  .tel-content:before {
    height:45px;
    right:30em;
    width:45px;
  }

  .anc-link .txt-3box .link-btn.anchor {
    max-width:100%;
    width:100%;
  }

  .anc-link .txt-4box .link-btn.anchor {
    max-width:100%;
    width:100%;
  }

  #reservation .num-content .table-numlist td {
    display:block;
    width:100%;
  }

  #reservation .num-content .table-numlist td:first-child {
    padding-bottom:0;
    width:100%;
  }

  #reservation .num-content .table-numlist td .bold .br-1040 {
    display:none;
  }

  /**/
  #change-cancel #contents form th {
    display:block;
    max-width:100%;
    width: 100%;
  }

  #change-cancel tr.individual-id .flex .img-id {
    width:8%;
  }

  #change-cancel #contents form th .flex {
    justify-content:start;
  }

  #change-cancel tr.individual-id .flex .txt-id {
    width:60%;
  }
}

@media screen and (max-width: 834px) {
  #change-cancel tr.individual-id .flex .img-id {
    width:10%;
  }

  #change-cancel tr.individual-id .flex .txt-id {
    width:70%;
  }
}


@media screen and (max-width: 767px) {
  #reservation #contents .table-01 th {
    display:block;
    width:100%;
  }
}

/* view-559 Mobile */
@media screen and (max-width: 559px) {
  br.br-none-559 {
    display:none;
  }

  #contents .reservation-tel .txt-center {
    font-size:15px;
    font-weight:500;
    text-align:left;
  }

  .tel-content {
    display:grid;
    margin-top:0;
  }

  #contents .tel-content .num .tel {
    font-size:35px;
    padding-left:0;
  }

  #contents .tel-content .num .min-txt {
    font-size:11px;
    padding-left:0;
  }

  #contents .tel-content p {
    font-size:14px;
    margin-bottom:5px;
  }

  .tel-content:before {
    height:34px;
    right:20em;
    width:35px;
  }

  .table-02.dial th {
    width:85px;
  }

  #reservation .num-content .table-numlist td .tel-txt .tel {
    font-size:30px;
    padding-left:32px;
  }

  #reservation .num-content .table-numlist td .tel-txt .tel:before {
    height:27px;
    width:27px;
  }

  #reservation .num-content .table-numlist td {
    padding:15px 0px;
  }

  .time-content {
    padding:15px 20px;
  }

  .please-note {
    padding:20px 15px;
  }

  #reservation #contents .table-01 th {
    padding-bottom:10px;
    padding-right:10px;
    padding-top:10px;
  }

  #reservation #contents .table-01 td {
    padding:10px;
  }

  #reservation .reservation-btn .btn-area {
    padding:15px 0 10px;
  }

  /**/


  #change-cancel .gray-box {
    padding:20px 15px 10px;
  }

  #change-cancel tr.individual-id .flex .img-id {
    width:20%;
  }

  #change-cancel tr.individual-id .flex .txt-id {
    margin-right:15px;
    width:70%;
  }

  #contents form td {
    padding:10px;
  }

  #change-cancel #contents form th.need {
    padding:10px;
  }

  #change-cancel #contents form th.no-need {
    padding:10px 10px 10px 50px;
  }

  #change-cancel form .table-01 td .input-short {
    max-width:70px;
  }

  #contents form td p .works-date-flex .date-list input {
    max-width:250px;
  }

  #contents span.wpcf7-list-item label span {
    font-size:14px;
  }

  /*予約確認*/
  #confirm .confirm-area .txt-2box {
    width:calc(100% / 2 - 20px);
  }

  #confirm .confirm-area h2 {
    font-size:23px;
    margin-bottom:40px;
  }

  #confirm .confirm-area .txt-2box {
    width:calc(100% / 2 - 10px);
  }

  #confirm .confirm-area .txt-2box .link-btn {
    font-size:16px;
    padding:12px;
  }

  #confirm .confirm-area,
  #no .confirm-area {
    padding:0;
  }

  /*いいえ*/

  #no #contents h2.ttl-txt {
    font-size:20px;
    line-height:1.5;
  }

  #no .tel-area .tel-content p {
    padding:0;
  }

  #no .tel-area .tel-content p.num {
    padding-left:30px;
  }

  #no .tel-area .tel-content::before {
    left:20px;
  }

  #no .confirm-area .tel.link-btn {
    padding:20px 15px 15px;
  }

  /* バナー吹き出し */
  #reservation .reservation-btn .link-btn .speech-bubble {
    left:-10px;
    top:-15px;
  }

  #reservation #contents .reservation-btn .link-btn .speech-bubble p {
    font-size:15px;
  }

  #reservation .reservation-btn .link-btn .speech-bubble .tail {
    bottom:-13px;
  }
}


@media screen and (max-width: 430px) {
  br.br-430 {
    display:block;
  }

  br.br-none-430 {
    display:none;
  }
}

@media screen and (max-width: 393px) {
  #change-cancel tr.individual-id .flex .txt-id {
    width:68%;
  }

  #change-cancel tr.individual-id .flex .img-id {
    width:25%;
  }

  #no .tel-area .tel-content::before {
    left:10px;
  }
}
