@charset "utf-8";
.form * {
  font-family: Arial, Roboto, "Droid Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: initial;
}
.thanks_body {
  margin: 0;
  text-align: center;
}
textarea {
  min-height: 3rem;
}
form p {
  line-height: 1.2em;
}
.maintitle {
  border-bottom: 1px solid #dbdbdb;
  text-align: center;
  font-weight: bold;
  font-family: Georgia, "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "メイリオ", Meiryo, serif;
  color: #333;
}

.subtitle {
  margin-bottom: 1em;
  text-align: center;
  font-size: 1.125em;
  font-weight: bold;
  font-family: Georgia, "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "メイリオ", Meiryo, serif;
  color: #333;
}

#error {
  margin: 0 2em .5em;
  padding: 1em;
  background: #eee;
  border-radius: .5em;
}

#error p {
  margin-bottom: .5em;
  text-align: center;
  font-weight: bold;
  color: red;
}

#error li {
  margin-bottom: .75em;
  padding-left: 1em;
  text-indent: -1em;
  font-size: .8em;
}

#error li:before {
  content: "\30FB";
}

#error li:last-child {
  margin-bottom: 0;
}

.base > tbody > tr > td p {
  margin-bottom: .5em;
  font-size: .75em;
}

.base > tbody > tr > td p:last-child {
  margin-bottom: 0;
  line-height: 2;
}

.intable {
  border: 1px solid #ddd;
  margin-bottom: .5em;
}

.intable thead tr {
  background: #f6f6f6;;
}

.intable th {
  font-size: .9em;
}

.intable th span {
  font-weight: bold;
}

.intable th span.sat {
  color: blue;
}

.intable th span.sun {
  color: red;
}

.intable th, .intable td {
  border: 1px solid #ddd;
  text-align: center;
  vertical-align: middle;
}

.intable th, .intable td label {
  padding: .75em .25em;
}

.intable td label {
  width: 100%;
}

.form label {
  display: inline-block;
  margin-right: 1em;
  line-height: 1.5em;
}

.form button[type="submit"] {
  display: block;
  margin: auto;
  padding: 0.75em 3em;
  background: #8ed584;
  box-shadow: 0 2px 3px rgba(0,0,0,.2);
  border-radius: .25em;
  border: none;
  font-size: 1.25em;
  cursor: pointer;
  transition: .3s;
}

.form button[type="submit"]:hover {
  opacity: .8;
}

.item {
  font-weight: 500;
  line-height: 1.5em;
}

.item:before {
  position: relative;
  margin-right: .5em;
  padding: .175em .5em;
  border-radius: .25em;
  font-size: .65em;
  color: #fff;
  top: -2px;
}

.req .item:before {
  content: "\5FC5\9808";
  background: #c92c63;
}

.opt .item:before {
  content: "\4EFB\610F";
  background: #11aba3;
}

input[type="text"].ok, input[type="tel"].ok, input[type="email"].ok, select.ok {
  background: #e1feee;
}

input[type="text"].ng, input[type="tel"].ng, input[type="email"].ng, select.ng {
  background: #ffcbcb;
}

.sec {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 1em;
}

td .sec:last-child {
  margin-bottom: 0;
}

.pos {
  position: relative;
}

.pos span {
  position: absolute;
  right: 0;
}

.mailcheck, .telcheck {
  margin: .5em 0;
  text-align: center;
}

.mailcheck span, .telcheck span {
  min-height: 1.25em;
  display: block;
  word-break:break-all;
  font-weight: bold;
  font-size: 1.875em;
}

.form .btn_radio + label {
  position: relative;
  display: block;
  width: calc(50% - .25em);
  margin: 0 .5em .5em 0;
  padding: .5em;
  padding-left: 2em;
  background: #eee;
  border: 1px solid #999;
  border-radius: .5em;
  text-align: center;
  font-size: .875em;
  color: #000;
}

.form .btn_radio + label:nth-child(4n) {
  margin-right: 0;
}

.form .btn_radio + label:before {
  position: absolute;
  top: 50%;
  left: .675em;
  display: block;
  margin-top: -.675em;
  content: '\f00c';
  font-family: FontAwesome;
  color: #000;
}

.form .btn_radio.lev1 + label:before, .form .btn_radio.lev2 + label:before, .form .btn_radio.lev3 + label:before {
  left: .4em;
  margin-top: -.4em;
  font-weight: bold;
  font-size: 1.5em;
}

.form .btn_radio.lev1 + label:before {
  content: '\25B3';
  color: #ae8139;
}

.form .btn_radio.lev2 + label:before {
  content: '\25CB';
  color: #f28642;
}

.form .btn_radio.lev3 + label:before {
  content: '\25CE';
  color: #2bb167;
}

.form .btn_radio:checked  + label {
  background: #e1feee;
  color: #000;
}

.form .btn_radio:checked + label:before{
  content: '\f00c';
  color: #2bb167;
}

.form .btn_radio {
  position: absolute;
  opacity: 0;
  z-index: -1;
  display: block;
}

