@charset "utf-8";

/* これがないと /fwp/wp-content/themes/theme/assets/css/style.css でrelativeが指定されてしまい、治療メニューウィンドウなどの表示位置が想定より上に表示されて見えなくなる */
body{
    position:static;
}
main{
    position:static;
}

.footerSocialWrapper, .breadcrumb {
    display: none;
}

/* ヘッダーはロゴのみ表示（フォームからの離脱導線を増やさないため、ナビ・CTA・電話・ハンバーガーは非表示のまま） */
.headerWrapper .headerBtnWrapper,
.headerWrapper .headerIconWrapper,
.headerWrapper .headerBusinessHours,
.headerWrapper .headerHamWrapper {
    display: none;
}

.form_group__contraindication {
    padding-left: 2rem;
    padding-right: 2rem;
}

@media screen and (max-width: 768px) {
    .privacy {
      margin: 0 40px;
      padding: 9.5px 14px;
      height: calc(100vw / var(--viewport)* 300);
    }
    .privacy-h3 {
      font-size: 13px;
      margin-bottom: calc(100vw / var(--viewport)* 26);
    }
    .privacy > .privacy-dl > dd > p > a,.privacy-p, .privacy-dl dt, .privacy-dl dd {
      font-size: 13px;
    }
    .agree_checkbox-p__span {
      display: block;
    }
  }
  .agree_checkbox-p {
    margin-bottom: 10px;
    color: #333;
  }
  .agree_checkbox span {
    color: #333;
  }
textarea {
    min-height: 120px;
}

/** マージン **/
.mt-0{
    margin-top:0 !important;
}
.mt-1{
    margin-top:0.25rem !important;
}
.mt-2{
    margin-top:0.5rem !important;
}
.mt-3{
    margin-top:1rem !important;
}
.mt-4{
    margin-top:1.5rem !important;
}
.mt-5{
    margin-top:2rem !important;
}
.mt-6{
    margin-top:3rem !important;
}
.ml-1{
    margin-left:0.25rem !important;
}
.ml-2{
    margin-left:0.5rem !important;
}
.ml-3{
    margin-left:1rem !important;
}
.ml-5{
    margin-left:2rem !important;
}
.ml-6{
    margin-left:3rem !important;
}
.mb-1 {
    margin-bottom: 0.5rem !important;
}
.mb-3{
    margin-bottom:1rem !important;
}
.mb-5{
    margin-bottom:2rem !important;
}
.mx-2{
    margin-left:0.5rem !important;
    margin-right:0.5rem !important;
}
.mx-3{
    margin-left:1rem !important;
    margin-right:1rem !important;
}
.mx-a{
    margin-left:auto !important;
    margin-right:auto !important;
}
.my-5{
    margin-top:2rem !important;
    margin-bottom:2rem !important;
}
.p-2{
    padding:0.5rem !important;
}
.p-3{
    padding:1rem !important;
}
.p-5{
    padding:2rem !important;
}
.pt-3{
    padding-top:1rem !important;
}
.pt-4{
    padding-top:1.5rem !important;
}
.pl-3{
    padding-left:1rem !important;
}
.pl-5{
    padding-left:2rem !important;
}
.px-5{
    padding-left:2rem !important;
    padding-right:2rem !important;
}
.py-3{
    padding-top: 1rem !important;
    padding-bottom: 2rem !important;
}
.py-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

/** 背景色 **/
.bg-light-gray{
    background-color:#F0F1F1;
}
.bg-gray{
    background-color:#8C8C8C;
}

/** 前景色 **/
.font-color-white{
    color:#fff !important;
}
.font-color-red{
    color:#B30D23 !important;
}
.font-color-blue{
    color: #036EA8 !important;
}
.font-color-gold{
    color:#BBA170 !important;
}

/** 太字 **/
.font-weight-bold{
    font-weight:bold;
}

/** 文字サイズ **/
.font-size-smaller{
    font-size:smaller;
}
.font-size-larger{
    font-size:larger;
}
.font-size-x-large{
    font-size:x-large;
}
.font-size-xx-large{
    font-size:xx-large;
}
.font-size-80{
    font-size: 80%;
}

/** 行の高さ **/
.line-height-1{
    line-height: 1em !important;
}

/** テキストの位置 **/
.text-center{
    text-align:center;
}
.text-right{
    text-align:right;
}

/** 青い四角 **/
.box-blue{
    border: 2px solid #036EA8;
}

