@charset "UTF-8";
/*日本語*/
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/NotoSansCJKjp-Regular-sub-j1.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/NotoSansCJKjp-Medium-sub-j1.woff") format("woff");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/NotoSansCJKjp-Bold-sub-j1.woff") format("woff");
}
html {
  overflow-y: scroll;
}

body {
  -webkit-text-size-adjust: none;
  color: #2a2a2a;
  margin: 0;
  padding: 0;
  background: #fff;
  font-family: "Noto Sans JP", "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Osaka, sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.05em;
  word-break: normal;
  word-wrap: break-word;
  /*	overflow:hidden;*/
}

* {
  margin: 0;
  padding: 0;
  line-height: 1.1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul, li, dl, dt {
  list-style-type: none;
}

img {
  vertical-align: middle;
  border: none;
}

p, dt, dd, li {
  text-align: left;
  text-justify: inter-ideograph;
}

br {
  line-height: 0;
}

a, a:link, a:visited, a:hover, a:active {
  text-decoration: none;
  outline: none;
}

.is-pc-center {
  text-align: center;
}

/*--------------------------------------------------------------------------------------

PCでは、LINE情報を非表示にする
2022.4.1。PCでもLINE表示復活。かつデザイン修正

-----------------------------------------------------------------------------------------*/
.mvUnderText .add_line {
  display: block;
  padding-top: 25px;
}

.add_line_right {
  width: 350px;
  margin: 0 auto;
  padding: 10px;
  border-top: 1px dotted #333;
  border-bottom: 1px dotted #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.add_line_friend {
  width: 35%;
}
.add_line_friend img {
  max-width: 100%;
}

.add_line_headline {
  width: 65%;
  padding-left: 20px;
}

.sp-br {
  display: none;
}

.is-sp {
  display: none;
}

.is-pc {
  display: block;
}

/*--------------------------------------------------------------------------------------

MV未登録の場合に表示するテキストを非表示にする

-----------------------------------------------------------------------------------------*/
.mv-replace {
  display: none;
}

.header_mv {
  width: 100%;
  text-align: center;
}

.header_mv img {
  max-width: 100%;
}

.input_head_text span.step_fig {
  display: none;
}

/*--------------------------------------------------------------------------------------

2020.11。全校統一フォームデザイン

-----------------------------------------------------------------------------------------*/
#container {
  width: 100%;
  background: #f3f3f3;
  padding: 40px 0 60px;
}

#header {
  width: 946px;
  margin: 0 auto;
  background: #fff;
}

.head-text-box > p {
  padding-top: 20px;
}

.head-text-box.complete > p {
  text-align: center;
  line-height: 2;
}

.head-text-box.complete > p a {
  display: inline-block;
  line-height: 2;
}

.head-text-box.complete > p a:hover {
  text-decoration: underline;
}

.content-box {
  width: 946px;
  margin: 0 auto;
  background: #fff;
  padding: 0 40px 40px;
}

/*------------------------------------------------

フロー前の注釈。2021.6追加

---------------------------------------------------*/
.mv-annotaiton {
  text-align: center;
  font-weight: 700;
  line-height: 1.6;
}
.mv-annotaiton.is-large {
  font-size: 18px;
}

/*------------------------------------------------

フロー

---------------------------------------------------*/
.flow-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 40px 0 20px;
}

