@charset "utf-8";
/*////////////////////////////////////////////////
=Reset
////////////////////////////////////////////////*/
* {
  margin: 0;
  padding: 0
}
a {
  text-decoration: none;
  color: #333;
}
ul, ol {
  list-style: none;
}
img {
  vertical-align: middle;
}
/*////////////////////////////////////////////////
=Fluid-img
////////////////////////////////////////////////*/
img {
  max-width: 100%;
}
/*////////////////////////////////////////////////
=html body
////////////////////////////////////////////////*/
html {
  height: 100%;
}
body {
  font-size: 87.5%; /* 14px */
  font-family: 'Noto Sans Japanese', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  line-height: 1.1;
  min-height: 100%;
  display: flex; /* thanksのfooter調整 */
  flex-direction: column; /* thanksのfooter調整 */
  word-wrap: break-word;
}
.wrap { /*20241204*/
  flex: 1;
}
/*////////////////////////////////////////////////
=Heading
////////////////////////////////////////////////*/
h1 {
  margin: 0;
}
h2 {
  font-size: 1.143em; /* 16px */
  padding: 10px;
  margin: 15px 0 0 0;
  background-color: #D6D6D6;
}
h3 {
  font-size: 1.143em; /* 16px */
  margin: 15px 0;
  line-height: 1.6em;
}
h3 .require {
  font-size: 0.786em; /* 11px */
  background-color: #C66868;
  padding: 0px 2px 2px 2px;
  color: #fff;
  border-radius: 3px;
  margin: 0 5px 0 0;
  font-weight: normal;
}
h3 span.notes {
  font-size: 0.857em; /* 12px */
  background-color: transparent;
  padding: 0;
  color: #333;
  border-radius: 0;
  margin: 0;
  font-weight: bold;
}
/*////////////////////////////////////////////////
=Header
////////////////////////////////////////////////*/
header {
  height: auto;
}
@media all and (-ms-high-contrast: none) {
  header {
    height: 100%;
  }
}
header h1 img {
  max-width: 100%;
  margin: 0 auto;
}
header #header_text { /*20241204*/
  margin: 1em auto 0 auto;
}
header .header_contents {
  margin: 0 auto 0 auto;
}
.pc_main {
  display: none !important;
}
.sp_main {
  display: block !important;
}
/*////////////////////////////////////////////////
=input[type="email"]
////////////////////////////////////////////////*/
.form_contents input[type="email"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  border: solid 1px #ccc;
  width: 100%;
  min-height: 3.429em;
  padding: 0 0.857em;
  line-height: 2;
  background-color: #F9FAFB;
  border-radius: 0;
}
/*////////////////////////////////////////////////
=input[type="number"]
////////////////////////////////////////////////*/
.form_contents input[type="number"] {
  -webkit-appearance: none;
  appearance: textfield;
  box-sizing: border-box;
  border: solid 1px #ccc;
  width: 100%;
  min-height: 3.429em;
  padding: 0 0.857em;
  line-height: 2;
  background-color: #F9FAFB;
  border-radius: 0;
}
.form_contents .postalcode input[type="number"] {
  width: 100%;
  margin-bottom: 10px;
}
input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/*////////////////////////////////////////////////
=input[type="tel"]
////////////////////////////////////////////////*/
.form_contents input[type="tel"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  border: solid 1px #ccc;
  width: 100%;
  min-height: 3.429em;
  padding: 0 0.857em;
  line-height: 2;
  background-color: #F9FAFB;
  border-radius: 0;
}
/*////////////////////////////////////////////////
=生年月日[type="text"]時
////////////////////////////////////////////////*/
.text_birth {
  position: relative;
  display: block;
  width: 20%;
  background: #fff;
  float: left;
}
.form_contents .text_birth + p {
  line-height: 3.5 !important;
}
/*////////////////////////////////////////////////
=input[type="radio"]
////////////////////////////////////////////////*/
.radio label {
  display: table;
}
.radio input[type="radio"] {
  /* 透明度0 */
  filter: alpha(opacity=0);
  /* -moz-opacity:0; */
  opacity: 0;
  /* ブラウザのデフォルトのスタイルを削除 */
  -webkit-appearance: none;
  appearance: none;
  /* レイアウトから無視 */
  position: absolute;
}
.radio input[type="radio"]:focus + span::before {
  border: 1px solid #dd4f3f;
}
.radio span {
  position: relative;
  display: inline-block;
  padding: 10px 0px 10px 30px;
  cursor: pointer;
}
.radio span::before, .radio span::after {
  position: absolute;
  content: '';
  top: 50%;
  border-radius: 100%;
  -webkit-transition: all .2s;
  transition: all .2s;
}
.radio span::before {
  left: 0;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background: #f3f3f3;
  border: 1px solid #ccc;
}
.radio span:hover::before {
  background: #fff;
}
.radio span::after {
  opacity: 0;
  left: 4px;
  width: 14px;
  height: 14px;
  margin-top: -6px;
  background: #dd4f3f;
  -webkit-transform: scale(2);
  transform: scale(2);
}
.radio input[type="radio"]:checked + span::before {
  background: #fff;
  border: 1px solid #dd4f3f;
}
.radio input[type="radio"]:checked + span::after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}
/*////////////////////////////////////////////////
=input[type="checkbox"]
////////////////////////////////////////////////*/
.check label {
  display: table;
}
.check input[type="checkbox"] {
  /* 透明度0 */
  filter: alpha(opacity=0);
  /* -moz-opacity:0; */
  opacity: 0;
  /* ブラウザのデフォルトのスタイルを削除 */
  -webkit-appearance: none;
  appearance: none;
  /* レイアウトから無視 */
  position: absolute;
}
.check input[type="checkbox"]:focus + span::before {
  border: 1px solid #dd4f3f;
}
.check span {
  position: relative;
  display: inline-block;
  padding: 10px 0px 10px 30px;
  cursor: pointer;
}
.check span::before {
  position: absolute;
  content: '';
  top: 0;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 20px;
  margin: auto;
  background: #fff;
  border: 1px solid #ccc;
}
.check input[type="checkbox"]:checked + span::after {
  position: absolute;
  content: '';
  top: -5px;
  bottom: 0;
  left: 2px;
  width: 16px;
  height: 5px;
  margin: auto;
  border-left: 2px solid #dd4f3f;
  border-bottom: 2px solid #dd4f3f;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.check02 input[type="checkbox"]:checked + span::after {
  top: -5px;
}
/*////////////////////////////////////////////////
=input[type="radio"]均等目盛
////////////////////////////////////////////////*/
.scale {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.scale .radio {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-width: 65%;
}
.scale label span {
  position: relative;
  padding: 0px 0px 1em 0.5em;
  height: 60px;
  width: 20px;
}
/*///////////////////////////////////////////////////////////////////////
=input[type="radio"]/input[type="checkbox"]グリッド
///////////////////////////////////////////////////////////////////////*/
.grid .radio, .grid.check {
  overflow: auto !important;
}
.grid table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  position: relative;
}
.grid table tr {
  border-bottom: solid 1px #ccc;
  border-right: solid 1px #ccc;
  background-color: #fff;
}
.grid table tr:nth-child(odd) {
  background-color: #F9FAFB;
}
.grid table th {
  text-align: left;
  padding: 20px 10px;
  width: 100px;
  vertical-align: middle;
  background: #F9FAFB;
}
.grid table td {
  text-align: center;
  vertical-align: middle;
}
.grid table tr:first-child th {
  text-align: center;
  vertical-align: top;
  padding: 20px 5px 20px 5px;
  min-width: 100px;
  border-top: solid 1px #ccc;
}
.grid table .sticky {
  position: sticky;
  top: 0;
  left: 0;
  background-color: #fff;
  border-left: none;
  border-right: none;
  z-index: 1;
  background-clip: padding-box;
}
.grid table .sticky:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-right: solid 1px #ccc;
  border-left: solid 1px #ccc;
  background: #fff;
  z-index: -1;
}
.grid table tr:nth-child(odd) .sticky:before {
  background: #F9FAFB;
}
.grid table label {
  display: inline-block;
}
.grid table .checkbox {
  margin: 3px 0 0 0;
}
.grid.check span {
  padding: 15px 0px 10px 30px;
}
/*スクロールバー*/
.grid .radio::-webkit-scrollbar, .grid.check::-webkit-scrollbar {
  height: 5px;
}
.grid .radio::-webkit-scrollbar-track, .grid.check::-webkit-scrollbar-track {
  background: #eee;
}
.grid .radio::-webkit-scrollbar-thumb, .grid.check::-webkit-scrollbar-thumb {
  background: #aaa;
  border: none;
}
.grid .radio::-webkit-scrollbar-thumb:hover, .grid.check::-webkit-scrollbar-thumb:hover {
  background: #888;
}
/*Firefox*/
.grid .radio, .grid.check {
  scrollbar-color: #aaa #eee;
  scrollbar-width: thin;
}
/*////////////////////////////////////////////////
=select
////////////////////////////////////////////////*/
.selectLabel {
  position: relative;
  display: block;
  width: 50%;
  border: 1px solid #ccc;
  background: #fff;
}
.selectLabel:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  display: block;
  width: 0;
  height: 0;
  margin: -2px 0 0 0;
  border: 5px solid transparent;
  border-top: 7px solid #ccc;
  z-index: 1;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  background-color: #F9FAFB;
  cursor: pointer;
  position: relative;
  display: block;
  padding: 0.857em;
  border: none;
}
select::-ms-expand {
  display: none;
}
/*////////////////////////////////////////////////
=button
////////////////////////////////////////////////*/
.close input[type="button"] {
  font-size: 1.143em;
  padding: 0.1em 2.0em;
  background: #444444;
  border: 1px solid #ccc;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  line-height: 50px;
}
.close input[type="button"]:hover {
  background: #333333;
}
/*////////////////////////////////////////////////
=Contents
////////////////////////////////////////////////*/
#contents {
  width: 100%;
  margin: 10px auto 40px auto;
}
.form_contents {
  width: 95%;
  margin: 0 auto;
  overflow: hidden;
}
.form_contents .attention {
  margin: 15px 0 0 0;
}
.form_contents div {
  overflow: hidden;
  margin: 0 0 5px 0;
}
.form_contents img {
  margin: 0 0 10px 0;
}
.form_contents input[type="text"], .form_contents input[type="password"], textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  border: solid 1px #ccc;
  width: 100%;
  min-height: 3.429em;
  padding: 0 0.857em;
  line-height: 2;
  background-color: #F9FAFB;
  border-radius: 0;
}
.form_contents button {
  font-size: 1.143em; /* 16px */
  padding: 5px 10px;
}
.form_contents .form_birth .selectLabel {
  width: 24%;
  float: left;
}
.form_contents .form_birth select {
  width: 100%;
}
.form_contents .form_birth p {
  width: 8%;
  float: left;
  line-height: 3;
  text-align: center;
}
.form_contents .form_birth p:first-child {
  text-align: left;
}
.form_contents .form_name p {
  float: left;
  line-height: 3;
  margin: 0 3% 0 0;
  width: 10%;
}
.form_contents .form_name input {
  width: 85%;
  float: left;
}
.form_contents .form_gender label {
  margin: 0 20px 0 0;
  display: inline;
}
.form_contents #file {
  display: block;
  position: relative;
}
.form_contents #file .pc, hr {
  display: none;
}
.form_contents .image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  cursor: pointer;
}
.form_contents .movie {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  cursor: pointer;
}
.form_contents #filenameArea {
  margin: 10px 0 0 0;
}
.form_contents .message {
  text-align: right;
  margin: 5px 0;
}
.form_contents .message2 {
  text-align: right;
  margin: 5px 0;
  margin-right: -9px;
}
.entry_thanks {
  margin: 25px auto 40px auto !important;
  flex-grow: 1; /* thanksのfooter調整 */
}
/*////////////////////////////////////////////////
=写真追加ボタン
////////////////////////////////////////////////*/
button.add {
  width: 90%;
  display: block;
  margin: 5% auto 8%;
  color: #fff;
  font-weight: bold;
  background-color: #d9d9d9;
  border: none;
  letter-spacing: 0.05em;
  border-radius: 5px;
  font-size: 20px;
}
button.add:hover {
  background-color: #d1d1d1;
}
button.add:first-letter {
  margin-right: 2px;
  text-shadow:
    #fff 0.5px 0.5px 0, #fff -0.5px -0.5px 0, /*右下、左上*/ #fff -0.5px 0.5px 0, #fff 0.5px -0.5px 0, /*右上、左下*/ #fff 0px 0.5px 0, #fff 0 -0.5px 0, /*右、左*/ #fff -0.5px 0 0, #fff 0.5px 0 0; /*上、下*/
}
/*////////////////////////////////////////////////
=応募完了ページテキスト
////////////////////////////////////////////////*/
.comp_msg {
  margin: 0 auto 5% !important;
  padding: 5%;
  font-size: 1.150em;
  background-color: #F9FAFB;
  border: solid 1px #ccc;
  box-sizing: border-box;
}
/* 初期化 */
.comp_msg * {
  animation-name: none;
  animation-duration: 0s;
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: none;
  backface-visibility: visible;
  background-attachment: scroll;
  background-clip: border-box;
  background-color: transparent;
  background-image: none;
  background-origin: padding-box;
  background-position: 0 0;
  background-repeat: repeat;
  background-size: auto auto;
  border-bottom: 0;
  border-bottom-color: currentColor;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-style: none;
  border-bottom-width: medium;
  border-collapse: separate;
  border-color: currentColor;
  border-image: none;
  border-left: 0;
  border-left-color: currentColor;
  border-left-style: none;
  border-left-width: medium;
  border-radius: 0;
  border-right: 0;
  border-right-color: currentColor;
  border-right-style: none;
  border-right-width: medium;
  border-style: none;
  border-spacing: 0;
  border-top: 0;
  border-top-color: currentColor;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-top-style: none;
  border-top-width: medium;
  border-width: medium;
  bottom: auto;
  box-shadow: none;
  box-sizing: content-box;
  caption-side: top;
  clip: auto;
  clear: none;
  column-fill: balance;
  column-count: auto;
  column-gap: normal;
  column-rule-color: currentColor;
  column-rule-style: none;
  column-rule-width: none;
  column-span: none;
  column-width: auto;
  content: normal;
  counter-increment: none;
  counter-reset: none;
  cursor: auto;
  direction: itr;
  /*display: inline;*/
  empty-cells: show;
  float: none;
  /*font-size: medium;*/
  font-size-adjust: none;
  font-style: normal;
  font-variant: normal;
  /*font-weight: normal;*/
  height: auto;
  hyphens: manual;
  left: auto;
  letter-spacing: normal;
  line-height: normal;
  list-style-image: none;
  list-style-position: outside;
  /* list-style-type: disc; */
  margin: 0;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  max-height: none;
  max-width: none;
  min-height: 0;
  min-width: 0;
  opacity: 1.0;
  orphans: 2;
  outline-color: invert;
  outline-offset: 0;
  outline-style: none;
  outline-width: medium;
  overflow: visible;
  overflow-x: visible;
  overflow-y: visible;
  padding: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  page-break-after: auto;
  page-break-before: auto;
  page-break-inside: auto;
  perspective: none;
  perspective-origin: 50% 50%;
  position: static;
  resize: none;
  right: auto;
  table-layout: auto;
  tab-size: 8;
  text-align: start;
  text-align-last: auto;
  text-decoration-color: currentColor;
  text-decoration-line: none;
  text-decoration-style: solid;
  text-indent: 0;
  text-overflow: clip;
  text-rendering: auto;
  text-shadow: none;
  text-transform: none;
  top: auto;
  transform: none;
  transform-origin: 50% 50% 0;
  transform-style: flat;
  transition-delay: 0s;
  transition-duration: 0s;
  transition-property: all;
  transition-timing-function: ease;
  unicode-bidi: normal;
  vertical-align: baseline;
  visibility: visible;
  white-space: normal;
  widows: 2;
  width: auto;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  z-index: auto;
  /* all: initial; */
  font-size: unset;
}
.comp_msg h1 {
  display: block;
  font-size: 2em;
  margin-top: 0.67em;
  margin-bottom: 0.67em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.comp_msg h2 {
  display: block;
  font-size: 1.5em;
  margin-top: 0.83em;
  margin-bottom: 0.83em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.comp_msg h3 {
  display: block;
  font-size: 1.17em;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.comp_msg h3 span {
  display: block;
  font-size: 1.000em;
  background-color: initial;
  padding: 0;
  color: #000;
  border-radius: 0;
  margin: 0;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.comp_msg h4 {
  display: block;
  margin-top: 1.33em;
  margin-bottom: 1.33em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.comp_msg h5 {
  display: block;
  font-size: 0.83em;
  margin-top: 1.67em;
  margin-bottom: 1.67em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.comp_msg h6 {
  display: block;
  font-size: 0.67em;
  margin-top: 2.33em;
  margin-bottom: 2.33em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.comp_msg p {
  display: block;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0px;
  margin-right: 0px;
}
.comp_msg a {
  color: #04c;
  cursor: pointer;
  text-decoration: underline;
}
.comp_msg ul, menu, dir {
  display: block;
  list-style-type: disc;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 40px;
}
.comp_msg ol {
  display: block;
  list-style-type: decimal;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 40px;
}
.comp_msg li {
  display: list-item;
  text-align: match-parent;
}
.comp_msg table {
  display: table;
  border-collapse: separate;
  border-spacing: 2px;
  border-color: grey;
}
.comp_msg caption {
  display: table-caption;
  text-align: center;
}
.comp_msg thead {
  display: table-header-group;
  vertical-align: middle;
  border-color: inherit;
}
.comp_msg tbody {
  display: table-row-group;
  vertical-align: middle;
  border-color: inherit;
}
.comp_msg tr {
  display: table-row;
  vertical-align: inherit;
  border-color: inherit;
}
.comp_msg td, th {
  display: table-cell;
  vertical-align: inherit;
}
.comp_msg tt, code, kbd, samp {
  font-family: monospace;
}
.comp_msg blockquote {
  display: block;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 40px;
  margin-right: 40px;
}
.comp_msg hr {
  display: block;
  unicode-bidi: isolate;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  border-style: inset;
  border-width: 1px;
}
.comp_msg big {
  font-size: larger;
}
.comp_msg s, strike, del {
  text-decoration: line-through;
}
.comp_msg i, cite, em, var, address, dfn {
  font-style: italic !important;
}
.comp_msg u, ins {
  text-decoration: underline;
}

/*////////////////////////////////////////////////
=essential
////////////////////////////////////////////////*/
.essential {
  width: 92%;
  margin: 0px auto;
  height: 200px;
  overflow-y: scroll;
  border: 1px solid #d9d9d9;
  padding: 0% 3% 4% 3%;
  box-sizing: border-box;
  background: #fff;
}
/* 初期化 */
.essential * {
  animation-name: none;
  animation-duration: 0s;
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: none;
  backface-visibility: visible;
  background-attachment: scroll;
  background-clip: border-box;
  background-color: transparent;
  background-image: none;
  background-origin: padding-box;
  background-position: 0 0;
  background-repeat: repeat;
  background-size: auto auto;
  border-bottom: 0;
  border-bottom-color: currentColor;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-style: none;
  border-bottom-width: medium;
  border-collapse: separate;
  border-color: currentColor;
  border-image: none;
  border-left: 0;
  border-left-color: currentColor;
  border-left-style: none;
  border-left-width: medium;
  border-radius: 0;
  border-right: 0;
  border-right-color: currentColor;
  border-right-style: none;
  border-right-width: medium;
  border-style: none;
  border-spacing: 0;
  border-top: 0;
  border-top-color: currentColor;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-top-style: none;
  border-top-width: medium;
  border-width: medium;
  bottom: auto;
  box-shadow: none;
  box-sizing: content-box;
  caption-side: top;
  clip: auto;
  clear: none;
  column-fill: balance;
  column-count: auto;
  column-gap: normal;
  column-rule-color: currentColor;
  column-rule-style: none;
  column-rule-width: none;
  column-span: none;
  column-width: auto;
  content: normal;
  counter-increment: none;
  counter-reset: none;
  cursor: auto;
  direction: itr;
  /*display: inline;*/
  empty-cells: show;
  float: none;
  /*font-size: medium;*/
  font-size-adjust: none;
  font-style: normal;
  font-variant: normal;
  /*font-weight: normal;*/
  height: auto;
  hyphens: manual;
  left: auto;
  letter-spacing: normal;
  line-height: normal;
  list-style-image: none;
  list-style-position: outside;
  /*list-style-type: disc;*/
  margin: 0;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  max-height: none;
  max-width: none;
  min-height: 0;
  min-width: 0;
  opacity: 1.0;
  orphans: 2;
  outline-color: invert;
  outline-offset: 0;
  outline-style: none;
  outline-width: medium;
  overflow: visible;
  overflow-x: visible;
  overflow-y: visible;
  padding: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  page-break-after: auto;
  page-break-before: auto;
  page-break-inside: auto;
  perspective: none;
  perspective-origin: 50% 50%;
  position: static;
  resize: none;
  right: auto;
  table-layout: auto;
  tab-size: 8;
  text-align: start;
  text-align-last: auto;
  text-decoration-color: currentColor;
  text-decoration-line: none;
  text-decoration-style: solid;
  text-indent: 0;
  text-overflow: clip;
  text-rendering: auto;
  text-shadow: none;
  text-transform: none;
  top: auto;
  transform: none;
  transform-origin: 50% 50% 0;
  transform-style: flat;
  transition-delay: 0s;
  transition-duration: 0s;
  transition-property: all;
  transition-timing-function: ease;
  unicode-bidi: normal;
  vertical-align: baseline;
  visibility: visible;
  white-space: normal;
  widows: 2;
  width: auto;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  z-index: auto;
  /* all: initial; */
}
.essential h1 {
  display: block;
  font-size: 2em;
  margin-top: 0.67em;
  margin-bottom: 0.67em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.essential h2 {
  display: block;
  font-size: 1.5em;
  margin-top: 0.83em;
  margin-bottom: 0.83em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.essential h3 {
  display: block;
  font-size: 1.17em;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.essential h3 span {
  display: block;
  font-size: 1.000em;
  background-color: initial;
  padding: 0;
  color: #000;
  border-radius: 0;
  margin: 0;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.essential h4 {
  display: block;
  margin-top: 1.33em;
  margin-bottom: 1.33em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.essential h5 {
  display: block;
  font-size: 0.83em;
  margin-top: 1.67em;
  margin-bottom: 1.67em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.essential h6 {
  display: block;
  font-size: 0.67em;
  margin-top: 2.33em;
  margin-bottom: 2.33em;
  margin-left: 0px;
  margin-right: 0px;
  font-weight: bold;
}
.essential p {
  display: block;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0px;
  margin-right: 0px;
}
.essential a {
  color: #04c;
  cursor: pointer;
  text-decoration: underline;
}
.essential ul, menu, dir {
  display: block;
  list-style-type: disc;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 40px;
}
.essential ol {
  display: block;
  list-style-type: decimal;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0px;
  margin-right: 0px;
  padding-left: 40px;
}
.essential li {
  display: list-item;
  text-align: match-parent;
}
.essential table {
  display: table;
  border-collapse: separate;
  border-spacing: 2px;
  border-color: grey;
}
.essential caption {
  display: table-caption;
  text-align: center;
}
.essential thead {
  display: table-header-group;
  vertical-align: middle;
  border-color: inherit;
}
.essential tbody {
  display: table-row-group;
  vertical-align: middle;
  border-color: inherit;
}
.essential tr {
  display: table-row;
  vertical-align: inherit;
  border-color: inherit;
}
.essential td, th {
  display: table-cell;
  vertical-align: inherit;
}
.essential tt, code, kbd, samp {
  font-family: monospace;
}
.essential blockquote {
  display: block;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 40px;
  margin-right: 40px;
}
.essential hr {
  display: block;
  unicode-bidi: isolate;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  border-style: inset;
  border-width: 1px;
}
.essential big {
  font-size: larger;
}
.essential s, strike, del {
  text-decoration: line-through;
}
.essential i, cite, em, var, address, dfn {
  font-style: italic !important;
}
.essential u, ins {
  text-decoration: underline;
}
.essential strong {
  font-weight: bold;
}
.entry_index {
  flex-grow: 1; /* thanksのfooter調整 */
}
/*////////////////////////////////////////////////
=404 NOT FOUND エラーページ
////////////////////////////////////////////////*/
.nf_msg {
  margin: 0 auto 5% !important;
  padding: 3% 5% 5% 5%;
  font-size: 1.150em;
  background-color: #fff;
  border: solid 1px #ccc;
  box-sizing: border-box;
  text-align: center;
}
.nf_msg h2 {
  background-color: transparent;
  text-align: center;
  color: #cc0000;
  margin: 0 auto 0;
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
}
.nf_msg h3 {
  font-size: 1.100em;
  text-align: left;
  margin: 0 auto 0.5em;
  display: inline-block;
}
.nf_msg p {
  font-size: 0.9em;
  text-align: left;
  margin: 0 auto 35px;
  display: inline-block;
}
/*////////////////////////////////////////////////
=エラーメッセージ
////////////////////////////////////////////////*/
.error-message {
  font-size: 1.071em;
  color: #dd4f3f;
  font-weight: bold;
}
.error-message + div textarea, .error-message + div input, .error-message + div .selectLabel, .error-message + div input {
  border: solid 2px #990101 !important;
  background-color: #FFF4F4 !important;
}
.error-message + div + div input {
  border: solid 2px #990101 !important;
  background-color: #FFF4F4 !important;
}
.error-message + div select {
  background-color: #FFF4F4 !important;
}
.error-message.all {
  margin: 20px 0 0 0;
}
/*////////////////////////////////////////////////
=Footer
////////////////////////////////////////////////*/
footer {
  width: auto;
  margin: 20px auto 40px auto;
  padding: 0;
}
footer p {
  font-family: 'Noto Sans Japanese', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  text-align: center;
  font-size: 12px;
  color: #ccc;
  line-height: 1.6em;
  margin: 0;
  padding: 0 10px;
  border: 0;
  font-style: normal;
  font-weight: normal;
  vertical-align: baseline;
  outline: none;
}
footer p a {
  font-size: 14px;
  color: #36C;
  -webkit-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
  -ms-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
  -moz-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
  -o-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
}
footer p a:hover {
  color: #39F;
}
/*////////////////////////////////////////////////
=ボタン
////////////////////////////////////////////////*/
.btn_area {
  width: 95%;
  margin: 10px auto;
  text-align: center;
}
.thanks_btn_area {
  width: 80%;
  margin: 10px auto;
  text-align: center;
}
.btn {
  overflow: hidden;
  height: 50px;
  display: block;
  position: relative;
  z-index: 100;
  text-align: center;
  color: #fff;
  font-weight: bold;
  line-height: 50px;
  text-decoration: none;
  border: 1px solid #ccc;
}
.btn:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 20%;
  width: 0;
  height: 0;
  margin-top: -5px;
  border: 5px solid transparent;
  border-left: 5px solid #fff;
}
.btn.left:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 19%;
  width: 0;
  height: 0;
  margin-top: -5px;
  border: 5px solid transparent;
  border-right: 5px solid #fff;
}
.blackT {
  color: #333 !important;
  font-weight: bold !important;
}
.btn.blackT:before {
  border-left: 5px solid #333 !important;
}
.thanks_btn {
  overflow: hidden;
  display: block;
  position: relative;
  z-index: 100;
  text-align: center;
  text-decoration: none;
  border: 1px solid #b2b2b2;
  padding: 1.2em;
}
.thanks_btn a {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
}
.thanks_btn:hover {
  border: 1px solid #cccccc;
}
.thanks_btn_area a {
  color: #333;
}
.thanks_btn_area a:hover {
  color: #8d8d99;
}
.red {
  background: #CC0000;
}
.red:hover {
  background: #BA0000;
}
.gray {
  background: #444444;
}
.gray:hover {
  background: #333;
}
.btn_droparea {
  box-sizing: border-box;
  background: -moz-linear-gradient(top, #FFF 0%, #EEE);
  background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#EEE));
  background: linear-gradient(to bottom, #FFF, #EEE);
  border: 2px solid #ccc;
  color: #111;
  width: 100%;
  padding: 10px 0;
  margin: 0 auto;
  text-align: center;
  font-weight: bold;
}
.btn_droparea span {
  background-image: url("../../img/front/droparea.png");
  background-repeat: no-repeat;
  padding: 2px 0 2px 40px;
}
.btn_droparea_movie {
  box-sizing: border-box;
  background: -moz-linear-gradient(top, #FFF 0%, #EEE);
  background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#EEE));
  background: linear-gradient(to bottom, #FFF, #EEE);
  border: 2px solid #ccc;
  color: #111;
  width: 100%;
  padding: 10px 0;
  margin: 0 auto;
  text-align: center;
  font-weight: bold;
}
.btn_droparea_movie span {
  /*background-image: url("../../img/front/droparea_movie.png");*/
  background-repeat: no-repeat;
  /*padding: 2px 0 2px 40px;*/
}
.btn_droparea_movie_off {
  box-sizing: border-box;
  background: -moz-linear-gradient(top, #FFF 0%, #EEE);
  background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#EEE));
  background: linear-gradient(to bottom, #FFF, #EEE);
  border: 2px solid #ccc;
  color: #ccc;
  width: 100%;
  padding: 10px 0;
  margin: 0 auto;
  text-align: center;
  font-weight: bold;
}
.btn_droparea_movie_off span {
  background-image: url("../../img/front/droparea_movie_off.png");
  background-repeat: no-repeat;
  padding: 2px 0 2px 40px;
}
.return {
  text-align: center;
  margin: 30px auto;
}
.return a {
  color: #333333;
  border-bottom: 1px solid #333333;
}
.return a:hover, .return a:active {
  border-bottom: none;
}
/*/確認ボタンの活性、非活性処理/*/
.unuploaded {
  pointer-events: none;
}
.unuploaded .red {
  background: rgb(185, 144, 144);
}
/*////////////////////////////////////////////////
=ログイン
////////////////////////////////////////////////*/
.form_contents .login_area {
  margin: 15% auto;
}
.form_contents .login_area div {
  text-align: center;
}
.form_contents .input_id {
  margin: 5% auto 8%;
}
.form_contents .input_id p {
  float: left;
  line-height: 2.6em;
  margin: 0 5% 0 0;
  width: 13%;
  text-align: right;
  color: #09b1f0;
  font-weight: bold;
}
.form_contents .input_id input {
  width: 75%;
  float: left;
  min-height: 2.6em !important;
}
.form_contents .input_pass {
  margin: 8% auto 5%;
}
.form_contents .input_pass p {
  float: left;
  line-height: 2.6em;
  margin: 0 5% 0 0;
  width: 13%;
  text-align: right;
  color: #09b1f0;
  font-weight: bold;
}
.form_contents .input_pass input {
  width: 75%;
  float: left;
  min-height: 2.6em;
}
/*////////////////////////////////////////////////
=アンケート日時[type="text"]時
////////////////////////////////////////////////*/
.calendar_birth {
  position: relative;
  display: block;
  width: 45%;
  background: #fff;
  float: left;
  box-sizing: border-box;
}
.form_contents .form_birth .calendar_birth input {
  width: 70%;
  padding: 0.857em;
  min-height: 0;
  line-height: inherit;
}
.form_contents .form_birth .calendar_time .selectLabel {
  width: 35%;
}
.form_contents .form_birth .calendar_time p {
  margin: 0 3px;
}
img.ui-datepicker-trigger {
  cursor: pointer;
  margin: 0;
  margin-left: 4px !important;
  margin-top: -3px !important;
  vertical-align: middle;
}
/* .ui-datepicker-trigger {
    background-color: transparent;
    border-style: none;
    font-size: 25px !important;
    vertical-align: middle;
    padding: 6px 10px 5px 10px;
} */
@media all and (-ms-high-contrast: none) {
  body {
    position: relative;
  }
  #contents {
    width: 100%;
    height: auto !important; /*IE6対策*/
    height: 100%; /*IE6対策*/
    min-height: 100%;
    padding-bottom: 60px;
  }
  footer {
    position: absolute;
    bottom: 0;
    width: 100%;
  }
}
/*////////////////////////////////////////////////
=ckeditorのスタイルをフロントに適応
////////////////////////////////////////////////*/
.form_contents ul, footer ul {
  list-style: inside;
}
.form_contents ul li{
  list-style: inside;
}
.form_contents .photoimage ul li{
  list-style: unset;
}
.form_contents .controlfile ul li{
  list-style: unset;
}
.form_contents ol li {
  list-style: auto;
}
.form_contents ol, footer ol {
  list-style: auto;
  padding-left: 1.5em;
}
.form_contents blockquote, footer blockquote {
  padding-left: 20px;
  padding-right: 8px;
  border-left: 5px solid #ccc;
  font-style: italic;
  font-family: Georgia, Times, "Times New Roman", serif;
}
.form_contents a, footer a {
  text-decoration: underline;
  color: #0782C1;
}
/*////////////////////////////////////////////////
=SNS
////////////////////////////////////////////////*/
.snsbtn-area { /*20241204*/
  display: flex;
  justify-content: flex-end;
  width: 96%;
}
/*---------- SNSボタン ----------*/
.flowbtn {
  display: inline-block;
  font-size: 40px;
  text-decoration: none;
}
.flowbtn.flowbtn3 {
  margin: 9px 0 0 10px;
}
/* Twitter */
.flowbtn .fa-square-x-twitter {
  color: #000;
  background: #fff;
  height: 33px;
  width: 33px;
  line-height: 0.8;
  border-radius: 5px;
}
/* Facebook*/
.flowbtn .fa-facebook-square {
  color: #1877F2;
  background: #fff;
  height: 33px;
  width: 33px;
  line-height: 0.8;
  border-radius: 5px;
}
/* LINE@ */
.flowbtn .fa-line {
  color: #00c300;
  background: #fff;
  height: 32px;
  width: 32px;
  line-height: 0.8;
  border-radius: 5px;
  font-size: 37px;
}
ul.snsbtn {
  padding: 0 !important;
}
.snsbtn {
  display: flex;
  justify-content: space-between;
  margin: 0 5px 0 0;
}
.snsbtn li {
  text-align: center !important;
  margin: 10px 0 0 10px;
}
/*////////////////////////////////////////////////
=タブレット（min-width : 768px）
////////////////////////////////////////////////*/
@media screen and (min-width : 768px) {
  body {
    font-size: 87.5%;
  }
  #contents {
    overflow: hidden;
    width: 80%;
  }
  .pc_main {
    display: block !important;
  }
  .sp_main {
    display: none !important;
  }
  .btn_contents {
    margin: 0 auto;
    width: 95%;
    overflow: hidden;
  }
  .btn_contents_single {
    margin: 0 auto;
    width: 60%;
    overflow: hidden;
  }
  .btn_contents .btn_area {
    width: 40%;
  }
  .thanks_btn_contents {
    margin: 0 auto;
    width: 90%;
    overflow: hidden;
  }
  .thanks_btn_contents .thanks_btn_area {
    float: center;
    width: 50%;
  }
  .return {
    height: 30px;
    margin: 50px 0 0 0;
  }
  /*.btn_contents .btn_area:first-child {
	margin: 10px 2% 10px 0;
}*/
  .form_contents #file {
    box-sizing: border-box;
    display: block;
    width: 100%;
    border: solid 1px #ccc;
    background: #fff;
    text-align: center;
    position: relative;
    padding: 10px;
  }
  .form_contents #file:hover {
    opacity: 0.7;
  }
  .form_contents #file .pc {
    font-size: 1.286em; /* 18px */
    font-weight: bold;
    color: #ccc;
    padding: 20px;
    display: block;
  }
  .form_contents #file hr {
    display: block;
    border: none;
    border-top: dashed 3px #ccc;
    height: 1px;
    color: #FFFFFF;
    width: 90%;
    margin: 0 auto;
  }
  .form_contents #filenameArea {
    margin: 10px 0 10px 0;
  }
  .error-message + div #file {
    border: solid 2px #990101 !important;
    background-color: #FFF4F4 !important;
  }
  .form_contents img {
    margin: 0 auto !important;
    display: block;
  }
  .form_contents img + #file {
    border: none !important;
    background-color: #fff !important;
  }
  .form_contents img + #file .pc, .form_contents img + #file hr {
    display: none !important;
  }
  button.add {
    width: 95%;
    padding: 8px 0 7px 0;
    font-size: 22px;
  }
  .btn_droparea {
    width: 40%;
  }
  .btn_droparea_movie {
    width: 40%;
  }
  .btn_droparea_movie_off {
    width: 40%;
  }
  .form_contents .postalcode input[type="number"] {
    width: 45%;
    margin-bottom: 0px;
    margin-right: 10px;
  }
  .comp_msg {
    text-align: left;
    font-size: unset;
    padding: 60px;
    background-color: #F9FAFB;
    border: solid 1px #ccc;
  }
  .nf_msg {
    padding: 4% 5% 5% 5%;
    font-size: 1.143em;
  }
  .nf_msg h2 {
    font-size: 1.400em;
    padding: 0;
  }
  .nf_msg h3 {
    font-size: 1.500em;
    margin: 0 auto 1.0em;
    padding: 0;
  }
  .nf_msg p {
    font-size: 1.000em;
    padding: 0;
    margin: 0 auto 1em;
  }
  .entry_thanks .btn_area:first-child {
    float: none;
    margin: 0 auto;
  }
  footer {
    margin: 50px auto;
    overflow: hidden;
    *zoom: 1;
  }
  footer p {
    font-size: 14px;
    text-align: center;
  }
  footer p span {
    font-size: 10px;
  }
  .fl {
    float: left !important;
  }
  .fr {
    float: right !important;
  }
  .clear_fix {
    clear: both;
  }
  /*////////////////////////////////////////////////
=ログイン
////////////////////////////////////////////////*/
  .form_contents .login_area {
    margin: 18% auto;
  }
  .form_contents .input_id {
    margin: 2% auto 5%;
    width: 430px;
  }
  .form_contents .input_id input {
    width: 320px;
  }
  .form_contents .input_pass {
    margin: 5% auto 2%;
    width: 430px;
  }
  .form_contents .input_pass input {
    width: 320px;
  }
  /*////////////////////////////////////////////////
=アンケート日時[type="text"]時
////////////////////////////////////////////////*/
  .calendar_birth {
    width: 30%;
  }
  .form_contents .form_birth .calendar_time .selectLabel {
    width: 15%;
  }
  img.ui-datepicker-trigger {
    cursor: pointer;
    display: inline;
    margin-left: 4px !important;
    vertical-align: middle;
  }
}
/*////////////////////////////////////////////////
=動画looading
////////////////////////////////////////////////*/
.loading {
  position: absolute;
  left: 50%;
}
/*////////////////////////////////////////////////
=PC（min-width : 1024px）
////////////////////////////////////////////////*/
@media screen and (min-width : 1024px) {
  .wrap {
    display: flex;
    justify-content: space-between;
  }
  .wrap header {
    width: 50%;
  }
  .wrap header .header_contents {
    width: 100%;
  }
  header .header_contents {
    width: 700px;
  }
  .wrap .snsbtn-area {
    width: 100%;
  }
  .wrap #contents {
    width: 48%;
  }
  #contents {
    overflow: hidden;
    width: 700px;
  }
  .form_contents {
    width: 95%;
  }
  .form_contents .form_name {
    float: left;
    width: 50%;
  }
  .form_contents .form_name p {
    width: 8%;
    margin: 0 2% 0 2%;
    letter-spacing: -0.06em;
    text-align: center;
  }
  .form_contents .form_name:last-child p {
    margin: 0 2% 0 2%;
  }
  .form_contents .form_name input {
    width: 88%;
  }
  .form_contents .form_birth .selectLabel {
    width: 11%;
  }
  .form_contents .form_birth .text_birth {
    width: 11%;
  }
  .form_contents .form_birth select {
    width: 100%;
  }
  .form_contents .form_birth p {
    width: 5%;
  }
  .form_contents.confirm div {
    margin: 0 0 5px 1em;
  }
  .btn_contents {
    width: 85%;
  }
  .btn_contents .btn_area {
    width: 50%;
  }
}