@charset "UTF-8";

/* Box sizing rules */

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Set core root defaults */

html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img,
picture {
  max-width: 100%;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
  font: inherit;
}

button{
  background: none;
  border: none;
  padding: 0;
  outline: none;
}

button:focus{
    outline: none;
  }

button:disabled{
    opacity:1;
  }

button:disabled:hover{
      opacity:1;
    }

:root {
  --black: #111111;
  --blue: #708AAD;
}

/* ==========================================================================
  アニメーション
========================================================================== */

@keyframes menuIn {
  0%{
    display: block;
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

@keyframes menuOut {
  0%{
    opacity: 1;
  }
  99%{
    opacity: 0;
  }
  100%{
    display: none;
    opacity: 0;
  }
}

@keyframes fadeIn {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

@keyframes fadeOut {
  0%{
    opacity: 1;
  }
  100%{
    opacity: 0;
  }
}

/* ==========================================================================
   futura-pt
========================================================================== */

.fontFP{
  font-family: "futura-pt", sans-serif;
  /* demi
  font-weight: 600; */
}

/* ==========================================================================
   下層 タイトル
========================================================================== */

.pageHeader{
  height: 768px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 100px;
}

.pageHeader .pageTitle{
    width: min(100%,1030px);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .8em;
    line-height: 1;
    color: #fff;
  }

.pageHeader .pageTitle::before{
      content: attr(data-en);
      display: block;
      font-family: "futura-pt", sans-serif;
      font-size: 7.5rem;
      font-weight: 600;
      letter-spacing: 0;
      margin-bottom: 10px;
    }

@media (max-width:767px){
  .pageHeader{
    height: calc(calc(510/390) * 100vw);
    margin-bottom: calc(calc(75/390) * 100vw);
  }
    .pageHeader .pageTitle{
      width: calc(calc(360/390) * 100vw);
    }
      .pageHeader .pageTitle::before{
        margin-bottom: calc(calc(10/390) * 100vw);
      }
}

.pageHeaderImg{
  position: relative;
  z-index: 1;
}

.pageHeaderImg::after{
    content: '';
    width: calc(50% + 239px);
    height: 390px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: absolute;
    left: 50%;
    top: 50%;
    translate:0 -50%;
    margin-left: -239px;
    z-index: -1;
  }

@media (max-width:767px){
  .pageHeaderImg{
    position: relative;
    z-index: 1;
  }
    .pageHeaderImg::after{
      width: calc(calc(324/390) * 100vw);
      min-width: 0;
      height: calc(calc(230/390) * 100vw);
      left:0;
      margin-left: calc(calc(68/390) * 100vw);
    }
}

/* ==========================================================================
   下層 タイトル2
========================================================================== */

.pageHeader .pageTitleBlock{
    width: min(100%,1030px);
  }

.pageHeader .pageTitleBlock h2{
      margin-top: 12px;
      font-size: 1.6rem;
      font-weight: 500;
    }

@media (max-width:767px){
    .pageHeader .pageTitleBlock{
      width: calc(calc(360/390) * 100vw);
    }
      .pageHeader .pageTitleBlock h2{
        margin-top: calc(calc(8/390) * 100vw);
        font-size: 1.5rem;
      }
}

/* ==========================================================================
   パンくず
========================================================================== */

.pageHeader{
  position: relative;
}

.pageHeader .pankuzu{
    position: absolute;
    top: 150px;
    left: 31px;
    font-weight: 500;
    font-style: italic;
    font-size: 1.2rem;
    letter-spacing: .5em;
    writing-mode: vertical-lr;
    color: #fff;
  }

@media (max-width:1300px) {

.pageHeader .pankuzu{
      left: 11px
  }
    }

.pageHeader .pankuzu a{
      color: #fff;
    }

.pageHeader .pankuzu ol{
      display: flex;
    }

.pageHeader .pankuzu ol li + li::before{
          content: '>';
          margin: 1em 0;
        }

.pageHeaderImg .pankuzu{
    color: #111111;
    color: var(--black);
  }

.pageHeaderImg .pankuzu a{
      color: #111111;
      color: var(--black);
    }

@media (max-width:767px){
  .pageHeader{
    position: relative;
  }
    .pageHeader .pankuzu{
      position: absolute;
      top: auto;
      bottom: calc(calc(5/390) * 100vw);
      left: calc(calc(15/390) * 100vw);
      writing-mode: unset;
    }
          .pageHeader .pankuzu ol li + li::before{
            margin: 0 1em;
          }
}

/* ==========================================================================
   newsPostBox
========================================================================== */

.newsPostBox{
  padding: 20px 35px;
	display: grid;
  grid-template-columns: 88px 1fr;
  grid-template-rows: auto 1fr;
  gap:0 25px;
}

.newsPostBox .date{
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: start;
    font-weight: 600;
    color: #555555;
    line-height: 1;
    padding-right: 28px;
    border-right: 1px solid #707070;
  }

.newsPostBox .date .year{
      letter-spacing: .45em;
      text-align: center;
      margin-bottom: 12px;
      display: block;
    }

.newsPostBox .date .dateBox{
      display: grid;
      grid-template-columns: 100%;
      grid-template-rows: auto;
      width: 50px;
      height: 50px;
      font-size: 3rem;
      letter-spacing: .05em;
      line-height: 1;
      position: relative;

    }

.newsPostBox .date .dateBox::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #707070;
        transform-origin: 100% 0;
        transform: rotate(-45deg) scale(1.414); /* √2 = 1.414 */
      }

.newsPostBox .date .dateBox .month{
        grid-column: 1;
        grid-row: 1;
        margin: -.1em 0 0 -.15em;
      }

.newsPostBox .date .dateBox .day{
        grid-column: 1;
        grid-row: 1;
        justify-self: end;
        align-self: end;
        margin: 0 -.28em -.18em 0;
      }

.newsPostBox >h2{
    grid-column: 2;
    grid-row: 1;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.62;
    margin-bottom: 15px;
    text-box:trim-both text text;
  }

.newsPostBox .postBox{
    grid-column: 2;
    grid-row: 2;
    line-height: 1.85;
    font-size: 1.4rem;
  }

.newsPostBox .postBox >* + *{
      margin-top: 1.5em;
    }

.newsPostBox .postBox .kome{
      font-weight: 300;
      font-size: 1.3rem;
    }

.newsPostBox .postBox a{
      color: #708AAD;
      font-weight: 700;
    }

.newsPostBox .postBox a[target="_blank"]{
      display: inline-flex;
      align-items: center;
    }

.newsPostBox .postBox a[target="_blank"]::after{
        content: '';
        width: 13px;;
        height: 13px;
        background: url('../img/other_tab.svg') no-repeat center center / contain;
        flex-shrink: 0;
        margin-left: 8px;
      }

.newsPostBox:not(:last-child){
  border-bottom: 1px dashed #707070;
}

.newsPostBox:nth-child(odd){
  background: #F9F9F9;
}

@media (max-width:767px){
  .newsPostBox{
    padding: calc(calc(35/390) * 100vw) calc(calc(10/390) * 100vw);
    grid-template-columns: calc(calc(73/390) * 100vw) 1fr;
    gap:0 calc(calc(20/390) * 100vw);
  }
    .newsPostBox .date{
      padding-right: calc(calc(19/390) * 100vw);
      border-right: calc(calc(1/390) * 100vw) solid #707070;
    }
      .newsPostBox .date .year{
        margin-bottom: calc(calc(10/390) * 100vw);
      }
      .newsPostBox .date .dateBox{
        width: calc(calc(50/390) * 100vw);
        height: calc(calc(50/390) * 100vw);
      }
        .newsPostBox .date .dateBox::after {
          height: calc(calc(1/390) * 100vw);
        }
    .newsPostBox >h2{
      line-height: 1.25;
      margin-bottom: calc(calc(12/390) * 100vw);
    }
        .newsPostBox .postBox a[target="_blank"]::after{
          width: calc(calc(13/390) * 100vw);
          height: calc(calc(13/390) * 100vw);
          margin-left: calc(calc(8/390) * 100vw);
        }
}

/* ==========================================================================
   recruitBanner
========================================================================== */

.recruitBanner a{
    width: 100%;
    height: 380px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    overflow: hidden;
  }

.recruitBanner a::before{
      content: '';
      background-image: -webkit-image-set(
      url('../img/recruit_banner.jpg') 1x,
      url('../img/recruit_banner@2x.jpg')  2x
			);
      background-image: image-set(
      url('../img/recruit_banner.jpg') 1x,
      url('../img/recruit_banner@2x.jpg')  2x
			);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      transition: scale .5s cubic-bezier(0.19, 0.82, 0.27, 1);
    }

.recruitBanner a p{
      width: 1000px;
      color: #fff;
			justify-self: center;
			align-self: center;
			font-size: 1.7rem;
			font-weight: 700;
			line-height: 1;
			transition: color .2s;
    }

.recruitBanner a p::before{
				content: 'RECRUIT';
				font-size: 3.5rem;
				display: block;
				margin-bottom: 20px;
			}

.recruitBanner a p::after{
        /* content: '';
        width: 55px;
        height: 30px;
        background: url('../img/recruit_banner_arrow.svg') no-repeat center center / contain;
        display: block;
        margin-top: 33px; */
      }

.recruitBanner a p .arrowSVG{
        display: block;
        margin-top: 20px;
      }

.recruitBanner a p .arrowSVG svg{
          width: 56px;
          height: auto;
          overflow: visible;
        }

.recruitBanner a p .arrowSVG *{
          transition: all .2s linear;
        }

.recruitBanner a p .arrowSVG .cls-1{
          fill:none;
        }

.recruitBanner a p .arrowSVG .cls-2{
          stroke:#fff;
        }

.recruitBanner a p .arrowSVG .cls-2,.recruitBanner a p .arrowSVG .cls-3{
          fill:none;
        }

.recruitBanner a p .arrowSVG .cls-3{
          stroke:#fff;
          stroke-linecap:round;
        }

.recruitBanner a:hover{
      opacity: 1;
    }

.recruitBanner a:hover::before{
        scale: 1.05;
      }

.recruitBanner a:hover p{
        color: #708AAD;
      }

.recruitBanner a:hover .arrowSVG .rect{
          scale: 1.1;
          transform-origin: left;
        }

.recruitBanner a:hover .arrowSVG .arrow{
          translate:5px 0;
        }

.recruitBanner a:hover .arrowSVG .cls-1{
          fill:#708AAD;
        }

.recruitBanner a:hover .arrowSVG .cls-2{
          stroke:#708AAD;
        }

.recruitBanner a:hover .arrowSVG .cls-3{
          stroke:#708AAD;
          stroke-linecap:round;
        }

.aboutPage .recruitBanner a::before{
        background-image: -webkit-image-set(
          url('../img/recruit_banner2.jpg') 1x,
          url('../img/recruit_banner2@2x.jpg')  2x
        );
        background-image: image-set(
          url('../img/recruit_banner2.jpg') 1x,
          url('../img/recruit_banner2@2x.jpg')  2x
        );
      }

@media (max-width:767px){
    .recruitBanner a{
      height: calc(calc(380/390) * 100vw);
    }
      .recruitBanner a::before{
        background-image: url('../img/sp_recruit_banner.jpg');
      }
      .recruitBanner a p{
        width: calc(calc(360/390) * 100vw);
      }
        .recruitBanner a p::before{
          margin-bottom: calc(calc(20/390) * 100vw);
        }
        .recruitBanner a p::after{
          width: calc(calc(55/390) * 100vw);
          height: calc(calc(30/390) * 100vw);
          margin-top: calc(calc(33/390) * 100vw);
        }
        .aboutPage .recruitBanner a::before{
          background-image: url('../img/sp_recruit_banner2.jpg');
        }
}

/* ==========================================================================
   tensyokuBanner
========================================================================== */

.tensyokuBanner{
  width: min(calc(100% - 40px),1215px);
  margin: 0 auto;
  height: 400px;
  display: grid;
  grid-template-columns: 329px 1fr;
  grid-template-rows: 244px 1fr;
  gap: 28px 78px;
  position: relative;
  z-index: 1;
}

.tensyokuBanner::before{
    content: '';
    z-index: -1;
    background-image: -webkit-image-set(
			url('../img/tensyoku_bk.jpg') 1x,
			url('../img/tensyoku_bk@2x.jpg')  2x
		);
    background-image: image-set(
			url('../img/tensyoku_bk.jpg') 1x,
			url('../img/tensyoku_bk@2x.jpg')  2x
		);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
    width: 100vw;
    min-width: 1200px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 114px;
  }

.tensyokuBanner::after{
    content: '';
    z-index: 1;
    background-image: -webkit-image-set(
			url('../img/tensyoku_bk_chara.png') 1x,
			url('../img/tensyoku_bk_chara@2x.png')  2x
		);
    background-image: image-set(
			url('../img/tensyoku_bk_chara.png') 1x,
			url('../img/tensyoku_bk_chara@2x.png')  2x
		);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
    width: 403px;
    height: 374px;
    position: absolute;
    bottom: 0;
    right: 0;
  }

.tensyokuBanner h2{
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
  }

.tensyokuBanner p{
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    position: relative;
    z-index: 2;
  }

.tensyokuBanner a{
    grid-column: 2;
    grid-row: 2;
    width: 191px;
    height: 50px;
    margin-left: 110px;
  }

@media (max-width:767px){
  .tensyokuBanner{
    width: calc(calc(370/390) * 100vw);
    margin: 0 0 0 auto;
    height: calc(calc(656/390) * 100vw);
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto auto 1fr;
    gap: 0;
  }
    .tensyokuBanner::before{
      z-index: -1;
      background-image: url('../img/sp_tensyoku_bk.jpg');
      width: calc(calc(324/390) * 100vw);
      min-width: 0;
      height: calc(calc(632/390) * 100vw);
      position: absolute;
      top: auto;
      bottom: 0;
      left: auto;
      right: 0;
    }
    .tensyokuBanner::after{
      background-image: url('../img/sp_tensyoku_bk_chara.png');
      width: calc(calc(352/390) * 100vw);
      height: calc(calc(327/390) * 100vw);
      position: absolute;
      bottom: 0;
      right: 0;
    }
    .tensyokuBanner h2{
      grid-column: 1;
      grid-row: 1;
      align-self: start;
      width: calc(calc(296/390) * 100vw);
      margin: 0 0 calc(calc(42/390) * 100vw) calc(calc(25/390) * 100vw);
    }
    .tensyokuBanner p{
      grid-column: 1;
      grid-row: 2;
      align-self: start;
      width: calc(calc(346/390) * 100vw);
    }
    .tensyokuBanner a{
      grid-column: 1;
      grid-row: 3;
      width: calc(calc(167/390) * 100vw);
      height: calc(calc(44/390) * 100vw);
      margin:calc(calc(25/390) * 100vw) 0 0 calc(calc(98/390) * 100vw);
    }
}

/* ==========================================================================
   フォーム
========================================================================== */

.formWall{
  max-width: 763px;
  margin: 0 auto;
  /* 送信エラー */
  /* 送信OK */
}

.formWall .formInput select,
    .formWall .formInput input[type="date"],
    .formWall .formInput input[type="text"],
    .formWall .formInput input[type="tel"],
    .formWall .formInput input[type="email"]{
      padding: 0 1em;
      height: 50px;
      line-height: 50px;
      border: 1px solid #BBBBBB;
      border-radius: 2px;
      width: 100%;
      background: #fff;
    }

.formWall .formInput textarea{
      width: 100%;
      padding: 1em;
      border: 1px solid #BBBBBB;
      border-radius: 2px;
      height: 300px;
      background: #fff;
    }

.formWall .formInput input[type="checkbox"]{
      accent-color: #708AAD;
      accent-color: var(--blue);
    }

.formWall .inputRow{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap:40px 20px;
  }

.formWall .formBox{
    max-width: 372px;
  }

.formWall .formBox .title{
      font-size: 1.8rem;
      font-weight: 500;
      margin-bottom: 16px;
      display: block;
    }

.formWall .formBox .title .hissu{
        font-weight: 500;
        color: #ED015C;
        line-height: 1;
        padding-left: .3em;
      }

.formWall .birthdayBox,
  .formWall .genderBox,
  .formWall .messageBox,
  .formWall .departmentBox,
  .formWall .telBox{
    grid-column: 1 / 3;
  }

.formWall .messageBox{
    max-width: 100%;
  }

.formWall .errorText{
    padding-top: .6em;
    color: red;
  }

.formWall .errorText .errorShow{
      font-size: 1.4rem;
      line-height: 1;
    }

.formWall .privacy{
    margin-top: 30px;
    text-align: justify;
    line-height: 1.2;
    border: 1px solid #BBBBBB;
    background: #fff;
    border-radius: 2px;
    padding: 26px 5px 7px 32px;
  }

.formWall .privacy .inner{
      padding: 0 20px 20px 0;
      height: 100px;
      overflow-y: auto;
      overscroll-behavior-y: none;
    }

.formWall .privacy .inner::-webkit-scrollbar{
        width: 10px;
        
      }

.formWall .privacy .inner::-webkit-scrollbar-thumb{
        background-color: #708AAD;
        background-color: var(--blue);
        border-radius: 7px;
      }

.formWall .privacy h2{
      font-size: 1.8rem;
      margin-bottom: .8em;
    }

.formWall .privacy h3{
      font-size: 1.6rem;
      font-weight: 500;
      margin: 16px 0 .5em;
    }

.formWall .privacy ul li{
        text-indent: -1em;
        margin-left: 1em;
      }

.formWall .privacy ul li::before{
          content: '・';
        }

.formWall .privacy .innerBox + .innerBox{
      margin-top: 1em;
    }

.formWall .accept{
    margin-top: 30px;
    font-weight: 500;
    line-height: 1;
    display: flex;
    align-items: center;
  }

.formWall .accept label{
      padding-left: 16px;
    }

.formWall .accept input{
      width: 25px;
      height: 25px;
    }

.formWall .kome{
    margin-top: 20px;
    line-height: 2;
    font-size: 1.3rem;
  }

.formWall .formBtn{
    width: 230px;
    height: 56px;
    margin: 50px auto 0;
    position: relative;
    line-height: 1;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: url('../img/button_arrow.svg') no-repeat calc(100% - 20px) center / 11px auto;
    background-color: #708AAD;
    background-color: var(--blue);
    border-radius: 5px;
  }

.formWall .formBtn:disabled{
      opacity: .5;
    }

@media (hover:hover) {
        .formWall .formBtn:hover::after{
          opacity: 1;
        }
          .formWall .formBtn:disabled:hover::after{
            opacity: 0;
          }
    }

.formWall .sendError{
    margin:2em auto 0;
    color:#E64D4D;
    font-size: 1.6rem;
    border: 1px solid #E64D4D;
    padding: 1em;
    text-align: center;
    background:#fff;
    line-height: 1.75;
  }

.formWall .sendOK{
    margin:2em auto 0;
    color:#0E9A7A;
    font-size: 1.8rem;
    font-weight: 500;
    border: 1px solid #0E9A7A;
    padding: 1em;
    text-align: center;
    background:#fff;
    line-height: 1.75;
    white-space: pre-wrap;
  }

@media only screen and (max-width: 767px) {
  .formWall{
    max-width: 100%;
    /* 送信エラー */
    /* 送信OK */
  }
      .formWall .formInput select,
      .formWall .formInput input[type="date"],
      .formWall .formInput input[type="text"],
      .formWall .formInput input[type="tel"],
      .formWall .formInput input[type="email"]{
        height: calc(calc(50/390) * 100vw);
        line-height: calc(calc(50/390) * 100vw);
        border: calc(calc(1/390) * 100vw) solid #BBBBBB;
        border-radius: calc(calc(2/390) * 100vw);
      }
      .formWall .formInput textarea{
        border: calc(calc(1/390) * 100vw) solid #BBBBBB;
        border-radius: calc(calc(2/390) * 100vw);
        height: calc(calc(300/390) * 100vw);
        background: #fff;
      }
    .formWall .inputRow{
      display: grid;
      grid-template-columns: 100%;
      gap:calc(calc(30/390) * 100vw) 0;
    }
    .formWall .formBox{
      max-width: none;
    }
      .formWall .formBox .title{
        font-size: 1.5rem;
        margin-bottom: calc(calc(16/390) * 100vw);
      }
    .formWall .birthdayBox,
    .formWall .genderBox,
    .formWall .messageBox,
    .formWall .departmentBox,
    .formWall .telBox{
      grid-column: 1;
    }
    .formWall .messageBox{
      max-width: 100%;
    }
    .formWall .errorText{
      padding-top: .6em;
      color: red;
    }
      .formWall .errorText .errorShow{
        font-size: 1.4rem;
        line-height: 1;
      }
    .formWall .privacy{
      margin-top: 0;
      border: calc(calc(1/390) * 100vw) solid #AAAAAA;
      border-radius: calc(calc(6/390) * 100vw);
      padding: calc(calc(26/390) * 100vw) calc(calc(5/390) * 100vw) calc(calc(10/390) * 100vw) calc(calc(20/390) * 100vw);
    }
      .formWall .privacy .inner{
        padding: 0 calc(calc(8/390) * 100vw) calc(calc(15/390) * 100vw) 0;
        height: calc(calc(169/390) * 100vw);
        overflow-y: auto;
        overscroll-behavior-y: none;
      }
        .formWall .privacy .inner::-webkit-scrollbar{
          width: calc(calc(10/390) * 100vw);
          
        }
        .formWall .privacy .inner::-webkit-scrollbar-thumb{
          border-radius: calc(calc(7/390) * 100vw);
        }
      .formWall .privacy h2{
        font-size: 1.6rem;
      }
      .formWall .privacy h3{
        font-size: 1.5rem;
        margin: calc(calc(16/390) * 100vw) 0 .5em;
      }
    .formWall .accept{
      margin-top: calc(calc(31/390) * 100vw);
    }
      .formWall .accept label{
        padding-left: calc(calc(16/390) * 100vw);
      }
      .formWall .accept input{
        width: calc(calc(25/390) * 100vw);
        height: calc(calc(25/390) * 100vw);
      }
    .formWall .kome{
      margin-top: calc(calc(20/390) * 100vw);
    }
    .formWall .formBtn{
      width: calc(calc(230/390) * 100vw);
      height: calc(calc(56/390) * 100vw);
      margin: calc(calc(50/390) * 100vw) auto 0;
      background: url('../img/button_arrow.svg') no-repeat calc(100% - calc(calc(20/390) * 100vw)) center / calc(calc(11/390) * 100vw) auto;
      background-color: #708AAD;
      background-color: var(--blue);
      border-radius: calc(calc(5/390) * 100vw);
    }
      .formWall .formBtn:disabled{
        opacity: .5;
      }
    .formWall .sendError{
      font-size: 1.4rem;
    }
    .formWall .sendOK{
      font-size: 1.4rem;
    }
}

/* ==========================================================================
  ロード関連
========================================================================== */

.loading{
  margin-top: 30px;
  position: relative;
}

.loading::before{
    position: absolute;
    top:50%;
    left:50%;
    margin:-20px 0 0 -20px;
    width: 40px;
    height: 40px;
    content: '';
    animation: loader .8s infinite linear;
    border: 6px solid #000;
    border-top-color: #ddd;
    border-radius: 50%;
  }

@media only screen and (max-width: 767px) {
  .loading{
    margin-top: calc(calc(15/360) * 100vw);
  }
    .loading::before{
      position: absolute;
      top:50%;
      left:50%;
      margin:0 0 0 -13px;
      width: 26px;
      height: 26px;
      content: '';
      animation: loader .8s infinite linear;
      border: 4px solid #000;
      border-top-color: #ddd;
      border-radius: 50%;
    }
}

@keyframes loader{
  0%{
    transform: rotate(0deg);
  }
  100%{
    transform: rotate(360deg);
  }
}

/* ==========================================================================
   共通設定
========================================================================== */

html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
	overflow-y:scroll;
}

body {
	font-family: 'Noto Sans','Noto Sans JP','Noto Sans CJK JP','ヒラギノ角ゴ ProN W3','游ゴシック', '游ゴシック体','メイリオ',Meiryo,sans-serif;
	font-feature-settings : 'pkna';
	font-optical-sizing: auto;
	color:#111111;
	color:var(--black);
	text-align: justify;
	text-justify: inter-ideograph;
	width:100%;
  min-width: 1140px;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.3;
  overflow: hidden;
}

img{
	vertical-align:bottom;
  max-width: 100%;
	height: auto;
  backface-visibility: hidden;
}

a{
	color:#111111;
	color:var(--black);
	text-decoration: none;
	display: inline-block;
}

a:hover{
		opacity: .8;
	}

.spShow{
	display: none;
}

.pcShow{
	display: inline-block;
}

.container{
	display: grid;
	min-height: 100vh;
	grid-template-columns: 100%;
  grid-template-rows: 1fr auto auto;
}

.pageContainer{
	grid-column: 1;
  grid-row: 2;
  position: relative;
  z-index: 1;
}

.mainCta{
	grid-column: 1;
  grid-row: 2;
}

.mainFooter{
	grid-column: 1;
  grid-row: 3;
  z-index: 2;
}

/* ==========================================================================
   header
========================================================================== */

.mainHeader{
	height: 60px;
	width: 100%;
	min-width: 1140px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 900;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: background .2s ease-in-out;
	padding-left: 20px;
}

.mainHeader .logo{
		width: 184px;
	}

.mainHeader .logo svg{
			width: 100%;
			height: auto;
			vertical-align: bottom;
		}

.mainHeader .logo svg .cls-1{
				fill:#fff;
			}

.mainHeader .logo svg .cls-2{
				fill:#fff;
			}

.mainHeaderIsBkWhiteFix,.mainHeaderBlue{
	background: #fff;
}

.mainHeaderIsBkWhiteFix .logo svg .cls-1,.mainHeaderBlue .logo svg .cls-1{
				fill:#595757;
			}

.mainHeaderIsBkWhiteFix .logo svg .cls-2,.mainHeaderBlue .logo svg .cls-2{
				fill:url(#grade);
			}

.mainHeaderIsBkWhiteFix .gNav ul a,.mainHeaderBlue .gNav ul a{
				color: #111111;
				color: var(--black);
			}

.mainHeaderIsBkWhiteFix .gNav .contact,.mainHeaderBlue .gNav .contact{
			background-color: #708AAD;
			background-color: var(--blue);
			transition: background-color .2s ease-in-out;
			background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%224.174%22%20height%3D%227.374%22%20viewBox%3D%220%200%204.174%207.374%22%3E%20%3Cpath%20id%3D%22_3fe96f5088ac9e162de81b94819669bc%22%20data-name%3D%223fe96f5088ac9e162de81b94819669bc%22%20d%3D%22M-937%2C909.249l.487-.487%2C3.687%2C3.687-3.687%2C3.687-.487-.487%2C3.2-3.2Z%22%20transform%3D%22translate(937%20-908.762)%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E');
			color: #fff;
		}

.mainHeaderBlue{
	background: none;
}

.mainHeaderIsBlueBkFix{
	background: #fff;
}

/* ==========================================================================
   gNav
========================================================================== */

.gNav{
	display: flex;
	height: 60px;
}

.gNav .pageLink{
		display: flex;
		align-items: center;
	}

.gNav ul{
		display: flex;
		gap:0 4em;
		font-size: 1.3rem;
		font-weight: 500;
		margin-right: 4em;
	}

.gNav ul a{
			color: #fff;
		}

.gNav .contact{
		width: 176px;
		display: grid;
		place-content:center;
		color: #3F5A80;
		font-size: 1.3rem;
		font-weight: 500;
		background-repeat: no-repeat;
		background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%224.174%22%20height%3D%227.374%22%20viewBox%3D%220%200%204.174%207.374%22%3E%3Cpath%20d%3D%22M-937%2C909.249l.487-.487%2C3.687%2C3.687-3.687%2C3.687-.487-.487%2C3.2-3.2Z%22%20transform%3D%22translate(937%20-908.762)%22%20fill%3D%22%2334485c%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E');
		background-position: calc(100% - 15px) center;
		background-size: 4px 7px;
		background-color: #fff;
	}

/* ==========================================================================
   mainFooter
========================================================================== */

.mainFooter{
	background: #111111;
	background: var(--black);
	color: #fff;
}

.mainFooter .footerInner{
		width: min(calc(100% - 40px),1300px);
		margin: 0 auto;
		display: grid;
		grid-template-columns: 1fr 190px;
		grid-template-rows: auto auto 1fr;
		gap:0 50px;
	}

.mainFooter .pageLink{
		grid-column: 1;
		grid-row: 1;
		margin-top: 33px;
	}

.mainFooter .pageLink ul{
			display: flex;
			gap:0 5em;
			font-size: 1.3rem;
			font-weight: 500;
		}

.mainFooter .pageLink a{
			color: #fff;
		}

.mainFooter .companyInfo{
		grid-column: 1;
		grid-row: 2;
		margin-top: 59px;
		display: grid;
		grid-template-columns: minmax(100px,326px) auto 1fr;
		grid-template-rows: auto;
		gap: 0 40px;
	}

.mainFooter .companyInfo h2{
			grid-column: 1;
			grid-row: 1;
			display: flex;
			justify-content: space-between;
			align-items: center;
			font-size: 1.5rem;
			font-weight: 500;
		}

.mainFooter .companyInfo h2::before{
				content: '';
				background-repeat: no-repeat;
				background-position: center center;
				background-size: contain;
				background-image: url('../img/footer_logo.svg');
				width: 100px;
				height: 66px;
				flex-shrink: 0;
			}

.mainFooter .companyInfo .addr{
			grid-column: 2;
			grid-row: 1;
			font-size: 1.3rem;
			line-height: 1.53;
			font-weight: 300;
		}

.mainFooter .companyInfo .addr a{
				color: #708AAD;
				color: var(--blue);
			}

.mainFooter .companyInfo .kyoka{
			grid-column: 3;
			grid-row: 1;
			justify-self: end;
			font-size: 1.3rem;
			line-height: 1.53;
			font-weight: 300;
			color: #999999;
		}

.mainFooter .pagetop{
		grid-column: 2;
		grid-row: 1 / 4;
		background: #222222;
		position: relative;
		z-index: 1;
	}

.mainFooter .pagetop::before{
			content: '';
			height: 100%;
			width: 50vw;
			position: absolute;
			top: 0;
			left: 0;
			z-index: -1;
			background: #222222;
		}

.mainFooter .pagetop a{
			margin: 100px 0 0 50px;
			width: 120px;
			height: 120px;
			color: #fff;
			background: #111111;
			background: var(--black);
			display: flex;
			flex-flow: column;
			justify-content: center;
			align-items: center;
			font-size: 1.2rem;
			letter-spacing: .1em;
			font-weight: 600;
		}

.mainFooter .pagetop a::before{
				content: '';
				width: 14px;
				height: 11px;
				background: url('../img/pagetop_arrow.svg') no-repeat center center / contain;
				margin-bottom: 12px;
			}

.mainFooter .endBox{
		grid-column: 1;
		grid-row: 3;
		padding-bottom: 29px;
		display: flex;
		flex-flow: row-reverse;
		justify-content: space-between;
		margin-top: 37px;
		padding-top: 30px;
		border-top: 1px solid #333333;
		font-weight: 600;
	}

.mainFooter .endBox .copyright{
			font-size: 1.1rem;
			letter-spacing: .5em;
			color: #646262;
		}

.mainFooter .endBox .complaintPC{
			font-size: 1.2rem;
			letter-spacing: .2em;
		}

.mainFooter .endBox .complaintPC a{
				color: #BBBBBB;
			}

/* ==========================================================================
   mainCta
========================================================================== */

.mainCta{
	/* width: min(100%,1400px); */
	margin: 100px auto 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.mainCta .ctaSec a{
			width: 100%;
			overflow: hidden;
			height: 350px;
			display: flex;
			flex-flow: column;
			justify-content: center;
			align-items: center;
			position: relative;
			text-align: center;
		}

.mainCta .ctaSec a::before{
				content: attr(data-en);
				position: absolute;
				top: 0;
				right: -.16em;
				font-family: "futura-pt", sans-serif;
				font-size: 5rem;
				font-weight: 500;
				line-height: 1;
				font-style: italic;
				letter-spacing: -.03em;
				writing-mode: sideways-lr;
				color: #DCE2EA;
				z-index: 2;
			}

.mainCta .ctaSec a::after{
				content: '';
				background-repeat: no-repeat;
				background-position: center center;
				background-size: cover;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 1;
				width: 100%;
				height: 100%;
				opacity: 0;
				scale:1;
				transition: opacity .4s,scale .6s;
			}

.mainCta .ctaSec a:hover{
			opacity: 1;
		}

.mainCta .ctaSec a:hover::after{
				opacity: 1;
				scale:1.1;
			}

.mainCta .ctaSec a:hover header .en{
					color: #fff;
				}

.mainCta .ctaSec a:hover header h2{
					color: #fff;
				}

.mainCta .ctaSec header{
			position: relative;
			z-index: 2;
			text-align: center;
			line-height: 1;
		}

.mainCta .ctaSec header .en{
				font-size: 5rem;
				letter-spacing: -.05em;
				font-weight: 600;
				color: #708AAD;
				color: var(--blue);
				transition: color .2s linear;
			}

.mainCta .ctaSec header h2{
				font-size: 2rem;
				font-weight: 700;
				margin-top: 25px;
				transition: color .2s linear;
			}

.mainCta .ctaFormSec{
		border-right: 1px dashed #707070;
	}

.mainCta .ctaFormSec .btn{
			position: relative;
			z-index: 2;
			margin-top: 24px;
			width: 201px;
			height: 45px;
			border-radius: 26px;
			background: #708AAD;
			background: var(--blue);
			display: flex;
			align-items: center;
			padding-left: 23px;
			font-weight: 500;
			letter-spacing: -.05em;
			color: #fff;
		}

.mainCta .ctaFormSec .btn::after{
				content: '';
				background: url('../img/arrow_white.svg') no-repeat center center / contain;
				width: 8px;
				height: 9px;
				flex-shrink: 0;
				margin-left: 16px;
			}

.mainCta .ctaTelSec a::after{
				background-image: -webkit-image-set(
					url('../img/cta_tel_bk.jpg') 1x,
					url('../img/cta_tel_bk@2x.jpg')  2x
				);
				background-image: image-set(
					url('../img/cta_tel_bk.jpg') 1x,
					url('../img/cta_tel_bk@2x.jpg')  2x
				);
			}

.mainCta .ctaTelSec a:hover .number{
				color: #fff;
			}

.mainCta .ctaTelSec a:hover .time{
				color: #fff;
			}

.mainCta .ctaTelSec .number{
			position: relative;
			z-index: 2;
			margin-top: 22px;
			font-size: 3.3rem;
			font-weight: 600;
			line-height: 1;
			color: #708AAD;
			color: var(--blue);
			transition: color .2s linear;
		}

.mainCta .ctaTelSec .time{
			position: relative;
			z-index: 2;
			margin-top: 7px;
			font-size: 1.4rem;
			font-weight: 600;
			line-height: 1;
			color: #708AAD;
			color: var(--blue);
			transition: color .2s linear;
		}

.homePage .mainCta .ctaFormSec{
			border-right: 1px dashed #707070;
		}

.homePage .mainCta .ctaFormSec a::after{
					background-image: -webkit-image-set(
						url('../img/cta_form_bk_home.jpg') 1x,
						url('../img/cta_form_bk_home@2x.jpg') 2x
					);
					background-image: image-set(
						url('../img/cta_form_bk_home.jpg') 1x,
						url('../img/cta_form_bk_home@2x.jpg') 2x
					);
				}

.medicalPage .mainCta .ctaFormSec,.doctorPage .mainCta .ctaFormSec{
			border-right: 1px dashed #707070;
		}

.medicalPage .mainCta .ctaFormSec a::after,.doctorPage .mainCta .ctaFormSec a::after{
					background-image: -webkit-image-set(
						url('../img/cta_form_bk_home.jpg') 1x,
						url('../img/cta_form_bk_home@2x.jpg') 2x
					);
					background-image: image-set(
						url('../img/cta_form_bk_home.jpg') 1x,
						url('../img/cta_form_bk_home@2x.jpg') 2x
					);
				}

.recruitPage .mainCta .ctaFormSec{
			border-right: 1px dashed #707070;
		}

.recruitPage .mainCta .ctaFormSec a::after{
					background-image: -webkit-image-set(
						url('../img/cta_form_bk_recruit.jpg') 1x,
						url('../img/cta_form_bk_recruit@2x.jpg')  2x
					);
					background-image: image-set(
						url('../img/cta_form_bk_recruit.jpg') 1x,
						url('../img/cta_form_bk_recruit@2x.jpg')  2x
					);
				}

.aboutPage .mainCta .ctaFormSec{
			border-right: 1px dashed #707070;
		}

.aboutPage .mainCta .ctaFormSec a::after{
					background-image: -webkit-image-set(
						url('../img/cta_form_bk_home.jpg') 1x,
						url('../img/cta_form_bk_home@2x.jpg') 2x
					);
					background-image: image-set(
						url('../img/cta_form_bk_home.jpg') 1x,
						url('../img/cta_form_bk_home@2x.jpg') 2x
					);
				}

.contactPage .mainCta .ctaFormSec{
			border-right: 1px dashed #707070;
		}

.contactPage .mainCta .ctaFormSec a::after{
					background-image: -webkit-image-set(
						url('../img/cta_form_bk_home.jpg') 1x,
						url('../img/cta_form_bk_home@2x.jpg') 2x
					);
					background-image: image-set(
						url('../img/cta_form_bk_home.jpg') 1x,
						url('../img/cta_form_bk_home@2x.jpg') 2x
					);
				}

/* ==========================================================================
   お問い合わせ
========================================================================== */

.contactPage .pageHeader{
		height: 420px;
		background-image: -webkit-image-set(
			url('../img/contact_bk.jpg') 1x,
			url('../img/contact_bk@2x.jpg')  2x
		);
		background-image: image-set(
			url('../img/contact_bk.jpg') 1x,
			url('../img/contact_bk@2x.jpg')  2x
		);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}

.contactPage .formSec{
		width: min(100%,1030px);
		margin: 0 auto;
	}

.contactPage .formTitle{
		margin-bottom: 70px;
	}

.contactPage .formTitle h2{
			font-size: 3.5rem;
			font-weight: 700;
			line-height: 1.48;
			margin-bottom: 9px;
		}

.contactPage .formTitle p{
			font-size: 1.6rem;
			font-weight: 500;
		}

/* ==========================================================================
   医療機関・企業の方向けサービス
========================================================================== */

.medicalPage .pageHeader{
		background: #F9F9F9;
	}

.medicalPage .pageHeader::after{
			background-image: -webkit-image-set(
				url('../img/for_medical_mv.jpg') 1x,
				url('../img/for_medical_mv@2x.jpg')  2x
			);
			background-image: image-set(
				url('../img/for_medical_mv.jpg') 1x,
				url('../img/for_medical_mv@2x.jpg')  2x
			);
		}

.medicalPage .pageTitleBlock .en span{
				display: block;
				line-height: 1;
				font-weight: 600;
			}

.medicalPage .pageTitleBlock .en span:nth-child(1){
				color: #708AAD;
				color: var(--blue);
				font-size: 3.5rem;
			}

.medicalPage .pageTitleBlock .en span:nth-child(2){
				font-size: 7.5rem;
				margin-top: -.25em;
			}

.medicalPage .pageTitleBlock .en span:nth-child(3){
				color: #555555;
				font-size: 5.2rem;
				margin-top: -.35em;
			}

.medicalPage .service{
		margin-top: 100px;
	}

.medicalPage .service >h2{
			text-align: center;
			font-size: 2.8rem;
			font-weight: 700;
			margin-bottom: 70px;
		}

.medicalPage .pageNavi{
		background-image: -webkit-image-set(
			url('../img/for_medical_nav_bk.jpg') 1x,
			url('../img/for_medical_nav_bk@2x.jpg')  2x
		);
		background-image: image-set(
			url('../img/for_medical_nav_bk.jpg') 1x,
			url('../img/for_medical_nav_bk@2x.jpg')  2x
		);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}

.medicalPage .pageNavi ol{
			width: min(100%,1400px);
			margin: 0 auto;
			display: grid;
			grid-template-columns: 1fr 1fr;
			height: 350px;
		}

.medicalPage .pageNavi ol li{
				display: flex;
				justify-content: center;
				align-items: center;
				height: 100%;
				position: relative;
				z-index: 1;
			}

.medicalPage .pageNavi ol li::before{
					content: '';
					width: 100vw;
					height: 100%;
					background: #3557D1;
					opacity: 0;
					position: absolute;
					top: 0;
					z-index: -1;
					transition: opacity .2s;
				}

.medicalPage .pageNavi ol li:first-child::before{
					right: 0;
				}

.medicalPage .pageNavi ol li:last-child::before{
					left: 0;
				}

@media (hover:hover) {
					.medicalPage .pageNavi ol li:has(a:hover)::before{
						opacity: .65;
					}
			}

.medicalPage .pageNavi ol a{
				display: flex;
				justify-content: center;
				align-items: center;
				flex-flow: column;
			}

.medicalPage .pageNavi ol a::before{
					color: #fff;
					font-family: "futura-pt", sans-serif;
					font-weight: 600;
					font-size: 5rem;
					line-height: 1;
					letter-spacing: -.02em;
					text-align: center;
					margin-bottom: 10px;
				}

.medicalPage .pageNavi ol a >span{
					align-self: center;
					font-size: 3.5rem;
					line-height: 1.42;
					font-weight: 700;
					text-align: center;
					min-height: 4ch;
					display: flex;
					align-items: center;
					justify-content: center;
					flex-flow: column;
				}

.medicalPage .pageNavi ol a >span >span{
						font-size: 2.8rem;
					}

.medicalPage .pageNavi ol a::after{
					justify-self: center;
					content: '';
					width: 50px;
					height: 38px;
					background: url('../img/page_navi_arrow.svg') no-repeat center center / contain;
					margin-top: 28px;
				}

.medicalPage .pageNavi ol a:hover{
					opacity: 1;
				}

@media (hover:hover) {
					.medicalPage .pageNavi ol a:hover{
						color: #fff;
					}
				}

.medicalPage .pageNavi ol li:first-child{
				border-right: 1px dashed #707070;
			}

.medicalPage .pageNavi ol li:first-child a::before{
						content: '01';
					}

.medicalPage .pageNavi ol li:last-child a::before{
						content: '02';
					}

.medicalPage .wall{
		background: #F9F9F9;
		margin-top: 146px;
		padding-bottom: 100px;
	}

.medicalPage .serviceSec >header{
			width: min(calc(100% - 40px),1200px);
			margin: 0 auto;
			display: flex;
			align-items: center;
			gap:0 16px;
			line-height: 1;
		}

.medicalPage .serviceSec >header .num{
				font-size: 7.1rem;
				font-weight: 600;
				letter-spacing: -.02em;
				color:#708AAD;
				color:var(--blue);
			}

.medicalPage .serviceSec >header h2{
				font-size: 5rem;
			}

.medicalPage .serviceSec .serviceBox{
			width: min(100%,1400px);
			margin: 0 auto;
			display: grid;
			grid-template-columns: 100%;
			grid-template-rows: auto;
		}

.medicalPage .serviceSec .serviceBox .imgBox{
				grid-column: 1;
				grid-row: 1;
				z-index: 1;
			}

.medicalPage .serviceSec .serviceBox .textBox{
				grid-column: 1;
				grid-row: 1;
				z-index: 2;
				margin-top: 310px;
				background: #fff;
				width: 700px;
				padding: 40px 125px;
				line-height: 2;
				box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.16);
			}

.medicalPage .serviceSec1 >header{
			translate:0 -50%;
			margin-bottom: 45px;
		}

.medicalPage .serviceSec2{
		margin-top: 110px;
	}

.medicalPage .serviceSec2 >header{
			margin-bottom: 75px;
		}

.medicalPage .mainCta{
		margin-top: 0;
	}

/* ==========================================================================
   会社概要・ニュース
========================================================================== */

.aboutPage .pageHeader{
		background: #F9F9F9;
		z-index: 1;
	}

.aboutPage .pageHeader .movieBox{
			width: calc(50% + 239px);
			height: 390px;
			background-repeat: no-repeat;
			background-position: center center;
			background-size: cover;
			position: absolute;
			left: 50%;
			top: 50%;
			translate:0 -50%;
			margin-left: -239px;
			z-index: -1;
		}

.aboutPage .pageHeader .movieBox video{
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				-o-object-fit: cover;
				   object-fit: cover; 
			}

.aboutPage .pageHeader .pageTitle{
			color: #111111;
			color: var(--black);
		}

.aboutPage .message{
		width: min(100%,1400px);
		margin: 100px auto 0;
		display: grid;
		grid-template-columns: 100%;
		grid-template-rows: auto;
	}

.aboutPage .message .imgBox{
			grid-column: 1;
			grid-row: 1;
			z-index: 1;
		}

.aboutPage .message .textBox{
			grid-column: 1;
			grid-row: 1;
			z-index: 2;
			margin-top: 345px;
			background: #fff;
			width: 800px;
			padding: 49px 100px 47px 100px;
			line-height: 2;
			box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.16);
		}

.aboutPage .message .textBox h2{
				font-size: 2.6rem;
				line-height: 1.46;
				font-weight: 700;
				border-left: 1px solid #707070;
				padding-left: 25px;
				margin-bottom: 24px;
			}

.aboutPage .message .textBox .fontM{
				line-height: 1;
				margin-bottom: 20px;
			}

.aboutPage .message .textBox p{
				line-height: 2;
			}

.aboutPage .aboutCompany{
		width: min(calc(100% - 40px),1200px);
		margin: 139px auto 0;
	}

.aboutPage .aboutCompany >h2{
			font-size: 3.5rem;
			font-weight: 700;
			margin-bottom: 70px;
		}

.aboutPage .aboutCompany .row{
			max-width: 1100px;
			margin: 0 auto;
			display: grid;
			grid-template-columns: 539px 1fr;
			gap:0 80px;
		}

.aboutPage .aboutCompany .companyDl{
			display: grid;
			grid-template-columns: 120px 1fr;
			align-items: start;
			gap:39px 24px;
			line-height: 2;
		}

.aboutPage .aboutCompany .companyDl dt{
				text-box:trim-both text text;
				font-weight: 300;
			}

.aboutPage .aboutCompany .companyDl dd{
				text-box:trim-both text text;
				align-self: start;
				
				border-left: 1px solid #707070;
				padding-left: 19px;
			}

.aboutPage .aboutCompany .companyDl dd .small{
					font-size: 1.3rem;
				}

.aboutPage .aboutCompany .companyDl dd .bank{
					display: flex;
					flex-flow: row wrap;
					gap:1em;
				}

.aboutPage .location{
		margin-top: 118px;
		display: grid;
		grid-template-columns: 500px 1fr;
		height: 560px;
	}

.aboutPage .location header{
			width: 100%;
			height: 100%;
			display: flex;
			justify-content: center;
			align-items: center;
			background-image: -webkit-image-set(
				url('../img/company_location.jpg') 1x,
				url('../img/company_location@2x.jpg')  2x
			);
			background-image: image-set(
				url('../img/company_location.jpg') 1x,
				url('../img/company_location@2x.jpg')  2x
			);
			background-repeat: no-repeat;
			background-position: center center;
			background-size: cover;
		}

.aboutPage .location h2{
			color: #fff;
			justify-self: center;
			align-self: center;
			font-size: 1.7rem;
			font-weight: 700;
			line-height: 1;
		}

.aboutPage .location h2::before{
				content: 'LOCATION';
				font-size: 3.5rem;
				display: block;
				margin-bottom: 20px;
			}

.aboutPage .location .map iframe{
				width: 100%;
				height: 100%;
			}

.aboutPage .news{
		 max-width: 1000px;
		 margin: 100px auto 0;
	}

.aboutPage .news >h2{
			font-size: 1.7rem;
			font-weight: 700;
			line-height: 1;
			margin-bottom: 35px;
		}

.aboutPage .news >h2::before{
				content: 'NEWS';
				font-size: 3.5rem;
				display: block;
				margin-bottom: 20px;
			}

.aboutPage .recruitBanner{
		margin-top: 100px;
	}

.aboutPage .mainCta{
		margin-top: 0;
	}

/* ==========================================================================
   医師向けサービス
========================================================================== */

.doctorPage .pageHeader{
		background: #F9F9F9;
	}

.doctorPage .pageHeader::after{
			background-image: -webkit-image-set(
				url('../img/doctor_mv.jpg') 1x,
				url('../img/doctor_mv@2x.jpg')  2x
			);
			background-image: image-set(
				url('../img/doctor_mv.jpg') 1x,
				url('../img/doctor_mv@2x.jpg')  2x
			);
			background-position: center top;
		}

.doctorPage .pageTitleBlock{
		width: min(100%,990px);
	}

.doctorPage .pageTitleBlock .en span{
				display: block;
				line-height: 1;
				font-weight: 600;
			}

.doctorPage .pageTitleBlock .en span:nth-child(1){
				color: #708AAD;
				color: var(--blue);
				font-size: 3.5rem;
			}

.doctorPage .pageTitleBlock .en span:nth-child(2){
				font-size: 7.5rem;
				margin-top: -.25em;
			}

.doctorPage .questionary >header{
			width: min(calc(100% - 40px),1200px);
			margin: 0 auto 106px;
		}

.doctorPage .questionary >header h2{
				font-size: 3.5rem;
				font-weight: 700;
				line-height: 1.62;
			}

.doctorPage .questionary >header p{
				font-size: 1.7rem;
				line-height: 1.76;
				margin-top: 10px;
			}

.doctorPage .questionary .questionBoxRow{
			width: min(calc(100% - 40px),1400px);
			margin: 0 auto;
			display: grid;
			grid-template-columns: repeat(3,1fr);
			grid-template-rows: auto 1fr;
		}

.doctorPage .questionary .questionBox >header{
				text-align: center;
				margin-bottom: 25px;
			}

.doctorPage .questionary .questionBox >header .num{
					font-size: 3.5rem;
					letter-spacing: -.05em;
					line-height: 1;
					font-weight: 600;
					color: #708AAD;
					color: var(--blue);
					margin-bottom: 10px;
				}

.doctorPage .questionary .questionBox >header h2{
					font-size: 2.2rem;
					line-height: 1;
				}

.doctorPage .questionary .questionBox figure{
				text-align: center;
			}

.doctorPage .questionary .questionBox1,
		.doctorPage .questionary .questionBox2,
		.doctorPage .questionary .questionBox3{
			padding: 32px 0 38px;
		}

.doctorPage .questionary .questionBox2{
			border-left: 1px dashed #707070;
			border-right: 1px dashed #707070;
		}

.doctorPage .questionary .questionBox4{
			grid-column: 1 / 4;
			border-top: 1px dashed #707070;
			padding-top:48px;
		}

.doctorPage .questionary .questionBox4 >header .kome{
					font-size: 1.4rem;
					line-height: 1;
					margin-top: 8px;
				}

.doctorPage .questionary .questionBox4 ul{
				max-width: 759px;
				margin: 0 auto;
				display: grid;
				grid-template-columns: 1fr 1fr;
			}

.doctorPage .questionary .questionBox4 li{
				width: 380px;
				height: 75px;
				border: 1px solid #CCCCCC;
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding: 0 22px 0 30px;
			}

.doctorPage .questionary .questionBox4 li::before{
					content: '';
					height: 40px;
					background-repeat: no-repeat;
					background-size: contain;
					background-position: center center;
					flex-shrink: 0;
				}

.doctorPage .questionary .questionBox4 li >span{
					display: flex;
					align-items: center;
				}

.doctorPage .questionary .questionBox4 li .text{
					font-size: 2.1rem;
					font-weight: 700;
					margin-right: 27px;
				}

.doctorPage .questionary .questionBox4 li .value{
					font-size: 2.7rem;
					font-weight: 900;
					color: #708AAD;
					color: var(--blue);
				}

.doctorPage .questionary .questionBox4 li .value small{
						font-size: 1.6rem;
						font-weight: 700;
					}

.doctorPage .questionary .questionBox4 li:nth-child(1){
				grid-column: 1 / 3;
				justify-self: center;
				border-radius: 10px 10px 0 0;
			}

.doctorPage .questionary .questionBox4 li:nth-child(1)::before{
					width: 38px;
					background-image: url('../img/doctor_rank1.svg');
				}

.doctorPage .questionary .questionBox4 li:nth-child(2){
				margin-top: -1px;
				border-radius: 10px 0 0 0;
				background: #F9F9F9;
			}

.doctorPage .questionary .questionBox4 li:nth-child(2)::before{
					width: 30px;
					background-image: url('../img/doctor_rank2.svg');
				}

.doctorPage .questionary .questionBox4 li:nth-child(2) .text{
					font-size: 1.8rem;
				}

.doctorPage .questionary .questionBox4 li:nth-child(3){
				margin:-1px 0 0 -1px;
				border-radius: 0 10px 0 0;
				background: #F3F3F3;
			}

.doctorPage .questionary .questionBox4 li:nth-child(3)::before{
					width: 30px;
					background-image: url('../img/doctor_rank3.svg');
				}

.doctorPage .questionary .questionBox4 li:nth-child(3) .text{
					font-size: 1.8rem;
				}

.doctorPage .partner{
		margin-top: 100px;
		background: #F5F5F5;
		padding-top: 100px;
	}

.doctorPage .partner .partnerHeader{
			width: min(calc(100% - 40px),1200px);
			margin: 0 auto;
		}

.doctorPage .partner .partnerHeader h2{
				font-size: 3.5rem;
				line-height: 1.62;
				font-weight: 700;
			}

.doctorPage .partner .partnerHeader p{
				font-size: 1.7rem;
				font-weight: 500;
				line-height: 1.76;
				margin-top: 10px;
			}

.doctorPage .service{
		margin-top: 70px;
	}

.doctorPage .service >h2{
			text-align: center;
			font-size: 2.8rem;
			font-weight: 700;
			margin-bottom: 70px;
		}

.doctorPage .service .pageNavi{
			background-image: -webkit-image-set(
				url('../img/for_medical_nav_bk.jpg') 1x,
				url('../img/for_medical_nav_bk@2x.jpg')  2x
			);
			background-image: image-set(
				url('../img/for_medical_nav_bk.jpg') 1x,
				url('../img/for_medical_nav_bk@2x.jpg')  2x
			);
			background-repeat: no-repeat;
			background-position: center center;
			background-size: cover;
		}

.doctorPage .service .pageNavi ol{
				width: min(100%,1400px);
				margin: 0 auto;
				display: grid;
				grid-template-columns: 1fr 1fr;
				height: 350px;
			}

.doctorPage .service .pageNavi ol li{
					display: flex;
					justify-content: center;
					align-items: center;
					height: 100%;
					position: relative;
					z-index: 1;
				}

.doctorPage .service .pageNavi ol li::before{
						content: '';
						width: 100vw;
						height: 100%;
						background: #3557D1;
						opacity: 0;
						position: absolute;
						top: 0;
						z-index: -1;
						transition: opacity .2s;
					}

.doctorPage .service .pageNavi ol li:first-child::before{
						right: 0;
					}

.doctorPage .service .pageNavi ol li:last-child::before{
						left: 0;
					}

@media (hover:hover) {
						.doctorPage .service .pageNavi ol li:has(a:hover)::before{
							opacity: .65;
						}
				}

.doctorPage .service .pageNavi ol a{
					display: flex;
					justify-content: center;
					align-items: center;
					flex-flow: column;
					transition: color .2s;
				}

.doctorPage .service .pageNavi ol a::before{
						color: #fff;
						font-family: "futura-pt", sans-serif;
						font-weight: 600;
						font-size: 5rem;
						line-height: 1;
						letter-spacing: -.02em;
						text-align: center;
						margin-bottom: 10px;
					}

.doctorPage .service .pageNavi ol a >span{
						align-self: center;
						font-size: 3.5rem;
						line-height: 1.42;
						font-weight: 700;
						text-align: center;
						min-height: 4ch;
						display: flex;
						align-items: center;
						justify-content: center;
						flex-flow: column;
					}

.doctorPage .service .pageNavi ol a >span >span{
							font-size: 2.8rem;
						}

.doctorPage .service .pageNavi ol a::after{
						justify-self: center;
						content: '';
						width: 50px;
						height: 38px;
						background: url('../img/page_navi_arrow.svg') no-repeat center center / contain;
						margin-top: 28px;
					}

.doctorPage .service .pageNavi ol a:hover{
						opacity: 1;
					}

@media (hover:hover) {
						.doctorPage .service .pageNavi ol a:hover{
							color: #fff;
						}
					}

.doctorPage .service .pageNavi ol li:first-child{
					border-right: 1px dashed #707070;
				}

.doctorPage .service .pageNavi ol li:first-child a::before{
							content: '01';
						}

.doctorPage .service .pageNavi ol li:last-child a::before{
							content: '02';
						}

.doctorPage .serviceSec >header{
			width: min(calc(100% - 40px),1200px);
			margin: 0 auto;
			display: flex;
			align-items: center;
			gap:0 16px;
			line-height: 1;
		}

.doctorPage .serviceSec >header .num{
				font-size: 7.1rem;
				font-weight: 600;
				letter-spacing: -.02em;
				color:#708AAD;
				color:var(--blue);
			}

.doctorPage .serviceSec >header h2{
				font-size: 5rem;
			}

.doctorPage .serviceInner{
		margin-top: 40px;
	}

.doctorPage .serviceInner >header{
			width: min(calc(100% - 40px),1200px);
			margin: 0 auto 68px;
		}

.doctorPage .serviceInner >header h2{
				font-size: 3.5rem;
				line-height: 1.48;
			}

.doctorPage .serviceInner >header p{
				margin-top: 10px;
				font-size: 1.7rem;
				font-weight: 500;
			}

.doctorPage .serviceBox{
		width: min(100%,1400px);
		margin: 0 auto;
		display: grid;
		grid-template-columns: 100%;
		grid-template-rows: auto;
	}

.doctorPage .serviceBox .textBox{
			grid-column: 1;
			grid-row: 1;
			z-index: 2;
			margin-top: 310px;
			background: #fff;
			width: 700px;
			min-height: 300px;
			display: flex;
			justify-content: center;
			flex-flow: column;
			padding: 40px 95px;
			line-height: 2;
			box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.16);
		}

