@charset "UTF-8";
/* CSS Document */

.article_title{ border-top: solid 1px #00379c; color: #00379c; font-size: 124%; padding: 0 1.5rem 0 1.5rem; font-weight: 600;}

.well_local_tel{ font-size: 124%; color: #00379c; font-weight: bold; display: flex; justify-content: center; gap: 0 2.0rem; align-items: center;}
.well_local_tel a { color: #00379c;}

.table_form{ line-height: 1.5; font-size: 93%; border-collapse: separate; border-spacing: 1.0rem 0.5rem;}
.table_form th{ width: 12em; margin: 0; padding: 0.3rem 0; vertical-align: middle;}
.table_form td{ margin: 0; padding: 0.3rem 0;}
.table_form th.top,
.table_form tr.top th{ vertical-align: top;}
.table_form .wpcf7-form-control-wrap{ position: relative; overflow: visible;}
.table_form .wpcf7-not-valid-tip{ position: absolute; left: 0; bottom: -1.2em; line-height: 1.0;; white-space: nowrap; font-size: 77%; font-weight: bold; letter-spacing: -0.1em;}

.table_confirm{ border-collapse: separate; border-spacing: 0.5rem;}
.table_confirm td{ background: #f0f0f0; border-radius: 0.5rem; padding: 0.5em 1.0em; vertical-align: middle;}

.submit_area{ display: flex; justify-content: center; align-items: center; width: 100%; }
.submit_area input[type='submit'],
.submit_area input[type='reset']{ width: 30%; padding: 1.0em; font-weight: bold;}
.submit_area input[type='reset']{ background: #80b9dd; color: #00609c;}

@media screen and ( max-width: 480px ) {
.table_form,
.table_form thead,
.table_form tbody,
.table_form tfoot,
.table_form tr,
.table_form th,
.table_form td{ display: block; margin: 0;}
}



/* reserve_onsite */
.reserve_onsite .date-first td{ display: flex; align-items: center; gap: 0 1.0rem;}
.reserve_onsite .menu-time td{ display: flex; align-items: center; gap: 0 1.0rem; background: #f0f0f0; padding: 1.0rem; border-radius: 0.3rem;}
.reserve_onsite .menu-time select{ background: #898989; color: #fff; font-size: 93%;}
.reserve_onsite .course-select div{ display: flex; align-items: center;  background: #f0f0f0; margin: 0.5rem 0.5em 0.5em 0; padding: 1.0rem; border-radius: 0.3rem;}
.reserve_onsite .course-select div p{ font-weight: bold;}
.reserve_onsite .course-select .note{ margin: 1.0rem 0 0 1.0rem; font-size: 86%;}
.reserve_onsite .table_form .well{ background: none; padding: 1.0rem 0;}
.reserve_onsite [data-name='corse-place']{ display: flex; align-items: center;  background: #f0f0f0; margin: 0; padding: 1.0rem; border-radius: 0.3rem;}
.reserve_onsite .recautions{ background: #f0f0f0; margin: 0; padding: 1.0rem; border-radius: 0.3rem;}
.reserve_onsite .recautions .wpcf7-acceptance{ padding: 0;}
.reserve_onsite .table_form ol{ margin-top: 1.0em;}
@media screen and ( max-width: 480px ) {
  .reserve_onsite .date-first td{ display: grid; grid-template-columns: auto 1fr; gap: 0.5em 0;}
  .reserve_onsite .menu-time td{ display: grid; grid-template-columns: repeat(4, auto); gap: 0.5em 0;}
  .reserve_onsite .course-select div{ display: block;}
  .reserve_onsite .course-select .wpcf7-form-control{ display: flex; flex-wrap: wrap;}
}

/*reserve_remote */
.reserve_remote .prelist{ margin: 0;}
.reserve_remote .prelist li{ margin: 0; padding: 0 0 0 1.0em; text-indent: -1.0em;}
.reserve_remote .prelist li::before{ content:'●'; color: #0073bc;}
.reserve_remote .prelist strong{ color: #0073bc;}
.reserve_remote .date-first td{ display: flex; align-items: center; gap: 0 1.0rem;}
.reserve_remote .menu-time td{ display: flex; align-items: center; gap: 0 1.0rem; background: #f0f0f0; padding: 1.0rem; border-radius: 0.3rem;}
.reserve_remote .menu-time select{ background: #898989; color: #fff; font-size: 93%;}
.reserve_remote .course-select th{ vertical-align: top;}
.reserve_remote .course-select div{ display: flex; align-items: center;  background: #f0f0f0; margin: 0.5rem 0.5em 0.5em 0; padding: 1.0rem; border-radius: 0.3rem;}
.reserve_remote .course-select div p{ font-weight: bold;}
.reserve_remote .table_form .well{ background: none; padding: 1.0rem 0;}
.reserve_remote .recautions{ background: #f0f0f0; margin: 0; padding: 1.0rem; border-radius: 0.3rem;}
.reserve_remote .recautions .wpcf7-acceptance{ padding: 0;}
@media screen and ( max-width: 480px ) {
  .reserve_remote .date-first td{ display: grid; grid-template-columns: auto 1fr; gap: 0.5em 0;}
  .reserve_remote .menu-time td{ display: grid; grid-template-columns: repeat(4, auto); gap: 0.5em 0;}
  .reserve_remote .course-select div{ display: block;}
  .reserve_remote .course-select .wpcf7-form-control{ display: flex; flex-wrap: wrap;}
}

/*reserve_factory*/
.reserve_factory td *{ margin-top: 0;}
.reserve_factory .date-first td{ display: flex; align-items: center; gap: 0 1.0rem;}
.reserve_factory .menu-time td{ display: flex; align-items: center; gap: 0 1.0rem; background: #f0f0f0; padding: 1.0rem; border-radius: 0.3rem;}
.reserve_factory .menu-time select{ background: #898989; color: #fff; font-size: 93%;}
.reserve_factory .course-select td{ background: #f0f0f0; padding: 1.0rem; border-radius: 0.3rem;}
.reserve_factory .course-select td .wpcf7-form-control{ display: grid; grid-template-columns: repeat( 2, 1fr);}
.reserve_factory .course-factory td{ background: #f0f0f0; padding: 1.0rem; border-radius: 0.3rem;}
.reserve_factory .course-factory td .wpcf7-form-control{ display: grid; grid-template-columns: repeat( 2, 1fr);}
.reserve_factory .course-name th{ vertical-align: top; padding-top: 1.0rem;}
.reserve_factory .course-name td .note{ margin: 0.5em 0 0 0; font-size: 86%; line-height: 1.5;}
.reserve_factory .group-name th .note{ font-size: 77%;}
.reserve_factory .group-type td{ background: #f0f0f0; padding: 1.0rem; border-radius: 0.3rem;}
.reserve_factory .group-traffic select{ background: #f0f0f0;}
.reserve_factory .group-traffic .note{ display: flex; align-items: center; font-size: 86%; color: #f00; font-weight: bold; margin: 0.5em 0 0 0;}
.reserve_factory .group-traffic .note::before{ content: ''; display: block; width: 1.5em; height: 1.5em; background: url("../img/com/icon_attention.svg") no-repeat center center / contain; margin-right: 0.8em;}
.reserve_factory .your-email .notice{ display: flex; align-items: center; font-size: 86%; color: #f00; font-weight: bold; margin: 0.5em 0 0 0;}
.reserve_factory .your-email .notice::before{ content: ''; display: block; width: 1.5em; height: 1.5em; background: url("../img/com/icon_attention.svg") no-repeat center center / contain; margin-right: 0.8em;}
.reserve_factory .your-companion th span{ font-size: 77%;}
.reserve_factory .group-lang td,
.reserve_factory .your-lunch td,
.reserve_factory .your-option td{ background: #f0f0f0; padding: 1.0rem; border-radius: 0.3rem;}
.reserve_factory .your-option th .note{ font-size: 77%;}
.reserve_factory .your-option td{ vertical-align: middle;}
.reserve_factory .acceptance04 td{ background: #f0f0f0; padding: 1.0rem; border-radius: 0.3rem;}
.reserve_factory .acceptance04 [data-name="acceptance04"] .wpcf7-acceptance{ padding: 0;}
.reserve_factory .acceptance04 ol{ margin: 1.0rem 0 0 0; font-size: 86%;}
.reserve_factory .acceptance01 td,
.reserve_factory .acceptance02 td,
.reserve_factory .acceptance03 td{ display: flex; background: #f0f0f0; padding: 1.0rem; border-radius: 0.3rem; align-items: center;}
.reserve_factory .acceptance01 td .notice,
.reserve_factory .acceptance02 td .notice,
.reserve_factory .acceptance03 td .notice{ font-size:86%; color: #ff0000; font-weight: bold; line-height: 1.3; flex: 0 0 21em; display: flex; align-items: center;}
.reserve_factory .acceptance01 td .notice::before,
.reserve_factory .acceptance02 td .notice::before,
.reserve_factory .acceptance03 td .notice::before{ content: ''; display: block; width: 2.0em; height: 2.0em; background: url("../img/com/icon_attention.svg") no-repeat center center / contain; margin-right: 0.8em;}
.reserve_factory .your-term th{ vertical-align: top; padding-top: 1.0rem;}
.reserve_factory .your-term td p{ font-size: 93%; font-weight: bold; margin-left: 1.5em; padding: 0.5em 0;}
.reserve_factory .your-term td p:before,
.reserve_factory .your-term td p::after{ content: ''; display: block; padding: 0.5em 0; width: 1.5em; height: 1.5em; background: url("../img/tour/icon_term_down.svg") no-repeat center center / contain;}
.reserve_factory .table_confirm td{ background: #f0f0f0; border-radius: 0.5rem; padding: 0.5em 1.0em; vertical-align: middle;}
@media screen and ( max-width: 480px ) {
  .reserve_factory .date-first td{ display: grid; grid-template-columns: auto 1fr; gap: 0.5em 0;}
  .reserve_factory .course-select td .wpcf7-form-control{ grid-template-columns: 1fr;}
  .reserve_factory .course-factory td .wpcf7-form-control{ grid-template-columns: 1fr;}
  .reserve_factory .acceptance_notice td{ display: block;}
  .reserve_factory .acceptance_notice td .notice br{ }
  .reserve_factory .acceptance_notice td .wpcf7-acceptance{ padding: 0; margin: 0.5em 0 0 0; font-weight: bold;}
}

