@charset "UTF-8";
/****************/
/**   !reset    **/
/****************/
body, div, dl, dt, dd, h1, h2, h4, h5, h6, pre, form, fieldset, input, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  border: 0;
}

textarea,
input {
  border: 1px solid #CCCCCC;
}

*,
*:before, *:after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
}

body {
  background-color: #e7e4Dd;
}

code {
  display: block;
  margin: 10px 0;
  padding: 5px;
  background-color: #F4F4F4;
}

hr {
  clear: both;
  border: none;
  height: 1px;
  border-bottom: 1px dotted #666666;
  margin: 0 0 10px;
  padding: 10px 0 0;
}

fieldset {
  border: 10px solid #ECF3EC;
  padding: 15px;
  margin: 10px 0;
}

legend {
  font-size: 1.3em;
  line-height: 1.3em;
  padding: 0 5px;
}

th, td,
ul,
p {
  font-size: 14px;
}

ul {
  padding-left: 25px;
}

ol {
  padding-left: 25px;
}

li {
  line-height: 1.4;
  margin-bottom: 5px;
}

h4 {
  margin-top: 20px;
  margin-bottom: 10px;
}

p {
  margin-bottom: 10px;
}

hr {
  margin: 15px 0 5px;
  padding: 0;
}

h2 {
  margin-bottom: 20px;
}

img {
  max-width: 100%;
}

@media (max-width: 767px) {
  body {
    background: #FFFFFF;
    background-image: none;
    margin-bottom: 0 !important;
    padding-top: 55px;
  }

  p,
li {
    font-size: 0.8rem;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  fieldset {
    border: 3px solid #ECF3EC;
    padding: 5px;
    margin: 10px 0 10px;
  }

  legend {
    font-size: 1rem;
  }

  label {
    font-weight: bold;
  }
}
.mT0 {
  margin-top: 0 !important;
}

.mT10 {
  margin-top: 10px !important;
}

.mT20 {
  margin-top: 20px !important;
}

.mB0 {
  margin-bottom: 0 !important;
}

.mB10 {
  margin-bottom: 10px !important;
}

.mB20 {
  margin-bottom: 20px !important;
}

.mL10 {
  margin-left: 10px !important;
}

.p10 {
  padding: 10px !important;
}

.pT10 {
  padding-top: 10px !important;
}

.pL10 {
  padding-left: 10px !important;
}

.boB0 {
  border-bottom: none !important;
}

.w20 {
  width: 20%;
}

.w40 {
  width: 40%;
}

.w50 {
  width: 50%;
}

.w70 {
  width: 70%;
}

.w75 {
  width: 75%;
}

.w80 {
  width: 80%;
}

.w100 {
  width: 99.5%;
}

.aC {
  text-align: center !important;
}

.aR {
  text-align: right !important;
}

.aL {
  text-align: right !important;
}

.vT {
  vertical-align: top !important;
}

.vM {
  vertical-align: middle !important;
}

.vB {
  vertical-align: bottom !important;
}

.fR {
  float: right !important;
}

.fL {
  float: left !important;
}

.clear {
  clear: both !important;
}

hr.clear {
  clear: both;
  margin: 0;
  padding: 0;
  border: 0;
}

.hidden {
  display: none;
}

/************/
/*   !font   */
/************/
.english {
  font-family: Arial, Helvetica, sans-serif;
}

.stxt,
.sTxt {
  font-size: 85%;
}

.stxtg {
  font-size: 0.9em;
  color: #999999;
}

.ltxt input {
  font-size: 136%;
}

.ltxt a {
  font-size: 114%;
}

* html .stxt,
* + html .stxt {
  font-size: 0.85em;
}

.fs12 {
  font-size: 12px !important;
}

.fs14 {
  font-size: 14px !important;
}

.fs16 {
  font-size: 16px !important;
}

.fs18 {
  font-size: 18px !important;
}

.fs20 {
  font-size: 20px !important;
}

.text-alert {
  color: #CC3300;
}

.bgNote {
  padding: 5px;
  background-color: #ECF3EC;
}
.bgNote p {
  font-size: 12px;
}

.clrGreen {
  color: #006600 !important;
}

.clrRed {
  color: #CC0000 !important;
}

.clrBlue {
  color: #000099 !important;
}

.clrWhite {
  color: #FFFFFF !important;
}

.indent {
  margin-left: 1em;
  text-indent: -1em;
}

.b {
  font-weight: bold;
}

.boxRed {
  background: #FFEEEE;
  color: #CC0000;
  border: 3px double #CC0000;
  margin: 5px 15px 0;
  padding: 8px 10px;
}

.boxLine {
  border: 1px dashed #CC0000;
  color: #CC0000;
  margin-top: 10px;
  padding: 8px 30px;
}
.boxLine p {
  padding-top: 10px;
}
.boxLine img {
  margin-right: 20px;
}

.bg {
  background: #F6F6F6;
  padding: 20px;
}
.bg p + p {
  margin-top: 10px;
}

@media (max-width: 767px) {
  .bg {
    padding: 15px;
  }
}
.warning {
  position: relative;
  font-size: 18px;
  font-weight: bold;
}

.pagetop {
  margin-top: 20px;
}

.basicbox h2 {
  margin: 25px 0 5px;
  padding: 5px 5px 2px;
}

table img {
  max-width: 100%;
}

p.maintitle,
h2.maintitle {
  font-size: 1.1rem;
  text-align: center;
  color: #006600;
  line-height: 1.3;
  border-bottom: 2px dotted #006600;
  margin-bottom: 0;
  background: none;
  font-weight: bold;
  padding: 5px 5px 10px;
}

.common_links {
  border-top: 1px solid #CCCCCC;
  padding-top: 15px;
  margin-top: 15px;
}
.common_links ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.common_links li {
  font-size: 0.85rem;
}
.common_links li a {
  position: relative;
  display: block;
  text-decoration: none;
  color: #0044CC;
  padding-left: 20px;
}
.common_links li a:before {
  display: inline-block;
  position: absolute;
  content: "";
  left: 5px;
  top: 5px;
  border: 5px solid #0044FF;
  border-color: transparent transparent transparent #0044FF;
}
.common_links li a:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  p.maintitle,
h2.maintitle {
    background-color: #28752B;
    color: #FFFFFF;
    padding: 8px !important;
    font-size: 1rem;
  }

  /**
   * 共通コンテンツ
   */
  .common_links {
    margin-top: 30px;
    margin-left: -20px;
    margin-right: -20px;
    border-top: 1px solid #CCCCCC;
    padding-top: 0px;
  }
  .common_links ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .common_links li {
    font-size: 0.85rem;
    border-bottom: 1px solid #EFEFEF;
    margin-bottom: 0;
  }
  .common_links li a {
    padding: 8px 10px 8px 30px;
  }
  .common_links li a:before {
    left: 15px;
    top: 12px;
  }
}
.pc_none {
  display: none !important;
}

@media (max-width: 767px) {
  .pc_none {
    display: initial !important;
  }

  .sp_none {
    display: none !important;
  }

  .sp_common {
    display: initial;
  }

  .phpdebugbar.phpdebugbar-minimized {
    display: none;
  }
}
/************/
/*   !Hack   */
/************/
.clearfix:after,
.pkg:after {
  content: " ";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
}

* html .clearfix,
* html .pkg {
  display: inline-block;
}

/* no ie mac \*/
* html .clearfix,
* html .pkg {
  height: 1%;
}

.clearfix,
.pkg {
  display: block;
}

/* */
* + html .clearfix,
* + html .pkg {
  height: 1%;
}

*.btn {
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #336699;
  color: #003366;
  cursor: pointer;
  border-radius: 5px;
  padding: 5px 30px;
  margin-right: 10px;
  margin-bottom: 5px;
  font-size: 14px;
  display: inline-block;
  text-decoration: none;
  background-color: #c4e078;
  box-shadow: 1px 1px 2px #b4b4b4;
  transition: all 0.2s;
}
*.btn:hover {
  box-shadow: 0px 0px 1px #b4b4b4;
  opacity: 0.8;
}
*.btn.btn-back {
  padding: 3px 20px 3px 30px;
  color: #FFFFFF;
  background-color: #AAAAAA;
  border-color: #999999;
}
*.btn.btn-back:before {
  content: "";
  display: inline-block;
  position: absolute;
  border-top: 1px solid #FFFFFF;
  border-left: 1px solid #FFFFFF;
  width: 7px;
  height: 7px;
  left: 12px;
  top: 9px;
  transform: rotateZ(-45deg);
  /*background: #000;*/
  /*color: #FFFFFF;*/
}
*.btn.btn-submit {
  color: #FFFFFF;
  font-size: 18px;
  padding: 10px 50px;
  background: #ff9c02;
  border: 1px solid #ff6600;
}

.btn_printphoto {
  line-height: 1.5;
  text-align: center;
  margin: 20px 0 10px;
}

caption {
  text-align: left;
}

/* table */
/* 過去の利用履歴サイズ */
.basicTable {
  border-top: 1px solid #CCCCCC;
  width: 100%;
}
.basicTable th,
.basicTable td {
  padding: 5px;
  vertical-align: top;
  border-top: 1px solid #FFFFFF;
  border-bottom: 1px solid #CCCCCC;
  text-align: left;
  font-size: 0.75rem;
}
.basicTable th {
  background-color: #f2f2f2;
  font-weight: normal;
}
.basicTable td p,
.basicTable td strong {
  font-size: 0.75rem;
}
.basicTable td.Stxt {
  font-size: 92%;
}
.basicTable td.history_info p {
  margin-bottom: 0;
}

table.baseTable {
  margin-bottom: 20px;
  width: 100%;
  border-bottom: 1px solid #CCCCCC;
}
table.baseTable caption {
  font-size: 16px;
  padding-bottom: 5px;
  font-weight: bold;
}
table.baseTable th, table.baseTable td {
  padding: 8px;
  border-top: 1px solid #CCCCCC;
}
table.baseTable th {
  background: #EFEFEF;
  width: 190px;
  vertical-align: top;
}
table.baseTable table.normalTable {
  margin-bottom: 10px;
}
table.baseTable table.normalTable th {
  width: 100px;
}

@media (max-width: 767px) {
  table.baseTable thead, table.baseTable tbody, table.baseTable tr, table.baseTable th, table.baseTable td {
    display: block;
    width: 100% !important;
  }
  table.baseTable th br {
    display: none;
  }
  table.baseTable caption {
    text-align: center;
  }
  table.baseTable table.normalTable {
    display: table;
    width: 100%;
    margin-bottom: 10px;
  }
  table.baseTable table.normalTable tr {
    width: 100% !important;
    display: table-row;
  }
  table.baseTable table.normalTable th, table.baseTable table.normalTable td {
    padding: 7px 6px;
  }
  table.baseTable table.normalTable th {
    display: table-cell;
    width: 70px !important;
  }
  table.baseTable table.normalTable td {
    display: table-cell;
    width: auto !important;
  }
}
table.infoTable {
  margin: 5px 0;
  background: #F6F6F6;
  text-align: left;
  font-size: 12px;
  line-height: 1.5em;
  width: 100%;
}
table.infoTable th {
  padding: 7px 7px;
  border-bottom: 2px double #FFFFFF;
  border-right: 1px solid #FFFFFF;
  background-color: #e1eece;
  width: 120px;
}
table.infoTable td {
  padding: 7px 7px;
  border-bottom: 2px solid #FFFFFF;
}
table.infoTable table {
  font-size: 12px;
}
table.infoTable table td.thead,
table.infoTable table th {
  width: 70px;
  border-bottom: 1px solid #FFFFFF;
  border-right: none;
  background-color: #e3e3e3;
  border-bottom-width: 1px;
}
table.infoTable table td {
  vertical-align: top;
  border-left: 1px solid #FFFFFF;
}