.doctorPage .serviceBox .textBox h2{
				display: flex;
				margin-bottom: 20px;
			}

.doctorPage .serviceBox .textBox h2::before{
					content: '';
					background-repeat: no-repeat;
					background-position: center center;
					background-size: contain;
					flex-shrink: 0;
					order: 1;
				}

.doctorPage .serviceBox .textBox h2::after{
					content: '';
					order: 2;
					width: 1px;
					height: 36px;
					background: #707070;
					flex-shrink: 0;
				}

.doctorPage .serviceBox .textBox h2 span{
					order: 3;
					font-size: 2.6rem;
					line-height: 1;
					display: flex;
					align-items: center;
				}

.doctorPage .serviceBox .imgBox{
			grid-column: 1;
			grid-row: 1;
			z-index: 1;
		}

.doctorPage .serviceSec1{
		margin-top: 110px;
		position: relative;
		z-index: 1;
	}

.doctorPage .serviceSec1::before{
			content: '';
			width: 100vw;
			min-width: 1200px;
			height: 146px;
			background: #fff;
			position: absolute;
			top: -110px;
			left: 50%;
			translate:-50% 0;
			z-index: -1;
		}

.doctorPage .serviceSec1 .serviceBox .textBox h2::before{
						width: 103px;
						height: 35px;
					}

