/*--------------------------------------------------------------
  参加申込みスタイル
--------------------------------------------------------------*/

h5.lecture-ttl {
  font-family: "Mplus 1p";
  font-size: 2.8rem;
  font-weight: 400;
  text-align: center;
  color: #00561f;
  position: relative;
  line-height: 1.4;
  padding: 0.25em 0 0.25em;
  display: block;
  width: 85%;
  margin: 0 auto 40px;
}

h5.lecture-ttl:before,
h5.lecture-ttl:after {
  content:'';
  width: 20px;
  height: 30px;
  position: absolute;
  display: inline-block;
}

h5.lecture-ttl:before{
  border-left: solid 1px #00561f;
  border-top: solid 1px #00561f;
  top:0;
  left: 0;
}

h5.lecture-ttl:after{
  border-right: solid 1px #00561f;
  border-bottom: solid 1px #00561f;
  bottom:0;
  right: 0;
}

table.lecture-tb,
table.artist-tb {
  border: 1px solid #ccc;
}

table.artist-tb {
  width: 100%;
  margin: 0 auto 30px;
}

table.lecture-tb th,
table.artist-tb th {
  background: #fafecc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  text-align: center;
}

table.lecture-tb th,
table.lecture-tb td,
table.artist-tb th,
table.artist-tb td  {
  padding: 10px 15px 10px;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  overflow: hidden;
}

table.lecture-tb th,
table.artist-tb th {
  width: 120px;
}

table.lecture-tb td a img,
table.artist-tb td a img {
  display: inherit;
}

table.lecture-tb td img,
table.artist-tb td img {
  margin: 3px 2px 10px 0;
  /*float: left;*/
}

table.artist-tb td.sound img {
  display: block;
  margin: 3px auto 10px;
  float: none;
}

table.artist-tb td p {
  float: left;
}

.fa-map-marker {
  color: #337ab7;
  margin-right: 3px;
}

.required {
  color: red;
}

.request-end {
  text-align: center;
  font-size: 2.0rem;
  line-height: 2;
  background: #f4f7f9;
  padding: 20px 0;
  margin: 0 50px;
}

.attention-txt {
  margin: 0 45px 10px;
}

.attention-txt p {
  margin: 0;
}

.attention-txt p span a {
  color: #333;
}

.attention-txt p span a:hover {
}

table.lecture-tb td figure.wp-caption {
  margin: 0 20px 0 0;
  display: inline;
}

table.lecture-tb td figure.wp-caption figcaption.wp-caption-text {
  display: inline;
}

table.lecture-tb td figure#attachment_1291 figcaption.wp-caption-text,
table.lecture-tb td figure#attachment_1295 figcaption.wp-caption-text {
  display: block;
}

.thanks-page {
  margin: 30px 0 20px;
}

table.lecture-tb td ol {
  padding-left: 20px;
}

@media (max-width: 768px) {
  h5.lecture-ttl {
    font-size: 2.6rem;
    padding: 0.25em;
    width: 100%;
    margin: 0 auto 20px;
  }
  table.lecture-tb th,
  table.artist-tb th {
    padding: 10px;
  }
  table.lecture-tb th,
  table.lecture-tb td {
    display: block;
    width: 100%;
    border-right: none;
  }
  .request-end {
    font-size: 1.7rem;
    line-height: 1.7;
    padding: 20px 10px;
    margin: 0;
  }
  .attention-txt {
    margin: 0 0 10px;
  }
  .attention-txt p {
    font-size: 1.4rem;
  }
}


/*--------------------------------------------------------------
  申込みフォームスタイル
--------------------------------------------------------------*/

/*  mw wp form スタイル
--------------------------------------------------------------*/

.adm-form-wrap {
  padding: 0 20px 0;
  margin: 0 0 70px;
}

div.admission-form {
  padding: 30px 0 20px;
  background: #f4f7f9;
  border-radius: 5px;
  width: 90%;
  margin: 0 auto 30px;
}

table.admission-table {
  margin-bottom: 30px;
  overflow: hidden;
}

table.admission-table tr.other-row {
  display: inline-block;
  float: left;
  width: 100%;
  margin-right: 5%;
  margin-bottom: 10px;
  margin-top: 10px;
}

table.admission-table tr.your-name {
  display: inline-block;
  float: left;
  width: 45%;
  margin-right: 5%;
}

table.admission-table tr.your-age {
  display: inline-block;
  width: 25%;
  margin-right: 5%;
  margin-bottom: 10px;
  margin-top: 10px;
}

table.admission-table th {
  display: block;
  /*margin-top: 20px;*/
  font-weight: bold;
  font-size: 1.5rem;
  padding-left: 3px;
}

table.admission-table td {
  display: block;
  margin: 3px 0 10px;
  padding-left: 3px;
}

div.admission-inner {
  display: block;
  width: 75%;
  margin: 0 auto;
}

