html {
  overflow-x: hidden;
}

body {
  margin: 0px auto 0px auto;
}

.contacts-mailformpro div.section {
  padding: 10px;
  margin: 10px;
  border: solid 1px #ccc;
}

.contacts-mailformpro p, .contacts-mailformpro li {
  line-height: 1.4em;
}

.contacts-mailformpro h1 {
  font-size: 15px;
  color: #232323;
}

.contacts-mailformpro h2 {
  font-size: 16px;
  color: #232323;
}

.contacts-mailformpro h3 {
  font-size: 14px;
  color: #232323;
}

.contacts-mailformpro hr {
  border-color: #999;
  border-style: solid;
}

.contacts-mailformpro a {
  text-decoration: none;
}

.contacts-mailformpro a:active {
  color: blue;
}

.contacts-mailformpro a:link {
  color: blue;
}

.contacts-mailformpro a:visited {
  color: #909;
}

.contacts-mailformpro a:hover {
  color: #c00;
  text-decoration: underline;
}

.contacts-mailformpro .english {
  font-family: "Myriad Pro", "Verdana", "Arial", "Helvetica", "sans-serif";
  line-height: normal;
}

div#wrapper {
  width: 100%;
  margin: 0px auto 0px auto;
  background-repeat: repeat-x;
}

div#header {
  position: relative;
  width: 820px;
  height: 160px;
  margin: 0px auto 0px auto;
  _background: none;
  background-image: url(../commons/mfp_images/mfp_header_wide.png);
  _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="commons/mfp_images/mfp_header_wide.png", sizingMethod="scale");
}

h1#title {
  position: absolute;
  top: 40px;
  left: 145px;
  float: left;
  font-size: 24px;
  color: #fff;
  text-shadow: 1px 1px 3px #333;
}

div#header span {
  position: absolute;
  top: 75px;
  left: 150px;
  display: block;
  font-size: 10px;
  font-weight: bolder;
  color: #fff;
  text-shadow: 1px 1px 3px #333;
}

div#header div {
  position: absolute;
  top: 105px;
  left: 150px;
  display: block;
  font-size: 12px;
  font-weight: bolder;
  color: #fff;
  text-shadow: 1px 1px 3px #333;
}

div#container {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  width: 780px;
  padding: 0px 20px 0px 20px;
  margin: 0px auto 0px auto;
  clear: both;
  text-align: left;
  _background: none;
  background-image: url(../commons/mfp_images/mfp_container_wide.png);
  _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="commons/mfp_images/mfp_container_wide.png", sizingMethod="scale");
}

div#contents {
  width: 770px;
  padding: 5px;
  background-color: #fff;
}

div#contents p {
  padding: 0px 10px 0px 10px;
  font-size: 12px;
  line-height: 1.5em;
}

div#footer {
  position: relative;
  width: 820px;
  height: 70px;
  margin: 0px auto 0px auto;
  clear: both;
  _background: none;
  background-image: url(../commons/mfp_images/mfp_footer_wide_no_logo.png);
  _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="commons/mfp_images/mfp_footer_wide_no_logo.png", sizingMethod="scale");
}

div#footer span {
  position: absolute;
  top: 16px;
  left: 0px;
  display: block;
  width: 820px;
  height: 30px;
  font-family: "Myriad Pro", "Verdana", "Arial", "Helvetica", "sans-serif";
  font-size: 10px;
  color: #fff;
  text-align: center;
}

div#copyright {
  padding: 2px;
  clear: both;
  line-height: normal;
  color: #999;
  background-color: #666;
}

div#copyright p {
  font-size: 10px;
}

div#copyright span {
  font-family: "Myriad Pro", "Verdana", "Arial", "Helvetica", "sans-serif";
  font-size: 12px;
}

div#thanks {
  padding: 30px 0px 10px 0px;
  text-align: center;
}

div#thanks p {
  font-size: 16px;
}

div#thanks p strong {
  font-size: 18px;
  color: #c00;
}

form#mailform {
  padding: 0px;
  margin: 0px auto 0px auto;
}

form#mailform label {
  display: block;
  padding: 5px 5px;
  margin-bottom: 1px;
  text-decoration: underline;
  cursor: pointer;
  border-radius: 4px;
}

label.label_true {
  text-decoration: none;
  background-color: #ffe;
  border: solid 1px #ccc;
}

label.label_false {
  text-decoration: underline;
  background-color: none;
  background-image: none;
  border: none;
}

div#mailfrom_hidden_object {
  width: 1px;
  height: 1px;
  overflow: hidden;
}

div#mailfrom_hidden_object input {
  margin: 10px;
}

div#mfp_closed {
  display: none;
}

div.mfp_disp {
  display: none;
}

div#input_time_disp {
  padding: 10px;
}

div#expires_time_disp {
  padding: 10px;
  text-align: center;
}

