@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */

html {
  font-size: 62.5%;
}

body {
  font-size: 3.6vw;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.8;
  font-weight: normal;
  max-width: 100%;
}

object {
  pointer-events: none;
}

.sp {
  display: block !important;
}

.pc {
  display: none !important;
}

a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

/* ---------------------------------------------------------------------------
  ★フォントファミリー
--------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------
  ★背景
--------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------
  ★LIST
--------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------
  ★BASE
--------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------
  ★タイトル
--------------------------------------------------------------------------- */

.tit02 {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  margin: 0 auto 35px;
}

.tit02 b {
  font-size: 5rem;
  line-height: 1.5;
  letter-spacing: 2px;
  display: inline-block;
  position: relative;
}

.tit02 span {
  color: #8c8c8c;
  font-size: 3.6vw;
  display: block;
  line-height: 1;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", cursive, sans-serif, serif;
}

/* ---------------------------------------------------------------------------
  ★テキスト
--------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------
  ★アニメーション
--------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------
  ★グローバルナビゲーション
--------------------------------------------------------------------------- */

.nav_wrp {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 3;
  display: none;
}

.nav_wrp.changed {
  display: block;
}

.nav_site {
  top: 0;
  right: -100%;
  width: 100%;
  max-width: 240px;
  height: 100%;
  padding: 100px 30px 50px;
  position: fixed;
  opacity: 0;
  -webkit-transition: 0.7s;
  transition: 0.7s;
  -webkit-transition-timing-function: cubic-bezier(0.96, -0.01, 0.08, 1);
  transition-timing-function: cubic-bezier(0.96, -0.01, 0.08, 1);
  background: rgba(0, 0, 0, 0.8);
  overflow-y: auto;
  z-index: 1;
}

.nav_site.active {
  opacity: 1;
  top: 0;
  right: 0;
}

/* =======================================
	★ページャー
========================================== */

.pager {
  width: auto;
  margin: 0 auto;
  padding-bottom: 0px;
}

.wp-pagenavi {
  clear: both;
  font-size: 14px;
  text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  width: 35px;
  height: 35px;
  line-height: 2.6;
  border: 1px solid #000000;
  -webkit-transition: ease-out 0.5s;
  transition: ease-out 0.5s;
  color: #000000;
  font-size: 14px;
  margin: 5px;
  vertical-align: top;
  padding: 0px;
  background-color: #fff;
  border-radius: 4px;
}

.wp-pagenavi span.extend {
  border: 1px solid rgba(245, 245, 245, 0);
}

.wp-pagenavi span.current {
  color: #fff;
  background-color: #000000;
  font-size: 14px;
  vertical-align: top;
  text-decoration: none;
}

#contact .popup-inner {
  padding: 40px 20px;
}
/* ---------------------------------------------------------------------------
  header
--------------------------------------------------------------------------- */

.g_nav {
  position: fixed;
  right: -100%;
  /* これで隠れる */
  top: 0;
  height: 100vh;
  background-color: #fff;
  transition: all 0.6s;
  z-index: 200;
  overflow-y: auto;
  /* メニューが多くなったらスクロールできるように */
}

.hamburger {
  position: fixed;
  right: 8px;
  width: 40px;
  /* クリックしやすいようにちゃんと幅を指定する */
  height: 40px;
  /* クリックしやすいようにちゃんと高さを指定する */
  cursor: pointer;
  z-index: 100000;
  /*999にするとバツが表示されるようになる*/
  top: 5px;
}

.hamburger__line {
  position: absolute;
  left: 11px;
  width: 22px;
  height: 3px;
  background-color: #111;
  transition: all 0.6s;
  border-radius: 50em;
}

.hamburger__line--1 {
  top: 14px;
}

.hamburger__line--2 {
  top: 20px;
}

.hamburger__line--3 {
  top: 26px;
}

.black-bg01 {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s;
  cursor: pointer;
}

/* 表示された時用のCSS */

.nav-open .g_nav {
  right: 0;
}

.nav-open .black-bg01 {
  opacity: 0.8;
  visibility: visible;
}

.nav-open .hamburger__line--1 {
  transform: rotate(45deg);
  top: 20px;
}

.nav-open .hamburger__line--2 {
  width: 0;
  left: 50%;
}