.flow-item {
  position: relative;
  padding: 0 25px;
  text-align: center;
  font-weight: 700;
  color: #2a2a2a;
  z-index: 1;
}
.flow-item span {
  display: block;
  width: 50px;
  height: 50px;
  padding-top: 14px;
  border: 2px solid #cdcdcd;
  border-radius: 50%;
  background: #fff;
  margin-bottom: 8px;
  text-align: center;
  color: #666;
  font-size: 15px;
  letter-spacing: 0.1em;
}
.flow-item.on span {
  border: 3px solid #666;
  background: #666;
  color: #fff;
}
.flow-item:nth-of-type(1):after {
  content: "";
  display: block;
  position: absolute;
  left: 70px;
  top: 24px;
  width: 180px;
  height: 2px;
  background: #cdcdcd;
  z-index: -1;
}
.flow-item.is-input-page {
  color: #2a2a2a;
}
.flow-item.is-input-page span {
  position: relative;
}
.flow-item.is-input-page span:after {
  content: "";
  display: block;
  position: absolute;
  background: transparent;
  right: -3px;
  top: -3px;
  z-index: 2;
  width: 54px;
  height: 54px;
}
.flow-item.is-input-page span em {
  font-style: normal;
}
.flow-item.is-input-page span.step01_4:after {
  background: url(/form/images/arc4-1.svg) no-repeat right top;
  background-size: 27px auto;
}
.flow-item.is-input-page span.step02_4:after {
  background: url(/form/images/arc4-2.svg) no-repeat right top;
  background-size: 27px 100%;
  top: -4px;
}
.flow-item.is-input-page span.step03_4:after {
  background: url(/form/images/arc4-3.svg) no-repeat right top;
  background-size: 98% auto;
}
.flow-item.is-input-page span.step04_4:after, .flow-item.is-input-page span.step_end:after {
  background: url(/form/images/arc360.svg) no-repeat right top;
  background-size: 98% auto;
}
.flow-item.is-input-page span.step01_3:after {
  background: url(/form/images/arc3-1.svg) no-repeat right top;
  background-size: 27px auto;
}
.flow-item.is-input-page span.step02_3:after {
  background: url(/form/images/arc3-2.svg) no-repeat right top;
  background-size: 48px 100%;
  top: -3px;
}
.flow-item.is-input-page span.step03_3:after, .flow-item.is-input-page span.step_end:after {
  background: url(/form/images/arc360.svg) no-repeat right top;
  background-size: 98% auto;
}
.flow-item.is-input-page span.step01_5:after {
  background: url(/form/images/arc5-1.svg) no-repeat right top;
  background-size: 27px auto;
}
.flow-item.is-input-page span.step02_5:after {
  background: url(/form/images/arc5-2.svg) no-repeat right top;
  background-size: 27px 100%;
  top: -6px;
}
.flow-item.is-input-page span.step03_5:after {
  background: url(/form/images/arc5-3.svg) no-repeat right top;
  background-size: 69% auto;
}
.flow-item.is-input-page span.step04_5:after {
  background: url(/form/images/arc5-4.svg) no-repeat right top;
  background-size: 98% auto;
}
.flow-item.is-input-page span.step05_5:after, .flow-item.is-input-page span.step_end:after {
  background: url(/form/images/arc360.svg) no-repeat right top;
  background-size: 98% auto;
}
.flow-item.is-input-page.on span {
  border: 2px solid #cdcdcd;
  background: #fff;
  color: #666;
}
.flow-item.is-input-page span {
  font-size: 12px;
  padding-top: 12px;
}
.flow-item.is-input-page span b {
  font-size: 18px;
  color: #00ae52;
}

/*------------------------------------------------

管理画面から登録した文章を表示するエリア

---------------------------------------------------*/
.input_head_text {
  margin: 0 auto;
  padding: 25px 0;
  line-height: 1.6;
}
.input_head_text .is-caution {
  color: #c00;
}

.input_head_text p,
.input_head_text a {
  line-height: 1.6;
}

.confirm-header-caution .is-text {
  padding-bottom: 25px;
  color: #c00;
  line-height: 1.6;
}

/*------------------------------------------------

入力エリア・確認エリア

---------------------------------------------------*/
.input-table,
.confirm-table {
  width: 100%;
}

.input-table th,
.confirm-table th {
  width: 30%;
  min-height: 70px;
  padding-top: 25px;
  padding-bottom: 45px;
  padding-right: 70px;
  text-align: left;
  position: relative;
  font-weight: 700;
  vertical-align: top;
}

.input-label {
  position: absolute;
  right: 0;
  top: 25px;
  display: inline-block;
  padding: 4px 0.55em;
  border-radius: 11px/50%;
  font-size: 12px;
  color: #fff;
}

.input-label.nece {
  background: #d60000;
}

.input-label.option {
  background: #666;
}

.input-table th .caution,
.confirm-table th .caution {
  display: block;
  padding-top: 5px;
  font-size: 12px;
}

.form-td {
  width: 70%;
  padding-top: 25px;
  padding-left: 70px;
  vertical-align: top;
}

.calendar-td {
  width: 100%;
  padding-left: 0px;
}

.calendar-td.no-kosya-select > div {
  display: none;
}

.confirm-table th,
.confirm-table td {
  border-top: 1px solid #dedede;
}