div#expires_time_disp strong {
  font-size: 18px;
  color: #c00;
}

div#limit_disp {
  padding: 10px;
  text-align: center;
}

div#limit_disp strong {
  font-size: 24px;
  color: #c00;
}

img.must, img.option {
  float: left;
  width: 30px;
  height: 16px;
  margin: 0px 0px 0px 5px;
}

div.mfp_err {
  display: none;
  padding: 3px 0px 5px 17px;
  margin: 5px 0px 0px 0px;
  font-size: 12px;
  line-height: normal;
  color: red;
  text-align: left;
  background-image: url(../commons/mfp_images/mfp_error.gif);
  background-repeat: no-repeat;
  background-position: 0px 1px;
}

input.mfp {
  padding: 2px;
}

textarea.mfp {
  padding: 5px;
}

div#mfp_buttons {
  padding: 0px;
  text-align: center;
}

div#mfp_buttons ul {
  width: 360px;
  height: 60px;
  margin: 0px auto 0px auto;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
}

div#mfp_buttons ul li {
  float: left;
  width: 180px;
  height: 60px;
  overflow: hidden;
}

div.mfp_phase_buttons {
  height: 60px;
}

input.mfp_phase_next {
  float: right;
  background-image: url(../commons/mfp_images/mfp_next.gif);
}

input.mfp_phase_prev {
  float: left;
  background-image: url(../commons/mfp_images/mfp_prev.gif);
}

input.mfp_phase_next, input.mfp_phase_prev {
  width: 200px;
  height: 60px;
  overflow: hidden;
  text-indent: -5000px;
  cursor: pointer;
  border: none;
  border-style: none;
}

input#button_mfp_goconfirm {
  width: 180px;
  height: 60px;
  overflow: hidden;
  cursor: pointer;
  background-color: #fff;
  background-image: url(../commons/mfp_images/mfp_goconfirm.gif);
  border: none;
  border-style: none;
}

input#button_mfp_reset {
  width: 180px;
  height: 60px;
  overflow: hidden;
  cursor: pointer;
  background-color: #fff;
  background-image: url(../commons/mfp_images/mfp_reset.gif);
  border: none;
  border-style: none;
}

.reset_over {
  background-image: url(../commons/mfp_images/mfp_reset_over.gif);
}

.reset_out {
  background-image: url(../commons/mfp_images/mfp_reset.gif);
}

.confirm_over {
  background-image: url(../commons/mfp_images/mfp_confirm_over.gif);
}

.confirm_out {
  background-image: url(../commons/mfp_images/mfp_confirm.gif);
}

table.mailform {
  width: 100%;
  padding: 10px;
}

table.mailform tr th {
  width: 170px;
  padding: 7px 0px 7px 0px;
  font-size: 12px;
  font-weight: normal;
  text-align: right;
  border-bottom: solid 1px #ccc;
}

table.mailform tr th span {
  display: block;
  font-size: 10px;
  color: #999;
}

table.mailform tr td {
  padding: 7px 10px 7px 10px;
  font-size: 12px;
  border-bottom: solid 1px #ccc;
}

table.mailform tr td ul li, table.mailform tr td ul, table.mailform tr td ol, table.mailform tr td ol li {
  padding: 0px;
  margin: 0px;
  list-style: none;
}

table.mailform tr td ul li {
  float: left;
  padding: 0px 10px 0px 0px;
}

table.mailform tr td p, table.mailform tr td div, table.mailform tr td span {
  clear: both;
}

ul.confirm_layer {
  width: 720px;
  padding: 0px;
  margin: 0px;
}

ul.confirm_layer li {
  float: left;
  width: 720px;
  padding: 0px;
  margin: 0px;
  overflow: hidden;
  text-align: center;
  list-style: none;
}

li.confirm_middle {
  _background: none;
  background-image: url(../commons/mfp_images/mfp_table_background.png?wide);
  _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../commons/mfp_images/mfp_table_background.png", sizingMethod="scale");
}

li.confirm_top {
  height: 33px;
  _background: none;
  background-image: url(../commons/mfp_images/mfp_table_top.png?wide);
  _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../commons/mfp_images/mfp_table_top.png", sizingMethod="scale");
}

li.confirm_bottom {
  height: 33px;
  _background: none;
  background-image: url(../commons/mfp_images/mfp_table_bottom.png?wide);
  _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../commons/mfp_images/mfp_table_bottom.png", sizingMethod="scale");
}

div#disabled_submit {
  width: 1px;
  height: 1px;
  overflow: hidden;
}

div#disabled_submit input {
  margin: 10px;
}

table.infield {
  width: 660px;
  margin: 0px auto 0px auto;
}