.doctorPage .serviceSec1 .serviceBox .textBox h2::after{
						margin-left: 24px;
					}

.doctorPage .serviceSec1 .serviceBox .textBox h2 span{
						margin-left: 24px;
					}

.doctorPage .serviceSec1 .serviceBox .textBox p{
					margin-left: 60px;
				}

.doctorPage .serviceSec1 .serviceBox1 .textBox h2::before{
						background-image: url('../img/doctor_service_num1.svg')
					}

.doctorPage .serviceSec1 .serviceBox2{
			margin-top: 100px;
		}

.doctorPage .serviceSec1 .serviceBox2 .textBox{
				justify-self: end;
			}

.doctorPage .serviceSec1 .serviceBox2 .textBox h2::before{
						background-image: url('../img/doctor_service_num2.svg')
					}

.doctorPage .serviceSec1 .serviceBox2 .imgBox{
				justify-self: end;
			}

.doctorPage .serviceSec1 .serviceBox3{
			 margin-top: 100px;
		}

.doctorPage .serviceSec1 .serviceBox3 .textBox h2::before{
						background-image: url('../img/doctor_service_num3.svg')
					}

.doctorPage .flow{
		margin-top: 100px;
		background: #fff;
		padding-top: 100px;
	}

.doctorPage .flow >header{
			width: min(calc(100% - 40px),1200px);
			margin: 0 auto 70px;
		}