.confirm-table tr:nth-of-type(1) th,
.confirm-table tr:nth-of-type(1) td {
  border-top: none;
}

.input-table tr:last-of-type .form-td {
  padding-bottom: 20px;
}

.confirm-table th {
  padding-top: 30px;
  padding-bottom: 30px;
  padding-right: 50px;
  letter-spacing: 0;
}

.confirm-table td {
  padding-top: 30px;
}

.confirm-table .input-label {
  top: 30px;
}

.jExample-top {
  padding-bottom: 8px;
}

.jExample-bottom {
  padding-top: 8px;
  width: 100%;
  line-height: 1.4;
}

.jcyu-bottom {
  padding-top: 8px;
}

.mainWarning {
  padding: 20px 0;
  color: #d60000;
  text-align: center;
}

.form-td .warning {
  color: #d60000;
}

.alignCenter.ttl {
  display: block;
  text-align: center;
  padding-bottom: 10px;
  font-size: 18px;
}

.input-table th.add-guidance-box {
  width: 100%;
  min-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  padding-right: 0;
  text-align: center;
}

.add-guidance-text {
  width: 100%;
  margin: -15px 0 15px;
}

.add-guidance-caution {
  line-height: 1.5;
}
.add-guidance-caution small {
  display: block;
  margin-top: 0.5em;
}

/*------------------------------------------------

完了ページのみ

---------------------------------------------------*/
.emailMes {
  padding: 15px 0 5px;
  line-height: 1.8;
}

.emailMes p {
  text-align: center;
  line-height: 1.8;
}

.misc_link {
  width: 260px;
  margin: 0 auto;
  padding: 10px 0 15px;
}

.misc_link a {
  display: block;
  width: 100%;
  border: 2px solid #d60000;
  padding: 13px 0;
  background: #d60000;
  border-radius: 23px/50%;
  color: #fff;
  text-align: center;
  font-weight: 700;
  -webkit-transition: background ease 0.4s, color ease 0.4s;
  transition: background ease 0.4s, color ease 0.4s;
}

.misc_link a:hover {
  background: #fff;
  color: #d60000;
  text-decoration: none !important;
}

.back-home-link {
  width: 260px;
  margin: 0 auto;
  padding: 40px 0 30px;
  text-align: center;
}

.back-home-link a {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 13px 0;
  border-radius: 23px/50%;
  border: 1px solid #2a2a2a;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
  color: #2a2a2a;
  -webkit-transition: background ease 0.4s, color ease 0.4s;
  transition: background ease 0.4s, color ease 0.4s;
  cursor: pointer;
}

.back-home-link a:hover {
  background: #2a2a2a;
  color: #fff;
}

/*------------------------------------------------

グループ分けする場合のタイトルエリア

---------------------------------------------------*/
.designGroupTitle th {
  padding: 20px 0;
}

.group-headline-text {
  padding: 14px 0;
  font-size: 18px;
  font-weight: 700;
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  text-align: center;
  position: relative;
  z-index: 10;
}

.group-headline-text small {
  font-weight: 400;
  font-size: 14px;
  display: inline-block;
  padding-top: 5px;
}

.group-headline-text.bg-gray {
  background: #dedede;
}

.confirm-table .designGroupTitle {
  display: none;
}

.g1_fn24209 .group-headline-text,
.g1_fn25209 .group-headline-text,
.g1_fn1917 .group-headline-text {
  text-align: center;
  position: relative;
  z-index: 2;
}

.g1_fn24209 .group-headline-text:after,
.g1_fn25209 .group-headline-text:after,
.g1_fn1917 .group-headline-text:after {
  content: "";
  display: block;
  position: absolute;
  left: 5%;
  bottom: calc(50% - 10px);
  width: 90%;
  height: 20px;
  background: yellow;
  z-index: 1;
}

.group-headline-text p,
.g1_fn24209 .group-headline-text p,
.g1_fn25209 .group-headline-text p,
.g1_fn1917 .group-headline-text p {
  text-align: center;
  position: relative;
  z-index: 2;
}

.fgenre_2 [class^=g1_fn] .group-headline-text:after {
  content: "";
  display: block;
  width: 94%;
  height: 46%;
  position: absolute;
  background: yellow;
  left: 2%;
  top: 27%;
  z-index: -1;
}