@media (max-width: 767px) {
  table.infoTable {
    display: block;
  }
  table.infoTable thead, table.infoTable tbody, table.infoTable tr, table.infoTable th, table.infoTable td {
    display: block;
    width: 100%;
  }
  table.infoTable thead br, table.infoTable tbody br, table.infoTable tr br, table.infoTable th br, table.infoTable td br {
    display: none;
  }
  table.infoTable thead br.sp_initial, table.infoTable tbody br.sp_initial, table.infoTable tr br.sp_initial, table.infoTable th br.sp_initial, table.infoTable td br.sp_initial {
    display: initial;
  }
  table.infoTable table thead, table.infoTable table tbody, table.infoTable table tr, table.infoTable table th, table.infoTable table td {
    display: block;
    width: 100% !important;
  }
  table.infoTable th {
    padding: 7px 7px;
    border-bottom: 2px double #FFFFFF;
    border-right: 1px solid #FFFFFF;
    background-color: #e1eece;
  }
  table.infoTable td {
    padding: 7px 7px;
    border-bottom: 2px solid #FFFFFF;
  }
  table.infoTable table {
    font-size: 12px;
  }
  table.infoTable table th {
    width: 70px;
    border-bottom: 1px solid #FFFFFF;
    border-right: none;
    background-color: #e3e3e3;
    border-bottom-width: 1px;
  }
  table.infoTable table td {
    vertical-align: top;
    border-left: 1px solid #FFFFFF;
    border-left: none;
  }
  table.infoTable table td.sp_inline {
    display: inline-block !important;
    width: auto !important;
    border-left: none;
    border-bottom: none;
  }
}
table.dotlinetable {
  width: 100%;
}
table.dotlinetable td {
  padding: 5px;
  border-top: 1px dotted #999999;
}

@media (max-width: 767px) {
  table.dotlinetable td {
    width: 100% !important;
    display: block;
    border: none;
  }

  table.dotlinetable td + td {
    padding-top: 0;
  }

  table.dotlinetable tr > td:first-of-type {
    border-top: 1px dotted #999999;
  }
}
.finTable {
  width: 100%;
}
.finTable th {
  width: 70%;
  padding: 10px;
}
.finTable th,
.finTable td {
  width: 200px;
}
.finTable th h4,
.finTable td h4 {
  margin-top: 0;
  font-size: 16px;
  padding: 5px;
}
.finTable th p.content_proof,
.finTable td p.content_proof {
  border: 3px double #CC0000;
  padding: 5px 10px;
}
.finTable th p.content_proof strong,
.finTable td p.content_proof strong {
  color: #CC0000;
}

@media (max-width: 767px) {
  .finTable {
    width: 100%;
  }
  .finTable thead, .finTable tr, .finTable th, .finTable td {
    display: block;
    width: 100%;
  }
  .finTable th, .finTable td {
    padding: 0;
  }
  .finTable th h4, .finTable td h4 {
    font-size: 0.9rem;
    padding: 5px;
    margin-bottom: 0;
  }
}
/* 各ベンダープレフィックスが取れた標準版！
(http://caniuse.com/#search=placeholder-shown) */
:-moz-placeholder-shown {
  color: #BBBBBB;
}
:-ms-input-placeholder {
  color: #BBBBBB;
}
:placeholder-shown {
  color: #BBBBBB;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
  color: #BBBBBB;
}

/* Firefox 18- */
:-moz-placeholder {
  color: #BBBBBB;
  opacity: 1;
}

/* Firefox 19+ */
::-moz-placeholder {
  color: #BBBBBB;
  opacity: 1;
}

/* IE 10+ */
:-ms-input-placeholder {
  color: #BBBBBB;
}

textarea,
input {
  border: 1px solid #CCCCCC;
}

textarea {
  width: 100%;
}

input[type=checkbox],
input[type=radio] {
  width: auto;
  border: none;
}

textarea,
input[type=password],
input[type=text],
input[type=tel],
input[type=email] {
  padding: 7px;
  margin-bottom: 5px;
  font-size: 14px;
}

select {
  padding-bottom: 3px;
  padding-top: 3px;
  margin-bottom: 10px;
  -webkit-appearance: none;
  -webkit-user-select: none;
  -webkit-box-shadow: inset 0 1px 2px white, 0 1px 2px rgba(0, 0, 0, 0.2);
  -webkit-padding-end: 30px;
  -webkit-padding-start: 14px;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAGCAYAAAARx7TFAAAAL0lEQVQIW4XKuQ0AIAwEsBs9m5sKhHgLd04SX6hXQIV7RCE9bbGHNY04h1PKGpAGy4V0EacAtlEAAAAASUVORK5CYII="), -webkit-linear-gradient(#FCFCFC, #E3E3E3);
  background-position: 95% 55%;
  background-repeat: no-repeat;
  border: 1px solid #a0a0a0;
  font-size: 14px;
  outline: 0;
}

select:enabled:hover {
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAGCAYAAAARx7TFAAAAL0lEQVQIW4XKuQ0AIAwEsBs9m5sKhHgLd04SX6hXQIV7RCE9bbGHNY04h1PKGpAGy4V0EacAtlEAAAAASUVORK5CYII="), -webkit-linear-gradient(#fefefe, #f8f8f8 40%, #e9e9e9);
}

select:enabled:active {
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAGCAYAAAARx7TFAAAAL0lEQVQIW4XKuQ0AIAwEsBs9m5sKhHgLd04SX6hXQIV7RCE9bbGHNY04h1PKGpAGy4V0EacAtlEAAAAASUVORK5CYII="), -webkit-linear-gradient(#f4f4f4, #efefef 40%, #dcdcdc);
}

select:enabled:focus {
  -webkit-box-shadow: inset 0 1px 2px white, 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 1px #c0c0c0, 0 0 1px #c0c0c0, 0 0 1px #c0c0c0;
  border-color: #4080fa;
  outline: none;
}

.bg_note {
  background-color: #f3f3f3;
  font-weight: bold;
  padding: 10px;
  text-align: center;
}
.bg_note.clrRed {
  background-color: #FFEEEE;
}

/* !同意書 */
.code {
  width: 93%;
  margin: 15px 0;
  padding: 10px 20px;
  background-color: #FDFDFD;
  border: 1px solid #999999;
  /* Don't wrap its contents, and show scrollbars. */
  white-space: normal;
  overflow: auto;
  /* Stop after about 14 lines, and just show a scrollbar. */
  height: 12em;
  max-height: 12em;
}
.code h4 {
  padding-bottom: 3px;
  margin-bottom: 3px;
  border-bottom: 1px dotted #000000;
}
.code ol {
  padding: 0;
  margin: 5px 0 5px 20px;
}
.code ol li {
  border-bottom: 1px dotted #CCCCCC;
}
.code ol li,
.code ol p {
  padding-bottom: 3px;
}
.code li ul {
  list-style: disc;
  padding: 0;
  margin-left: 20px;
}
.code ol li li {
  border: none;
  margin-bottom: 0;
}

.agree {
  background-color: #a8cf65;
  border: 1px solid #87A93E;
  color: #FFFFFF;
  padding: 3px 5px;
}

label.agreement {
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  padding: 10px;
  border: 3px double #CC0000;
  background-color: #FFF6F6;
  border-radius: 5px;
  cursor: pointer;
  margin: 0 auto 10px 125px;
}

button.submitbtn2, button.submitbtn2Hovered {
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 117px !important;
  height: 40px !important;
  color: #FFF !important;
  padding: 2px 5px !important;
  background: #999999 !important;
  /*url(https://www.green-card.jp/application/common/images/form_submit.gif) no-repeat left top*/
  border: 1px solid #666666 !important;
  border-radius: 4px !important;
}

@media (max-width: 767px) {
  select.country_selector {
    width: 100%;
  }

  .code {
    width: 100%;
    max-height: 300px;
    height: 300px;
    padding: 10px;
  }
  .code h4 {
    margin-top: 0;
  }
  .code li, .cate_tabcontent .code p {
    font-size: 0.75rem;
    line-height: 1.4;
  }

  label.agreement {
    display: block;
    margin: 0 30px 10px;
  }
}
fieldset.form_note {
  background-color: #F8FCF1;
  width: 95%;
  border: 3px double #006633;
}
fieldset.form_note span {
  font-size: 1rem;
  text-decoration: underline;
  font-weight: bold;
  color: #0000FF;
}
fieldset.form_note p {
  margin-bottom: 0;
}

fieldset.fieldline {
  margin: 20px 0;
  padding: 0 2px 2px;
  border: solid 1px #CCCCCC;
  position: relative;
}
fieldset.fieldline legend {
  font-size: 1.3rem;
  line-height: 1.4em;
  margin: 0 0 0 10px;
  color: #333333;
  font-weight: bold;
}

.requiredbox_label {
  background-color: #C80313;
  color: #FFFFFF;
  font-size: 10px;
  width: 15px;
  height: calc(100% - 30px);
  word-break: break-all;
  text-align: center;
  vertical-align: middle;
  position: absolute;
}
.requiredbox_label p {
  position: relative;
  top: 40%;
  line-height: 1.5;
}

.requiredbox_content {
  margin-left: 30px;
}

@media (max-width: 767px) {
  fieldset.form_note {
    width: 100%;
  }
  fieldset.form_note span {
    font-size: 1rem;
  }

  fieldset.fieldline legend {
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0 0 0 10px;
    background: #FFFFFF;
  }

  .requiredbox_content {
    margin-left: 20px;
  }

  .requiredbox_label {
    height: calc(100% - 43px);
  }
}
/**
 * Table
 **/
table.formTable {
  margin: 5px 0;
  background: #F6F6F6;
  text-align: left;
  font-size: 12px;
  line-height: 1.5em;
  width: 100%;
}
table.formTable th {
  padding: 7px 7px;
  border-bottom: 20px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
  background-color: #e1eece;
  width: 100px;
}
table.formTable td {
  padding: 7px 7px;
  border-bottom: 20px solid #FFFFFF;
}
table.formTable table {
  font-size: 12px;
}
table.formTable table th {
  width: 70px;
  border-bottom: 1px solid #FFFFFF;
  border-right: none;
  background-color: #e3e3e3;
  border-bottom-width: 1px;
}
table.formTable table td {
  vertical-align: top;
  border-left: 1px solid #FFFFFF;
  border-bottom-width: 1px;
}
table.formTable td input,
table.formTable td select {
  margin-bottom: 3px;
}
table.formTable td input[type=text],
table.formTable td input[type=tel],
table.formTable td input[type=email] {
  padding: 5px;
  margin-top: 3px;
  margin-bottom: 3px;
  font-size: 14px;
}
table.formTable td .Stxt {
  font-size: 0.7rem;
}
table.formTable td.tdreq {
  padding: 0;
  text-align: center;
  vertical-align: middle;
  width: 15px;
  color: #FFFFFF;
  background-color: #CC0000;
  font-size: 10px;
  line-height: 1.2;
}
table.formTable td.tdnormal {
  padding: 0;
  text-align: center;
  vertical-align: middle;
  width: 15px;
  font-size: 10px;
}
table.formTable td.phototd {
  width: 140px;
  background-color: #FFFFFF;
  border: 1px solid #EEEEEE;
  border-bottom: 5px solid #FFFFFF;
  padding: 0;
  text-align: center;
}
table.formTable td.centerline {
  border-left: 1px solid #FFFFFF;
}
table.formTable td.gray,
table.formTable table td.gray {
  background-color: #e3e3e3;
  border-left: 1px solid #FFFFFF;
  border-bottom-width: 1px;
}
table.formTable hr {
  border-bottom: 1px solid #FFFFFF;
}
table.formTable table.bononeTable th,
table.formTable table.bononeTable td {
  border: 0;
}

@media (max-width: 767px) {
  table.formTable tr {
    position: relative;
  }
  table.formTable th {
    font-size: 0.8rem;
    background-color: #e1eece;
    padding-right: 50px;
  }
  table.formTable th a {
    margin-right: 5px;
  }
  table.formTable th br {
    display: none;
  }
  table.formTable td input,
table.formTable td select {
    margin-bottom: 3px;
  }
  table.formTable td input[type=text],
table.formTable td input[type=tel],
table.formTable td input[type=email] {
    width: 90%;
    margin-right: 10px;
  }
  table.formTable td.tdreq {
    position: absolute;
    padding: 3px 8px;
    font-size: 0.65rem;
    border-radius: 3px;
    width: auto !important;
    right: 7px;
    top: 17px;
  }
  table.formTable td.tdnormal {
    padding: 0;
    text-align: center;
    vertical-align: middle;
    width: 15px;
    font-size: 10px;
  }
  table.formTable td.phototd {
    width: 140px;
    background-color: #FFFFFF;
    border: 1px solid #EEEEEE;
    border-bottom: 5px solid #FFFFFF;
    padding: 0;
    text-align: center;
  }
  table.formTable td.centerline {
    border-left: 1px solid #FFFFFF;
  }
  table.formTable table th {
    border-top: 0;
  }
  table.formTable table td {
    border-left: none;
    border-top: 1px solid #FFFFFF;
  }
}
/* !予約フォーム ********************************************* */
#entryform_entrance_section {
  display: block;
}