.doctorPage .flow >header h2{
				font-size: 3.5rem;
				line-height: 1.48;
			}

.doctorPage .flow >header p{
				margin-top: 10px;
				font-size: 1.7rem;
				font-weight: 500;
			}

.doctorPage .flow >ol{
			width: min(100%,1400px);
			margin: 0 auto;
			display: grid;
			grid-template-columns: repeat(4,1fr);
		}

.doctorPage .flow >ol li:nth-child(1),
			.doctorPage .flow >ol li:nth-child(2),
			.doctorPage .flow >ol li:nth-child(3){
				border-right: 1px dashed #707070;
			}

.doctorPage .flow .flowSec{
			padding-top: 132px;
			min-height: 550px;
			box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.16);
			position: relative;
			z-index: 1;
			overflow: hidden;
			display: flex;
			flex-flow: column;
			align-items: center;
		}

.doctorPage .flow .flowSec::before{
				content: attr(data-en);
				position: absolute;
				top: 0;
				right: 1px;
				font-family: "futura-pt", sans-serif;
				font-size: 5rem;
				font-weight: 500;
				line-height: 1;
				font-style: italic;
				letter-spacing: -.03em;
				writing-mode: sideways-lr;
				color: #DCE2EA;
			}

.doctorPage .flow .flowSec::after{
				content: '';
				background-repeat: no-repeat;
				background-position: center center;
				background-size: cover;
				position: absolute;
				top: 0;
				left: 0;
				z-index: -1;
				width: 100%;
				height: 100%;
				opacity: 0;
				scale:1;
				transition: opacity .4s,scale .6s;
			}

.doctorPage .flow .flowSec >header{
				width: 290px;
				text-align: center;
				margin-bottom: 15px;
			}

.doctorPage .flow .flowSec >header .num{
					transition: color .2s linear;
					font-size: 5rem;
					font-weight: 600;
					letter-spacing: -.05em;
					color: #708AAD;
					color: var(--blue);
					line-height: 1;
					margin-bottom: 22px;
				}

.doctorPage .flow .flowSec >header .num::before{
						content: '';
						background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229.94%22%20height%3D%2213.785%22%20viewBox%3D%220%200%2029.94%2013.785%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_708%22%20data-name%3D%22%E3%83%91%E3%82%B9%20708%22%20d%3D%22M-10.868.2a5.4%2C5.4%2C0%2C0%2C1-2.317-.5A3.882%2C3.882%2C0%2C0%2C1-14.9-1.935l1.125-.69a3.518%2C3.518%2C0%2C0%2C0%2C1.2%2C1.11%2C3.588%2C3.588%2C0%2C0%2C0%2C1.755.39%2C2.765%2C2.765%2C0%2C0%2C0%2C1.635-.42A1.418%2C1.418%2C0%2C0%2C0-8.6-2.775a1.6%2C1.6%2C0%2C0%2C0-.21-.833%2C1.812%2C1.812%2C0%2C0%2C0-.84-.638%2C9.371%2C9.371%2C0%2C0%2C0-1.9-.54q-2.9-.63-2.9-2.955a2.843%2C2.843%2C0%2C0%2C1%2C.435-1.575A2.956%2C2.956%2C0%2C0%2C1-12.8-10.373a4.075%2C4.075%2C0%2C0%2C1%2C1.815-.382%2C4.256%2C4.256%2C0%2C0%2C1%2C2.167.525A5.2%2C5.2%2C0%2C0%2C1-7.312-8.94l-1.05.855a5.792%2C5.792%2C0%2C0%2C0-1.1-.93A2.753%2C2.753%2C0%2C0%2C0-11-9.42a2.428%2C2.428%2C0%2C0%2C0-1.447.412A1.39%2C1.39%2C0%2C0%2C0-13.028-7.8a1.533%2C1.533%2C0%2C0%2C0%2C.188.758%2C1.559%2C1.559%2C0%2C0%2C0%2C.7.593%2C6.552%2C6.552%2C0%2C0%2C0%2C1.485.465A5.507%2C5.507%2C0%2C0%2C1-7.98-4.815%2C2.673%2C2.673%2C0%2C0%2C1-7.162-2.79a2.745%2C2.745%2C0%2C0%2C1-.473%2C1.627A2.926%2C2.926%2C0%2C0%2C1-8.94-.15%2C5%2C5%2C0%2C0%2C1-10.868.2Zm8.355-.03a2.533%2C2.533%2C0%2C0%2C1-1.545-.4%2C1.819%2C1.819%2C0%2C0%2C1-.525-1.523V-6.03H-6.037V-7.2h1.455V-9.78h1.335V-7.2h2.085v1.17H-3.247v3.99a.954.954%2C0%2C0%2C0%2C.263.788%2C1.278%2C1.278%2C0%2C0%2C0%2C.787.2%2C2.07%2C2.07%2C0%2C0%2C0%2C.563-.083%2C2.749%2C2.749%2C0%2C0%2C0%2C.472-.173V-.06a2.572%2C2.572%2C0%2C0%2C1-.615.165A4.648%2C4.648%2C0%2C0%2C1-2.513.165Zm5.895%2C0a3.634%2C3.634%2C0%2C0%2C1-1.8-.435A2.987%2C2.987%2C0%2C0%2C1%2C.367-1.553%2C4.439%2C4.439%2C0%2C0%2C1-.068-3.6a4.332%2C4.332%2C0%2C0%2C1%2C.435-2A3.232%2C3.232%2C0%2C0%2C1%2C1.56-6.915%2C3.272%2C3.272%2C0%2C0%2C1%2C3.307-7.38a2.871%2C2.871%2C0%2C0%2C1%2C1.688.487A3.122%2C3.122%2C0%2C0%2C1%2C6.06-5.6a4.233%2C4.233%2C0%2C0%2C1%2C.368%2C1.77v.36H1.252A2.693%2C2.693%2C0%2C0%2C0%2C1.86-1.643%2C2%2C2%2C0%2C0%2C0%2C3.4-1.02a2.061%2C2.061%2C0%2C0%2C0%2C1.267-.375A2.852%2C2.852%2C0%2C0%2C0%2C5.512-2.52l1.02.675a3.527%2C3.527%2C0%2C0%2C1-1.3%2C1.53A3.489%2C3.489%2C0%2C0%2C1%2C3.382.165ZM1.327-4.545h3.78a2.2%2C2.2%2C0%2C0%2C0-.6-1.26%2C1.647%2C1.647%2C0%2C0%2C0-1.215-.48A1.9%2C1.9%2C0%2C0%2C0%2C2-5.843%2C2.206%2C2.206%2C0%2C0%2C0%2C1.327-4.545ZM8.152%2C3.03V-7.2h1.2L9.4-6.18a2.792%2C2.792%2C0%2C0%2C1%2C.96-.885%2C2.591%2C2.591%2C0%2C0%2C1%2C1.275-.315%2C3.353%2C3.353%2C0%2C0%2C1%2C1.755.457%2C3.213%2C3.213%2C0%2C0%2C1%2C1.208%2C1.3%2C4.271%2C4.271%2C0%2C0%2C1%2C.443%2C2%2C4.317%2C4.317%2C0%2C0%2C1-.443%2C2.01A3.2%2C3.2%2C0%2C0%2C1%2C13.387-.293a3.353%2C3.353%2C0%2C0%2C1-1.755.458%2C2.509%2C2.509%2C0%2C0%2C1-1.215-.293A2.754%2C2.754%2C0%2C0%2C1%2C9.5-.93V3.03Zm3.435-4.1A1.931%2C1.931%2C0%2C0%2C0%2C13.1-1.748a2.73%2C2.73%2C0%2C0%2C0%2C.6-1.868%2C2.7%2C2.7%2C0%2C0%2C0-.6-1.86%2C1.94%2C1.94%2C0%2C0%2C0-1.515-.675%2C1.917%2C1.917%2C0%2C0%2C0-1.507.675%2C2.723%2C2.723%2C0%2C0%2C0-.593%2C1.86%2C2.753%2C2.753%2C0%2C0%2C0%2C.593%2C1.868A1.908%2C1.908%2C0%2C0%2C0%2C11.587-1.065Z%22%20transform%3D%22translate(14.902%2010.755)%22%20fill%3D%22%23708aad%22%2F%3E%3C%2Fsvg%3E');
						background-repeat: no-repeat;
						background-position: center center;
						background-size: contain;
						width: 30px;
						height: 14px;
						display: block;
						margin: 0 auto 8px;
						transition: background .2s linear;
					}

.doctorPage .flow .flowSec >header h2{
					font-size: 2rem;
					line-height: 1;
					transition: color .2s linear;
				}

.doctorPage .flow .flowSec .text{
				width: 290px;
			}

.doctorPage .flow .flowSec .text p{
					transition: color .2s linear;
					line-height: 2;
				}

@media (hover:hover) {
				.doctorPage .flow .flowSec:hover{
					opacity: 1;
				}
					.doctorPage .flow .flowSec:hover::after{
						opacity: 1;
						scale:1.1;
					}
							.doctorPage .flow .flowSec:hover header .num::before{
								background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229.94%22%20height%3D%2213.785%22%20viewBox%3D%220%200%2029.94%2013.785%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_708%22%20data-name%3D%22%E3%83%91%E3%82%B9%20708%22%20d%3D%22M-10.868.2a5.4%2C5.4%2C0%2C0%2C1-2.317-.5A3.882%2C3.882%2C0%2C0%2C1-14.9-1.935l1.125-.69a3.518%2C3.518%2C0%2C0%2C0%2C1.2%2C1.11%2C3.588%2C3.588%2C0%2C0%2C0%2C1.755.39%2C2.765%2C2.765%2C0%2C0%2C0%2C1.635-.42A1.418%2C1.418%2C0%2C0%2C0-8.6-2.775a1.6%2C1.6%2C0%2C0%2C0-.21-.833%2C1.812%2C1.812%2C0%2C0%2C0-.84-.638%2C9.371%2C9.371%2C0%2C0%2C0-1.9-.54q-2.9-.63-2.9-2.955a2.843%2C2.843%2C0%2C0%2C1%2C.435-1.575A2.956%2C2.956%2C0%2C0%2C1-12.8-10.373a4.075%2C4.075%2C0%2C0%2C1%2C1.815-.382%2C4.256%2C4.256%2C0%2C0%2C1%2C2.167.525A5.2%2C5.2%2C0%2C0%2C1-7.312-8.94l-1.05.855a5.792%2C5.792%2C0%2C0%2C0-1.1-.93A2.753%2C2.753%2C0%2C0%2C0-11-9.42a2.428%2C2.428%2C0%2C0%2C0-1.447.412A1.39%2C1.39%2C0%2C0%2C0-13.028-7.8a1.533%2C1.533%2C0%2C0%2C0%2C.188.758%2C1.559%2C1.559%2C0%2C0%2C0%2C.7.593%2C6.552%2C6.552%2C0%2C0%2C0%2C1.485.465A5.507%2C5.507%2C0%2C0%2C1-7.98-4.815%2C2.673%2C2.673%2C0%2C0%2C1-7.162-2.79a2.745%2C2.745%2C0%2C0%2C1-.473%2C1.627A2.926%2C2.926%2C0%2C0%2C1-8.94-.15%2C5%2C5%2C0%2C0%2C1-10.868.2Zm8.355-.03a2.533%2C2.533%2C0%2C0%2C1-1.545-.4%2C1.819%2C1.819%2C0%2C0%2C1-.525-1.523V-6.03H-6.037V-7.2h1.455V-9.78h1.335V-7.2h2.085v1.17H-3.247v3.99a.954.954%2C0%2C0%2C0%2C.263.788%2C1.278%2C1.278%2C0%2C0%2C0%2C.787.2%2C2.07%2C2.07%2C0%2C0%2C0%2C.563-.083%2C2.749%2C2.749%2C0%2C0%2C0%2C.472-.173V-.06a2.572%2C2.572%2C0%2C0%2C1-.615.165A4.648%2C4.648%2C0%2C0%2C1-2.513.165Zm5.895%2C0a3.634%2C3.634%2C0%2C0%2C1-1.8-.435A2.987%2C2.987%2C0%2C0%2C1%2C.367-1.553%2C4.439%2C4.439%2C0%2C0%2C1-.068-3.6a4.332%2C4.332%2C0%2C0%2C1%2C.435-2A3.232%2C3.232%2C0%2C0%2C1%2C1.56-6.915%2C3.272%2C3.272%2C0%2C0%2C1%2C3.307-7.38a2.871%2C2.871%2C0%2C0%2C1%2C1.688.487A3.122%2C3.122%2C0%2C0%2C1%2C6.06-5.6a4.233%2C4.233%2C0%2C0%2C1%2C.368%2C1.77v.36H1.252A2.693%2C2.693%2C0%2C0%2C0%2C1.86-1.643%2C2%2C2%2C0%2C0%2C0%2C3.4-1.02a2.061%2C2.061%2C0%2C0%2C0%2C1.267-.375A2.852%2C2.852%2C0%2C0%2C0%2C5.512-2.52l1.02.675a3.527%2C3.527%2C0%2C0%2C1-1.3%2C1.53A3.489%2C3.489%2C0%2C0%2C1%2C3.382.165ZM1.327-4.545h3.78a2.2%2C2.2%2C0%2C0%2C0-.6-1.26%2C1.647%2C1.647%2C0%2C0%2C0-1.215-.48A1.9%2C1.9%2C0%2C0%2C0%2C2-5.843%2C2.206%2C2.206%2C0%2C0%2C0%2C1.327-4.545ZM8.152%2C3.03V-7.2h1.2L9.4-6.18a2.792%2C2.792%2C0%2C0%2C1%2C.96-.885%2C2.591%2C2.591%2C0%2C0%2C1%2C1.275-.315%2C3.353%2C3.353%2C0%2C0%2C1%2C1.755.457%2C3.213%2C3.213%2C0%2C0%2C1%2C1.208%2C1.3%2C4.271%2C4.271%2C0%2C0%2C1%2C.443%2C2%2C4.317%2C4.317%2C0%2C0%2C1-.443%2C2.01A3.2%2C3.2%2C0%2C0%2C1%2C13.387-.293a3.353%2C3.353%2C0%2C0%2C1-1.755.458%2C2.509%2C2.509%2C0%2C0%2C1-1.215-.293A2.754%2C2.754%2C0%2C0%2C1%2C9.5-.93V3.03Zm3.435-4.1A1.931%2C1.931%2C0%2C0%2C0%2C13.1-1.748a2.73%2C2.73%2C0%2C0%2C0%2C.6-1.868%2C2.7%2C2.7%2C0%2C0%2C0-.6-1.86%2C1.94%2C1.94%2C0%2C0%2C0-1.515-.675%2C1.917%2C1.917%2C0%2C0%2C0-1.507.675%2C2.723%2C2.723%2C0%2C0%2C0-.593%2C1.86%2C2.753%2C2.753%2C0%2C0%2C0%2C.593%2C1.868A1.908%2C1.908%2C0%2C0%2C0%2C11.587-1.065Z%22%20transform%3D%22translate(14.902%2010.755)%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E');
							}
						.doctorPage .flow .flowSec:hover header h2{
							color: #fff;
						}
					.doctorPage .flow .flowSec:hover p{
						color: #fff;
					}
			}

.doctorPage .flow .flowSec1::after{
				background-image: -webkit-image-set(
					url('../img/doctor_flow1.jpg') 1x,
					url('../img/doctor_flow1@2x.jpg')  2x
				);
				background-image: image-set(
					url('../img/doctor_flow1.jpg') 1x,
					url('../img/doctor_flow1@2x.jpg')  2x
				);
			}

.doctorPage .flow .flowSec1 .btn{
				margin: 24px auto 0;
				width: 201px;
				height: 45px;
				border-radius: 26px;
				background: #708AAD;
				background: var(--blue);
				display: flex;
				align-items: center;
				padding-left: 23px;
				font-weight: 500;
				letter-spacing: -.05em;
				color: #fff;
			}

.doctorPage .flow .flowSec1 .btn::after{
					content: '';
					background: url('../img/arrow_white.svg') no-repeat center center / contain;
					width: 8px;
					height: 9px;
					flex-shrink: 0;
					margin-left: 16px;
				}

.doctorPage .flow .flowSec2::after{
				background-image: -webkit-image-set(
					url('../img/doctor_flow2.jpg') 1x,
					url('../img/doctor_flow2@2x.jpg')  2x
				);
				background-image: image-set(
					url('../img/doctor_flow2.jpg') 1x,
					url('../img/doctor_flow2@2x.jpg')  2x
				);
			}

.doctorPage .flow .flowSec3::after{
				background-image: -webkit-image-set(
					url('../img/doctor_flow3.jpg') 1x,
					url('../img/doctor_flow3@2x.jpg')  2x
				);
				background-image: image-set(
					url('../img/doctor_flow3.jpg') 1x,
					url('../img/doctor_flow3@2x.jpg')  2x
				);
			}

.doctorPage .flow .flowSec3::before{
				right: -.16em;
			}

.doctorPage .flow .flowSec4::after{
				background-image: -webkit-image-set(
					url('../img/doctor_flow4.jpg') 1x,
					url('../img/doctor_flow4@2x.jpg')  2x
				);
				background-image: image-set(
					url('../img/doctor_flow4.jpg') 1x,
					url('../img/doctor_flow4@2x.jpg')  2x
				);
			}

.doctorPage .flow .flowSec4::before{
				right: -.16em;
			}

.doctorPage .flow .mainCta{
			margin-top: 100px;
		}

.doctorPage .serviceSec2{
		margin-top: 110px;
		position: relative;
		z-index: 1;
	}

.doctorPage .serviceSec2::before{
			content: '';
			width: 100vw;
			min-width: 1200px;
			height: 146px;
			background: #fff;
			position: absolute;
			top: -110px;
			left: 50%;
			translate:-50% 0;
			z-index: -1;
		}

.doctorPage .serviceSec2 .jirei >header{
				width: min(calc(100% - 40px),1200px);
				margin: 0 auto 70px;
			}

.doctorPage .serviceSec2 .jirei >header h2{
					font-size: 3.5rem;
					line-height: 1.48;
				}

.doctorPage .serviceSec2 .jirei >header p{
					margin-top: 10px;
					font-size: 1.7rem;
					font-weight: 500;
				}

.doctorPage .serviceSec2 .serviceBox .textBox{
				width: 1000px;
				padding: 40px 96px 50px 114px;
			}

.doctorPage .serviceSec2 .serviceBox .textBox h2::before{
						width: 96px;
						height: 35px;
					}

.doctorPage .serviceSec2 .serviceBox .textBox h2::after{
						margin-left: 16px;
					}

.doctorPage .serviceSec2 .serviceBox .textBox h2 span{
						margin-left: 24px;
						flex-shrink: 0;
					}

.doctorPage .serviceSec2 .serviceBox .textBox p{
					margin-left: 45px;
				}

.doctorPage .serviceSec2 .serviceBox1 .textBox h2::before{
						background-image: url('../img/doctor_service_num4.svg')
					}