/** ボーダー無し **/
.no-border{
    border:none !important;
}

/** フレックスボックス関係 **/
.d-flex{
    display:flex;
}
.align-items-center{
    align-items:center;
}
.justify-content-center{
    justify-content:center;
}
.flex-direction-column{
    flex-direction: column;
}

.d-block{
    display:block;
}
.d-inline-block{
    display:inline-block;
}

/** エラーメッセージ **/
p.error {
    color: #B20000;
    margin-top: 8px;
    font-size: 120%;
    font-weight: 600;
    padding:0.5em;
    /*
    background-color: #f8d7da;
    border-color: #f5c6cb;
    */
}

/** 選択肢 **/
ul.option-block{
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    list-style-type:none;
    flex-wrap:wrap;
}
ul.option-block>li+li{
    margin-left:4px;
}

ul.option-block.col2>li{
    width:48%;
}
ul.option-block.col3>li{
    width:32%;
}
ul.option-block>li>label {
    position: relative;
    display: block;
}
ul.option-block>li>label>input {
    position: absolute;
    opacity: 0;
}
ul.option-block>li>label>input + span {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: normal;
    border: 1px solid #999999;
    border-radius: 20px;
    padding: 10px 3px;
    cursor: pointer;
    line-height: 1em;
    background-color: #8C8C8C;
    font-size: 90%;
}
ul.option-block>li>label>input:checked + span{
    color: #fff;
    border: 1px solid #036EA8;
    background-color:#036EA8;
}
ul.option-block>li>label>input:disabled + span{
    cursor:auto;
    opacity:0.6;
}

/** 選択肢 縦 **/
ul.option-block.vertical{
    display:block;
}
ul.option-block.vertical>li+li{
    margin-left: 0px;
    margin-top: 14px;
}
ul.option-block.vertical>li>label>input + span {
    justify-content:flex-start;
    padding:1em 0 1em 2em;
}

/** ステップ **/

ul.step{
    display:flex;
    align-items:center;
    margin-right:10px;
}
ul.step li{
    width:32%;
    height: 3em;
    color:white;
    background-color:black;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
}
ul.step li.next-step{
    background-color:#ADADAD;
    color:#666666;
}
ul.step li.next2-step{
    background-color:#E6E6E6;
    color:#666666;
}
ul.step li:after{
    background-color:#e6e6e6;
}
ul.step li::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1.5em 0 1.5em 1.5em;
    border-color: transparent transparent transparent black;
    position: absolute;
    top: 0;
    right: -1.5em;
    z-index:100;
    background-color: transparent;
}
ul.step li.next-step::after {
    border-color: transparent transparent transparent #ADADAD;
}
ul.step li.next2-step::after {
    border-color: transparent transparent transparent #E6E6E6;
}

/* フォーム部分 */
.form-block-wrapper{
    background-color:white;
}
.form-block{
    width: 490px;
    margin: 0 auto;
    padding: 0 0 2rem;
}
#app{
    color: #231815;
}
#app p {
    font-size: 88%;
}

/** 各項目のブロック **/
.form-group{
    margin-top:1rem;
}
.form-group .title{
    padding:1em;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background-color:#E1E2E1;
}
.form-group .title .left{
    font-weight: normal;
    font-size: 100%;
    letter-spacing: 0;
}
.form-group .body{
}

/** 角丸ボタン **/
.round-button{
    border: 1px solid #C8C8C8;
    border-radius: 2em;
    padding: 0.4em 4em;
    color: #C8C8C8;
    cursor: pointer;
    font-weight: normal;
}
a.round-button{
    display:inline-block;
}
.round-button.decide{
    background-color:white;
    color: #036EA8;
}

/** 下矢印つきインプット **/
.under-arrow{
    position:relative;
}
.under-arrow input[type="text"]{
    cursor:pointer;
}
.under-arrow::after{
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f078";
    top: 50%;
    transform: translateY(-50%);
    right: 14px;
    z-index: 100;
    font-weight: bold;
    font-size: 15px;
    color: #727171;
}
.under-arrow.selected::after{
    content: "\f077";
}

/** 別ウィンドウリンク **/
.icon-external-link{
    position:relative;
}
.icon-external-link::after{
    position:absolute;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f35d";
    top:50%;
    transform: translateY(-50%);
    right:10px;
    z-index:100;
    font-weight: bold;
    font-size:15px;
}