/*------------------------------------------------

部品

---------------------------------------------------*/
.form-td input[type=tel],
.form-td input[type=email],
.form-td input[type=text],
.form-td textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 4px;
  padding: 9px;
  font-size: 14px;
}

.tbox-label {
  font-weight: 700;
}

.form-td input[name=emailFull],
.form-td input[name=phoneFull],
.form-td input[name=mobilePhoneFull],
.form-td input[name=zipFull],
.form-td input[name=bldg],
.form-td input[name=addr] {
  width: 77%;
}

.form-td input[name=name1],
.form-td input[name=name2],
.form-td input[name=fname1],
.form-td input[name=fname2] {
  width: 200px;
}

.form-td input[name=phone1],
.form-td input[name=phone2],
.form-td input[name=phone3],
.form-td input[name=mobilePhone1],
.form-td input[name=mobilePhone2],
.form-td input[name=mobilePhone3] {
  width: 140px;
}

.form-td input[name=zip1] {
  width: 150px;
}

.form-td input[name=zip2] {
  width: 200px;
}

#even_name_2Area,
#even_fname_2Area,
#even_zip_2Area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.form-td textarea {
  width: 77%;
  margin-bottom: 15px;
}

.form-td select {
  border: 1px solid #cacaca;
  border-radius: 4px;
  padding: 9px 35px 9px 9px;
  font-size: 14px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%208%204%22%20fill%3D%22%23414141%22%3E%3Cpath%20d%3D%22M4%2C4L0%2C0h8L4%2C4z%22%2F%3E%3C%2Fsvg%3E");
  background-size: 8px 4px;
  background-repeat: no-repeat;
  background-position: center right 10px;
  width: 67%;
  max-width: 100%;
  color: #2a2a2a;
}
.form-td select option {
  color: #2a2a2a;
}

.form-td select[name=birth_year],
.form-td select[name=birth_month],
.form-td select[name=birth_day],
.form-td select[name=requestEvent_year],
.form-td select[name=requestEvent_month],
.form-td select[name=requestEvent_day] {
  width: 25%;
}

.form-td .jcyu_select {
  display: block;
  padding-top: 0.3em;
  line-height: 1.4;
}

.form-td input[type=radio] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
}

.form-td .radio label {
  position: relative;
  display: inline-block;
  padding: 8px 0 8px 25px;
  margin-right: 25px;
  cursor: pointer;
  font-weight: 700;
}

.form-td .radio label:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 8px;
  width: 12px;
  height: 12px;
  border: 2px solid #555;
  border-radius: 50%;
  -webkit-transition: border ease 0.4s;
  transition: border ease 0.4s;
}

.form-td .radio label.check_on:before {
  border: 2px solid #d60000;
}

.form-td .radio label:after {
  content: "";
  display: block;
  position: absolute;
  left: 4px;
  top: 12px;
  width: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
  -webkit-transition: background ease 0.4s;
  transition: background ease 0.4s;
}

.form-td .radio label.check_on:after {
  background: #d60000;
}

/*
.form-td .radio label + label{
    margin-left:25px;
}
*/
.policy_confirm_area input[type=checkbox],
.form-td input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
}

.policy_confirm_area label,
.form-td .cbox label {
  position: relative;
  display: inline-block;
  padding: 8px 0 8px 25px;
  cursor: pointer;
  font-weight: 700;
}

.policy_confirm_area label:before,
.form-td .cbox label:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 8px;
  width: 12px;
  height: 12px;
  border: 2px solid #555;
  background: #fff;
  -webkit-transition: border ease 0.4s, background ease 0.4s;
  transition: border ease 0.4s, background ease 0.4s;
  z-index: 1;
}

.policy_confirm_area label.check_on:before,
.form-td .cbox label.check_on:before {
  border: 2px solid #d60000;
  background: #d60000;
}

.policy_confirm_area label:after,
.form-td .cbox label:after {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  top: 8px;
  width: 12px;
  height: 12px;
  z-index: 2;
  background: none;
}

.policy_confirm_area label.check_on:after,
.form-td .cbox label.check_on:after {
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%208%206.1%22%20fill%3D%22%23fff%22%3E%3Cpath%20d%3D%22M7.7%2C0.3c-0.4-0.4-1-0.4-1.4%2C0L2.9%2C3.7L1.7%2C2.6c-0.4-0.4-1-0.4-1.4%2C0s-0.4%2C1%2C0%2C1.4l1.9%2C1.9C2.3%2C6%2C2.6%2C6.1%2C2.9%2C6.1S3.4%2C6%2C3.6%2C5.8l4.1-4.1C8.1%2C1.3%2C8.1%2C0.7%2C7.7%2C0.3z%22%2F%3E%3C%2Fsvg%3E") no-repeat 4px 4px;
  background-size: 8px 7px;
}