#entryform_input_section {
  display: none;
}

.questionTable {
  width: 100%;
}
.questionTable th {
  padding: 8px;
  font-size: 0.9rem;
  background-color: #EAEAEA;
  text-align: left;
  vertical-align: top;
  border-top: 20px solid #FFFFFF;
}
.questionTable th .normal {
  font-weight: normal;
}
.questionTable td {
  padding: 8px;
  background-color: #F9F9F9;
  vertical-align: top;
}
.questionTable td h3 {
  font-size: 0.9rem;
  margin-top: 0;
  margin-bottom: 10px;
}
.questionTable select {
  width: 100%;
}

@media (max-width: 767px) {
  table.formTable thead, table.formTable tbody,
table.formTable tr,
table.formTable th,
table.formTable td {
    display: block;
    width: 100% !important;
    border-bottom: none;
  }
  table.formTable th {
    border-top: 10px solid #FFFFFF;
  }

  .questionTable th {
    padding: 7px;
    font-size: 0.85rem;
    border-top: 10px solid #FFFFFF;
  }
  .questionTable td {
    padding: 8px;
  }
  .questionTable td h3 {
    font-size: 0.85rem !important;
    margin-bottom: 5px;
  }
}
table.addTable th,
table.addTable td {
  border-bottom: none;
}

table.confirmTable {
  margin: 10px 0;
  text-align: left;
  font-size: 12px;
  background-color: #F3F3F3;
}
table.confirmTable th {
  padding: 5px;
  border-bottom: 1px dotted #D5DEC7;
  border-right: 1px solid #FFFFFF;
  background-color: #e1eece;
  width: 120px;
}
table.confirmTable td {
  padding: 5px;
  border-bottom: 1px solid #FFFFFF;
}
table.confirmTable table {
  font-size: 12px;
}
table.confirmTable table th {
  width: 120px;
  text-align: left;
  border-color: #FFFFFF;
  border-right: none;
  background-color: #e3e3e3;
}
table.confirmTable table td {
  vertical-align: top;
  border-left: 1px solid #FFFFFF;
}
table.confirmTable ul {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 5px;
  padding-bottom: 5px;
}
table.confirmTable ul + p {
  padding-left: 10px;
}

dl.contactform_items dt {
  font-size: 14px;
  margin: 0 0 5px;
  font-weight: bold;
}
dl.contactform_items dd {
  font-size: 14px;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  table.confirmTable tr, table.confirmTable th, table.confirmTable td {
    display: block;
    width: 100%;
  }
  table.confirmTable th {
    border-top: 2px solid #FFFFFF;
  }
}
/**********************/
/* !エラー・成功メッセージ */
/*warnings, errors, messages*/
.errorBox {
  background: #fff url("images/stripes1.gif");
  padding: 12px;
}

.errors {
  background: #fef9f8;
  padding: 15px;
  color: #cc3300;
}

.errors strong {
  font-size: 1rem;
}

.messageStackError,
.messageStackWarning,
.messageStackSuccess,
.messageStackCaution {
  font-size: 0.9rem;
}

.messageStackError {
  margin-top: 1px;
}

.messageStackWarning, .messageStackSuccess, .messageStackCaution {
  margin-top: 20px;
  padding: 5px 5px 0;
  border: 1px solid #000000;
  border-radius: 5px;
  -ms-border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}

.messageStackWarning img,
.messageStackError img,
.messageStackCaution img {
  vertical-align: text-bottom;
}

.messageStackSuccess img {
  vertical-align: text-bottom;
}

.messageStackWarning {
  background-color: #FEF9F8;
  border: 1px dotted #CC3300;
  border-top: none;
  border-bottom: none;
  color: #CC3300;
}

.messageStackSuccess {
  background-color: #ECF3F7;
  border: 1px dotted #006655;
  color: #004455;
  padding: 10px 5px;
}

.messageStackCaution {
  background-color: #FFFF66;
}

.messageStackSuccess.larger {
  font-size: 16px;
}

.alertblock {
  color: #333333;
  margin-top: 10px;
  border-radius: 5px;
  border: 1px solid #FFFFFF;
  box-shadow: inset 0 0 15px #FFFFFF, 0 0 5px #996666;
  padding: 10px 20px 10px 95px;
  background: #FFEADE url(/assets/oldsite_tpl/icon/alert.png) no-repeat 2% 45%;
  min-height: 100px;
}
.alertblock hr {
  margin: 5px 0;
  border-color: #999999;
  clear: both;
}
.alertblock p {
  margin-bottom: 0;
}
.alertblock .ng_country {
  padding: 0 0 0 30px;
}
.alertblock .ng_country ul {
  font-weight: bold;
  margin: 0;
  font-style: italic;
  padding: 0;
  float: left;
  width: 25%;
}
.alertblock .ng_country ul.long {
  float: none;
  width: 100%;
}
.alertblock .ng_country li {
  margin: 0;
}

@media (max-width: 767px) {
  .alertblock {
    background-position: 5px 10px;
    background-size: 40px auto;
    padding: 5px 5px 5px 50px;
  }
  .alertblock .ng_country {
    padding: 10px 0 0 0px;
  }
  .alertblock .ng_country ul {
    width: 45%;
    margin-right: 5%;
    font-weight: bold;
    list-style: none;
  }
  .alertblock .ng_country ul li {
    position: relative;
    list-style: none;
    font-size: 0.75rem;
    padding-left: 8px;
  }
  .alertblock .ng_country ul li:before {
    content: "";
    width: 2px;
    height: 2px;
    position: absolute;
    background-color: #666666;
    border-radius: 100px;
    top: 7px;
    left: 0;
  }
  .alertblock .ng_country ul.long {
    float: none;
    width: 100%;
  }
}
#attention_message_timelimit_entrance {
  font-size: 14px;
  padding: 10px 15px;
  margin-bottom: 20px;
  background-color: #FFEEEE;
}
#attention_message_timelimit_entrance strong {
  color: #CC0000;
}

/**
 * Header
 */
#header {
  position: relative;
  height: 80px;
  background: #FFFFFF;
  background-size: auto 90px !important;
  border-top: 7px solid #033306;
  border-radius: 0 0 10px 10px;
  overflow: hidden;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
  /* My Page */
}
.cate-mypage #header {
  background-color: #fAFFFA;
}
#header .left {
  width: auto;
}
#header .right {
  width: auto;
}
#header p#head_description {
  position: relative;
  top: 54px;
  left: 288px;
  line-height: 1.2em;
  font-size: 10px;
  color: #808080;
  padding: 0;
  margin: 0;
  font-weight: normal;
  display: none;
}
#header p#logo {
  position: relative;
  line-height: 1.2em;
  font-size: 10px;
  color: #808080;
  padding: 0;
  margin: 0;
}
#header p#logo a {
  display: block;
  width: 280px;
  height: 58px;
}
#header p#logo span {
  display: none;
  line-height: 1em;
  font-size: 10px;
}
#header p#logo a {
  position: relative;
  width: 320px;
  height: 55px;
  background: url("/img/common/sp_logo.png") no-repeat left center;
  background-size: contain;
  left: 20px;
  top: 7px;
}
#header p#logo.mypagelogo {
  text-align: center;
}
#header p#logo.mypagelogo a {
  position: relative;
  width: 350px;
  height: 40px;
  background: url("/img/common/mypage_logo.png") no-repeat left center;
  background-size: contain;
  left: 0px;
  top: 12px;
  margin: 0 auto;
}
#header .mypage {
  float: right;
  padding: 10px 17px 0 0;
  text-align: right;
  line-height: 1em;
}
#header .mypage a {
  display: block;
  width: 97px;
  height: 30px;
  line-height: 30px;
  background: url("images/btn_mypage.gif") no-repeat left top;
}
#header .mypage a span {
  display: none;
}
#header .mypage a:hover {
  background-position: left bottom;
}
#header .btn_h_mypage {
  position: absolute;
  top: 0;
  padding: 7px 7px 0 0;
  text-align: right;
  line-height: 1em;
  left: 300px;
}
#header .btn_h_mypage a {
  display: block;
  width: 97px;
  height: 30px;
  line-height: 30px;
  background: url("/images/btn_h_mypage.gif") no-repeat 0 0;
}
#header .btn_h_mypage {
  text-align: right;
  line-height: 1em;
  position: absolute;
  top: 7px;
}
#header .btn_h_mypage a {
  display: block;
  width: 115px;
  height: 34px;
  line-height: 30px;
  border: 2px solid #eb6d00;
  border-radius: 20px;
  color: #eb6d00;
  font-weight: bold;
  text-decoration: none;
  padding-right: 15px;
  cursor: pointer;
  background: url("https://www.green-card.jp/assets/templates/GreenCardJP2010/images/icn_user.png") no-repeat left 10px center;
  background-size: 17%;
}
#header .btn_h_mypage a:hover {
  background-color: #FFFBF6;
}
#header .btn_h_mypage a.active {
  background-position: left bottom;
}
#header .btn_h_mypage a.active:hover {
  background-position: left bottom;
}
#header .btn_h_mypage a span {
  display: inline-block;
  font-size: 12px;
  font-weight: bold;
}

#sp_headnav {
  display: none;
  z-index: 10;
}

img.sp_nav_svgimg {
  height: 9px;
  width: auto;
}

@media (max-width: 767px) {
  #header .right,
#header .left {
    width: auto;
  }

  #header {
    position: fixed;
    z-index: 2;
    border-radius: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 55px;
    background: #FFFFFF !important;
    box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.3);
  }
  #header p#head_description {
    position: absolute;
    display: none;
  }
  #header p#logo {
    position: relative;
    line-height: 1.2em;
    font-size: 10px;
    color: #808080;
    padding: 0;
    margin: 0;
  }
  #header p#logo a {
    position: absolute;
    display: block;
    width: 180px;
    height: 36px;
    top: 6px;
    left: 10px;
    background: url("/img/common/sp_logo.png") no-repeat left center;
    background-size: contain;
  }
  #header p#logo.mypagelogo {
    text-align: left;
  }
  #header p#logo.mypagelogo a {
    width: 240px;
    height: 30px;
    margin: 0 0 0 10px;
    top: 7px;
    background: url("/img/common/mypage_logo.png") no-repeat left center;
    background-size: contain;
  }

  .btn_h_mypage {
    display: none;
  }

  #sp_headnav {
    display: block;
    position: absolute;
    right: 50px;
    width: 115px;
    height: 49px;
    z-index: 10;
  }
  #sp_headnav ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #sp_headnav ul li {
    float: right;
    width: 50px;
    height: 49px;
    margin: 0;
    padding: 0;
  }
  #sp_headnav ul li#sp_header_home {
    width: 50px;
    background: url("/img/common/sp_header_home.png") no-repeat center 8px;
    background-size: auto 18px;
  }
  #sp_headnav ul li#sp_header_progress {
    width: 60px;
    background: url("/img/common/sp_header_progress.svg") no-repeat center 8px;
    background-size: auto 18px;
  }
  #sp_headnav ul li a {
    display: block;
    width: 100%;
    height: 49px;
    padding-top: 30px;
    text-align: center;
  }
}
@media (max-width: 340px) {
  #sp_headnav {
    width: 90px;
  }
  #sp_headnav ul li#sp_header_home {
    width: 37px;
  }
  #sp_headnav ul li#sp_header_progress {
    width: 50px;
  }
}
/**
 * Bread crumbs
 */
#breadcrumbs {
  clear: both;
  min-height: 10px;
  clear: both;
  margin: 0;
  padding: 15px 22px;
}
#breadcrumbs div {
  float: left;
}
#breadcrumbs h2 {
  font-size: 100%;
  font-weight: normal;
  color: #333333;
  padding: 0;
  margin: 0;
  border: none;
  line-height: 1.65;
}
#breadcrumbs .crumbSep {
  margin: 0 5px;
  color: #999999;
}
#breadcrumbs a, #breadcrumbs span {
  position: relative;
  display: inline-block;
  color: #666666;
  padding: 3px 5px 3px 0;
}
#breadcrumbs a {
  color: #0033CC;
}
#breadcrumbs a + a, #breadcrumbs a + span {
  padding-left: 15px;
}
#breadcrumbs a + span:before,
#breadcrumbs a + a:before {
  content: ">";
  position: absolute;
  font-size: 11px;
  left: 0;
}

