@charset "UTF-8";
@media screen and (max-width: 1024px) {

  /* -----------------------------
      RECRUIT FLOW
  -------------------------------*/
  .recruit .flowWrap .flow {
    flex-direction: column;
  }

  .recruit dl.stepItem {
    width: 500px;
    height: auto;
  }

  .recruit .flowWrap .arrowRight {
    transform: rotate(90deg);
  }
}

@media screen and (max-width: 896px) {
  /* -----------------------------
      MEMBER
  -------------------------------*/

  /* -----------------------------
      VISION
  -------------------------------*/
  .vision .commentInner {
    flex-direction: column-reverse;
    gap: 28px
  }

  .vision .commentWrap.commentWrap_funakoshi .textWrap {
    flex-direction: column-reverse;
    gap: 28px;
    align-items: center;
  }
}

@media screen and (max-width: 767px) {
  h3 {
    font-size: 18px;
    letter-spacing: 0.9px;
    margin: auto auto 28px;
  }

  h3::before {
    width: 14px;
    height: 14px;
  }

  /* two column     -------------*/
  .column2 {
    width: 100%;
    display: block;
  }

  /* lower title     -------------*/
  .pageTit {
    padding-top: 40px;
  }

  .pageTit h2 {
    bottom: 0;
    gap: 20px;
  }

  .pageTit .jpTit {
    font-size: 28px;
    letter-spacing: 1.4px;
  }

  .pageTit .enTit {
    font-size: 12px;
    letter-spacing: 0.6px;
  }

  /* .pageTit {
    padding: 35px 0;
  }

  .pageTit img {
    width: 50px;
    height: auto;
    margin-bottom: 10px;
  }

  .pageTit h2 {
    font-size: 16px;
  }

  .vision .pageTit,
  .service .pageTit,
  .member .pageTit,
  .news .pageTit {
    background-position: center;
  } */

  /* table     -------------*/
  dl.tableStyle div {
    padding: 24px 0;
  }

  dl.tableStyle dt {
    width: auto;
    float: none;
    line-height: 1;
    border-bottom: none;
    padding: unset;
    margin-bottom: 16px;
  }

  dl.tableStyle dd {
    margin-left: 0;
    border-bottom: 1px solid #eeeeee;
    line-height: 1.6;
    padding: unset;

  }

  dl.tableStyle dd.lineName span {
    display: block;
    padding-right: 0;
    white-space: unset;
  }

  dl.tableStyle dd:last-child {
    border-bottom: none;
  }

  /* contact     -------------*/
  .contactWrap {
    padding: 40px 20px;
  }

  .contactWrap .jpTit {
    font-size: 24px;
    letter-spacing: 1.2px;
  }

  /* -----------------------------
      VISION
  -------------------------------*/


  .vision .commentWrap {
    padding: unset;
  }


  .vision .commentWrap.commentWrap_sakakibara {
    margin: 40px 20px 60px;
  }

  .vision .commentWrap.commentWrap_funakoshi {
    margin: 0 20px;
  }

  .vision .commentTit {
    font-size: 28px;
    letter-spacing: 1.4px;
  }

  .vision .commentWrap.commentWrap_funakoshi .commentTit {
    font-size: 18px;
    letter-spacing: 0.9px;
  }

  .vision .commentInner {
    padding: unset;
  }

  .vision .commentWrap.commentWrap_funakoshi .commentInner {
    padding: 40px 20px;
    /* align-items: center; */
    width: calc(100% - 40px);
  }

  .vision .textWrap {
    gap: 24px;
  }

  .vision .commentWrap p.sign {
    text-align: right;
  }

  .vision .commentWrap p.sign img {
    width: 170px;
    height: auto;
  }

  .vision .commentWrap img.img_sakakibara,
  .vision .commentWrap img.img_funakoshi {
    width: 100%;
    max-width: 400px;
    height: auto;
  }

  .vision .profileWrap {
    margin: 80px 20px 40px;
    padding: 0;
  }

  .vision .accessWrap {
    width: 100%;
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: column-reverse;
    /* Safari */
    flex-direction: column-reverse;
  }

  .vision .mapWrap #map_canvas {
    height: 224px;
  }

  .vision .accessDit {
    width: unset;
    padding: 40px 20px;

  }

  .vision .accessDit h3 {
    font-size: 18px;
    letter-spacing: 0.9px;
  }

  /* -----------------------------
      SERVICE
  -------------------------------*/
  /* ancor links    -------------*/
  .ancListWrap {
    margin: 40px 20px;
    padding: 0;
  }

  .service #scrollWrap {
    margin: 0 20px 40px;
    padding: 0;
  }

  .service .service-items {
    flex-direction: column;
    gap: 28px;
    padding: 40px 0;
  }

  .service .service-items img {
    width: 100px;
    height: 100px;
  }

  .service .service-items .dit {
    width: 100%;
    gap: 20px;
  }

  .service .dit ul {
    flex-direction: column;
    gap: 4px;
  }

  .service .service-items .linkBtn {
    margin: 0 auto;
  }

  .service .env {
    padding: 40px 20px;
  }


  /* -----------------------------
		MEMBER
-------------------------------*/

  /* MEMBER 一覧 */
  .member .memberListWrap {
    margin: 80px 20px;
  }

  .member .memberList {
    gap: 16px;
  }

  .member .memberList li {
    width: 159px;
  }

  .member .memberList li p.name {
    font-size: 20px;
    margin-bottom: 4px;
  }

  .member .memberList li img {
    margin-bottom: 12px;
  }


  /* MEMBER 詳細 */
  .member .panel {
    margin: 40px 20px;
    padding: 0;
  }

  .member .panel .head {
    flex-direction: column;
    gap: 20px;
  }

  .member .panel .head .imgWrap {
    display: block;
    width: 100%;
    overflow: hidden;
  }

  .member .panel .head .imgWrap img {
    width: 100%;
    height: auto;
  }

  .member .head .title {
    width: 100%;
    height: auto;
    justify-content: unset;
    gap: 20px;
  }

  .member .panel section {
    width: unset;
  }

  .member .panel section h4 {
    font-size: 18px;
    font-weight: 700;
    line-height: 120%;
    letter-spacing: 0.9px;
    margin-bottom: 28px;
  }

  .member .panel section img {
    float: none;
    width: 100%;
    margin: 28px 0 0 0;
  }

  .member .panel .columnReverse {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: column-reverse;
    /* Safari */
    flex-direction: column-reverse;
  }

  .member .panel .memFooter {
    padding: 20px;
  }

  .member .panel .memFooter tr {
    gap: 20px;
  }

  .member .panel .memFooter td p.thumb {
    width: 120px;
    height: 120px;
  }

  .member .panel .memFooter td p.thumb_MOSSAN img,
  .member .panel .memFooter td p.thumb_NADARU img {
    left: unset;
    right: 70px;
  }

  .member .panel .memFooter .rightWrap h4 {
    font-size: 16px;
    font-weight: 700;
    line-height: 170%;
    letter-spacing: 0.8px;
  }


  /* -----------------------------
      RECRUIT
  -------------------------------*/
  /* RECRUIT 一覧 */
  .recruit .pageTit {
    background-position: right center;
  }

  .recruit .commentWrap {
    width: unset;
    margin: 40px 20px 80px;
    padding: unset;
  }

  .recruit .commentWrap .commentInner {
    padding: 40px 20px;
    gap: 32px;
  }

  .recruit .commentWrap .commentInner p.commentTit {
    font-size: 18px;
    letter-spacing: 0.9px;
  }

  .recruit .joblistWrap {
    margin: 0 20px 80px;
    padding: unset;
    width: unset;
  }

  .recruit .oiwaikinInner {
    padding: 24px 20px;
    gap: 12px;
  }

  .recruit .oiwaikinInner .oiwaikinTit {
    font-size: 18px;
    letter-spacing: 0.9px;
    line-height: unset;
  }

  .recruit .oiwaikinInner .oiwaikinTit span {
    font-size: 36px;
    letter-spacing: 1.8px;
  }

  .recruit .flowWrap {
    padding: 0;
    margin: 0 20px 40px;
    width: unset;
  }

  .recruit .flowWrap .flow {
    flex-direction: column;
    margin: 0 20px 16px;
  }

  .recruit dl.stepItem {
    width: 100%;
    height: auto;
    margin: 0;
  }

  .recruit .contactList {
    padding: 20px;
  }

  .recruit .contactList ul {
    flex-direction: column;
    gap: 20px;
  }

  .recruit .contactList ul li {
    width: 100%;
  }

  .recruit .contactList ul li .campanyName {
    padding: 0;
  }

  .recruit .contactList ul li .tel {
    font-size: 18px;
    padding: 0;
  }

  .recruit .contactList ul li .mail {
    padding: 0;
  }

  /* RECRUIT 詳細 */
  .recruit .requirementsWrap {
    margin: 40px 20px 80px;
    padding: unset;
  }

  .recruit .oiwaikinWrap {
    margin: 0 20px 40px;
    padding: 0;
  }

  .recruit .linkBtnWrap {
    display: none;
  }

  .recruit .recruitNoIndex .linkBtnWrap {
    display: inline-block;
    margin: unset;
  }

  /* -----------------------------
      NEWS
  -------------------------------*/
  .news .lowerNewsWrap {
    margin: 40px auto;
  }

  .news .lowerNewsWrap li .date {
    margin-bottom: 16px;
  }

  .news .lowerNewsWrap li .txt {
    width: 100%;
    padding-left: 2%;
  }

  .news .panel {
    margin: 40px 20px;
    padding: unset;
  }

  .news .panel h3 {
    font-size: 24px;
    letter-spacing: 1.2px;
    margin-bottom: 24px;
  }

  .news .panel .sectionsWrap {
    margin-bottom: 60px;
  }


  /* -----------------------------
		CONTACT
  -------------------------------*/
  .wrapperWidth {
    margin: 40px 20px;
    padding: 0;
  }

  .form dl {
    display: block;
    margin-bottom: 60px;
  }

  .form .formItem {
    flex-direction: column;
    gap: 16px;
  }

  .form dt,
  .form dd {
    width: 100%;
  }

  .form input[type=text],
  .form input[type=email],
  .form input[type=tel] {
    width: calc(100% - 32px);
  }

  .form dl dd .radioWrap {
    flex-direction: column;
    gap: 16px;
  }

  .form dl dd.twoCol {
    flex-direction: column;
    gap: 16px;
  }

  .form .checkArea {
    margin-bottom: 60px;
  }

  .form .checkArea p {
    text-align: left;
  }

  /* CONTACT thanksページ */
  .contactThanks .thanksMessage {
    margin-bottom: 28px;
    font-size: 18px;
    letter-spacing: 0.9px;
  }

  .contactThanks .thanksMessageSub {
    font-size: 16px;
    margin-bottom: 28px;
  }
}


/* -----------------------------
      FOOTER
  -------------------------------*/
@media (max-width: 425px) {

  dl.txtStyle01 dd,
  .txtStyle02 li,
  .txtStyle02 .txtStyle02_inner ol li,
  .txtStyle02 .txtStyle02_inner ol li ol li,
  .txtStyle02 .txtStyle02_inner ol li ol p,
  .txtStyle02 .txtStyle02_inner .txtStyle02_inner_indent p {
    font-size: 12px;
    line-height: 1.5;
  }

  .txtStyle02 .ruleSetDate,
  .txtStyle02 .ceoName {
    font-size: 12px;
    line-height: 1.5;
  }
}