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

  body {
    font-size: 15px;
    font-size: 1.5rem; }

  /*テキスト共通*/
  p {
    line-height: 2.0; }

  /* header
  ----------------------------------------------------------- */
  .head__wrap {
    padding-bottom: 320px;
    padding-bottom: 80vw; }

  .head__logo {
    width: 200px;
    padding: 10px 0 0 5%; }
    .head__logo .logo {
      width: 100%; }
    .head__logo a {
      display: flex;
      flex-direction: row; }
    .head__logo img {
      max-width: inherit;
      width: 60px; }
    .head__logo strong {
      font-size: 11px;
      font-size: 1.1rem;
      margin: 10px auto 0;
      padding: .4em .7em; }

  .head__nav {
    padding-top: 10px; }

  /* nav */
  .hamburger {
    background: #fff;
    display: block;
    width: 60px;
    height: 60px;
    padding: 30px 15px;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
    touch-action: manipulation; }

  .hamburger__icon {
    position: relative; }

  .hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
    display: block;
    width: 30px;
    height: 1px;
    background-color: #E97223 !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 {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    background: #f5ede7;
    transition-property: transform;
    transition-duration: 0.4s;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    z-index: 999; }

  .fat-nav__wrapper {
    display: block; }

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

  #global-nav, #sub #global-nav {
    padding-top: 0;
    margin-right: 0; }
    #global-nav .menu, #sub #global-nav .menu {
      display: block;
      padding: 0;
      margin-top: 20px; }
      #global-nav .menu > li, #sub #global-nav .menu > li {
        margin-bottom: 10px; }
        #global-nav .menu > li a, #sub #global-nav .menu > li a {
          color: #4c3e39;
          font-size: 17px;
          padding: 20px 0 40px;
          position: relative; }
          #global-nav .menu > li a span, #sub #global-nav .menu > li a span {
            font-size: 12px;
            margin-top: .6em; }
          #global-nav .menu > li a::before, #sub #global-nav .menu > li a::before {
            background: url("../images/common/shape_ttl.svg") no-repeat bottom center/cover;
            width: 13px;
            height: 13px;
            bottom: 0;
            top: auto;
            left: 50%;
            transform: translateX(-50%); }

  .head__contact {
    display: none; }

  /* visual
  ----------------------------------------------------------- */
  .tp__visual {
    top: 30vw; }

  .tp__visual__inner {
    width: 90vw; }

  .tp__slide__copy {
    top: 3vw;
    left: 2vw; }
    .tp__slide__copy img {
      width: 60vw; }

  .tp__slide__cta {
    width: 130px;
    top: 78vw;
    right: 3vw; }

  .parts__circle--01 {
    width: 80vw;
    position: absolute;
    top: 70px;
    left: 0; }

  /* .tp__about
  ----------------------------------------------------------- */
  .tp__about {
    padding-bottom: 240px;
    z-index: 2; }

  .tp__about__inner {
    padding-left: 5%;
    padding-right: 5%;
    display: block; }

  .tp__about__ttl {
    top: 9vw;
    left: 0;
    z-index: 1; }
    .tp__about__ttl span {
      font-size: 18vw; }

  .tp__about__detail {
    padding-top: 0;
    padding-left: 15vw;
    margin-top: -20vw;
    margin-left: 0; }

  /*ボタン*/
  .btn--wt span {
    padding: 16px 48px 16px 32px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.4;
    margin-right: 0;
    white-space: inherit;
    text-align: left; }
  .btn--wt::after {
    right: 20px; }

  .parts__olive--01 {
    width: calc((417 / 1200) * 100vw);
    top: -6vw;
    z-index: 99; }

  /* tp__workplace
  ----------------------------------------------------------- */
  .tp__workplace {
    padding-bottom: 120px;
    display: block;
    z-index: 2; }
    .tp__workplace::after {
      top: 100vw;
      left: -20px; }

  .tp__workplace::before {
    height: calc((250 / 750) * 100vw);
    top: calc(((250 / 750) * 100vw) * -1); }

  .tp__workpl__inner {
    display: block; }

  .tp__workpl__img {
    width: 100%; }

  .tp__workpl__img--01 {
    position: absolute;
    top: -28vw;
    left: 8vw;
    width: 36vw;
    box-shadow: 0px 0px 20px 10px white; }

  .tp__workpl__img--02 img {
    box-shadow: 0px 0px 20px 10px white; }

  .tp__workpl__en {
    bottom: auto;
    top: -38vw;
    font-size: 17vw; }

  .tp__workpl__detail {
    width: 100%;
    padding-top: 20vw;
    padding-left: 5vw;
    padding-right: 5vw; }

  .tp__ttl .en {
    font-size: 14px;
    background-size: 9px;
    background-position: 0 72%; }
  .tp__ttl .ja {
    font-size: 28px; }

  .tp__workpl__copy {
    font-size: 18px;
    margin-top: 50px; }

  .tp__workpl__txt {
    margin-top: 2em; }
    .tp__workpl__txt p {
      font-size: 15px;
      line-height: 2.0; }

  .tp__workpl__btn {
    margin-top: 3em;
    text-align: center; }

  .tp__workpl__img--03 {
    top: -5vw;
    right: 2vw;
    width: 35vw;
    box-shadow: 0px 0px 20px 10px white; }

  .parts__olive--02 {
    width: calc((231 / 900) * 100vw);
    bottom: 5vw; }

  /* tp__interview
  ----------------------------------------------------------- */
  .tp__interview {
    padding-top: calc((120 / 750) * 100vw);
    padding-bottom: calc((160 / 750) * 100vw);
    z-index: 1; }
    .tp__interview::after {
      width: 85vw;
      height: calc((610 / 750) * 100vw); }

  .tp__interv__inner {
    width: 100%; }

  .tp__interv__ttl {
    display: block;
    padding: 0 5%; }
    .tp__interv__ttl .tp__interv__btn {
      display: none; }

  .tp__interv__btn.sp {
    inline-size: fit-content;
    margin-inline: auto;
    margin-top: 60px; }

  .tp__interview-wrapper {
    width: 90%;
    margin: 0 auto; }

  .tp__interv__list {
    margin-top: 50px; }
    .tp__interv__list li {
      margin-right: 4vw;
      width: 42vw !important; }
    .tp__interv__list figure {
      width: 100%;
      height: 100%;
      aspect-ratio: 7 / 10; }
    .tp__interv__list .comment {
      font-size: 13px;
      font-size: 1.3rem;
      padding: 1.3em 5% 0; }
      .tp__interv__list .comment::before {
        background-size: 15px;
        left: 0; }
    .tp__interv__list .job {
      font-size: 15px;
      font-size: 1.5rem;
      padding: .1em 1.2em;
      margin-top: 1em; }

  .tp__interv__en {
    right: -1vw;
    top: 0;
    z-index: -1; }

  .tp__interv__en p {
    font-size: 14vw; }

  /*前へ・次へボタン*/
  .slide-arrow {
    top: calc(50% - 75px);
    width: 30px;
    height: 30px; }

  .prev-arrow {
    left: -12px; }

  .next-arrow {
    right: -12px; }

  /* tp__jobs
  ----------------------------------------------------------- */
  .tp__jobs {
    padding-top: 20px;
    padding-bottom: 80px; }
    .tp__jobs::after {
      width: 85vw; }

  .ttl__grad {
    padding-bottom: 40px; }
    .ttl__grad .ja {
      font-size: 24px;
      top: 76px; }
    .ttl__grad .en {
      font-size: 70px; }
    .ttl__grad::after {
      width: 300px;
      height: 300px;
      bottom: -150px; }

  .tp__jobs__list {
    width: 95%;
    margin: 30px auto 0; }
    .tp__jobs__list ul {
      display: block; }
    .tp__jobs__list li {
      width: 100%; }
    .tp__jobs__list a {
      padding: 60px 5% 100px; }

  .tp__jobs__cate {
    padding-left: 8px; }
    .tp__jobs__cate .num {
      font-size: 15px;
      font-size: 1.5rem; }
    .tp__jobs__cate .ja {
      font-size: 32px; }

  .tp__jobs__txt {
    margin-top: 2em; }

  .tp__jobs__list li .btn--more {
    bottom: 35px;
    right: 5%; }

  .btn--more p {
    font-size: 15px;
    font-size: 1.5rem; }
  .btn--more::after {
    width: 8px;
    height: 5px;
    padding-left: 3em; }

  .tp__jobs__en {
    font-size: 56px;
    top: 20px;
    right: 2%;
    line-height: .7; }

  .parts__olive--03 {
    width: 30vw;
    top: 0;
    left: -20px; }

  .parts__circle--w {
    width: 40vw;
    top: -10px;
    left: 0; }

  /* tp__recruit
  ----------------------------------------------------------- */
  .tp__recruit {
    padding-top: 100px; }

  .tp__recruit__inner::after {
    top: 57vw;
    left: 0; }

  .tp__recruit__about {
    width: 90%;
    display: block; }

  .tp__recruit__ttl {
    top: -12vw; }
    .tp__recruit__ttl .en {
      font-size: 24vw; }
    .tp__recruit__ttl .ja {
      font-size: 30px;
      margin-top: .5em; }

  .tp__recruit__txt {
    padding-top: 0; }

  .tp__recruit__menu {
    width: 100%;
    margin: 70px auto 0; }
    .tp__recruit__menu ul {
      display: block; }
    .tp__recruit__menu li {
      width: 100%;
      padding: 0 5% 40px; }
      .tp__recruit__menu li::after {
        width: 100%;
        height: 70px; }

  .recruit__menu--ttl {
    padding-bottom: 80px;
    margin-top: 0; }
    .recruit__menu--ttl .ja {
      font-size: 24px;
      top: 56px; }
    .recruit__menu--ttl .en {
      font-size: 60px;
      margin-top: -50px; }

  .recruit__menu--txt {
    font-size: 14px; }

  .recruit__btn--list, .recruit__btn--entry {
    margin-top: 30px; }
    .recruit__btn--list .btn--contact, .recruit__btn--entry .btn--contact {
      font-size: 16px;
      height: 60px;
      padding: 15px 32px 15px 66px; }
      .recruit__btn--list .btn--contact::before, .recruit__btn--entry .btn--contact::before {
        width: 40px;
        height: 40px;
        top: calc(50% - (40px / 2));
        left: 10px; }

  .recruit__btn--entry .btn--contact::before {
    width: 40px;
    height: 40px;
    top: calc(50% - (40px / 2));
    left: 10px; }

  .parts__olive--04 {
    width: 25vw;
    top: 0;
    left: -10px; }

  /* footer
  ----------------------------------------------------------- */
  .ft__wrap {
    background-size: contain;
    padding-top: 60px;
    padding-bottom: 40px;
    margin-bottom: 60px; }

  .ft__inner {
    width: 90%; }

  .ft__contact {
    display: block; }

  .ft__contact__logo {
    display: block; }
    .ft__contact__logo h1 {
      width: 100px;
      margin: 0 auto; }
      .ft__contact__logo h1 strong {
        font-size: 14px;
        font-size: 1.4rem;
        padding: .4em .8em;
        padding-right: .6em; }

  .ft__contact__info {
    padding-left: 0;
    margin-top: 40px; }
    .ft__contact__info .ft__ttl {
      font-size: 16px;
      font-size: 1.6rem; }
    .ft__contact__info dd {
      font-size: 13px;
      font-size: 1.3rem; }

  .ft__link {
    margin-top: 30px; }
    .ft__link a {
      font-size: 13px;
      font-size: 1.3rem; }

  .ft__menu {
    margin-top: 50px;
    display: block; }

  .ft__menu__nav ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  .ft__menu__nav li {
    width: 47%; }
    .ft__menu__nav li a {
      font-size: 13px;
      font-size: 1.3rem;
      padding: 1em 0;
      text-align: left;
      border-bottom: 1px solid #e7d9cc; }
      .ft__menu__nav li a::before {
        display: none; }

  .ft__copyright {
    margin-top: 90px; }
    .ft__copyright p {
      font-size: 10px;
      font-size: 1rem;
      letter-spacing: 0; }

  .ft__menu__contact {
    display: none; }

  .ft__menu__contact--sp {
    width: 100%;
    margin: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10001; }
    .ft__menu__contact--sp .btn--contact {
      font-size: 18px;
      font-size: 1.8rem;
      width: 100%;
      height: 80px;
      border-radius: 0;
      padding: 0 0 0 5vw; }
      .ft__menu__contact--sp .btn--contact span {
        inline-size: fit-content;
        margin-inline: auto; }
      .ft__menu__contact--sp .btn--contact::before {
        width: 40px;
        height: 40px;
        top: calc(50% - (40px / 2));
        left: 8vw; }

  .parts__olive--05 {
    width: 30vw;
    top: 8px; }

  /* sub_common
  ----------------------------------------------------------- */
  #sub #wrapper {
    background-size: 105%; }

  .sub__visual {
    padding: 48px 0 48px 0; }

  .sub__visual__ttl {
    width: 90%; }
    .sub__visual__ttl .en {
      font-size: 60px;
      margin-top: -30px; }
    .sub__visual__ttl .ja {
      font-size: 20px; }

  .breadCrumb {
    width: 100%;
    bottom: 0;
    padding-top: 60px; }
    .breadCrumb li {
      font-size: 11px;
      font-size: 1.1rem; }

  .ttl__center {
    padding-bottom: 40px; }
    .ttl__center .ja {
      font-size: 24px;
      top: 64px; }
    .ttl__center .en {
      font-size: 60px; }
    .ttl__center::before {
      width: 9px;
      height: 9px; }

  .ttl__left .en {
    font-size: 14px;
    background-size: 9px;
    background-position: 0 70%; }
  .ttl__left .ja {
    font-size: 24px; }

  .sub__intro__inner {
    padding: 1em 1.5em; }
    .sub__intro__inner p {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 1.8;
      text-align: left; }

  .sub__intro__olive {
    width: 30vw;
    top: -18vw; }

  .table__base {
    padding: 1em 2em;
    padding-top: .6em; }
    .table__base tr {
      border-bottom: 1px solid #e7d9cc; }
    .table__base th {
      width: 100%;
      display: block;
      line-height: 2.0;
      padding: 1.3em 0;
      padding-bottom: 0;
      font-size: 15px;
      font-size: 1.5rem; }
    .table__base td {
      width: 100%;
      display: block;
      line-height: 2.0;
      padding: .4em 0 1em 1em;
      font-size: 14px;
      font-size: 1.4rem; }

  /* aboutus
  ----------------------------------------------------------- */
  .about__message__inner {
    padding: 0 5% 60px; }

  .about__message__area {
    margin: 30px auto 0;
    display: block; }
    .about__message__area .about__message__img {
      width: 100%; }
    .about__message__area .about__message__txt {
      width: 100%;
      margin-top: 2em;
      padding-left: 0; }
    .about__message__area .about__message__from {
      margin-top: 4em; }
    .about__message__area .message__doctor .__job {
      font-size: 16px;
      font-size: 1.6rem; }
    .about__message__area .message__doctor .__name {
      font-size: 24px;
      font-size: 2.4rem;
      padding-top: .1em; }
      .about__message__area .message__doctor .__name span {
        font-size: 11px;
        font-size: 1.1rem; }

  .about__message__olive {
    width: 30vw;
    top: -18vw; }

  .about__objective .about__message__olive {
    width: 120px;
    top: 10px; }

  .about__feature {
    padding-top: 120px;
    padding-bottom: 100px; }
    .about__feature::after {
      top: 100px; }

  .about__feature__inner h2 {
    font-size: 24px;
    line-height: 1.4; }

  .about__feature__area {
    margin-top: 50px;
    display: block; }

  .feature__img {
    width: 90%;
    margin-left: auto; }

  .feature__img__en {
    margin-top: -15vw;
    left: -6vw; }
    .feature__img__en .en {
      font-size: 20vw; }

  .feature__txt {
    width: 100%;
    margin-top: 50px;
    padding-right: 10%;
    padding-left: 10%; }

  .about__feature__olive {
    width: 120px;
    top: 20px; }

  .about__point {
    width: 100%;
    padding: 60px 0 60px; }

  .about__point__inner h2 {
    font-size: 19px; }
    .about__point__inner h2 span {
      font-size: 40px; }

  .about__point__area {
    display: block;
    margin-top: 48px; }
    .about__point__area li {
      width: 100%;
      margin-bottom: 1px;
      padding: 1.5em 2em 2em; }
    .about__point__area .num {
      margin-left: -1em; }
      .about__point__area .num .en {
        font-size: 13px;
        font-size: 1.3rem; }
      .about__point__area .num p {
        font-size: 20px;
        font-size: 2rem; }
    .about__point__area h3 {
      font-size: 18px;
      font-size: 1.8rem;
      margin-top: .5em;
      margin-bottom: 1em; }
    .about__point__area p {
      font-size: 14px;
      font-size: 1.4rem; }

  .about__objective {
    padding-top: 80px;
    background: url("../images/about_grad01.png") no-repeat 0 -40px/contain; }

  .about__objective__inner {
    padding: 10px 10% 50px; }

  .about__objective__area {
    margin-top: 30px; }

  .about__detail {
    margin-top: 40px; }

  .about__detail__box {
    display: block;
    padding-top: 40px; }

  .about__detail__img {
    width: 90%; }

  .about__detail__box.re .about__detail__img {
    margin-left: auto; }

  .about__detail__txt {
    width: 100%;
    padding: 56px 5% 40px; }
    .about__detail__txt h3 {
      font-size: 20px;
      font-size: 2rem; }

  .about__detail__box.box02 .about__detail__txt::after {
    width: 150px;
    height: 100%;
    right: 0;
    top: 0; }

  .about__detail__box.box03 .about__detail__txt::after {
    width: 180px;
    height: 100%;
    top: 0; }

  .about__detail__box.box04 .about__detail__txt::after {
    width: 300px; }

  .about__gallery {
    padding-top: 20px; }
    .about__gallery ul {
      width: 100%; }
    .about__gallery li {
      width: 33%; }
      .about__gallery li:nth-of-type(1) {
        padding-top: 50px; }
      .about__gallery li:nth-of-type(2) {
        padding-top: 25px; }

  .about__history {
    padding-top: 20px;
    padding-bottom: 80px;
    margin-top: 60px; }
    .about__history::after {
      width: 85%; }

  .about__history__inner {
    margin: 0 auto; }

  .history__list {
    margin-top: 30px; }
    .history__list::before {
      height: calc(100% - 40px);
      background: #ef863c;
      left: 0;
      top: 40px; }
    .history__list li {
      margin-bottom: 10px; }
    .history__list .history__years {
      width: 28%; }
      .history__list .history__years::before {
        width: 17px;
        height: 17px;
        top: calc(50% - (17px / 2));
        left: -8px;
        border: 5px solid #f8dfcc; }
      .history__list .history__years p {
        padding-left: 1.2em;
        font-size: 12px;
        font-size: 1.2rem; }
    .history__list .history__detail {
      width: 72%;
      padding: 1em 1.2em; }
      .history__list .history__detail p {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.6; }

  .about__company {
    margin-top: 40px;
    padding-bottom: 0; }

  .about__company__inner .table__base {
    margin-top: 30px; }

  /* workspace
  ----------------------------------------------------------- */
  .worksp__faci__inner {
    padding: 0 5% 60px; }

  .worksp__faci__area {
    margin-top: 20px; }

  .worksp__faci__olive {
    width: 30vw;
    top: -18vw; }

  .faci__inner::before {
    background-size: contain;
    width: 110%;
    height: 100%;
    top: 70vw;
    left: -3vw; }

  .faci__inner.balcony::before {
    background-size: contain; }

  .faci__detail {
    width: 92%;
    margin-top: 80px; }

  .faci__detail__box {
    display: block;
    padding-top: 0; }

  .faci__detail__box.re {
    flex-direction: row-reverse; }

  .faci__detail__img {
    width: 100%; }

  .faci__detail__txt {
    width: 100%;
    padding: 1.6em 1em 0; }
    .faci__detail__txt h3 {
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 1.5; }
    .faci__detail__txt p {
      margin-top: 1.5em; }

  .faci__detail__box.re .faci__detail__txt {
    padding: 1.6em 1em 0; }

  .ttl__left--or .en {
    font-size: 12px;
    background-size: 9px; }
  .ttl__left--or .ja {
    font-size: 26px; }

  .faci__gallery {
    width: 100%;
    padding-top: 30px; }
    .faci__gallery ul {
      width: 100%;
      display: flex;
      justify-content: space-between; }
    .faci__gallery li {
      width: 33%; }
      .faci__gallery li:nth-of-type(1) {
        padding-top: 50px; }
      .faci__gallery li:nth-of-type(2) {
        padding-top: 25px; }

  .faci__gallery.re li {
    width: 33%; }
    .faci__gallery.re li:nth-of-type(3) {
      padding-top: 50px; }
    .faci__gallery.re li:nth-of-type(2) {
      padding-top: 25px; }
    .faci__gallery.re li:nth-of-type(1) {
      padding-top: 0; }

  .worksp__other {
    padding-top: 20px;
    padding-bottom: 30px;
    margin-top: 60px; }
    .worksp__other::after {
      width: 88%;
      height: 100%; }

  .worksp__other__inner {
    margin: 0 auto; }

  .other__detail {
    margin-top: 30px;
    margin-inline: calc(50% - 50vw);
    display: block;
    padding-left: 0; }

  .other__detail__img {
    width: 92%; }

  .other__detail__txt {
    width: 100%;
    padding: 30px 8vw 0 8vw; }

  .other__detail__txt p {
    margin-bottom: 1.4em; }
  .other__detail__txt ul {
    padding: 1.3em 1.5em .5em 1.5em;
    margin-top: 2em; }
  .other__detail__txt li {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: .7em; }

  .education {
    margin-top: 60px; }

  /* interview
  ----------------------------------------------------------- */
  .interv__list {
    margin: 60px auto 0; }

  .interv__list__inner li {
    margin-bottom: 60px; }
  .interv__list__inner a {
    display: block; }

  .interv__list__img {
    width: 60%;
    height: 100%;
    margin: 0 auto; }
    .interv__list__img img {
      aspect-ratio: 7 / 10; }

  .interv__list__detail {
    width: 100%;
    position: static;
    padding: 60px 0 0 0;
    margin-top: -40px; }
    .interv__list__detail .comment {
      padding-left: 1.8em;
      padding-right: 1.6em; }
      .interv__list__detail .comment p {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.7;
        position: relative; }
        .interv__list__detail .comment p::before {
          background-size: 15px;
          top: -.8em;
          left: -1.2em; }
    .interv__list__detail .staff {
      padding-left: 1.8em; }
    .interv__list__detail .job {
      font-size: 14px;
      font-size: 1.4rem; }
    .interv__list__detail .name {
      font-size: 18px;
      font-size: 1.8rem; }

  .interv__list__btn {
    margin-top: 32px;
    padding: 1em 0; }
    .interv__list__btn p {
      font-size: 12px;
      font-size: 1.2rem;
      padding-right: 1.6em; }
      .interv__list__btn p span {
        background-size: 11px; }

  .pagenav {
    padding-top: 30px; }

  .pagenav a.page-numbers, .pagenav .current {
    padding: .7em 1.2em;
    font-size: 12px;
    font-size: 1.2rem; }

  /* interview-temp（テンプレート雛形）
  ----------------------------------------------------------- */
  .interv__hero {
    padding-bottom: 100px; }
    .interv__hero::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 160px;
      background-image: linear-gradient(to top, #f5ede7, #faf5f0);
      bottom: 0;
      left: 0; }

  .interv__top__img {
    width: 85%;
    height: 240px; }

  .interv__hero__txt {
    width: 90%;
    position: static;
    margin-left: auto;
    margin-top: -90px;
    z-index: 2; }
    .interv__hero__txt .hero__en {
      font-size: 70px;
      top: .5em;
      left: -.3em; }

  .hero__message {
    padding: 3.6em 2em 2em 3em; }
    .hero__message p {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1.7; }

  .hero__staff {
    margin-top: 32px;
    padding-left: 0; }
    .hero__staff::after {
      width: 60px;
      height: 60px;
      box-shadow: 0px 0px 25px 25px #fff;
      top: 0;
      left: 0; }
    .hero__staff .job {
      font-size: 14px;
      padding: 0 1em .05em;
      margin: 0 1em 0 0; }
    .hero__staff .name {
      font-size: 24px;
      padding-top: 0; }
      .hero__staff .name .en {
        font-size: 12px;
        top: -.2em; }

  .interv__detail {
    padding-bottom: 90px;
    background-color: rgba(255, 255, 255, 0.5); }
    .interv__detail::before {
      display: none; }

  .interv__detail__inner {
    padding-top: 60px; }

  .interv__box {
    display: block;
    margin-bottom: 100px; }

  .interv__box__img {
    width: 100%; }

  .interv__box__qa {
    width: 100%;
    padding: 0; }
    .interv__box__qa .question {
      font-size: 18px;
      margin-left: -10px;
      margin-top: 20px; }
      .interv__box__qa .question span::before {
        content: '';
        position: absolute;
        bottom: 5px;
        left: 0;
        width: 60px;
        height: 1px; }
    .interv__box__qa h2 {
      font-size: 20px;
      padding-left: 1em; }
    .interv__box__qa .txt {
      margin-top: 1.6em; }

  .re .interv__box__qa {
    padding: 0; }

  .interv__schedule {
    margin-bottom: 90px; }
    .interv__schedule h3 {
      font-size: 18px;
      font-size: 1.8rem;
      background-size: 9px;
      padding-bottom: 24px; }

  .schedule__list {
    margin-top: 20px; }
    .schedule__list::before {
      height: calc(100% - 70px);
      background: #a2ca64;
      left: 0;
      top: 30px; }
    .schedule__list li {
      margin-bottom: 10px; }
    .schedule__list .schedule__time {
      width: 18%; }
      .schedule__list .schedule__time::before {
        width: 17px;
        height: 17px;
        top: calc(50% - (17px / 2));
        left: -8px;
        border: 5px solid #e8edd6; }
      .schedule__list .schedule__time p {
        padding-left: 1.2em;
        font-size: 12px;
        font-size: 1.2rem; }
    .schedule__list .schedule__detail {
      width: 82%;
      padding: 1em 1.2em; }
      .schedule__list .schedule__detail p {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.6; }

  .interv__feature h2 {
    font-size: 20px;
    margin-bottom: 1em;
    text-align: left; }

  .interv__feature__inner {
    display: block; }
    .interv__feature__inner .interv__feature__img {
      width: 70%;
      margin: 0 auto; }
    .interv__feature__inner .interv__feature__txt {
      width: 100%;
      padding-left: 0;
      margin-top: 2em; }
      .interv__feature__inner .interv__feature__txt dl {
        padding: 2.2em 2em; }
      .interv__feature__inner .interv__feature__txt dt {
        font-size: 18px;
        font-size: 1.8rem;
        background-size: 9px; }
      .interv__feature__inner .interv__feature__txt dd {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.8; }

  .interv__olive--01 {
    width: 36vw;
    top: -24vw; }

  .interv__olive--02 {
    width: 150px;
    bottom: -50px;
    z-index: 3; }

  .interv-temp .tp__interview {
    margin-top: 0;
    padding-top: 60px;
    padding-bottom: 40px;
    background: #faf5f0; }

  .interv-temp .tp__interv__ttl .tp__ttl .ja {
    font-size: 22px;
    font-size: 2.2rem; }

  .interv-temp .tp__interv__en {
    display: none; }

  .interv-temp .breadCrumb {
    margin-top: 0;
    padding-bottom: 40px; }

  /* jobs
  ----------------------------------------------------------- */
  .jobs .sub__visual__ttl .ja .job {
    font-size: 16px; }

  .jobs__olive {
    width: 30vw;
    top: -18vw; }

  .jobs__inner {
    margin: 0 auto 40px; }

  .jobs__visual__ttl {
    padding-left: 5vw;
    margin-top: -12vw; }
    .jobs__visual__ttl .en {
      font-size: 80px; }

  .jobs__visual__ttl.ttl--zimu {
    margin-top: -10vw; }

  .jobs__contents {
    width: 90%; }
    .jobs__contents:first-of-type {
      margin-bottom: 0; }
    .jobs__contents .ttl__left {
      margin-bottom: 30px; }
    .jobs__contents.guide {
      margin-top: 80px; }

  .jobs__flow {
    width: 90%;
    margin-top: 60px;
    padding-bottom: 50px; }

  .jobs__flow__intro {
    text-align: left;
    padding-top: 30px;
    margin-bottom: 30px; }
    .jobs__flow__intro .intro {
      background-size: 9px;
      padding-bottom: 30px;
      margin-bottom: 24px; }

  .jobs__flow__inner li {
    padding: 3px;
    margin-bottom: 60px; }

  .flow__num {
    width: 50px;
    height: 48px;
    top: 28px;
    left: 0; }
    .flow__num p {
      font-size: 18px;
      font-size: 1.8rem; }

  .flow__detail {
    padding: 40px 32px 40px 70px; }
    .flow__detail dt {
      font-size: 18px;
      font-size: 1.8rem;
      margin-bottom: 1.4em; }
    .flow__detail dd {
      font-size: 14px;
      font-size: 1.4rem; }
      .flow__detail dd .attent {
        line-height: 1.8;
        font-size: 12px;
        font-size: 1.2rem; }

  .jobs__flow__cta {
    text-align: left; }
    .jobs__flow__cta .comment {
      font-size: 17px;
      font-size: 1.7rem; }
    .jobs__flow__cta .flow__cta__btn {
      margin-top: 40px; }
    .jobs__flow__cta .btn--contact {
      font-size: 17px;
      font-size: 1.7rem;
      width: 100%;
      height: 60px;
      padding: 0; }
      .jobs__flow__cta .btn--contact span {
        inline-size: fit-content;
        margin-inline: auto; }
      .jobs__flow__cta .btn--contact::before {
        width: 40px;
        height: 40px;
        top: calc(50% - (40px / 2));
        left: 5vw; }

  /* contact
  ----------------------------------------------------------- */
  /*入力画面*/
  .contact .ft__menu__contact--sp {
    display: none; }

  .sub__contact {
    padding-bottom: 160px; }

  .contact__inner {
    padding: 0 5% 50px; }

  .contact__intro {
    padding: 40px 5%; }
    .contact__intro p {
      font-size: 14px;
      font-size: 1.4rem;
      text-align: left; }

  .contact__wrap th {
    width: 100%;
    display: block;
    padding: 1.5em 0 1.2em;
    font-size: 16px;
    font-size: 1.6rem;
    border: none; }
    .contact__wrap th.space {
      padding-top: 1.2em; }
  .contact__wrap td {
    width: 100%;
    display: block;
    padding: 0;
    padding-bottom: 1.2em; }
  .contact__wrap .txtfield {
    font-size: 15px;
    font-size: 1.5rem;
    padding: 1em; }
  .contact__wrap textarea {
    width: 100%;
    font-size: 15px;
    font-size: 1.5rem;
    padding: 1em; }

  .sup {
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
    padding: .3em .8em .4em;
    right: 0;
    top: 1.7em; }

  .privacy__inner {
    padding: 1.2em 1.5em; }
    .privacy__inner p {
      font-size: 13px;
      font-size: 1.3rem;
      line-height: 1.6; }

  .submit__btn {
    width: 100%;
    margin: 30px auto 0;
    padding-bottom: 0.1em;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 60px; }

  /*確認画面*/
  .confirm .contact__wrap th {
    padding: 1.5em 0 1.2em; }
  .confirm .contact__wrap td {
    padding: 0;
    padding-bottom: 1.2em; }

  .soushin__btn {
    width: 100%;
    padding-bottom: 70px; }
    .soushin__btn input {
      width: 100%;
      margin: 40px auto 0;
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 60px; }
      .soushin__btn input.inback {
        width: fit-content;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 40px;
        top: auto;
        bottom: 0;
        left: 0;
        padding: 0 1.5em; }

  /*送信完了*/
  .finish {
    height: auto; }

  .finish .contact__inner {
    padding: 0 5% 60px; }

  .finish__info {
    padding: 40px 5% 0; }
    .finish__info .finish__info--txt {
      font-size: 14px;
      font-size: 1.4rem;
      text-align: left; }

  .contact__tel {
    width: 100%;
    margin: 3em auto 0;
    padding: 1.5em 0;
    display: block; }
    .contact__tel .num {
      font-size: 30px;
      font-size: 3rem;
      padding-left: 48px; }
      .contact__tel .num::before {
        background-size: 40px;
        width: 40px;
        height: 40px;
        left: 0;
        top: calc(56% - (40px / 2)); }
    .contact__tel .reception {
      font-size: 12px;
      font-size: 1.2rem;
      margin-left: 0;
      padding-top: 1.2em; } }
/* -----@media screen and (max-width:768px) ------ */
