@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 {
  --color: #111111;
  --color-primary: #708AAD;
}

/* ==========================================================================
   Futura PT
========================================================================== */

.fontFP{
  font-family: "futura-pt", sans-serif;
  font-style: normal;
}

/* ==========================================================================
   Futura PT
========================================================================== */

.notoSans{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

/* ==========================================================================
   フォーム
========================================================================== */

.formWall .formInput select,
    .formWall .formInput input[type="text"],
    .formWall .formInput input[type="tel"],
    .formWall .formInput input[type="email"]{
      padding: 0 1em;
      height: 43px;
      line-height: 43px;
      border: 1px solid #AAAAAA;
      border-radius: 6px;
      width: 100%;
      background: #F9F9F9;
      transition:all .2s ease-in;
    }

.formWall .formInput textarea{
      width: 100%;
      padding: 1em;
      border: 1px solid #AAAAAA;
      border-radius: 6px;
      height: 104px;
      background: #F9F9F9;
      transition:all .2s ease-in;
    }

.formWall .formInput input.is-valid,
    .formWall .formInput select.is-valid,
    .formWall .formInput textarea.is-valid{
      border: 2px solid #708AAD;
      border: 2px solid var(--color-primary);
    }

.formWall .formInput .input{
      position: relative;
    }

.formWall .formInput .input::before{
        content: '';
        width: 14px;
        height: 14px;
        background: url('../img/input_ok.svg') no-repeat center center / contain;
        position: absolute;
        z-index: 2;
        top: 50%;
        translate: 0 -50%;
        scale: 0;
        right: 17px;
        transition: scale .15s linear;
        transform-origin: left bottom;
      }

.formWall .formInput .input input{
        position: relative;
        z-index: 1;
        padding-right: 3em;
      }

.formWall .formInput .input:has(.is-valid)::before{
        scale: 1;
      }

.formWall .formBox{
    display: grid;
    grid-template-columns: 239px 1fr;
  }

.formWall .formBox .title{
      padding-right: 19px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 1.6rem;
      line-height: 1;
      font-weight: 700;
      text-align: left;
    }

.formWall .formBox .title .hissu{
        font-size: 1.3rem;
        font-weight: 700;
        color: #fff;
        background: #708AAD;
        background: var(--color-primary);
        line-height: 1;
        width:40px;
        height:25px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 3px;
      }

.formWall .formBoxMessage .title{
      align-self: start;
      margin-top: .5em;
    }

.formWall .formBox + .formBox{
    margin-top:  30px;
  }

.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.6;
    border: 1px solid #AAAAAA;
    background: #fff;
    border-radius: 6px;
    padding: 26px 5px 7px 32px;
    
  }

.formWall .privacy .inner{
      padding: 0 20px 20px 0;
      height: 110px;
      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(--color-primary);
        border-radius: 7px;
      }

.formWall .privacy .privacyContent h2{
        font-size: 1.8rem;
        margin-bottom: .8em;
      }

.formWall .privacy .privacyContent h3{
        font-size: 1.6rem;
        font-weight: 700;
      }

.formWall .privacy .privacyContent >* + *{
        margin-top: 1em;
      }

.formWall .privacy .privacyContent >h3 + *{
        margin-top: .5em;
      }

.formWall .privacy .privacyContent ul li{
          text-indent: -1em;
          margin-left: 1em;
        }

.formWall .privacy .privacyContent ul li::before{
            content: '・';
          }

.formWall .privacy .privacyContent ol{
        counter-reset: my-counter;
      }

.formWall .privacy .privacyContent ol li{
          text-indent: -1.8em;
          margin-left: 1.8em;
        }

.formWall .privacy .privacyContent ol li::before{
            content: counter(my-counter)'.';
            counter-increment: my-counter;
            margin-right:1em;
          }

.formWall .privacy .privacyContent ol li ol{
            padding: 1em 0;
          }

.formWall .accept{
    text-align: center;
    margin-top: 36px;
    font-size: 1.6rem;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }

.formWall .accept label{
      padding-left: 7px;
    }

.formWall .accept input{
      width: 21px;
      height: 21px;
      margin: 0;
      accent-color: #708AAD;
      accent-color: var(--color-primary);
    }

.formWall .formBtn{
    width: 240px;
    height: 65px;
    margin: 50px auto 0;
    position: relative;
    display: block;
    line-height: 1;
    cursor: pointer;
    background: #708AAD;
    background: var(--color-primary);
    border-radius: 3px;
    transition: background-color .2s;
  }

.formWall .formBtn:disabled{
      opacity: .5;
    }

.formWall .formBtn >span{
      position: relative;
      z-index: 3;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2.2rem;
      letter-spacing: .1em;
      color: #fff;
    }

.formWall .formBtn >span::after{
        content: '';
        background: url('../img/arrow-right-circle-fill.svg') no-repeat center center / contain;
        width: 20px;
        height: 20px;
        flex-shrink: 0;
        margin-left: 11px;
      }

@media (hover:hover) {
      .formWall .formBtn:hover{
        opacity: .8;
      }
        .formWall .formBtn:hover:disabled{
          opacity: .5;
        }
      
    }

/* 送信エラー */

.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;
  }

/* 送信OK */

.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;
  }

/* レイアウト */

.formWall{
  max-width: 961px;
  margin-inline:auto;
}

.formWrapper{
  position: relative;
  display: flex;
  gap:0 23px;
  margin-right: -162px;
}

.formWrapper .requiredFieldsTotal{
    position: sticky;
    top: 100px;
    width: 139px;
    height: 105px;
    border-radius: 4px;
    background: #708AAD;
    background: var(--color-primary);
    color: #fff;
    text-align: center;
    gap:5px 0;
    font-size: 1.5rem;
    line-height: 1;
    
  }