@media (max-width: 767px) {
  #breadclumbs {
    padding: 3px 10px;
    font-size: 0.7rem;
  }
}
/**
 * Footer
 */
#footer {
  padding: 20px 0;
}
#footer p {
  padding: 0 0;
  margin: 0;
  text-align: center;
  color: #444444;
  line-height: 1.8;
  font-size: 13px;
}

@media (max-width: 767px) {
  #footer {
    background: #EFEFEF;
    padding: 10px 5px 10px;
  }

  #footer p {
    border-top: none;
    font-size: 12px;
    line-height: 1.5;
  }
}
/**
 * Sidebar
 */
.leftarea {
  display: block;
  position: relative;
  float: left;
  width: 179px;
  padding-bottom: 0;
  line-height: 0;
  z-index: 0;
}

/* Left Menu */
.lnavi {
  background-color: #F6F9F1;
  border-left: 1px solid #CCCCCC;
  line-height: 1.3;
}
.lnavi h3 {
  background: #E9F0DD;
  color: #2E6205;
  margin: 0;
  padding: 3px 2px 2px 6px;
  font-size: 12px;
}
.lnavi h3:before {
  display: inline-block;
  content: "▼";
  margin-right: 5px;
}
.lnavi h3.nochild:before {
  transform: rotateZ(-90deg);
}
.lnavi ul {
  border-bottom: 2px solid #82A16A;
  margin: 0;
  padding: 0;
  list-style: none;
}
.lnavi li {
  margin: 0;
  padding: 0;
  display: inline;
  font-size: 12px;
}
.lnavi li a {
  position: relative;
  display: block;
  text-decoration: none;
  padding: 7px 7px 7px 15px;
  border-top: 1px dotted #82A16A;
}
.lnavi li a:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 8px;
  top: 8px;
  border: 4px solid #BFC9B3;
  border-color: transparent transparent transparent #BFC9B3;
  width: 0;
  height: 0;
}
.lnavi li a:visited {
  color: purple;
}
.lnavi li a:hover {
  background-color: #FFFFFF;
}
.lnavi li.active a,
.lnavi li.active a:hover {
  color: #3300CC;
  background-color: #FFF899;
  background-image: none;
}
.lnavi li a span,
.lnavi li a:hover span,
.lnavi li a.active span,
.lnavi li a.active:hover span {
  display: block;
}
.lnavi#lnavi2 {
  background-color: #F1F6F9;
}
.lnavi#lnavi2 h3 {
  background: #DDE9F0;
  color: #052E62;
}
.lnavi#lnavi2 ul {
  border-bottom: 2px solid #6A82A1;
}
.lnavi#lnavi2 li a {
  border-top: 1px dotted #6A82A1;
}
.lnavi#lnavi2 li.active a,
.lnavi#lnavi2 li.active a:hover {
  color: #CC3300;
}

#lnavi-top {
  border-top: 2px #6A82A1 solid;
}

.leftarea {
  width: 179px;
  padding-top: 0;
}

.mypage_user {
  float: none;
  border-radius: 5px;
  margin: 15px 15px 0px 0;
  padding: 10px;
  border: none;
  font-size: 16px;
  color: #333333;
  width: auto;
  background: #FFFFDD;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}

.mypage_id {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}
.mypage_id li {
  font-size: 12px;
  margin-bottom: 0;
}
.mypage_id br {
  display: none;
}
.mypage_id span {
  font-size: 16px;
  font-weight: 600;
  display: inline-block;
  text-align: right;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-right: 0;
  color: #ee5500;
  font-weight: bold;
}

@media (max-width: 767px) {
  .mypage_user {
    border-radius: 0;
    margin: 0;
    padding: 15px 20px 10px;
    width: 100%;
  }
  .mypage_user h3 {
    margin: 0;
  }

  .mypage_id {
    margin-top: 5px;
  }

  .leftarea {
    position: fixed;
    width: 100vw;
    top: 55px;
    right: 0;
    z-index: 1;
    padding: 0px;
    border-bottom: 1px solid #CCCCCC;
    transition: all 0.2s;
    transform: translateY(-150vh);
  }
  .leftarea .lnavi_inner {
    position: relative;
    overflow-y: scroll;
    height: calc( 100vh - 55px);
  }

  ul.mypage_navi {
    margin: 0 10px 25px;
    padding: 0;
  }
  ul.mypage_navi li {
    margin: 0;
    padding: 0;
    list-style: none;
    border-bottom: 2px solid #ECF3EC;
  }
  ul.mypage_navi a {
    display: block;
    text-decoration: none;
    padding: 3px 5px 3px 17px;
    background: url("../images/arrow.gif") 5px center no-repeat;
  }
  ul.mypage_navi a:hover {
    display: block;
    text-decoration: underline;
    background-color: #ECF3EC;
  }
  ul.mypage_navi a span {
    color: #FF0000;
  }

  .leftarea_top {
    display: none;
  }

  .lnavi h3 {
    display: none;
  }
  .lnavi h3.nochild {
    display: block;
    padding: 0;
    margin: 0;
    background: #FFFFFF !important;
  }
  .lnavi h3.nochild a {
    position: relative;
    display: block;
    padding: 8px 7px 8px 10px;
    background: #FFFFFF;
    color: #333333;
    text-decoration: none;
    font-size: 0.85rem;
    border-bottom: 1px dotted #2C7532;
  }
  .lnavi h3.nochild a:before {
    content: "";
    display: inline-block;
    position: absolute;
    right: 8px;
    top: 12px;
    width: 7px;
    height: 7px;
    border: 1px solid #333333;
    border-color: #333333 #333333 transparent transparent;
    transform: rotateZ(45deg);
  }
  .lnavi h3:before {
    display: none;
  }
  .lnavi ul {
    border: none !important;
  }
  .lnavi li {
    display: block;
    font-size: 0.85rem;
  }
  .lnavi li a {
    position: relative;
    display: block;
    padding: 8px 7px 8px 10px;
  }
  .lnavi li a:before {
    content: "";
    display: inline-block;
    position: absolute;
    left: auto;
    right: 8px;
    top: 13px;
    width: 7px;
    height: 7px;
    border: 1px solid #333333;
    border-color: #333333 #333333 transparent transparent;
    transform: rotateZ(45deg);
  }
  .lnavi li.extralink a {
    background-color: #11662A;
    color: #FFFFFF !important;
    margin: 0 -10px 0 -10px;
    padding-left: 20px;
  }
  .lnavi li.extralink a:before {
    right: 20px;
    border: 1px solid #FFFFFF;
    border-color: #FFFFFF #FFFFFF transparent transparent;
  }
  .lnavi#lnavi2 {
    background: #FFFFFF;
    padding: 0 10px 0px;
    border-top: 1px solid #2C7532;
  }
  .lnavi#lnavi2 li a {
    color: #333333;
    border-top: none;
    border-bottom: 1px dotted #2C7532;
  }
}
#toggle-sidebar {
  display: none;
  z-index: 10;
}

@media (max-width: 767px) {
  #toggle-sidebar {
    display: block;
    width: 50px;
    height: 49px;
    position: fixed;
    top: 6px;
    right: 0;
    color: #FFFFFF;
    background-color: #cc9900;
    background-repeat: no-repeat;
    background-position: center 8px;
    background-image: url("/img/common/sp_header_menu.svg");
    background-size: auto 18px;
  }
  #toggle-sidebar span {
    display: block;
    width: 100%;
    height: 50px;
    padding-top: 30px;
    text-align: center;
    line-height: 0.9;
    background-image: url("/img/common/sp_header_menu_title.svg");
    background-size: auto 8px;
    background-position: center 34px;
    background-repeat: no-repeat;
  }

  .js-sidebar-opened #toggle-sidebar {
    background-image: url("/img/common/sp_header_close.svg");
  }
  .js-sidebar-opened #toggle-sidebar span {
    background-image: url("/img/common/sp_header_close_title.svg");
    background-size: auto 9px;
  }
  .js-sidebar-opened .leftarea {
    width: 100vw;
    background: #FFFFFF;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    transform: translateX(0);
  }
}
/**
 * Main Layout
 */
#container {
  width: 964px;
  text-align: left;
  margin: 0 auto;
  padding: 0 0 0;
}

#main_column {
  display: block;
  position: relative;
  float: right;
  background: #fff;
  margin-top: 15px;
  padding: 15px;
  border-radius: 10px;
  width: 785px;
  box-shadow: -2px 1px 8px rgba(0, 0, 0, 0.25);
  z-index: 1;
}

#content {
  clear: both;
  margin: 0;
  padding: 20px;
  height: auto !important;
  min-height: 80vh;
}
#content #center {
  width: 90%;
  margin: 0 auto;
}

.cate-mypage #content {
  padding: 20px !important;
}

@media (max-width: 767px) {
  .cate-mypage #content {
    padding: 15px 15px 0 !important;
  }

  #main_column {
    box-shadow: none !important;
    padding: 0 !important;
    width: 100% !important;
    padding: 0;
    border-radius: 0;
    margin: 0;
    min-height: calc( 100vh - 150px);
  }

  #container {
    max-width: 100%;
    overflow-x: hidden;
    width: auto !important;
    padding-bottom: 0;
  }

  #content {
    padding: 10px;
    min-height: 0 !important;
  }

  #content h2 {
    font-size: 1rem;
    margin-bottom: 15px;
  }

  #content h3 {
    font-size: 0.9rem;
    margin-bottom: 10px;
  }

  h3.subhead {
    background-color: #99CC99;
    border-radius: 0;
    padding: 5px 10px;
    text-align: center;
  }
}
td.confirmimages {
  width: 220px;
}
td.confirmimages img {
  width: 100px;
  margin-right: 5px;
}

.cate_tabcontent {
  clear: both;
  background: #ffffff;
  border: 2px solid #00ae2d;
  padding: 25px;
  margin-bottom: 50px;
}
.cate_tabcontent p {
  font-size: 14px;
}
.cate_tabcontent p,
.cate_tabcontent dl {
  clear: both;
}
.cate_tabcontent h3 {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 3px;
  padding-bottom: 3px;
  border-radius: 5px;
  clear: both;
  background: #00ae2d;
  color: #ffffff;
  font-size: 18px;
  line-height: 36px;
}
.cate_tabcontent h3.icn_info {
  padding-left: 45px;
  background: #00ae2d url("/img/mypage/mp_icn_info.png") no-repeat 15px 7px;
}
.cate_tabcontent h3.icn_photo {
  padding-left: 45px;
  margin-top: 40px;
  background: #00ae2d url("/img/mypage/mp_icn_photo.png") no-repeat 10px 10px;
}

