/*--		__base
----------------------------------------------------*/
body {
  position: relative;
  width: 100%;
  font-size: small;
  line-height: 1.4em;
  padding: 0px;
  margin: 0px;
}
#glife, #cms-header {
  margin: 0 auto;
  width: 950px;
}
input[type="text"], textarea {
  width: 100%;
}
@media (max-width:767px) {
  #cms-header {
    width: 100%;
  }
  #glife {
    width: 90%;
  }
  #form-area .form-btn {
    width: 240px;
    margin: 0 auto 35px;
  }
}
/* ============ header ============*/
#cms-header {
  display: flex;
  height: auto;
  padding: 0px;
  line-height: 1.35em;
}
@media (max-width:767px) {
  #cms-header {
    width: 100%;
  }
}
#cms-header #logo {
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: auto;
  margin: 5px 0 4px 0;
}
#cms-header #logo img {
  width: 100%;
  max-height: 50px;
}
/* ============ footer ============*/
#homeFooter {
  clear: both;
  width: auto;
  overflow: hidden;
  margin-top: auto;
}
#toTop {
  margin: 0 auto;
  text-align: right;
  width: 950px;
}
#homeFooter #homeFootBg {
  padding-top: 30px;
  background: url(/ssl/og-form/common/img/bg_footer_new.gif) repeat-x 0 0 #0060a7;
}
@media (max-width:767px) {
  #toTop {
    width: 50%;
    margin: 0 0 0 auto;
  }
  #homeFooter #homeFootBg {
    box-sizing: border-box;
  }
}
/* / cms-footer共通 */
#homeFooter #homeFootBg #footer-info #foot-navi ul li a {
  color: #fff;
  text-decoration: none;
}
#copyright {
  color: #fff;
}
/* cms-footer_small */
.smallfooter #homeFootBg #cms-footer {
  width: 950px;
  margin: 0 auto;
  padding: 0 0 15px;
}
.smallfooter #homeFootBg #cms-footer #footer-info {
  width: 950px;
  margin: 0 auto;
  padding: 0;
  border-top: none;
  overflow: hidden;
}
.smallfooter #homeFootBg #cms-footer #footer-info #copyright {
  width: 420px;
  margin: 1px 0px;
  padding: 5px 5px 0 5px;
  font-family: "メイリオ", Meiryo, Arial, Roboto, "Droid Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 11px;
  color: #fff;
}
.smallfooter #homeFootBg #cms-footer #footer-info #foot-navi {
  font-size: small;
  width: 470px;
  float: right;
  text-align: right;
  margin: 1px 0px;
  padding: 0px;
}
.smallfooter #homeFootBg #cms-footer #footer-info #foot-navi ul li {
  list-style-type: none;
  display: inline;
  background: url(/ssl/og-form/common/img/icon_arrowWhite.gif) no-repeat 0 50%;
  padding: 0 3px 0 12px;
  margin: 0 0 0 5px;
}
.smallfooter #homeFootBg #cms-footer #footer-info #foot-navi ul {
  margin: 0px;
  padding: 0px;
}
@media (max-width:767px) {
  #cms-footer, #copyright, #footer-info {
    width: 100% !important;
  }
  #homeFooter #homeFootBg {
    box-sizing: border-box;
  }
  .smallfooter #homeFootBg #cms-footer #footer-info #foot-navi {
    width: auto;
    text-align: left;
    float: none;
  }
  .smallfooter #homeFootBg #cms-footer #footer-info #foot-navi ul li {
    display: block;
    margin-bottom: 0.5em;
  }
  .smallfooter #homeFootBg #cms-footer #footer-info #copyright {
    text-align: center;
  }
}
/* / cms-footer_small */
/* ============ FORM header ============*/
/* ページタイトル */
h1 {
  text-align: center;
  margin-top: 0;
  line-height: 1.3;
  padding: 0.5em 0.25em;
}
h1.pageTtl-type01 {
  background-color: #fdf5e0;
  border-top: #cccccc solid 1px;
  border-bottom: #cccccc solid 1px;
}
/* 注意文 */
.apply-supplement {
  line-height: 1.8;
  margin: 0 0px 30px;
  padding: 15px 30px;
  font-size: 12px;
  background: #F6F4F2;
}
.apply-supplement span {
  font-weight: bold;
}
.apply-supplement-border {
  background: transparent;
  border: #E8E9F7 solid 1px;
}
/* エラー文 */
.error-list, .error-list2 {
  display: none;
  width: 690px;
  margin: 0 auto 20px;
  padding: 5px 15px;
  color: #F31312;
  font-size: 12px;
  font-weight: bold;
  background: #FFF6F6;
}
.error-list p, .error-list ul, .error-list2 p, .error-list2 ul {
  margin: 10px 0;
}
.error-list ul li, .error-list2 ul li {
  margin-left: 3em;
}
#disp {
  display: none;
  padding: 5px;
  border: 1px solid #ff1111;
  color: #ff1111;
  margin: 5px 5px 0 20px;
}
@media (max-width:767px) {
  .error-list {
    width: auto;
  }
  .error-list ul li, .error-list2 ul li {
    margin-left: 1em;
  }
  .error-list2 {
    width: 100%;
    padding: 5px 10px;
    color: #F31312;
    font-size: 100%;
    font-weight: normal;
  }
  .formTable .input-frame .error-alert, .formTable .input-frame .font-alert {
    position: relative;
    pointer-events: none;
  }
  .necessity-lead img {
    width: 3em;
  }
}
/* 必須説明 */
.necessity-lead {
  line-height: 1.0
}
.necessity-lead span {
  border: solid 2px #f27704;
  color: #f27704;
  display: inline-block;
  height: 2em;
  width: 3.5em;
  text-align: center;
  border-radius: 4px;
  line-height: 1.7em;
  vertical-align: middle;
  font-weight: bold !important;
  font-size: 10px !important;
  background: #ffffff;
  margin-right: 5px;
}
/*--		__form
----------------------------------------------------*/
#form-area {
  clear: both;
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-top: 20px;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, 'メイリオ', Meiryo, sans-serif;
  font-size: 14px;
}
#form-area a {
  color: #0058AD;
}
#form-area .description {
  margin: 0 20px 30px;
  font-size: 12px;
}
#form-area .tableTtl {
  font-weight: bold;
  border-left: #1f80f8 solid 0.3em;
  padding-left: 0.5em;
  margin-bottom: 0.5em;
}
.formTable {
  width: 100%;
  margin-bottom: 40px;
  border-collapse: collapse;
}
/* フォームテーブルタイトル */
.formTable .tit_style td {
  font-size: 20px;
  font-weight: bold;
}
.formTable .tit_style.ttl_mdl td {
  padding: 14px 10px 14px 23px;
  font-size: 16px;
}
.formTable th, .formTable td {
  border: #C0BFBB 1px solid;
}
.formTable th {
  width: 320px;
  padding: 24px 16px;
  text-align: left;
  background: #E9E6DF;
}
.formTable th .item-inner {
  position: relative;
  width: 100%;
}
.formTable th p + p {
  margin-top: 1em;
  padding-right: 0;
}
.formTable th span {
  font-weight: normal;
  font-size: 12px;
}
span.necessity, span.complete {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  height: 2em;
  width: 3.5em;
  text-align: center;
  border-radius: 4px;
  line-height: 1.8em;
  vertical-align: middle;
  font-weight: bold !important;
  font-size: 10px !important;
  background: #ffffff;
}
span.necessity {
  border: solid 2px #f27704;
  color: #f27704;
}
span.complete {
  display: none;
  border: solid 2px #aba395;
  color: #aba395;
}
.formTable td {
  padding: 22px 10px 22px 23px;
}
@media (max-width:767px) {
  .formTable th {
    width: 100%;
    border-bottom: none;
  }
  .formTable th, .formTable td {
    display: block;
    padding: 15px;
  }
  .formTable .tit_style td {
    font-size: 18px;
    line-height: 1.2;
  }
  .formTable th .item-text p {
    padding-right: 40px;
  }
}
.formTable .input-text, .formTable textarea {
  border: #C0BFBB 2px solid;
  border-radius: 4px;
  margin-top: -1px;
  padding: 8px;
  outline: 0;
  font-size: 16px;
}
@media (max-width:767px) {
  .formTable .input-text, .formTable textarea {
    padding: 8px 4px;
  }
}
.formTable select {
  position: relative;
  z-index: 10;
  margin: 0;
  margin-right: 5px;
  font-size: 16px;
}
.formTable .select-border {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  display: block;
  box-sizing: content-box;
  border: #C0BFBB 2px solid;
  border-radius: 3px;
  font-size: 16px;
  background: url(/ssl/og-form/common/img/select-arrow.png) right center no-repeat #ffffff;
}
.formTable .input-frame {
  position: relative;
  width: 100%;
  zoom: 1;
}
.formTable .input-frame:after {
  content: "";
  display: block;
  clear: both;
}
.formTable .half-chara, .formTable .tel-hyphen {
  ime-mode: disabled;
}
.formTable td .error-alert, .formTable td .mail-alert, .formTable td .conf-alert, .formTable td .font-alert {
  display: none;
  padding: 8px 0 0 0;
  clear: both;
}
.formTable td .error-alert > p, .formTable td .mail-alert > p, .formTable td .conf-alert > p, .formTable td .font-alert > p {
  display: flex;
  align-items: center;
  color: #f11d1b;
  font-weight: bold;
}
.formTable td .error-alert > p::before, .formTable td .mail-alert > p::before, .formTable td .conf-alert > p::before, .formTable td .font-alert > p::before {
  content: "!";
  display: block;
  margin-right: 4px;
  border-radius: 50%;
  background-color: #f11d1b;
  padding: 4px 11px;
  text-align: center;
  color: #ffffff;
  font-weight: bold;
}
.formTable .input-frame .mark {
  float: left;
  margin-right: 5px;
  padding-top: 13px;
  color: #999999;
}
.formTable .input-frame div div {
  padding: 3px;
}
.formTable .input-frame .input-wrapper {
  position: relative;
  float: left;
}
.formTable .input-frame .line {
  display: block;
  clear: both;
  zoom: 1;
}
.formTable .input-frame .check-wrapper {
  float: left;
  margin-right: 5px;
}
.formTable .input-frame .check-wrapper:last-of-type {
  margin-right: 0;
}
.formTable .input-frame .check-wrapper label {
  float: left;
  padding: 8px;
}
.formTable .input-frame .check-wrapper input {
  float: left;
  margin-right: 8px;
  margin-top: 2px;
}
.formTable .input-frame .check-wrapper input.input-text {
  float: none;
  margin: 0;
}
.formTable .input-frame .check-wrapper span {
  float: left;
}
.formTable .input-frame .check-wrapper div {
  position: relative;
  margin-top: -3px;
}
.formTable .input-frame .columnWrap {
  display: block;
  margin: 5px 0;
  float: none;
  width: 100%;
}
.formTable .input-frame .columnWrap span, .formTable .input-frame .columnWrap label, .formTable .input-frame .columnWrap input {
  float: none;
}
.formTable .placeholder {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  color: #aaaaaa;
  overflow: hidden;
}
.formTable th .item-text p {
  padding-right: 40px;
}
.formTable .input-frame p.aTxt, .formTable .input-frame .listTxt {
  float: none;
  clear: both;
  color: #999999;
  line-height: 1.5;
}
.formTable .input-frame .listTxt {
  text-indent: -1em;
  padding-left: 1em;
  padding-top: 16px;
}
@media (max-width:767px) {
  .formTable .input-frame .check-wrapper span, .formTable .input-frame .spFnone {
    float: none;
  }
  .formTable .input-frame p.aTxt {
    padding-top: 5px;
  }
  .formTable .placeholder {
    font-size: 12px;
  }
}
#form-area #ziplist {
  position: absolute;
  z-index: 5
}
#form-area .form-btn {
  margin-bottom: 35px;
  text-align: center;
}
.formTable table th {
  padding: 0.5em;
  width: 8em;
}
@media (max-width:767px) {
  .formTable table th {
    width: 100%;
    margin-top: 4px;
  }
}
.formTable table td {
  padding: 0.5em;
}
/*--		__individual
----------------------------------------------------*/
input {
  margin: 0;
  padding: 10px;
}
.formTable .input-frame .zip1-wrapper {
  width: 60px;
  margin-right: 5px;
}
.formTable .input-frame .zip2-wrapper {
  width: 120px;
}
.formTable .input-frame .search-address {
  float: left;
  margin-top: 5px;
  padding-left: 12px;
}
.formTable .input-frame .search-address img {
  cursor: pointer;
}
.formTable .input-frame .pref-wrapper {
  width: 170px;
}
.formTable .input-frame .pref-wrapper select {
  width: 160px;
}
.formTable .input-frame .addr1-wrapper, .formTable .input-frame .addr2-wrapper {
  width: 492px;
}
.formTable .input-frame .zip1-wrapper input, .formTable .input-frame .zip2-wrapper input, .formTable .input-frame .tel-wrapper input, .formTable .input-frame .addr1-wrapper input, .formTable .input-frame .addr2-wrapper input {
  width: 100%;
}
@media (max-width:767px) {
  .formTable .input-frame .addr1-wrapper, .formTable .input-frame .addr2-wrapper, .formTable .input-frame .check-wrapper {
    width: 100%;
  }
}
.question01-04 .line div:first-child {
  width: 30%;
}
.question01-04 .line div:last-child {
  width: 50%;
}
.question01-04 .item-icon {
  position: relative;
}
.question01-04 .item-icon .necessity, .question01-04 .item-icon .complete {
  position: relative;
  display: inline-block;
}
@media (max-width:767px) {
  .question01-04 .line div:first-child, .question01-04 .line div:last-child {
    width: 100%;
  }
}
/* ▼　privacypolicy area */
table.privacyPolicy {
  margin-bottom: 0;
}
.privacyPolicy th {
  padding: 10px 10px 10px 0px;
  background: none;
  border: none;
}
.privacyPolicy td {
  padding: 0;
  border: none;
}
.privacyPolicy label {
  line-height: 1.4em;
}
.privacyPolicy label span {
  font-size: 14px;
  font-weight: normal;
}
@media (max-width:767px) {
  .privacyPolicy th {
    font-size: 14px;
  }
}
/* ▲　privacypolicy area */
/*--		__confirmation
----------------------------------------------------*/
.confTtl {
  font-weight: bold;
  font-size: 150%;
  border-left: #1f80f8 solid 0.3em;
  padding-left: 0.5em;
  margin-bottom: 1em;
}
#formConf {
  margin-bottom: 16px;
}
.formBtnWrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
.formBtnWrap > li {
  margin: 0 24px;
}
@media (max-width:767px) {
  .formBtnWrap {
    display: block;
    flex-direction: column;
  }
  .formBtnWrap > li {
    margin: 0 auto;
  }
}
/*--		__complete
----------------------------------------------------*/
.complete-box {
  margin: 30px auto 200px;
  text-align: center
}
.complete-ttl {
  margin: 0 0 35px;
  padding-top: 15px;
  color: #F27601;
  font-size: 29px;
  line-height: 1.5em;
}
@media (max-width:767px) {
  .complete-ttl {
    font-size: 25px;
  }
}
/* Form close
------------------------------------------------------------------------------------ */
.formClose {
  border: 1px solid #ccc;
  padding: 50px;
  margin-bottom: 50px;
}
.formClose h3 {
  margin: 0 auto 20px;
  font-size: 24px;
  color: #EE6E17;
  font-weight: bold;
  text-align: center;
  line-height: 1.3em;
}
.formClose p {
  font-size: 16px;
  line-height: 1.6em;
  text-align: center;
}