.formWrapper .requiredFieldsTotal::before{
      content: '';
      width: 16px;
      height: 15px;
      background: url('../img/fukidashi_form.svg') no-repeat center center / contain;
      position: absolute;
      left: -12px;
      bottom: 30px;
    }

.formWrapper .requiredFieldsTotal .inner{
      height: 100%;
      display: flex;
      flex-flow: column;
      justify-content: center;
      align-items: center;
    }

.formWrapper .requiredFieldsTotal .inner >span:first-child{
        letter-spacing: .27em;
        margin-bottom: .5em;
      }

.formWrapper .requiredFieldsTotal strong{
      font-size: 5rem;
      padding: 0 10px;
      font-weight: 500;
    }

.formWrapper .requiredFieldsTotalFix{
    position: sticky;
    margin-top: 0;
  }

.formWrapper .formBoxLeft{
    width: 800px;
  }

@media only screen and (max-width: 767px) {
      .formWall .formInput select,
      .formWall .formInput input[type="text"],
      .formWall .formInput input[type="tel"],
      .formWall .formInput input[type="email"]{
        height: calc(calc(43/390) * 100vw);
        line-height: calc(calc(43/390) * 100vw);
        border: calc(calc(1/390) * 100vw) solid #AAAAAA;
        border-radius: calc(calc(6/390) * 100vw);
        font-size: 16px;
      }
      .formWall .formInput select{
        background: url('../img/select_arrow.svg') no-repeat calc(100% - calc(calc(11/390) * 100vw)) center / calc(calc(11/390) * 100vw) auto;
        background-color: #F9F9F9;
        padding-right: calc(calc(40/390) * 100vw);
      }
      .formWall .formInput textarea{
        border: calc(calc(1/390) * 100vw) solid #AAAAAA;
        border-radius: calc(calc(6/390) * 100vw);
        height: calc(calc(104/390) * 100vw);
      }
      .formWall .formInput input.is-valid,
      .formWall .formInput select.is-valid,
      .formWall .formInput textarea.is-valid{
        border: calc(calc(2/390) * 100vw) solid #0E9A7A;
      }
        .formWall .formInput .input input{
          padding-right: 2em;
        }
        .formWall .formInput .input::before{
          width: calc(calc(14/390) * 100vw);
          height: calc(calc(14/390) * 100vw);
          right: calc(calc(11/390) * 100vw);
        }
    .formWall .formBox{
      display: grid;
      grid-template-columns: calc(calc(140/390) * 100vw) 1fr;
    }
      .formWall .formBox .title{
        padding-right: calc(calc(9/390) * 100vw);
        font-size: 1.55rem;
        line-height: 1.25;
      }
        .formWall .formBox .title .hissu{
          width:calc(calc(40/390) * 100vw);
          height:calc(calc(23/390) * 100vw);
          border-radius: calc(calc(3/390) * 100vw);
        }
      .formWall .formBox .inputBox{
        align-self: center;
      }
      .formWall .hakenBox .fontM{
        letter-spacing: -.05em;
      }
    .formWall .formBox + .formBox{
      margin-top:  calc(calc(30/390) * 100vw);
    }
  
    .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 .privacyContent h2{
          font-size: 1.6rem;
        }
        .formWall .privacy .privacyContent h3{
          font-size: 1.5rem;
        }
    .formWall .accept{
      text-align: left;
      margin-top: calc(calc(23/390) * 100vw);
      align-items: flex-start;
    }
      .formWall .accept label{
        padding-left: calc(calc(9/390) * 100vw);
        line-height: 1.68;
      }
      .formWall .accept input{
        width: calc(calc(21/390) * 100vw);
        height: calc(calc(21/390) * 100vw);
      }
    .formWall .formBtn{
      width: calc(calc(240/390) * 100vw);
      height: calc(calc(65/390) * 100vw);
      margin: calc(calc(13/390) * 100vw) auto 0;
    }
        .formWall .formBtn >span::after{
          width: calc(calc(20/390) * 100vw);
          height: calc(calc(20/390) * 100vw);
          margin-left: calc(calc(11/390) * 100vw);
        }
    /* 送信エラー */
    .formWall .sendError{
      font-size: 1.4rem;
    }
    /* 送信OK */
    .formWall .sendOK{
      font-size: 1.4rem;
    }
  /* レイアウト */
  .formWall{
    max-width: calc(calc(350/390) * 100vw);
  }
  .formWrapper{
    position: relative;
    display: flex;
    gap:0 23px;
    margin-right: 0;
    
  }
  .spTotalShow{
    height: calc(calc(69/390) * 100vw);
    display: block;
    margin: calc(calc(29/390) * 100vw) 0 calc(calc(31/390) * 100vw)
  }
  .formInput{
    position: relative;
  }
    .formInput .requiredFieldsTotalSP{
      position: absolute;
      bottom: 0;
      right: 0;
      z-index: 10;
      width: 100vw;
      height: calc(calc(69/390) * 100vw);
      border-radius: 0;
      font-size: 1.6rem;
      line-height: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #708AAD;
      background: var(--color-primary);
      color: #fff;
    }
      .formInput .requiredFieldsTotalSP .inner{
        display: flex;
        gap:0 calc(calc(14/390) * 100vw);
        flex-flow: row;
        align-items: baseline;
      }
        .formInput .requiredFieldsTotalSP .inner >span:first-child{
          letter-spacing: .25em;
        }
        .formInput .requiredFieldsTotalSP .inner >span{
          display: inline-flex;
          align-items: center;
        }
      .formInput .requiredFieldsTotalSP strong{
        font-size: 4rem;
        padding: 0 calc(calc(10/390) * 100vw);
        font-weight: 500;
      }
    .formInput .requiredFieldsTotalShow{
      position: fixed;
    }
    .formInput .requiredFieldsTotalStop{
      position: absolute;
      right: calc(-1 * calc(calc(20/390) * 100vw));
    }
}