table.infield tr th {
  width: 150px;
  padding: 5px;
  margin: 0px;
  font-size: 12px;
  color: #232323;
  text-align: right;
  border-bottom: solid 1px #ccc;
}

table.infield tr td {
  padding: 5px;
  border-bottom: solid 1px #ccc;
}

table.infield tr td p {
  padding: 5px 0px 5px 10px;
  margin: 0px;
  font-size: 12px;
  line-height: 1.5em;
  text-align: left;
  border-left: solid 2px #ccc;
}

.mfp_color {
  background-color: #e8eef9;
}

div#confirmWindow {
  position: fixed !important;
  position
  /**/
  : absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0px;
  overflow: hidden;
  font-size: 12px;
  text-align: center;
  visibility: hidden;
  background-color: #000;
  filter: alpha(opacity=30);
  -moz-opacity: .3;
  -khtml-opacity: .3;
  opacity: .3;
}

div#confirmBody {
  position: absolute;
  z-index: 10;
  width: 1px;
  margin: 0px auto 0px auto;
  text-align: center;
  visibility: hidden;
}

div#confirmBody div.mfp_title {
  width: 294px;
  height: 33px;
  padding-top: 10px;
  margin: 0px auto 0px auto;
  color: #fff;
}

div.buttons {
  margin: 0px auto 0px auto;
}

div#twex {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  display: none;
  margin: 0px;
  overflow: hidden;
  text-align: center;
  background-color: #000;
  filter: alpha(opacity=60);
  -moz-opacity: .6;
  -khtml-opacity: .6;
  opacity: .6;
}

img#loading_proccess_image {
  position: absolute;
  z-index: 1000;
}

dl.mailform {
  padding: 0px 15px;
  margin: 0px;
}

dl.mailform dt {
  float: left;
  width: 180px;
  padding: 5px 0px 0px 0px;
  margin: 0px;
  clear: both;
  font-size: 12px;
  font-weight: normal;
  text-align: right;
}

dl.mailform dt span {
  display: block;
  font-size: 10px;
  color: #999;
}

dl.mailform dd {
  padding: 10px 10px 15px 190px;
  margin: 0px;
  font-size: 12px;
  border-bottom: solid 1px #ccc;
}

dl.mailform dd ul, dl.mailform dd ol {
  padding: 0px;
  margin: 0px;
}

dl.mailform dd ul li, dl.mailform dd ol li {
  padding: 0px;
  margin: 0px;
  list-style: none;
}

dl.mailform dd ul li {
  padding: 0px 10px 0px 0px;
}

div.mfp_phase_section {
  display: none;
  padding: 2px 2px 15px 2px;
  margin: 10px 5px;
  clear: both;
  border: solid 1px #eee;
  border-radius: 5px;
  -webkit-box-shadow: 0px 0px 5px #999;
  box-shadow: 0px 0px 5px #999;
}

p.mfp_caption {
  margin: 10px;
}

input.mfp_phase_ui {
  padding: 3px;
  margin: 5px 15px;
  border-radius: 2px;
}

h3.mfp_phase_title {
  padding: 5px 15px;
  margin: 0px 0px 10px 0px;
  font-size: 21px;
  color: #fff;
  text-shadow: 1px 1px 1px #000;
  background-image: url(../commons/mfp_images/mfp_h3.png);
  border-radius: 3px;
}

ol.mfp_phase_input_proccess {
  height: 40px;
  margin: 15px;
}

ol.mfp_phase_input_proccess li {
  float: left;
  padding: 5px 10px;
  margin: 5px;
  font-weight: bolder;
  border-radius: 3px;
}

li.mfp_phase_disabled {
  background-color: #ccc;
  border: solid 1px #999;
  -webkit-box-shadow: 1px 1px 4px #999;
  box-shadow: 1px 1px 4px #999;
}

li.mfp_phase_current {
  color: #fff;
  text-shadow: 1px 1px 1px #000;
  background-color: #fee;
  background-image: url(../commons/mfp_images/mfp_h3.png);
  border: solid 1px #fff;
  -webkit-box-shadow: 1px 1px 4px #999;
  box-shadow: 1px 1px 4px #999;
}

.contacts-mailformpro div#header {
  width: 100% !important;
  max-width: 820px;
  background-size: 100% 100%;
}

.contacts-mailformpro h1#title {
  right: 40px;
}

.contacts-mailformpro div#header span {
  right: 40px;
}

.contacts-mailformpro div#header div {
  right: 40px;
}

.contacts-mailformpro div#container {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 820px;
  background-size: 100% 100%;
}

.contacts-mailformpro div#contents {
  width: 100% !important;
  max-width: 820px;
}

.contacts-mailformpro div#footer {
  width: 100% !important;
  max-width: 820px;
  padding: 0 20px;
  background-image: url(../commons/mfp_images/mfp_footer_wide_no_logo.png?ver=221217);
  background-size: 100% 100%;
}