@media (max-width: 767px) {
  .cate_tabcontent {
    padding: 10px;
    margin-bottom: 10px;
  }
  .cate_tabcontent p {
    font-size: 0.8rem;
  }
  .cate_tabcontent p strong {
    font-size: 0.8rem;
  }
  .cate_tabcontent h3 {
    padding: 7px 5px 5px;
    border-radius: 3px;
    font-size: 0.9rem;
    line-height: 1.5;
    text-align: center;
    background-position: 0 5px;
  }
  .cate_tabcontent h3.icn_info {
    text-align: left;
    background-size: 15px auto;
  }
  .cate_tabcontent h3.icn_photo {
    text-align: left;
    margin-top: 20px;
    background-size: 20px auto;
  }
}
/**********************/
/* !マイページ */
/**********************/
.mp_tabui ul {
  padding: 0;
}
.mp_tabui ul li {
  width: 20%;
  margin-right: 0;
  padding: 0;
  float: left;
  list-style: none;
  font-size: 16px;
  font-weight: bold;
  background-repeat: no-repeat;
  text-align: center;
  position: relative;
  height: 70px;
  line-height: 1.5;
}
.mp_tabui ul li:before, .mp_tabui ul li:after {
  z-index: 1;
  position: absolute;
  content: "";
  background: #00AE2D;
  width: 20px;
  height: 35px;
  box-shadow: 3px 0 0 #FFFFFF;
}
.mp_tabui ul li:before {
  top: 0;
  right: -3px;
  transform: skewX(15deg);
}
.mp_tabui ul li:after {
  right: -3px;
  bottom: 0;
  transform: skewX(-15deg);
}
.mp_tabui ul li.visit {
  background-color: #d3f5dc;
}
.mp_tabui ul li.active {
  background-color: #00ae2d;
}
.mp_tabui ul li.close {
  background-color: #c9c9c9;
}
.mp_tabui ul li a,
.mp_tabui ul li span {
  display: block;
  text-decoration: none;
  color: initial;
  padding-top: 40px !important;
  padding-bottom: 10px !important;
  line-height: 1.5 !important;
}
.mp_tabui ul li.visit a,
.mp_tabui ul li.visit span {
  color: #00ae2d;
}
.mp_tabui ul li.visit:before,
.mp_tabui ul li.visit:after {
  background: #D8F4DC;
}
.mp_tabui ul li.active a,
.mp_tabui ul li.active span,
.mp_tabui ul li.close a,
.mp_tabui ul li.close span {
  color: #ffffff;
}
.mp_tabui ul li.close:before,
.mp_tabui ul li.close:after {
  background: #CCCCCC;
}
.mp_tabui ul li:last-of-type:before,
.mp_tabui ul li:last-of-type:after {
  display: none;
}
.mp_tabui ul li#tab-flow-1 {
  background-image: url("/img/mypage/mp_tabui_icn_apply_wh.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-2 {
  background-image: url("/img/mypage/mp_tabui_icn_payment_wh.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-3 {
  background-image: url("/img/mypage/mp_tabui_icn_info_wh.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-4 {
  background-image: url("/img/mypage/mp_tabui_icn_prepare_wh.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-5 {
  background-image: url("/img/mypage/mp_tabui_icn_complete_wh.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-1.visit {
  background-image: url("/img/mypage/mp_tabui_icn_apply.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-2.visit {
  background-image: url("/img/mypage/mp_tabui_icn_payment.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-3.visit {
  background-image: url("/img/mypage/mp_tabui_icn_info.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-4.visit {
  background-image: url("/img/mypage/mp_tabui_icn_prepare.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-5.visit {
  background-image: url("/img/mypage/mp_tabui_icn_complete.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-1.close {
  background-image: url("/img/mypage/mp_tabui_icn_apply_wh.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-2.close {
  background-image: url("/img/mypage/mp_tabui_icn_payment_wh.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-3.close {
  background-image: url("/img/mypage/mp_tabui_icn_info_wh.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-4.close {
  background-image: url("/img/mypage/mp_tabui_icn_prepare_wh.png");
  background-position: center 10px;
}
.mp_tabui ul li#tab-flow-5.close {
  background-image: url("/img/mypage/mp_tabui_icn_complete_wh.png");
  background-position: center 10px;
}

@media (max-width: 767px) {
  .mp_tabui ul {
    padding: 0;
  }
  .mp_tabui ul li {
    font-size: 0.7rem;
    font-weight: bold;
    height: 60px;
  }
  .mp_tabui ul li:before, .mp_tabui ul li:after {
    width: 10px;
    height: 30px;
    box-shadow: 2px 0 0 #FFFFFF;
  }
  .mp_tabui ul li a,
.mp_tabui ul li span {
    padding-top: 40px !important;
    padding-bottom: 0px !important;
  }
  .mp_tabui ul li#tab-flow-1,
.mp_tabui ul li#tab-flow-1.visit,
.mp_tabui ul li#tab-flow-1.close {
    background-size: auto 20px;
    background-position: center 10px;
  }
  .mp_tabui ul li#tab-flow-2,
.mp_tabui ul li#tab-flow-2.visit,
.mp_tabui ul li#tab-flow-2.close {
    background-size: auto 20px;
    background-position: center 10px;
  }
  .mp_tabui ul li#tab-flow-3,
.mp_tabui ul li#tab-flow-3.visit,
.mp_tabui ul li#tab-flow-3.close {
    background-size: auto 20px;
    background-position: center 10px;
  }
  .mp_tabui ul li#tab-flow-4,
.mp_tabui ul li#tab-flow-4.visit,
.mp_tabui ul li#tab-flow-4.close {
    background-size: auto 20px;
    background-position: center 10px;
  }
  .mp_tabui ul li#tab-flow-5,
.mp_tabui ul li#tab-flow-5.visit,
.mp_tabui ul li#tab-flow-5.close {
    background-size: auto 20px;
    background-position: center 10px;
  }
}
.mybtn {
  display: inline-block;
  height: 32px;
  line-height: 32px;
}
.mybtn a {
  text-decoration: none;
}
.mybtn a:hover {
  background: #ffffff;
  opacity: 0.8;
}

.area_photoupload {
  display: hidden;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  position: fixed;
}

.area_photoupload.show {
  display: block;
  z-index: 1;
  background: rgba(0, 0, 0, 0.3);
}

.area_photoupload_inner {
  margin: 10%;
  background: #FFFFFF;
  padding: 40px;
  width: auto;
}

.links > a {
  color: #636b6f;
  padding: 0 25px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1rem;
  text-decoration: none;
  text-transform: uppercase;
}

.m-b-md {
  margin-bottom: 30px;
}

.vue-dropzone {
  margin-bottom: 30px;
}

.vue-image {
  margin-right: 10px;
}

.vue-image:last-child {
  margin-right: 0;
}

/*写真の撮り方*/
table#photoTable {
  text-align: center;
  margin: 0 auto;
}
table#photoTable caption {
  text-align: center;
  font-weight: bold;
  font-size: 125%;
  color: #CC0000;
}
table#photoTable td {
  text-align: center;
  padding: 0 3px 5px;
}

@media (max-width: 767px) {
  table#photoTable {
    display: block;
  }
  table#photoTable caption {
    display: block;
    padding: 5px 0 5px;
    font-size: 1rem;
  }
  table#photoTable tr {
    display: block;
  }
  table#photoTable td {
    display: block;
    float: left;
    width: 47%;
    margin-right: 3%;
    font-size: 0.7rem;
    padding-bottom: 20px;
  }
  table#photoTable td img {
    width: auto;
    height: auto;
  }
}
.alertTable {
  background-color: #EFEFEF;
  width: 100%;
  line-height: 1.3;
  margin: 35px 0 10px;
}
.alertTable caption {
  text-align: center;
  font-weight: bold;
  font-size: 114%;
}
.alertTable th {
  border: 3px solid #FFFFFF;
  border-left: none;
  padding: 7px 5px;
  text-align: center;
  color: #FFFFFF;
  width: 120px;
}
.alertTable td {
  border: 3px solid #FFFFFF;
  border-right: none;
  padding: 7px 5px;
}
.alertTable th.stepcommon {
  background-color: #006600;
}
.alertTable th.step1 {
  background-color: #FF0000;
}
.alertTable th.step2 {
  background-color: #FF6666;
}
.alertTable th.step3 {
  background-color: #FF9999;
}
.alertTable span {
  font-size: 114%;
  font-weight: bold;
}

#photo_win {
  border: 1px solid #FF6600;
  padding: 10px 20px;
  margin: 20px 0 0;
}
#photo_win h3 {
  color: #FF6600;
  font-size: 125%;
  text-align: center;
}
#photo_win p {
  margin-bottom: 10px;
}
#photo_win strong {
  color: #FF6600;
}
#photo_win ul {
  padding-left: 0;
  margin-left: 0;
  margin-bottom: 0;
}
#photo_win li {
  list-style: none;
}

#stepkids,
#stepbaby {
  position: relative;
  background-color: #F7FFF7;
  margin: 35px 0 20px;
  padding: 5px 15px;
  border: 1px solid #CCCCCC;
}
#stepkids #stepkids_img,
#stepkids #stepbaby_img,
#stepbaby #stepkids_img,
#stepbaby #stepbaby_img {
  position: absolute;
  right: 15px;
  top: 50px;
  width: 300px;
  border: 10px solid #FFFFFF;
}
#stepkids h3,
#stepbaby h3 {
  text-align: center;
  font-size: 125%;
  color: #006600;
  margin: 0 0 10px;
  border-bottom: 1px solid #CCCCCC;
}
#stepkids ul,
#stepkids ol,
#stepbaby ul,
#stepbaby ol {
  margin-right: 320px;
}
#stepkids li,
#stepkids li,
#stepbaby li,
#stepbaby li {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 10px;
}

#stepkids {
  min-height: 300px;
}

#stepbaby {
  min-height: 570px;
}

@media (max-width: 767px) {
  #stepkids,
#stepbaby {
    margin: 20px 0;
    padding: 5px;
    min-height: 0;
  }
  #stepkids h3,
#stepbaby h3 {
    font-size: 1rem;
    padding-bottom: 5px;
  }
  #stepkids ul,
#stepkids ol,
#stepbaby ul,
#stepbaby ol {
    margin-right: 0;
    font-size: 0.8rem;
  }
  #stepkids #stepkids_img,
#stepkids #stepbaby_img,
#stepbaby #stepkids_img,
#stepbaby #stepbaby_img {
    position: relative;
    right: 0;
    top: 0;
    width: 100%;
    border: 5px solid #FFFFFF;
  }
}
.pattern li {
  width: 275px;
}

#stepcommon {
  margin-top: 20px;
}

h2.stepcommon {
  margin-bottom: 10px;
  padding: 5px 5px 5px 8px !important;
  font-size: 1.2rem;
  text-align: left;
  line-height: 30px;
  background: #00ae2d;
  color: #ffffff;
  border-radius: 4px;
}
h2.stepcommon p {
  font-size: 13px;
  text-align: left !important;
  line-height: 1.5;
}
h2.stepcommon ul {
  list-style: none;
  margin-top: 0 !important;
}
h2.stepcommon p,
h2.stepcommon ul li {
  font-size: 13px;
  line-height: 1.5;
}

#photo_prepare {
  clear: both;
  text-align: center;
  margin: 0 0 10px;
}
#photo_prepare p {
  font-size: 13px;
  text-align: left !important;
}
#photo_prepare p.ngex {
  text-align: center !important;
}
#photo_prepare ul {
  list-style: none;
  padding: 0;
}
#photo_prepare ul li {
  width: 290px;
  margin-bottom: 20px;
}
#photo_prepare ul li:nth-child(1) {
  float: left;
}
#photo_prepare ul li:nth-child(2) {
  float: right;
}
#photo_prepare .boxLine {
  clear: both;
}
#photo_prepare .boxLine img {
  margin-left: 20px;
}
#photo_prepare .boxLine .indent {
  font-weight: 600;
}

.plan a {
  display: block;
  text-decoration: none;
}
.plan a:hover {
  opacity: 0.8;
}
.plan h3 {
  position: absolute;
  width: 270px;
  margin: 162px 0 0 10px;
  font-size: 16px;
  font-weight: 600;
  line-height: 36px;
  background: #ff6600;
  color: #ffffff;
  border-radius: 5px;
}
.plan h3:after {
  content: "▶︎";
  color: #ffffff;
  position: absolute;
  right: 5px;
  font-size: 10px;
  margin-left: 5px;
}
.plan img {
  width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  #content h2.stepcommon {
    font-size: 0.9rem;
  }

  /* Page: 写真コンテンツ */
  #stepcommon h2 {
    margin-top: 20px;
    margin-bottom: 10px;
  }
  #stepcommon p {
    font-size: 0.8rem;
  }
  #stepcommon ul.detail_point {
    list-style: none;
    border-top: 1px solid #CCCCCC;
    margin-top: 10px;
    padding: 10px 0 0;
  }
  #stepcommon ul.detail_point li {
    float: left;
    /*width: 30%;
      margin-right: 5%;*/
    margin-bottom: 10px;
  }

  .boxLine {
    padding: 10px 15px;
    margin: 20px 0;
  }

  #photo_prepare {
    margin: 20px 0 10px;
  }
  #photo_prepare p {
    font-size: 0.8rem;
  }
  #photo_prepare ul {
    list-style: none;
    padding: 0;
  }
  #photo_prepare ul li {
    width: 100%;
    margin-bottom: 20px;
  }
  #photo_prepare ul li:nth-child(1),
