@charset "UTF-8";

/* 変数 */
:root {
  --transTime: 0.1s;
}

/* 全体 */
html {
  scroll-behavior: smooth;
}
#contents {
  width: 1000px !important;
}
#contents-in {
  padding-top: 50px !important;
  padding-left: 120px !important;
  padding-right: 120px !important;
}
.hidden,
.dellno {
  display: none;
}
h1 span.small {
  margin-bottom: 0.25rem;
  font-size: 0.8em;
}

/* フォーム */
span.warnText {
  color: #ff2222;
}
.tr {
  width: 100%;
  margin-top: 2rem !important;
  margin-bottom: 0.2rem !important;
}
.tr.notTr p {
  font-weight: normal;
}
input[type="text"],
input[type="tel"],
input[type="email"],
textarea,
select {
  width: 100% !important;
  margin: 0 !important;
  padding: 0.1rem 0.35rem;
  font-size: 1.05rem !important;
  line-height: 1rem;
  height: 2.5rem;
  border: solid 1px #a8a8a8;
  border-radius: 0.5rem;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  margin-right: 0.25rem;
  vertical-align: -0.4rem;
  accent-color: #1e51a2;
}
input[type="radio"],
input[type="checkbox"],
input[type="submit"],
label,
label:has(input[type="radio"]),
label:has(input[type="checkbox"]),
select,
button,
.btn,
.photodell > div {
  cursor: pointer;
}
textarea {
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
  height: auto;
  line-height: 1.3;
  text-align: justify;
}
select {
  transition: var(--transTime);
}
select:hover {
  background-color: #f4f4f4;
}
fieldset {
  padding: 0;
  border: none;
  box-sizing: border-box;
}
legend {
  font-weight: bold;
  font-size: 1rem;
}
label,
.tr p {
  display: block;
  margin: 0;
  font-weight: bold;
  line-height: 1.5rem;
  cursor: default;
}
label:has(input[type="radio"]),
label:has(input[type="checkbox"]) {
  display: inline-block;
  font-weight: normal;
}
.label:has(+ .label) {
  margin-bottom: 0.5rem;
  margin-right: 1rem;
}
.tr .cates {
  padding: 1rem;
  border: solid 1px #cbcbcb;
  border-radius: 0.5rem;
}
.tr fieldset:has(+ fieldset) {
  margin-bottom: 0.75rem;
  /* padding-bottom: 0.8rem; */
  /* border-bottom: dashed 1px #aaaaaa; */
}
.tr fieldset span {
  display: block;
  margin-bottom: 0.4rem;
  padding-left: 0.5rem;
  background-color: #eeeeee;
}

/* 利用内容 ラジオボタン */
.doClick1,
.doClick2,
.doClick3,
.doClick4,
.doClick5,
.doClick6,
.doClick7,
.doClick8,
.doClick9,
.doClick10,
.doClick11,
.doClick12 {
  display: none;
}
.doClick1.is_checked,
.doClick2.is_checked,
.doClick3.is_checked,
.doClick4.is_checked,
.doClick5.is_checked,
.doClick6.is_checked,
.doClick7.is_checked,
.doClick8.is_checked,
.doClick9.is_checked,
.doClick10.is_checked,
.doClick11.is_checked,
.doClick12.is_checked {
  display: block;
  margin-top: 0.5rem;
}

/* 画像アップロード */
.photobox > div {
  display: flex;
  gap: 2rem;
  margin-top: 0.2rem;
}
.area {
  width: 15rem;
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: #eee;
  box-sizing: border-box;
}
.file-drop-area {
  text-align: center;
}
.btn,
.photodell > div {
  width: 100%;
  border-radius: 0.2rem;
  margin: 0.2rem 0;
  padding: 0.25rem;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.04rem;
  color: #ffffff;
  background-color: #208023;
  box-sizing: border-box;
  transition: var(--transTime);
}
.btn:hover,
.photodell > div:hover {
  background-color: #166b19;
}
.btn + p {
  font-weight: normal;
  font-size: 0.9rem;
}

