@charset "UTF-8";
/* sub_common
----------------------------------------------------------- */
#sub #wrapper {
  background: url("../images/common/head_bg_l.png") no-repeat top left;
  background-size: 880px; }

#sub-visual {
  width: 100%;
  clear: both;
  position: relative; }
  #sub-visual::after {
    content: '';
    position: absolute;
    background: url("../images/common/head_bg_r.png") no-repeat top right;
    background-size: 820px;
    width: 855px;
    height: 822px;
    top: 70px;
    right: 0;
    z-index: -1; }

@media screen and (min-width: 769px) and (max-width: 1280px) {
  #sub-visual::after {
    background-size: 47vw; } }
.sub-visual-ttl {
  background: url("../images/common/sub_ttl_line.png") no-repeat bottom center;
  padding: 140px 0 80px;
  position: relative;
  z-index: 3; }
  .sub-visual-ttl h1 {
    text-align: center;
    position: relative; }
    .sub-visual-ttl h1 span {
      display: inline-block;
      color: #734a00;
      font-size: 48px;
      font-size: 4.8rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      position: relative;
      z-index: 0; }
      .sub-visual-ttl h1 span::before {
        content: '';
        position: absolute;
        background: url("../images/common/sub_ttl_nikukyu.svg") no-repeat top left;
        width: 177px;
        height: 210px;
        top: -80px;
        left: -80px;
        z-index: -1; }
  .sub-visual-ttl .ttl-en {
    color: #ed8686;
    font-size: 30px;
    font-size: 3rem;
    font-family: 'Amatic SC', cursive, serif;
    line-height: 1.0;
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 1em;
    font-weight: 700; }

section {
  width: 100%;
  clear: both; }

.inner {
  width: 1200px;
  margin: 0 auto;
  clear: both; }

.breadCrumb {
  width: 100%;
  padding: 0 4% 120px; }
  .breadCrumb .breadCrumb-inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: right; }
  .breadCrumb li {
    display: inline-block;
    font-size: 13px;
    font-size: 1.3rem;
    position: relative;
    margin-right: 0.5em; }
    .breadCrumb li a {
      color: #5fb0b8;
      text-decoration: underline;
      padding-right: 2.2em; }
    .breadCrumb li::after {
      content: "";
      position: absolute;
      background: url("../images/common/icon_arrow_bl.svg") no-repeat 100% 0;
      width: 16px;
      height: 8px;
      right: 0;
      top: 0.2em; }
    .breadCrumb li:last-child::after {
      display: none;
      margin-right: 0; }

table {
  border-collapse: collapse;
  width: 100%; }