.ipt100 {
  width: 100%;
}

.ipt50 {
  width: 49%;
}

.ipt30 {
  width: 30%;
}

.sec .ipt50 {
  margin-right: 2%;
}

.sec .ipt50:nth-child(2n) {
  margin-right: 0;
}

#conf_block span {
  position: relative;
  display: inline-block;
  padding: .5em 1em;
  padding-left: 3.25em;
  background: #dd2d2d;
  text-align: center;
  font-size: .875em;
  color: #fff;
}

#conf_block span:before {
  position: absolute;
  display: block;
  content: "\f06a";
  top: 50%; left: .25em;
  margin-top: -.5em;
  line-height: 1;
  font-family: FontAwesome;
  font-size: 2.5em;
  color: #fff;
}

#sug {
  position: absolute;
  box-shadow: 2px 2px 4px rgba(0,0,0,.3);
  background: #fff;
  border: 1px solid #ccc;
  border-radius: .25em;
}

#sug li {
  padding: .5em;
  border-bottom: 1px dotted #eee;
  cursor: pointer;
}

#sug li:last-child {
  border: none;
}

#sug li.sel {
  background: #bfe3f9;
}

#conf_block {
  margin-top: 2em;
  text-align: center;
}

#conf_block span {
  display: inline-block;
  text-align: center;
}

.remain_box {
  position: fixed;
  max-width: 9em;
  padding: .5em;
  background: #dd2d2d;
  border-radius: .5em;
  font-size: .875em;
  z-index: 999;
  color: #fff;
}

.remain_box.ok {
  background: #acfcd0;
  color: #333;
  padding: 1em 0;
}

.remain_box span {
  font-weight: bold;
}

footer {
}

footer p {
  line-height: 2em;
  text-align: center;
  font-size: .75em;
}

.privacy {
  padding: 1em;
  border: 4px solid #ccc;
}

.privacy h2 {
  margin-bottom: 1em;
  text-align: center;
  font-weight: bold;
  color: #333;
  font-family: Georgia, "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "メイリオ", Meiryo, serif;
}

.privacy p {
  margin-bottom: 1.5em;
}
.privacy a {
  display: inline;
}

.privacy p:last-child {
  margin-bottom: 0;
}

.hidbox {
  height: 12em;
  overflow-y: scroll;
  margin-bottom: 1em;
  padding: 1em;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,.2) inset;
  border: 1px solid #ccc;
}

.hidbox h3 {
  font-weight: bold;
  margin-bottom: .5em;
}

.hidbox ul {
  margin-bottom: 1.5em;
}

.hidbox ul li {
  margin-bottom: .5em;
  font-size: .875em;
  padding-left: 1em;
}

.form .p_privacy .btn_radio + label {
  margin: 0 auto;
  padding: .75em 0;
  width: 60%;
  font-size: 1.25em;
}

.thanks {
  margin-top: 2em;
}

.thanks p {  margin-bottom: 1em; font-feature-settings: "palt"; text-align:justify; text-justify:auto; line-height: 1.7;}
.thanks .thanks-line { margin: 3% auto; display: block;}
.thanks p span { text-decoration: underline;}

.att {
  text-decoration: underline;
  color: #ae8139;
}

.login {
  margin: 1em 0;
}

.login .catch {
  margin: .25em 0 .75em;
  text-align: center;
  font-weight: bold;
  font-size: 1.05em;
  font-family: Georgia, "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "メイリオ", Meiryo, serif;
  color: #333;
}

.login p {
  font-size: .875em;
  margin-bottom: .5em;
}

.red {
  font-size: .75em;
  color: #ae8139;
}

.meiwaku {
  padding: 1em;
  border: 4px solid #ccc;
}

.meiwaku .catch {
  margin-bottom: 1em;
  text-align: center;
  font-weight: bold;
  font-family: Georgia, "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "HGS明朝E", "メイリオ", Meiryo, serif;
  color: #333;
}

.meiwaku p {
  font-size: .875em;
}

.pos.sec {
  font-size: .75em;
}

.shoplist {
  padding: .4em 1.5em;
  background: #ae8139;
  border-radius: 1em;
  color: #fff;
}

.form span.lev1, .form span.lev2, .form span.lev3 {
  font-weight: bold;
}

.form span.lev1:before, .form span.lev2:before, .form span.lev3:before {
  font-family: FontAwesome;
}

.form span.lev1 {
  color: #ae8139;
}

.form span.lev1:before {
  content: '\25B3';
}

.form span.lev2 {
  color: #f28642;
}

.form span.lev2:before {
  content: '\25CB';
}

.form span.lev3 {
  color: #2bb167;
}

.form span.lev3:before {
  content: '\25CE';
}

.sankaLabel {
  display: flex;
  flex-direction: column;
}
.sankaLabel label {
  padding-left: 1em;
  text-indent: -1em;
}