p.errorText {
  color: #ff2222;
  background-color: #ffe7e7;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  padding: 1rem 0;
}
/* エラー表示 */
.tr span.errText1,
.tr span.errText2,
.tr span.errText3,
.tr span.errText4,
.tr span.errText5,
.tr span.errText6,
.tr span.errText7,
.tr span.errText8,
.tr span.errText9,
.tr span.errText10,
span.zen {
  display: none !important;
}
.tr span.errText1.is_checked,
.tr span.errText2.is_checked,
.tr span.errText3.is_checked,
.tr span.errText4.is_checked,
.tr span.errText5.is_checked,
.tr span.errText6.is_checked,
.tr span.errText7.is_checked,
.tr span.errText8.is_checked,
.tr span.errText9.is_checked,
.tr span.errText10.is_checked,
span.zen.is_checked {
  color: #ff2222;
  background-color: #ffe7e7;
  display: block !important;
  line-height: 1;
  font-size: 15px;
  font-weight: bold !important;
  border-radius: 0.3rem;
  margin-top: 0.2rem;
  padding: 0.5rem;
}
#name.is_checked,
#coopNo.is_checked,
#townName.is_checked,
#tel.is_checked,
#year.is_checked,
#month.is_checked,
.category.is_checked,
#titleName.is_checked,
#contents.is_checked {
  border-color: #ff5252;
}
#name.is_checked:focus,
#coopNo.is_checked:focus,
#townName.is_checked:focus,
#tel.is_checked:focus,
#year.is_checked:focus,
#month.is_checked:focus,
.category.is_checked:focus,
#titleName.is_checked:focus,
#contents.is_checked:focus {
  outline: solid 1px #ff5252;
}
.formFlex {
  display: flex;
  align-items: flex-end;
  gap: 0.25rem;
}
.formFlex select:nth-of-type(1) {
  width: calc(100% * 0.15) !important;
}
.formFlex select:nth-of-type(2) {
  width: calc(100% * 0.1) !important;
}
.formFlex span {
  display: inline-block;
  margin-right: 0.7rem;
}
label > span:not(.required),
.tr p > span:not(.required) {
  display: inline-block;
  font-weight: normal;
  font-size: 0.9rem;
  /* margin: 0 0.5rem; */
}
.required,
.noneRequired {
  display: inline-block;
  font-size: 0.8rem !important;
  font-weight: bold !important;
  margin-left: 0.3rem;
  padding: 0.2rem 0.4rem;
  border-radius: 1rem;
  line-height: 1;
  color: #fff;
  box-sizing: border-box;
  vertical-align: 0.15rem;
}
.required {
  background-color: #ff3636;
}
.noneRequired {
  background-color: #555;
}
p:has(a.blank) {
  margin-top: 3rem !important;
}
.agree {
  border: solid 1px #ff3636;
  padding: 0.4rem 0.8rem;
}

/* Submitボタン */
.submitBtn {
  text-align: center;
}
.submitBtn input[type="submit"] {
  border: none;
  width: 20rem;
  height: fit-content;
  text-align: center;
  border-radius: 0.5rem;
  margin: 4rem auto;
  padding: 0.8rem 0;
  font-size: 1.15rem;
  color: #fff;
  background-color: #1e51a2;
  transition: var(--transTime);
}
.submitBtn input[type="submit"]:hover {
  background-color: #123f88;
}

/* 確認画面 */
p.checkField {
  width: 100%;
  border-radius: 0.5rem;
  font-size: 1.1rem;
  font-weight: normal !important;
  text-align: justify;
  margin: 0 !important;
  padding: 0.8rem 1rem;
  background-color: #e7e7e7;
}
.checkField img {
  width: 15rem;
  height: auto;
  vertical-align: middle;
  margin-right: 2rem;
}
.checkTable .submitBtn input[type="submit"] {
  margin-bottom: 1.5rem !important;
}
.submitBtn.gray input[type="submit"] {
  margin: 0 auto;
  background-color: #929292;
}
.submitBtn.gray input[type="submit"]:hover {
  background-color: #aaa;
}

/* 完了画面 */
.thanks p {
  text-align: center;
  font-size: 20px;
  margin: 50px;
}