.contacts-mailformpro div#footer span {
  width: 100% !important;
  max-width: 820px;
}

.contacts-mailformpro table.mailform {
  width: 100%;
  table-layout: fixed;
}

.contacts-form.thanks {
  margin: 80px auto;
}
.contacts-form.thanks a {
  color: #4087c7;
  font-weight: bold;
}


@media screen and (max-width: 575px) {
  .contacts-mailformpro div#header.--thanks h1#title {
    top: 28px
  }

  .contacts-mailformpro h1#title {
    top: 15px;
    right: 20px;
    left: 17%;
    font-size: 13px
  }

  .contacts-mailformpro div#header span {
    top: 35px;
    right: 20px;
    left: 17%;
  }

  .contacts-mailformpro div#header div {
    top: 55px;
    right: 20px;
    left: 17%;
    font-size: 10px
  }

  .contacts-mailformpro .mfptr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }

  .contacts-mailformpro table.mailform tr th, .contacts-mailformpro table.mailform tr td {
    width: 100%
  }

  .contacts-mailformpro table.mailform tr th {
    padding: 7px 10px 0;
    font-weight: bold;
    text-align: left;
    border-bottom: none
  }

  .contacts-mailformpro img.must, .contacts-mailformpro img.option {
    margin: 0 5px 0 0
  }

  .contacts-mailformpro div#mfp_buttons ul {
    width: 100%;
    height: auto;
    overflow: auto;
    flex-direction: column-reverse;
  }

  .contacts-mailformpro div#mfp_buttons ul li {
    float: none;
    margin: 0 auto
  }

  .contacts-mailformpro div.mfp_err {
    background-position: 0px 4px;
  }
}

@media screen and (min-width: 576px)and (max-width: 767px) {
  .contacts-mailformpro div#header.--thanks h1#title {
    top: 42px
  }

  .contacts-mailformpro h1#title {
    top: 30px;
    right: 30px;
    left: 17%;
    font-size: 19px
  }

  .contacts-mailformpro div#header span {
    top: 60px;
    right: 30px;
    left: 18%;
  }

  .contacts-mailformpro div#header div {
    top: 85px;
    right: 30px;
    left: 18%;
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  .contacts-mailformpro div#header {
    height: auto;
    aspect-ratio: 820/220;
    background-image: url(../commons/mfp_images/mfp_header_wide_sp.png)
  }

  .contacts-mailformpro textarea.mfp {
    width: 95% !important;
  }

  /* ▼thanksページのレスポンシブCSS */
  .contacts-form div#header.--thanks {
    aspect-ratio: 820/160;
    background-image: url(../commons/mfp_images/mfp_header_wide.png);
    background-size:contain;
    background-repeat: no-repeat;
    width:100%;
    height:auto;
  }

  .contacts-form h1#title{
    font-size: 16px;
    top: 40%;
    left: 18%;
  }
  .contacts-form div#container{
    box-sizing: border-box;
    width:100%;
    margin:0;
    background-image: url(../commons/mfp_images/mfp_container_wide.png);
    background-size: contain;
  }
  .contacts-form #contents{
    width:100%;
  }
  .contacts-form #thanks{
    padding-top:16px;
  }
  .contacts-form #thanks p{
    font-size:16px;
    text-align: left;
  }
  .contacts-form #footer{
    background-image: url(../commons/mfp_images/mfp_footer_wide_no_logo.png);
    background-size: 100% 100%;
    width: 100%;
    margin:0;
  }
  /* ▲thanksページのレスポンシブCSS */
}

div#confirmWindow {
  position: fixed;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 1000;
}

div#confirmBody {
  position: fixed;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 90% !important;
  max-width: 720px;
  height: 100vh !important;
  padding: 20px 0;
  margin: auto;
  overflow: auto;
}

div#confirmBody ul.confirm_layer {
  width: 100%;
  max-height: 80vh;
  margin-top: 20px;
  overflow: auto;
}

div#confirmBody ul.confirm_layer li {
  width: 100%;
}

div#confirmBody table.infield {
  width: 90%;
}

div#confirmBody li.confirm_top {
  background-size: 100% 100%;
}

div#confirmBody li.confirm_middle {
  background-size: 100% 100%;
}

div#confirmBody li.confirm_bottom {
  background-size: 100% 100%;
}

div#confirmBody table.infield tr th {
  width: 100px;
}

@media screen and (min-width: 768px) {
  div#confirmBody table.infield tr th {
    width: 150px;
  }
}

div#confirmBody div.mfp_title {
  width: 100%;
  max-width: 200px;
  height: auto;
}

div#confirmBody div.mfp_title>img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  div#confirmBody div.mfp_title {
    max-width: 300px;
  }
}

div#confirmBody div.buttons {
  margin: 20px auto 0
}
