@charset "UTF-8";
/* ===================================================================
CSS information
 file name  :style.css
 style info :共通のスタイル
=================================================================== */
/* ==========================================================
  BASE
========================================================== */
body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  color: #595656;
  background: #fff;
  line-height: 1.6;
  text-align: center;
}
@media screen and (min-width: 691px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 690px) {
  body {
    font-size: 3.4vw;
  }
}
:lang(zh-cmn-Hant) body, .zh-tw body {
  font-family: "PingFang TC", "Hiragino Sans CNS", "Microsoft JhengHei", sans-serif;
}
:lang(zh-cmn-Hans) body, .zh-cn body {
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

/* ==========================================================
  HEADER
========================================================== */
header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 691px) {
  header {
    width: min(96%, 810px);
    height: 60px;
    margin: 0 auto 20px;
  }
}
@media screen and (max-width: 690px) {
  header {
    width: 96%;
    height: 12vw;
    margin: 0 auto 4vw;
  }
}
:lang(ja) header {
  position: relative;
}
@media screen and (min-width: 691px) {
  :lang(ja) header {
    height: auto;
    padding-top: 24px;
  }
}
@media screen and (max-width: 690px) {
  :lang(ja) header {
    padding-top: 4vw;
    margin-bottom: 8vw;
  }
}
@media screen and (max-width: 690px) {
  header #logo {
    width: 20%;
  }
}
@media screen and (max-width: 690px) {
  :lang(ja) header #logo {
    width: 15%;
  }
}
header #gnav {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 691px) {
  header #gnav {
    left: -20px;
    gap: 0 43px;
  }
}
@media screen and (max-width: 690px) {
  header #gnav {
    gap: 0 4%;
    width: 46%;
  }
}
@media screen and (max-width: 690px) {
  header #gnav li {
    width: 30%;
  }
}
header #pnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 691px) {
  header #pnav {
    gap: 0 20px;
  }
}
@media screen and (max-width: 690px) {
  header #pnav {
    gap: 0 2vw;
    width: 30%;
  }
}
header #link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
@media screen and (max-width: 690px) {
  header #link li {
    width: 16%;
  }
}
header #langBox {
  position: relative;
  text-align: center;
}
@media screen and (min-width: 691px) {
  header #langBox {
    font-size: 13px;
  }
}
@media screen and (max-width: 690px) {
  header #langBox {
    font-size: 3vw;
  }
}
:lang(ja) header #langBox {
  position: absolute;
  right: 0;
}
@media screen and (min-width: 691px) {
  :lang(ja) header #langBox {
    top: 8px;
  }
}
@media screen and (max-width: 690px) {
  :lang(ja) header #langBox {
    top: 14vw;
  }
}
header #langBox p {
  cursor: pointer;
  border-radius: 5px;
  background: #f7f5f5;
  border: 2px solid #bdbdbd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 691px) {
  header #langBox p {
    width: 130px;
    height: 32px;
  }
}
@media screen and (max-width: 690px) {
  header #langBox p {
    width: 28vw;
    height: 8vw;
  }
}
header #langBox ul {
  display: none;
  position: absolute;
  right: 0;
  background: #f7f5f5;
  border-radius: 0 0 5px 5px;
  border: 2px solid #bdbdbd;
  border-top: 1px solid #bdbdbd;
  z-index: 9999;
}
@media screen and (min-width: 691px) {
  header #langBox ul {
    top: 29px;
    width: 130px;
  }
}
@media screen and (max-width: 690px) {
  header #langBox ul {
    top: 7.4vw;
    width: 28vw;
  }
}
header #langBox ul li a {
  color: #595656;
  text-decoration: none;
  display: block;
  background: #f7f5f5;
  border-bottom: solid 1px #ccc;
  padding: 0.5em 0 0.4em;
}
header #langBox ul li a:hover {
  background: #eee;
}
header #langBox ul li:last-child a {
  border-bottom: none;
  border-radius: 0 0 5px 5px;
}

/* ==========================================================
  FOOTER
========================================================== */
footer {
  text-align: left;
  padding-bottom: 2em;
  margin: 0 auto;
}
@media screen and (min-width: 691px) {
  footer {
    font-size: 10px;
    width: min(96%, 810px);
  }
}
@media screen and (max-width: 690px) {
  footer {
    font-size: 3vw;
    width: 96%;
  }
}
footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.5em;
}
:lang(ja) footer ul {
  margin-bottom: 1em;
}
footer ul li {
  margin-right: 1em;
}
footer ul li:before {
  content: "＞";
}
:lang(ja) footer ul li:before {
  content: "";
}
footer ul li a {
  color: #595656 !important;
  text-decoration: none;
}
footer p {
  color: #999;
}
@media screen and (min-width: 691px) {
  :lang(ja) footer p {
    width: 265px;
  }
}
@media screen and (max-width: 690px) {
  :lang(ja) footer p {
    width: 68%;
  }
}