.nav-open .hamburger__line--3 {
  transform: rotate(-45deg);
  top: 20px;
}

/* アコーディオンメニュー */

.accordion-container .accordion-title02,
.accordion-title a {
  position: relative;
  margin: 0;
  padding: 0.625em 0.625em 0.625em 2em;
  /* background-color: #000; */
  font-weight: normal;
  color: #222;
  cursor: pointer;
  display: block;
}

.accordion-container .accordion-title:hover,
.accordion-container .accordion-title:active,
.accordion-container .accordion-title02:hover,
.accordion-title.open {
  /* background-color: #00aaa7; */
}

.accordion-container .accordion-title > div::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 15px;
  height: 2px;
  /*縦線に*/
  transform: rotate(90deg);
  background: #192c58;
  transition: all 0.3s ease-in-out;
}

.accordion-container .accordion-title > div::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  /*横線*/
  width: 15px;
  height: 2px;
  background: #192c58;
  transition: all 0.2s ease-in-out;
}

.accordion-container .accordion-title.open > div::before {
  transform: rotate(180deg);
}

.accordion-container .accordion-title.open > div::after {
  opacity: 0;
}

.accordion-content {
}

.accordion-content li {
  margin-bottom: 5px;
}

.accordion-container {
  width: 100%;
  margin: 0 auto;
}

.accordion-title > div {
  width: 40px;
  height: 40px;
  position: absolute;
  top: 0px;
  right: 0;
  z-index: 9;
}

.accordion-title {
  position: relative;
}

header .g_nav01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 276px;
  margin: 40px auto 0;
}

.g_nav01 li a {
  margin: 0 6px;
  width: 125px;
  display: inline-block;
}

.g_nav01 li:nth-child(3) a {
  width: 262px;
  margin-top: 11px;
}

header .g_nav02 {
  width: 266px;
  margin: 14px auto 14px;
  background: #f9f9f9;
  border-radius: 0.5em;
  padding: 0 14px 14px;
}

.g_nav02 li a {
  text-align: left;
  padding: 8px;
  border-bottom: 1px solid #ebe8e8;
  margin: 0;
  color: #192c58;
}

.g_nav02 > li li > a {
  padding: 1px 0 4px;
}

header .logo {
  width: 9.5em;
}

header .inner {
  padding: 11px 0 9px;
}

.column02_sub {
  width: 100%;
}

.column02_sub.side_login {
  transform: translate(-6%, 0);
  width: calc(100% + 12%);
  border: none;
  padding: 9px 16px 10px;
  background: #45bcd8;
}

.column02.mT30 {
  margin-top: 0 !important;
}

.bk_gry {
  padding-top: 0;
}

.column02_sub.side_login ul {
  display: flex;
  justify-content: center;
}

.column02_sub.side_login li {
  width: 46%;
}
.column02_sub.side_login li a {
  width: 100%;
  margin: 0;
  padding-top: 3px;
  padding-bottom: 0;
}

.column02_sub.side_login li:nth-child(1) {
  margin-right: 12px;
}
.column02_sub.side_login li:nth-child(1) a {
  background-position: center left 23px, 100%;
}
.column02_sub.side_login li:nth-child(2) a {
  background-position: center left 23px, 100%;
}
.column02_main {
  margin-top: 40px;
}

.bg_w,
.bg_w02 {
  padding: 20px 15px 15px;
}

.c_recruitment_c01 h2 {
  font-size: 16px;
}

.h2Tit03 {
  font-size: 18px;
  margin-bottom: 25px;
}

.home02 .u_02 li {
  /* padding: 0 30px 0px; */
  /* height: 176px;*/
  height: 270px;
  margin-bottom: 30px;
}

.home02 .u_02 li img {
  /* transform: translate(0px, -45px);*/
  transform: translate(0px, -80px);
}


.home02 .u_02 li .txt {
  transform: translate(0px, -80px);
}

.home02 .u_02 {
  /* margin-top: 43px; */
  margin-top: 50px;
}

.home02 .u_02 .f22 {
  font-size: 18px !important;
  font-weight: bold;
}

.sp_1column {
  display: block !important;
}
.sp_1column > li {
  width: 100%;
  margin-right: 0 !important;
  margin-bottom: 15px;
}

.home05.bg_orange {
  padding: 24px 20px 26px;
}

