html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, main, section {
  display: block
}

ol, ul {
  list-style: none
}

blockquote, q {
  quotes: none
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold
}

img {
  border: 0;
  vertical-align: top
}

em {
  font-style: italic
}

del {
  text-decoration: line-through
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 0;
  padding: 0
}

input, select, textarea {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: middle;
  border: 0;
  -webkit-appearance: none;
  appearance: none;
}

input:focus, textarea:focus, select:focus {
  outline: none
}

body, html {
  width: 100%;
  height: 100%;
  color: #000;
  font-family: a-otf-gothic-bbb-pr6n, sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  background-color: #F2F2F2;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}
/* Common */
.mt100 {
  margin-top: 10rem;
}
.mt200 {
  margin-top: 20rem;
}

.pTopCaption .main {
  font-family: mr-eaves-sans;
  margin-top: 12px;
  color: #fff;
  font-size: 6rem;
  letter-spacing: 0.05em;
  display: block;
}
.pTopCaption .sub {
  font-family: a-otf-midashi-go-mb31-pr6n;
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: -0.05em;
  display: block;
}
.pTopCaption .for__en {
  font-family: mr-eaves-sans;
  letter-spacing: 0.05em;
}
.pTopCaption .ssub {
  font-family: a-otf-midashi-go-mb31-pr6n;
  color: #fff;
  font-size: 2.5rem;
  margin-top: 23px;
  letter-spacing: -0.05em;
  display: block;
}
.pTopCaption .colorc__b {
  color: #000;
}
.progress {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  content: '';
  top: 0;
  left: 0;
  background: #fff;
  position: fixed;
  z-index: 2000;
  align-items: center;
}
.loading {
  display: block;
  overflow: hidden;
  position: fixed;
  z-index: 1000;
  content: '';
  top: 100%;
  bottom: 0%;
  left: 0;
  right: 0;
}
.land .loading {
  top: 0%;
  bottom: 100%;
  /* transformはiosのchromeでうまく動作せず */
  /* transform: translate(0, -100%); 
  transition: transform .6s cubic-bezier(0.77, 0, 0.175, 1) 1s; */
  transition: top .6s cubic-bezier(0.77, 0, 0.175, 1) 600ms;
  transition: bottom .6s cubic-bezier(0.77, 0, 0.175, 1) 600ms;
}
.top .loading {
  background-color: #fff;
}
.land .top .loading {
  transition-delay: 1.4s
}
.top .loading::before {
  background: #222626;
  content: '';
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 100%;
}
.land .top .loading::before {
  top: 0%;
  -webkit-transition: top .6s cubic-bezier(0.77, 0, 0.175, 1) 499ms;
  transition: top .6s cubic-bezier(0.77, 0, 0.175, 1) 499ms;
}

.js__Lts, .js__Ltm {
  opacity: 0;
}

.fade__in {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-delay: .4s;
  animation-name: ltstart;
  visibility: visible !important;
}
@-webkit-keyframes ltstart {
  0% {
    opacity: 0;
    -webkit-transform: translateY(42px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } 
}

@keyframes ltstart {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -ms-transform: translateY(40px);
    transform: translateY(40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } 
}
.wpcf7-not-valid-tip {
  font-size: 12em;
  font-weight: normal;
  display: block;
  margin-top: 5px;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  border: none;
  font-size: 14px;
  color: red;
  padding-left: 0;
}
.wpcf7 form.sent .wpcf7-response-output {
  border: none;
  font-size: 14px;
  color: #05A6A6;
  padding-left: 0;
}
/* Header */
.pHeader {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  z-index: 900;
}
header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 94px;
  margin: 0 auto;
  padding: 0 34px 0;
}
.cHeaderNaviList {
  display: flex;
  align-items: center;
}
.cHeaderNaviList li:not(.cHeaderContactBtn) {
  position: relative;
  margin: 0 5px;
  padding: 0 14px;
}
.cHeaderNaviList li a {
  color: #fff;
  font-family: mr-eaves-sans;
  font-size: 1.4rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  height: 44px;
  line-height: 2.26;
  letter-spacing: .025em;
  cursor: pointer;
}
.cHeaderNaviList li a::after {
  position: absolute;
  bottom: 9px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .5s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.cHeaderNaviList li a:hover::after {
  transform: scale(0.6, 1);
}
.cHeaderContactBtn > a {
  font-family: mr-eaves-sans;
  font-size: 12px;
  background-color: #D91A1A;
  border-radius: 30px;
  width: 98px;
  height: 36px;
  color: #fff !important;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.topMainBg {
  width: 100%;
  height: 100%;
  background-image: url(./image/whitch_office_03.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  /* padding-top: 164px; */
}
/* TopPage main area */
.pMainVisu {
  /* margin-top: 94px;
  margin-bottom: 70px; */
  height: 658px;
}
.pMainVisuInner {
  position: relative;
  display: flex;
  align-items: flex-end;
  height: 100%;
}
.pMainVisuInnerDetail {
  position: relative;
  width: 100%;
  margin: 0 auto 100px auto;
  padding-left: 100px;
}
.pMainVisuInnerDetail picture img {
  /* width: calc(100vw - 50rem); */
  width: 41rem;
}
.pMainVisuInnerDetailJP {
  font-family: a-otf-midashi-go-mb31-pr6n;
  margin-bottom: 26px;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: -.05em;
}
.pMainVisuInnerDetailEN {
  font-family: mr-eaves-sans;
  color: #fff;
  font-size: 9rem;
  font-weight: 700;
  letter-spacing: .05em;
}
.pMainCTA {
  margin-top: 30px;
}
.pMainLine {
  display: flex;
}
.pMainLine .cMainLinelist {
  position: relative;
  display: block;
  width: 38px;
  height: 20px;
  margin: 0 4px;
  background: none;
  overflow: hidden;
  opacity: 1;
  -webkit-transition: opacity .2s ease-out;
  transition: opacity .2s ease-out;
}
.pMainLine .cMainLinelist::before,
.pMainLine .cMainLinelist::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 2px;
}
.pMainLine .cMainLinelist::before {
  background-color: #C3C3C3;
}
.pMainLine .cMainLinelist::after {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left;
  transform-origin: left;
  background-color: #1C58A6;
}
.pMainCTAtxt {
  margin-top: 15px;
  width: 273px;
}
.pMainCTAtxt .cMainCTA p {
  color: #535353;
  font-size: 1.3rem;
  line-height: 1.6;
}
.pMainCTAtxt .cMainCTA a {
  margin-top: 25px;
  text-align: center;
  border-radius: 30px;
  background-color: #1C58A6;
  font-size: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  color: #fff;
  font-family: a-otf-midashi-go-mb31-pr6n;
  font-weight: normal;
}
/* TopPage who we are area */
.pCol__Top {
  position: relative;
  padding-top: 108px
}
.pCol__Top::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 222px;
  background-color: #3b3dd9;
}
.pCol__Top .pVisWrap {
  margin-bottom: 10rem; 
  max-width: 1500px;
  margin-left: auto;
}
.pCol__Top .cVisImage {
  position: relative;
  height: 52.4rem;
  width: calc(100% - 10rem);
  margin-left: auto;
  border-radius: 1rem 0 0 1rem;
  overflow: hidden;
}
.pCol__Top .cVisImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.pCol__Top .cVisContents {
  width: 50%;
  padding: 6.4rem 5.88235% 0;
  margin-top: -21rem;
  margin-left: auto;
  border-radius: 1rem 0 0 0;
  position: relative;
  z-index: 1;
  background-color: #F2F2F2;
  box-sizing: border-box;
}
.pCol__Mid .pCol__Inner {
  max-width: 1200px;
  margin: 0 auto;
}
.pCol__Top .pContentsTop {
  width: calc(100vw - 100px);
  background-color: #F9F9F9;
  position: absolute;
  top: -59px;
  right: 0;
  background-color: #F9F9F9;
  overflow: hidden;
}
.pCol__Top .pContentsTop .cContentsTopLists {
  display: flex;
  transform: translate(0,0);
}
.pCol__Top .pContentsTop .cContentsTopLists li {
  width: 33.3333%;
  max-width: 333px;
  flex-shrink: 0;
  padding: 0 14px;
}
.pCol__Top .pContentsTop .cContentsTopLists li a img {
  width: 100%;
  height: auto;
}
.pCol__Top .pContentsTop .cContentsTopLists li .cContentsTopListsCap {
  font-size: 13px;
  font-family: mr-eaves-sans;
  margin: 14px 0 17px;
  color: #000;
  display: flex;
  justify-content: space-between;
}
.pCol__Top .pContentsTop .cContentsTopLists li .cContentsTopListsTxt {
  font-size: 1.3rem;
  line-height: 2em;
  color: #000;
}
.pCol__Top .pContentsTop .cContentsTopListsWrap {
  /* width: calc(100vw - 236px); */
  margin:200px 0 67px 26px;
}
.pCol__Top .pContentsTop .cContentsTopCaption {
  position: absolute;
  top: 67px;
  left: 67px;
}
.pCol__Top .pContentsTop .cContentsTopCaption .main {
  font-family: mr-eaves-sans;
  margin-top: 12px;
  font-size: 6rem;
  letter-spacing: 0.05em;
  display: block; 
}
.pCol__Top .pContentsTop .cContentsTopCaption .sub {
  font-family: a-otf-midashi-go-mb31-pr6n;
  font-size: 1.4rem;
  letter-spacing: -0.05em;
  display: block;
}
.pCol__Top .pTopCatchTxt {
  margin-top: 56px;
  font-size: 1.4rem;
  line-height: 1.9;
}
.cContentsArrowLink {
  font-family: mr-eaves-sans;
  font-size: 18px;
  position: absolute;
  top: 105px;
  right: 48px;
  width: 170px;
  line-height: 1.5;
  cursor: pointer;
  color: #000;
  background-color: #fff;
  padding: .8rem 2rem;
  border-radius: 3px;
}
.link__do {
  top: auto;
  bottom: 10px;
  left: 0;
}
.link__products {
  top: auto;
  bottom: 10px;
  left: 60px;
}
.link__mv {
  top: auto;
  right: 34px;
  bottom : 0;
}
.link__vi {
  top: auto;
  bottom: -70px;
}
.service__sup {
  top: auto;
  left: auto;
  bottom: auto;
  margin: 54px 0;
  display: inline-block;
  position: unset;
}
.company__sup {
  top: auto;
  left: auto;
  bottom: auto;
  margin: 54px 0;
  display: inline-block;
  position: unset;
}
.cContentsArrowLink:hover,
.cContentsArrowLink.is__active {
  color: #fff;
  -webkit-animation-name: colorRand;
  animation-name: colorRand;
  -webkit-animation-duration: .8s;
  animation-duration: .8s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.cContentsArrowLink::after,
.cContentsArrowLink.is__active::after {
  z-index: 2;
  content: "";
  position: absolute;
  top: 16px;
  right: 16px;
  width: 12px;
  height: 8px;
  background: url(./image/arrow_w.svg) no-repeat 50%;
}
@-webkit-keyframes colorRand {
  0% {
      background-color: #1C58A6
  }
  25% {
    background-color: #D91147
  }
  50% {
      background-color: #D9A13B
  }
  75% {
      background-color: #D91A1A
  }
  100% {
    background-color: #05A6A6
  }
}
.scrolling {
  width: 100px;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  color: #fff;
  z-index: 50;
  font-family: mr-eaves-sans;
  font-size: 1.5rem;
  text-align: center;
  mix-blend-mode: exclusion;
}
.scrollingWrap {
  width: 100%;
  display: flex;
  position: absolute;
  top: 31%;
  left: 0;
  text-orientation: upright;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  align-items: center;
}
.scrolling__txt {
}
/* WhatWeDo */
.pCol__Mid {
  background-color: #222626;
  padding-left: 100px;
  padding-bottom: 109px;
  padding-top: 109px;
}
.pCol__Mid .cPartner {
  position: relative;
  margin-bottom: 17rem;
  padding-bottom: 10rem;
}
.pCol__Mid .cPartner .Image {
  display: flex;
  justify-content: flex-end;
}
.pCol__Mid .cPartner .Image img {
  width: 70%;
  height: 100%;
  max-width: 800px;
}
.pCol__Mid .cPartner .Description {
  width: 394px;
  z-index: 1;
  /* background-color: #1A1A1A; */
  /* background-color: #222626; */
  position: absolute;
  top: 94px;
  left: 0;
  color: #fff;
  padding: 45px 60px 120px 0;
}
.pCol__Mid .cPartner .Description p {
 font-size: 1.4rem;
 line-height: 2em; 
 margin-top: 60px;
}
.pCol__Mid .cPartner .Description h3 .main {
  font-family: mr-eaves-sans;
  margin-top: 29px;
  font-size: 9.5rem;
  letter-spacing: 0.05em;
  display: block; 
}
.pCol__Mid .cPartner .Description h3 .sub {
  font-family: a-otf-midashi-go-mb31-pr6n;
  font-size: 14px;
  letter-spacing: -0.05em;
  display: block;
}
.pCol__Mid .cProducts {
  position: relative;
  margin-bottom: 17rem;
  padding-bottom: 7rem;
}
.pCol__Mid .cProducts .Image {
  margin-left: -100px;
  padding-top: 23rem;
}
.pCol__Mid .cProducts .Image img {
  width: 70%;
  max-width: 800px;
}
.pCol__Mid .cProducts .Description {
  width: 394px;
  z-index: 1;
  /* background-color: #1A1A1A; */
  background-color: #222626;
  position: absolute;
  top: 94px;
  right: 0;
  color: #fff;
  padding: 45px 100px 120px 60px;
}
.pCol__Mid .cProducts .Description p {
 font-size: 1.4rem;
 line-height: 2em; 
 margin-top: 60px;
}
.pCol__Mid .cProducts .Description h3 .main {
  font-family: mr-eaves-sans;
  margin-top: 29px;
  font-size: 9.5rem;
  letter-spacing: 0.05em;
  display: block; 
}
.pCol__Mid .cProducts .Description h3 .sub {
  font-family: a-otf-midashi-go-mb31-pr6n;
  font-size: 14px;
  letter-spacing: -0.05em;
  display: block;
}

/* pRecruitFoot */
.pRecruitFoot {
  position: relative;
  padding-left: 100px;
  padding-top: 109px;
  background-color: #F2F2F2;
}
.pRecruitFoot .cRecruitCaptionArea {
  width: 300px;
}
.pRecruitFoot .cRecruitCaptionArea h3 .main {
  font-family: mr-eaves-sans;
  margin-top: 12px;
  font-size: 6rem;
  letter-spacing: 0.05em;
  display: block; 
}
.pRecruitFoot .cRecruitCaptionArea h3 .sub {
  font-family: a-otf-midashi-go-mb31-pr6n;
  font-size: 1.4rem;
  letter-spacing: -0.05em;
  display: block;
}
.pRecruitFoot .cRecruitCaptionArea p {
  font-size: 1.5rem;
  line-height: 2.2em;
  letter-spacing: -0.05em;
  margin-top: 45px;
}
.pRecruitFoot .cRecruitLinkArea ul {
  display: flex;
  flex: 1;
  margin-top: 43px;
}
.pRecruitFoot .cRecruitLinkArea li {
  position: relative;
  width: 50%;
  min-height: 401px;
  margin-bottom: 56px;
  overflow: hidden;
}
.pRecruitFoot .cRecruitLinkArea a {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 3em;
  color: #fff;
}
.pRecruitFoot .cRecruitLinkArea .cRecruitLink__wrap::before {
  position: absolute;
  z-index: -1;
  content: '';
  width: 100%;
  height: 100%;
  background: url(./image/recruit_photo.jpg) no-repeat 50%;
  background-size: cover;
  transition: all .4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
}
.pRecruitFoot .cRecruitLinkArea .cFreeLink__wrap::before {
  position: absolute;
  z-index: -1;
  content: '';
  width: 100%;
  height: 100%;
  background: url(./image/free_photo.jpg) no-repeat 50%;
  background-size: cover;
  transition: all .4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
}
.pRecruitFoot .cRecruitLinkArea .cRecruitLink__wrap .main,
.pRecruitFoot .cRecruitLinkArea .cFreeLink__wrap .main {
  font-family: mr-eaves-sans;
  font-size: 4.5rem;
  letter-spacing: 0.05em;
  display: block;
}
.pRecruitFoot .cRecruitLinkArea .cRecruitLink__wrap .sub,
.pRecruitFoot .cRecruitLinkArea .cFreeLink__wrap .sub {
  font-family: a-otf-midashi-go-mb31-pr6n;
  font-size: 14px;
  letter-spacing: -0.05em;
  display: block;
}
.pRecruitFoot .cRecruitLinkArea .cRecruitLink__wrap span,
.pRecruitFoot .cRecruitLinkArea .cFreeLink__wrap span {
  font-family: mr-eaves-sans;
  letter-spacing: -0.05em;
  display: block;
}
.pRecruitFoot .cRecruitLinkArea li:hover ::before {
  transform: scale(1.2,1.2);
}
/* Footer */
footer {
  background-color: #222626;
}
.pFooterInner {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.pFooterInner ul {
  width: 200px;
  font-family: mr-eaves-sans;
  padding: 57px 77px;
}
.pFooterInner ul li {
  font-size: 1.5rem;
  line-height: 2.1em;
  color: #fff;
  letter-spacing: .05em;
}
.pFooterInner ul li a {
  color: #fff;
}
.pageTop {
  z-index: 100;
}
.pageTop a {
  display: block;
  width: 100px;
  height: 100%;
  box-sizing: border-box;
  padding-top: 40px;
  background-color: #fff;
  text-align: center;
}
.cFooter {
  flex: 1;
}
.cFooterContact {
  height: 100%;
}
.cFooterContact::before {
  z-index: 2;
  content: "";
  position: absolute;
  top: 50%;
  right: 68px;
  width: 30px;
  height: 30px;
  background: url(./image/arrow_w.svg) no-repeat 50%;
}
.cFooterContact a {
  position: relative;
  box-sizing: border-box;
  padding-left: 6vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  color: #fff;
  height: 100%;
  background-color: #05A6A6;
}
.cFooterContact a::before {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(.9);
  background-color: #292929;
  content: "";
  opacity: 0;
  transition: all .4s cubic-bezier(.25,.93,.20,1);
  transition-timing-function: cubic-bezier(.25,.93,.20,1);
}
.cFooterContact a:hover::before {
  transform: scale(1);
  opacity: 1;
}
.cFooterContact h3 {
  position: relative;
  z-index: 2;
  font-size: 15px;
  margin-top: 20px;
  line-height: 1.75;
}
.cFooterContact p {
  position: relative;
  z-index: 2;
  font-size: 4rem;
  font-family: mr-eaves-sans;
  letter-spacing: 0.05em;
  font-weight: bold;
}
.address {
  flex: none;
  height: 40px;
  line-height: 40px;
  padding-left: 40px;
  background-color: #F2F2F2;
  color: #989898;
}
/* whoweare page */
.pSubvisu {
  position: relative;
  height: 530px;
}
.pSubVisuInner {
  z-index:  100;
  bottom: 0;
  left: 0;
  position: absolute;
  padding-left: 100px;
  mix-blend-mode: exclusion;
}
.pSubVisuInner .sub {
  font-family: a-otf-midashi-go-mb31-pr6n;
  margin-bottom: 15px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -.05em;
  color: #fff;
}
.pSubVisuInner .main {
  position: relative;
  font-family: mr-eaves-sans;
  margin-bottom: 15px;
  font-size: 8.5rem;
  font-weight: 700;
  letter-spacing: -.02em;
  color: #fff;
}
.pUnder_Top {
  position: relative;
  background-color: #F2F2F2;
  padding-left: 100px;
}
.pUnder_Top__in {
  position: relative;
  z-index: 10;
  background-color: #F9F9F9;
}
.memberMain__bg::before {
  content: '';
  position: absolute;
  left: 0;
  top: -539px;
  width: 100%;
  height: 632px;
  background-image: url(./image/whitch_member.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  /* padding-top: 164px; */
}
.whoweareMain__bg::before {
  content: '';
  position: absolute;
  left: 0;
  top: -539px;
  width: 100%;
  height: 632px;
  background-image: url(./image/whitch_office_02.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  /* padding-top: 164px; */
}
.companyMain__bg::before {
  content: '';
  position: absolute;
  left: 0;
  top: -539px;
  width: 100%;
  height: 632px;
  background-image: url(./image/whitch_office_03.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  /* padding-top: 164px; */
}
.serviceMain__bg::before {
  content: '';
  position: absolute;
  left: 0;
  top: -539px;
  width: 100%;
  height: 632px;
  background-image: url(./image/whitch_service.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.pUnder_Top .pSubCpation {
  position: relative;
  font-size: 3rem;
  letter-spacing: 0.05em;
  font-family: mr-eaves-sans,a-otf-midashi-go-mb31-pr6n;
  padding-bottom: 20px;
  margin-bottom: 78px;
  mix-blend-mode: exclusion;
  color: #fff;
}
.pUnder_Top .ceo_mes {
  margin-top: 13rem;
  margin-bottom: 5rem;
}
.pUnder_Top .pSubCaption__three {
  position: relative;
  font-size: 2.5rem;
  font-weight: 700;
  font-family: mr-eaves-sans,a-otf-midashi-go-mb31-pr6n;
  padding-bottom: 3.5rem;
}
.pUnder_Top .pSubCpation::after {
  content: "";
  width: 46px;
  height: 1px;
  background-color: #707070;
  position: absolute;
  bottom: 0;
  left: 0;
}
.lineBox01 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 14.9rem 7.7rem 14.9rem;
  box-sizing: border-box;
}
.lineBox02 {
  background-color: #f2f2f2;
}
.lineBox03 {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  max-width: 1200px;
  margin: 0 auto;
  padding: 14.9rem 7.7rem 14.9rem;
  box-sizing: border-box;
}
.lineBox__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 14.9rem 7.7rem 14.9rem;
  box-sizing: border-box;
}
.pUnder_Top .Col__middle {
  /* margin: 0 auto 12rem auto; */
}
.pUnder_Top .Col__top h3 .main {
  display: block;
  font-size: 4.5rem;
  font-family: a-otf-midashi-go-mb31-pr6n;
  line-height: 1.45em;
  margin-bottom: 6rem;
}
.pUnder_Top .Col__top h3 .sub {
  display: block;
  font-size: 10rem;
  font-family: mr-eaves-sans;
  margin-bottom: 1rem;
}
.pUnder_Top .Col__top .comment,
.pUnder_Top .Col__bottom .comment {
  font-size: 1.4rem;
  line-height: 1.7;
}

.pUnder_Top .Col__top .supportService {
  margin-top: 17rem;
  margin-bottom: 17rem;
}
.pUnder_Top .Col__top .supportService h3 {
  font-size: 25px;
  text-align: center;
  font-family: a-otf-midashi-go-mb31-pr6n;
  margin-bottom: 3.5rem;
}
.pUnder_Top .Col__top .supportService img {
  width: 100%;
}
.pUnder_Top .Col__top .supportService .sServiceLists1, 
.pUnder_Top .Col__top .supportService .sServiceLists2, 
.pUnder_Top .Col__top .supportService .sServiceLists3 {
  display: flex;
  flex-wrap: wrap;
  font-weight: bold;
}
.pUnder_Top .Col__top .supportService .sServiceLists1 li {
  font-size: 1.3rem;
  color: #000;
  background-color: #F2F2F2;
  line-height: 2;
  text-align: center;
  padding: 0 12px;
  border-radius: 10px;
  margin-right: 1rem;
  margin-top: 1rem;
}
.pUnder_Top .Col__top .supportService .sServiceLists2 li {
  font-size: 1.3rem;
  color: #1C58A6;
  background-color: #B7CCE6;
  line-height: 2;
  text-align: center;
  padding: 0 12px;
  border-radius: 10px;
  margin-right: 1rem;
  margin-top: 1rem;
}
.pUnder_Top .Col__top .supportService .sServiceLists3 li {
  font-size: 1.3rem;
  color: #fff;
  background-color: #1C58A6;
  line-height: 2;
  text-align: center;
  padding: 0 12px;
  border-radius: 10px;
  margin-right: 1rem;
  margin-top: 1rem;
}
.pUnder_Top .Col__bottom .cOwndBis {
  display: flex;
  flex-wrap: wrap;
  margin: 20px -1.166%;
}
.bis__list {
  width: 31%;
  margin: 1.166%;
  
}
.bis__list a {
  color: #000;
}
.bis__list h3 {
  font-size: 2.5rem;
  font-weight: bold;
  padding-top: 1.2rem;
  letter-spacing: .05em;
  font-family: mr-eaves-sans;
}
.bis__list p {
  font-size: 1.4rem;
  padding-top: 1.2rem;
  line-height: 1.6;
  color: #333;
}
.bis__list img {
  width: 100%;
}
.pUnder_Top .Col__top h4,
.pUnder_Top .Col__top h5 {
  font-size: 2.4rem;
  font-family: a-otf-midashi-go-mb31-pr6n;
  margin-top: 7.5rem;
  margin-bottom: 4.5rem;
  line-height: 1.6;
}
.pUnder_Top .Col__top {
  background-color: #fff;
}
.pUnder_Top .Col__middle dl {
  display: flex;
  margin-top: 45px;
}
.pUnder_Top .Col__middle dl dt {
  font-size: 15px;
  width: 15rem;
}
.pUnder_Top .Col__middle dl dd {
  font-size: 14px;
  width: calc(100vw - 60px);
  padding-left: 60px;
  /* font-family: a-otf-midashi-go-mb31-pr6n; */
  letter-spacing: .05em;
  line-height: 1.6;
}
.pUnder_Top .Col__middle dl dd span {
  font-size: 13px;
}
.pUnder_Top .Col__bottom dl {
  line-height: 1.7;
  font-size: 15px;
  margin-top: 45px;

}
.pUnder_Top .Col__middle .comment {
  font-size: 15px;
  line-height: 1.7;
}
.pUnder_Top .Col__middle .CultureLists {
  width: 100%;
  margin-bottom: 17.7rem;
}
.lB__left {
  width: 40%;
}
.lB__right {
  width: 60%;
}
.pUnder_Top .Col__middle .CultureLists li {
  margin-bottom: 4.5rem;
}
.pUnder_Top .Col__middle .CultureLists li .jp {
  font-size: 4.2rem;
  font-family: a-otf-midashi-go-mb31-pr6n;
  line-height: 1.6;
  margin-bottom: 0.5rem;
}
.pUnder_Top .Col__middle .CultureLists li .en {
  font-size: 1.5rem;
  font-family: mr-eaves-sans;
  line-height: 1.1;
  color: #8c8c8c;
}
.pUnder_Top .Col__middle h3 {
  font-size: 25px;
  text-align: center;
  font-family: a-otf-midashi-go-mb31-pr6n;
  margin-bottom: 3.5rem;
}
.pUnder_Top .Col__top .cPickup {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
}
.pUnder_Top .Col__top .cPickup .cPickupBox {
  display: flex;
  text-align: center;
  background-color: #fff;
  width: 33.3333%;
  min-height: 35rem;
  padding: 0 20px;
  margin: 0 1%;
}
.pUnder_Top .Col__top .cPickup .cPickupBox .cPickupBox__inner h3 {
  font-size: 16px;
  padding-top: 60px;
}
.pUnder_Top .Col__top .cPickup .cPickupBox .cPickupBox__inner p {
  font-size: 1.4rem;
  line-height: 1.8;
  color: #333;
  text-align: left;
}
.pUnder_Top .Col__top .cPickup .cPickupBox .cPickupBox__inner img {
  width: 100%;
}
.pUnder_middle {
  position: relative;
  background-color: #000;
  padding-left: 100px;
  margin-top: 20px;
}
.pUnder_middle .Col__top {
  background-color: #fff;
  padding: 49px 77px 0;
  margin-bottom: 12rem;
}
.pUnder_middle .Col__top h3 {
  font-size: 21px;
  text-align: center;
  font-family: a-otf-midashi-go-mb31-pr6n;
  margin-bottom: 3.5rem;
}
.pUnder_middle .pContentsTop {
  z-index: 3;
  /* width: calc(100vw - 100px); */
  background-color: #F9F9F9;
  position: relative;
  overflow: hidden;
}
.pUnder_middle .pContentsTop .cContentsTopLists {
  display: flex;
  transform: translate(0,0);
}
.pUnder_middle .pContentsTop .cContentsTopLists li {
  width: 33.3333%;
  max-width: 333px;
  flex-shrink: 0;
  padding: 0 14px;
}
.pUnder_middle .pContentsTop .cContentsTopLists li a img {
  width: 100%;
  height: auto;
}
.pUnder_middle .pContentsTop .cContentsTopLists li .cContentsTopListsCap {
  font-size: 13px;
  font-family: mr-eaves-sans;
  margin: 14px 0 17px;
  color: #000;
  display: flex;
  justify-content: space-between;
}
.pUnder_middle .pContentsTop .cContentsTopLists li .cContentsTopListsTxt {
  font-size: 13px;
  line-height: 2em;
  color: #000;
}
.pUnder_middle .pContentsTop .cContentsTopListsWrap {
  width: calc(100vw - 236px);
  margin: 67px 0 67px 236px;
}
.pUnder_middle .pContentsTop .cContentsTopCaption {
  position: absolute;
  top: 67px;
  left: 67px;
}
.pUnder_middle .pContentsTop .cContentsTopCaption .main {
  font-family: mr-eaves-sans;
  margin-top: 29px;
  font-size: 30px;
  letter-spacing: 0.05em;
  display: block; 
}
.pUnder_middle .pContentsTop .cContentsTopCaption .sub {
  font-family: a-otf-midashi-go-mb31-pr6n;
  font-size: 14px;
  letter-spacing: -0.05em;
  display: block;
}
#pWhitch__Map {
  margin-top: 45px;
  width:100%;
  height:640px;
}
.pSHeader, .pSHeader__menu {
  display: none;
  visibility: hidden;
  opacity: 0;
}
.wpcf7 h3 {
  font-family: a-otf-midashi-go-mb31-pr6n;
  font-size: 1.6rem;
  margin-top: 1.7rem;
  margin-bottom: 1rem;
}
.wpcf7-text,
.wpcf7-select,
.wpcf7-textarea {
  display: block;
  width: 50%;
  background-color: #eee;
  border-radius: .5rem;
  padding: 1rem 1.5rem;
  margin-top: .5rem;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5;
  font-family: sans-serif;
  box-sizing: border-box;
}
.agree {
  font-size: 1.5rem;
  margin: 4rem 0;
}
.wpcf7-submit {
  font-family: mr-eaves-sans;
  font-size: 12px;
  background-color: #D91A1A;
  border-radius: 30px;
  padding: 0 2rem;
  font-weight: bold;
  height: 36px;
  color: #fff !important;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.privacyContents p {
  font-size: 1.4rem;
  line-height: 1.7;
}
.privacyContents strong {
  font-size: 2.5rem;
  font-weight: 700;
  display: block;
  padding-bottom: 1.5rem;
  margin-top: 3.5rem;
}
/* MEMBER */
.pMember ul {
}
.pMember ul li {
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: 11.5rem;
}
.pMember ul li .cMemberOneWrap {
}
.pMember ul li .cMem__image {
  position: relative;
  max-width: 280px;
  max-height: 373px;
  overflow: hidden;
  margin-right: 4%;
  flex: 1;
}
.pMember ul li .cMem__image img {
  width: 100%;
}
.pMember ul li .cMem__imageTxt {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background-color: #fff;
  padding: 4px 5px;
}
.pMember ul li .cMem__imageTxt h3 {
  font-family: a-otf-midashi-go-mb31-pr6n;
  font-size: 2rem;
  margin-bottom: 8px;
}
.pMember ul li .cMem__imageTxt p {
  font-size: 1.5rem;
  font-family: mr-eaves-sans;
}
.pMember ul li .cMem__profile {
  font-size: 1.4rem;
  line-height: 1.64;
  margin-top: 0.7rem;
  flex: 2;
}
.pMember ul li .cMem__profile h4 {
  font-size: 1.5rem;
  font-weight: bold;
  margin: 0;
  padding: 2.5rem 0 1rem;
}


/*----------------------------------------------

Media Query Start

---------*/

@media (min-width: 1200px){
  .pCol__Mid .cPartner .Description {
    padding: 45px 60px 160px 0;
  }
  .pCol__Mid .cProducts .Description {
    padding: 45px 100px 160px 60px;
  }
}

@media (max-width: 821px){
  .pUnder_Top .Col__top h5 {
    font-size: 1.6rem;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .pMember ul li {
    width: 100%;
    /* max-width: 100%; */
  }
  .pMember ul li .cMem__profile {
    flex: 1;
  }
  .supportService .sServiceLists1 li {
    font-size: 1.2rem;
  }
  .pFooterInner ul li {
    font-size: 1.2rem;
  }
  .cFooterContact h3 {
    font-size: 1.2rem;
  }
  .cFooterContact p {
    font-size: 2.5rem;
  }
  .pageTop a {
    width: 18px;
  }
  header {
    height: 84px;
    margin: 0 auto;
    padding: 0 18px 0;
  }
  .pFooterInner ul {
    width: 108px;
    padding: 18px;
  }
  .scrolling {
    display: none;
    visibility: none;
  }
  .pMainVisuInnerDetailJP {
    margin-bottom: 26px;
    font-size: 2.4rem;
  }
  .pMainVisuInnerDetailEN {
    font-size: 4rem;
    letter-spacing: .05em;
  }
  .wpcf7-text,
  .wpcf7-select,
  .wpcf7-textarea {
    width: 100%;
  }
  .wpcf7 h3 {
    font-size: 1.5rem;
  }
  .contents__link,
  .link__uContents {
    top: auto;
    right: auto;
    bottom: 20px;
    left: 20px;
    width: 170px;
    line-height: 1.5;
    padding: .8rem 2rem;
  }
  .link__do {
    top: auto;
    bottom: -7rem;
    left: auto;
    right: 0;
  }
  .link__products {
    bottom: -20px;
  }
  .pCol__Top .cVisImage {
    width: calc(100% - 1.8rem);
    height: 32.4rem;
  }
  .pCol__Top .cVisContents {
    width: 90%;
    margin-top: -8rem;
  }
  .pUnder_Top .Col__top .cPickup {
    flex-wrap: wrap;
  }
  .pUnder_Top .Col__top .cPickup .cPickupBox {
    display: flex;
    flex-wrap: nowrap;
    text-align: center;
    background-color: #fff;
    width: 100%;
    padding: 0 20px;
    margin: 1% 0;
    padding-bottom: 6rem;
  }
  .pCol__Top .pContentsTop .cContentsTopCaption .main,
  .pTopCaption .main {
    font-size: 3rem;
  }
  .pCol__Top .pContentsTop .cContentsTopCaption .sub,
  .pTopCaption .sub {
    font-size: 1.2rem;
  }
  .pCol__Mid .cPartner .Description h3 .main,
  .pCol__Mid .cProducts .Description h3 .main,
  .pRecruitFoot .cRecruitCaptionArea h3 .main {
    margin-top: 1.5rem;
    font-size: 3.2rem;
  }
  .pCol__Mid .cPartner .Description p,
  .pCol__Mid .cProducts .Description p {
    margin-top: 1.5rem;
    font-size: 1.3rem;
  }
  .pCol__Mid .cPartner .Description h3 .sub,
  .pCol__Mid .cProducts .Description h3 .sub,
  .pRecruitFoot .cRecruitCaptionArea h3 .sub {
    font-size: 1.2rem;
  }
  .pRecruitFoot {
    padding-top: 60px;
  }
  .cHeaderNaviList {
    display: none;
  }
  .pMainVisuInnerDetail picture img {
    width: calc(100vw - 12%);
  }
  .pMainVisuInnerDetail {
    padding-left: 5.432vw;
  }
  .pSHeader {
    display: block;
    -webkit-transition: all .4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: all .4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    -webkit-transition-property: visibility, opacity;
    transition-property: visibility, opacity;
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 25;
    background: #F2F2F2;
    color: #333;
    pointer-events: auto;
  }
  html.Menu_open .pSHeader {
    visibility: visible;
    opacity: 1;
  }
  .pSHeader .pSHeader__navi {
    display: flex;
    height: 100%;
    align-items: center;
    text-align: center;
  }
  .pSHeader .pSHeader__navi ul {
    width: 100%;
    line-height: 2;
  }
  .pSHeader .pSHeader__navi ul li a {
    position: relative;
    display: inline-block;
    font-size: 40px;
    font-family: mr-eaves-sans;
    color: #000;
    padding: 7px 0 7px;
    line-height: 2;
    cursor: pointer;
  }
  .cHeaderContactBtn > a {
    font-family: mr-eaves-sans;
    font-size: 12px;
    background-color: #D91A1A;
    border-radius: 60px;
    width: auto;
    height: auto;
    padding: 0 40px 0 !important;
    align-items: unset;
    justify-content: unset;
}
  .pSHeader .pSHeader__navi ul li .link__txt::after {
    position: absolute;
    bottom: 20px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #000;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .5s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .pSHeader .pSHeader__navi ul li .link__txt:hover::after {
    transform: scale(0.6, 1);
  }
  .cHeaderContactBtn {
    margin-top: 20px;
  }
  .pSHeader .pSHeader__copy {
    position: absolute;
    font-family: mr-eaves-sans;
    right: 7rem;
    bottom: 3rem;
    font-size: 1rem;
    line-height: 1.4;
    opacity: 0.5;
  }
  .pSHeader__menu {
    display: inline-block;
    visibility: visible;
    opacity: 1;
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 30;
    width: 3rem;
    height: 3rem;
    appearance: none;
    cursor: pointer;
    -webkit-transition: all .4s cubic-bezier(0.32, 0.77, 0.48, 1) 0s;
    transition: all .4s cubic-bezier(0.32, 0.77, 0.48, 1) 0s;
    -webkit-transition-property: visibility, opacity;
    transition-property: visibility, opacity;
  }
  .pSHeader__menu span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #fff;
    border-radius: 4px;
    box-sizing: border-box;
    transition: all .4s;
  }
  .pSHeader__menu .line1 {
    top: 10px;
  }
  .pSHeader__menu .line2 {
    top: 20px;
  }
  .pSHeader__menu .menu__name {
    font-size: 1.2rem;
    text-align: center;
    padding-top: 32px;
    color: #fff;
  }
  html.Menu_open .pSHeader__menu .line1 {
    transform: translateY(10px) rotate(313deg);
  }
  html.Menu_open .pSHeader__menu .line2 {
    transform: translateY(0) rotate(45deg);
  }
  html.Menu_open .pSHeader__menu .menu__name {
    visibility: hidden;
    opacity: 0;
  }
  html.Menu_open ,
  html.menu__name body {
    overflow: hidden;
  }
  .pCol__Top,
  .pSubVisuInner {
    padding-left: 0;
    /* padding-top: 0; */
  }
  .pUnder_middle {
    padding-left: 18px;
  }
  .pSubVisuInner {
    z-index: 100;
    padding-top: 27px;
  }
  .pSubVisuInner .sub,
  .pSubVisuInner .main {
    position: relative;
    padding-left: 18px;
  }
  .pSubVisuInner .main {
    font-size: 5rem;
  }
  .pUnder_Top {
    padding-left: 18px;
  }
  .pUnder_middle .pContentsTop {
    width: calc(100vw - 18px);
    padding-top: 4rem;
    padding-top: 40px;
    padding-bottom: 12rem;
  }
  .pCol__Top .pContentsTop .cContentsTopLists,
  .pUnder_middle .pContentsTop .cContentsTopLists {
    padding-left: 12px;
  }
  .pUnder_Top .Col__top,
  .pUnder_Top .Col__middle,
  .pUnder_Top .Col__bottom {
    /* margin-bottom: 9rem; */
  }
  .pUnder_Top .Col__middle {
    margin-bottom: 4rem;
  }
  .lineBox01 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 3.9rem 1.7rem;
    box-sizing: border-box;
  }
  .lineBox__inner {
    padding: 8.9rem 1.7rem;
  }
  .lineBox03 {
    display: block;
    max-width: 1200px;
    padding: 8.9rem 1.7rem;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .lB__left,
  .lB__right {
    width: 100%;
  }
  .pUnder_Top .Col__middle .CultureLists li .jp {
    font-size: 6vw;
    font-family: a-otf-midashi-go-mb31-pr6n;
    line-height: 1.6;
    margin-bottom: 0.5rem;
  }
  .pUnder_Top .Col__top h3 .sub {
    font-size: 10vw;
  }
  .pUnder_Top .pSubCpation {
    font-size: 4.5vw;
    margin-bottom: 48px;
  }
  .pUnder_Top .Col__top h3 .main{
    font-size: 6vw;
    margin-bottom: 42px;
  }
  .pCol__Top .pContentsTop,
  .pUnder_Top .pContentsTop {
    width: calc(100% - 18px);
    margin-left: 18px;
    top: 0;
    left: 0;
    position: relative;
    overflow: visible;
    padding-bottom: 12rem;
    margin-bottom: 5.9rem;
  }
  .pCol__Top .pTopCatchTxt {
    margin-top: 2rem;
  }
  .pCol__Top .pContentsTop .cContentsTopCaption,
  .pUnder_middle .pContentsTop .cContentsTopCaption {
    position: relative;
    top: auto;
    left: auto;
  }
  .pCol__Top .cContentsTopCaption h2,
  .pUnder_middle .pContentsTop .cContentsTopCaption h2 {
    padding: 0px 28px 0;
  }
  .pCol__Top .pContentsTop .cContentsTopListsWrap,
  .pUnder_middle .pContentsTop .cContentsTopListsWrap {
    width: auto;
    margin: 2rem 0 0;
  }
  .pCol__Top .pContentsTop .cContentsTopLists li,
  .pUnder_middle .pContentsTop .cContentsTopLists li {
    width: calc(50% - 18px);
    max-width: none;
    padding: 0;
    /* margin:  0 8px; */
  }
  .pCol__Top .pContentsTop .cContentsTopLists li a,
  .pUnder_middle .pContentsTop .cContentsTopLists li a {
    padding: 0 8px;
    display: block;
  }
  .pCol__Top .pContentsTop .wline {
    background-color: #F9F9F9;
  }
  .pCol__Top .pContentsTop .wline::before {
    position: absolute;
    z-index: 2;
    top: -4rem;
    height: 4rem;
    width: 100%;
    content: '';
    background: #F9F9F9;
  }
  .pCol__Mid {
    padding-left: 18px;
  }
  .pCol__Mid .cPartner {
    margin-top: 125px;
    margin-bottom: 7rem;
  }
  .pCol__Mid .cPartner .Description {
    width: 50%;
    top: 194px;
    left: 18px;
    padding-left: 35px;
    padding-right: 35px;
    background-color: rgba(34, 38, 38, 0.28);
  }
  .pCol__Mid .cPartner .Image {
    justify-content: center;
    align-items: center;
  }
  .pCol__Mid .cPartner .Image img {
    width: 90%;
  }
  .pCol__Mid .cProducts .Description {
    width: 50%;
    top: 194px;
    left: 18px;
    padding-left: 35px;
    padding-right: 35px;
    background-color: rgba(34, 38, 38, 0.28);
  }
  .pCol__Mid .cProducts .Image {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
  }
  .pCol__Mid .cProducts .Image img {
    width: 90%;
    height: auto;
  }
  .pRecruitFoot {
    padding-left: 18px;
  }
  .pRecruitFoot .cRecruitCaptionArea {
    width: calc(100% - 18px);
  }
  .pRecruitFoot .cRecruitCaptionArea p {
    text-align: center;
  }
  .pRecruitFoot {
    display: block;
  }
  .cFooterContact a {
    padding: 0 50px;
  }


}

@media (max-width: 769px){
  .pCol__Top .cContentsTopCaption h2 {
    /* margin-bottom: 45px; */
  }
  .pRecruitFoot .cRecruitLinkArea .cRecruitLink__wrap .main,
  .pRecruitFoot .cRecruitLinkArea .cFreeLink__wrap .main {
    font-size: 2.4rem;
    letter-spacing: -0.1em;
  }
  .pRecruitFoot .cRecruitLinkArea .cRecruitLink__wrap .sub,
  .pRecruitFoot .cRecruitLinkArea .cFreeLink__wrap .sub {
    font-size: 1.2rem;
    letter-spacing: -0.08em;
  }
  .pCol__Mid {
    padding-left: 18px;
  }
  .pCol__Mid .cPartner {
    margin-top: 45px;
    margin-bottom: 15rem;
  }
  .pCol__Mid .cPartner .Description {
    width: 50%;
    top: 120px;
    left: 0;
    padding-left: 35px;
    padding-right: 35px;
  }
  .pCol__Top .pContentsTop .cContentsTopLists li .cContentsTopListsTxt {
    font-size: 1.4rem;
    line-height: 1.7em;
    color: #000;
  }
}
@media (max-width: 752px){
  .topMainBg {
    width: 100%;
    height: 100%;
    background-image: url(./image/whitch_office_sp_03.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    /* padding-top: 164px; */
  }
  .memberMain__bg::before {
    top: -539px;
    width: 100%;
    background-image: url(./image/whitch_member_sp.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  .whoweareMain__bg::before {
    top: -539px;
    width: 100%;
    background-image: url(./image/whitch_office_sp_02.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  .companyMain__bg::before {
    width: 100%;
    background-image: url(./image/whitch_office_sp_03.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    /* padding-top: 164px; */
  }
  .serviceMain__bg::before {
    width: 100%;
    background-image: url(./image/whitch_service_sp.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
}

@media (max-width: 671px){
  .bis__list {
    width: 100%;
    margin: 0 0 45px;
  }
  .pCol__Top .pTopCatchTxt {
    font-size: 1.7rem;
  }
  .pCol__Mid .cPartner .Description,
  .pCol__Mid .cProducts .Description {
    width: auto;
    padding: 28px 18px 10px 0;
  }
  .pCol__Mid .cProducts .Description {
    top: 132px;
    left: 0;
  }
  .link__do {
    right: 18px;
  }
  .link__products {
    bottom: -80px;
    left: 0;
  }
  .pCol__Top .pContentsTop {
    padding-bottom: 12rem;
    margin-bottom: 8rem;
  }
  .pSHeader .pSHeader__navi ul li a {
    font-size: 25px;
    padding: 4px 0 4px;
    line-height: 1.6;
  }
  .pSHeader .pSHeader__navi ul li .link__txt::after {
    bottom: 5px;
  }
  .pSHeader .pSHeader__copy {
    right: 3rem;
    bottom: 3rem;
  }

  .pCol__Mid .cPartner .Description p,
  .pCol__Mid .cProducts .Description p {
    margin-top: 30px;
  }
  .pRecruitFoot {
    padding-left: 0;
  }
  .pRecruitFoot .cRecruitCaptionArea {
    padding-left: 18px;
  }
  .cFooterContact a {
    padding: 18px;
  }
  .cFooterContact {
    position: relative;
    margin-bottom: 0;
  }
  .pFooterInner ul {
    width: auto;
    font-size: 1.7rem;
  }
  .pRecruitFoot .cRecruitLinkArea {
    flex: 0;
    padding-left: 18px;
  }
  .pRecruitFoot .cRecruitLinkArea .cRecruitLink__wrap {
    position: relative;
    width: 100%;
    min-height: 201px;
    margin-bottom: 0;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-color: #535353;
    line-height: 3em;
  }
  .cFooter {
    width: 60%;
  }
  .address {
    flex: none;
    padding-left: 18px;
    /* margin-bottom: 7px; */
  }
}
@media (max-width: 561px){
  .link__mv {
    left: 5.432vw;
    bottom: -20vw;
  }
  .cFooterContact::before {
    top: auto;
    bottom: 27px;
    left: 18px;
    right: auto;
  }
  .pMainVisuInnerDetail {
    margin-bottom: 150px;
  }
  .pMember ul li {
    width: 100%;
    /* max-width: 100%; */
  }
  .pMember ul li .cMem__profile {
    flex: none;
  }
  .pMember ul li {
    display: block;
  }
  .pMember ul li .cMem__image {
    max-width: 100%;
    max-height: none;
    margin-right: 0;
  }
}
@media (max-width: 426px){
  .pSubvisu {
  height: 365px;
  }
  .pMember ul li {
    width: 100%;
    max-width: 100%;
  }
  .pMember ul li .cMem__image {
    max-height: 100%;
  }
}
@media (max-width: 376px){
  .pCol__Mid .cPartner {
    margin-bottom: 25rem;
  }
}

/*----------------------------------------------

2022.01追加
命名規則はBEM、FLOCSS(小規模なので継承程度の利用FLO)に変更。

---------*/

.l-Service__wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (max-width: 769px){
  .l-Service__wrap {
    display: block;
  }
}
.l-Service__inner {
  position: relative;
  border-radius: 10px;
  width: calc(50% - 100px);
  background-color: #434848;
  color: #fff;
  margin-right: 36px;
  margin-top: 36px;
  padding: 27px 32px;
}
@media (max-width: 769px){
  .l-Service__inner {
    width: 100%;
    box-sizing: border-box;
    border-radius: 10px 0 0 10px;
  }
}
.l-Service__inner h3 .sub {
  font-size: 1.6rem;
  display: block;
  letter-spacing: 0.05em;
  font-family: mr-eaves-sans;
}
.l-Service__inner h3 .main {
  font-size: 1.9rem;
  display: block;
  font-family: a-otf-midashi-go-mb31-pr6n;
  letter-spacing: 0.05em;
  margin-top: 20px;
}
.l-Service__inner p {
  margin-top: 30px;
  font-size: 1.4rem;
  line-height: 2em;
}

/*
.l-Service__inner p::after {
  z-index: 2;
  content: "";
  position: absolute;
  top: 16px;
  right: 16px;
  width: 12px;
  height: 8px;
  background: url(./image/arrow_w.svg) no-repeat 50%;
}
*/