table.admission-table input,
table.admission-table textarea {
  width: 100%;
  padding: 5px 8px;
}

table.admission-table tr.your-age input {
  width: 80%;
}

.required-fields {
  color: red;
  font-size: 1.7rem;
}

.radio, .checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}

input[type='text'],
input[type='tel'],
input[type='email'],
table.admission-table textarea {
  font-weight: 400;
  font-size: 1.5rem;
}

td.cb-list .mwform-checkbox-field label {
  width: 23%;
}

td.cb-list-gender .mwform-checkbox-field label {
  width: 10%;
}

.mwform-checkbox-field-text {
  font-weight: bold;
  font-size: 1.5rem;
}

/*table.admission-table th.family-first-name,
table.admission-table td.family-first-name {
  display: inline-block;
  float: left;
  width: 45%;
  margin-right: 5%;
}*/

.mwform-checkbox-field input[type='checkbox'] {
  width: 20%;
  display: inline;
  margin: 0;
}
.mw_wp_form_complete {
  padding: 0 30px;
  font-size: 1.4rem;
}

input[type='submit'],
input.btn-back[type='submit'] {
  padding: 10px;
  color: #fff;
  border: none;
  background: #0187de;
  display: block;
  width: 40%;
  text-align: center;
  margin: 0 auto;
}

input.btn-back[type='submit'] {
  width: 20%;
  background: #aaaaaa;
}

input[type='submit']:hover {
  background: #002e73;
}

input.btn-back[type='submit']:hover {
  background: #888888;
}

/*  contact form 7 スタイル
--------------------------------------------------------------*/


div.wpcf7 {
  padding: 10px 0 20px;
  background: #f4f7f9;
  border-radius: 5px;
  width: 90%;
  margin: 0 auto;
}

div.wpcf7 P {
  margin: 25px 0;
}

form.wpcf7-form {
  display: block;
  width: 75%;
  margin: 0 auto;
}

form.wpcf7-form p.wpcf7c-elm-step2,
form.wpcf7-form p.wpcf7c-elm-step3 {
  text-align: center;
  font-weight: bold;
  border: 2px solid red;
  padding: 10px;
}

form.wpcf7-form p.wpcf7c-elm-step2 span.form-conf-alert {
  color: red;
}

form.wpcf7-form .wpcf7-mail-sent-ok {
  display: none !important;
}

div.wpcf7 label {
  display: inline-block;
  width: 100%;
  margin-bottom: 5px;
  font-weight: 500;
}

div.wpcf7 label input,
div.wpcf7 label textarea {
  width: 100%;
  padding: 5px 8px;
}

span.wpcf7-list-item {
  display: inline-block;
  margin: 0 20px 0 20px;
  font-weight: 500;
  line-height: 1.4;
}

.radio, .checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}

input[type='text'],
input[type='tel'],
input[type='email'],
div.wpcf7 label textarea {
  font-weight: 400;
}


div.wpcf7 label.child-num input[type='text'] {
  width: 87%;
}

div.wpcf7 label.family-first-name {
  display: inline-block;
  float: left;
  width: 45%;
  margin-right: 5%;
}

div.wpcf7 label.postal-code {
  display: inline-block;
  width: 45%;
  margin-right: 5%;
}

input[type='file'] {
  border: none;
}

div.wpcf7 label.child-num {
  display: inline-block;
  float: left;
  width: 40%;
  margin-right: 10%;
}

div.wpcf7 label.furigana-child {
  display: inline-block;
  float: left;
  width: 60%;
  margin-right: 8%;
}

div.wpcf7 label.age-child {
  display: inline-block;
  float: left;
  width: 30%;
}

div.wpcf7 span.kindergarten-age {
  display: inline-block;
  float: left;
  width: 20%;
}

div.wpcf7 label.birth-year {
  display: inline-block;
  float: left;
  width: 23%;
}

div.wpcf7 label.birth-month {
  display: inline-block;
  float: left;
  width: 15%;
}

div.wpcf7 label.ad-num {
  display: block;
  width: 40%;
}

div.wpcf7 label.age-child input[type='text'],
div.wpcf7 label.age-child input[type='number'] {
  width: 55%;
}

div.wpcf7 label.child-num input[type='number'] {
  width: 88%;
}

div.wpcf7 label.birth-year input[type='number']{
  width: 55%;
}

div.wpcf7 label.birth-month input[type='number'] {
  width: 75%;
}

form.wpcf7-form p  {
  overflow: hidden;
  padding: 0 3px;
}

input[type='submit'] {
  padding: 10px;
  color: #fff;
  border: none;
  background: #0090d5;
  display: block;
  width: 40%;
  text-align: center;
  margin: 20px auto 3px;
}

input[type='submit']:hover {
  background: #002e73;
}

div.wpcf7 .ajax-loader {
  display: none;
}