.policy-link-text {
  padding-top: 1em;
  text-align: center;
}

.policy-link-text a {
  color: #2a2a2a;
  text-decoration: underline;
}

.policy-link-text a:hover {
  text-decoration: none;
}

.policy-text-area {
  margin: 0 auto;
  text-align: center;
}

.policy-text-area .policy-checkbox {
  display: inline-block;
  text-align: left;
}

.policy-add-text {
  display: inline-block;
  padding: 8px 0 5px 25px;
}

.policy-add-text a {
  color: #2a2a2a;
  text-decoration: underline;
}

.policy-add-text a:hover {
  text-decoration: none;
}

.confirmBtn {
  padding: 30px 0 20px;
  text-align: center;
}

.confirmBtn > img {
  width: 26%;
}

input[name=confirm],
input[name=thanks] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  width: 200px;
  padding: 13px 0;
  border-radius: 23px/50%;
  border: 2px solid #d60000;
  background: #d60000;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  -webkit-transition: background ease 0.4s, color ease 0.4s;
  transition: background ease 0.4s, color ease 0.4s;
  cursor: pointer;
}

input[name=confirm]:hover,
input[name=thanks]:hover {
  background: #fff;
  color: #d60000;
}

input[name=confirm]:disabled {
  border: 2px solid #cacaca;
  background: #cacaca;
  cursor: default;
}

input[name=confirm]:disabled:hover {
  background: #cacaca;
  color: #fff;
}

input[name=backto] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  width: 200px;
  padding: 13px 0;
  border-radius: 23px/50%;
  border: 1px solid #2a2a2a;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
  color: #2a2a2a;
  -webkit-transition: background ease 0.4s, color ease 0.4s;
  transition: background ease 0.4s, color ease 0.4s;
  cursor: pointer;
  text-align: center;
}

input[name=backto]:hover {
  background: #2a2a2a;
  color: #fff;
}

.btn2-box {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 0 20px;
}
.btn2-box.back-to-stepform {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.btn2-box.back-to-stepform > div {
  width: 100%;
  text-align: center;
}
.btn2-box.back-to-stepform input[name=backto] {
  border: none;
  margin-top: 10px;
  width: auto;
  text-decoration: underline;
}
.btn2-box.back-to-stepform input[name=backto]:hover {
  color: #2a2a2a;
  background: #fff;
}

.btn2-box > div {
  padding: 0 20px;
}

.back-home-link {
  width: 100%;
  padding: 40px 0 30px;
  text-align: center;
}

.back-home-link a {
  display: block;
  width: 200px;
  margin: 0 auto;
  padding: 13px 0;
  border-radius: 23px/50%;
  border: 1px solid #2a2a2a;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
  color: #2a2a2a;
  -webkit-transition: background ease 0.4s, color ease 0.4s;
  transition: background ease 0.4s, color ease 0.4s;
  cursor: pointer;
}

.back-home-link a:hover {
  background: #2a2a2a;
  color: #fff;
}

/*------------------------------------------------

プライバシーエリア

---------------------------------------------------*/
.policy_confirm_area {
  border-top: 1px solid #dedede;
  padding-top: 40px;
}

.policy_confirm_area dt {
  padding-bottom: 20px;
  text-align: center;
  font-size: 14px;
  font-weight: 400;
}

.policy_confirm_area dt b {
  display: inline-block;
  padding-bottom: 6px;
  font-size: 18px;
  font-weight: 700;
}

.policy_confirm_area dt a {
  color: #0094d9;
  text-decoration: underline;
}

.policy-checkbox {
  text-align: center;
}

/*------------------------------------------------

フッタ

---------------------------------------------------*/
.footer-common {
  background: #414141;
  padding: 24px 0;
  font-size: 14px;
  height: auto;
}

.footer-text {
  font-size: 11px;
  text-align: center;
  color: #fff;
}

/*------------------------------------------------

複数選択可能なカレンダー

---------------------------------------------------*/
th.eventCalendarCKBArea {
  width: 100%;
  min-height: 0;
  padding: 0 0 10px 0;
  border-bottom: 2px solid #d60000;
  opacity: 1;
}

th.eventCalendarCKBArea.no-kosya-select {
  opacity: 0.3;
}

.confirm-table th.eventCalendarCKBArea {
  width: 30%;
  border-bottom: none;
}

.confirm-table th.eventCalendarCKBArea {
  padding-top: 30px;
  padding-bottom: 30px;
  padding-right: 50px;
  letter-spacing: 0;
}

.confirm-table th.eventCalendarCKBArea + td {
  padding-top: 30px;
  padding-bottom: 30px;
}

#eventCalendarCKBArea.cbox {
  padding-bottom: 15px;
}