#photo_prepare ul li:nth-child(2) {
    float: none;
  }
  #photo_prepare .boxLine {
    padding: 10px;
  }
  #photo_prepare .boxLine img {
    margin: 10px;
  }
  .plan a {
    position: relative;
  }
  .plan h3 {
    position: absolute;
    width: auto;
    margin: 0;
    font-size: 0.9rem;
    bottom: 15px;
    left: 10px;
    right: 10px;
  }
  .plan h3:after {
    right: 8px;
    font-size: 0.8rem;
    margin-left: 0;
  }
  .plan a > p {
    margin-bottom: 0;
  }
}
.ng_pattern {
  padding: 0;
  list-style: none;
  margin-top: 0;
}
.ng_pattern li {
  position: relative;
  min-height: 110px;
  padding-top: 10px;
}
.ng_pattern .ng_pattern li + li {
  margin-top: 10px;
  padding-top: 10px;
}
.ng_pattern li p {
  margin-left: 120px;
  margin-bottom: 0;
  font-size: 0.6rem;
}
.ng_pattern li h3 {
  font-size: 18px;
  padding: 0;
  margin: 10px 0 10px 120px;
}
.ng_pattern .ngex_img {
  position: absolute;
  margin: 0;
}
.ng_pattern .ngex_img img {
  width: 100px;
  height: 100px;
}

@media (max-width: 767px) {
  .ng_pattern li {
    clear: both;
    position: relative;
    min-height: 90px;
  }
  .ng_pattern li + li {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px dotted #CCCCCC;
  }
  .ng_pattern li p {
    margin-left: 90px;
    margin-bottom: 0;
    font-size: 0.6rem;
  }
  .ng_pattern li h3 {
    font-size: 0.85rem;
    padding: 0;
    margin-top: 0;
    margin-left: 90px !important;
    margin-bottom: 0;
  }
  .ng_pattern p.ngex_img {
    position: absolute;
    float: none;
    width: 80px;
    margin: 0;
  }
  .ng_pattern .ngex_img img {
    width: 80px;
    height: 80px;
  }
}
/* NG */
.ng_dl_first,
.ng_dl {
  float: left;
  width: 142px;
  margin-left: 20px;
}

.ng_dl_first {
  clear: both;
  margin-left: 10px;
}

/*HOME*/
#step1 p,
#step2 p,
.detail_point li {
  font-size: 13px;
}

.data_note,
.print_note {
  clear: both;
  border: 1px solid #cccccc;
  border-radius: 5px;
  padding: 15px;
}

.print_note {
  margin-top: 30px;
  position: relative;
  min-height: 590px;
}
.print_note .text_note {
  padding-top: 5px;
  margin: 0 0 0 415px;
  padding-left: 0;
}

p.photo_note {
  float: left;
  padding-top: 20px;
}
p.photo_note img {
  width: 400px;
  height: auto;
  margin-right: 8px;
}

.text_note {
  list-style: none;
  font-size: 14px;
  font-weight: 600;
  margin-top: 10px;
}
.text_note li {
  margin: 0;
}
.text_note li span {
  color: #ee5500;
  font-size: 17px;
  font-weight: 800;
}

ul.detail_point {
  list-style: none;
  padding: 10px 15px 0;
}
ul.detail_point li {
  float: left;
  /*width: 30%;
  margin-right: 5%;*/
  margin-bottom: 10px;
}
ul.detail_point li strong {
  color: #ee5500;
}

.step_margin {
  padding: 20px;
}
.step_margin li {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 10px;
}
.step_margin .data_note {
  position: relative;
  margin: 30px 0 20px;
  min-height: 340px;
}
.step_margin ul.detail_point {
  margin: 0;
  padding: 0;
}
.step_margin ul.detail_point li {
  float: none;
}
.step_margin .data_note .text_note {
  margin: 0 0 0 415px;
  padding-left: 0;
}
.step_margin .photo_note {
  position: absolute;
  top: 35px;
  width: 400px;
}
.step_margin .boxLine {
  margin-bottom: 20px;
}
.step_margin .boxRed {
  margin: 20px 0;
  padding: 20px 25px;
}
.step_margin .boxRed > p:last-of-type {
  margin-bottom: 0;
}
.step_margin .print_note {
  margin-bottom: 20px;
}
.step_margin h4.ystep {
  line-height: 28px;
  background: #d3f5dc;
  color: #222222;
  border-radius: 4px;
  position: relative;
  padding: 5px 5px 5px 50px;
}
.step_margin h4.ystep:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  background: #007b20;
  color: #ffffff;
  border-radius: 4px 0 0 4px;
  margin-right: 8px;
  font-size: 18px;
  padding: 5px;
  text-align: center;
}

h4#y_conf:before {
  content: "❶";
}

h4#y_cam:before {
  content: "❷";
}

h4#y_shot:before {
  content: "❸";
}

@media (max-width: 767px) {
  .boxRed {
    margin: 0;
  }
  .boxRed p {
    font-size: 0.9rem;
    font-weight: bold;
  }
  .boxRed dl dt,
.boxRed dl dd {
    font-weight: bold;
    font-size: 0.9rem;
  }

  ul.detail_point {
    padding: 10px 0 0;
  }

  .step_margin {
    padding: 10px !important;
  }
  .step_margin .boxRed {
    padding: 15px;
  }
  .step_margin .photo_note {
    position: relative;
    width: 100%;
    top: 0;
  }
  .step_margin .data_note .text_note,
.step_margin .print_note .text_note {
    margin: 10px 0 0 !important;
  }
  .step_margin .text_note {
    list-style: none;
    font-size: 14px;
    font-weight: 600;
    padding: 0 0 0 10px;
    margin: 10px 0 0;
  }
  .step_margin .text_note li {
    position: relative;
    margin: 0 0 5px !important;
    padding-left: 15px;
    font-size: 0.9rem;
    font-weight: normal;
  }
  .step_margin .text_note li:before {
    content: "- ";
    color: #CCCCCC;
    position: absolute;
    left: 0;
  }
  .step_margin .text_note li span {
    font-size: 0.9rem;
  }
  .step_margin h4.ystep {
    font-size: 0.9rem;
    padding: 3px 3px 3px 45px;
  }
  .step_margin h4.ystep:before {
    font-size: 0.9rem;
    width: 35px;
    padding: 3px 0;
  }
}
.pkg .clrRed {
  line-height: 1.5;
  color: #ee5500 !important;
}

.photo_nav {
  text-align: center;
}
.photo_nav ul {
  list-style: none;
  width: auto;
  height: 40px;
  margin: 20px auto 0;
  padding: 0;
  background: #d3f5dc;
  display: inline-block;
}
.photo_nav ul li {
  float: left;
  font-size: 13px;
  line-height: 40px;
  text-align: center;
}
.photo_nav ul li.active {
  background: #006600;
  color: #ffffff;
  font-weight: 600;
  padding: 0 18px;
}
.photo_nav ul li a {
  display: block;
  text-decoration: none;
  font-weight: 600;
  padding: 0 18px 0 30px;
  position: relative;
  color: #0033CC;
}
.photo_nav ul li a:hover {
  background: #00ae2d;
  color: #ffffff;
  font-weight: 600;
}
.photo_nav ul li a:before {
  content: "▶︎";
  font-size: 6px;
  position: absolute;
  left: 14px;
}

.photo_subnav {
  display: block;
  padding: 20px;
  font-size: 16px;
  text-align: center;
  margin-top: 0;
}
.photo_subnav a {
  display: inline-block;
  padding: 5px 20px;
  border-left: 1px solid #666666;
}
.photo_subnav a + a {
  border-right: 1px solid #666666;
}

@media (max-width: 767px) {
  .photo_nav {
    text-align: center;
  }
  .photo_nav ul {
    width: 100%;
    height: auto;
    margin: 0;
    display: block;
  }
  .photo_nav ul li {
    float: none;
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
    margin-bottom: 0;
    border-bottom: 1px solid #FFFFFF;
  }
  .photo_nav ul li.active {
    padding: 8px 10px 8px 30px;
  }
  .photo_nav ul li a {
    padding: 8px 10px 8px 30px;
    position: relative;
    color: #0033CC;
    font-size: 0.9rem;
  }
  .photo_nav ul li a:before {
    content: "▶︎";
    font-size: 0.6rem;
    left: 14px;
    top: 10px;
  }

  .photo_subnav {
    padding: 20px 0;
    text-align: center;
  }
  .photo_subnav a {
    font-size: 0.85rem;
    display: inline-block;
    padding: 3px 10px;
    border-left: 1px solid #666666;
    margin: 0;
  }
  .photo_subnav a + a {
    border-right: 1px solid #666666;
  }
}
#step1 {
  margin-top: 30px;
}
#step1 .room {
  position: relative;
  min-height: 400px;
}
#step1 .room strong {
  color: #ee5500;
}
#step1 .room .room_img {
  position: absolute;
  right: 10px;
  top: 0;
}
#step1 .room .room_content {
  margin-right: 400px;
  padding-top: 10px;
}
#step1 .room .room_content ul {
  margin-top: 0;
  padding-left: 0;
  list-style: none;
}
#step1 .room li {
  margin-bottom: 23px;
}
#step1 .room li:nth-child(4) {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  #step1 {
    margin-top: 10px;
  }
  #step1 .room {
    min-height: 0;
  }
  #step1 .room .room_img {
    position: relative;
    right: 0;
  }
  #step1 .room .room_content {
    margin-right: 0;
    padding-top: 10px;
  }
}
ul.detail_point li:nth-child(3) {
  /*margin-right: 0;*/
}

.address_block,
#step1 #address,
#step2 #address {
  font-size: 14px;
  width: 60%;
  margin: 20px auto;
  padding: 20px;
  background: #d3f5dc;
  font-weight: bold;
}
.address_block h3,
#step1 #address h3,
#step2 #address h3 {
  margin-top: 0;
  margin-bottom: 10px;
}
.address_block p:last-of-type,
#step1 #address p:last-of-type,
#step2 #address p:last-of-type {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  #step2 {
    position: relative;
  }

  .address_block,
#step1 #address,
#step2 #address {
    width: auto !important;
    padding: 10px;
    margin-bottom: 20px;
  }
  .address_block h3,
#step1 #address h3,
#step2 #address h3 {
    font-size: 0.9rem;
  }
  .address_block p,
#step1 #address p,
#step2 #address p {
    font-size: 0.8rem;
  }
}
.btn_printphoto {
  line-height: 1.5;
  text-align: center;
  width: 360px;
  margin: 20px auto 10px;
}
.btn_printphoto a {
  display: block;
  background: #dd0000 url(/img/photograph/pdficon192.png) no-repeat left 5px center;
  background-size: contain;
  line-height: 40px;
  border-radius: 5px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  position: relative;
}
.btn_printphoto a:hover {
  opacity: 0.8;
}
.btn_printphoto a:after {
  content: "▶︎";
  font-size: 8px;
  margin-left: 10px;
  position: absolute;
  right: 10px;
}

@media (max-width: 767px) {
  .btn_printphoto {
    width: auto;
    font-size: 0.85rem;
  }
}
form h1 {
  padding-top: 10px;
}

/* 進行画像 */
.infocheck_bar {
  width: 100%;
  margin: 20px 0;
}

.infocheck_bar caption {
  font-size: 16px;
  color: #CC0000;
}

.infocheck_bar td {
  padding: 3px 0;
  font-size: 16px;
  background-color: #EFEFEF;
  text-align: center;
  vertical-align: middle;
}

.infocheck_bar td.finstep15 {
  width: 15%;
}

.infocheck_bar td.finstep30 {
  width: 30%;
}

.infocheck_bar td.finstep50 {
  width: 50%;
}

.infocheck_bar td.finstep70 {
  width: 60%;
}

.infocheck_bar td.finstep80 {
  width: 70%;
}

.infocheck_bar td.finstep90 {
  width: 85%;
}