/* ==========================================================
  CONTENT
========================================================== */
@media screen and (min-width: 691px) {
  #wrapper {
    width: min(96%, 810px);
    margin: 0 auto 80px;
  }
}
@media screen and (max-width: 690px) {
  #wrapper {
    width: 96%;
    margin: 0 auto 12vw;
  }
}
#wrapper h1 {
  font-weight: bold;
  border: solid 2px #e6e6e6;
  border-radius: 10px;
  background: -webkit-gradient(linear, left top, left bottom, from(#f3f3f3), color-stop(88%, #ebebeb));
  background: linear-gradient(to bottom, #f3f3f3 0%, #ebebeb 88%);
  padding: 1em;
  margin-bottom: 2em;
}
@media screen and (min-width: 691px) {
  #wrapper h1 {
    font-size: 20px;
  }
}
@media screen and (max-width: 690px) {
  #wrapper h1 {
    font-size: 4vw;
  }
}
#wrapper h2 {
  font-weight: bold;
  margin-bottom: 1em;
}
@media screen and (min-width: 691px) {
  #wrapper h2 {
    font-size: 18px;
  }
}
#wrapper .read {
  border: solid 2px #e6e6e6;
  border-radius: 10px;
  padding: 1.4em;
  margin-bottom: 2em;
}
#wrapper .read .linkArea {
  display: block;
  margin-top: 1em;
}
#wrapper .read .linkArea a {
  position: relative;
  color: #003793;
  font-weight: bold;
  background: #faf8d1;
  border-radius: 5px;
  display: block;
  padding: 0.8em 2em;
  text-decoration: none;
}
@media screen and (max-width: 690px) {
  #wrapper .read .linkArea a {
    font-size: 2.8vw;
  }
}
#wrapper .read .linkArea a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1em;
  width: 0.5em;
  height: 0.5em;
  margin-top: -0.5em;
  border-top: 3px solid #666;
  border-right: 3px solid #666;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#wrapper .read .linkArea a:hover {
  text-decoration: underline;
}
#wrapper #required {
  text-align: left;
}
#wrapper #required .required {
  position: relative;
  top: -0.1em;
  margin-bottom: 1em;
}
#wrapper .errorBox {
  display: block;
  color: #e60012;
  background: #fce9e9;
  border-radius: 6px;
  padding: 1.4em;
  margin-bottom: 2em;
}
#wrapper .required {
  color: #e60012;
  font-weight: bold;
  text-align: left;
}
@media screen and (min-width: 691px) {
  #wrapper .required {
    font-size: 12px;
  }
}
@media screen and (max-width: 690px) {
  #wrapper .required {
    margin-left: 0.4vw;
  }
}
:lang(ja) #wrapper .required {
  display: inline-block;
  color: #FFF;
  background: #e60012;
  border: solid 2px #FFF;
  border-radius: 6px;
  padding: 0.1em 0.8em;
}
#wrapper table {
  text-align: left;
  border-collapse: collapse;
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
  margin-bottom: 1em;
}
#wrapper table tr th,
#wrapper table tr td {
  vertical-align: middle;
  position: relative;
}
@media screen and (min-width: 691px) {
  #wrapper table tr th,
  #wrapper table tr td {
    padding: 2em;
  }
}
@media screen and (max-width: 690px) {
  #wrapper table tr th,
  #wrapper table tr td {
    display: block;
    width: 100%;
    padding: 1.6em;
  }
}
#wrapper table tr th {
  font-weight: bold;
}
@media screen and (min-width: 691px) {
  #wrapper table tr th {
    width: 38%;
  }
}
@media screen and (max-width: 690px) {
  #wrapper table tr th {
    background: #eee;
  }
}
#wrapper table tr th .required {
  margin-left: 0.4em;
}
:lang(ja) #wrapper table tr th .required {
  position: absolute;
  top: 50%;
  right: 2em;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (min-width: 691px) {
  :not(:lang(ja)) #wrapper table tr th .required {
    font-size: 18px;
  }
}
@media screen and (max-width: 690px) {
  :not(:lang(ja)) #wrapper table tr th .required {
    font-size: 4vw;
  }
}
#wrapper table tr td {
  vertical-align: middle;
}
@media screen and (min-width: 691px) {
  #wrapper table tr td {
    min-height: 85px;
  }
}
@media screen and (max-width: 690px) {
  #wrapper table tr td {
    background: #fcfbfb;
  }
}
#wrapper table tr td.split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#wrapper table tr td.split div {
  width: 48%;
}
:lang(zh-cmn-Hant) #wrapper table tr td.split.name, .zh-tw #wrapper table tr td.split.name, :lang(zh-cmn-Hans) #wrapper table tr td.split.name, .zh-cn #wrapper table tr td.split.name {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
#wrapper table tr td input,
#wrapper table tr td select,
#wrapper table tr td textarea {
  width: 100%;
  background: #fff;
  border-radius: 6px;
  border: solid 1px #bfbfbf;
  padding: 1em;
}
#wrapper table tr td input:focus,
#wrapper table tr td select:focus,
#wrapper table tr td textarea:focus {
  border: solid 1px #f19149;
  outline: 0;
}
#wrapper table tr td select {
  background: #fff url(../img/down.png) no-repeat 98% center/0.8em;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 1em 2em 1em 1em;
}
@media screen and (max-width: 690px) {
  #wrapper table tr td select {
    white-space: normal;
  }
}
#wrapper table tr td select::-ms-expand {
  display: none;
}
@media screen and (max-width: 690px) {
  #wrapper table tr td select option {
    font-size: 2.8vw;
  }
}
#wrapper table tr td textarea {
  overflow: hidden;
  resize: vertical;
}
@media screen and (min-width: 691px) {
  #wrapper table tr td textarea {
    min-height: 270px;
  }
}
@media screen and (max-width: 690px) {
  #wrapper table tr td textarea {
    min-height: 70vw;
  }
}
#wrapper table tr td span {
  display: block;
  margin-top: 0.5em;
}
@media screen and (min-width: 691px) {
  #wrapper table tr td span {
    font-size: 12px;
  }
}
@media screen and (max-width: 690px) {
  #wrapper table tr td span br {
    display: none;
  }
}
#wrapper table tr td span.error {
  color: #e60012;
}
#wrapper table tr td .userIdTxt br {
  display: block;
}
#wrapper table tr td .userIdTxt em {
  color: #0058ff;
}
@media screen and (min-width: 691px) {
  #wrapper table tr:nth-child(odd) th {
    background: #eee;
  }
}
@media screen and (min-width: 691px) {
  #wrapper table tr:nth-child(odd) td {
    background: #f7f5f5;
  }
}
@media screen and (min-width: 691px) {
  #wrapper table tr:nth-child(even) th {
    background: #f8f8f8;
  }
}
@media screen and (min-width: 691px) {
  #wrapper table tr:nth-child(even) td {
    background: #fcfbfb;
  }
}
#wrapper table#confirm tr td span {
  display: inline;
  margin-right: 0.5em;
}
#wrapper table#confirm tr td.name {
  gap: 0 0.5em;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