/* 20210906追記*/
.remain_box {
  bottom: inherit !important;
  top: 0;
  right: inherit !important;
  left: 0;
  position: fixed;
  width: 100%;
  display: block;
  padding: 5px;
  background: #ffcbcb;
  border-radius: 0;
  font-size: .875em;
  z-index: 999;
  color: #000;
  text-align: center;
  max-width: inherit;
}

.remain_box span {
  color: #dd2d2d;
  font-weight: bold;
  font-size: 1.3em;
}

.privacyModal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100vh;
  /* display: flex; */
  justify-content: center;
  align-items: center;
  background: rgba(0,0,0,0.5);
}

.privacyModal .modalInner {
    max-width: 720px;
    width: 70%;
    height: 75vh;
    background: #fff;
    padding: 1.5em;
    overflow-y: scroll;
}

.privacyModal .modalClose {
  position: absolute;
  top: 0.5em;
  right: 1em;
  font-size: 2.5em;
  color: #fff;

}

.privacy a {
  text-decoration: underline;
}
.base > tbody > tr > td .shopTtl {
  font-size: 1em;
}
.shopTtl .req:before {
  position: relative;
  margin-left: .5em;
  padding: .175em .5em;
  border-radius: .25em;
  font-size: .65em;
  color: #fff;
  top: -2px;
  content: "\5FC5\9808";
  background: #d9534f;
}

.shopTtl .opt:before {
  position: relative;
  margin-left: .5em;
  padding: .175em .5em;
  border-radius: .25em;
  font-size: .65em;
  color: #fff;
  top: -2px;
  content: "\4EFB\610F";
  background: #337ab7;
}

span.required {
  position: relative;
}

span.required:before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0.75em;
  margin: auto 0;
  padding: .175em .5em;
  border-radius: .25em;
  font-size: .65em;
  color: #fff;
  content: "\5FC5\9808";
  background: #d9534f;
  z-index: 9;
  line-height: 1.5;
}

.ipt30 {
  width: 31.8%;
}

.form button[type="submit"] {
  box-shadow: none;
  border-radius: 0;
}

.sec {
  margin-bottom: 10px;
}

.form .btn_radio + label {
  border: none;
  border-radius: 0;
}

#conf_block span {
  padding: .75em 2.5em;
  background: #676767;
  font-size: 1em;
}

#conf_block span:before {
  display: none;
}

#conf_block {
  margin-top: 0.5em;
}

.privacy {
  margin: 0;
    padding: 0;
    border: none;
}

.formError .formErrorContent {
	width: 100%;
    background: #dd2d2d;
    position: relative;
    color: #fff;
    min-width: 120px;
    font-size: 11px;
    padding: 4px 10px 4px 10px;
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    -o-border-radius: 6px;
    border: 1.5px solid #fff;
    box-shadow: 0 2px 3px rgb(0 0 0 / 20%);
}

.formError .formErrorContent:before {
    content: "";
    position: absolute;
    top: -12px;
    left: 30px;
    margin-left: -15px;
    border: 6px solid transparent;
    border-bottom: 6px solid #de3131;
    z-index: 2;
  }
  
  .formError .formErrorContent:after {
    content: "";
    position: absolute;
    top: -16px;
    left: 30px;
    margin-left: -17px;
    border: 8px solid transparent;
    border-bottom: 8px solid #fff;
    z-index: 1;
  }
  
  .required.selectBox:before {
    right: 2em;
}

.form .btn_radio + label {
  width: 49%;
  margin-right: 2%;
}

select {
  height: 2em;
  border-radius: 0;
}

.form .btn_check + label {
  position: relative;
  display: block;
  width: calc(50% - .25em);
  margin: 0 .5em .5em 0;
  padding: .5em;
  padding-left: 2em;
  background: #eee;
  text-align: center;
  font-size: .875em;
  color: #000;
  border: none;
  border-radius: 0;
}

.form .btn_check + label:nth-child(4n) {
  margin-right: 0;
}

.form .btn_check + label:before {
  position: absolute;
  top: 50%;
  left: .675em;
  display: block;
  margin-top: -.675em;
  content: '\f00c';
  font-family: FontAwesome;
  color: #000;
}

.form .btn_check:checked  + label {
  background: #e1feee;
  color: #000;
}

.form .btn_check:checked + label:before{
  content: '\f00c';
  color: #2bb167;
}

.form .btn_check {
  position: absolute;
  opacity: 0;
  z-index: -1;
  display: block;
}

.form .sankaLabel .btn_radio + label{
  width: 100%;
}

.form .sankaLabel .btn_radio + label:before {
  left: 1.8em;
}

.bwj-bn {
  margin-bottom: 15px;
}

.att_red {
  text-align: center;
  color: #ea0000;
  font-size: 1.3rem;
  font-weight: bold;
  padding: 10px 0;
}

.form input[type="submit"] {
  display: block;
  margin: auto;
  padding: 1em 3.6em;
  background: #8ed584;
  border: none;
  font-size: 1.25em;
  cursor: pointer;
  transition: .3s;
}

.thanks_header {
  margin-top: 0;
}

.thanks-line { margin: 3% auto;}