.doctorPage .serviceSec2 .serviceBox2{
			margin-top: 100px;
		}

.doctorPage .serviceSec2 .serviceBox2 .textBox{
				justify-self: end;
			}

.doctorPage .serviceSec2 .serviceBox2 .textBox h2::before{
						background-image: url('../img/doctor_service_num5.svg')
					}

.doctorPage .serviceSec2 .serviceBox2 .imgBox{
				justify-self: end;
			}

.doctorPage .tensyokuBanner{
		margin-top: 97px;
	}

/* ==========================================================================
   採用情報
========================================================================== */

.recruitPage{
	background: #F9F9F9;
}

.recruitPage .pageHeader{
		background-image: -webkit-image-set(
			url('../img/recruit_mv.jpg') 1x,
			url('../img/recruit_mv@2x.jpg')  2x
		);
		background-image: image-set(
			url('../img/recruit_mv.jpg') 1x,
			url('../img/recruit_mv@2x.jpg')  2x
		);
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}

.recruitPage .pageHeader .titleBox{
			width: min(100%,1030px);
			display: flex;
			align-items: center;
			gap:0 240px;
		}

.recruitPage .pageHeader .titleBox .pageTitle{
				width: auto;
			}

.recruitPage .pageHeader .titleBox .catch h2{
					font-family: "Zen Kaku Gothic New", sans-serif;
					color: #fff;
					font-size: 3.5rem;
					font-weight: 700;
					line-height: 1;
					margin-bottom: 15px;
				}

.recruitPage .pageHeader .titleBox .catch h2 span{
						font-size: 2.8rem;
					}

.recruitPage .pageHeader .titleBox .catch p{
					color: #fff;
					font-size: 1.7rem;
					font-weight: 500;
					line-height: 2.1;
				}

.recruitPage .jobVacancies{
		max-width: min(calc(100% - 40px),1200px);
		margin: 0 auto;
	}

.recruitPage .jobVacancies >h2{
			font-size: 3.5rem;
			font-weight: 700;
			margin-bottom: 50px;
		}

.recruitPage .jobVacancies ol{
			display: flex;
			justify-content: center;
			gap: 0 100px;
		}

.recruitPage .jobVacancies ol li{
				display: flex;
				align-items: center;
				gap:0 30px;
				line-height: 1;
			}

.recruitPage .jobVacancies ol .num{
				font-size: 7.1rem;
				font-weight: 600;
				color: #708AAD;
				color: var(--blue);
				letter-spacing: -.02em;
			}

.recruitPage .jobVacancies ol .text{
				font-size: 2.8rem;
				font-weight: 500;
				line-height: 1.5;
			}

.recruitPage .jobVacancies ol .text small{
					font-size: 2rem;
					display: block;
				}

.recruitPage .aboutConnect{
		margin-top: 71px;
	}

.recruitPage .aboutConnect >h2{
			max-width: min(calc(100% - 40px),1200px);
			margin: 0 auto 50px;
			font-family: "Zen Kaku Gothic New", sans-serif;
			font-size: 3.5rem;
			line-height: 1;
			font-weight: 700;
		}

.recruitPage .aboutConnect .aboutConnectBox{
			width: min(100%,1400px);
			margin: 0 auto;
			display: grid;
			grid-template-columns: 100%;
			grid-template-rows: auto;
		}

.recruitPage .aboutConnect .aboutConnectBox .imgBox{
				grid-column: 1;
				grid-row: 1;
				z-index: 1;
			}

.recruitPage .aboutConnect .aboutConnectBox .textBox{
				grid-column: 1;
				grid-row: 1;
				z-index: 2;
				margin-top: 310px;
				background: #fff;
				width: 700px;
				padding: 50px 125px;
				line-height: 2;
				box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.16);
			}

.recruitPage .aboutConnect .aboutConnectBox .textBox h2{
					font-size: 2.6rem;
					line-height: 1.46;
					font-weight: 700;
					border-left: 1px solid #707070;
					padding-left: 25px;
					margin-bottom: 14px;
				}

.recruitPage .aboutConnect .aboutConnectBox .textBox p{
					line-height: 2;
				}

.recruitPage .aboutConnect .aboutConnect2 .textBox{
				justify-self: end;
			}

.recruitPage .aboutConnect .aboutConnect2 .imgBox{
				justify-self: end;
			}

.recruitPage .pros{
		margin-top: 100px;
	}

.recruitPage .pros >h2{
			max-width: min(calc(100% - 40px),1200px);
			margin: 0 auto 50px;
			font-family: "Zen Kaku Gothic New", sans-serif;
			font-size: 3.5rem;
			line-height: 1;
			font-weight: 700;
		}

.recruitPage .pros .row{
			max-width: 1400px;
			margin: 0 auto;
			position: relative;
			z-index: 1;
			display: grid;
			grid-template-columns: repeat(3,1fr);
		}

.recruitPage .pros .row::before{
				content: '';
				background-image: -webkit-image-set(
					url('../img/recruit_pors_bk.jpg') 1x,
					url('../img/recruit_pors_bk@2x.jpg')  2x
				);
				background-image: image-set(
					url('../img/recruit_pors_bk.jpg') 1x,
					url('../img/recruit_pors_bk@2x.jpg')  2x
				);
				background-repeat: no-repeat;
				background-position: center center;
				background-size: cover;
				width: 100vw;
				min-width: 1140px;
				height: 100%;
				position: absolute;
				top: 0;
				left: 50%;
				translate:-50% 0;
				z-index: -1;
			}

.recruitPage .pros .prosBox{
			padding: 55px 33px 103px;
			position: relative;
		}

.recruitPage .pros .prosBox >h2{
				text-align: center;
				line-height: 1;
				margin-bottom: 21px;
			}

.recruitPage .pros .prosBox .fukidashi{
				width: 100%;
				min-height: 126px;
				background: url('../img/_fukidashi.svg') no-repeat center center / 100% 100%;
				display: flex;
				align-items: center;
				padding: 10px 19px 17px 19px;
				line-height: 1.73;
			}

.recruitPage .pros .prosBox::after{
				content: '';
				width: 59px;
				height: 72px;
				background-repeat: no-repeat;
				background-position: center center;
				background-size: contain;
				position: absolute;
				left: 50%;
				translate:-50% 0;
				bottom: 27px;
			}

.recruitPage .pros .prosBox1::after{
				background-image: url('../img/recruit_pros_illu1.svg');
			}

.recruitPage .pros .prosBox2{
			border-left: 1px dashed #707070;
			border-right: 1px dashed #707070;
		}

.recruitPage .pros .prosBox2::after{
				background-image: url('../img/recruit_pros_illu2.svg');
			}

.recruitPage .pros .prosBox3::after{
				background-image: url('../img/recruit_pros_illu3.svg');
			}

.recruitPage .message{
		width: min(100%,1400px);
		margin: 100px auto 0;
		display: grid;
		grid-template-columns: 100%;
		grid-template-rows: auto;
	}

.recruitPage .message .imgBox{
			grid-column: 1;
			grid-row: 1;
			z-index: 1;
		}

.recruitPage .message .textBox{
			grid-column: 1;
			grid-row: 1;
			z-index: 2;
			margin-top: 345px;
			background: #fff;
			width: 700px;
			padding: 49px 96px 47px 154px;
			line-height: 2;
			box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.16);
		}

.recruitPage .message .textBox h2{
				font-size: 2.6rem;
				line-height: 1.46;
				font-weight: 700;
				border-left: 1px solid #707070;
				padding-left: 25px;
				margin-bottom: 14px;
			}

.recruitPage .message .textBox p{
				line-height: 2;
			}

.recruitPage .details{
		margin-top: 100px;
	}

.recruitPage .details >h2{
			max-width: min(calc(100% - 40px),1200px);
			margin: 0 auto 37px;
			font-family: "Zen Kaku Gothic New", sans-serif;
			font-size: 3.5rem;
			line-height: 1;
			font-weight: 700;
		}

.recruitPage .details .tabNav{
			display: flex;
			justify-content: center;
			position: relative;
		}

.recruitPage .details .tabNav::before{
				content: '';
				width: 200vw;
				height: 1px;
				background: #707070;
				position: absolute;
				bottom: 0;
				left: 50%;
				translate:-50% 0;
			}

.recruitPage .details .tabNav li{
				display: flex;
				justify-content: center;
				align-items: center;
				gap:0 30px;
				line-height: 1;
				border: 1px solid transparent;
				height: 117px;
				position: relative;
				transition: border .2s;
				cursor: pointer;
			}

.recruitPage .details .tabNav li::before{
					content: '';
					width: 100%;
					height: 1px;
					background: #707070;
					position: absolute;
					bottom: -1px;
					left: 0;
					transition: background .2s;
				}

@media (hover:hover) {
						.recruitPage .details .tabNav li:hover p{
							opacity: .8;
						}
				}

.recruitPage .details .tabNav .num{
				font-size: 7.1rem;
				font-weight: 600;
				color: #708AAD;
				color: var(--blue);
				letter-spacing: -.02em;
			}

.recruitPage .details .tabNav .text{
				font-size: 2.8rem;
				font-weight: 500;
				line-height: 1.5;
			}

.recruitPage .details .tabNav .text small{
					font-size: 2rem;
					display: block;
				}

.recruitPage .details .tabNav li:nth-child(1){
				flex: 0 1 279px;
			}

.recruitPage .details .tabNav li:nth-child(2){
				flex: 0 1 518px;
			}

.recruitPage .details .tabNav .tOpen{
				position: relative;
				border: 1px solid #707070;
			}

.recruitPage .details .tabNav .tOpen::before{
					background: #F9F9F9;
				}

.recruitPage .details .tabWall{
			max-width: 660px;
			margin: 82px auto 0;
		}

.recruitPage .details .tabBox{
			display: none;
		}

.recruitPage .details .defaultOpen{
			display: flex;
		}

.recruitPage .details .tabOpen{
			display: flex;
			animation: fadeIn .6s 0s 1 ease-in-out forwards;
		}

.recruitPage .details .detailsDl{
			margin: 0 0 0 auto;
			display: grid;
			grid-template-columns: 120px 1fr;
			align-items: start;
			gap:33px 0;
			line-height: 2;
		}

.recruitPage .details .detailsDl dt{
				text-box:trim-both text text;
				font-weight: 300;
			}

.recruitPage .details .detailsDl dd{
				text-box:trim-both text text;
				align-self: start;
				
				border-left: 1px solid #707070;
				padding-left: 19px;
			}

.recruitPage .details .detailsDl dd .small{
					font-size: 1.3rem;
				}

.recruitPage .details .detailsDl dd .bank{
					display: flex;
					flex-flow: row wrap;
					gap:1em;
				}

.recruitPage .formSec{
		width: min(calc(100% - 40px),1200px);
		margin: 100px auto 0;
	}

.recruitPage .formSec .formTitle{
			margin-bottom: 70px;
		}

.recruitPage .formSec .formTitle h2{
				font-size: 3.5rem;
				font-weight: 700;
				line-height: 1.48;
				margin-bottom: 9px;
			}

.recruitPage .formSec .formTitle p{
				font-size: 1.7rem;
				font-weight: 500;
			}

/* ==========================================================================
   home
========================================================================== */

.homePage .mv{
		position: relative;
		width: 100%;
		height: 100vh; /* ビューポートの高さいっぱい */
		min-height: 600px;
		overflow: hidden;
	}

.homePage .mv .mvVideo{
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			-o-object-fit: cover;
			   object-fit: cover; /* アスペクト比を保ちながら領域を埋める */
			z-index: -1; /* 他のコンテンツの背後に配置 */
		}

.homePage .about{
		width: min(calc(100% - 40px),1190px);
		margin: 281px auto 0;
		display: flex;
		align-items: center;
		gap:0 55px;
	}

.homePage .about .logo{
			order: 1;
			display: grid;
			grid-template-columns: 100%;
			grid-template-rows: auto;
		}

.homePage .about .logo .logoSvg{
				grid-column: 1;
				grid-row: 1;
				z-index: 2;
				align-self: center;
			}

.homePage .about .logo .movieSvgBox{
				grid-column: 1;
				grid-row: 1;
				z-index: 1;
				width: 647px;
				overflow: hidden;
				z-index: 1;
				position: relative;
				aspect-ratio: 647/204;
			}

