@charset "UTF-8";
/****************************************/
.page_mv_slide {
  border-radius: 50px 0 0 50px;
  background: url("../images/contact_mv.jpg") center center no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%; }

/****************************************/
.page_contact {
  background-color: #FEFBF0;
  padding: 100px 0 100px; }
  .page_contact p {
    width: calc(100% - 120px);
    margin: 0 auto;
    font: 2rem/2.2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    letter-spacing: 0.01em;
    text-align: center;
    margin: 0 auto 120px; }
  .page_contact ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1000px;
    width: calc(100% - 120px);
    margin: 0 auto; }
  .page_contact li {
    color: #727171;
    width: calc(100%/3);
    text-align: center;
    font: 1.6rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    padding: 35px 0 0;
    position: relative; }
    .page_contact li:before {
      position: absolute;
      content: "";
      top: 0%;
      left: 50%;
      transform: translate(-50%, 0%);
      display: block;
      border-radius: 100%;
      width: 20px;
      height: 20px;
      background-color: #D2D2D2;
      z-index: 5; }
    .page_contact li:after {
      position: absolute;
      content: "";
      top: 9px;
      left: 50%;
      transform: translate(-50%, 0%);
      display: block;
      border-radius: 100%;
      width: 100%;
      height: 2px;
      background-color: #D2D2D2;
      z-index: 1; }
    .page_contact li.current {
      color: #DF816E; }
      .page_contact li.current:before {
        background-color: #DF816E; }
    .page_contact li:nth-of-type(1):after {
      width: 50%;
      right: 0;
      left: auto;
      transform: translate(0%, 0%); }
    .page_contact li:nth-of-type(3):after {
      width: 50%;
      left: 0;
      transform: translate(0%, 0%); }

/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .page_contact p {
    width: calc(100% - 80px);
    text-align: left;
    margin: 0 auto 120px; }
  .page_contact ul {
    width: calc(100% - 40px);
    margin: 0 auto; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .page_contact {
    padding: 50px 0; }
    .page_contact p {
      font: 1.8rem/2.2em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      width: calc(100% - 40px);
      text-align: left;
      margin: 0 auto 80px; }
      .page_contact p span br {
        display: none; }
    .page_contact ul {
      width: 100%;
      margin: 0 auto; } }
/*max-width:480px*/
.msg {
  font-weight: 700;
  color: red; }

.end {
  margin-bottom: 180px;
  padding-bottom: 200px;
  position: relative; }
  .end:before {
    background: url("../images/nice_bg.png") center top no-repeat;
    background-size: 1920px 67px;
    width: 100%;
    height: 67px;
    position: absolute;
    content: "";
    top: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    /* Safari用 */
    transform: translate(-50%, 0%);
    z-index: 1; }
  .end .end_btn {
    margin: 100px auto 0; }

@media (min-width: 1920px) {
  .end:before {
    background: url("../images/nice_bg.png") center top no-repeat;
    background-size: 100% 67px; } }
/*max-width:1280px*/
@media (max-width: 480px) {
  .end {
    margin-bottom: 100px;
    padding-bottom: 100px; }
    .end .end_btn {
      margin: 80px auto 0; } }
/****************************************/
.page_contact_form {
  background-color: #FEFBF0;
  position: relative;
  margin-bottom: 180px;
  padding: 0 0 200px; }
  .page_contact_form table {
    width: calc(100% - 120px);
    margin: 0 auto;
    max-width: 1000px; }
  .page_contact_form tr {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    padding: 30px 0;
    border-bottom: dashed 1px #89655A; }
  .page_contact_form th {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: center;
    width: 260px;
    font: 1.8rem/32px "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700;
    padding: 0 0 0 15px;
    position: relative; }
    .page_contact_form th:before {
      display: block;
      width: 10px;
      height: 10px;
      position: absolute;
      content: "";
      background-color: #DF816E;
      top: 52%;
      left: 0%;
      -webkit-transform: translate(0%, -50%);
      /* Safari用 */
      transform: translate(0%, -50%); }
    .page_contact_form th span {
      display: block;
      margin: 0 0 0 10px;
      background-color: #DF816E;
      color: #fff;
      font: 1.3rem/32px "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      font-weight: 500;
      height: 33px;
      width: 60px;
      border-radius: 10px; }
  .page_contact_form td {
    font: 1.6rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 400;
    width: calc(100% - 260px); }
  .page_contact_form:before {
    background: url("../images/nice_bg.png") center top no-repeat;
    background-size: 1920px 67px;
    width: 100%;
    height: 67px;
    position: absolute;
    content: "";
    top: auto;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    /* Safari用 */
    transform: translate(-50%, 0%);
    z-index: 1; }

/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  .page_contact_form table {
    width: calc(100% - 80px);
    margin: 0 auto;
    max-width: 1000px; }
  .page_contact_form tr {
    display: block;
    width: 100%;
    padding: 30px 0; }
  .page_contact_form th {
    font: 1.8rem/32px "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 700; }
  .page_contact_form td {
    display: block;
    padding: 20px 0 0;
    width: 100%; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .page_contact_form {
    background-color: #FEFBF0;
    position: relative;
    margin-bottom: 100px;
    padding: 0 0 100px; }

  .page_contact_form table {
    width: calc(100% - 40px); } }
/*max-width:480px*/
/****************************************/
input[type=text] {
  width: 100% !important;
  border: 1px solid #ccc;
  /* ラジオボタンを非表示にする */
  padding: 10px;
  font: 1.6rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 400; }
  input[type=text].mail01 {
    margin-bottom: 20px; }

input[type=submit],
input[type=button] {
  display: block;
  width: 90%;
  max-width: 500px;
  height: 80px;
  text-align: center;
  color: #fff;
  font: 1.8rem/78px "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 500;
  border-radius: 50px;
  background-color: #89655A;
  border: none;
  outline: none;
  margin: 70px auto 0;
  transition: .3s; }
  input[type=submit].back,
  input[type=button].back {
    background-color: #333; }

@media (hover: hover) {
  input[type=submit]:hover,
  input[type=button]:hover {
    cursor: pointer;
    background-color: darkorange; } }
textarea {
  width: 100%;
  border: 1px solid #ccc;
  /* ラジオボタンを非表示にする */
  padding: 10px;
  font: 1.6rem/1.8em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 400; }

input[type=radio] {
  display: none;
  /* ラジオボタンを非表示にする */ }

.label {
  position: relative;
  padding: 0 0 0 25px;
  display: block;
  margin: 0 0 20px;
  font: 1.8rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
  font-weight: 500;
  transition: .3s; }
  .label.last {
    margin-bottom: 0; }
  .label br {
    display: none; }

.label:after,
.label:before {
  position: absolute;
  /* ボックスの位置を指定する */
  content: "";
  /* ボックスのコンテンツ */
  display: block;
  /* ブロックレベル要素化する */
  top: 13px;
  /* 上部から配置の基準位置を決める */ }

.label:after {
  left: 0;
  /* 左から配置の基準位置を決める */
  margin-top: -10px;
  /* チェック枠の位置 */
  width: 16px;
  /* ボックスの横幅を指定する */
  height: 16px;
  /* ボックスの高さを指定する */
  border: 1px solid #89655A;
  /* ボックスの境界線を実線で指定する */
  border-radius: 50%;
  /* ボックスの角丸を指定する */ }

.label:before {
  left: 3px;
  /* 左から配置の基準位置を決める */
  margin-top: -7px;
  /* チェックマークの位置 */
  width: 10px;
  /* ボックスの横幅を指定する */
  height: 10px;
  /* ボックスの高さを指定する */
  background: #DF816E;
  /* ボックスの背景色を指定する */
  border-radius: 50%;
  /* ボックスの角丸を指定する */
  opacity: 0;
  /* 要素を透過指定する */ }

input[type=radio]:checked + .label:before {
  opacity: 1;
  /* 要素を表示する */ }

.label:hover {
  cursor: pointer;
  opacity: 0.5; }

/*max-width:1280px*/
/*max-width:1024px*/
/*max-width:768px*/
@media (max-width: 480px) {
  .label {
    padding: 0 0 0 20px;
    display: block;
    margin: 0 0 25px;
    font: 1.6rem/1em "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    transition: .3s; }

  .label:after,
  .label:before {
    position: absolute;
    /* ボックスの位置を指定する */
    content: "";
    /* ボックスのコンテンツ */
    display: block;
    /* ブロックレベル要素化する */
    top: 12px;
    /* 上部から配置の基準位置を決める */ }

  input[type=submit],
  input[type=button] {
    max-width: 300px;
    height: 60px;
    font: 1.8rem/58px "Noto Sans JP", "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 500;
    margin: 40px auto 0; } }
/*max-width:480px*/