.infocheck_bar td.finstep15,
.infocheck_bar td.finstep30,
.infocheck_bar td.finstep50,
.infocheck_bar td.finstep70,
.infocheck_bar td.finstep80,
.infocheck_bar td.finstep90 {
  background-color: #CCAA00;
  background: -moz-linear-gradient(left, #F1F1D1, #CCAA00);
  /* Firefox用 */
  background: -webkit-gradient(linear, left top, right top, from(#F1F1D1), to(#CCAA00));
  /* Safari,Google Chrome用 */
}

.infocheck_bar td.activestep,
.infocheck_bar td.activestep100 {
  width: 22%;
  color: #FFFFFF;
  background-color: #CC0000;
  background: -moz-linear-gradient(left, #CCAA00, #CC0000);
  /* Firefox用 */
  background: -webkit-gradient(linear, left top, right top, from(#CCAA00), to(#CC0000));
  /* Safari,Google Chrome用 */
  border-radius: 0 5px 5px 0;
}

.infocheck_bar td.activestep100 {
  width: auto;
}

.infocheck_head {
  margin: 10px 0 0;
}

.infocheck_box p {
  font-size: 14px;
  background-color: #F6F9F6;
  padding: 25px 30px;
}
.infocheck_box h2 {
  margin: 45px 0 10px;
}
.infocheck_box fieldset p {
  background-color: transparent;
  padding: 0;
}

label.edit,
td .edit {
  display: block;
  text-align: right;
  font-size: 12px;
  margin: 0 0 5px 5px;
}

label.edit span,
td .edit span {
  color: #CC0000;
  text-decoration: underline;
}

label.edit span:hover,
td .edit span:hover {
  text-decoration: none;
  cursor: pointer;
}

.formTable .editarea {
  display: none;
  opacity: 0;
  padding: 8px;
  margin-top: 10px;
  font-weight: bold;
  background-color: #FFFAFA;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  box-shadow: 0 0 5px #CC3333;
  -moz-box-shadow: 0 0 5px #CC3333;
  -webkit-box-shadow: 0 0 5px #CC3333;
}

.formTable.editmode .editarea {
  opacity: 1;
  display: block;
}

.formTable .editarea hr {
  border: 1px solid #DDAAAA;
  border-width: 1px 0 0;
  margin: 5px 0 0px;
}

/*form h1{ margin-top: 400px;}*/
.editarea .w100 {
  width: 90%;
}

.editmode .defaultval {
  color: #CC0000;
  text-decoration: line-through;
}

fieldset {
  position: relative;
}

label.edit {
  display: inline-block;
  position: absolute;
  right: 0;
  top: 5px;
}
label.edit span {
  display: inline-block;
  padding: 4px 12px;
  background: #CC0000;
  line-height: 1.5;
  color: #FFFFFF;
  border-radius: 15px;
  text-decoration: none;
  cursor: pointer;
  font-size: 15px;
  box-shadow: 2px 2px 3px #999999;
}
label.edit span:hover {
  background-color: #ff3333;
  box-shadow: none;
}
label.edit i {
  position: relative;
  font-size: 16px;
  margin-right: 7px;
}

.editmode .note {
  font-weight: normal;
  display: inline-block;
  padding-bottom: 0px;
  padding-top: 3px;
  line-height: 1.5;
  font-size: 14px;
  color: #cc6666;
  white-space: nowrap;
}

.formTable td textarea {
  font-size: 14px;
  padding: 10px;
  width: 98%;
  line-height: 1.8;
}
.formTable td textarea[name=final_message] {
  min-height: 400px;
}

.ltxt.boxRed {
  font-size: 16px;
  margin-bottom: 40px;
}

.v_hidechild {
  display: none;
}

@media (max-width: 767px) {
  *.infocheck_head {
    margin: 0;
    font-size: 1.2rem;
    text-align: center;
    padding: 10px;
  }

  .infocheck_box p {
    font-size: 0.8rem;
    padding: 15px;
  }
  .infocheck_box h2 {
    margin: 30px 0 10px;
  }

  .infocheck_fieldset {
    margin-top: 30px;
  }

  label.edit {
    top: -10px;
  }

  .has_country_selection select {
    max-width: 100%;
    width: 100%;
  }
}
.hiddenform,
.hiddenTable {
  display: none;
}

.cate-mypage #content {
  padding: 5px 22px 0 22px;
}
.cate-mypage #content #center {
  width: 95%;
}

.page-mypage-reservation label + .btn:link,
.page-mypage-reservation label + .btn {
  border-radius: 5px;
  padding: 2px 5px;
  font-size: 11px;
  margin-left: 5px;
}

/* コース選択 */
h3.subheader {
  font-size: 18px;
  color: #006600;
  font-weight: bold;
  margin-top: 20px;
  margin-bottom: 0;
}

.cart_flow {
  width: 100%;
  margin-top: 10px;
}
.cart_flow td {
  font-size: 14px;
  vertical-align: top;
  position: relative;
}
.cart_flow td .line {
  border: 1px solid #CCCCCC;
  border-width: 1px 0;
  padding: 5px;
}
.cart_flow td .line strong {
  font-size: 16px;
  color: red;
}
.cart_flow td h3 {
  font-size: 18px;
  margin: 0;
  padding: 0;
  text-align: center;
}
.cart_flow td h3 img {
  vertical-align: middle;
  margin-right: 10px;
}
.cart_flow td ul {
  padding-left: 20px;
  color: #CC0000;
}
.cart_flow td .submitLimg {
  text-align: center;
}
.cart_flow td .submitLimg input {
  margin: 0 auto;
}
.cart_flow td .white {
  background-color: #FFFFFF;
  padding: 5px;
  margin: 10px 0 15px;
}
.cart_flow td .white strong {
  color: #CC0000;
}
.cart_flow .edit {
  display: block;
  text-align: right;
  font-size: 12px;
  margin: 0 0 5px 5px;
}
.cart_flow .edit span {
  color: #CC0000;
  text-decoration: underline;
}
.cart_flow .edit span:hover {
  text-decoration: none;
  cursor: pointer;
}
.cart_flow .editarea {
  display: none;
  padding: 8px;
  margin-top: 10px;
  font-weight: bold;
  background-color: #FFFAFA;
  border-radius: 5px;
  box-shadow: 0 0 5px #CC3333;
}

.cart_flowdoc,
.cart_flowweb {
  width: 48.5%;
  background-color: #F2F2F2;
  border: 5px solid #F2F2F2;
  padding: 10px;
}
.cart_flowdoc:hover,
.cart_flowweb:hover {
  background-color: #ECF3EC;
  border: 5px solid #D1E6D1;
}
.cart_flowdoc.disable:hover,
.cart_flowweb.disable:hover {
  background-color: #F2F2F2;
  border: 5px solid #F2F2F2;
}

.cart_flow label.edit {
  position: relative;
}
.cart_flow label.edit span {
  box-shadow: none;
  background: #FFFFFF;
}

.docflowdisable {
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.6);
  color: #FFFFFF;
}
.docflowdisable p {
  position: relative;
  text-align: center;
}

#sendpos_add {
  height: 70px;
  width: 100% !important;
}

@media (max-width: 767px) {
  .cart_flow {
    margin-top: 15px;
  }
  .cart_flow label.edit span {
    font-size: 0.8rem;
    padding: 3px 3px;
  }
  .cart_flow td {
    font-size: 0.8rem;
  }
  .cart_flow td .line strong {
    font-size: 0.78rem;
  }
  .cart_flow td h3 {
    font-size: 1rem;
    text-align: left;
  }
  .cart_flow td h3 img {
    margin-right: 5px;
    height: 30px;
  }
  .cart_flow td ul {
    list-style: none;
    padding-left: 0;
  }
  .cart_flow td ul li {
    position: relative;
    padding-left: 10px;
    font-size: 0.7rem;
  }
  .cart_flow td ul li:before {
    content: "";
    display: inline-block;
    position: absolute;
    width: 3px;
    height: 3px;
    top: 6px;
    left: 2px;
    background: #CC0000;
  }
  .cart_flow td .white {
    padding: 3px;
    margin: 5px 0 5px;
  }
  .cart_flow .edit {
    display: block;
    text-align: right;
    font-size: 12px;
    margin: 0 0 5px 5px;
  }
  .cart_flow .edit span {
    color: #CC0000;
    text-decoration: underline;
  }
  .cart_flow .edit span:hover {
    text-decoration: none;
    cursor: pointer;
  }
  .cart_flow .editarea {
    display: none;
    padding: 8px;
    margin-top: 10px;
    font-weight: bold;
    background-color: #FFFAFA;
    border-radius: 5px;
    box-shadow: 0 0 5px #CC3333;
  }

  .cart_flowweb {
    width: 100%;
    background-color: #F2F2F2;
    padding: 10px;
    margin-bottom: 15px;
  }

  .cart_flowdoc,
.cart_flowweb {
    width: 100%;
    display: block;
    border-width: 0;
    padding: 3px;
  }
  .cart_flowdoc:hover,
.cart_flowweb:hover {
    border-width: 0;
  }
  .cart_flowdoc.disable:hover,
.cart_flowweb.disable:hover {
    border-width: 0;
  }
  .cart_flowdoc .btn,
.cart_flowweb .btn {
    font-size: 0.8rem;
    margin-right: auto;
    padding: 5px 8px;
  }

  #content .cart_flow td h3 {
    font-size: 1rem;
    text-align: left;
  }

  #sendpos_add {
    height: 70px;
    width: 100% !important;
  }
}
table.payTable {
  width: 100%;
}
table.payTable th {
  width: 110px;
}
table.payTable th label {
  font-size: 16px;
  padding: 5px 10px;
  display: block;
  cursor: pointer;
}
table.payTable th label:hover {
  background: #FAFAFA;
}
table.payTable th input {
  margin-right: 10px;
}
table.payTable th p {
  margin: 0px 15px 5px;
  line-height: 1.3;
  font-weight: normal;
}
table.payTable th p.pay_credit {
  display: inline-block;
  background: #DD6666;
  color: #FFFFFF;
  padding: 5px 8px 3px;
  border-radius: 3px;
  font-size: 16px;
}
table.payTable th p.pay_moneyorder {
  display: inline-block;
  background: #5588CC;
  color: #FFFFFF;
  padding: 5px 8px 3px;
  border-radius: 3px;
  font-size: 16px;
}
table.payTable th p.pay_credit strong {
  font-size: 14px;
}
table.payTable td.color {
  background-color: #FCFCFC;
  border: 1px solid #DDDDDD;
  vertical-align: middle;
}
table.payTable tr > th,
table.payTable tr > td {
  padding-bottom: 10px !important;
}
table.payTable table label {
  font-size: 12px;
}
table.payTable table input {
  font-size: 14px;
  padding: 5px;
}
table.payTable table select {
  font-size: 14px;
}

hr {
  clear: both;
}

.dvh_esc_check_box {
  padding: 5px 8px;
  background-color: #F2F2F2;
}
.dvh_esc_check_box .note {
  padding: 0 3px 0;
}

/* 履歴 */
.heading_middle {
  margin-top: 0;
  padding: 0 0 0;
}

* + .heading_middle {
  margin-top: 20px;
  padding: 0 0 0;
}

.historyListTable {
  width: 100%;
}
.historyListTable th,
.historyListTable td {
  padding: 5px;
  vertical-align: top;
  border-top: 1px solid #FFFFFF;
  border-top: 1px solid #CCCCCC;
  text-align: left;
  font-size: 0.75rem;
}
.historyListTable th {
  background-color: #f2f2f2;
  font-weight: normal;
}
.historyListTable td.history_info p {
  margin-bottom: 0;
}
.historyListTable td p,
.historyListTable td strong {
  font-size: 0.75rem;
}

@media (max-width: 767px) {
  .dvh_esc_check_box {
    border: 1px solid #CCCCCC;
    background: #FAFAFA;
    padding: 10px;
  }

  .heading_middle {
    font-size: 0.9rem;
    margin-top: 20px;
    background: #EFEFEF;
    padding: 8px 10px;
  }

  /**
   * Table
   */
  .historyListTable thead {
    display: none;
  }
  .historyListTable th,
.historyListTable td {
    display: block;
    width: 100%;
    border: none;
    padding: 5px 10px;
  }
  .historyListTable td.history_dvyear {
    background: #EFEFEF;
  }
}
.status_message {
  font-size: 14px;
}

/* 当選 */
.winner_title {
  font-size: 18px;
}

/* 予約 */
.statusblock_reserve {
  background-color: #006600;
  padding: 3px 0 1px;
}

.statusblock_reserve h4 {
  margin-top: 10px;
}

.statusblock_reserve span {
  text-decoration: underline;
}

/* 進行 */
.warninguser {
  position: relative;
}

.warninguser:before {
  position: absolute;
  display: block;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.4);
}

.warninguser:after {
  position: absolute;
  content: "お客様の手続は進めることができません。";
  left: 0;
  top: 0;
  width: 100%;
  padding: 60px 20px;
  text-align: center;
  display: block;
  z-index: 2;
  color: #FFFFFF;
  font-size: 28px;
  font-weight: bold;
  text-shadow: 0 0 15px rgba(0, 0, 0, 0.9);
}