/* vue用 */

.fade-enter-active, .fade-leave-active {
  transition: opacity .4s;
}

.fade-enter-from, .fade-leave-to{
  opacity: 0;
}

/* ==========================================================================
  ロード関連
========================================================================== */

.loading{
  margin-top: 50px;
  max-width: 800px;;
  position: relative;
}

.loading::before{
    position: absolute;
    top:50%;
    left:50%;
    margin:-24px 0 0 -24px;
    width: 48px;
    height: 48px;
    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%;
}

body {
	font-family: 'Noto Sans','Noto Sans JP','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
	font-feature-settings : 'pkna';
	font-optical-sizing: auto;
	color:#111111;
	color:var(--color);
	text-align: justify;
	text-justify: inter-ideograph;
	width:100%;
  min-width: 1140px;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.3;
}

img{
	vertical-align:bottom;
  max-width: 100%;
	height: auto;
  backface-visibility: hidden;
}

a{
	color:#111111;
	color:var(--color);
	text-decoration: none;
	display: inline-block;
}

a:hover{
		opacity: .8;
	}

.spShow{
	display: none;
}

.pcShow{
	display: inline-block;
}

.pageContainer{
	min-height: 100vh;
}

/* ==========================================================================
   ヘッダー
========================================================================== */

.mainHeader{
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 1140px;
	height: 67px;
	padding-left:13px;
	background: transparent;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: background-color .2s;
}

.mainHeader h1{
		line-height: 1;
    font-size: 1rem;
	}

.mainHeader .contactBtn{
		width: 214px;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 400;
		font-size: 1.7rem;
		padding: 0 13px;
		background: #708AAD;
		background: var(--color-primary);
		color: #fff;
	}

.mainHeader .contactBtn::before{
			content: '';
			background: url('../img/icon_mail.svg') no-repeat center center / contain;
			width: 21px;
			height: 16px;
			flex-shrink: 0;
			margin-right: 13px;
		}

.headerFixd{
	background: #708AAD;
	background: var(--color-primary);
}

.headerFixd .contactBtn{
		justify-content: flex-end;
	}

/* ==========================================================================
   mainFooter
========================================================================== */

.mainFooter{
	margin-top: 100px;
	background: #111111;
	color: #fff;
	overflow: hidden;
}

.mainFooter .footerInner{
		width: min(calc(100% - 40px),1300px);
		margin: 0 auto;
		display: grid;
		grid-template-columns: 1fr 190px;
		grid-template-rows: auto 1fr;
		gap:0 50px;
	}

.mainFooter .companyInfo{
		grid-column: 1;
		grid-row: 1;
		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: 400;
		}

.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;
		}

.mainFooter .companyInfo .addr a{
				color: #708AAD;
				color: var(--color-primary);
				text-decoration: underline;
			}

.mainFooter .companyInfo .kyoka{
			grid-column: 3;
			grid-row: 1;
			justify-self: end;
			font-size: 1.3rem;
			line-height: 1.53;
			color: #999999;
		}