th,
td {
  padding: 1.2em 0;
  line-height: 1.8;
  border-bottom: 1px dotted #ed8686; }

th {
  background-color: #fff;
  font-weight: 700; }

td {
  background-color: #fff; }

/* service
----------------------------------------------------------- */
.service-care {
  width: 100%;
  clear: both;
  padding-bottom: 0; }

.service-care-inner {
  padding: 0 4%; }

.sub-lead-visual {
  width: 100%;
  max-width: 1520px;
  margin: 60px auto 0; }
  .sub-lead-visual img {
    border-radius: 80px; }

.sub-base-ttl {
  text-align: center;
  position: relative;
  z-index: 0;
  margin-top: -30px;
  padding-bottom: 80px; }
  .sub-base-ttl::before {
    content: '';
    position: absolute;
    background: url("../images/common/sub_ttl_bg.svg") no-repeat top center;
    width: 414px;
    height: 328px;
    top: -70px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    z-index: -1; }
  .sub-base-ttl::after {
    content: '';
    position: absolute;
    background: url("../images/common/line_ribbon.png") no-repeat;
    width: 451px;
    height: 39px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    z-index: -1; }
  .sub-base-ttl .en {
    font-size: 80px;
    font-size: 8rem;
    color: #ed8686;
    letter-spacing: 0.05em; }
  .sub-base-ttl h2 {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;
    margin-top: 0.5em; }

.s-care-list {
  width: 100%;
  max-width: 1200px;
  margin: 40px auto 0;
  position: relative;
  z-index: 1; }
  .s-care-list::after {
    content: '';
    position: absolute;
    background: url("../images/service_flow_bg.svg") no-repeat top left;
    width: 1065px;
    height: 1074px;
    top: 70px;
    left: 20px;
    z-index: -1; }
  .s-care-list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  .s-care-list li {
    width: calc((100% / 3) - 20px);
    position: relative; }
    .s-care-list li img {
      width: 100%; }
    .s-care-list li h3 {
      color: #ed8686;
      font-size: 24px;
      font-size: 2.4rem;
      font-weight: 700;
      margin-top: 1.5em;
      text-align: center; }
    .s-care-list li .s-care-txt {
      margin-top: 1.5em;
      padding: 0 0.5em; }
    .s-care-list li:nth-child(4) {
      margin-top: 70px;
      margin-left: 205px; }
    .s-care-list li:nth-child(5) {
      margin-top: 70px;
      margin-right: 205px; }

.service-price {
  width: 100%;
  padding-bottom: 260px;
  position: relative;
  z-index: 0; }
  .service-price::after {
    content: '';
    position: absolute;
    background: url("../images/common/bg_blue.jpg");
    width: 100%;
    height: calc(100% - 600px);
    top: 600px;
    left: 0;
    z-index: -1; }

.service-price-inner {
  position: relative;
  padding-top: 200px;
  z-index: 0; }
  .service-price-inner::before {
    content: '';
    position: absolute;
    background: url("../images/service_bg_pink.png") no-repeat top left;
    width: 1346px;
    height: 1421px;
    top: -60px;
    left: 0;
    z-index: -1; }
  .service-price-inner::after {
    content: '';
    position: absolute;
    background: url("../images/service_bg_bl.png") no-repeat top right;
    width: 726px;
    height: 1274px;
    top: -300px;
    right: 0;
    z-index: -2; }

.service-price-inner .sub-base-ttl, .service-flow .sub-base-ttl {
  margin-top: 0;
  padding-bottom: 80px; }
  .service-price-inner .sub-base-ttl::before, .service-flow .sub-base-ttl::before {
    display: none; }

.s-price-info {
  width: 100%;
  max-width: 690px;
  margin: 50px auto 0; }
  .s-price-info li {
    margin-bottom: 0.4em;
    line-height: 1.8; }

.icon-circle {
  position: relative;
  padding-left: 1em; }
  .icon-circle::before {
    content: '';
    position: absolute;
    background: #ed8686;
    border-radius: 4px;
    width: 8px;
    height: 8px;
    left: 0;
    top: 0.7em; }

.s-price-table {
  width: 100%;
  max-width: 690px;
  margin: 40px auto 0; }
  .s-price-table dl {
    display: flex;
    align-items: stretch;
    margin-bottom: 10px; }
  .s-price-table dt {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    width: 240px;
    background: #faf9f2;
    padding-left: 1em;
    display: flex;
    align-items: center; }
  .s-price-table dd {
    flex: 1;
    padding: 1.2em 1.5em;
    background: #fff; }
  .s-price-table .attent {
    margin-top: 1em; }
    .s-price-table .attent li {
      line-height: 1.8; }

.price-area {
  display: flex;
  justify-content: space-between; }

.price-area-list {
  width: calc((100% / 2) - 5px); }
  .price-area-list h3 {
    background: #5fb0b8;
    color: #fff;
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 0.5em 0 0.6em; }
  .price-area-list .price-txt {
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: 700;
    text-align: center; }
    .price-area-list .price-txt span {
      font-size: 17px;
      font-size: 1.7rem; }

.price-area-chart {
  display: flex; }
  .price-area-chart h3 {
    background: #ed8686;
    color: #fff;
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 0.5em 0 0.6em;
    margin-right: 1em;
    width: 100px; }
  .price-area-chart .price-txt {
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.0; }
    .price-area-chart .price-txt span {
      font-size: 17px;
      font-size: 1.7rem; }

.price-area-time {
  display: flex; }
  .price-area-time h3 {
    background: #fff;
    border: 1px solid #734a00;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 0.3em 0 0.4em;
    margin-right: 1em;
    width: 100px; }
  .price-area-time .price-txt {
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.0; }
    .price-area-time .price-txt span {
      font-size: 17px;
      font-size: 1.7rem; }

.service-exam {
  width: 100%;
  max-width: 1200px;
  margin: 140px auto 0;
  background: url("../images/common/bg_dot_pink.png");
  padding: 30px; }
  .service-exam h3 {
    font-size: 24px;
    font-size: 2.4rem;
    color: #fff;
    font-weight: 700;
    text-align: center;
    position: relative;
    z-index: 0;
    margin-top: -30px; }
    .service-exam h3::after {
      content: '';
      position: absolute;
      background: url("../images/common/parts_mokumoku.svg") no-repeat top center;
      width: 304px;
      height: 76px;
      top: -1em;
      right: 0;
      left: 0;
      margin: 0 auto;
      z-index: -1; }

.service-exam-inner {
  background: #fff;
  padding: 60px 50px 50px;
  display: flex;
  justify-content: space-between;
  width: 100%; }

.service-exam-list {
  width: calc((100% / 3) - 35px); }
  .service-exam-list .exam-num {
    text-align: center; }
    .service-exam-list .exam-num img {
      width: 60px; }
  .service-exam-list .exam-terms {
    margin-top: 1.5em; }
    .service-exam-list .exam-terms li {
      line-height: 1.8;
      padding-left: 2em; }
      .service-exam-list .exam-terms li.terms01 {
        background: url("../images/icon_people.svg") no-repeat left center; }
      .service-exam-list .exam-terms li.terms02 {
        background: url("../images/icon_cat.svg") no-repeat left center; }
      .service-exam-list .exam-terms li.terms03 {
        background: url("../images/icon_check.svg") no-repeat left center; }
  .service-exam-list .exam-estimate {
    margin-top: 1.2em;
    border-top: 1px solid #734a00;
    width: 100%; }
  .service-exam-list .exam-estimate-care {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0.7em 0; }
    .service-exam-list .exam-estimate-care .fee {
      flex: 1;
      font-size: 17px;
      font-size: 1.7rem;
      text-align: right; }
  .service-exam-list .exam-estimate-chart {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0.7em 0;
    border-top: 1px dotted #734a00;
    border-bottom: 1px solid #734a00; }
    .service-exam-list .exam-estimate-chart .fee {
      flex: 1;
      font-size: 17px;
      font-size: 1.7rem;
      text-align: right; }
  .service-exam-list .exam-estimate-total {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 1em 0 0; }
    .service-exam-list .exam-estimate-total .bold {
      color: #ed8686;
      font-size: 20px;
      font-size: 2rem;
      font-weight: 700; }
    .service-exam-list .exam-estimate-total .fee {
      flex: 1;
      font-size: 24px;
      font-size: 2.4rem;
      text-align: right;
      font-weight: 700; }
      .service-exam-list .exam-estimate-total .fee .yen {
        font-size: 17px;
        font-size: 1.7rem; }

.service-price-inner .btn-main {
  width: 480px;
  margin: 60px auto 0; }

.service-parts01 {
  position: absolute;
  top: -260px;
  right: 60px;
  z-index: 10; }

.service-parts02 {
  position: absolute;
  top: 220px;
  left: 60px;
  z-index: 10; }

.service-parts03 {
  position: absolute;
  bottom: 300px;
  right: 0;
  z-index: 10; }

.service-flow {
  width: 100%;
  clear: both;
  background: #faf9f2;
  padding: 0;
  position: relative;
  z-index: 2; }
  .service-flow::before {
    content: '';
    position: absolute;
    background: url("../images/tp_info_top.png") no-repeat top center;
    width: 100%;
    height: 110px;
    margin: 0 auto;
    top: -110px;
    left: 0;
    right: 0;
    z-index: 2; }

.service-flow-step {
  width: 100%;
  max-width: 1200px;
  margin: 40px auto 0; }

.step-box {
  background: #fff;
  border-radius: 40px;
  margin-bottom: 90px;
  padding: 40px 80px;
  display: flex;
  justify-content: space-between;
  position: relative; }
  .step-box::after {
    content: '';
    position: absolute;
    background: url("../images/service_step_arrow@2x.png") no-repeat;
    background-size: 19px;
    width: 19px;
    height: 50px;
    bottom: -70px;
    left: 0;
    right: 0;
    margin: 0 auto; }
  .step-box:last-child::after {
    display: none; }
  .step-box .step-img {
    width: 260px; }
    .step-box .step-img img {
      width: auto; }
  .step-box .step-detail {
    flex: 1; }
    .step-box .step-detail h3 {
      font-size: 20px;
      font-size: 2rem;
      padding: 1em 0;
      font-weight: 700;
      border-bottom: 1px dotted #ed8686;
      margin-bottom: 1.2em; }
    .step-box .step-detail .attent {
      margin-top: 1em; }
      .step-box .step-detail .attent li {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.8;
        text-indent: -1em;
        padding-left: 1em; }
    .step-box .step-detail p {
      margin-bottom: 1.2em; }

.line-penlil {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 2em;
  position: relative;
  z-index: 0; }
  .line-penlil::before {
    content: '';
    position: absolute;
    background: url("../images/common/parts_pencilline.png") no-repeat;
    width: 185px;
    height: 103px;
    top: -90px;
    left: -80px; }

.service-guide {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 60px;
  padding-bottom: 100px;
  position: relative; }
  .service-guide .btn-main {
    width: 480px;
    margin: 60px auto 0; }

/* profile
----------------------------------------------------------- */
.profile-sitter {
  width: 100%;
  clear: both;
  padding-bottom: 0; }

.profile-sitter-inner {
  padding: 0 4%; }

.p-sitter-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  background: url("../images/common/bg_dot_bl.png");
  padding: 30px;
  margin-top: 50px;
  position: relative; }

.p-sitter-box {
  background: #fff;
  padding: 60px; }

.p-sitter-box_top {
  position: relative; }

.sitter-img01 {
  position: absolute;
  top: -10px;
  right: 150px;
  z-index: 0; }
  .sitter-img01::after {
    content: '';
    position: absolute;
    background: url("../images/profile_img01_parts.png") no-repeat;
    width: 182px;
    height: 168px;
    top: 300px;
    left: 20px;
    z-index: -1; }

.sitter-img02 {
  position: absolute;
  top: 250px;
  right: 0;
  z-index: 0; }
  .sitter-img02::after {
    content: '';
    position: absolute;
    background: url("../images/profile_img02_parts.png") no-repeat;
    width: 182px;
    height: 168px;
    top: -190px;
    right: 0;
    z-index: -1; }

.sitter-info {
  width: 450px;
  background: #fcf8f7;
  border-radius: 40px;
  padding: 2.8em 3.2em;
  position: relative; }
  .sitter-info::before {
    content: '';
    position: absolute;
    background: url("../images/common/parts_asiato_pink.png") no-repeat top right;
    width: 53px;
    height: 68px;
    bottom: 10px;
    right: 20px;
    z-index: 1; }
  .sitter-info h3 {
    font-size: 30px;
    font-size: 3rem;
    letter-spacing: 0.1em;
    font-weight: 700; }
    .sitter-info h3 span {
      font-size: 17px;
      font-size: 1.7rem;
      font-weight: 700; }
  .sitter-info .en {
    color: #ed8686;
    font-size: 20px;
    font-size: 2rem; }
  .sitter-info .date {
    margin-top: 1em; }
    .sitter-info .date li {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 1.6; }

.ttl-mokumoku {
  color: #fff;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 700;
  position: relative;
  z-index: 0;
  width: 220px;
  text-align: center; }
  .ttl-mokumoku::after {
    content: '';
    position: absolute;
    background: url("../images/common/parts_mokumoku_short.svg") no-repeat top center;
    width: 220px;
    height: 70px;
    top: -0.9em;
    left: 0;
    z-index: -1;
    text-align: center; }

.sitter-history {
  margin-top: 70px; }
  .sitter-history ul {
    margin-top: 2.8em; }
  .sitter-history li {
    line-height: 1.8; }

.sitter-hobby {
  margin-top: 70px; }

.hobby-inner {
  margin-top: 3.5em;
  display: flex;
  justify-content: space-between; }

.hobby-box {
  width: calc((100% / 2) - 40px);
  display: flex;
  justify-content: space-between; }
  .hobby-box .hobby-img {
    width: 150px; }
  .hobby-box .hobby-txt {
    width: calc(100% - 180px);
    padding-top: 1.2em; }
    .hobby-box .hobby-txt h4 {
      font-size: 17px;
      font-size: 1.7rem;
      color: #ed8686;
      font-weight: 700;
      margin-bottom: 1em; }

.profile-greeting .sub-base-ttl, .profile-document .sub-base-ttl {
  margin-top: 0;
  padding-bottom: 80px; }
  .profile-greeting .sub-base-ttl::before, .profile-document .sub-base-ttl::before {
    display: none; }

.profile-greeting {
  width: 100%;
  padding-bottom: 180px;
  position: relative;
  z-index: 0; }
  .profile-greeting::after {
    content: '';
    position: absolute;
    background: url("../images/common/bg_pink.png");
    width: 100%;
    height: calc(100% - 600px);
    top: 600px;
    left: 0;
    z-index: -1; }

.profile-greeting-inner {
  padding-top: 270px;
  position: relative;
  z-index: 12; }
  .profile-greeting-inner::before {
    content: '';
    position: absolute;
    background: url("../images/profile_message_bg_bl.png") no-repeat top right;
    width: 1264px;
    height: 1347px;
    top: 0;
    right: 0;
    z-index: -1; }
  .profile-greeting-inner::after {
    content: '';
    position: absolute;
    background: url("../images/profile_message_bg_pink.png") no-repeat top left;
    width: 1346px;
    height: 1421px;
    top: 100px;
    left: 0;
    z-index: -2; }

.p-greeting-contents {
  width: 100%;
  max-width: 1200px;
  margin: 30px auto 0; }

.greeting-box {
  display: flex;
  justify-content: space-between;
  align-items: center; }

.greeting-box-img img {
  width: auto; }

.greeting-box-txt {
  width: calc(100% - 460px);
  padding-top: 1.5em; }
  .greeting-box-txt p {
    font-size: 17px;
    font-size: 1.7rem;
    margin-bottom: 1.5em; }

.greeting-box.box01 .greeting-box-img img {
  margin-right: 90px; }

.greeting-box.box02 {
  flex-direction: row-reverse; }
  .greeting-box.box02 .greeting-box-img {
    text-align: right; }
    .greeting-box.box02 .greeting-box-img img {
      margin-left: 80px; }
  .greeting-box.box02 .greeting-box-txt {
    padding-left: 60px; }

.greeting-box.box04 {
  flex-direction: row-reverse;
  margin-top: -80px; }
  .greeting-box.box04 .greeting-box-img {
    text-align: right; }
    .greeting-box.box04 .greeting-box-img img {
      margin-left: 60px;
      margin-right: 100px; }

.profile-parts01 {
  position: absolute;
  top: 40px;
  left: 30px;
  z-index: 13; }

.profile-parts02 {
  position: absolute;
  top: 1200px;
  right: 0;
  z-index: 13; }

@media screen and (min-width: 769px) and (max-width: 1480px) {
  .profile-parts02 {
    display: none; } }
.profile-document {
  width: 100%;
  clear: both;
  background: #faf9f2;
  padding: 0 4% 120px;
  position: relative;
  z-index: 2; }
  .profile-document::before {
    content: '';
    position: absolute;
    background: url("../images/tp_info_top.png") no-repeat top center;
    width: 100%;
    height: 110px;
    margin: 0 auto;
    top: -110px;
    left: 0;
    right: 0;
    z-index: 2; }

.doc-contents {
  width: 100%;
  max-width: 1200px;
  margin: 50px auto 0;
  background: #fff;
  border-radius: 40px;
  padding: 3em 5em; }
  .doc-contents th {
    width: 25%; }
  .doc-contents td {
    width: auto; }

.profile-parts03 {
  position: absolute;
  top: -230px;
  left: 0;
  z-index: 10; }

/* faq
----------------------------------------------------------- */
.faq-list {
  width: 100%;
  margin-top: 70px;
  padding: 0 4% 70px; }

.faq-list-inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto; }
  .faq-list-inner li {
    background: #fff;
    width: 100%;
    border-radius: 40px;
    padding: 30px 80px;
    margin-bottom: 24px; }
  .faq-list-inner .question-area {
    border-bottom: 1px dotted #ed8686;
    display: flex;
    align-items: center;
    padding-bottom: 1em;
    margin-bottom: 1em; }
    .faq-list-inner .question-area .en {
      color: #ed8686;
      font-family: 'Amatic SC', cursive, serif;
      line-height: 1.0;
      font-size: 50px;
      font-size: 5rem;
      font-weight: 700; }
    .faq-list-inner .question-area .q-txt {
      padding-left: 1.5em;
      font-size: 20px;
      font-size: 2rem;
      font-weight: 700; }
  .faq-list-inner .answer-area {
    display: flex; }
    .faq-list-inner .answer-area .en {
      color: #5fb0b8;
      font-family: 'Amatic SC', cursive, serif;
      line-height: 1.0;
      font-size: 50px;
      font-size: 5rem;
      font-weight: 700; }
    .faq-list-inner .answer-area .answer-txt {
      padding-left: 1.5em;
      padding-top: 0.5em; }

/* contact
----------------------------------------------------------- */
.contact .ft-inner,
.contact .side-contact {
  display: none; }

.contact-inner {
  padding-bottom: 160px; }

.contact-intro {
  width: 100%;
  max-width: 1200px;
  margin: 3em auto;
  padding: 0 4%;
  text-align: center; }

/*入力画面*/
.contact-form {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 3em 4.5em;
  background: #fff;
  border-radius: 40px; }

.contact-attent {
  background: #fbf4f2;
  border-radius: 30px;
  padding: 2em;
  margin-bottom: 2em; }
  .contact-attent p {
    font-size: 13px;
    font-size: 1.3rem; }

.contact-form th {
  width: 30%;
  position: relative;
  vertical-align: top; }
  .contact-form th .form-item {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700; }
  .contact-form th .required {
    background: #ed8686;
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.5em 1em 0.6em;
    border-radius: 15px;
    vertical-align: middle;
    position: absolute;
    right: 0;
    top: 1.2em; }
.contact-form td {
  width: auto;
  padding-left: 3em; }
  .contact-form td li {
    display: inline-block;
    padding-right: 2em; }
  .contact-form td input {
    border: 1px solid #fff;
    background: #eef8f7;
    font-size: 16px;
    font-size: 1.6rem;
    color: #734a00;
    border-radius: 25px;
    padding: 0 1em; }
    .contact-form td input.middle {
      width: 400px;
      height: 50px; }
    .contact-form td input.long {
      width: 100%;
      height: 50px; }
  .contact-form td textarea {
    border: 1px solid #fff;
    background: #eef8f7;
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 游ゴシック, YuGothic, メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px;
    font-size: 1.6rem;
    color: #734a00;
    width: 100%;
    height: 100px;
    border-radius: 25px;
    padding: 1em; }

.contact-privacy {
  border: 8px solid #fbf4f2;
  background: #fff;
  margin-top: 2.4em;
  padding: 1.5em;
  height: 180px;
  overflow: auto; }
  .contact-privacy h2 {
    font-weight: 700;
    font-size: 15px;
    font-size: 1.5rem;
    margin-bottom: 1em; }
  .contact-privacy dt {
    font-weight: 700;
    margin-bottom: 0.5em;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.6; }
  .contact-privacy dd {
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 2em;
    line-height: 1.6; }

.privacy-check {
  margin-top: 2.5em;
  text-align: center;
  vertical-align: middle; }
  .privacy-check .check-txt {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.0;
    padding-left: 0.5em; }

.submit-inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative; }
  .submit-inner .submit-btn {
    width: 600px;
    background: #ed8686;
    border: 1px solid #ed8686;
    border-radius: 40px;
    color: #FFF;
    display: block;
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 700;
    text-align: center;
    line-height: 80px;
    margin: 2em auto 0;
    outline: none;
    transition: all .3s;
    cursor: pointer; }
    .submit-inner .submit-btn:hover {
      background: #FFF;
      border: 1px solid #ed8686;
      color: #ed8686; }

/*確認画面*/
.contact-inner.conf {
  padding-top: 40px; }
  .contact-inner.conf .contact-form {
    padding: 2em 4.5em; }

.submit-inner .back-btn {
  width: auto;
  background: #555;
  border: 1px solid #555;
  border-radius: 40px;
  color: #fff;
  display: block;
  font-size: 15px;
  font-size: 1.5rem;
  text-align: center;
  padding: 0.5em 1.5em;
  position: absolute;
  top: 1.5em;
  left: 0;
  outline: none;
  transition: all .3s;
  cursor: pointer; }
  .submit-inner .back-btn:hover {
    background: #FFF;
    border: 1px solid #ed8686;
    color: #ed8686; }

/*エラー画面*/
.contact-inner.error {
  position: relative;
  z-index: 5; }
  .contact-inner.error .contact-error {
    width: 100%;
    max-width: 1200px;
    margin: 40px auto 40px; }
  .contact-inner.error .contact-form {
    padding: 2em 4.5em; }

.msg {
  color: #fc3030;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700; }

/*送信完了ページ*/
.contact-inner.thanks {
  padding: 0;
  height: 60vh; }

.contact-thanks {
  text-align: center;
  margin: 70px 0 0; }
  .contact-thanks p {
    font-size: 18px;
    font-size: 1.8rem; }
  .contact-thanks .btn-main {
    width: 480px;
    margin: 120px auto 0; }
    .contact-thanks .btn-main a span {
      background: none; }
    .contact-thanks .btn-main a:hover span {
      background: none; }