.btn01,
#js-show-popup.btn01 {
  padding: 1em 0em 0.8em 0em;
  width: 250px;
  text-align: center;
}

#home .sp_01.column02,
#home .sp_u02 {
  padding-top: 0 !important;
  margin-top: 0;
}

#home .sp_01.column02 .column02_main {
  margin-top: 24px;
}

footer .logo {
  width: 10em;
}

.f_left {
  margin-bottom: 18px;
}

footer .f_right li {
  margin-left: 0;
}

footer .f_right ul:nth-child(2) {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
  width: calc(100% + 11px);
}

footer .f_right ul:nth-child(2) li {
  width: 10em;
}

footer .f_right ul:nth-child(2) li:nth-child(2n) {
  transform: translate(7px, 0px);
}

.f_right {
}

footer .f_right li ul li:nth-child(2n) {
  width: 11em;
}

footer .f_right ul:nth-child(3) {
  display: flex;
  flex-wrap: wrap;
  margin: auto;
  justify-content: center;
}

footer .f_right ul:nth-child(3) li {
  width: 48%;
}

footer .f_right ul:nth-child(3) li:nth-child(1) {
  margin-right: 12px;
}

footer .f_right ul:nth-child(3) li:nth-child(3) {
  width: 100%;
}

.g_nav01 li:nth-child(3) a,
footer .u_btn03 {
  text-align: center;
  background-position: left 74px center;
}

.g_nav01 li:nth-child(3) a {
  text-align: center;
  background-position: left 40px center;
}

footer > div.inner {
  max-width: 320px !important;
  padding-bottom: 10px;
}

footer {
  padding-top: 25px;
}

/*-2カラム調整------------------------------------------------*/
.inpages .column02 {
  position: relative;
}
/*２columnを逆に設置（ナビが下に）*/
#recruitment_clinicaltrial .column02,
#home02 .column02,
#home03 .column02 {
  display: flex;
  flex-flow: column-reverse;
  flex-wrap: wrap;
}

#recruitment_clinicaltrial .column02_main,
#home02 .column02_main,
#home03 .column02_main {
  margin-top: 20px;
  margin-bottom: 30px;
}

/*２columnのh2タグ（ページタイトル）のみ上に*/
#news .column02,
#mypage .column02 {
  padding-top: 98px;
}
#news .mv_inpages,
#mypage .mv_inpages {
  position: absolute;
  top: 20px;
}

.mv_inpages h2 {
  font-size: 24px;
  line-height: 130%;
  position: relative;
  z-index: 100;
}

section.new_registration01 {
  margin-top: 0 !important;
}

#new_registration .mv_inpages .inner:before,
#cooperation .mv_inpages .inner:before,
#family .mv_inpages .inner:before,
#clinical_trial .mv_inpages .inner:before {
  width: 169px;
  height: 105px;
  right: 0;
  top: 25px;
}

.c_flow01 li {
  margin-top: 15px;
}

.c_flow01 li:not(:last-child) {
  margin-bottom: 50px;
}

.c_flow01 li:not(:last-child):before,
.clinical_trial01 li:not(:last-child):before {
  transform: rotate(90deg);
  right: 0;
  left: 0;
  bottom: -35px;
  top: auto;
}

.h2Tit {
  font-size: 1.6rem;
}

.inpages .bg_w02 {
  width: 100%;
  border-radius: 0;
  border-right: none;
  border-left: none;
  padding-bottom: 20px;
}
.inpages .bk_gry {
  padding-bottom: 0;
}

section.registration01 {
  margin-top: 5px !important;
}

.contactForm > table,
.contactForm tr,
.contactForm th,
.contactForm td {
  display: block;
}

.contactForm > table > tbody > tr > th,
.contactForm > table > tbody > tr > td {
  padding: 8px 10px 5px;
  width: 100%;
  border: none;
}

.contactForm > table > tbody > tr > th {
  background: #45bcd8;
  color: #fff;
}

.contactForm {
  margin-top: 10px;
}

.contactForm .u_01 td input {
  width: 6em;
}

.contactForm .u_01 tr,
.contactForm .u_02 tr {
  display: flex;
  align-items: center;
}

.contactForm .u_01 th {
  width: 5em;
  padding-right: 0;
}

.contactForm .u_01 td input:last-child {
  margin-right: 0;
}