/** オーバーレイ **/
.overlay{
    display:none;
    position:fixed;
    background-color:black;
    opacity:0.8;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:100;
}
.overlay.show{
    display:block;
}

/* バッヂ */

/** 必須 **/
span.danger{
    font-size: 14px;
    height: 23px;
    padding: 1px 8px;
    background: #B30D23;
    color: #fff;
    text-align: center;
    font-weight: normal;
}

/** 任意 **/
span.normal{
    font-size: 14px;
    height: 23px;
    padding: 2px 4px;
    background: #000;
    color: #fff;
    text-align: center;
}

/** はい・いいえの選択肢 **/
ul.option-block.yes-no{
    justify-content:center;
}
ul.option-block.yes-no>li>label{
    width:175px;
}

/** 医院選択ウィンドウ **/
.hospital-window{
    display:none;
    position:fixed;
    top:50%;
    transform: translateY(-50%);
    width:490px;
    z-index:1000;
}
.hospital-window.show{
    display:block;
}
.hospital-window .close-button-block{
    padding:1em;
    text-align:center;
}
.hospital-window .body{
    background-color: #fff;
    border-radius: 4px;
}
ul.option-block.hospital>li{
    width:33.333%;
}
ul.option-block.hospital>li{
    margin:0;
}
ul.option-block.hospital>li>label>input + span {
    border-radius: 4px;
    font-weight: normal;
    padding: 16px 0px;
    margin: 1px;
    font-size: 100%;
    border: 1px solid #A5A5A6;
}

/** プラン選択ウィンドウ **/
.plan-window{
    display:none;
    position:absolute;
/*    top:10%;*/
    width:490px;
    z-index:1000;
}
.plan-window.show{
    display:block;
}
.plan-window .close-button-block{
    padding:1em;
    text-align:center;
}
.plan-window .body{
    background-color: #fff;
    border-radius: 4px;
}