.wpcf7c-conf {
  background-color: rgb(250, 255, 189);
  color: #333;
  border: 1px solid #333333;
}

.form-block-wrap {
  overflow: hidden;
}

.guinness-school-name {
  width: 35%;
  float: left;
  margin-right: 4%;
}

.guinness-school-name {
  width: 35%;
  float: left;
  margin-right: 4%;
}

.guinness-age-child {
  width: 20%;
  float: left;
}

div.wpcf7 .guinness-age-child label input {
  width: 65%;
}

.num-people-wrap {
  overflow: hidden;
}

.num-people-inner {
  float: left;
  width: 20%;
  margin-right: 5%;
}

div.wpcf7 .num-people-inner label input {
  width: 80%;
}





/* 各ベンダープレフィックスが取れた標準版！！(http://caniuse.com/#search=placeholder-shown) */
:placeholder-shown {
  color: #ccc;
  font-weight: 400;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
  color: #ccc;
  font-weight: 400;
}

/* Firefox 18- */
:-moz-placeholder {
  color: #ccc;
  opacity: 1;
  font-weight: 400;
}

/* Firefox 19+ */
::-moz-placeholder {
  color: #ccc;
  opacity: 1;
  font-weight: 400;
}

/* IE 10+ */
:-ms-input-placeholder {
  color: #ccc;
  font-weight: 400;
}

@media (max-width: 768px) {
  .adm-form-wrap {
    padding: 0;
    margin: 0;
  }
  div.admission-form {
    width: 100%;
  }
  div.admission-inner {
    width: 90%;
  }
  table.admission-table tr.your-age {
    width: 45%;
  }
  .mw_wp_form td.cb-list .horizontal-item + .horizontal-item {
    margin-left: 0;
  }
  td.cb-list .mwform-checkbox-field label {
    width: 40%;
    margin: 8px 0 0;
  }
  td.cb-list .mwform-checkbox-field-text {
    font-size: 1.5rem;
  }
  td.cb-list-gender .mwform-checkbox-field label {
    width: 15%;
  }
  td.cb-list-gender .mwform-checkbox-field input[type='checkbox'] {
    width: 30%;
  }
  /*.mwform-checkbox-field-text {
    font-size: 1.3rem;
  }*/



  div.wpcf7 {
    padding: 10px 0 20px;
    width: 100%;
    font-size: 1.3rem;
  }
  form.wpcf7-form {
    width: 90%;
  }
  div.wpcf7 P {
    margin: 15px 0;
  }
  span.wpcf7-list-item {
    display: inline-block;
    margin: 0 15px 0 20px;
    font-weight: 500;
  }
  input[type='submit'] {
    padding: 15px 10px;
    width: 100%;
  }
  div.wpcf7 label.postal-code {
    width: 55%;
  }
  .contact-address span {
    font-size: 3.0rem;
  }
  div.wpcf7 label.child-num input[type='text'] {
    width: 80%;
  }
  div.wpcf7 label.child-num {
    display: inline-block;
    float: left;
    width: 45%;
    margin-right: 5%;
  }
  div.wpcf7 label.birth-year {
    display: inline-block;
    float: left;
    width: 40%;
  }
  div.wpcf7 label.birth-month {
    display: inline-block;
    float: left;
    width: 30%;
  }
  div.wpcf7 label.furigana-child {
    margin-right: 5%;
  }
  div.wpcf7 label.age-child {
    width: 35%;
  }
  div.wpcf7 label.age-child input[type='text'] {
    width: 75%;
  }
  div.wpcf7 span.kindergarten-age {
    width: 35%;
  }
  .num-people-inner {
    width: 40%;
    margin-right: 5%;
  }
  div.wpcf7 .num-people-inner label input {
    width: 80%;
  }
}

/*--------------------------------------------------------------
  フォームテストスタイル
--------------------------------------------------------------*/

.mwform-checkbox-field input[type='checkbox'].cb-style {/* まず、＜input＞タグの表示を消します*/
  display: none;
}

.mwform-checkbox-field input[type='checkbox'].cb-style + span {/* ＜span＞タグのスタイル（各項目幅や余白など） */
  padding-left: 20px;
  position: relative;
  margin-right: 20px;
}

.mwform-checkbox-field input[type='checkbox'].cb-style + span::before {/* チェックボックスの大きさや形のスタイル */
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  border-radius: 4px;
  background-color: #fff;
}

.mwform-checkbox-field input[type='checkbox'].cb-style:checked + span {/* 各項目のテキストカラー */
  /*color: #2cac44;*/
}

.mwform-checkbox-field input[type='checkbox'].cb-style:checked + span::after {/* 選択時のチェックボックススタイル */
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: 5px;
  width: 8px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 4px solid #2cac44;
  border-right: 4px solid #2cac44;
  border-radius: 4px;
}