.homePage .about .logo .movieSvgBox .svgBkMovie{
					clip-path: url(#movieClip);
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					-o-object-fit: cover;
					   object-fit: cover;
				}

.homePage .about .textBox{
			order: 2;
			flex-shrink: 0;
		}

.homePage .about .textBox h2{
				font-family: "Zen Kaku Gothic New", sans-serif;
				font-size: 3.5rem;
				font-weight: 700;
				line-height: 1;
				margin-bottom: 15px;
			}

.homePage .about .textBox h2 span{
					font-size: 2.8rem;
				}

.homePage .about .textBox p{
				font-size: 1.7rem;
				font-weight: 500;
				line-height: 2.1;
			}

.homePage .movieSvg{
		width: 0;
		position: absolute;
		height: 0;
	}

.homePage .pageNavi{
		margin-top: 281px;
		background: #F5F5F5;
		padding: 111px 0;
	}

.homePage .pageNavi li{
			width: min(calc(100% - 40px),1400px);
			margin: 0 auto;
			display: flex;
			justify-content: flex-end;
		}

.homePage .pageNavi li + li{
			margin-top: 100px;
		}

.homePage .pageNavi .serviceBox{
			width: 1215px;
		}

.homePage .pageNavi .serviceBox section{
				width: 100%;
			}

.homePage .pageNavi .serviceBox a{
				width: 100%;
				display: grid;
				grid-template-columns: 276px 20px 1fr;
				grid-template-rows: auto 1fr;
				overflow: hidden;
			}

.homePage .pageNavi .serviceBox header{
				grid-column: 1 / 3;
				grid-row: 1;
				z-index: 2;
				margin-top: 30px;
			}

.homePage .pageNavi .serviceBox header .en span{
						transition: color .5s;
						display: block;
						line-height: 1;
						font-weight: 600;
						transition: color .2s;
					}

.homePage .pageNavi .serviceBox header .en span:nth-child(1){
						color: #708AAD;
						color: var(--blue);
						font-size: 3.5rem;
					}

.homePage .pageNavi .serviceBox header .en span:nth-child(2){
						font-size: 7.5rem;
						margin-top: -.25em;
					}

.homePage .pageNavi .serviceBox header .en span:nth-child(3){
						color: #555555;
						font-size: 5.2rem;
						margin-top: -.35em;
					}

.homePage .pageNavi .serviceBox header h2{
					margin-top: 12px;
					font-size: 1.6rem;
					font-weight: 500;
					letter-spacing: .8em;
					transition: color .2s;
				}

.homePage .pageNavi .serviceBox .description{
				grid-column: 1 / 3;
				grid-row: 2;
				z-index: 2;
				margin-top: 19px;
				font-size: 1.4rem;
				line-height: 1.85;
			}

.homePage .pageNavi .serviceBox .description p{
					transition: color .2s;
				}

.homePage .pageNavi .serviceBox .description .arrowSVG{
					display: block;
					margin-top: 20px;
				}

.homePage .pageNavi .serviceBox .description .arrowSVG svg{
						width: 56px;
						height: auto;
						overflow: visible;
					}

.homePage .pageNavi .serviceBox .description .arrowSVG *{
						transition: all .2s linear;
					}

.homePage .pageNavi .serviceBox .description .arrowSVG .cls-1{
						fill:url(#grade);
					}

.homePage .pageNavi .serviceBox .description .arrowSVG .cls-2{
						stroke:#111;
					}

.homePage .pageNavi .serviceBox .description .arrowSVG .cls-2,.homePage .pageNavi .serviceBox .description .arrowSVG .cls-3{
						fill:none;
					}

.homePage .pageNavi .serviceBox .description .arrowSVG .cls-3{
						stroke:#708aad;
						stroke-linecap:round;
					}

.homePage .pageNavi .serviceBox .img{
				grid-column: 2 / 4;
				grid-row: 1 / 3;
				z-index: 1;
				justify-self: end;
				transition: scale .5s cubic-bezier(0.19, 0.82, 0.27, 1);
			}

.homePage .pageNavi .serviceBox a:hover{
				opacity: 1;
			}

.homePage .pageNavi .serviceBox a:hover header .en span{
							color: #708AAD;
						}

.homePage .pageNavi .serviceBox a:hover header h2{
						color: #708AAD;
					}

.homePage .pageNavi .serviceBox a:hover .description p{
						color: #708AAD;
					}

.homePage .pageNavi .serviceBox a:hover .description .arrowSVG .rect{
							scale: 1.1;
							transform-origin: left;
						}

.homePage .pageNavi .serviceBox a:hover .description .arrowSVG .arrow{
							translate:5px 0;
						}

.homePage .pageNavi .serviceBox a:hover .description .arrowSVG .cls-1{
							fill:#708AAD;
						}

.homePage .pageNavi .serviceBox a:hover .description .arrowSVG .cls-2{
							stroke:#708AAD;
						}

.homePage .pageNavi .serviceBox a:hover .img{
					scale: 1.1;
				}

.homePage .pageNavi .serviceBox2 header h2{
					letter-spacing: .2em;
				}

.homePage .tensyokuBanner{
		margin-top: 100px;
	}

.homePage .news{
		max-width: 1000px;
		margin: 100px auto 0;
	}

.homePage .news >h2{
			font-size: 1.7rem;
			font-weight: 700;
			line-height: 1;
			margin-bottom: 35px;
		}

.homePage .news >h2::before{
				content: 'NEWS';
				font-size: 3.5rem;
				display: block;
				margin-bottom: 20px;
			}

.homePage .recruitBanner{
		margin-top: 100px;
	}

.homePage .mainCta{
		margin-top: 0;
	}

/* ==========================================================================
   苦情相談窓口
========================================================================== */

.complaintDeskPage .pankuzu{
		letter-spacing: .45em;
	}

/* ==========================================================================
   end
========================================================================== */

@media only screen and (max-width: 767px) {
html{
	font-size: calc(100vw / 39);
}
body{
	min-width: 0;
}
a:hover{
	opacity: 1;
}
img{
	max-width: none;
	width: 100%;
}
	button:hover{
		opacity: 1;
	}
.spShow{
	display: inline-block;
}
.pcShow{
	display: none;
}
/* ==========================================================================
   header
========================================================================== */
.mainHeader{
	height: calc(calc(60/390) * 100vw);
	min-width: 0;
	padding:0 calc(calc(20/390) * 100vw);
}
	.mainHeader .logo{
		width: calc(calc(184/390) * 100vw);
	}
	.mainHeader .menuBtn{
    display: flex;
    align-items: center;
    width: calc(calc(37/390) * 100vw);
  }
    .mainHeader .menuBtn button{
			display: grid;
      grid-template-columns: 100%;
      grid-template-rows: auto auto 1fr;
      gap: calc(calc(3/390) * 100vw) 0;
      line-height: 1;
			font-size: 1.4rem;
			letter-spacing: -.05em;
			color: #fff;
    }
      .mainHeader .menuBtn button .line{
				justify-self: center;
        background: #fff;
				width: calc(calc(37/390) * 100vw);
        height: calc(calc(1/390) * 100vw);
        transition: all .14s linear;
      }
    .mainHeaderIsBkWhiteFix .menuBtn button,.mainHeaderBlue .menuBtn button{
			color: #111111;
			color: var(--black);
    }
      .mainHeaderIsBkWhiteFix .menuBtn button .line,.mainHeaderBlue .menuBtn button .line{
        background: #111111;
        background: var(--black);
      }
			.mainHeaderIsBkWhiteFix .gNav ul a,.mainHeaderBlue .gNav ul a{
				color: #fff;
			}
.mainHeaderBlue{
	background: none;
}
.mainHeaderIsBlueBkFix{
	background: #fff;
}
/* ==========================================================================
   gNav
========================================================================== */
.gNav{
	display: none;
	width: 100%;
	height: 100dvh;
	position: absolute;
	z-index: 999;
	top: 0;
	left: 0;
	background: url('../img/sp_menu_bk.jpg') no-repeat center center / cover;
	overflow-y: auto;
	overscroll-behavior-y: none;
}
	.gNav .menuHeader{
		height: calc(calc(60/390) * 100vw);
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding:0 calc(calc(20/390) * 100vw);
	}
		.gNav .menuHeader .menuLogo{
			width: calc(calc(184/390) * 100vw);
		}
			.gNav .menuHeader .menuLogo svg{
				width: 100%;
				height: auto;
			}
		.gNav .menuHeader .menuInBtn{
			display: flex;
			flex-flow: column;
			align-items: center;
			width: calc(calc(37/390) * 100vw);
			line-height: 1;
			font-size: 1.3rem;
			letter-spacing: -.05em;
			color: #fff;
		}
			.gNav .menuHeader .menuInBtn .line{
				justify-self: center;
				background: #fff;
				width: calc(calc(37/390) * 100vw);
				height: calc(calc(1/390) * 100vw);
				transition: all .14s linear;
			}
			.gNav .menuHeader .menuInBtn .line1{
				transform-origin: left;
				rotate: 15deg;
			}
			.gNav .menuHeader .menuInBtn .line2{
				transform-origin: left;
				margin-top: calc(calc(9.71/390) * 100vw);
				rotate: -15deg;
			}
			.gNav .menuHeader .menuInBtn .name{
				margin-top: calc(calc(2/390) * 100vw);
			}
	.gNav .pageLink{
		display: flex;
		align-items: center;
		height: calc(100dvh - calc(calc(80/390) * 100vw));
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.gNav ul{
		margin: auto;
		display: block;
		padding: calc(calc(50/390) * 100vw) calc(calc(20/390) * 100vw);
		width: 100%;
		font-size: 1.7rem;
		font-weight: 500;
		margin-right: 0;
	}
		.gNav ul li + li{
			margin-top: calc(calc(30/390) * 100vw);
		}
			.gNav ul .homeLink img{
				width: calc(calc(30/390) * 100vw);
			}
	.gNav .contact{
		display: none;
	}
.navOpen{
  display: block;
  animation: menuIn .4s 1 0s linear forwards;
}
.navClose{
  animation: menuOut .4s 1 0s linear forwards;
}
/* ==========================================================================
   mainFooter
========================================================================== */
	.mainFooter .footerInner{
		width: calc(calc(360/390) * 100vw);
		grid-template-columns: 100%;
		grid-template-rows: auto auto auto 1fr;
		gap:0 50px;
	}
	.mainFooter .pageLink{
		grid-column: 1;
		grid-row: 1;
		margin-top: calc(calc(41/390) * 100vw);
	}
		.mainFooter .pageLink ul{
			flex-flow: row wrap;
			gap:0 4em;
			line-height: 2.69;
		}
	.mainFooter .companyInfo{
		grid-column: 1;
		grid-row: 2;
		margin-top: calc(calc(20/390) * 100vw);
		display: block;
	}
		.mainFooter .companyInfo h2{
			display: block;
			margin-bottom: calc(calc(19/390) * 100vw);
		}
			.mainFooter .companyInfo h2::before{
				width: calc(calc(100/390) * 100vw);
				height: calc(calc(66/390) * 100vw);
				display: block;
				margin-bottom: calc(calc(20/390) * 100vw);
			}
		.mainFooter .companyInfo .kyoka{
			margin-top: calc(calc(20/390) * 100vw);
			justify-self: start;
		}
		.mainFooter .companyInfo .complaintSP{
			font-size: 1.3rem;
			font-weight: 500;
			margin-top: calc(calc(30/390) * 100vw);
		}
			.mainFooter .companyInfo .complaintSP a{
				color: #BBBBBB;
			}
	.mainFooter .pagetop{
		margin-top: calc(calc(20/390) * 100vw);
		grid-column: 1;
		grid-row: 3;
		justify-self: end;
		width: calc(calc(100/390) * 100vw);
		height: calc(calc(100/390) * 100vw);
	}
		.mainFooter .pagetop::before{
			display: none;
		}
		.mainFooter .pagetop a{
			margin: 0;
			width: 100%;
			height: 100%;
			background: #222;
		}
			.mainFooter .pagetop a::before{
				width: calc(calc(14/390) * 100vw);
				height: calc(calc(11/390) * 100vw);
				margin-bottom: calc(calc(12/390) * 100vw);
			}
	.mainFooter .endBox{
		grid-column: 1;
		grid-row: 4;
		padding: calc(calc(10/390) * 100vw) 0;
		display: block;
		margin-top: calc(calc(20/390) * 100vw);
		border-top: calc(calc(1/390) * 100vw) solid #333333;
	}
		.mainFooter .endBox .copyright{
			text-align: center;
			letter-spacing: .2em;
		}
		.mainFooter .endBox .complaintPC{
			display: none;
		}
/* ==========================================================================
   mainCta
========================================================================== */
.mainCta{
	width: 100%;
	margin: calc(calc(70/390) * 100vw) auto 0;
	grid-template-columns: 100%;
}
		.mainCta .ctaSec a{
			height: calc(calc(350/390) * 100vw);
		}
			.mainCta .ctaSec a::after{
				opacity: 1;
				scale:1;
				transition: none;
			}
		.mainCta .ctaSec a:hover{
			opacity: 1;
		}
			.mainCta .ctaSec a:hover::after{
				opacity: 1;
				scale:1;
			}
				.mainCta .ctaSec a:hover header .en{
					color: #fff;
				}
				.mainCta .ctaSec a:hover header h2{
					color: #fff;
				}
			.mainCta .ctaSec header .en{
				color: #fff;
			}
			.mainCta .ctaSec header h2{
				margin-top: calc(calc(25/390) * 100vw);
				transition: none;
				color: #fff;
			}
	.mainCta .ctaFormSec{
		border-right: none;
	}
		.mainCta .ctaFormSec .btn{
			margin-top: calc(calc(24/390) * 100vw);
			width: calc(calc(201/390) * 100vw);
			height: calc(calc(45/390) * 100vw);
			border-radius: calc(calc(26/390) * 100vw);
			padding-left: calc(calc(23/390) * 100vw);
		}
			.mainCta .ctaFormSec .btn::after{
				width: calc(calc(8/390) * 100vw);
				height: calc(calc(9/390) * 100vw);
				margin-left: calc(calc(16/390) * 100vw);
			}
			.mainCta .ctaTelSec a::after{
				background-image: url('../img/sp_cta_tel_bk.jpg');
			}
			.mainCta .ctaTelSec a:hover .number{
				color: #fff;
			}
			.mainCta .ctaTelSec a:hover .time{
				color: #fff;
			}
		.mainCta .ctaTelSec .number{
			margin-top: calc(calc(22/390) * 100vw);
			color: #fff;
			transition: none;
		}
		.mainCta .ctaTelSec .time{
			margin-top: calc(calc(7/390) * 100vw);
			color: #fff;
			transition: none;
		}
		.homePage .mainCta .ctaFormSec{
			border-right: 1px dashed #707070;
		}
				.homePage .mainCta .ctaFormSec a::after{
					background-image: url('../img/sp_cta_form_bk_home.jpg');
				}
		.medicalPage .mainCta .ctaFormSec,.doctorPage .mainCta .ctaFormSec{
			border-right: 1px dashed #707070;
		}
				.medicalPage .mainCta .ctaFormSec a::after,.doctorPage .mainCta .ctaFormSec a::after{
					background-image: url('../img/sp_cta_form_bk_home.jpg');
				}
		.recruitPage .mainCta .ctaFormSec{
			border-right: 1px dashed #707070;
		}
				.recruitPage .mainCta .ctaFormSec a::after{
					background-image: url('../img/sp_cta_form_bk_recruit.jpg');
				}
		.aboutPage .mainCta .ctaFormSec{
			border-right: 1px dashed #707070;
		}
				.aboutPage .mainCta .ctaFormSec a::after{
					background-image: url('../img/sp_cta_form_bk_home.jpg');
				}
		.contactPage .mainCta .ctaFormSec{
			border-right: 1px dashed #707070;
		}
				.contactPage .mainCta .ctaFormSec a::after{
					background-image: url('../img/sp_cta_form_bk_home.jpg');
				}
/* ==========================================================================
   お問い合わせ
========================================================================== */
.contactPage{
	background: #F9F9F9;
}
	.contactPage .pageHeader{
		height: calc(calc(500/390) * 100vw);
		background-image: url('../img/sp_contact_bk.jpg');
	}
	.contactPage .formSec{
		width: calc(calc(360/390) * 100vw);
	}
	.contactPage .formTitle{
		margin-bottom: calc(calc(50/390) * 100vw);
	}
		.contactPage .formTitle h2{
			margin-bottom: calc(calc(9/390) * 100vw);
		}
/* ==========================================================================
   医療機関・企業の方向けサービス
========================================================================== */
		.medicalPage .pageHeader::after{
			background-image: url('../img/sp_for_medical_mv.jpg');
		}
			.medicalPage .pageTitleBlock .en span:nth-child(1){
				color: #708AAD;
				color: var(--blue);
				font-size: 1.8rem;
			}
			.medicalPage .pageTitleBlock .en span:nth-child(2){
				font-size: 4.5rem;
				margin-top: -.25em;
			}
			.medicalPage .pageTitleBlock .en span:nth-child(3){
				font-size: 3.1rem;
				margin-top: -.2em;
			}
	.medicalPage .service{
		margin-top: calc(calc(70/390) * 100vw);
	}
		.medicalPage .service >h2{
			margin-bottom: calc(calc(49/390) * 100vw);
		}
	.medicalPage .pageNavi{
		background-image: url('../img/sp_for_medical_nav_bk.jpg');
	}
		.medicalPage .pageNavi ol{
			width: 100%;
			height: calc(calc(350/390) * 100vw);
		}
			.medicalPage .pageNavi ol a{
				width: 100%;;
				height: 100%;
			}
				.medicalPage .pageNavi ol a::before{
					margin-bottom: calc(calc(20/390) * 100vw);
				}
				.medicalPage .pageNavi ol a >span{
					font-size: 2.5rem;
					line-height: 2;
					min-height: 6ch;
				}
					.medicalPage .pageNavi ol a >span >span{
						font-size: 2.2rem;
					}
				.medicalPage .pageNavi ol a::after{
					width: calc(calc(50/390) * 100vw);
					height: calc(calc(38/390) * 100vw);
					background: url('../img/page_navi_arrow.svg') no-repeat center center / contain;
					margin-top: calc(calc(30/390) * 100vw);
				}
			.medicalPage .pageNavi ol li:first-child{
				border-right: calc(calc(1/390) * 100vw) dashed #707070;
			}
	.medicalPage .wall{
		margin-top: calc(calc(110/390) * 100vw);
		padding-bottom: calc(calc(70/390) * 100vw);
	}
		.medicalPage .serviceSec >header{
			width: calc(calc(360/390) * 100vw);
			gap:0 calc(calc(10/390) * 100vw);
		}
			.medicalPage .serviceSec >header .num{
				font-size: 6rem;
			}
			.medicalPage .serviceSec >header h2{
				font-size: 4rem;
			}
		.medicalPage .serviceSec .serviceBox{
			width: calc(calc(370/390) * 100vw);
			margin: 0;
		}
			.medicalPage .serviceSec .serviceBox .textBox{
				margin-top: calc(calc(150/390) * 100vw);
				width: calc(calc(348/390) * 100vw);
				padding: calc(calc(50/390) * 100vw) calc(calc(27/390) * 100vw);
				line-height: 1.78;
				font-size: 1.4rem;
				box-shadow: 0px calc(calc(1/390) * 100vw) 0px rgba(0, 0, 0, 0.16);
			}
		.medicalPage .serviceSec1 >header{
			margin-bottom: calc(calc(25/390) * 100vw);
		}
	.medicalPage .serviceSec2{
		margin-top: calc(calc(70/390) * 100vw);
	}
		.medicalPage .serviceSec2 >header{
			margin-bottom: calc(calc(50/390) * 100vw);
		}
	.medicalPage .mainCta{
		margin-top: 0;
	}
/* ==========================================================================
   会社概要・ニュース
========================================================================== */
	.aboutPage .pageHeader{
		background: #F9F9F9;
	}
		.aboutPage .pageHeader .movieBox{
			width: calc(calc(324/390) * 100vw);
      min-width: 0;
      height: calc(calc(230/390) * 100vw);
      left:0;
      margin-left: calc(calc(68/390) * 100vw);
		}
			.aboutPage .pageHeader .movieBox::after{
				content: '';
				width: 100%;
				height: 100%;
				background: rgba(255,255,255,.38);
				position: absolute;
				top: 0;
				left: 0;
			}
		.aboutPage .pageHeader .pageTitle{
      font-size: 1.5rem;
			letter-spacing: .3em;
    }
      .aboutPage .pageHeader .pageTitle::before{
        font-size: 4.5rem;
      }
		.aboutPage .pageHeader .pankuzu{
			color: #111111;
			color: var(--black);
		}
			.aboutPage .pageHeader .pankuzu a{
				color: #111111;
				color: var(--black);
			}
	.aboutPage .message{
		width: calc(calc(370/390) * 100vw);
		margin: calc(calc(70/390) * 100vw) 0 0;
	}
		.aboutPage .message .textBox{
			margin-top: calc(calc(192/390) * 100vw);
			width: calc(calc(348/390) * 100vw);
			padding: calc(calc(55/390) * 100vw) calc(calc(26/390) * 100vw) calc(calc(50/390) * 100vw);
		}
			.aboutPage .message .textBox h2{
				font-size: 2.2rem;
				border-left: calc(calc(1/390) * 100vw) solid #707070;
				padding-left: calc(calc(10/390) * 100vw);
				margin-bottom: calc(calc(25/390) * 100vw);
			}
			.aboutPage .message .textBox .fontM{
				width: calc(calc(285/390) * 100vw);
				margin-bottom: calc(calc(24/390) * 100vw);
			}
			.aboutPage .message .textBox p{
				line-height: 1.78;
				font-size: 1.4rem;
			}
	.aboutPage .aboutCompany{
		width: calc(calc(360/390) * 100vw);
		margin: calc(calc(70/390) * 100vw) auto 0;
	}
		.aboutPage .aboutCompany >h2{
			margin-bottom: calc(calc(53/390) * 100vw);
		}
		.aboutPage .aboutCompany .row{
			max-width: none;
			margin: 0 auto;
			display: grid;
			grid-template-columns: 100%;
			grid-auto-flow: auto 1fr;
			gap:calc(calc(50/390) * 100vw) 0;
		}
		.aboutPage .aboutCompany .companyDl{
			grid-row: 2;
			display: grid;
			grid-template-columns: calc(calc(75/390) * 100vw) 1fr;
			gap:calc(calc(39/390) * 100vw) calc(calc(20/390) * 100vw);
			line-height: 1.66;
		}
			.aboutPage .aboutCompany .companyDl dd{
				border-left: calc(calc(1/390) * 100vw) solid #707070;
				padding-left: calc(calc(20/390) * 100vw);
			}
				.aboutPage .aboutCompany .companyDl dd .small{
					font-size: 1.3rem;
				}
				.aboutPage .aboutCompany .companyDl dd .bank{
					display: flex;
					flex-flow: row wrap;
					gap:1em;
				}
		.aboutPage .aboutCompany .img{
			grid-row: 1;
			justify-self: end;
			width: calc(calc(342/390) * 100vw);
			margin-right: calc(-1 * calc(calc(15/390) * 100vw));
		}
	.aboutPage .location{
		margin-top: calc(calc(70/390) * 100vw);
		display: grid;
		grid-template-columns: 100%;
		grid-template-rows: calc(calc(390/390) * 100vw) calc(calc(560/390) * 100vw);
		height: auto;
	}
		.aboutPage .location header{
			width: 100%;
			height: 100%;
			display: flex;
			justify-content: center;
			align-items: center;
			background-image: url('../img/sp_company_location.jpg');
			background-repeat: no-repeat;
			background-position: center center;
			background-size: cover;
		}
			.aboutPage .location h2::before{
				margin-bottom: calc(calc(20/390) * 100vw);
			}
	.aboutPage .news{
		max-width: calc(calc(360/390) * 100vw);
		margin: calc(calc(80/390) * 100vw) auto 0;
	}
		.aboutPage .news >h2{
			margin-bottom: calc(calc(35/390) * 100vw);
		}
			.aboutPage .news >h2::before{
				margin-bottom: calc(calc(20/390) * 100vw);
			}
	.aboutPage .recruitBanner{
		margin-top: calc(calc(70/390) * 100vw);
	}
/* ==========================================================================
   医師向けサービス
========================================================================== */
	.doctorPage .pageHeader{
		background: #F9F9F9;
	}
		.doctorPage .pageHeader::after{
			background-image: url('../img/sp_doctor_mv.jpg');
			background-position: center center;
		}
	.doctorPage .pageTitleBlock{
		width: calc(calc(360/390) * 100vw);
	}
			.doctorPage .pageTitleBlock .en span{
				display: block;
				line-height: 1;
				font-weight: 600;
			}
			.doctorPage .pageTitleBlock .en span:nth-child(1){
				color: #708AAD;
				color: var(--blue);
				font-size: 1.8rem;
			}
			.doctorPage .pageTitleBlock .en span:nth-child(2){
				font-size: 4.5rem;
				margin-top: -.25em;
			}
		.doctorPage .questionary >header{
			width: calc(calc(360/390) * 100vw);
			margin: 0 auto calc(calc(50/390) * 100vw);
		}
			.doctorPage .questionary >header h2{
				line-height: 1.28;
			}
			.doctorPage .questionary >header p{
				margin-top: calc(calc(14/390) * 100vw);
			}
		.doctorPage .questionary .questionBoxRow{
			width: calc(calc(380/390) * 100vw);
			margin: 0 auto;
			display: grid;
			grid-template-columns: 100%;
			grid-template-rows: auto auto auto 1fr;
			gap:calc(calc(50/390) * 100vw) 0;
		}
			.doctorPage .questionary .questionBox >header{
				margin-bottom: calc(calc(23/390) * 100vw);
			}
				.doctorPage .questionary .questionBox >header .num{
					margin-bottom: calc(calc(10/390) * 100vw);
				}
			.doctorPage .questionary .questionBox figure{
				width: calc(calc(320/390) * 100vw);
				margin: 0 auto;
			}
		.doctorPage .questionary .questionBox1,
		.doctorPage .questionary .questionBox2,
		.doctorPage .questionary .questionBox3{
			padding: 0;
		}
		.doctorPage .questionary .questionBox1{
			grid-row: 1;
		}
		.doctorPage .questionary .questionBox2{
			grid-row: 2;
			border-left: none;
			border-right: none;
		}
		.doctorPage .questionary .questionBox4{
			grid-row: 3;
		}
		.doctorPage .questionary .questionBox4{
			grid-column: 1;
			grid-row: 4;
			border-top: none;
			padding-top:0;
		}
			.doctorPage .questionary .questionBox4 ul{
				max-width: none;
				margin: 0 auto;
				display: grid;
				grid-template-columns: 100%;
			}
			.doctorPage .questionary .questionBox4 li{
				width: 100%;
				height: calc(calc(75/390) * 100vw);
				border: calc(calc(1/390) * 100vw) solid #CCCCCC;
				display: flex;
				align-items: center;
				justify-content: flex-start;
				padding: 0 calc(calc(27/390) * 100vw) 0 calc(calc(20/390) * 100vw);
			}
				.doctorPage .questionary .questionBox4 li::before{
					height: calc(calc(40/390) * 100vw);
				}
				.doctorPage .questionary .questionBox4 li >span{
					justify-content: space-between;
					width: 100%;
				}
				.doctorPage .questionary .questionBox4 li .text{
					margin-right: 0;
				}
			.doctorPage .questionary .questionBox4 li:nth-child(1){
				grid-column: 1;
				justify-self: center;
				border-radius: calc(calc(10/390) * 100vw) calc(calc(10/390) * 100vw) 0 0;
			}
				.doctorPage .questionary .questionBox4 li:nth-child(1)::before{
					width: calc(calc(38/390) * 100vw);
					margin-right: calc(calc(16/390) * 100vw);
				}
			.doctorPage .questionary .questionBox4 li:nth-child(2){
				margin-top: 0;
				border-radius: 0;
				border-top: transparent;
			}
				.doctorPage .questionary .questionBox4 li:nth-child(2)::before{
					width: calc(calc(30/390) * 100vw);
					margin-right: calc(calc(21/390) * 100vw);
				}
			.doctorPage .questionary .questionBox4 li:nth-child(3){
				margin: 0;
				border-radius: 0 0 calc(calc(10/390) * 100vw) calc(calc(10/390) * 100vw);
				border-top: transparent;
			}
				.doctorPage .questionary .questionBox4 li:nth-child(3)::before{
					width: calc(calc(30/390) * 100vw);
					margin-right: calc(calc(21/390) * 100vw);
				}
	.doctorPage .partner{
		margin-top: calc(calc(70/390) * 100vw);
		background: none;
		padding-top: 0;
	}
		.doctorPage .partner .partnerHeader{
			width: calc(calc(360/390) * 100vw);
		}
			.doctorPage .partner .partnerHeader h2{
				font-size: 3.5rem;
				line-height: 1.28;
			}
			.doctorPage .partner .partnerHeader p{
				margin-top: calc(calc(10/390) * 100vw);
				line-height: 2;
			}
	.doctorPage .service{
		margin-top: calc(calc(70/390) * 100vw);
	}
		.doctorPage .service >h2{
			margin-bottom: calc(calc(50/390) * 100vw);
		}
		.doctorPage .service .pageNavi{
			background-image: url('../img/sp_for_medical_nav_bk.jpg');
		}
			.doctorPage .service .pageNavi ol{
				width: 100%;
				height: calc(calc(350/390) * 100vw);
			}
				.doctorPage .service .pageNavi ol a{
					width: 100%;;
					height: 100%;
				}
					.doctorPage .service .pageNavi ol a::before{
						margin-bottom: calc(calc(20/390) * 100vw);
					}
					.doctorPage .service .pageNavi ol a >span{
						font-size: 2.5rem;
						line-height: 2;
						min-height: 6ch;
					}
						.doctorPage .service .pageNavi ol a >span >span{
							font-size: 2.2rem;
						}
					.doctorPage .service .pageNavi ol a::after{
						width: calc(calc(50/390) * 100vw);
						height: calc(calc(38/390) * 100vw);
						background: url('../img/page_navi_arrow.svg') no-repeat center center / contain;
						margin-top: calc(calc(30/390) * 100vw);
					}
				.doctorPage .service .pageNavi ol li:first-child{
					border-right: calc(calc(1/390) * 100vw) dashed #707070;
				}
	.doctorPage .serviceSec{
		background: #F9F9F9;
	}
		.doctorPage .serviceSec >header{
			width: calc(calc(360/390) * 100vw);
			gap:0 calc(calc(10/390) * 100vw);
		}
			.doctorPage .serviceSec >header .num{
				font-size: 6rem;
			}
			.doctorPage .serviceSec >header h2{
				font-size: 4rem;
			}
	.doctorPage .serviceInner{
		margin-top: calc(calc(50/390) * 100vw);
	}
		.doctorPage .serviceInner >header{
			width: calc(calc(360/390) * 100vw);
			margin: 0 auto calc(calc(50/390) * 100vw);
		}
			.doctorPage .serviceInner >header p{
				margin-top: calc(calc(5/390) * 100vw);
				line-height: 2;
			}
	.doctorPage .serviceBox{
		width: calc(calc(370/390) * 100vw);
		margin: 0;
	}
		.doctorPage .serviceBox .textBox{
			margin-top: calc(calc(150/390) * 100vw);
			width: calc(calc(348/390) * 100vw);
			min-height: calc(calc(255/390) * 100vw);
			padding: calc(calc(20/390) * 100vw) calc(calc(27/390) * 100vw);
			line-height: 1.78;
			font-size: 1.4rem;
			box-shadow: 0px calc(calc(1/390) * 100vw) 0px rgba(0, 0, 0, 0.16);
		}
			.doctorPage .serviceBox .textBox h2{
				display: flex;
				align-items: center;
				margin-bottom: calc(calc(19/390) * 100vw);
			}
				.doctorPage .serviceBox .textBox h2::after{
					width: calc(calc(1/390) * 100vw);
					height: calc(calc(36/390) * 100vw);
				}
				.doctorPage .serviceBox .textBox h2 span{
					font-size: 2.2rem;
				}
	.doctorPage .serviceSec1{
		margin-top: calc(calc(80/390) * 100vw);
		position: relative;
		z-index: 1;
	}
		.doctorPage .serviceSec1::before{
			content: '';
			width: 100vw;
			min-width: 0;
			height: calc(calc(110/390) * 100vw);
			background:#fff;
			position: absolute;
			top: calc(-1 * calc(calc(80/390) * 100vw));
		}
					.doctorPage .serviceSec1 .serviceBox .textBox h2::before{
						width: calc(calc(90/390) * 100vw);
						height: calc(calc(25/390) * 100vw);
					}
					.doctorPage .serviceSec1 .serviceBox .textBox h2::after{
						margin-left: calc(calc(8/390) * 100vw);
					}
					.doctorPage .serviceSec1 .serviceBox .textBox h2 span{
						margin-left: calc(calc(10/390) * 100vw);
					}
				.doctorPage .serviceSec1 .serviceBox .textBox p{
					margin-left: 0;
				}
		.doctorPage .serviceSec1 .serviceBox2{
			margin-top: calc(calc(50/390) * 100vw);
			margin-left: auto;
			margin-right: 0;
		}
		.doctorPage .serviceSec1 .serviceBox3{
			 margin-top: calc(calc(50/390) * 100vw);
		}
				.doctorPage .serviceSec1 .serviceBox3 .textBox h2{
					align-items: center;
				}
					.doctorPage .serviceSec1 .serviceBox3 .textBox h2 span{
						line-height: 1.27;
					}
	.doctorPage .flow{
		margin-top: calc(calc(70/390) * 100vw);
		padding-top: calc(calc(70/390) * 100vw);
	}
		.doctorPage .flow >header{
			width:calc(calc(360/390) * 100vw);
			margin: 0 auto calc(calc(50/390) * 100vw);
		}
			.doctorPage .flow >header p{
				margin-top: calc(calc(5/390) * 100vw);
				line-height: 2;
			}
		.doctorPage .flow >ol{
			width: 100%;
			margin: 0 auto;
			display: grid;
			grid-template-columns: repeat(2,1fr);
			border-bottom: calc(calc(1/390) * 100vw) solid #707070;
		}
			.doctorPage .flow >ol li{
				position: relative;
			}
			.doctorPage .flow >ol li:nth-child(1),
			.doctorPage .flow >ol li:nth-child(2),
			.doctorPage .flow >ol li:nth-child(3){
				border-right: none;
			}
				.doctorPage .flow >ol li:nth-child(1)::before{
					content: '';
					background-image: linear-gradient(to bottom, #707070 50%, transparent 50%);
					background-size: calc(calc(1/390) * 100vw) calc(calc(5/390) * 100vw); /* width and gap+line height */
					width: calc(calc(1/390) * 100vw);
					height: 100%;
					position: absolute;
					top: 0;
					right: 0;
					z-index: 2;
				}
				.doctorPage .flow >ol li:nth-child(2)::before{
					content: '';
					background-image : linear-gradient(to right, #707070 50%, transparent 50%);
					background-size: calc(calc(5/390) * 100vw) calc(calc(1/390) * 100vw);
					background-repeat: repeat-x;
					width: 100%;
					height: calc(calc(1/390) * 100vw);
					position: absolute;
					bottom: 0;
					left: -100%;
					z-index: 2;
				}
				.doctorPage .flow >ol li:nth-child(3)::before{
					content: '';
					background-image: linear-gradient(to bottom, #707070 50%, transparent 50%);
					background-size: calc(calc(1/390) * 100vw) calc(calc(5/390) * 100vw); /* width and gap+line height */
					width: calc(calc(1/390) * 100vw);
					height: 100%;
					position: absolute;
					top: 0;
					right: 0;
					z-index: 2;
				}
				.doctorPage .flow >ol li:nth-child(4)::before{
					content: '';
					background-image : linear-gradient(to right, #707070 50%, transparent 50%);
					background-size: calc(calc(5/390) * 100vw) calc(calc(1/390) * 100vw);
					background-repeat: repeat-x;
					width: 100%;
					height: calc(calc(1/390) * 100vw);
					position: absolute;
					top: 0;
					left: 0;
					z-index: 2;
				}
		.doctorPage .flow .flowSec{
			padding-top: calc(calc(20/390) * 100vw);
			height: 100%;
			min-height: calc(calc(360/390) * 100vw);
			position: relative;
			z-index: 1;
			overflow: hidden;
		}
			.doctorPage .flow .flowSec::before{
				display: none;
			}
			.doctorPage .flow .flowSec::after{
				opacity: 1;
				transition: none;
			}
			.doctorPage .flow .flowSec >header{
				width: calc(calc(180/390) * 100vw);
				text-align: center;
				margin-bottom: calc(calc(7/390) * 100vw);
			}
				.doctorPage .flow .flowSec >header .num{
					margin-bottom: calc(calc(10/390) * 100vw);
					color: #fff;
				}
					.doctorPage .flow .flowSec >header .num::before{
						background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229.94%22%20height%3D%2213.785%22%20viewBox%3D%220%200%2029.94%2013.785%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_708%22%20data-name%3D%22%E3%83%91%E3%82%B9%20708%22%20d%3D%22M-10.868.2a5.4%2C5.4%2C0%2C0%2C1-2.317-.5A3.882%2C3.882%2C0%2C0%2C1-14.9-1.935l1.125-.69a3.518%2C3.518%2C0%2C0%2C0%2C1.2%2C1.11%2C3.588%2C3.588%2C0%2C0%2C0%2C1.755.39%2C2.765%2C2.765%2C0%2C0%2C0%2C1.635-.42A1.418%2C1.418%2C0%2C0%2C0-8.6-2.775a1.6%2C1.6%2C0%2C0%2C0-.21-.833%2C1.812%2C1.812%2C0%2C0%2C0-.84-.638%2C9.371%2C9.371%2C0%2C0%2C0-1.9-.54q-2.9-.63-2.9-2.955a2.843%2C2.843%2C0%2C0%2C1%2C.435-1.575A2.956%2C2.956%2C0%2C0%2C1-12.8-10.373a4.075%2C4.075%2C0%2C0%2C1%2C1.815-.382%2C4.256%2C4.256%2C0%2C0%2C1%2C2.167.525A5.2%2C5.2%2C0%2C0%2C1-7.312-8.94l-1.05.855a5.792%2C5.792%2C0%2C0%2C0-1.1-.93A2.753%2C2.753%2C0%2C0%2C0-11-9.42a2.428%2C2.428%2C0%2C0%2C0-1.447.412A1.39%2C1.39%2C0%2C0%2C0-13.028-7.8a1.533%2C1.533%2C0%2C0%2C0%2C.188.758%2C1.559%2C1.559%2C0%2C0%2C0%2C.7.593%2C6.552%2C6.552%2C0%2C0%2C0%2C1.485.465A5.507%2C5.507%2C0%2C0%2C1-7.98-4.815%2C2.673%2C2.673%2C0%2C0%2C1-7.162-2.79a2.745%2C2.745%2C0%2C0%2C1-.473%2C1.627A2.926%2C2.926%2C0%2C0%2C1-8.94-.15%2C5%2C5%2C0%2C0%2C1-10.868.2Zm8.355-.03a2.533%2C2.533%2C0%2C0%2C1-1.545-.4%2C1.819%2C1.819%2C0%2C0%2C1-.525-1.523V-6.03H-6.037V-7.2h1.455V-9.78h1.335V-7.2h2.085v1.17H-3.247v3.99a.954.954%2C0%2C0%2C0%2C.263.788%2C1.278%2C1.278%2C0%2C0%2C0%2C.787.2%2C2.07%2C2.07%2C0%2C0%2C0%2C.563-.083%2C2.749%2C2.749%2C0%2C0%2C0%2C.472-.173V-.06a2.572%2C2.572%2C0%2C0%2C1-.615.165A4.648%2C4.648%2C0%2C0%2C1-2.513.165Zm5.895%2C0a3.634%2C3.634%2C0%2C0%2C1-1.8-.435A2.987%2C2.987%2C0%2C0%2C1%2C.367-1.553%2C4.439%2C4.439%2C0%2C0%2C1-.068-3.6a4.332%2C4.332%2C0%2C0%2C1%2C.435-2A3.232%2C3.232%2C0%2C0%2C1%2C1.56-6.915%2C3.272%2C3.272%2C0%2C0%2C1%2C3.307-7.38a2.871%2C2.871%2C0%2C0%2C1%2C1.688.487A3.122%2C3.122%2C0%2C0%2C1%2C6.06-5.6a4.233%2C4.233%2C0%2C0%2C1%2C.368%2C1.77v.36H1.252A2.693%2C2.693%2C0%2C0%2C0%2C1.86-1.643%2C2%2C2%2C0%2C0%2C0%2C3.4-1.02a2.061%2C2.061%2C0%2C0%2C0%2C1.267-.375A2.852%2C2.852%2C0%2C0%2C0%2C5.512-2.52l1.02.675a3.527%2C3.527%2C0%2C0%2C1-1.3%2C1.53A3.489%2C3.489%2C0%2C0%2C1%2C3.382.165ZM1.327-4.545h3.78a2.2%2C2.2%2C0%2C0%2C0-.6-1.26%2C1.647%2C1.647%2C0%2C0%2C0-1.215-.48A1.9%2C1.9%2C0%2C0%2C0%2C2-5.843%2C2.206%2C2.206%2C0%2C0%2C0%2C1.327-4.545ZM8.152%2C3.03V-7.2h1.2L9.4-6.18a2.792%2C2.792%2C0%2C0%2C1%2C.96-.885%2C2.591%2C2.591%2C0%2C0%2C1%2C1.275-.315%2C3.353%2C3.353%2C0%2C0%2C1%2C1.755.457%2C3.213%2C3.213%2C0%2C0%2C1%2C1.208%2C1.3%2C4.271%2C4.271%2C0%2C0%2C1%2C.443%2C2%2C4.317%2C4.317%2C0%2C0%2C1-.443%2C2.01A3.2%2C3.2%2C0%2C0%2C1%2C13.387-.293a3.353%2C3.353%2C0%2C0%2C1-1.755.458%2C2.509%2C2.509%2C0%2C0%2C1-1.215-.293A2.754%2C2.754%2C0%2C0%2C1%2C9.5-.93V3.03Zm3.435-4.1A1.931%2C1.931%2C0%2C0%2C0%2C13.1-1.748a2.73%2C2.73%2C0%2C0%2C0%2C.6-1.868%2C2.7%2C2.7%2C0%2C0%2C0-.6-1.86%2C1.94%2C1.94%2C0%2C0%2C0-1.515-.675%2C1.917%2C1.917%2C0%2C0%2C0-1.507.675%2C2.723%2C2.723%2C0%2C0%2C0-.593%2C1.86%2C2.753%2C2.753%2C0%2C0%2C0%2C.593%2C1.868A1.908%2C1.908%2C0%2C0%2C0%2C11.587-1.065Z%22%20transform%3D%22translate(14.902%2010.755)%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E');
						width: calc(calc(30/390) * 100vw);
						height: calc(calc(14/390) * 100vw);
						margin: 0 auto calc(calc(8/390) * 100vw);
					}
				.doctorPage .flow .flowSec >header h2{
					font-size: 2rem;
					line-height: 1.5;
					color: #fff;
					min-height: 5ch;
					text-align: center;
					display: flex;
					justify-content: center;
					align-items: center;
				}
			.doctorPage .flow .flowSec .text{
				width: calc(calc(180/390) * 100vw);
			}
				.doctorPage .flow .flowSec .text p{
					color: #fff;
					line-height: 1.57;
					font-size: 1.4rem;
				}
			@media (hover:hover) {
				.doctorPage .flow .flowSec:hover{
					opacity: 1;
				}
					.doctorPage .flow .flowSec:hover::after{
						opacity: 1;
						scale:1;
					}
							.doctorPage .flow .flowSec:hover header .num::before{
								background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2229.94%22%20height%3D%2213.785%22%20viewBox%3D%220%200%2029.94%2013.785%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_708%22%20data-name%3D%22%E3%83%91%E3%82%B9%20708%22%20d%3D%22M-10.868.2a5.4%2C5.4%2C0%2C0%2C1-2.317-.5A3.882%2C3.882%2C0%2C0%2C1-14.9-1.935l1.125-.69a3.518%2C3.518%2C0%2C0%2C0%2C1.2%2C1.11%2C3.588%2C3.588%2C0%2C0%2C0%2C1.755.39%2C2.765%2C2.765%2C0%2C0%2C0%2C1.635-.42A1.418%2C1.418%2C0%2C0%2C0-8.6-2.775a1.6%2C1.6%2C0%2C0%2C0-.21-.833%2C1.812%2C1.812%2C0%2C0%2C0-.84-.638%2C9.371%2C9.371%2C0%2C0%2C0-1.9-.54q-2.9-.63-2.9-2.955a2.843%2C2.843%2C0%2C0%2C1%2C.435-1.575A2.956%2C2.956%2C0%2C0%2C1-12.8-10.373a4.075%2C4.075%2C0%2C0%2C1%2C1.815-.382%2C4.256%2C4.256%2C0%2C0%2C1%2C2.167.525A5.2%2C5.2%2C0%2C0%2C1-7.312-8.94l-1.05.855a5.792%2C5.792%2C0%2C0%2C0-1.1-.93A2.753%2C2.753%2C0%2C0%2C0-11-9.42a2.428%2C2.428%2C0%2C0%2C0-1.447.412A1.39%2C1.39%2C0%2C0%2C0-13.028-7.8a1.533%2C1.533%2C0%2C0%2C0%2C.188.758%2C1.559%2C1.559%2C0%2C0%2C0%2C.7.593%2C6.552%2C6.552%2C0%2C0%2C0%2C1.485.465A5.507%2C5.507%2C0%2C0%2C1-7.98-4.815%2C2.673%2C2.673%2C0%2C0%2C1-7.162-2.79a2.745%2C2.745%2C0%2C0%2C1-.473%2C1.627A2.926%2C2.926%2C0%2C0%2C1-8.94-.15%2C5%2C5%2C0%2C0%2C1-10.868.2Zm8.355-.03a2.533%2C2.533%2C0%2C0%2C1-1.545-.4%2C1.819%2C1.819%2C0%2C0%2C1-.525-1.523V-6.03H-6.037V-7.2h1.455V-9.78h1.335V-7.2h2.085v1.17H-3.247v3.99a.954.954%2C0%2C0%2C0%2C.263.788%2C1.278%2C1.278%2C0%2C0%2C0%2C.787.2%2C2.07%2C2.07%2C0%2C0%2C0%2C.563-.083%2C2.749%2C2.749%2C0%2C0%2C0%2C.472-.173V-.06a2.572%2C2.572%2C0%2C0%2C1-.615.165A4.648%2C4.648%2C0%2C0%2C1-2.513.165Zm5.895%2C0a3.634%2C3.634%2C0%2C0%2C1-1.8-.435A2.987%2C2.987%2C0%2C0%2C1%2C.367-1.553%2C4.439%2C4.439%2C0%2C0%2C1-.068-3.6a4.332%2C4.332%2C0%2C0%2C1%2C.435-2A3.232%2C3.232%2C0%2C0%2C1%2C1.56-6.915%2C3.272%2C3.272%2C0%2C0%2C1%2C3.307-7.38a2.871%2C2.871%2C0%2C0%2C1%2C1.688.487A3.122%2C3.122%2C0%2C0%2C1%2C6.06-5.6a4.233%2C4.233%2C0%2C0%2C1%2C.368%2C1.77v.36H1.252A2.693%2C2.693%2C0%2C0%2C0%2C1.86-1.643%2C2%2C2%2C0%2C0%2C0%2C3.4-1.02a2.061%2C2.061%2C0%2C0%2C0%2C1.267-.375A2.852%2C2.852%2C0%2C0%2C0%2C5.512-2.52l1.02.675a3.527%2C3.527%2C0%2C0%2C1-1.3%2C1.53A3.489%2C3.489%2C0%2C0%2C1%2C3.382.165ZM1.327-4.545h3.78a2.2%2C2.2%2C0%2C0%2C0-.6-1.26%2C1.647%2C1.647%2C0%2C0%2C0-1.215-.48A1.9%2C1.9%2C0%2C0%2C0%2C2-5.843%2C2.206%2C2.206%2C0%2C0%2C0%2C1.327-4.545ZM8.152%2C3.03V-7.2h1.2L9.4-6.18a2.792%2C2.792%2C0%2C0%2C1%2C.96-.885%2C2.591%2C2.591%2C0%2C0%2C1%2C1.275-.315%2C3.353%2C3.353%2C0%2C0%2C1%2C1.755.457%2C3.213%2C3.213%2C0%2C0%2C1%2C1.208%2C1.3%2C4.271%2C4.271%2C0%2C0%2C1%2C.443%2C2%2C4.317%2C4.317%2C0%2C0%2C1-.443%2C2.01A3.2%2C3.2%2C0%2C0%2C1%2C13.387-.293a3.353%2C3.353%2C0%2C0%2C1-1.755.458%2C2.509%2C2.509%2C0%2C0%2C1-1.215-.293A2.754%2C2.754%2C0%2C0%2C1%2C9.5-.93V3.03Zm3.435-4.1A1.931%2C1.931%2C0%2C0%2C0%2C13.1-1.748a2.73%2C2.73%2C0%2C0%2C0%2C.6-1.868%2C2.7%2C2.7%2C0%2C0%2C0-.6-1.86%2C1.94%2C1.94%2C0%2C0%2C0-1.515-.675%2C1.917%2C1.917%2C0%2C0%2C0-1.507.675%2C2.723%2C2.723%2C0%2C0%2C0-.593%2C1.86%2C2.753%2C2.753%2C0%2C0%2C0%2C.593%2C1.868A1.908%2C1.908%2C0%2C0%2C0%2C11.587-1.065Z%22%20transform%3D%22translate(14.902%2010.755)%22%20fill%3D%22%23708aad%22%2F%3E%3C%2Fsvg%3E');
							}
						.doctorPage .flow .flowSec:hover header h2{
							color: #fff;
						}
						.doctorPage .flow .flowSec:hover .text p{
							color: #fff;
						}
			}
			.doctorPage .flow .flowSec1::after{
				background-image: url('../img/sp_doctor_flow1.jpg');
			}
			.doctorPage .flow .flowSec1 .btn{
				margin: calc(calc(30/390) * 100vw) 0 0 calc(-1 * calc(calc(2.5/390) * 100vw));
				width: calc(calc(185/390) * 100vw);
				height: calc(calc(41/390) * 100vw);
				border-radius: calc(calc(26/390) * 100vw);
				padding-left: calc(calc(21/390) * 100vw);
				font-size: 1.3rem;
			}
				.doctorPage .flow .flowSec1 .btn::after{
					width: calc(calc(8/390) * 100vw);
					height: calc(calc(9/390) * 100vw);
					margin-left: calc(calc(16/390) * 100vw);
				}
			.doctorPage .flow .flowSec2::after{
				background-image: url('../img/sp_doctor_flow2.jpg');
			}
			.doctorPage .flow .flowSec3::after{
				background-image:url('../img/sp_doctor_flow3.jpg');
			}
			.doctorPage .flow .flowSec4::after{
				background-image: url('../img/sp_doctor_flow4.jpg');
			}
		.doctorPage .flow .mainCta{
			margin-top: 0;
		}
	.doctorPage .serviceSec2{
		margin-top: calc(calc(80/390) * 100vw);
		position: relative;
		z-index: 1;
	}
		.doctorPage .serviceSec2::before{
			content: '';
			width: 100vw;
			min-width: 0;
			height: calc(calc(110/390) * 100vw);
			background:#fff;
			position: absolute;
			top: calc(-1 * calc(calc(80/390) * 100vw));
		}
		.doctorPage .serviceSec2 >header{
			align-items: flex-start;
		}
			.doctorPage .serviceSec2 >header h2{
				line-height: 1.25;
				padding-top: .25em;
			}
			.doctorPage .serviceSec2 .jirei >header{
				width: calc(calc(360/390) * 100vw);
				margin: 0 auto calc(calc(50/390) * 100vw);
			}
				.doctorPage .serviceSec2 .jirei >header p{
					margin-top: calc(calc(5/390) * 100vw);
					line-height: 2;
				}
			.doctorPage .serviceSec2 .serviceBox .textBox{
				width: calc(calc(348/390) * 100vw);
				padding: calc(calc(30/390) * 100vw) calc(calc(17/390) * 100vw) calc(calc(50/390) * 100vw);
			}
				.doctorPage .serviceSec2 .serviceBox .textBox h2{
					align-items: center;
				}
					.doctorPage .serviceSec2 .serviceBox .textBox h2::before{
						width: calc(calc(71/390) * 100vw);
						height: calc(calc(25/390) * 100vw);
					}
					.doctorPage .serviceSec2 .serviceBox .textBox h2::after{
						margin-left: calc(calc(15/390) * 100vw);
					}
					.doctorPage .serviceSec2 .serviceBox .textBox h2 span{
						margint-left: calc(calc(20/390) * 100vw);
						line-height: 1.18;
					}
				.doctorPage .serviceSec2 .serviceBox .textBox p{
					margin-left: 0;
				}
		.doctorPage .serviceSec2 .serviceBox2{
			margin-top: calc(calc(50/390) * 100vw);
			margin-left: auto;
			margin-right: 0;
		}
	.doctorPage .tensyokuBanner{
		margin-top: calc(calc(70/390) * 100vw);
	}
/* ==========================================================================
   採用情報
========================================================================== */
	.recruitPage .pageHeader{
		background-image: url('../img/sp_recruit_mv.jpg');
		height: calc(calc(768/390) * 100vw);
	}
		.recruitPage .pageHeader .titleBox{
			width: calc(calc(360/390) * 100vw);
			display: flex;
			flex-flow: column;
			align-items: flex-start;
			gap:calc(calc(50/390) * 100vw) 0;
		}
			.recruitPage .pageHeader .titleBox .pageTitle{
				width: auto;
			}
				.recruitPage .pageHeader .titleBox .catch h2{
					line-height: 1.28;
					margin-bottom: calc(calc(11/390) * 100vw);
				}
	.recruitPage .jobVacancies{
		max-width: calc(calc(360/390) * 100vw);
	}
		.recruitPage .jobVacancies >h2{
			margin-bottom: calc(calc(60/390) * 100vw);
		}
		.recruitPage .jobVacancies ol{
			flex-flow: column;
			justify-content: flex-start;
			gap: calc(calc(30/390) * 100vw) 0;
		}
			.recruitPage .jobVacancies ol li{
				display: flex;
				align-items: center;
				gap:0 calc(calc(30/390) * 100vw);
				line-height: 1;
			}
			.recruitPage .jobVacancies ol .num{
				font-size: 6rem;
			}
				.recruitPage .jobVacancies ol .text span{
					display: block;
					font-size: 2rem;
				}
				.recruitPage .jobVacancies ol .text small{
					font-size: 1.8rem;
				}
			.recruitPage .jobVacancies ol li:nth-child(2){
				align-items: flex-start;
			}
	.recruitPage .aboutConnect{
		margin-top: calc(calc(69/390) * 100vw);
	}
		.recruitPage .aboutConnect >h2{
			max-width: calc(calc(360/390) * 100vw);
			margin: 0 auto calc(calc(50/390) * 100vw);
		}
		.recruitPage .aboutConnect .aboutConnectBox{
			width: calc(calc(370/390) * 100vw);
			margin: 0;
		}
			.recruitPage .aboutConnect .aboutConnectBox .textBox{
				margin-top: calc(calc(150/390) * 100vw);
				width: calc(calc(348/390) * 100vw);
				padding: calc(calc(50/390) * 100vw) calc(calc(27/390) * 100vw);
			}
				.recruitPage .aboutConnect .aboutConnectBox .textBox h2{
					font-size: 2.2rem;
					border-left: calc(calc(1/390) * 100vw) solid #707070;
					padding-left: calc(calc(10/390) * 100vw);
					margin-bottom: calc(calc(20/390) * 100vw);
				}
				.recruitPage .aboutConnect .aboutConnectBox .textBox p{
					line-height: 1.78;
					font-size: 1.4rem;
				}
		.recruitPage .aboutConnect .aboutConnect2{
			margin: calc(calc(50/390) * 100vw) 0 0 auto;
		}
	.recruitPage .pros{
		margin-top: calc(calc(70/390) * 100vw);
	}
		.recruitPage .pros >h2{
			max-width: calc(calc(360/390) * 100vw);
			margin: 0 auto calc(calc(60/390) * 100vw);
			line-height: 1.28;
		}
		.recruitPage .pros .row{
			max-width: none;
			grid-template-columns: repeat(2,1fr);
		}
			.recruitPage .pros .row::before{
				background-image: url('../img/sp_recruit_pors_bk.jpg');
				min-width: 0;
			}
		.recruitPage .pros .prosBox{
			display: grid;
			grid-template-rows: subgrid;
			grid-row: span 2;
			padding: calc(calc(47/390) * 100vw) calc(calc(8.5/390) * 100vw) calc(calc(105/390) * 100vw);
			position: relative;
		}
			.recruitPage .pros .prosBox >h2{
				margin:0 auto calc(calc(20/390) * 100vw);
			}
			.recruitPage .pros .prosBox .fukidashi{
				width: 100%;
				min-height: calc(calc(145.8/390) * 100vw);
				background: url('../img/sp_fukidashi.svg') no-repeat center center / 100% 100%;
				padding: calc(calc(11/390) * 100vw) calc(calc(7/390) * 100vw) calc(calc(18/390) * 100vw) calc(calc(7/390) * 100vw);
				line-height: 1.71;
				font-size: 1.4rem;
			}
			.recruitPage .pros .prosBox::after{
				width: calc(calc(59/390) * 100vw);
				height: calc(calc(72/390) * 100vw);
				bottom: calc(calc(23/390) * 100vw);
			}
			.recruitPage .pros .prosBox1 h2{
				width: calc(calc(92.68/390) * 100vw);
			}
			.recruitPage .pros .prosBox1::after{
				background-image: url('../img/recruit_pros_illu1.svg');
			}
		.recruitPage .pros .prosBox2{
			border-left: calc(calc(1/390) * 100vw) dashed #707070;
			border-right: calc(calc(1/390) * 100vw) dashed #707070;
		}
			.recruitPage .pros .prosBox2 h2{
				width: calc(calc(89.83/390) * 100vw);
			}
			.recruitPage .pros .prosBox2::after{
				background-image: url('../img/recruit_pros_illu2.svg');
			}
		.recruitPage .pros .prosBox3{
			grid-column: 1 / 3;
			border-top: calc(calc(1/390) * 100vw) dashed #707070;
		}
			.recruitPage .pros .prosBox3 h2{
				width: calc(calc(91.16/390) * 100vw);
			}
			.recruitPage .pros .prosBox3 .fukidashi{
				width: 100%;
				min-height: calc(calc(125.8/390) * 100vw);
				background: url('../img/_fukidashi.svg') no-repeat center center / 100% 100%;
				padding: calc(calc(11/390) * 100vw) calc(calc(11/390) * 100vw) calc(calc(18/390) * 100vw) calc(calc(11/390) * 100vw);
			}
	.recruitPage .message{
		width: calc(calc(370/390) * 100vw);
		margin: calc(calc(26/390) * 100vw) 0 0;
	}
		.recruitPage .message .textBox{
			margin-top: calc(calc(192/390) * 100vw);
			width: calc(calc(348/390) * 100vw);
			padding: calc(calc(55/390) * 100vw) calc(calc(26/390) * 100vw) calc(calc(50/390) * 100vw);
		}
			.recruitPage .message .textBox h2{
				font-size: 2.2rem;
				border-left: calc(calc(1/390) * 100vw) solid #707070;
				padding-left: calc(calc(10/390) * 100vw);
				margin-bottom: calc(calc(20/390) * 100vw);
			}
			.recruitPage .message .textBox p{
				line-height: 1.78;
				font-size: 1.4rem;
			}
	.recruitPage .details{
		margin-top: calc(calc(70/390) * 100vw);
	}
		.recruitPage .details >h2{
			max-width: calc(calc(360/390) * 100vw);
			margin: 0 auto calc(calc(51/390) * 100vw);
			font-family: "Zen Kaku Gothic New", sans-serif;
		}
			.recruitPage .details .tabNav::before{
				width: 100vw;
				height: calc(calc(1/390) * 100vw);
			}
			.recruitPage .details .tabNav li{
				gap:0 calc(calc(6/390) * 100vw);
				border: calc(calc(1/390) * 100vw) solid transparent;
				height: calc(calc(94/390) * 100vw);
				padding-top: calc(calc(13/390) * 100vw);
				flex-flow: row wrap;
				align-content: flex-start;
			}
				.recruitPage .details .tabNav li::before{
					height: calc(calc(1/390) * 100vw);
					bottom: calc(-1 * calc(calc(1/390) * 100vw));
				}
			.recruitPage .details .tabNav .num{
				font-size: 4rem;
			}
			.recruitPage .details .tabNav .text{
				line-height: 1.4;
			}
			.recruitPage .details .tabNav .text2{
				font-size: 1.5rem;
				font-weight: 500;
				margin-top: calc(calc(5/390) * 100vw);
			}
			.recruitPage .details .tabNav .text3{
				font-size: 1.3rem;
				font-weight: 500;
				line-height: 1.3;
				text-indent: -1em;
				margin-left: 1em;
				margin-top: calc(calc(5/390) * 100vw);
			}
			.recruitPage .details .tabNav li:nth-child(1){
				flex: 0 1 calc(calc(169/390) * 100vw);
			}
			.recruitPage .details .tabNav li:nth-child(2){
				flex: 0 1 calc(calc(169/390) * 100vw);
			}
			.recruitPage .details .tabNav .tOpen{
				position: relative;
				border: calc(calc(1/390) * 100vw) solid #707070;
			}
				.recruitPage .details .tabNav .tOpen::before{
					background: #F9F9F9;
				}
		.recruitPage .details .tabWall{
			max-width: calc(calc(360/390) * 100vw);
			margin: calc(calc(60/390) * 100vw) auto 0;
		}
		.recruitPage .details .detailsDl{
			margin: 0;
			display: grid;
			grid-template-columns: calc(calc(94/390) * 100vw) 1fr;
			align-items: start;
			gap:calc(calc(30/390) * 100vw) 0;
			line-height: 1.66;
		}
			.recruitPage .details .detailsDl dt{
				text-box:trim-both text text;
				font-weight: 300;
			}
			.recruitPage .details .detailsDl dd{
				text-box:trim-both text text;
				align-self: start;
				
				border-left: 1px solid #707070;
				padding-left: 19px;
			}
				.recruitPage .details .detailsDl dd .small{
					font-size: 1.3rem;
				}
				.recruitPage .details .detailsDl dd .bank{
					display: flex;
					flex-flow: row wrap;
					gap:1em;
				}
	.recruitPage .formSec{
		width: calc(calc(360/390) * 100vw);
		margin: calc(calc(99/390) * 100vw) auto 0;
	}
		.recruitPage .formSec .formTitle{
			margin-bottom: calc(calc(46/390) * 100vw);
		}
			.recruitPage .formSec .formTitle h2{
				margin-bottom: calc(calc(9/390) * 100vw);
			}
/* ==========================================================================
   home
========================================================================== */
	.homePage .mv{
		min-height: 100vw;
	}
	.homePage .about{
		width: 100%;
		margin: calc(calc(94/390) * 100vw) auto 0;
		display: flex;
		flex-flow: column;
	}
		.homePage .about .logo{
			width: calc(calc(366/390) * 100vw);
			margin-left: calc(calc(14/390) * 100vw);
		}
			.homePage .about .logo .logoSvg{
				grid-column: 1;
				grid-row: 1;
				z-index: 2;
				align-self: center;
			}
			.homePage .about .logo .movieSvgBox{
				width: calc(calc(358/390) * 100vw);
			}
		.homePage .about .textBox{
			width: calc(calc(360/390) * 100vw);
			margin: calc(calc(93.5/390) * 100vw) auto 0;
		}
			.homePage .about .textBox h2{
				font-size: 3rem;
				margin-bottom: calc(calc(20/390) * 100vw);
			}
				.homePage .about .textBox h2 span{
					font-size: 2.5rem;
				}
			.homePage .about .textBox p{
				font-size: 1.5rem;
				line-height: 2.46;
			}
	.homePage .pageNavi{
		margin-top: calc(calc(70/390) * 100vw);
		padding: calc(calc(70/390) * 100vw) 0;
	}
		.homePage .pageNavi li{
			width: 100%;
		}
		.homePage .pageNavi li + li{
			margin-top: calc(calc(50/390) * 100vw);
		}
		.homePage .pageNavi .serviceBox{
			width: calc(calc(375/390) * 100vw);
		}
			.homePage .pageNavi .serviceBox a{
				display: grid;
				grid-template-columns: 100%;
				grid-template-rows: auto 1fr;
			}
			.homePage .pageNavi .serviceBox header{
				grid-column: 1;
				grid-row: 1;
				z-index: 2;
				margin-top: 0;
				align-self: center;
			}
					.homePage .pageNavi .serviceBox header .en span:nth-child(1){
						color: #708AAD;
						color: var(--blue);
						font-size: 1.8rem;
					}
					.homePage .pageNavi .serviceBox header .en span:nth-child(2){
						font-size: 4.5rem;
						margin-top: -.25em;
					}
					.homePage .pageNavi .serviceBox header .en span:nth-child(3){
						font-size: 3.1rem;
						margin-top: -.2em;
					}
				.homePage .pageNavi .serviceBox header h2{
					margin-top: calc(calc(10/390) * 100vw);
					font-size: 1.5rem;
					letter-spacing: .3em;
				}
					.homePage .pageNavi .serviceBox header h2::after{
						content: '';
						width: calc(calc(47/390) * 100vw);
						height: calc(calc(25/390) * 100vw);
						background: url('../img/home_service_arrow.svg') no-repeat center center / contain;
						display: block;
						margin-top: calc(calc(14/390) * 100vw);
						transition: scale .2s linear;
					}
			.homePage .pageNavi .serviceBox .description{
				grid-column: 1 / 3;
				grid-row: 2;
				z-index: 2;
				margin: calc(calc(20/390) * 100vw) calc(calc(15/390) * 100vw) 0 0;
			}
				.homePage .pageNavi .serviceBox .description .arrowSVG{
					display: none;
				}
			.homePage .pageNavi .serviceBox .img{
				grid-column: 1;
				grid-row: 1;
				z-index: 1;
				justify-self: end;
				width: calc(calc(324/390) * 100vw);
			}
					.homePage .pageNavi .serviceBox a:hover h2::after{
						scale:1.1;
						transform-origin: left;
					}
				.homePage .pageNavi .serviceBox2 header h2{
					letter-spacing: .1em;
				}
	.homePage .tensyokuBanner{
		margin-top: calc(calc(70/390) * 100vw);
	}
	.homePage .news{
		max-width: calc(calc(360/390) * 100vw);
		margin: calc(calc(80/390) * 100vw) auto 0;
	}
		.homePage .news >h2{
			margin-bottom: calc(calc(35/390) * 100vw);
		}
			.homePage .news >h2::before{
				margin-bottom: calc(calc(20/390) * 100vw);
			}
	.homePage .recruitBanner{
		margin-top: calc(calc(70/390) * 100vw);
	}
/* ==========================================================================
   苦情相談窓口
========================================================================== */
			.complaintDeskPage .pageHeader .pageTitle::before{
				font-size: 6.5rem;
			}
	.complaintDeskPage .pankuzu{
		letter-spacing: .5em;
	}
/*end*/
}