.mainFooter .pagetop{
		grid-column: 2;
		grid-row: 1 / 3;
		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;
			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: 2;
		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 .privacy{
			font-size: 1.2rem;
			letter-spacing: .1em;
			color: #fff;
		}

/* ==========================================================================
   .mv
========================================================================== */

.mv{
	width: 100%;
	height: 768px;
	position: relative;
	z-index: 1;
}

.mv .inner{
		height: 100%;
		overflow: hidden;
		display: flex;
		flex-flow: column;
		align-items: center;
		justify-content: center;
		position: relative;
		z-index: 1;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		background-image: -webkit-image-set(
      url('../img/mv_img.jpg') 1x,
      url('../img/mv_img@1.5x.jpg') 2x
    );
		background-image: image-set(
      url('../img/mv_img.jpg') 1x,
      url('../img/mv_img@1.5x.jpg') 2x
    );
	}

@media (min-width:1401px) {

.mv .inner{
			background-image: url('../img/mv_img@1.5x.jpg')
	}
		}

.mv .inner::before{
			content: '';
			width: 57.14%;
			height: 100%;
			background: linear-gradient(90deg,#708aad 0%, rgba(112, 138, 173, 0.88) 36.45%, rgba(112, 138, 173, 0) 100%);
			position: absolute;
			top: 0;
			left: 50%;
			translate:-100% 0;
			z-index: -1;
		}

.mv .inner::after{
			content: '';
			width: 64.42%;
			height: 36px;
			background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
			opacity: 0.7;
			position: absolute;
			bottom: 0;
			right: 0;
			z-index: -1;
		}

.mv h2{
		width: min(calc(100% - 40px),1144px);
		font-size: 6.5rem;
		font-weight: 400;
		color: #fff;
		line-height: 1;
	}

.mv h2 span{
			display: block;
			font-size: 9.1rem;
			font-weight: 700;
			margin-bottom: 13px;
		}

.mv .free{
		position: absolute;
		bottom: 20px;
		left: 50%;
		translate:-50% 0;
		z-index: 1;
		width: min(calc(100% - 40px),1368px);
		height: 56px;
		display: flex;
		justify-content: flex-end;
	}

.mv .free span{
			width: 451px;
			height: 100%;
			background: #fff;
			color: #708AAD;
			color: var(--color-primary);
			border-radius: 3px;
			font-size: 2.6rem;
			letter-spacing: .4em;
			font-weight: 700;
			display: grid;
			place-content:center;
		}

.mv .logo{
		position: absolute;
		bottom: -61px;
		left: 50%;
		margin-left: -674px;
		z-index: 1;
		width: 858px;
	}

/* ==========================================================================
   医局長の皆様の
パートナーとして
========================================================================== */

.messageSec{
	background: #708AAD;
	background: var(--color-primary);
	padding: 110px 0;
}

.messageSec .inner{
		width: min(100%,1400px);
		margin: 0 auto;
		display: grid;
		grid-template-columns: minmax(500px,654px) minmax(420px,1fr);
		gap: 0 calc(calc(113/1400) * 100%);
	}

.messageSec .textBox{
		grid-column: 2;
		grid-row: 1;
		align-self: center;
		color: #fff;
		padding-right: 20px;
	}

.messageSec .textBox h2{
			font-size: 4rem;
			line-height: 1.25;
			letter-spacing: .1em;
			font-weight: 400;
			margin-bottom: 15px;
			font-feature-settings:normal;
		}

.messageSec .textBox p{
			font-size: 1.6rem;
			line-height: 1.65;
			max-width: 460px;
		}

.messageSec .imgBox{
		grid-column: 1;
		grid-row: 1;
		align-self: center;
		position: relative;
		z-index: 1;
	}

.messageSec .imgBox figcaption{
			width: 223px;
			height: 173px;
			position: absolute;
			z-index: 1;
			top: 50%;
			translate:0 calc(-1 * calc(50% - 5px));
			right:-30px;
			display: flex;
			justify-content: center;
			align-items: center;
			flex-flow: column;
			line-height: 1.57;
		}

.messageSec .imgBox figcaption::before{
				content: '';
				background: url('../img/shadow.svg') no-repeat center center / contain;
				width: 29px;
				height: 13px;
				position: absolute;
				right: 1px;
				bottom: -11px;
				z-index: -2;
			}

.messageSec .imgBox figcaption::after{
				content: '';
				width: 100%;
				height: 100%;
				border-radius: 5px;
				background: #fff;
				position: absolute;
				top: 0;
				left: 0;
				z-index: -1;
			}

.messageSec .imgBox figcaption .name{
				font-size: 2.6rem;
				display: block;
			}

.messageSec .imgBox figcaption .post{
				margin-top: 4px;
				font-size: 1.4rem;
				display: block;
			}

/* ==========================================================================
   secTitle
========================================================================== */

.secTitle{
	text-align: center;
	font-size: 4rem;
	font-weight: 400;
	line-height: 1.5;
}

.secTitle::after{
		content: attr(data-en);
		display: block;
		color: #708AAD;
		color: var(--color-primary);
		font-size: 1.8rem;
		line-height: 1;
		font-family: "futura-pt", sans-serif;
	}

/* ==========================================================================
   当サービス４つの特徴
========================================================================== */

.feature{
	 margin: 65px auto 0;
	 max-width: 1100px;
}

.feature .secTitle{
		margin-bottom: 52px;
	}

.feature .row{
		display: grid;
		grid-template-columns: 1fr 1fr;
		border: 1px solid #F7F7F7;
		position: relative;
	}

.feature .row::before{
			content: '';
			width: 1px;
			height: 100%;
			border-left: 1px dashed #707070;
			position: absolute;
			top: 0;
			left: 50%;
		}

.feature .featureSec{
		padding: 50px 45px;
		position: relative;
	}

.feature .featureSec::after{
			content: attr(data-num);
			font-size: 20rem;
			letter-spacing: -.1em;
			color: #708AAD;
			color: var(--color-primary);
			opacity: .1;
			position: absolute;
			top: 50%;
			translate:0 -50%;
			font-family: "futura-pt", sans-serif;
		}

.feature .featureSec h2{
			font-size: 2.6rem;
			line-height: 1;
			margin-bottom: 12px
		}

.feature .featureSec p{
			line-height: 1.6;
		}

.feature .featureSec1{
		position: relative;
	}

.feature .featureSec1::before{
			content: '';
			width: 1100px;
			height: 0;
			border-bottom: 1px dashed #707070;
			position: absolute;
			bottom: -1px;
			left: 0;
		}

.feature .featureSec1::after{
			right:0;
		}

.feature .featureSec2::after{
			right: 0.01em;
		}

.feature .featureSec3::after{
			right: 0.01em;
		}

.feature .featureSec4::after{
			right: 0.05em;
		}

/* ==========================================================================
   ご利用の流れ
========================================================================== */

.flow{
	margin: 65px auto 0;
	max-width: 1100px;
}

.flow .secTitle{
		margin-bottom: 31px;
	}

.flow .toptext{
		text-align: center;
		line-height: 1.5;
		font-size: 1.6rem;
	}

.flow ol{
		margin-top: 44px;
		display: grid;
		grid-template-columns: repeat(4,1fr);
	}

.flow ol .bkText{
			height: 320px;
			display: grid;
			place-content:center;
			font-size: 2rem;
			font-weight: 700;
			color: #fff;
			background-repeat: no-repeat;
			background-position: center center;
			background-size: contain;
			border-radius: 5px;
		}

.flow ol .text{
			margin-top: 20px;
			font-size: 1.7rem;
			line-height: 1.4;
			text-align: center;
		}

.flow ol li:nth-child(1) .bkText{
				background-image: -webkit-image-set(
					url('../img/flow_img1.jpg') 1x,
					url('../img/flow_img1@2x.jpg') 2x
				);
				background-image: image-set(
					url('../img/flow_img1.jpg') 1x,
					url('../img/flow_img1@2x.jpg') 2x
				);
			}

.flow ol li:nth-child(2) .bkText{
				background-image: -webkit-image-set(
					url('../img/flow_img2.jpg') 1x,
					url('../img/flow_img2@2x.jpg') 2x
				);
				background-image: image-set(
					url('../img/flow_img2.jpg') 1x,
					url('../img/flow_img2@2x.jpg') 2x
				);
			}

.flow ol li:nth-child(3) .bkText{
				background-image: -webkit-image-set(
					url('../img/flow_img3.jpg') 1x,
					url('../img/flow_img3@2x.jpg') 2x
				);
				background-image: image-set(
					url('../img/flow_img3.jpg') 1x,
					url('../img/flow_img3@2x.jpg') 2x
				);
			}

.flow ol li:nth-child(4) .bkText{
				background-image: -webkit-image-set(
					url('../img/flow_img4.jpg') 1x,
					url('../img/flow_img4@2x.jpg') 2x
				);
				background-image: image-set(
					url('../img/flow_img4.jpg') 1x,
					url('../img/flow_img4@2x.jpg') 2x
				);
			}

/* ==========================================================================
   よくいただくご質問
========================================================================== */

.faq{
	margin-top: 73px;
	background: #708AAD;
	background: var(--color-primary);
	padding: 65px 0;
}

.faq .secTitle{
		color: #fff;
		margin-bottom: 33px;
	}

.faq .secTitle::after{
			color: #B6C7DE;
		}

.faq .row{
		max-width: 1100px;
		margin: 0 auto;
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap: 0 31px;
	}

.faq .faqBox header{
			background: #fff;
			border-radius: 7px;
			padding: 13px;
			display: grid;
			palce-content:cnter;
			position: relative;
			margin-bottom: 13px;
		}

.faq .faqBox header::before{
				content: '';
				width: 13px;
				height: 9px;
				background: url('../img/fukidashi.svg') no-repeat center center / contain;
				position: absolute;
				bottom: -9px;
				left: 37px;
			}

.faq .faqBox header h2{
				text-align: center;
				font-size: 2.5rem;
				letter-spacing: .3em;
				line-height: 1.2;
				font-weight: 400;
			}

.faq .faqBox p{
			color: #fff;
			line-height: 1.5;
		}

.faq .faqBox p::before{
				content: '';
				width: 100%;
				height: 168px;
				background-repeat: no-repeat;
				background-position: center center;
				background-size: contain;
				display: block;
				margin-bottom: 20px;
				border-radius: 5px;
			}

.faq .faqBox1 p::before{
				background-image: -webkit-image-set(
					url('../img/faq_img1.jpg') 1x,
					url('../img/faq_img1@2x.jpg') 2x
				);
				background-image: image-set(
					url('../img/faq_img1.jpg') 1x,
					url('../img/faq_img1@2x.jpg') 2x
				);
			}

.faq .faqBox2 p::before{
				background-image: -webkit-image-set(
					url('../img/faq_img2.jpg') 1x,
					url('../img/faq_img2@2x.jpg') 2x
				);
				background-image: image-set(
					url('../img/faq_img2.jpg') 1x,
					url('../img/faq_img2@2x.jpg') 2x
				);
			}

.faq .faqBox3 p::before{
				background-image: -webkit-image-set(
					url('../img/faq_img3.jpg') 1x,
					url('../img/faq_img3@2x.jpg') 2x
				);
				background-image: image-set(
					url('../img/faq_img3.jpg') 1x,
					url('../img/faq_img3@2x.jpg') 2x
				);
			}

/* ==========================================================================
   これまでの
外勤先ご紹介事例
========================================================================== */

.case{
	margin-top: 65px;
}

.case .secTitle{
		max-width: 1100px;
		margin: 0 auto 52px;
		text-align: left;
		line-height: 1.25;
	}

.case .caseSec{
		width: min(calc(100% - 40px),1400px);
		margin: 0 auto;
		display: grid;
		grid-template-columns: 100%;
		grid-template-rows: auto;
	}

.case .caseSec .textBox{
			grid-column: 1;
			grid-row: 1;
			z-index: 2;
			align-self: center;
			max-width: 680px;
			padding: 53px 35px 53px 60px;
			background: #fff;
		}

.case .caseSec .textBox header{
				display: flex;
				align-items: center;
				margin-bottom: 28px;
			}

.case .caseSec .textBox header .num{
					flex-shrink: 0;
					display: inline-flex;
					align-items: center;
					color: #708AAD;
					color: var(--color-primary);
					font-weight: 700;
					line-height: 1;
				}

.case .caseSec .textBox header .num::after{
						content: '';
						width: 1px;
						height: 36px;
						background: #707070;
						margin-left: 12px;
						flex-shrink: 0;
					}

.case .caseSec .textBox header .fontFP{
					font-size: 5rem;
					font-weight: 600;
					margin-left: 5px;
				}

.case .caseSec .textBox header h2{
					margin-left: 24px;
					font-size: 1.8rem;
					font-weight: 700;
					line-height: 1.38;
				}

.case .caseSec .textBox >p{
				padding: 0 10px 0 41px;
				line-height: 1.73;
			}

.case .caseSec .imgBox{
			grid-column: 1;
			grid-row: 1;
			z-index: 1;
		}

.case .caseSec1 .textBox{
			justify-self: end;
		}

.case .caseSec2{
		margin-top: 70px;
	}

.case .caseSec2 .textBox h2{
				font-feature-settings : 'pkna';
			}

.case .caseSec2 .imgBox{
			justify-self: end;
		}

/* ==========================================================================
   医局長・医局の皆さまへ
========================================================================== */

.messageSec2{
	margin-top: 70px;
	padding: 54px 0;
	background: url('../img/message2_bk.jpg') no-repeat center center / cover;
}

.messageSec2 .imgBox::before{
			content: '';
			width: 644px;
			height: 106px;
			background-repeat: no-repeat;
			background-position: center center;
			background-size: cover;
			background-image: -webkit-image-set(
				url('../img/message2_logo.png') 1x,
				url('../img/message2_logo@2x.png') 2x
			);
			background-image: image-set(
				url('../img/message2_logo.png') 1x,
				url('../img/message2_logo@2x.png') 2x
			);
			position: absolute;
			bottom: -53px;
			left: 30px;
		}

/* ==========================================================================
   お問い合わせ
========================================================================== */

.contactForm{
	margin-top: 65px;
}

.contactForm >h2{
		font-size: 3rem;
		line-height: 1;
		font-weight: 400;
		text-align: center;
		letter-spacing: .1em;
	}

.contactForm >h2 span{
			font-size: 4rem;
		}

.contactForm .phoneNumber{
		margin-top: 38px;
		text-align: center;
	}

.contactForm .phoneNumber a{
			min-width: 600px;
			min-height: 74px;
			border: 1px dashed #707070;
			border-radius: 7px;
			padding: 15px;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 0 13px;
			font-size: 2rem;
			line-height: 1;
		}

.contactForm .phoneNumber .number{
			display: inline-flex;
			align-items: center;
			font-size: 3rem;
			font-weight: 900;
			color: #708AAD;
			color: var(--color-primary);
		}

.contactForm .phoneNumber .number::before{
				content: '';
				width: 22px;
				height: 22px;
				background: url('../img/phone_icon.svg') no-repeat center center / contain;
				flex-shrink: 0;
				margin-right: 7px;
			}

.contactForm .oneMin{
		width: 194px;
		height: 37px;
		border-radius: 3px;
		background: #708AAD;
		background: var(--color-primary);
		display: grid;
		place-content:center;
		color: #fff;
		font-size: 1.6rem;
		letter-spacing: .05em;
		margin: 35px auto 0;
	}

.contactForm .note{
		margin-top: 20px;
		text-align: center;
	}

.formWall{
	margin-top: 40px;
}

/* ==========================================================================
   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;
}
/* ==========================================================================
   ヘッダー
========================================================================== */
.mainHeader{
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	width: 100%;
	min-width: 0;
	height: calc(calc(67/390) * 100vw);
	padding-left:calc(calc(13/390) * 100vw);
	background: #708AAD;
	background: var(--color-primary);
	transition: none;
}
	.mainHeader h1{
		width: calc(calc(158/390) * 100vw);
	}
		.mainHeader h1 a{
			display: block;
		}
	.mainHeader .contactBtn{
		width: auto;
		height: 100%;
		padding: 0 calc(calc(13/390) * 100vw) 0 0;
		background: #708AAD;
		background: var(--color-primary);
	}
		.mainHeader .contactBtn::before{
			width: calc(calc(21/390) * 100vw);
			height: calc(calc(16/390) * 100vw);
			margin-right: calc(calc(13/390) * 100vw);
		}
/* ==========================================================================
   mainFooter
========================================================================== */
.mainFooter{
	margin-top: calc(calc(67/390) * 100vw);
}
	.mainFooter .footerInner{
		width: calc(calc(360/390) * 100vw);
		grid-template-columns: 100%;
		grid-template-rows: auto auto 1fr;
		gap:0;
	}
	.mainFooter .companyInfo{
		grid-column: 1;
		grid-row: 1;
		margin-top: calc(calc(51/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 .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;
			font-size: 1.1rem;
		}
		.mainFooter .endBox .privacy{
			display: none;
		}
/* ==========================================================================
   .mv
========================================================================== */
.mv{
	width: 100%;
	height: calc(calc(755/390) * 100vw);
}
	.mv::after{
		content: '';
		width: 100%;
		height: calc(calc(208/390) * 100vw);
		background: linear-gradient(0deg,#708aad 0%, rgba(112, 138, 173, 0.88) 55.66%, rgba(112, 138, 173, 0) 100%);
		position: absolute;
		bottom: calc(-1 * calc(calc(111/390) * 100vw));
		right: 0;
		z-index: 1;
	}
	.mv .inner{
		justify-content: flex-start;
		position: relative;
		z-index: 2;
		padding-top: calc(calc(199/390) * 100vw);
		background: url('../img/sp_mv_img.jpg') no-repeat center calc(calc(254/390) * 100vw) / 100% auto;
	}
		.mv .inner::before{
			width: 100%;
			height: calc(calc(494/390) * 100vw);
			background: linear-gradient(#708aad 0%, rgba(112, 138, 173, 0.88) 55.66%, rgba(112, 138, 173, 0) 100%);
			position: absolute;
			top: 0;
			left: 0;
			translate:0 0;
		}
		.mv .inner::after{
			display: none;
		}
	.mv h2{
		width: auto;
		font-size: 4.2rem;
	}
		.mv h2 span{
			font-size: 5.9rem;
			margin-bottom: calc(calc(5/390) * 100vw);
		}
	.mv .free{
		bottom: calc(calc(40/390) * 100vw);
		left: 0;
		translate:0 0;
		width: 100%;
		height: calc(calc(49/390) * 100vw);
		justify-content: center;
	}
		.mv .free span{
			width: 100%;
			height: 100%;
			background: rgba(255, 255, 255, 0.88);
			color: #708AAD;
			color: var(--color-primary);
			border-radius: 0;
			font-size: 2.2rem;
		}
	.mv .logo{
		width: calc(calc(385/390) * 100vw);
		position: absolute;
		left: calc(calc(2.5/390) * 100vw);
		bottom: calc(-1 * calc(calc(33/390) * 100vw));
		margin-left: 0;
		z-index: 3;
	}
/* ==========================================================================
   医局長の皆様の
パートナーとして
========================================================================== */
.messageSec{
	background: #708AAD;
	background: var(--color-primary);
	padding: calc(calc(80/390) * 100vw) 0 0;
}
	.messageSec .inner{
		width: calc(calc(350/390) * 100vw);
		grid-template-columns: 100%;
		grid-template-rows: auto 1fr;
		gap: calc(calc(15/390) * 100vw) 0;
		position: relative;
		z-index: 3;
	}
	.messageSec .textBox{
		grid-column: 1;
		grid-row: 1;
		align-self: start;
		padding-right: 0;
	}
		.messageSec .textBox h2{
			font-size: 3.9rem;
			line-height: 1.25;
			letter-spacing: .1em;
			margin-bottom: 15px;
			font-feature-settings:normal;
		}
		.messageSec .textBox p{
			font-size: 1.5rem;
			line-height: 1.73;
			max-width: none;
		}
	.messageSec .imgBox{
		grid-column: 1;
		grid-row: 2;
		width: calc(calc(343/390) * 100vw);
		margin-left: calc(-1 * calc(calc(20/390) * 100vw));
	}
		.messageSec .imgBox img{
			border-radius: 0 calc(calc(5/390) * 100vw) 0 0;
			overflow: hidden;
		}
		.messageSec .imgBox figcaption{
			width: calc(calc(173/390) * 100vw);
			height: calc(calc(113/390) * 100vw);
			right:calc(-1 * calc(calc(37/390) * 100vw));
			line-height: 1.66;
		}
			.messageSec .imgBox figcaption::before{
				background: url('../img/sp_shadow.svg') no-repeat center center / contain;
				width: calc(calc(36/390) * 100vw);
				height: calc(calc(13/390) * 100vw);
				position: absolute;
				right: calc(calc(1/390) * 100vw);
				bottom: calc(-1 * calc(calc(10/390) * 100vw));
				z-index: -2;
			}
			.messageSec .imgBox figcaption::after{
				border-radius: calc(calc(5/390) * 100vw);
			}
			.messageSec .imgBox figcaption .name{
				font-size: 2.2rem;
			}
			.messageSec .imgBox figcaption .post{
				margin-top: 0;
				font-size: 1.2rem;
			}
/* ==========================================================================
   secTitle
========================================================================== */
.secTitle{
	font-size: 3.5rem;
}
/* ==========================================================================
   当サービス４つの特徴
========================================================================== */
.feature{
	 margin: calc(calc(46/390) * 100vw) auto 0;
	 max-width: none;
}
	.feature .secTitle{
		margin-bottom: 0;
	}
	.feature .row{
		grid-template-columns: 100%;
		border: none;
	}
		.feature .row::before{
			display: none;
		}
	.feature .featureSec{
		overflow: hidden;
		padding: calc(calc(50/390) * 100vw) calc(calc(20/390) * 100vw);
		border-bottom: calc(calc(1/390) * 100vw) dashed #707070;
	}
		.feature .featureSec::after{
			letter-spacing: -.07em;
		}
		.feature .featureSec h2{
			margin-bottom: calc(calc(12/390) * 100vw);
		}
		.feature .featureSec1::before{
			display: none;
		}
		.feature .featureSec1::after{
			right: -.07em;
		}
		.feature .featureSec2::after{
			right: -.02em;
		}
		.feature .featureSec3::after{
			right: -.02em;
		}
	.feature .featureSec4{
		border-bottom: none;
	}
		.feature .featureSec4::after{
			right: 0;
		}
/* ==========================================================================
   ご利用の流れ
========================================================================== */
.flow{
	margin: calc(calc(83/390) * 100vw) auto 0;
	max-width: none;
}
	.flow .secTitle{
		margin-bottom: calc(calc(29/390) * 100vw);
	}
	.flow .toptext{
		width: calc(calc(350/390) * 100vw);
		margin: 0 auto;
		line-height: 1.6;
		font-size: 1.5rem;
		text-align: justify;
	}
	.flow ol{
		margin-top: calc(calc(41/390) * 100vw);
		grid-template-columns: repeat(2,1fr);
		gap:calc(calc(15/390) * 100vw) calc(calc(10/390) * 100vw);
	}
		.flow ol .bkText{
			height: calc(calc(241/390) * 100vw);
			border-radius: calc(calc(5/390) * 100vw);
			position: relative;
		}
			.flow ol .bkText::after{
				font-size: 6rem;
				letter-spacing: -.07em;
				color: #FFFFFF;
				opacity: .26;
				position: absolute;
				bottom: -.13em;
				right: 0;
				font-family: "futura-pt", sans-serif;
				line-height: 1;
			}
		.flow ol .text{
			margin-top: calc(calc(15/390) * 100vw);
		}
			.flow ol li:nth-child(1) .bkText{
				background-image: url('../img/sp_flow_img1.jpg');
			}
				.flow ol li:nth-child(1) .bkText::after{
					content: '01';
				}
			.flow ol li:nth-child(2) .bkText{
				background-image: url('../img/sp_flow_img2.jpg');
			}
				.flow ol li:nth-child(2) .bkText::after{
					content: '02';
					right: .03em;
				}
			.flow ol li:nth-child(3) .bkText{
				background-image: url('../img/sp_flow_img3.jpg');
			}
				.flow ol li:nth-child(3) .bkText::after{
					content: '03';
					right: .03em;
				}
			.flow ol li:nth-child(4) .bkText{
				background-image: url('../img/sp_flow_img4.jpg');
			}
				.flow ol li:nth-child(4) .bkText::after{
					content: '04';
					right: .08em;
				}
/* ==========================================================================
   よくいただくご質問
========================================================================== */
.faq{
	margin-top: calc(calc(45/390) * 100vw);
	padding: calc(calc(46/390) * 100vw) 0;
}
	.faq .secTitle{
		margin-bottom: calc(calc(36/390) * 100vw);
	}
	.faq .row{
		max-width: calc(calc(346/390) * 100vw);
		grid-template-columns: 100%;
		gap: calc(calc(26/390) * 100vw) 0;
	}
		.faq .faqBox header{
			border-radius: calc(calc(7/390) * 100vw);
			padding: calc(calc(13/390) * 100vw);
			margin-bottom: calc(calc(13/390) * 100vw);
		}
			.faq .faqBox header::before{
				width: calc(calc(13/390) * 100vw);
				height: calc(calc(9/390) * 100vw);
				bottom: calc(-1 * calc(calc(9/390) * 100vw));
				left: calc(calc(37/390) * 100vw);
			}
			.faq .faqBox p::before{
				height: calc(calc(168/390) * 100vw);
				margin-bottom: calc(calc(20/390) * 100vw);
				border-radius: calc(calc(5/390) * 100vw);
			}
			.faq .faqBox1 p::before{
				background-image: url('../img/sp_faq_img1.jpg');
			}
			.faq .faqBox2 p::before{
				background-image: url('../img/sp_faq_img2.jpg');
			}
			.faq .faqBox3 p::before{
				background-image: url('../img/sp_faq_img3.jpg');
			}
/* ==========================================================================
   これまでの
外勤先ご紹介事例
========================================================================== */
.case{
	margin-top: calc(calc(46/390) * 100vw);
}
	.case .secTitle{
		max-width: calc(calc(350/390) * 100vw);
		margin: 0 auto calc(calc(30/390) * 100vw);
		line-height: 1.2;
	}
	.case .caseSec{
		width: calc(calc(370/390) * 100vw);
		margin: 0;
	}
		.case .caseSec .textBox{
			grid-column: 1;
			grid-row: 1;
			z-index: 2;
			align-self: start;
			margin-top: calc(calc(150/390) * 100vw);
			max-width: calc(calc(360/390) * 100vw);
			padding: calc(calc(31/390) * 100vw) calc(calc(17/390) * 100vw) calc(calc(25/390) * 100vw);
			background: #fff;
		}
			.case .caseSec .textBox header{
				margin-bottom: calc(calc(15/390) * 100vw);
			}
					.case .caseSec .textBox header .num::after{
						width: calc(calc(1/390) * 100vw);
						height: calc(calc(36/390) * 100vw);
						margin-left: calc(calc(10/390) * 100vw);
					}
				.case .caseSec .textBox header .fontFP{
					font-size: 3.5rem;
					margin-left: calc(calc(8/390) * 100vw);
				}
				.case .caseSec .textBox header h2{
					margin-left: calc(calc(20/390) * 100vw);
					line-height: 1.38;
					font-feature-settings : 'pkna';
				}
			.case .caseSec .textBox >p{
				width: calc(calc(316/390) * 100vw);
				padding: 0;
				font-size: 1.4rem;
				line-height: 1.78;
			}
		.case .caseSec1 .textBox{
			justify-self: start;
		}
	.case .caseSec2{
		margin: 0 0 0 auto;
	}
		.case .caseSec2 .textBox{
			justify-self: end;
			padding-left: calc(calc(27/390) * 100vw);
		}
/* ==========================================================================
   医局長・医局の皆さまへ
========================================================================== */
.messageSec2{
	margin-top: calc(calc(5/390) * 100vw);
	padding: calc(calc(48/390) * 100vw) 0;
	background: url('../img/sp_message2_bk.jpg') no-repeat center center / cover;
	overflow: hidden;
}
		.messageSec2 .textBox h2{
			line-height: 1.2;
		}
		.messageSec2 .imgBox::before{
			width: calc(calc(385/390) * 100vw);
			height: calc(calc(63/390) * 100vw);
			background: url('../img/sp_message2_logo.png') no-repeat center center / cover;
			bottom: 0;
			left: calc(calc(4/390) * 100vw);
		}
/* ==========================================================================
   お問い合わせ
========================================================================== */
.contactForm{
	margin-top: calc(calc(55/390) * 100vw);
}
	
	.contactForm >h2{
		font-size: 2.3rem;
		line-height: 1.26;
	}
		.contactForm >h2 span{
			font-size: 3rem;
		}
	.contactForm .phoneNumber{
		margin-top: calc(calc(25/390) * 100vw);
	}
		.contactForm .phoneNumber a{
			min-width: calc(calc(350/390) * 100vw);
			min-height: calc(calc(60/390) * 100vw);
			border: calc(calc(1/390) * 100vw) dashed #707070;
			border-radius: calc(calc(7/390) * 100vw);
			padding: calc(calc(12/390) * 100vw);
			gap: 0 calc(calc(13/390) * 100vw);
			font-size: 1.6rem;
		}
		.contactForm .phoneNumber .number{
			font-size: 2.2rem;
		}
			.contactForm .phoneNumber .number::before{
				width: calc(calc(18/390) * 100vw);
				height: calc(calc(18/390) * 100vw);
				margin-right: calc(calc(5/390) * 100vw);
			}
	.contactForm .oneMin{
		width: calc(calc(194/390) * 100vw);
		height: calc(calc(37/390) * 100vw);
		border-radius: calc(calc(3/390) * 100vw);
		margin: calc(calc(30/390) * 100vw) auto 0;
	}
	.contactForm .note{
		margin-top: calc(calc(20/390) * 100vw);
		line-height: 1.25;
	}
.formWall{
	margin-top: calc(calc(36/390) * 100vw);
}
/*end*/
}