:lang(zh-cmn-Hant) #wrapper table#confirm tr td.name, .zh-tw #wrapper table#confirm tr td.name, :lang(zh-cmn-Hans) #wrapper table#confirm tr td.name, .zh-cn #wrapper table#confirm tr td.name {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#wrapper table#confirm tr td.name div {
  width: auto;
}
#wrapper .anoTxt {
  text-align: left;
  margin: 2em 0 4em;
}
@media screen and (min-width: 691px) {
  #wrapper .anoTxt {
    font-size: 12px;
  }
}
#wrapper .anoTxt li {
  padding-left: 0.5em;
  text-indent: -0.5em;
  line-height: 1.8;
}
:lang(ja) #wrapper .anoTxt li, :lang(zh-cmn-Hant) #wrapper .anoTxt li, .zh-tw #wrapper .anoTxt li, :lang(zh-cmn-Hans) #wrapper .anoTxt li, .zh-cn #wrapper .anoTxt li {
  padding-left: 1em;
  text-indent: -1em;
}
:lang(fr) #wrapper .anoTxt li {
  padding-left: 0.7em;
  text-indent: -0.7em;
}
:lang(zh-cmn-Hant) #wrapper .anoTxt li:nth-of-type(3), .zh-tw #wrapper .anoTxt li:nth-of-type(3), :lang(zh-cmn-Hans) #wrapper .anoTxt li:nth-of-type(3), .zh-cn #wrapper .anoTxt li:nth-of-type(3) {
  display: none;
}
#wrapper button {
  color: #fff;
  font-weight: bold;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  padding: 1em 4em;
}
@media screen and (min-width: 691px) {
  #wrapper button {
    font-size: 20px;
  }
}
@media screen and (max-width: 690px) {
  #wrapper button {
    font-size: 4vw;
  }
}
#wrapper button:hover {
  opacity: 0.7;
}
#wrapper button#btnConfirm, #wrapper button#btnFinish {
  background: #f19149 url(../img/arrow_next.png) no-repeat right 1.5em center/0.5em;
  -webkit-box-shadow: 0 4px 0 0 #b65b17;
          box-shadow: 0 4px 0 0 #b65b17;
}
#wrapper button#btnBack {
  background: #999 url(../img/arrow_prev.png) no-repeat left 1.5em center/0.5em;
  -webkit-box-shadow: 0 4px 0 0 #666;
          box-shadow: 0 4px 0 0 #666;
}
@media screen and (max-width: 690px) {
  #wrapper button#btnBack {
    margin-bottom: 4vw;
  }
}
#wrapper #btnBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 1.5em;
}
@media screen and (max-width: 690px) {
  #wrapper #btnBox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
  }
}
#wrapper #homeBack {
  font-weight: bold;
  text-align: right;
  background: url(../img/home_back.png) no-repeat right center/0.5em;
  padding-right: 1em;
}
#wrapper #homeBack a {
  color: #595656;
  text-decoration: none;
}
#wrapper #homeBack a:hover {
  opacity: 0.7;
}