/** プラン選択ウィンドウ内のカテゴリ */
.plan-window ul.option-block>li{
    width:100%;
}
.plan-window ul.option-block>li{
    margin:0;
}
.plan-window ul.option-block>li>label>input + span {
    justify-content: flex-start;
    border-radius: 4px;
    border: 1px solid #A5A5A6;
    padding: 20px 10px;
    justify-content: flex-start;
    color: #595757;
    margin: 1px;
    background: linear-gradient(white, #D6D6D6);
}
.plan-window ul.option-block.category1>li>label>input:checked + span {
    border-color:#cccccc;
    color:#036EA8;
}
.plan-window ul.option-block.category1>li>label.under-arrow.selected::after {
    color:#036EA8;
}
.plan-window ul.option-block.category2{
    display:none;
}
.plan-window ul.option-block.category2.show{
    display:block;
}
.plan-window ul.option-block.category2>li>label>input + span {
    color: white;
    padding-left: 2em;
    background: #727171;
    border: none;
    border-radius: 0;
}
.plan-window ul.option-block.category2>li>label>input:checked + span {
    background-color: #036EA8;
}
.plan-window ul.option-block.category2>li>label.under-arrow::after {
    color:white;
}
.plan-window ul.option-block.category2>li>label.under-arrow.selected>input + span {
    background-color: #036EA8;
}
.plan-window ul.option-block.category2>li>label.under-arrow.selected::after {
    color: white;
}
.plan-window ul.option-block.category3{
    display:none;
}
.plan-window ul.option-block.category3.show{
    display:block;
}
.plan-window ul.option-block.category3>li>label>input + span {
    background: #D2E5F2;
    color: #595757;
    border: none;
    border-radius: 0;
    padding: 0.9rem 3rem;
}
.plan-window ul.option-block.category3>li>label>input + span::before {
    position:absolute;
    content: "";
    top:50%;
    transform: translateY(-50%);
    left:1.5rem;
    display: block;
    width:16px;
    height:16px;
    border: 2px solid #fff;
    background-color: #eeeeee;
    border-radius: 50%;
}
.plan-window ul.option-block.category3>li>label>input:checked + span::before {
    background-color: #036EA8;
}

/** 選択された治療表示ボックス **/
.plan-box{
    display: flex;
    align-items: stretch;
    width: 100%;
    border: 1px solid #c3c3c3;
    min-height: 4em;
}
.plan-box .left{
    width:35%;
    background-color:black;
    color:white;
    padding:1em;
    display:flex;
    align-items:center;
    justify-content:center;
}
.plan-box .right{
    width:65%;
    padding:0.5em;
    background-color:white;
}
.plan-box .full{
    width:100%;
    padding:0.5em;
    background-color:white;
    display:flex;
    align-items:center;
    justify-content:center;
}

/** 回数選択 **/
ul.option-block.course>li>label{
    width:135px;
}

/** 部位選択ウィンドウ **/
.bui-map-window{
    position:absolute;
/*    top:50%; */
/*    transform: translateY(-50%);*/
    width:490px;
    z-index:200;
}
.bui-map-window.show{
    display:block;
}
.bui-map-window .close-button-block{
    padding:1em;
    text-align:center;
}
.bui-map-window .body{
    background-color: transparent;
/*    background-color: #fff; */
}
.bui-map-window .bui-map-row{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
}
.bui-map-window .bui-map-row>div{
    margin:1em;
}
.bui-map-window .bui-map-block{
    position: relative;
    background-color: white;
    width: 100%;
    border-radius: 4px;
}
.bui-map-window .base-image{
    max-width:100%;
    max-height:70vh;
}
.bui-map-window .bui-image{
    z-index:300;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:auto;
    pointer-events: none;
}
.bui-map-window .remnant-block{
    position: absolute;
    top: 10px;
    right: 10px;
}
.bui-map-window .remnant-block>.remnant-row{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 100%;
    background-color: #cccccc;
    padding: 3px;
}
.bui-map-window .remnant-block>.remnant-row>.col2{
    background-color: white;
    color: #B30D23;
    font-size: 22px;
    padding: 0 0.5em;
    margin: 0 0.2em;
}
.bui-map-window .remnant-block>.remnant-row>.col2.max{
    color: #036EA8;
}
.bui-map area{
    cursor:pointer;
}

/** 部位選択ブロック **/
.bui-map-block .bui-map-row{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
}
.bui-map-block .bui-map-row>div{
    margin:1em;
}
.bui-map-block .bui-map-block{
    position: relative;
    background-color: white;
    width: 100%;
    border-radius: 4px;
}
.bui-map-block .base-image{
    max-width:100%;
    max-height:70vh;
}
.bui-map-block .bui-image{
    z-index:300;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:auto;
    pointer-events: none;
}
.bui-map-block .remnant-block{
    position: absolute;
    top: 10px;
    right: 10px;
}
.bui-map-block .remnant-block>.remnant-row{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 100%;
    background-color: #cccccc;
    padding: 3px;
}
.bui-map-block .remnant-block>.remnant-row>.col2{
    background-color: white;
    color: #B30D23;
    font-size: 22px;
    padding: 0 0.5em;
    margin: 0 0.2em;
}
.bui-map-block .remnant-block>.remnant-row>.col2.max{
    color: #036EA8;
}

/** 選択したメニューの内容確認 **/
.confirm-menu-block{
    background-color:#F0F1F1;
}
.confirm-menu-block .bui-map-block{
    background-color:white;
    position:relative;
}
.confirm-menu-block .bui-map-block img{
    max-width:100%;
}
.confirm-menu-block .bui-map-block .bui-image{
    position:absolute;
    top:0;
    left:0;
    z-index:100;
}

/** 選択したメニューの内容確認ボタン **/
.confirm-menu-button-block{
    background-color:#3E3A39;
    displey:flex;
    align-items:center;
    justify-content:center;
    padding:1em 3em;
}
.confirm-menu-button-block label {
    position: relative;
    display: block;
}
.confirm-menu-button-block label>input[type="checkbox"]{
    position: absolute;
    opacity: 0;
}
.confirm-menu-button-block label>input + span {
    display: flex;
    align-items:center;
    justify-content:center;
    font-weight:bold;
    padding: 15px;
    cursor:pointer;
    line-height:1em;
    color: #000;
    background-color:#fff;
    transition: 0.5s;
}
.confirm-menu-button-block label>input:checked + span{
    color: #fff;
    background-color:#64AC30;
    transition: 0.5s;
}

/** 禁忌事項 個人情報保護方針**/
.contraindication, .privacy {
    margin: 0 auto 30px;
    border: 1px solid #989898;
    background: #f9f9f9;
    width: 100%;
    height: 240px;
    padding: 1em;
    overflow: scroll;
    color: #595757;
}

/* 同意ボタン ここから */
/* https://webparts.cman.jp/button/onoff/ を参照 */

.switch-block {
  line-height    : 50px;                /* 1行の高さ          */
  letter-spacing : 0;                   /* 文字間             */
  text-align     : center;              /* 文字位置は中央     */
  font-size      : 18px;                /* 文字サイズ         */
  font-weight:bold;

  position       : relative;            /* 親要素が基点       */
  margin         : 1em auto 0 auto;                /* 中央寄せ           */
  width          : 170px;               /* ボタンの横幅       */
  background     : #fff;                /* デフォルト背景色   */
      border-radius: 17px;
}

 /* === チェックボックス ==================================== */
.switch-block input[type="checkbox"] {
  display        : none;            /* チェックボックス非表示 */
}

 /* === チェックボックスのラベル（標準） ==================== */
.switch-block label {
  display        : block;               /* ボックス要素に変更 */
  box-sizing     : border-box;          /* 枠線を含んだサイズ */
  height         : 50px;                /* ボタンの高さ       */
  border         : 1px solid #ccc;   /* 未選択タブのの枠線 */
  border-radius  : 25px;                /* 角丸               */
  cursor:pointer;
  margin-bottom:0;
  background-color:#ADADAD
}
.switch-block  input[type="checkbox"]:disabled ~ label{
    cursor:auto;
    opacity:0.6;
}
 /* === チェックボックスのラベル（ONのとき） ================ */
.switch-block input[type="checkbox"]:checked +label {
  border-color   : #ccc;             /* 選択タブの枠線     */
  background-color:#036EA8;
}

 /* === 表示する文字（標準） ================================ */
.switch-block label span:after{
  content        : "いいえ";               /* 表示する文字       */
  padding-left        : 0px;          /* 表示する位置       */
  color          : black;             /* 文字色             */
}

 /* === 表示する文字（ONのとき） ============================ */
.switch-block  input[type="checkbox"]:checked + label span:after{
  content        : "はい";                /* 表示する文字       */
  padding-right        : 38px;          /* 表示する位置       */
  color          : white;             /* 文字色             */
}

 /* === 丸部分のSTYLE（標準） =============================== */
.switch-block .switch-img {
  position       : absolute;            /* 親要素からの相対位置*/
  width          : 46px;                /* 丸の横幅           */
  height         : 46px;                /* 丸の高さ           */
  background     : white;             /* カーソルタブの背景 */
  top            : 2px;                 /* 親要素からの位置   */
  left           : 2px;                 /* 親要素からの位置   */
  border-radius  : 50%;                /* 角丸               */
  transition     : .2s;                 /* 滑らか変化         */
}

 /* === 丸部分のSTYLE（ONのとき） =========================== */
.switch-block input[type="checkbox"]:checked ~ .switch-img {
  transform      : translateX(120px);    /* 丸も右へ移動       */
  background     : white;             /* カーソルタブの背景 */
}
/* 同意ボタン ここまで */

/* アラート ここから */
.alert-block{
    display:flex;
    justify-content:center;
}
.alert-block .validation-alert {
    position: relative;
    background-color: #ca1616;
    margin-top:12px;
    color: #fff;
    white-space: nowrap;
    padding: 2px 10px;
    border-radius: 5px;
    text-align:center;
}
.alert-block .validation-alert:after{
    border: solid transparent;
    content:'';
    position: absolute;
    border-color: rgba(0, 0, 0, 0);;
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:10px;
    border-right-width:10px;
    border-bottom-color:#ca1616;
    bottom:100%;
    left:50%;
    margin-left:-5px;
}

.validation-alert span:before {
  content: '';
  position: absolute;
  left: 120px;
  top: -8px;
  display: block;
  border: 10px solid #ca1616;
  border-top: 0;
  border-right-color: transparent;
  border-left-color: transparent;
}
/* アラート ここまで */

/** 送信ボタン **/
.submit {
    text-align: center;
    font-size: 18px;
    background: #036EA8;
    padding: 0.75em 3em;
    border-radius: 2em;
    color: #fff;
    font-weight: bold;
    margin: 0 auto;
    position: relative;
    width: auto;
}
.submit:hover{
    opacity: 0.7;
}
.submit span::after {
/*	content: "▶";*/
	height: 100%;
	font-size: 22px;
	position: absolute;
	color: #fff;
	right: 10px;
	top: 0;
	display: flex;
	align-items: center;
}
.submit:disabled{
    opacity:0.5;
    cursor:auto;
}

/** 確認画面用 **/
.confirm-page{
    padding-top:20px;
}
.confirm-page .item-block{
    padding:20px;
    background-color:#F7F8F8;
    margin-top:2px;
}
.confirm-page .item-block label{
    color:#226FB7;
    font-size:smaller;
}
.confirm-page .item-block .input{
    margin-top:1em;
    font-size:100%;
}
.confirm-page .item-block .input+.input{
    margin-top:0;
}


/** 戻るボタン **/
.back-button{
	text-align: center;
	font-size: 20px;
	background: #B3B3B3;
	padding:0.5em 3em;
	border-radius: 2em;
	color: #fff;
	font-weight: bold;
	margin:0 auto;
	position:relative;
    width:auto;
}

/** サンクス画面用 **/
.thanks-page{
    padding:40px 0;
}

.thanks-page .tel{
    font-size: xx-large !important;
}

.thanks-page .submit{
    padding: 0.5em 3em;
}

/** カレンダー対策 **/
.ui-datepicker {
    z-index: 1000 !important;
}

/** JMCSからの指定 ここから **/

.plan-window ul.option-block.category2 > li > label > input + span.third {
    background-color: #036EA8;
    border-radius: 0;
    border: none;
}

.plan-box .right p {
    color: #036EA8;
    padding: 0 0 0 0.4rem;
}

.privacy .head {
    color: #595757;
}

.privacy p {
    color: #595757;
    font-weight: lighter;
}

.privacy li.txt {
    color: #595757;
    font-size: 90%;
}

p.last {
    font-size: 90%;
}

ul.option-block > li > label > input + span.square {
    border-radius: 4px;
    padding: 1.2em 0 1.2em 1.5em;
    font-weight: normal;
    font-size: 100%;
}

ul.option-block > li > label > input + span.square.text-center {
    padding: 1.2em 0 1.2em 0;
    text-align:center;
}

.squarelink {
  padding: 1.2em 0 1.2em 1.5em;
  display: flex;
  align-items: center;
  color: #fff;
  font-weight: normal;
  border: 1px solid #999999;
  cursor: pointer;
  line-height: 1em;
  background-color: #8C8C8C;
  font-size: 100%;
  border-radius: 4px;
}

.squarelink > span {
  padding: 0 25px 0 0;
  background-repeat: no-repeat;
  background-size: 1em;
  background-position: right center;
  background-image: url(../img/icon_link01.svg);
}

input[type="text"], select, textarea, .block-form .parts .select-wrap.js-trigger p, input[type="tel"] {
    height: 48px;
}

input[type="text"], select, textarea, .block-form .parts .select-wrap.js-trigger p, input[type="tel"], input[type="date"] {
    height: 52px;
}

input[type="text"], select, textarea, .block-form .parts .select-wrap.js-trigger p, input[type="tel"], input[type="date"] {
    width: 100%;
    padding: 1em;
    /* font-family: inherit; */
    color: #666;
    font-size: 13px;
    font-weight: normal;
    border: 1px solid #C3c3c3;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


input[type="date"] {
  border-radius: 5px;
  border: 1px solid rgb(195,195,195);
  background: #FFF;
}
.time select{
  border-radius: 8px;
  border: 1px solid rgb(195,195,195);
  background: rgb(233,233,234);
  -webkit-appearance: none;
  width: 100%;
  display: inline-block;
  padding-right: 25px;
}

.time.ml-2 {
  position: relative;
}

.time.ml-2:after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  width: 10px;
  height: 10px;
  border: 1px solid;
  border-color:  transparent transparent #565656 #565656;
  transform: translate(0,-75%) rotate(-45deg);
}

/* IE11 fix */
@media all and (-ms-high-contrast:none){
    .time select {
        padding-right: 10px;
    }
    .time.ml-2:after {
        display: none;
    }
}

body {
    color: #fff;
    font-family: 'Noto Sans CJK JP', YuGothic, '游ゴシック', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.78571;
}

/** JMCSからの指定 ここまで **/

/** スマホ用 **/
@media screen and (max-width : 768px){
    input {
        font-size: 16px !important;
    }

    .form-block {
        width: 100%;
    }

    ul.option-block.yes-no>li>label {
        width: 136px;
    }

    .hospital-window{
        width:90%;
        left:50%;
        transform: translateX(-50%) translateY(-50%);
    }

    .plan-window{
        width:90%;
        left:50%;
        transform: translateX(-50%);
    }

    .plan-window .body{
        overflow:scroll;
        height:70vh;
        background-color:rgba(255,255,255, 0);
    }

    .bui-map-window{
        width:90%;
        left:50%;
        transform: translateX(-50%);
    }

    .plan-box .left {
        width: 35%;
        font-size: 70%;
    }
    .plan-box .right {
        width: 65%;
    }

    ul.option-block.course>li>label {
        width: 95px;
    }

    input[type="text"], select, textarea, .block-form .parts .select-wrap.js-trigger p, input[type="tel"], input[type="date"] {
        font-size: 14px;
    }

    /* 予約希望日 */
    .date-time-row .date{
        width:55%;
    }

    /* iphoneのdate型用 */
    .date-time-row .date input[type="date"]{
        -webkit-appearance: textfield;
        -moz-appearance: textfield;
    }

    .date-time-row .time{
        width:45%;
    }

    /* カレンダー */
    .ui-datepicker{
        width:80%;
        font-size:120%;
    }

    /* 確認画面 */
    .confirm-page .submit{
        font-size: 20px
    }

    /** サンクス画面用 **/
    .thanks-page .tel{
        font-size: 2em;
    }
}

/* 個人情報保護方針 */
.agree_checkbox {
    margin-top: 0px;
    text-align: center;
}

.agree_checkbox input[type="checkbox"]{
    display:none;
}

.agree_checkbox > span > a {
    color: #04AEE0;
}

.agree_checkbox > label {
    display: inline-block;
}

.agree_checkbox > label > span {
    display: block;
    position: relative;
    top: 5px;
    width: 26px;
    height: 26px;
    border: solid 2px #000;
    cursor: pointer;
}

.agree_checkbox > label > span::before {
    content: '';
    position: absolute;
    top: 4px;
    left: 4px;
    z-index: 1;
    width: 14px;
    height: 9px;
    border: 2px solid #04AEE0;
    border-top-style: none;
    border-right-style: none;
    transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    transform: rotate(-45deg) scale(0, 0);
    box-sizing: border-box;
}

.agree_checkbox > label > input:checked + span::before {
  transform: rotate(-45deg) scale(1, 1);
}

.agree_checkbox > label > input:checked + span::before {
    border-color: #04AEE0;
}
@media only screen and (max-width: 768px) {
    .agree_checkbox {
        margin-top: -10px;
    }

    .agree_checkbox > span {
        font-size: 13px;
    }

    .agree_checkbox > label > span {
        top: 3px;
        width: 18px;
        height: 18px;
    }

    .agree_checkbox > label > span::before {
        top: 3px;
        left: 3px;
        width: 8px;
        height: 6px;
    }
}





.annex_head {
    text-align: center;
  }
  .annex_head table {
    margin: 0 auto;
    background-color: #e1e2e1;
    padding: 20px 0;
    margin: 15px 0;
  }
  .annex_table th {
    width: 266px;
    font-size: 15px;
    font-weight: 600;
  }
  .annex_table td {
    width: 266px;
    font-size: 16px;
  }
  .annex_p {
    margin-top: 15px;
  }
  .annex_p2 {
    text-align: left;
  }
  :root {
    --viewport: 750;
  }

  @media screen and (max-width: 767px) {
    .annex_p {
      margin-top: 10px;
    }
    .annex_p, .annex_p2 {
      font-size: 10px;
      padding: 0 2rem;
    }
    .annex_table th {
      width: calc(100vw / var(--viewport) * 300);
      font-size: 12px;
      font-weight: bold;
    }
    .annex_table td {
      width: calc(100vw / var(--viewport) * 300);
      font-size: 12px;
    }
    .annex_head table {
        width: 100%;
      padding:  20px;
      margin: 10px 0;
    }
  }

/* 20260327 */
.plan-window ul.option-block.category3>li>label>input[type="checkbox"] + span::before {
    border-radius: 3px; 
}

.plan-window ul.option-block.category3>li>label>input[type="checkbox"]:checked + span::before {
    background-color: #036EA8;
    border-color: #036EA8;
}

.plan-window ul.option-block.category3>li>label>input[type="checkbox"]:checked + span::after {
    position: absolute;
    content: "";
    top: 50%;
    left: calc(1.5rem + 5px);
    width: 5px;
    height: 9px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translateY(-60%) rotate(45deg); 
    display: block;
}