.contactForm > table > tbody > tr > td {
  padding: 13px 10px 13px;
}

td.contact_address p input {
  width: 7em;
}

.c_registrationTable dd {
  width: calc(100% - 9em);
}
.doctor_mypage04 .c_registrationTable dd {
  width: calc(100% - 10em);
}

.sp_scrollBox {
  overflow-x: scroll;
  margin-bottom: 25px;
  scrollbar-color: #383854 #d7d7dc;
  scrollbar-width: thin;
}

.sp_scrollBox > table {
  width: 700px;
}

#doctor_mypage06 {
  padding-bottom: 25px;
}

#doctor_mypage03 {
  display: flex;
  align-items: center;
}

a.u_01_btm {
  width: 198px;
  height: 97px;
  margin-left: 10px;
}

#news .news01 a {
  display: block;
}

ul.news_btnArea a {
  width: 91px;
  font-size: 11px;
}

#news .column02_main {
  padding-bottom: 30px;
}

#recruitment_clinicaltrial .column02_sub {
  margin-bottom: 30px;
}

.sp_table01 table,
.sp_table01 tbody,
.sp_table01 th,
.sp_table01 td {
  display: block;
  width: 100%;
  font-size: 15px;
}

.sp_table01 th {
  font-weight: bold;
  color: #192c58;
}

.sp_table01 td,
.sp_table01 .sp_table01_2 {
  margin-bottom: 8px;
  border-bottom: 1px solid #e4e4e4;
  padding-bottom: 6px;
}
.sp_table01 .sp_table01_2 {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 100%;
}
.sp_table01 .sp_table01_2 td {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
  width: calc(100% - 10em);
}

.sp_table01 .sp_table01_2 th {
  width: 10em;
}

.c_anchorLink li a:before {
  top: 0;
  bottom: 0;
  right: 23px;
  left: auto;
}

.c_anchorLink li a {
  padding: 9px;
  margin-bottom: 7px;
  height: auto;
}

.clinical_trial01 .cl3_7 {
  display: block;
}

.clinical_trial01 .cl20 {
  flex-wrap: wrap;
  justify-content: center;
}

.clinical_trial01 .cl20 img {
  max-width: 143px;
  margin: auto;
}

.clinical_trial01 .cl20 li p {
  text-align: center !important;
}

.clinical_trial01 .cl20 li:not(:last-child),
.clinical_trial01 .cl33 li:not(:last-child) {
  margin-bottom: 40px;
}

.clinical_trial01 li:not(:last-child):before {
  bottom: -27px;
}

#clinical_trial02 > ul > li {
  display: block;
}

#clinical_trial02 .step {
  text-align: left;
}

#clinical_trial02 .step br {
  display: none;
}

#clinical_trial02 .step span {
  margin-left: 4px;
  font-size: 31px;
}

.clinical_trial04 .sp_table01 th {
  width: 4em;
  text-align: left;
}

.sp_table01 .sp_table01_2 td {
  width: calc(100% - 5em);
}

.clinical_trial04 .cl50 > li:nth-child(1) h3 {
  margin-bottom: 11px;
}

.clinical_trial01 span#js-show-popup {
  width: 273px;
}

.clinical_trial01 .cl33 table {
  display: block;
}

.popup-inner {
  padding: 32px 20px 20px;
  width: 90%;
}

.h_sub span {
  padding: 0 10px;
}

.h_sub span:before {
  left: -25px;
}

.h_sub span:after {
  right: -25px;
}

.bg_orange {
  padding: 15px 12px 20px;
}

.family02 .cl50 {
  width: 84%;
  margin: auto;
}

.family03 .cl33 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 22px;
}

.family03 .cl33 li {
  margin-bottom: -11px;
}

.family02 {
  width: calc(100% + 9%);
  overflow: hidden;
  transform: translate(-4%, 10px);
}

.cooperation01 .cl33 li {
  max-width: 57%;
  float: none;
  margin-right: auto !important;
  margin-left: auto;
}

.cooperation01 .cl33 li:not(:last-child) {
  margin-bottom: 40px;
}

.cooperation02 .c_flow01 li:not(:last-child) {
  margin-bottom: 26px;
  border-radius: 1em;
}

.cooperation03 .cl3_7 {
  display: block;
}