.preparephoto_samy {
  border: 1px solid #FFA45E;
  border-radius: 10px;
  padding: 15px 100px 5px 15px;
  min-height: 90px;
  background: url("/img/mypage/pho_samy.png") no-repeat right 5px bottom;
  background-size: auto 100px;
}
.preparephoto_samy p {
  font-size: 13px;
}

#info_status .mybtn.check a,
#info_status .mybtn.complete a,
#photo_status .mybtn.upload span,
#photo_status .mybtn.check span,
#photo_status .mybtn.clear span,
#tabcontent-flow-4 .mybtn.complete a {
  display: block;
  border-radius: 5px;
  color: #ffffff;
  padding: 0 10px;
}

#info_status .mybtn.check a,
#photo_status .mybtn.check span {
  background-color: #F49134;
}

#info_status .mybtn.complete a,
#tabcontent-flow-4 .mybtn.complete a {
  background: url("/img/mypage/bg_complete.gif") repeat;
}

#photo_status .mybtn.upload span {
  background: url("/img/mypage/bg_upload.gif") repeat;
}
#photo_status .mybtn.clear span {
  background: url("/img/mypage/bg_clear.gif") repeat;
}
#photo_status .note {
  background: #ffffdd;
  padding: 15px;
}
#photo_status .alert {
  clear: both;
  margin-top: 15px;
  background: #ffe9d0;
  padding: 15px;
  text-align: left;
}
#photo_status .alert p:last-of-type {
  margin-bottom: 0;
}
#photo_status .alert *.btn {
  background-color: #E2F7D4;
}

@media (max-width: 767px) {
  #photo_status .note {
    padding: 10px;
  }
  #photo_status .alert {
    padding: 10px;
  }
}
#info_status dl {
  position: relative;
  background: #ffffdd;
  padding: 20px;
}
#info_status dl dt {
  position: absolute;
  left: 20px;
  top: 20px;
  width: 90px;
}
#info_status dl dd {
  position: relative;
  padding-left: 100px;
  font-size: 14px;
  line-height: 1.8;
}
#info_status dl dt {
  float: left;
}
#info_status dl dt span.gc {
  color: #00ae2d;
  border: 1px solid #00ae2d;
  border-radius: 3px;
  padding: 3px 5px;
}
#info_status dl dt span.user {
  color: #ee8800;
  border: 1px solid #ee8800;
  border-radius: 3px;
  padding: 3px 5px;
}
#info_status dl dt span.us {
  display: block;
  color: #ee8800;
  border: 1px solid #ee8800;
  border-radius: 3px;
  padding: 3px 5px;
}
#info_status dl span.limit {
  color: #ff0000;
  font-weight: bold;
}

@media (max-width: 767px) {
  #info_status .mybtn {
    text-align: center;
    margin: 0 auto;
    width: 100%;
  }
  #info_status .mybtn a {
    display: inline-block !important;
    width: auto;
    padding: 3px 15px !important;
  }
  #info_status p {
    font-size: 0.9rem;
  }
  #info_status dl {
    position: relative;
    background: #ffffdd;
    padding: 15px;
  }
  #info_status dl dt {
    float: none;
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    margin-bottom: 5px;
    padding: 0 5px 5px;
    text-align: center;
  }
  #info_status dl dt span {
    font-size: 1rem;
  }
  #info_status dl dd {
    position: relative;
    padding-left: 0;
    font-size: 0.8rem;
    line-height: 1.8;
  }
  #info_status dl span.limit {
    font-size: 0.9rem;
  }
}
#tabcontent-flow-4 ul {
  list-style: none;
  padding: 0;
}
#tabcontent-flow-4 ul li {
  float: left;
  margin-right: 9px;
}
#tabcontent-flow-4 ul li:nth-child(5n) {
  margin-right: initial;
}
#tabcontent-flow-4 ul li img {
  width: 120px;
  height: 120px;
  border: 1px solid #c9c9c9;
}

ul.photo_info_nav {
  list-style: none;
  width: 100%;
  margin-bottom: -6px;
}
ul.photo_info_nav li {
  width: 45%;
  display: inline-block;
}
ul.photo_info_nav li a {
  display: block;
  padding: 10px;
  font-size: 16px;
  text-align: center;
  color: #FFFFFF;
  background-color: #00AE2D;
  text-decoration: none;
  border-radius: 5px 5px 0 0;
}
ul.photo_info_nav li a.icn_info {
  background: #00ae2d url("/img/mypage/mp_icn_info.png") no-repeat 15px 7px;
}
ul.photo_info_nav li a.icn_photo {
  background: #00ae2d url("/img/mypage/mp_icn_photo.png") no-repeat 10px 10px;
}
ul.photo_info_nav li a:hover {
  opacity: 0.8;
}

table.photoTable td h4 {
  font-size: 18px;
  margin-top: 0;
}
table.photoTable td.phototd {
  padding-right: 20px;
  width: 220px;
  vertical-align: top;
}
table.photoTable td.phototd img {
  border: 1px solid #CCCCCC;
  width: 200px;
  height: auto;
}
table.photoTable td.phototd .phocell {
  display: block;
  padding: 0 0 0px;
  line-height: 0;
}
table.photoTable td.phototd .phocell p {
  text-align: center;
  margin: 10px auto;
  display: block;
  width: 100%;
  padding: 0;
  line-height: 0;
}
table.photoTable td.phototd .phocell_3 img,
table.photoTable td.phototd .phocell_4 img,
table.photoTable td.phototd .phocell_5 img {
  opacity: 0.5;
}
@media (max-width: 767px) {
  table.photoTable {
    display: block;
    width: 100%;
  }
  table.photoTable tbody {
    display: block;
    width: 100%;
  }
  table.photoTable thead, table.photoTable tr, table.photoTable th, table.photoTable td {
    display: block;
    width: 100%;
  }
  table.photoTable td h4.pc_none {
    display: block !important;
    padding: 10px 0;
    font-size: 1.2rem;
    margin-top: 0;
    margin-bottom: 0;
  }
  table.photoTable td.phototd {
    padding-right: 0;
    padding-bottom: 15px;
    width: 100%;
    text-align: center;
  }
  table.photoTable td.phototd img {
    border: 1px solid #CCCCCC;
    width: 70%;
    height: auto;
  }
  table.photoTable td.phototd .phocell {
    display: block;
    padding: 0;
    padding-bottom: 10px;
    line-height: 0;
  }
  table.photoTable td.phototd .phocell p {
    display: inline-block;
    margin: 0;
    padding: 0;
    line-height: 0;
  }
  table.photoTable td.phototd .phocell_3 img,
table.photoTable td.phototd .phocell_4 img,
table.photoTable td.phototd .phocell_5 img {
    opacity: 0.5;
  }
  table.photoTable td.phototd .phocell_3 {
    background: transparent;
  }
  table.photoTable td.phototd .phocell_4 {
    background: transparent;
  }
  table.photoTable td.phototd .phocell_5 {
    background: transparent;
  }
  table.photoTable table.photoStatusTable {
    display: table;
    width: 100%;
  }
  table.photoTable table.photoStatusTable thead {
    display: table-row-group;
  }
  table.photoTable table.photoStatusTable tbody {
    display: table-row-group;
  }
  table.photoTable table.photoStatusTable tr {
    display: table-row;
  }
  table.photoTable table.photoStatusTable th,
table.photoTable table.photoStatusTable td {
    display: table-cell;
    width: auto;
    padding: 5px 5px;
  }
  table.photoTable table.photoStatusTable th {
    width: 100px;
  }

  table.photoTable td.phototd .phocell {
    position: relative;
  }

  .phosticn {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -20px;
    margin-left: -50px;
    padding: 7px 18px;
    border-radius: 100px;
    text-align: center;
    line-height: 1.5;
    font-size: 17px;
    color: #FFFFFF;
  }

  .phosticn.phosticn_0 {
    background-color: #DE4429;
  }

  .phosticn.phosticn_1 {
    background-color: #FFA45E;
    top: 95%;
    margin-top: -20px;
    margin-left: -40px;
  }

  .phosticn.phosticn_2 {
    background-color: #A5D242;
    top: 95%;
    margin-top: -20px;
    margin-left: -32px;
  }

  .phosticn.phosticn_3 {
    background-color: #FF363B;
  }

  .phosticn.phosticn_4 {
    background-color: #FFA45E;
    top: 95%;
    margin-top: -20px;
    margin-left: -55px;
  }

  .phosticn.phosticn_5 {
    background-color: #FF363B;
  }
}
table.photoStatusTable {
  border-collapse: separate;
  margin: 10px 0 !important;
  display: table !important;
  padding: 0 !important;
  float: none !important;
  text-align: center !important;
}
table.photoStatusTable th,
table.photoStatusTable td {
  border: 1px solid red;
  font-size: 16px;
  font-weight: normal;
  padding: 5px 15px;
}
table.photoStatusTable th {
  font-weight: bold;
  background-color: #EEEEEE;
  border: 1px solid #CCCCCC;
  color: #333333;
}
table.photoStatusTable td {
  width: 130px;
  text-align: center;
  font-weight: bold;
}
table.photoStatusTable.phost_ td, table.photoStatusTable.phost_0 td {
  color: #DE4429;
  border: 1px solid #DE4429;
}
table.photoStatusTable.phost_1 td {
  color: #FFA45E;
  border: 1px solid #FFA45E;
}
table.photoStatusTable.phost_2 td {
  color: #A5D242;
  border: 1px solid #A5D242;
}
table.photoStatusTable.phost_3 td {
  color: #FF363B;
  border: 1px solid #FF363B;
}
table.photoStatusTable.phost_4 td {
  color: #FFA45E;
  border: 1px solid #FFA45E;
}
table.photoStatusTable.phost_5 td {
  color: #FF363B;
  border: 1px solid #FF363B;
}

ul.confirm_photos {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul.confirm_photos li {
  display: inline-block;
  margin-right: 20px;
}
ul.confirm_photos img {
  width: 200px;
  height: auto;
  border: 1px solid #CCCCCC;
}

.photoblock {
  border-bottom: 1px solid #CCCCCC;
  padding-top: 20px;
  padding-bottom: 20px;
  margin-bottom: 0;
}

.photomail,
.photoretake {
  clear: both;
  margin-top: 10px;
  padding: 15px;
  background-color: #FFEEEE;
  border-radius: 3px;
}

.photomail {
  background-color: #FFEEEE;
}

.photoretake {
  background-color: #FFF9DD;
}

/* アップロードボタン */
div.photoselect {
  cursor: pointer;
  color: #FFFFFF;
  font-size: 16px;
  border-radius: 5px;
  background: #1685B5 url("/img/mypage/bg_upload.gif") repeat-x 0 0;
  display: inline-block;
  padding: 5px 20px;
}

div.photoselect:hover {
  opacity: 0.9;
}

div.photoselect input {
  display: none;
}

.photoselect {
  padding: 2px 12px;
  font-size: 13px;
}

.photouploadform {
  position: relative;
  top: -10px;
}

.photouploadform input[type=text] {
  margin-top: 5px;
  padding: 0;
  font-size: 13px;
  border: 1px solid #CCCCCC;
}

@media (max-width: 767px) {
  .preparephoto_samy {
    border-radius: 0px;
    padding: 10px 70px 5px 10px;
    min-height: 80px;
    background-position: right -30px bottom;
    background-size: auto 100px;
  }
  .preparephoto_samy p {
    font-size: 0.8rem;
  }
}
.btn-upload {
  color: white;
  background: #1293BF url("/img/mypage/mp_icn_upload.png") no-repeat 15px center;
}

.btn-upload:hover {
  color: white !important;
  background: #1293BF url("/img/mypage/mp_icn_upload.png") no-repeat 15px center !important;
  opacity: 0.8 !important;
}

.btn-upload,
.btn-upload:hover {
  padding: 5px 20px 3px 40px !important;
}

.uploadform {
  border-top: none;
}

.label_proof {
  font-weight: bold;
  background: #D9F4DE;
  text-align: center;
  padding: 3px;
  margin-bottom: 5px;
}

.label_proof + * img {
  border: 1px solid #CCCCCC;
}

/*************************************
jQuery ポップアップ -
(XHTML):tpl_modules_account_member.php
(CSS):stylesheet_new.css
(JS):jquery.js , main.js

*************************************/
#tooltip {
  position: absolute;
  border: 1px solid #333;
  /*	background:#ecf3ec;*/
  background: #f7f5d1;
  padding: 3px 6px;
  color: #333;
  display: none;
}
