@charset "UTF-8";
/* ==========================================================
0～768px
========================================================== */
@media screen and (max-width: 768px) {
  .pc {
    display: none; }

  #wrapper {
    background: url("../images/common/head_bg_l.png") no-repeat top left;
    background-size: 62vw; }

  .btn-main a span {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.05em; }

  .btn-main.btn-pink a span {
    background: url("../images/common/icon_arrow_w.svg") no-repeat 92% 48%; }

  .btn-main.btn-white a span {
    color: #ed8686;
    background: url("../images/common/icon_arrow_pink.svg") no-repeat 92% 48%; }

  /* header
  ----------------------------------------------------------- */
  /*logo*/
  .head-logo {
    padding: 15px 0 0 2%; }
    .head-logo img {
      width: 180px;
      height: auto; }

  /* nav
  ----------------------------------------------------------- */
  .hamburger {
    background: #fff;
    background: url("../images/common/bg_pink.png");
    display: block;
    width: 60px;
    height: 60px;
    position: fixed;
    top: 4px;
    right: 4px;
    z-index: 10000;
    padding: 16px;
    box-sizing: border-box;
    touch-action: manipulation;
    border-radius: 57% 43% 62% 38%/42% 57% 43% 58%; }

  .hamburger__icon {
    position: relative;
    margin-top: 14px;
    margin-bottom: 0; }

  .hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
    display: block;
    width: 26px;
    height: 2px;
    background-color: #ed8686 !important;
    transition-property: background-color, transform;
    transition-duration: 0.4s; }

  .hamburger__icon:before, .hamburger__icon:after {
    position: absolute;
    content: ""; }

  .hamburger__icon:before {
    top: -7px; }

  .hamburger__icon:after {
    top: 7px; }

  .hamburger.active .hamburger__icon {
    background-color: transparent; }

  .hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
    background-color: #fff; }

  .hamburger.active .hamburger__icon:before {
    transform: translateY(7px) rotate(45deg); }

  .hamburger.active .hamburger__icon:after {
    transform: translateY(-7px) rotate(-45deg); }

  .hamburger.active .hamburger__icon {
    width: 0; }

  .fat-nav {
    top: 0;
    left: 0;
    z-index: 9999;
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    background: url("../images/common/bg_pink.png");
    transition-property: transform;
    transition-duration: 0.4s;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch; }

  .fat-nav__wrapper {
    width: 100%;
    height: 100%; }

  .fat-nav.active {
    transform: scale(1); }

  .head-nav-sp {
    width: 100%;
    margin: 0 auto;
    /*logo*/
    /*nav*/ }
    .head-nav-sp .head-logo {
      padding: 16px 0 0 2%; }
      .head-nav-sp .head-logo img {
        width: 180px;
        height: auto; }
    .head-nav-sp .global-nav {
      padding: 0 4%;
      margin-top: 1em; }
      .head-nav-sp .global-nav .menu {
        flex-direction: column;
        justify-content: flex-end; }
        .head-nav-sp .global-nav .menu .gnav {
          margin-left: 0; }
          .head-nav-sp .global-nav .menu .gnav a {
            padding: 1em 0 1.2em;
            background-color: #faf9f2; }
          .head-nav-sp .global-nav .menu .gnav.g-service a {
            background-position: 4% 50%;
            padding-left: 3em; }
          .head-nav-sp .global-nav .menu .gnav.g-profile a {
            background-position: 4% 50%;
            padding-left: 3em; }
          .head-nav-sp .global-nav .menu .gnav.g-faq a {
            background-position: 4% 50%;
            padding-left: 3em; }
          .head-nav-sp .global-nav .menu .gnav.g-blog a {
            background-position: 4% 50%;
            padding-left: 3em; }
        .head-nav-sp .global-nav .menu .snsnav {
          display: none; }

  .head-sns-sp {
    width: 92%;
    margin: 0 auto; }
    .head-sns-sp ul {
      display: flex;
      justify-content: center; }
    .head-sns-sp li {
      padding: 2em 1em 2em; }

  .head-contact-sp {
    display: block;
    text-align: center; }
    .head-contact-sp .head-contact-nav {
      padding-top: 0;
      margin-right: 0;
      text-align: center; }
      .head-contact-sp .head-contact-nav img {
        width: 40%; }
    .head-contact-sp .head-contact-tel {
      position: relative;
      padding: 0;
      margin-right: 0;
      margin-top: 0.2em; }
      .head-contact-sp .head-contact-tel::before {
        display: none; }
      .head-contact-sp .head-contact-tel a {
        font-size: 22px;
        font-size: 2.2rem;
        display: inline-block;
        position: relative; }
        .head-contact-sp .head-contact-tel a::before {
          content: '';
          position: absolute;
          background: url("../images/common/head_tel@2x.png") no-repeat top left;
          background-size: 50px;
          width: 50px;
          height: 50px;
          top: 0;
          left: -60px; }
      .head-contact-sp .head-contact-tel .small {
        font-size: 12px;
        font-size: 1.2rem;
        margin-top: 0.5em; }
    .head-contact-sp .btn-main {
      width: 90%;
      margin: 1em auto 0; }

  /* visual
  ----------------------------------------------------------- */
  #tp-visual {
    margin-top: 18px; }
    #tp-visual::after {
      background: url("../images/common/head_bg_r.png") no-repeat top right;
      background-size: 100vw;
      width: 500px;
      height: 500px;
      top: 100px; }

  .tp-visual-inner {
    display: block;
    padding-left: 0; }

  .tp-visual-img {
    width: 96%;
    margin: 0 auto;
    max-width: none; }

  .tp-visual-copy {
    width: 96%;
    margin: -20px auto 0;
    padding-right: 0;
    padding-left: 10px; }
    .tp-visual-copy img {
      width: 90%; }

  /*パーツ*/
  .tp-parts01 {
    top: 8px;
    left: 0;
    width: 100px; }

  .tp-parts02 {
    top: 170px;
    width: 100px; }

  /*固定ボタン*/
  .side-contact {
    right: 4px;
    bottom: 4px; }
    .side-contact a img {
      width: 100px;
      height: auto; }

  /* #tp-what
  ----------------------------------------------------------- */
  #tp-what {
    padding: 120px 0 120px; }

  .tp-what-inner {
    width: 100%;
    clear: both;
    display: block; }

  .tp-what-content {
    width: 92%;
    margin: 0 auto 40px; }
    .tp-what-content .tp-what-en {
      text-align: center; }
      .tp-what-content .tp-what-en img {
        width: 70vw; }
    .tp-what-content h2 {
      font-size: 18px;
      font-size: 1.8rem;
      margin-top: 1em;
      margin-bottom: 1em;
      padding-bottom: 1.5em;
      text-align: center; }
    .tp-what-content .tp-what-detail {
      display: block; }
    .tp-what-content .what-img {
      margin-left: 0;
      text-align: center; }
    .tp-what-content .what-txt {
      flex: 1;
      padding-left: 0;
      margin-top: 1em; }

  .tp-what-exam {
    width: 92%;
    margin: 0 auto;
    text-align: center; }
    .tp-what-exam ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
    .tp-what-exam .what-exam01 {
      position: static;
      width: 49%; }
    .tp-what-exam .what-exam02 {
      position: static;
      width: 49%;
      margin-top: 40px; }
    .tp-what-exam .what-exam03 {
      position: static;
      width: 49%;
      margin: 15px auto 0; }

  /*パーツ*/
  .tp-parts03 {
    top: auto;
    bottom: 50px;
    right: 20px; }

  /* #tp-about
  ----------------------------------------------------------- */
  #tp-about {
    padding-bottom: 80px; }

  .tp-about-ttl::before {
    background-size: 60px;
    width: 60px;
    height: 100%;
    top: 130px;
    bottom: auto;
    right: 2%; }
  .tp-about-ttl .tp-about-lead {
    top: -10px; }
    .tp-about-ttl .tp-about-lead img {
      width: 80vw; }
  .tp-about-ttl h2 {
    font-size: 28px;
    font-size: 2.8rem;
    margin-top: 1.2em;
    padding-bottom: 1.5em;
    margin-bottom: 1.5em; }
    .tp-about-ttl h2::before {
      background-position: top center;
      background-size: 50px;
      width: 100%;
      height: 100%;
      top: -50px;
      left: 0;
      right: 0;
      margin: 0 auto;
      text-align: center; }
    .tp-about-ttl h2::after {
      background-size: 50vw;
      width: 100%;
      height: 100%;
      bottom: 0;
      left: 0;
      right: 0;
      margin: 0 auto; }
    .tp-about-ttl h2 span {
      font-size: 18px;
      font-size: 1.8rem; }

  .tp-about-list {
    width: 92%;
    margin: 0 auto; }
    .tp-about-list ul {
      display: block; }
    .tp-about-list li {
      width: 100%; }
      .tp-about-list li:nth-child(2n) {
        margin-top: 80px; }
      .tp-about-list li:nth-child(3n) {
        margin-top: 80px; }
    .tp-about-list h3 {
      font-size: 20px;
      font-size: 2rem;
      margin-top: 2.4em; }
    .tp-about-list .tp-about-comment {
      margin-top: 1.5em; }

  .tp-about-en {
    display: none; }

  /* #tp-service
  ----------------------------------------------------------- */
  #tp-service {
    padding-bottom: 100px; }
    #tp-service::after {
      background: url("../images/tp_service_bg.png") no-repeat 42% 0;
      background-size: 560%;
      width: 100%;
      height: 100%;
      top: 140px;
      left: 0; }

  .tp-service-inner {
    width: 100%;
    clear: both;
    padding: 120px 4% 0; }

  .tp-service-ttl {
    display: block;
    margin-bottom: 72px; }
    .tp-service-ttl::before {
      width: 128px;
      height: 107px;
      top: -30px;
      left: auto;
      right: 0; }
    .tp-service-ttl .ttl-en {
      font-size: 80px;
      font-size: 8rem;
      text-align: left; }
    .tp-service-ttl h2 {
      margin-left: 2em; }
      .tp-service-ttl h2::after {
        background: url("../images/tp_service_line.png") no-repeat left bottom;
        background-size: 100%;
        width: calc(100% - 2em);
        height: 100%;
        bottom: -1em;
        left: 0; }
      .tp-service-ttl h2 span {
        font-size: 14px;
        font-size: 1.4rem; }

  .tp-service-point ul {
    display: block; }
  .tp-service-point li {
    width: 100%;
    margin-bottom: 64px; }
    .tp-service-point li figure img {
      width: 80%; }
  .tp-service-point h3 {
    text-align: center;
    margin-top: 1.2em; }
  .tp-service-point p {
    margin-top: 1.2em; }

  .tp-service-inner .btn-main {
    width: 100%;
    margin: 3em auto 0; }

  /*パーツ*/
  .tp-parts04 {
    top: -120px;
    left: 10%; }
    .tp-parts04 img {
      width: 90%; }

  .tp-parts05 {
    bottom: 70px;
    left: 0; }
    .tp-parts05 img {
      width: 40%; }

  /* #tp-message
  ----------------------------------------------------------- */
  #tp-message {
    padding: 70px 4% 150px; }
    #tp-message::after {
      content: '';
      position: absolute;
      background: url("../images/tp_message_bg.png") no-repeat 100% 0;
      background-size: 180%;
      width: 100%;
      height: 100%;
      top: 0;
      right: 0; }

  .tp-message-inner {
    width: 100%;
    clear: both;
    display: block;
    padding: 0; }

  .tp-message-img {
    width: 88%;
    margin-top: 0; }
    .tp-message-img::after {
      width: 100%;
      height: 100%; }

  .tp-message-detail {
    width: 100%; }

  .tp-message-ttl {
    margin-top: -5px; }
    .tp-message-ttl .ttl-en {
      font-size: 80px;
      font-size: 8rem;
      text-align: right; }
    .tp-message-ttl h2 {
      margin: 1em 0;
      text-align: center; }
      .tp-message-ttl h2 img {
        width: 80%; }

  #tp-message .btn-main {
    width: 92%;
    margin: 3em auto 0; }

  /*パーツ*/
  .tp-parts06 {
    top: 0;
    left: auto;
    right: 0;
    text-align: right; }
    .tp-parts06 img {
      width: 50%; }

  .tp-parts07 {
    bottom: 100px;
    right: auto;
    left: 0; }
    .tp-parts07 img {
      width: 70%; }

  /* #tp-info
  ----------------------------------------------------------- */
  #tp-info {
    padding: 0 4% 40px; }
    #tp-info::before {
      background-size: 150%;
      width: 100%;
      height: 100%;
      top: -8vw;
      z-index: -1; }

  .tp-info-inner {
    width: 100%;
    clear: both;
    display: block;
    padding-top: 40px; }

  .tp-info-area {
    width: 100%; }
    .tp-info-area .tp-info-ttl {
      margin-bottom: 2em;
      text-align: center; }
      .tp-info-area .tp-info-ttl::before {
        top: -36px;
        left: 0;
        right: 0;
        margin: 0 auto; }
      .tp-info-area .tp-info-ttl .ttl-en {
        font-size: 60px;
        font-size: 6rem; }
      .tp-info-area .tp-info-ttl h2 {
        font-size: 18px;
        font-size: 1.8rem; }

  .tp-info-list {
    margin-top: 0; }
    .tp-info-list li {
      padding-bottom: 1.2em;
      margin-bottom: 1.2em;
      display: block; }
      .tp-info-list li .date {
        display: block;
        margin-bottom: 0.5em; }
        .tp-info-list li .date::before {
          top: 0.6em; }
      .tp-info-list li a {
        flex: none; }

  .tp-info-twitter {
    width: 100%;
    margin-top: 60px; }

  #tp-info .btn-sub {
    width: 80%;
    margin: 2em auto 0; }

  /* #tp-insta
  ----------------------------------------------------------- */
  .tp-insta {
    padding: 0 4% 80px; }

  .tp-insta-img {
    display: block; }

  .tp-insta-img01 {
    width: 100%; }

  .tp-insta-img02 {
    width: 100%; }

  .tp-insta-link {
    width: 100%;
    background: #fff;
    position: static;
    transform: none;
    text-align: center; }
    .tp-insta-link img {
      width: 50vw; }

  /* footer
  ----------------------------------------------------------- */
  .ft-inner::after {
    display: none; }

  .ft-area-contact {
    display: block; }

  .ft-area {
    width: 100%;
    padding: 0 4% 100px;
    border-radius: 0; }

  .ft-area-inner {
    width: 100%; }
    .ft-area-inner h2 {
      font-size: 24px;
      font-size: 2.4rem;
      margin-bottom: 1em;
      padding-top: 2em; }
      .ft-area-inner h2::before {
        background-size: 60px; }
    .ft-area-inner .ft-area-img img {
      width: 100%; }
    .ft-area-inner .btn-main {
      width: 80%; }
      .ft-area-inner .btn-main a span {
        font-size: 14px;
        font-size: 1.4rem; }

  .ft-contact {
    width: 100%;
    padding: 0 4%;
    margin-bottom: 100px; }

  .ft-contact-inner {
    width: 100%; }
    .ft-contact-inner h2 {
      font-size: 24px;
      font-size: 2.4rem;
      margin-bottom: 1em;
      padding-top: 2em; }
      .ft-contact-inner h2::before {
        background-size: 60px; }
    .ft-contact-inner .ft-contact-box {
      padding: 1.5em 4%; }
    .ft-contact-inner .btn-main span {
      font-size: 18px;
      font-size: 1.8rem; }
    .ft-contact-inner .ft-contact-tel {
      margin-top: 1.5em; }
      .ft-contact-inner .ft-contact-tel a {
        font-size: 20px;
        font-size: 2rem; }
        .ft-contact-inner .ft-contact-tel a::before {
          background-size: 40px;
          width: 40px;
          height: 40px;
          top: 0;
          left: -50px; }
      .ft-contact-inner .ft-contact-tel .small {
        margin-top: 0.2em;
        margin-left: 0; }

  /*パーツ*/
  .ft-area-en {
    top: 30px;
    left: 0;
    width: 70px; }

  .ft-contact-en {
    top: auto;
    bottom: 70px;
    right: auto;
    left: 0;
    width: 70px; }

  .ft-nikukyu {
    top: auto;
    bottom: -70px;
    left: auto;
    right: 4%;
    width: 60%; }

  .ft-info {
    width: 100%;
    background: #faf9f2;
    border-radius: 100px 100px 0 0; }

  .ft-info-inner {
    width: 100%;
    display: block;
    padding: 40px 10% 40px; }

  .ft-info-base {
    width: auto;
    position: relative;
    padding-left: 0;
    padding-bottom: 0; }
    .ft-info-base .ft-logo {
      margin-bottom: 1em; }
      .ft-info-base .ft-logo img {
        width: 60%; }
    .ft-info-base .ft-copyright {
      margin-top: 3em; }

  .ft-info-nav {
    flex: none;
    padding: 0;
    margin-top: 0; }
    .ft-info-nav nav {
      display: none; }
    .ft-info-nav aside ul {
      justify-content: start; }
    .ft-info-nav aside li {
      margin-left: 0;
      margin-right: 24px;
      margin-top: 40px; }

  /* sub_common
  ----------------------------------------------------------- */
  #sub #wrapper {
    background-size: 62vw; }

  #sub-visual {
    width: 100%;
    clear: both;
    position: relative; }
    #sub-visual::after {
      background: url("../images/common/head_bg_r.png") no-repeat top right;
      background-size: 40vw;
      width: 100%;
      height: 100vh;
      top: 100px; }

  .sub-visual-ttl {
    background: url("../images/common/sub_ttl_line.png") no-repeat bottom center;
    background-size: 150%;
    padding: 40px 4%; }
    .sub-visual-ttl h1 span {
      font-size: 28px;
      font-size: 2.8rem; }
      .sub-visual-ttl h1 span::before {
        content: '';
        position: absolute;
        background: url("../images/common/sub_ttl_nikukyu.svg") no-repeat top left;
        background-size: 70px;
        width: 70px;
        height: 100px;
        top: -30px;
        left: -30px; }
    .sub-visual-ttl .ttl-en {
      font-size: 24px;
      font-size: 2.4rem;
      margin-top: 0.5em; }

  /*パーツ*/
  #sub .tp-parts01 {
    width: 50px;
    top: 20px;
    left: 0;
    z-index: 2; }

  #sub .tp-parts02 {
    width: 50px;
    position: absolute;
    top: 40px;
    right: 0;
    z-index: 2; }

  .breadCrumb {
    padding: 0 4% 80px; }

  th,
  td {
    display: block;
    text-align: center;
    padding: 1em 4%; }

  /* service
  ----------------------------------------------------------- */
  .sub-lead-visual {
    max-width: 1520px;
    margin: 30px auto 0; }
    .sub-lead-visual img {
      border-radius: 40px; }

  .sub-base-ttl {
    margin-top: 10px;
    padding-bottom: 48px; }
    .sub-base-ttl::before {
      background-size: 40vw;
      width: 100%;
      height: 100%;
      top: -30px; }
    .sub-base-ttl::after {
      background: url("../images/common/line_ribbon.png") no-repeat bottom center;
      background-size: 60vw;
      width: 100%; }
    .sub-base-ttl .en {
      font-size: 64px;
      font-size: 6.4rem; }
    .sub-base-ttl h2 {
      font-size: 20px;
      font-size: 2rem; }

  .s-care-list::after {
    content: '';
    position: absolute;
    background: url("../images/service_flow_bg.svg") no-repeat top left;
    width: 100%;
    height: 100%;
    top: 160px;
    left: 0; }
  .s-care-list ul {
    display: block;
    padding: 0 4%; }
  .s-care-list li {
    width: 100%;
    text-align: center;
    margin-bottom: 60px; }
    .s-care-list li img {
      width: 80%; }
    .s-care-list li h3 {
      font-size: 22px;
      font-size: 2.2rem;
      margin-top: 1.2em; }
    .s-care-list li .s-care-txt {
      padding: 0;
      text-align: left; }
    .s-care-list li:nth-child(4) {
      margin-top: 0;
      margin-left: 0; }
    .s-care-list li:nth-child(5) {
      margin-top: 0;
      margin-right: 0; }

  .service-price {
    padding-bottom: 120px; }
    .service-price::after {
      width: 100%;
      height: calc(100% - 300px);
      top: 300px; }

  .service-price-inner {
    padding-top: 120px; }
    .service-price-inner::before {
      background-size: 90vw;
      width: 100%;
      height: 100%;
      top: 20px; }
    .service-price-inner::after {
      background-size: 70vw;
      width: 100%;
      height: 100%;
      top: -20px; }

  .service-price-inner .sub-base-ttl, .service-flow .sub-base-ttl {
    padding-bottom: 60px;
    z-index: 5; }

  .s-price-info {
    margin: 30px auto 0;
    padding: 0 4%; }
    .s-price-info li {
      line-height: 1.6; }

  .s-price-table {
    padding: 0 4%; }
    .s-price-table dl {
      display: block;
      margin-bottom: 10px; }
    .s-price-table dt {
      font-size: 18px;
      font-size: 1.8rem;
      width: 100%;
      padding: 1em 4%;
      display: block; }
    .s-price-table dd {
      padding: 1.5em 4%; }

  .price-area-list h3 {
    font-size: 17px;
    font-size: 1.7rem;
    padding: 0.5em 4% 0.6em; }
  .price-area-list .price-txt {
    font-size: 24px;
    font-size: 2.4rem; }
    .price-area-list .price-txt span {
      font-size: 15px;
      font-size: 1.5rem; }

  .price-area-chart h3 {
    font-size: 17px;
    font-size: 1.7rem;
    padding: 0.5em 4% 0.6em;
    width: 6em; }
  .price-area-chart .price-txt {
    font-size: 24px;
    font-size: 2.4rem;
    align-self: center; }
    .price-area-chart .price-txt span {
      font-size: 15px;
      font-size: 1.5rem; }

  .price-area-time h3 {
    font-size: 17px;
    font-size: 1.7rem;
    padding: 0.5em 4% 0.6em;
    width: 6em; }
  .price-area-time .price-txt {
    font-size: 24px;
    font-size: 2.4rem;
    align-self: center; }
    .price-area-time .price-txt span {
      font-size: 15px;
      font-size: 1.5rem; }

  .service-exam {
    margin: 100px auto 0;
    padding: 30px 20px 20px; }
    .service-exam h3 {
      font-size: 20px;
      font-size: 2rem;
      margin-top: -30px; }
      .service-exam h3::after {
        width: 304px;
        height: 76px;
        top: -1.3em; }

  .service-exam-inner {
    padding: 60px 4% 5px;
    display: block; }

  .service-exam-list {
    width: 100%;
    margin-bottom: 50px; }
    .service-exam-list .exam-num img {
      width: 70px; }
    .service-exam-list .exam-terms {
      margin-top: 1em; }
    .service-exam-list .exam-estimate {
      margin-top: 1.2em;
      border-top: 1px solid #734a00;
      width: 100%; }
    .service-exam-list .exam-estimate-total {
      padding: 0.5em 0 0; }
      .service-exam-list .exam-estimate-total .bold {
        font-size: 18px;
        font-size: 1.8rem; }
      .service-exam-list .exam-estimate-total .fee {
        font-size: 22px;
        font-size: 2.2rem; }

  .service-price-inner {
    z-index: 2; }
    .service-price-inner .btn-main {
      width: 90%;
      margin: 50px auto 0; }

  .service-parts01 {
    width: 100px;
    top: -40px;
    right: 10px; }

  .service-parts02 {
    width: 80px;
    top: 100px;
    left: 10px; }

  .service-parts03 {
    width: 150px;
    bottom: 30px;
    right: 0;
    z-index: 1; }

  .service-flow::before {
    background-size: 100%;
    width: 100%;
    height: 100%;
    top: -5vw;
    z-index: -1; }
  .service-flow .sub-base-ttl {
    padding-top: 40px; }

  .service-flow-step {
    margin: 40px auto 0;
    padding: 0 4%; }

  .step-box {
    margin-bottom: 90px;
    padding: 40px 4% 30px;
    display: block; }
    .step-box .step-img {
      width: 100%;
      margin: 0 auto 10px;
      text-align: center; }
      .step-box .step-img img {
        width: auto; }
    .step-box .step-detail h3 {
      text-align: center; }

  .line-penlil {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 1.2em; }
    .line-penlil::before {
      content: '';
      position: absolute;
      background: url("../images/common/parts_pencilline.png") no-repeat;
      background-size: 120px;
      top: -80px;
      left: -4%; }

  .service-guide {
    width: 92%;
    padding-top: 30px;
    padding-bottom: 100px; }
    .service-guide .btn-main {
      width: 90%;
      margin: 40px auto 0; }

  /* profile
  ----------------------------------------------------------- */
  .profile-sitter {
    padding-bottom: 50px; }

  .p-sitter-container {
    padding: 15px;
    margin-top: 40px; }

  .p-sitter-box {
    padding: 30px 4%; }

  .sitter-img01 {
    position: relative;
    text-align: center;
    margin-bottom: 20px;
    top: auto;
    left: auto;
    right: auto; }
    .sitter-img01 img {
      width: 80%; }
    .sitter-img01::after {
      background-size: 120px;
      top: 0;
      left: 0; }

  .sitter-img02 {
    position: relative;
    text-align: center;
    top: auto;
    left: auto;
    right: auto;
    margin-top: 20px; }
    .sitter-img02 img {
      width: 70%; }
    .sitter-img02::after {
      background-size: 120px;
      top: auto;
      bottom: 0;
      left: 0; }

  .sitter-info {
    width: 100%;
    padding: 1.5em 8%; }
    .sitter-info::before {
      bottom: 10px;
      right: 10px; }
    .sitter-info h3 {
      font-size: 24px;
      font-size: 2.4rem;
      text-align: center; }
      .sitter-info h3 span {
        font-size: 13px;
        font-size: 1.3rem;
        display: block;
        margin-top: 0.8em; }
    .sitter-info .en {
      font-size: 18px;
      font-size: 1.8rem;
      text-align: center;
      margin-top: 0.2em; }
    .sitter-info .date {
      margin-top: 0.8em; }

  .ttl-mokumoku {
    font-size: 20px;
    font-size: 2rem;
    width: 180px;
    margin: 0 auto;
    text-align: center; }
    .ttl-mokumoku::after {
      background: url("../images/common/parts_mokumoku_short.svg") no-repeat top left;
      background-size: 180px;
      top: -0.9em; }

  .sitter-history {
    margin-top: 70px; }
    .sitter-history ul {
      margin-top: 2.2em; }
    .sitter-history li {
      margin-bottom: 0.5em; }

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

  .hobby-inner {
    margin-top: 3em;
    display: block; }

  .hobby-box {
    width: 100%;
    margin-bottom: 24px; }
    .hobby-box .hobby-img {
      width: 35%; }
    .hobby-box .hobby-txt {
      width: calc(100% - 39%);
      padding-top: 0; }
      .hobby-box .hobby-txt h4 {
        margin-bottom: 0.5em; }

  .profile-greeting .sub-base-ttl, .profile-document .sub-base-ttl {
    margin-top: 0;
    padding-bottom: 60px; }

  .profile-greeting {
    padding-bottom: 100px; }
    .profile-greeting::after {
      height: calc(100% - 200px);
      top: 200px; }

  .profile-greeting-inner {
    padding-top: 110px;
    z-index: 11;
    position: relative; }
    .profile-greeting-inner::before {
      background-size: 85vw;
      width: 100%;
      height: 100%;
      top: 0;
      right: 0; }
    .profile-greeting-inner::after {
      background-size: 100vw;
      width: 100%;
      height: 100%;
      top: 100px;
      left: 0; }

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

  .greeting-box {
    display: block;
    margin-bottom: 50px; }

  .greeting-box-img {
    text-align: center; }
    .greeting-box-img img {
      width: 92%; }

  .greeting-box-txt {
    width: 100%; }
    .greeting-box-txt p {
      font-size: 15px;
      font-size: 1.5rem; }

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

  .greeting-box.box02 .greeting-box-img {
    text-align: center; }
    .greeting-box.box02 .greeting-box-img img {
      margin-left: 0; }
  .greeting-box.box02 .greeting-box-txt {
    padding-left: 0; }

  .greeting-box.box04 {
    margin-top: -10px; }
    .greeting-box.box04 .greeting-box-img {
      text-align: center; }
      .greeting-box.box04 .greeting-box-img img {
        margin-left: 0;
        margin-right: 0; }

  .profile-parts01 {
    width: 130px;
    top: 0;
    left: auto;
    right: 0;
    z-index: 12; }

  .profile-parts02 {
    display: none; }

  .profile-document {
    padding: 0 4% 80px; }
    .profile-document::before {
      background-size: 100%;
      width: 100%;
      height: 100%;
      top: -5vw;
      z-index: -1; }
    .profile-document .sub-base-ttl {
      padding-top: 40px; }

  .doc-contents {
    margin: 30px auto 0;
    padding: 1em 4%; }
    .doc-contents th {
      width: 100%;
      text-align: left;
      border-bottom: none;
      padding-bottom: 0; }
    .doc-contents td {
      width: auto;
      text-align: left;
      padding-top: 0.2em; }
      .doc-contents td.last {
        border-bottom: none; }

  .profile-parts03 {
    width: 200px;
    top: -150px;
    left: 30px; }

  /* faq
  ----------------------------------------------------------- */
  .faq-list {
    margin-top: 24px;
    padding: 0 4% 60px; }

  .faq-list-inner li {
    padding: 1.5em 2em; }
  .faq-list-inner .question-area .en {
    font-size: 40px;
    font-size: 4rem; }
  .faq-list-inner .question-area .q-txt {
    padding-left: 0.8em;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5; }
  .faq-list-inner .answer-area .en {
    font-size: 40px;
    font-size: 4rem; }
  .faq-list-inner .answer-area .answer-txt {
    padding-left: 0.8em; }

  /* contact
  ----------------------------------------------------------- */
  .contact #sub-visual {
    background-size: cover; }

  .contact footer {
    display: none; }

  .contact-inner {
    width: 100%;
    clear: both;
    padding: 32px 0 0; }
    .contact-inner p {
      padding: 0 5%; }

  .contact-box {
    padding: 24px 5% 40px; }
    .contact-box ul {
      margin-bottom: 32px; }
      .contact-box ul li {
        font-size: 12px;
        font-size: 1.2rem; }

  .sup {
    margin-left: 0.5em; }

  input[type="submit"] {
    -webkit-appearance: none;
    border-radius: 0; }

  .contact-input th {
    width: 100%;
    display: block;
    vertical-align: top;
    padding: 1em 2%; }
  .contact-input td {
    width: 100%;
    display: block;
    padding: 1em 2%; }

  .contact-input input {
    font-size: 15px;
    font-size: 1.5rem; }
    .contact-input input.middle {
      width: 100%;
      height: 2em; }
    .contact-input input.long {
      width: 100%;
      height: 2em; }
  .contact-input textarea {
    width: 100%;
    height: 15em;
    font-size: 15px;
    font-size: 1.5rem; }

  .submit.btn input {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 80px;
    margin: 40px auto 0;
    width: 100%; }

  .soushin.btn input {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 80px;
    margin: 30px auto 0;
    width: 100%; }
    .soushin.btn input.inback {
      line-height: 60px;
      position: static;
      width: 50%; }

  .finish-info {
    width: 90%;
    padding: 16px 0;
    margin: 32px auto; }

  .finish-back {
    width: 100%;
    margin: 0 auto; }
    .finish-back .btn {
      display: block;
      margin-right: 0;
      margin-bottom: 24px; }
      .finish-back .btn a {
        display: block;
        width: 70%;
        line-height: 60px; }

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

  .contact-intro {
    margin: 0 auto 2em;
    text-align: left; }

  /*入力画面*/
  .contact-form {
    width: 96%;
    padding: 1em 1em 2.5em; }

  .contact-attent {
    padding: 1em 0;
    margin-bottom: 2em; }

  .contact-form th {
    width: 100%;
    display: block;
    text-align: left;
    border-bottom: none;
    padding-bottom: 0; }
    .contact-form th .form-item {
      font-size: 16px;
      font-size: 1.6rem;
      vertical-align: middle; }
    .contact-form th .required {
      font-size: 14px;
      font-size: 1.4rem;
      padding: 0.2em 1em 0.3em;
      border-radius: 15px;
      position: static;
      margin-left: 0.5em; }
  .contact-form td {
    width: 100%;
    text-align: left;
    padding-left: 1em;
    padding-top: 0.8em; }
    .contact-form td li {
      display: block;
      padding-right: 0;
      text-align: left; }
    .contact-form td input {
      font-size: 15px;
      font-size: 1.5rem; }
      .contact-form td input.middle {
        width: 100%;
        height: 50px; }
      .contact-form td input.long {
        width: 100%;
        height: 50px; }
    .contact-form td textarea {
      font-size: 15px;
      font-size: 1.5rem;
      height: 160px; }

  .contact-privacy {
    margin-top: 2em;
    height: 180px;
    overflow: auto; }
    .contact-privacy h2 {
      font-size: 15px;
      font-size: 1.5rem; }

  .privacy-check {
    margin-top: 2.5em; }
    .privacy-check .check-txt {
      font-size: 16px;
      font-size: 1.6rem; }

  .submit-inner {
    width: 92%; }
    .submit-inner .submit-btn {
      width: 100%;
      border-radius: 30px;
      font-size: 20px;
      font-size: 2rem;
      line-height: 60px;
      margin: 2em auto 0; }

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

  .submit-inner .back-btn {
    font-size: 14px;
    font-size: 1.4rem;
    top: 8em; }

  /*エラー画面*/
  .contact-inner.error .contact-error {
    margin: 0 auto 2em;
    padding: 0 4%; }
  .contact-inner.error .contact-form {
    padding: 1em 1em 2.5em; }
  .contact-inner.error .submit-inner .back-btn {
    font-size: 14px;
    font-size: 1.4rem;
    position: static;
    margin-top: 2em; }

  .msg {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6; }

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

  .contact-thanks {
    margin: 60px 0 0; }
    .contact-thanks .btn-main {
      width: 80%; }
      .contact-thanks .btn-main a span {
        background: none; }
      .contact-thanks .btn-main a:hover span {
        background: none; } }
/* -----@media screen and (max-width:768px) ------ */