.eventCalendarCKBArea .input-label {
  position: relative;
  margin-left: 1em;
  top: inherit;
}

.confirm-table .eventCalendarCKBArea .input-label {
  position: absolute;
  top: 30px;
  margin-left: 0;
}

.custom-headline-jExample {
  margin-top: 10px;
}
.custom-headline-jExample.is-big {
  font-size: 150%;
  color: #c00;
}

.custom-headline-area {
  width: 100%;
  padding: 20px 0;
}

.custom-headline {
  border-bottom: 2px solid #d60000;
  padding-bottom: 5px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
}

.custom-headline-jCyu {
  display: inline-block;
  margin-left: 1em;
  font-size: 13px;
  font-weight: 400;
}

.paging-area {
  width: 100%;
  padding: 10px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.paging-week {
  display: inline-block;
  padding: 3px 5px;
  margin-left: 10px;
  border: 1px solid #666;
  border-radius: 5px;
  opacity: 0.3;
  font-size: 13px;
}

.paging-week.js-show {
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
  background: linear-gradient(to bottom, #fff 0%, #eee 100%);
  opacity: 1;
  cursor: pointer;
  -webkit-transition: background ease 0.4s;
  transition: background ease 0.4s;
}

.paging-week.js-show:hover {
  background: #fff;
}

.cal-tbl {
  width: 100%;
  display: table;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  border-top: 1px solid #cacaca;
  border-left: 1px solid #cacaca;
}

.cal-tbl {
  display: none;
}

.cal-tbl td,
.cal-tbl th {
  border-right: 1px solid #cacaca;
  border-bottom: 1px solid #cacaca;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.cal-tbl th {
  padding: 10px 4px;
  font-size: 13px;
  vertical-align: middle;
}

.sunday { /*th*/
  color: #ee4242;
}

.saturday { /*th*/
  color: #0094d9;
}

.cal-tbl.js-show {
  display: table;
}

.cal-tbl label {
  display: block;
}

.no-data {
  background: url(images/table_pattern.gif);
}

/*
.no-data span{
	display:block;
	width:100%;
	height:100%;
	padding:20px 0;
	border:1px solid #fff;
	background:url(images/table_pattern.gif);
}
*/
.is-non-researve span,
.is-few span,
.is-empty span,
.is-full span {
  display: block;
  /*	width:100%;*/
  padding: 30px 0 10px;
  font-size: 13px;
  font-weight: 700;
}

.flex-col2-inner.is-non-researve, .flex-col2-inner.is-full {
  background: none;
}
.flex-col2-inner.is-non-researve span, .flex-col2-inner.is-full span {
  display: inline;
  background: none;
}

.is-few input,
.is-empty input {
  display: none;
}

.is-few span {
  background: url(images/triangle.svg) no-repeat center 12px;
  background-size: 20px auto;
  border: 2px solid #fff;
}

.is-empty span {
  background: url(images/circle.svg) no-repeat center 12px;
  background-size: 18px auto;
  border: 2px solid #fff;
}

.is-few span,
.is-empty span {
  cursor: pointer;
}

.is-non-researve,
.is-full {
  background: #ececec;
}

.is-non-researve span,
.is-full span {
  display: block;
  background: #ececec url(images/cross.svg) no-repeat center 10px;
  background-size: 18px auto;
}

.is-few input[type=checkbox]:checked + span {
  background: #fce5cd url(images/triangle.svg) no-repeat center 12px;
  background-size: 20px auto;
  border: 2px solid #ef7d03;
}

.is-empty input[type=checkbox]:checked + span {
  background: #fce5cd url(images/circle.svg) no-repeat center 12px;
  background-size: 18px auto;
  border: 2px solid #ef7d03;
}

.legend-area {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.legend-area p {
  position: relative;
  padding: 20px 25px;
  font-size: 13px;
  color: #000;
  line-height: 1.1;
}

.icon-empty {
  background: url(images/circle.svg) no-repeat left center;
  background-size: 18px auto;
}

.icon-few {
  background: url(images/triangle.svg) no-repeat left center;
  background-size: 20px auto;
}

.icon-full {
  background: url(images/cross.svg) no-repeat left center;
  background-size: 16px auto;
}

.select-date-area {
  width: 100%;
  padding: 20px 0;
}

.select-date-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.select-date-box + .select-date-box {
  margin-top: 10px;
}

.select-date-area dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #cacaca;
  width: 400px;
}

.select-date-area dt {
  background: #dedede;
  padding: 8px 8px;
  line-height: 1.1;
  font-size: 14px;
  font-weight: 700;
}

.select-date-area dd {
  padding: 8px 14px;
  line-height: 1.1;
  font-size: 13px;
  width: 20em;
  font-weight: 700;
}

.select-reset {
  padding-left: 15px;
  display: none;
}

.select-reset span {
  display: inline-block;
  padding: 4px 0.5em;
  border: 1px solid #666;
  border-radius: 5px;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
  background: linear-gradient(to bottom, #fff 0%, #eee 100%);
  cursor: pointer;
  -webkit-transition: background ease 0.4s;
  transition: background ease 0.4s;
  font-size: 13px;
}

.select-reset span:hover {
  background: #fff;
}

.real-online {
  padding-left: 15px;
  display: none;
}

.real-online select {
  padding: 6px 0;
  border: 1px solid #cacaca;
}

.cal-candidate {
  display: inline-block;
  padding: 4px 0.7em;
  font-weight: 700;
  background: #dedede;
  border-radius: 4px;
  margin-right: 1em;
  margin-bottom: 0.8em;
}

.dammy-tbl {
  width: 100%;
  display: table;
  margin-top: 20px;
  margin-bottom: 40px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  border-top: 1px solid #cacaca;
  border-left: 1px solid #cacaca;
}

.dammy-tbl {
  display: none;
}

.dammy-tbl td,
.dammy-tbl th {
  border-right: 1px solid #cacaca;
  border-bottom: 1px solid #cacaca;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.dammy-tbl th {
  padding: 10px 4px;
  font-size: 13px;
  vertical-align: middle;
}

.dammy-tbl td {
  background: #f2f2f2;
  padding: 40px 0;
}

.dammy_cal_text {
  width: 100%;
  text-align: center;
}

.dammy-tbl.js-show {
  display: table;
}

.dammy-tbl label {
  display: block;
}

/*LINE保護者*/
.line_parent_balloon {
  padding-top: 10px;
}
.line_parent_balloon span {
  display: inline-block;
  padding: 7px 1.2em 8px;
  background: #f3f3f3;
  border-radius: 15px/50%;
}

.line_parent_list {
  width: 340px;
  margin: 0 auto;
  padding: 30px 0;
}

.line_parent_item {
  padding-left: 1.5em;
  position: relative;
  margin-top: 1em;
}
.line_parent_item:nth-of-type(1) {
  margin-top: 0;
}
.line_parent_item:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 4px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ffd608;
}

/*カドカワロゴ*/
.holdings-logo {
  width: 946px;
  margin: -20px auto 20px;
}

.holdings-logo-image {
  text-align: right;
}
.holdings-logo-image img {
  width: 110px;
}

.kosya-annotation {
  width: 100%;
  padding: 1em 0 0;
}
.kosya-annotation .is-text {
  font-size: 12px;
  line-height: 1.5;
  font-weight: 400;
}
.kosya-annotation .is-text b {
  font-weight: 700;
}

/*---------------------------------

2023.8追加。VCAでテスト

---------------------------------*/
.hasMultiTbox {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.hasMultiTbox .flex-col2-inner + .flex-col2-inner {
  padding-left: 15px;
}

.group-label {
  display: inline-block;
  margin-left: 0.7em;
  padding: 4px 0.55em;
  border-radius: 11px/50%;
  font-size: 12px;
  color: #fff;
}
.group-label.nece {
  background: #d60000;
}
.group-label.option {
  background: #666;
}