@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Belleza&family=Noto+Sans:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{
  --fo_mincho: 'Noto Serif JP',"Hannari", serif;
  --clr_blue: #004ea2;
  --clr_cyan: #009bff;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
  color: #000;
  min-width: 340px;
}

span[lang="en"] {
  display: none;
}
@media screen and (min-width: 620px) {
  p {
    font-size: 18px;
  }
}
a {
  color: #004EA2;
  outline: none;
  text-decoration: none;
  transition: .2s;
}
input[type=radio], input[type=checkbox] {
  margin:0 5px 0 0;
  width: auto;
}
small {
  font-size: 80%;
}

em {
  font-style: normal;
  background: linear-gradient(transparent 60%, #d9eefd 60% 100%);
}

.container {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
article > section {
  padding: 60px 0;
}
a.blank::after {
  content: "";
  display: inline-block;
  background: url("../img/ico_blank.png") center center no-repeat;
  background-size: contain;
  width: 11px;
  height: 10px;
  margin-left: 10px;
}
.fo-mincho {
  font-family: 'Noto Serif JP',"Hannari", serif;
}
.fo-frei {
  font-family: freight-display-pro, serif;
  font-weight: 400;
  font-style: normal;
  line-height: .9;
}
.fo-alt {
  font-family: alternate-gothic-atf, sans-serif;
  font-weight: 400;
  font-style: normal;
}
.fo-tsuku{
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
}
.bg01 {background: #ebf6fe;}
.bg02 {background: #f2f2f2;}
.clr-blue {color:#004ea2!important}
.clr-red {color:#c1272d!important}
.fw600{font-weight: 600;}
.d-ib{
  display: inline-block;
}

/*header----------------------------*/
#header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  transition: .6s;
  background: rgba(255,255,255,1);
  z-index: 999;
  font-size: 16px;
}
#header.scrollCrass {
  background: #fff;
  box-shadow: 0px 10px 5px -12px;
}
.headerWrap {
  width: 98%;
  margin: 0 auto;
  max-width: 1800px;
  padding: 5px 0;
}
.hLft {
  min-width: 345px;
}
.hLogo img {
  max-height: 88px;
}
.hTxt {
  text-align: left;
  font-size: 14px;
  margin-left: 15px;
}
.hTxt small {
  display: block;
  font-size: 90%;
}
.hContact {gap: 16px;align-items: center;padding-bottom: 10px;}
.hTel {
  font-family: 'Belleza', serif;
  font-variant-numeric: oldstyle-nums;
  text-align: right;
  font-size:30px;
  margin-bottom: 0;
  line-height: 1.2;
  display: flex;
  align-items: center;
  gap: 10px;
}
.hTel .mTel {
  font-size: 16px!important;
}
.uketsuke {
  font-size: 14px;
}
.uketsuke b {
  border-radius: 30px;
  color: #fff;
  padding: 5px 10px 4px;
  display: inline-block;
  background: #c1272d;
  line-height: 1;
  font-size: 95%;
  margin-right: 5px;
}
.uketsuke span {
  display: inline-block;
  color: #fff;
  background: #808080;
  padding: 4px 8px 2px;
  line-height: 1.1;
  margin-right: 5px;
}
.nav {
  margin: 7px 0;
}
/* Ensure PRP menu item is positioned correctly */
/* Hide the dropdown initially */
ul.dropdown {
    display: none;
    position: absolute; /* Ensures the dropdown stays in place */
    background-color: white; /* Adjust as needed */
    list-style-type: none; /* Removes bullets */
    padding: 10px;
    margin: 0;
    border: 1px solid #ccc; /* Optional: Adds a border */
    z-index: 1000; /* Ensures it appears above other elements */
  text-align: left;
}

/* Show the dropdown when hovering over the parent <li> */
li:hover > ul.dropdown {
    display: block;
}

ul.dropdown .childTtl{
  color: #004ea2;
}

/* Style the treatment titles */
.treatment_title {
    font-weight: bold;
    margin-bottom: 5px;
}

.nav li.parent::after{
  content: "";
  width: 10px;
  aspect-ratio: 1;
  background: #004ea2 url("../img/arrow02_white.svg") 50% no-repeat;
  background-size: 44% auto;
  display: inline-block;
  border-radius: 50%;
}

/* Optional: Style links within the dropdown */
ul.dropdown a {
    color: #000; /* Adjust color as needed */
    text-decoration: none;
    display: block; /* Ensures the full area of the link is clickable */
    padding: 5px 0;
}

ul.dropdown a:hover {
    background-color: #f0f0f0; /* Highlight the link on hover */
}


.nav02 li.linenav a{
  border-radius: 30px;
  color: #fff;
  padding: 6px 15px 6px;
  background-color: #06c755;
  background-image: none;
  line-height: 1;
  font-size: 89%;
  margin-right: 5px;
  display: flex;
  align-items: center;
}
.nav02 li.linenav a:before {
  background-image: url("../img/icon_phone.svg");
    content: "";
  background-size: contain;
    width: 15px;
  height: 17px;
  margin-right: 5px;
  align-items: center;
}
nav#nav {
  flex-direction: column;
}
.nav li {
  margin-right: 7px;
  padding-right: 7px;
  font-size: 95%;
}
.nav li:last-of-type {
  border-right: none;
  padding-right: 0;
}
.nav a {
  position: relative;
  font-weight: 600;
}
.nav a::after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 3px;
  opacity: 0;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
  -webkit-transform: translateY(8px);
  -ms-transform: translateY(8px);
  transform: translateY(8px);
  margin: auto;
  background: #3fa9f5;
  height: 2px;
}

.nav a:hover::after {
  transform: translateY(6px);
  opacity: 1;
}

/* Position PRP menu item correctly */
.nav .prp {
    position: relative !important;
    z-index: 1000 !important; /* Ensure it's on top */
}

/* Ensure dropdown is just below the PRP menu item */
.nav .prp + .dropdown {
    display: none !important;
  position: absolute !important;
    top: 100% !important; /* Position it directly below the .prp item */
    left: 280px !important;
    background-color: #fff !important;
    z-index: 1001 !important; /* Higher than .prp to ensure it's on top */
    min-width: 200px !important;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175) !important;
    padding: 5px 0 !important;
    list-style: none !important;
    font-size: 14px !important;
    text-align: center !important;
  transform: translateY(-1px) !important;
}
.nav .prp + .dropdown a ::before{
  content: "▷";
}

/* Show dropdown when hovering over the PRP menu item */
.nav .prp:hover + .dropdown,
.nav .dropdown:hover {
    display: block !important;
}
.nav .prp::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 20px; /* Adjust as needed */
}
.nav, .prp {
    position: relative;
}

.nav .dropdown {
    order: 3;
}
/* Adjust positioning of .nav02 to stay behind dropdown */
.nav02 {
    position: relative !important;
    z-index: 500 !important; /* Lower z-index to ensure it stays behind dropdown */
    padding-bottom: 6px;
}

.nav02 li:not(:first-of-type) {
  margin-left: 5px
}
.nav02 a {
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  line-height: 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center!important;
  padding: 7px 10px 5px;
  border-radius: 15px;
  background: #004ea2;
}
.nav02 a::before {
  content: "";
  display: inline-block;
  background-position: center center;
    background-repeat: no-repeat;
  background-size: contain;
  width: 15px;
  height: 17px;
  margin-right: 5px;
}

.nav02 li.lne_sp,
.nav02 li.lnj_sp {
  display: none;
}
.nav02 li.lne a,
.nav02 li.lnj a,
.nav02 li.lne_sp a,
.nav02 li.lnj_sp a {
  background-color: #666;
  border-radius:5px;
}

.nav02 li.lne a[href],
.nav02 li.lnj a[href],
.nav02 li.lne_sp a[href],
.nav02 li.lnj_sp a[href] {
  background-color: #bbb;
}
.nav02 li.lne a::before,
.nav02 li.lne_sp a::before {
  background-image: url("../img/engicon.svg");
}
.nav02 li.lnj a::before,
.nav02 li.lnj_sp a::before {
  background-image: url("../img/jpicon.svg");
}
.nav02 li.nagoya_inn a {background-color: #4d4d4d}
.nav02 li.saisei_mail a::before {
  background-image: url("../img/icon_mail.svg");
}
.nav02 li.shoshin a::before {
  background-image: url("../img/icon_calender.svg");
}
.nav02 li.nagoya_inn a::before {
  background-image: url("../img/icon_japan.svg");
  width: 14px;
}
.nav02 li.access a::before6
.nav02 li.qanda a::before,
.nav02 li._07 a::before {
  background: none;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.nav02 li.access a::before {
  font: var(--fa-font-solid);
  content: "\f5a0";
  font-size: 15px;
}

.nav02 li.qanda a::before {
  font: var(--fa-font-solid);
  content: "\f059";
  font-size: 15px;
}

.nav02 li._07 a::before {
  font: var(--fa-font-solid);
  content: "\f48e";
  font-size: 15px;
}

.nav02 a[href]:hover {
  background-color: #000!important;
}
.menuBtns,.spContact {
  display: none;
}


/*footer----------------------------------------------*/
#footer {
  background: #333;
  color: #fff;
  margin-top: 50px;
}
#footer a {
  color: #fff;
}
.footWrap {
  padding: 50px 0;
  position: relative;
  text-align: left;
}
.pageTop {
  position: absolute;
  top: -20px;
  right: -20px;
  z-index: 10;
}
.pageTop img {
  max-height: 40px;
}
.fLogo {
  margin-bottom: 20px;
}
.fAdd {
  margin-bottom: 10px;
}
#footer .telNum > p {
  font-size: 29px;
  margin-right: 10px;
}
#footer .telNum > p > a{
  margin-right: 16px;
}
#footer .telNum > p >span{
  font-size: 20px;
  display: inline-block;
}
#footer .uketsuke {
  font-size: 80%;
  margin-top: 7px;
}
#footer .uketsuke span {
  background: #fff;
  color: #333;
}
.fNav {
  margin-left: 60px;
}
.fNav li {
  margin-bottom: 10px;
}
.fNav a {
  background: url("../img/nav_arrow.png") right center no-repeat;
  background-size: auto 8px;
  display: inline-block;
  padding-right: 15px;
}
.fNav a:hover {
  color: #3fa9f5!important;
}
.dmmy {
  opacity: 0!important;
  visibility: hidden;
}
.fBtnWrap {
  background: #4d4d4d;
  padding: 10px 0;
}
.fBtn li:not(:first-of-type) {
  margin-left: 15px;
}
.fBtn a {
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  line-height: 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 6px 10px 5px;
  border-radius: 15px;
  border: 1px solid #fff;
}
.fBtn a:hover {
  background-color: #000;
}
.fBtn a::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_calender.svg") center center no-repeat;
  background-size: contain;
  width: 15px;
  height: 17px;
  margin-right: 5px;
}
.fBtn li.saisei_mail a::before {
  background-image: url("../img/icon_mail.svg");
}
.fBtn li._03 a::before {
  background-image: url("../img/icon_phone.svg");
  width: 10px;
}

.fBtn li.policy a::before {
  background: none;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font: var(--fa-font-solid);
  content: "\f05a";
  font-size: 15px;
}

div.floating {
  display: none;
}

/*共通
---------------------------------------------------------*/
/* ボタン */
.c_btn_row{
  gap: 26px;
  align-items: center;
  justify-content: space-between;
  margin-top: 30px;
}
.c_btn_row .txt{
  color: var(--clr_blue);
  font-weight: 600;
  font-size: clamp(14px,1.3vw,18px);
}
.c_btn{
  margin-top: 30px;
}
.c_btn_row .c_btn{
  margin-top: 0;
}
.c_btn a {
  background-color: var(--clr_blue);
  color: #fff;
  padding: 12px 33px;
  font-size: 18px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-family: var(--fo_mincho);
  min-width: 230px;
  line-height: 1.5;
}
.c_btn a::after {
  content: "";
  display: inline-block;
  width: 6px;
  aspect-ratio: 4/6;
  background: url("../img/arrow_white.svg") center no-repeat;
  background-size: contain;
}
.c_btn._back a::after{
  display: none;
}
.c_btn._back a::before {
  content: "";
  display: inline-block;
  width: 6px;
  aspect-ratio: 4/6;
  background: url("../img/arrow_white.svg") center no-repeat;
  background-size: contain;
  transform: rotate(-180deg);
}
.c_btn._white a{
  background-color: #fff;
  color: var(--clr_blue);
}
.c_btn._white a::after{
  background-image: url("../img/arrow_blue.svg");
}
.c_btn._blank a::after {
  width: 9.4px;
  aspect-ratio: 1;
  background-image: url("../img/icon_blank.svg");
}
.c_btn a:hover{
  background-color: var(--clr_cyan);
  color: #fff;
}
.c_btn._white a:hover::after{
  background-image: url("../img/arrow_white.svg");
}

/*top----------------------------------------------*/
.top_mv{
  overflow: hidden;
  padding: 60px 0 80px;
}
.top_mv__box{
  position: relative;
}
.top_mv__ttl{
  font-size: 65px;
  margin-bottom: 25px;
  font-weight: 500;
  text-align: left;
  width: fit-content;
  margin-inline: auto;
  line-height: 1.35;
}
.top_mv__ttl span{
  font-size: 41px;
  display: block;
}
.top_mv__video {
  max-width: 618px;
  aspect-ratio: 618/342;
  margin-inline: auto;
}
.top_mv__video iframe {
  width: 100%;
  height: 100%;
}



.top_mv__txt{
  font-size: 36px;
  margin: 30px 0 50px;
}
.top_mv__img01{
  width: 540px;
  max-width: 100%;
  position: absolute;
  top: 60px;
  left: -450px;
  z-index: -1;
}
.top_mv__img02{
  width: 650px;
  max-width: 100%;
  position: absolute;
  top: 20px;
  right: -520px;
  z-index: -1;
}

/* スライド */
.top_mv__slide .slick-slider {
  opacity: 0;
  visibility: hidden;
  height: 0;
  transition: .2s;
}
.top_mv__slide .slick-slider.slick-initialized {
  opacity: 1;
  visibility: visible;
  height: auto;
}
.top_mv .top_mv__slide .slick-arrow {
  aspect-ratio: 1;
  background: #004ea2 url("../img/arrow02_white.svg") 50% 60% no-repeat;
  background-size: 44% auto;
  display: inline-block;
  border-radius: 50%;
  width: 2.2vw;
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  right: 32.4%;
  top: 42%;
  cursor: pointer;
  transition: .2s;
  z-index: 99;
  transform: rotate(-90deg);
  border: 1px solid #fff;
}
.top_mv__slide .slick-arrow.prev {
  transform: rotate(90deg);
  right: auto;
  left: 32.4%;
}
.top_mv__slide .slick-arrow:hover {
  opacity:.7;
}
.top_mv__slide .slick-dots{
  margin: 10px 0 50px;
}
.top_mv__slide .slick-dots li{
  margin: 0 14px!important;
}
.top_mv__slide .slick-dots li button::before{
  color:#e6e6e6!important;
  opacity: 1!important;
  font-size: 30px!important;
}
.top_mv__slide .slick-dots li.slick-active button:before{
  color:#808080!important;
}
.top_mv__slide{
  margin: 0 calc(-50vw + 50%);
}
.top_mv__slide li.slick-slide{
  margin: 0 25px;
}


.top_info {
  background-color: #d9eefd;
  text-align: left;
  padding: 100px 0;
}
.top_info__row {
  gap: 70px;
}
.top_info__row:nth-of-type(n+2){
  margin-top: 80px;
}
.top_info__row:nth-of-type(even) {
  flex-direction: row-reverse;
}
.top_info__box {
  width: 50%;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
}
.top_info__box h2 {
  font-size: 34px;
  padding-bottom: 25px;
  font-weight: 500;
}
.top_info__box p{
  line-height: 1.8;
}
.top_info__box p span{
  font-size: 20px;
}
.top_info__box p + p {
  margin-top: 40px;
}
.top_info__img {
  width: 45%;
  margin: 0;
}

#topImg {
  padding: 70px 0 480px;
  background: #fff url("../img/top/top_img.jpg") bottom center no-repeat;
}
#topImg h2 {
  color: #736357;
  font-size: 57px;
  font-weight: 500;
  margin-bottom: 25px;
}
#topImg h2 small {
  font-size: 70%;
}
#topImg .txt {
  font-size: 26px;
  letter-spacing: .05em;
  text-indent: .05em;
}
.ttlBox {
  margin-bottom: 40px;
}
.ttlBox .fo-mincho {
  font-size: 34px;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.ttlBox .fo-frei {
  font-size: 20px;
  color: #0071bc;
  margin-top: 3px;
}
#topAbout {
  overflow: hidden;
}
.tAboutHead {
  margin-bottom: 40px;
}
.tAboutArea {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  position: relative;
}
.tAboutArea:not(._01) {
  margin-top: 80px;
}
.tAboutImg {
  position: relative;
  width: 50%;
}
.tAboutImg::before {
  content: "";
  display: block;
  background: url("../img/top/about01.jpg") right center no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 55vw;
}
.tAboutArea._02 .tAboutImg::before {background-image:url("../img/top/about02.jpg")}
.tAboutArea._03 .tAboutImg::before {background-image:url("../img/top/about03.jpg")}
.tAboutTxt {
  position: relative;
  width: 50%;
  padding: 15px;
  min-height: 225px;
  display: flex;
  align-items: center;
  line-height: 1.6;
}
.tAboutTxt::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 55vw;
  background: url("../img/top/about_bg.jpg") left top no-repeat;
  background-size: cover;
  z-index: -1;
}
.tAboutTxt p {
  text-align: left;
  font-size: 26px;
  padding-left: 10%;
}
.tAboutTxt small {
  display: block;
  font-size: 70%;
  padding-left: 1.2em;
}
.tAboutWrap.row-r .tAboutImg::before {
  right: inherit;
  left: 0;
}
.tAboutWrap.row-r .tAboutTxt::before {
  right: 0;
  left: inherit;
}
.tAboutBtm {
  padding: 0 30px;
  text-align: left;
}
.machineWrap {
  padding: 30px 30px 0;
}
.machineBox {
  width: 45%;
}
.machineBox h3 {
  font-size: 21px;
  border-bottom: 1px solid #000;
  margin-bottom: 10px;
}
.machineBox figure {
  min-height: 183px;
  margin-bottom: 10px;
}
.machineBox .txt {
  text-align: left;
  padding: 0 10px;
}
#topFlow {
  background: #d9eefd;
}
.tFlowWrap, .relWrap {
  position: relative;
  background: #fff;
  border: 1px solid #0071bc;
  padding: 40px 4.5%;
}
.relWrap {
  padding-top: 20px;
  padding-bottom: 20px;
}
.tFlowWrap:not(:first-of-type) {
  margin-top: 60px;
}
.relWrap {
  margin-bottom: 30px;
}
.tFlowWrap:not(:last-of-type)::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25px 27.5px 0 27.5px;
  border-color: #0071bc transparent transparent transparent;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.tFlowWrap h3, .relWrap h3 {
  font-size: 26px;
  color: #0071bc;
  margin-bottom: 30px;
}
.tFlowWrap .txt, .relWrap .txt {
  text-align: left;
}
.relWrap .txt {
  margin-bottom: 1em;
}
.relWrap .link {
  text-align: right;
}
.relWrap .link a {
  color: #0071bc;
  font-weight: bold;
}
.tFlow > .txt {
  width: 48%;
}
.tFlow > figure {
  width: 48%;
}
.bnrs {
  margin: 30px 0 15px
}
.bnrs li {
  width: 32%;
}
.medaka {
  background: #d9eefd;
  margin-top: 50px;
  position: relative;
  padding: 30px 30px 15px
}
.medaka dt {
  position: absolute;
  font-weight: 600;
  color: #fff;
  background: #0071bc;
  top: -15px;
  left: 0;
  right: 0;
  margin: 0 auto;
  max-width: 355px;
  padding: 7px 5px;
  border-radius: 15px;
  line-height: 1.1;
}
img[src*="logo_medaca"] {
  max-height: 15px;
  display: block;
  margin-left: 5px;
}
.medaka .txt {
  text-align: left;
  font-weight: 600;
  color: #0071bc;
  width: 86%;
}
.medaka ul {
  width: 13%;
}
.medaka li:not(:first-of-type) {
  margin-top: 7px;
}
#topNews{
  padding-bottom: 0;
}
.tNewsArea{
  padding: 0 20px 20px;
}
.tNewsWrap {
  border-bottom: 1px solid #999999;
  padding-bottom: 12px;
  margin-bottom: 12px;
  text-align: left;
  font-size: 18px;
}
.tNewsWrap:last-of-type {
  border-bottom: none;
}
.tNewsWrap dt {
  width: 14%;
  padding: 0 10px;
}
.tNewsWrap dd {
  width: 86%;
}
.tNewsWrap dd a{
  color: #000;
  transition: .2s;
}
.tNewsWrap a:hover {
  color: var(--clr_blue);
}
.tNewsWrap dd span.new {
  display: inline-block;
  background: #c1272d;
  border-radius: 20px;
  font-size: 70%;
  color: white;
  padding: 2px 8px;
  font-weight: bold;
  margin-left: 5px;
  vertical-align: middle;
}
.btn {
  margin-top: 20px
}
.btn a {
  line-height: 1;
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 25px;
  display: inline-block;
  padding: 5px 25px;
}
.btn a:hover {
  border-color: #fff!important;
  background-color: #004ea2!important;
  color: #fff!important;
}

#academicseminar{
  padding: 80px 0 120px;
}
.academicseminar__row {
  gap: 50px;
}
.academicseminar__img {
  width: 50%;
  margin: 0;
}
.academicseminar__box {
  width: 45%;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
  text-align: left;
}
.academicseminar__box h3 {
  font-weight: 500;
  font-size: 32px;
  margin-bottom: 10px;
}
.academicseminar__box p{
  line-height: 1.7;
}

#topClinic {
  background: url("../img/top/clinick_bg02.jpg") top center no-repeat;
  background-size: cover;
}
.tClinicWrap li {
  text-shadow: 1px 1px 5px rgba(0,0,0,.35);
  width: 49%;
  border: 2px solid #fff;
  background: url("../img/top/clinick03.jpg") center center no-repeat;
  background-size: cover;
  color: #fff;
  height: 345px;
  position: relative;
}
.tClinicWrap li._02 {
  background-image: url("../img/top/clinick04.jpg");
}
.tClinicWrap saisei_mail {background-image:url("../img/top/clinick02.jpg")}
.tClinicWrap li a:hover {
  background: rgba(255,255,255,.2)
}
.btnTtl big {
  display: block;
  position: relative;
  font-size: 40px;
  padding-bottom: 10px;
}
.btnTtl big::before,.btnTtl big::after {
  content: "";
  width: 90%;
  max-width: 340px;
  margin: 0 auto;
  height: 2px;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.btnTtl big::after {
  max-width: 140px;
  background: #29abe2;
  z-index: 5;
}
.btnTtl span {
  font-size: 26px;
  font-weight: 500;
}
.tClinicWrap a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
}
.tClinicBtm {
  margin-top: 25px;
  border: 2px solid #fff;
  background: rgba(0,0,0,.2);
  color: #fff;
  padding: 25px 15px;
}
.tClinicBtm h3 {
  font-size: 24px;
  font-weight: 500;
  border-bottom: 1px solid #fff;
  max-width: 900px;
  margin: 0 auto 10px;
  padding-bottom: 5px;
}
.tClinicBtm .txt {
  display: inline-block;
  text-align: left;
  font-size: 16px;
}
#doctorBnr {
  background: url("../img/top/doctor_bg.jpg") center center no-repeat;
  background-size: cover;
}
.doctorBnr {
  border: 2px solid #fff;
  background: url("../img/top/doctor_bnr.jpg") center center no-repeat;
  background-size: cover;
  position: relative;
  padding: 70px 15px;
  color: #0071bc;
}
.doctorBnr a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
}
.doctorBnr a:hover {
  background-color: rgba(255,255,255,.2);
}

#access{
  padding: 90px 0 130px;
}
.accessName {
  font-size: 32px;
  margin-bottom: 30px;
  font-weight: 500;
}
.accessName small {
  font-size: 21px;
  margin-right: 10px;
}

.accessArea{
  gap: clamp(50px,4vw,127px);
}
.accessingdiv {
  width: 450px;
  max-width: 100%;
}
.accessArea figure img{
  width: 100%;
}

.accessWrap {
  text-align: left;
  width: 510px;
  max-width: 100%;
}
.accessWrap dt,
.accessWrap dd {
  padding: 7px 0;
  line-height: 1.3;
}
.accessWrap dt:first-of-type,
.accessWrap dd:first-of-type {
  padding-top: 0;
}
.accessWrap dt:last-of-type,
.accessWrap dd:last-of-type {
  border-bottom: none;
}
.accessWrap dt {
  width: 23%;
  color: #0071bc;
  font-weight: 600;
  border-bottom: 1px solid #0071bc;
  display: flex;
  justify-content: center;
  align-items: center;
}
.accessWrap dd {
  padding: 10px;
  width: 77%;
  border-bottom: 1px solid #e6e6e6;
  font-feature-settings: "palt";
}
.accessWrap dd a {
  color: #0071bc;
  text-decoration: underline;
}
.accessWrap dd a:hover {
  color: #a72126;
}
.accessWrap .price{
  font-size: 16px;
}

.accessTbl {
  margin-top: 78px;
}
.accessTbl h4{
  font-size: 33px;
  margin-bottom: 20px;
  font-weight: 500;
  font-feature-settings: "palt";
  letter-spacing: .1em;
}
.accessTbl .txt{
  margin-bottom: 18px;
}
.accessTbl .txt span{
  font-size: 24px;
}
.accessTbl table {
  border: 2px solid #0071bc;
  text-align: center;
}
.accessTbl th,.accessTbl td {
  border: 1px solid #0071bc;
  padding: 5px;
}
.accessTbl th {
  background: #0071bc;
  color: #fff;
  font-weight: 600;
}
.accessTbl thead td {
  font-weight: 600;
}
.accessTbl tbody td span {
  color: #0071bc;
}
.accessTbl th{
  border-bottom: 1px solid #fff;
}
.accessWrap .schedule_btn{
  margin: 20px 0 14px;
}
.accessWrap .schedule_btn a {
  background-color: var(--clr_blue);
  color: #fff;
  padding: 20px 33px;
  font-size: clamp(20px, 2.6vw, 33px);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fo_mincho);
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: 100%;
}
.accessWrap .schedule_btn a::before {
  content: "";
  display: inline-block;
  width: 47px;
  aspect-ratio: 47/44;
  background: url("../img/icon_calender.svg") center no-repeat;
  background-size: contain;
  margin-right: 22px;
}
.accessWrap .schedule_btn a::after {
  content: "";
  display: inline-block;
  width: 17px;
  aspect-ratio: 1;
  background: url("../img/icon_blank.svg") center no-repeat;
  background-size: contain;
  margin-left: 10px;
}
.accessWrap .schedule_btn a:hover {
  background-color: var(--clr_cyan);
}
.accessWrap .telNum {
  margin-top: 5px;
}

.accessimgdiv{
  display:flex;
  flex-direction: column;
  align-items: center;
}
.telNum {
  line-height: 1;
  margin-bottom: 7px;
}
.telNum > p {
  font-size: 40px;
}
.telNum > span {
  display: block;
  font-size: 18px;
  margin: 10px 0;
}
.mTel {
  display: block;
  font-size: 28px!important;
  letter-spacing: normal!important;
}
.mTel small{
  font-size: 70%;
}
.gMapWrap {
  margin-top: 60px;
}
.gMapWrap .img {
  width: 50%;
}
.traffic {
  width: 45%;
  font-size: 1.15rem;
  text-align: left;
}
.traffic h4{
  font-size: 33px;
  margin-bottom: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.traffic dt {
  color: #4d4d4d;
  font-size: 22px;
  font-weight: 600;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #4d4d4d;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.traffic dt::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_train.png") center center no-repeat;
  background-size: contain;
  width: 20px;
  height: 28px;
  margin-right: 14px;
}

.relOrgs__row {
  gap: clamp(40px,5.3vw,80px);
}
.relOrgs__row:nth-of-type(n+2) {
  margin-top: 70px;
}
.relOrgs__img {
  width: 45%;
  margin: 0;
}
.relOrgs__box {
  width: 50%;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
  text-align: left;
  display: flex;
  flex-direction: column;
}
.relOrgs__box h3 {
  font-weight: 500;
  font-size: clamp(20px,2vw,28px);
  margin-bottom: 16px;
}
.relOrgs__box h3 span{
  font-size: 74%;
}
.relOrgs__box > .txt{
  line-height: 1.7;
  margin-bottom: 20px;
}
.relOrgs__box .c_btn{
  margin-top: auto;
}
.relOrgs__box .c_btn a{
  font-size: clamp(14px,1.3vw,18px);
  padding: 10px 20px;
  gap: 10px;
}

.ttlBox._full {
  background: url("../img/top/column_bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 70px 15px;
  margin-bottom: 50px;
}
#relOrgs .ttlBox._full {
  background-image: url("../img/top/relOrgs_bg.jpg");
}
.columnBox {
  width: 32%;
  margin-right: 4%;
  text-align: left;
}
.columnBox:nth-of-type(3n) {
  margin-right: 0;
}
.columnBox dt {
  border-bottom: 1px solid #000;
  margin-bottom: 10px;
}
.columnBox .btn {
  text-align: right;
}
.columnBox .btn a {
  border-radius: 0;
  background: #e6e6e6;
  border: none;
  padding: 5px 15px;
}
#topContact .ttlBox._full {background-image: url("../img/top/contact_bg.jpg")}
#topContact .container {
  max-width: 900px;
}
.btns {
  margin-top: 40px;
}
.btns li {
  width: 49%;
}
.btns li > a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  color: #fff;
  background: #a72126;
  border: 5px solid rgba(255,255,255,.5);
  padding: 20px 25px;
}
.btns li.rBtn a {
  background: #004ea2;
  font-size: 20px;
  font-weight: 600;
}
.btns li.rBtn a::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_calender.svg") center center no-repeat;
  background-size: contain;
  width: 45px;
  height: 42px;
  margin-right: 10px;
}
.btns li.cBtn > a {
  justify-content: space-between;
}
.cBtn > a:hover,.rBtn a:hover,.mBtn a:hover {
  background: #333!important;
}
.cBtn > a .fo-tsuku {
  font-size: 42px;
  line-height: 1;
  margin-left: 10px;
}
.cBtn > a span {
  text-align: left;
  font-weight: 600;
  line-height: 1.2;
}
.cBtn >p {
  font-size: 82%;
  text-align: center;
  margin-top: 5px;
  letter-spacing: -.06em;
  line-height: 1.3;
}
.mailBtnWrap {
  margin-top: 16px;
}
.mailBtnWrap > p {
  width: 50%;
}
.mailBtnWrap > p.txt {
  text-align: left;
  border: 1px solid #3fa9f5;
  padding: 15px 25px;
  letter-spacing: -.01em;
}
.mBtn a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #3fa9f5;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  height: 100%;
}
.mBtn a::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_mail.svg") center center no-repeat;
  background-size: contain;
  width: 36px;
  height: 25px;
  margin-right: 10px;
}
#telemedicine {
  margin-top: 100px;
}
#telemedicine .ttlBox._full {
  background-image: url("../img/top/telemedicine_bg.jpg");
  padding: 50px 15px;
}
#telemedicine  > .txt {
  text-align: left;
  letter-spacing: -.07em;
}
.curonArea {
  background: #e8f7f1;
  padding: 30px 35px;
  margin-top: 40px;
}
.curonArea ul {
  width: 35%;
}
.curonArea li {
  width: 49%;
}
.curonBox {
  text-align: left;
  width: 60%;
  font-weight: 600;
  color: #22b573;
}
.curonBox dt {
  color: #fff;
  border: 1px solid #22b573;
  background: #22b573;
  padding: 5px 20px;
}
.curonBox dd {
  border: 1px solid #22b573;
  padding: 5px 20px;
  background: #fff;
}
.curonBtn a {
  display: inline-block;
  border: 1px solid #22b573;
  padding: 5px 30px;
  background: #fff;
  color: #22b573;
  font-weight: 600;
  border-radius: 30px;
  margin-top: 30px;
}
.curonBtn a:hover {
  background: #22b573;
  color: #fff;
}
/*contact-----------------------------------------*/
.pageTtl {
  background: url("../img/pagettl.jpg") center center no-repeat;
  background-size: cover;
  padding: 40px 0;
}
.pageTtl .ttlBox {
  margin-bottom: 0;
}
.contactArea .container {
  max-width: 900px;
}
.contactTop {
  margin-bottom: 60px;
}
.contactTop .btns {
  margin-top: 20px;
}
.contactTop .btns li {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
}
.contactTop .cBtn > a .fo-mincho {
  font-size: 38px;
}
.contactTop .cBtn >p {
  font-size: 90%;
  text-align: center;
}
.formBox {
  border: 1px solid #999999;
  background: #fff;
}
.formBox dt,.formBox dd {
  text-align: left;
  padding: 15px 20px;
}
.formBox dt {
  width: 30%;
  background: #c5e5fc;
  border-bottom: 1px solid #fff;
}
.formBox dt.req::after {
  content: "必須";
  font-size: 85%;
  color: #fff;
  background: #c1272d;
  display: inline-block;
  padding: 4px 5px 2px;
  line-height: 1;
  margin-left: 10px;
  font-weight: 600;
}
.formBox dd {
  width: 70%;
  border-bottom: 1px solid #e6e6e6;
}
.formBox .center {
  display: flex;
  align-items: center;
  height: 100%;
}
.formBox dt:last-of-type,
.formBox dd:last-of-type {
  border-bottom: none;
}
input,select,textarea {
  padding: 5px;
}
label {
  display: inline-block;
  cursor: pointer;
  margin: 0 15px 3px 0;
}
label:hover {
  background: #f1f1f1;
}
select{cursor: pointer}
input[type="text"],input[type="email"],input[type="tel"],textarea {
  width: 100%;
  max-width: 450px;
}
textarea {
  min-height: 230px;
}
.note {
  font-size: 85%;
  margin-top: 7px;
}
.formBox a:hover {
  color: #c1272d;
  text-decoration: underline;
}
.privacyBox {
  height: 220px;
  background: #fff;
  border: 1px solid #000;
  padding: 20px 2.5%;
  overflow: auto;
  margin: 30px 0;
  text-align: left;
  font-size: 95%;
}
.privacyBox h3 {
  font-size: 18px;
  margin-top: 15px;
  margin-bottom: 15px;
  text-align: center;
}
.privacyBox ul {
  list-style:disc;
  padding-left: 1em;
  line-height: 1.4;
}
.privacyBox li {
  margin-bottom: 3px;
}
.privacyBox ol {
  list-style: decimal;
  margin-left: 1em;
}
.privacyBox ol li {
  margin-top: 0.5em;
}
@media screen and (min-width: 620px) {
  .privacyBox ol li {
    font-size: 18px;
  }
}
.privacyBox ol li ul li {
  font-size: 90%;
}
.privacyBox a {
  text-decoration: underline;
}
.privacyCheck {
  font-weight: 600;
  font-size: 105%;
}
.privacyCheck label {
  margin: 0;
}
.mailBtn {
  margin-top: 30px;
}
.linkbtn {
  position: relative;
  width: 330px;
  margin: 5px;
}
.linkbtn input,
.linkbtn>a {
  border: none;
  text-align: center;
  display: inline-block;
  color: #fff;
  font-weight: 600;
  line-height: 1.2;
  width: 100%;
  background: #004ea2;
  font-size: 18px;
  padding: 10px;
  letter-spacing: .03em;
  cursor: pointer;
  transition: .2s;
}
.linkbtn._02 input {
  background-color: #333;
}
.linkbtn input[disabled="disabled"] {
  background: #ccc;
  cursor: default;
}
.linkbtn input:not([disabled="disabled"]):hover {
  background: #000!important;
}
/*.linkbtn::after {
  content: "";
  border: none;
  display: inline-block;
  background: url("../img/arrow.svg") center center no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  z-index: 5;
  margin-left: 5px;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  position: absolute;
  top: 35%;
  right: 15px;
  pointer-events: none;
}
.linkbtn._lft::after {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  right: inherit;
  left: 15px;
}
*/
.formTxt {
  font-size: 115%;
  font-weight: 600;
  color: #c1272d;
  margin-bottom: 15px;
}
.thxBox {
  border: 2px solid #000;
  padding: 20px 15px;
  background: #fff;
}
.contactDate .dateWrap:first-of-type {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px dotted #231815;
}
.dateWrap select {
  cursor: pointer;
}
.dateWrap span {
  display: inline-block;
  margin-right: 15px;
}
.dateWrap select + span {
  padding-left: 5px;
}
.onlineBnrWrap {
  margin-top: 40px;
}
.onlineBnrWrap .box {
  width: 49%;
  text-align: left;
  font-weight: 600;
}
.onlineBnrWrap .box h4 {
  color: #004ea2;
  font-size: 110%;
}
.onlineBnr {
  width: 50%;
  background: url("../img/top/telemedicine_bg.jpg") right center no-repeat;
  background-size: cover;
}
.onlineBnr a {
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 24px;
  background: rgba(0,0,0,.4);
  padding: 30px 10px;
}
.onlineBnr a:hover {
  background: rgba(0,0,0,0);
  text-shadow: 0 0 5px #000;
}
.formBack,
.confNone,
#confirm .privacyBox,
#confirm .privacyCheck {
  display: none!important;
}
#confirm .formBack {
  display: block!important;
}
/*news--------------------------------------*/
.pnkz {
  margin-top: 15px;
  text-align: left;
}
.pnkz li:not(:first-of-type) {
  margin-left: 5px;
}
.pnkz li:not(:first-of-type)::before {
  content: ">";
  margin-right: 5px;
}
.newsArea {
  max-width: 900px;
  text-align: left;
  padding-bottom: 80px;
}
.newsDetail h3 {
  background: #ebf6fe;
  font-size: 110%;
  color: #004EA2;
  padding: 10px;
  margin-bottom: 10px;
}
.cate {
  display: inline-block;
  color: #fff;
  font-size: 90%;
  line-height: 1;
  background: #004EA2;
  padding: 3px 5px;
  margin-left: 20px;
  font-weight: 900;
}
.cate._ippan {background: #004EA2}
.cate._seminor {background: #3FA9F5}
.cate._iryou {background: #22B573}
.cate._wakuchin {background: #d9eefd;color: #004EA2}
.cate._other {background: #666666}
.newsCont {
  margin-top: 25px;
}
.newsCont :not(.linkbtn) a {
  color: #0726D9;
  text-decoration: underline;
}
.pageList {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid #000;
}
.btn01 {
  text-align: center;
}
.btn01 a {
  display: inline-block;
  line-height: 1;
  padding: 10px 50px;
  color: #004EA2;
  font-weight: 600;
  border: 1px solid #004EA2;
}
#newsList {
  padding-top: 100px;
}
#newsList h3 {
  font-size: 110%;
  text-align: center;
}
.newsBox {
  width: 48%;
  border-bottom: 1px solid #000;
  padding-bottom: 5px;
  margin-top: 30px;
  margin-right: 4%;
}
.newsBox:nth-of-type(even) {
  margin-right: 0;
}
.newsBox a {
  padding-top: 5px;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 100%;
  font-size: 110%;
  font-weight: 600;
}
.allBtn {
  margin: 30px auto 0;
}
/*column*/
.columnPage .newsDetail h3 {
  color: #22b573;
  background: #e8f7f1;
}
.cate._tweet {background:#3fa9f5}
.cate._nayami {background:#22b573}
/*clinic--------------------------------------*/
#aboutus {
  background: url("../img/clinic/top_bg.jpg") top center no-repeat;
  background-size: auto 378px;
  padding-top: 150px;
}
.aboutArea {
  background: #fff;
  padding-top: 50px;
}
.aboutArea h2 {
  color: #0071bc;
  font-size: 2.5rem;
  margin-bottom: 20px;
}
.aboutArea h3 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 20px;
}
.aboutArea h4 {
  margin-top: 50px;
  font-weight: 600;
  font-size: 2.1rem;
  margin-bottom: 20px;
}
.slider .img {
  margin: 0 5px;
}
.slick-arrow {
  position: absolute;
  left: -25px;
  top: 45%;
  width: 12px;
  height: 28px;
  background: url("../img/arrow.svg") center center no-repeat;
  background-size: auto 21px;
  z-index: 50;
  cursor: pointer;
}
.slick-arrow.next {
  left: inherit;
  right: -25px;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
section .pageTtl {
  margin-bottom: 30px;
}
.mediContWrap figure {
  width: 48%;
}
.mediCont {
  width: 49%;
  font-size: .8rem;
  text-align: left;
}
.mediCont dt {
  font-size: 1.30rem;
  font-weight: 600;
  color: #004ea2
}
.mediCont dl:not(:first-of-type) {
  margin-top: 20px;
}
.mediTreCont li {
  border: 1px solid #004ea2;
  padding: 10px;
  font-size: 1.15rem;
  color: #004ea2;
  font-weight: 600;
  margin-top: 15px;
  width: 24%;
}
.ttlWrap {
  background: url("../img/clinic/houshin01.jpg") left center no-repeat;
  background-size: cover;
  padding: 60px 10%;
  text-align: left;
  margin-bottom: 50px;
}
.ttlWrap._02 {
  background: url("../img/clinic/houshin02.jpg") right center no-repeat;
  background-size: cover;
  text-align: right;
}
.ttlWrap .ttlBox {
  text-align: center;
  display: inline-block;
  margin-bottom: 0;
}
.tPolicyWrap:not(:first-of-type) {
  margin-top: 60px;
}
#treatmentPolicy h3 {
  font-size: 2.1rem;
  color: #004ea2;
  font-weight: 600;
  margin-bottom: 20px;
}
.tPolicyWrap h5 {
  font-size: 1.75rem;
  margin-bottom: 20px;
  font-weight: 600;
}
.tPolicyWrap .txt {
  text-align: left;
  padding: 0 5%;
}
.tantou {
  margin-top: 60px;
}
.tantou h3 {
  font-size: 1.6rem;
  margin-bottom: 10px;
}
.tantouWrap th,
.tantouWrap td {
  padding: 10px 5px;
  border: 1px solid #004ea2;
}
.tantouWrap th {
  padding: 5px;
  background: #004ea2;
  color: #fff;
  font-weight: 600;
  border-right: 1px solid #fff;
}
.yoyakuArea {
  margin-top: 60px;
}
.yoyakuArea h3 {
  color: #004ea2;
  font-size: 1.8rem;
  margin-bottom: 20px;
  font-weight: 600;
}
.yoyakuArea .btns li.cBtn > a {
  justify-content: center;
}
.yoyakuArea .btns li.cBtn > a p {
  margin-left: 10px;
}
#todokede {
  background: #ebf6fe
}
#todokede h2 {
  font-size: 1.5rem;
  margin-bottom: 50px;
}
.todokedeWrap {
  background: #fff;
  padding: 60px 10%;
  text-align: left;
}
.todokedeWrap .txt {
  margin-bottom: 30px;
}
.todokedeWrap .txt a {
  text-decoration: underline;
}
.btmTxt {
  padding: 20px;
  margin-top: 50px;
  border: 1px solid #004ea2;
}
.btn02  {
  text-align: center;
  margin-top: 20px;
}
.btn02 a {
  display: inline-block;
  color: #fff;
  background: #0071bc;
  padding: 5px 20px;
  text-align: center;
}
/*regenerative------------------------------------*/
#anchor h2 {
  font-size: 2.1rem;
  font-weight: 600;
  margin-bottom: 20px;
}
.anchor li {
  width: 32%;
  margin-right: 1.333333%;
}
.anchor li:nth-of-type(3n) {
  margin-right: 0;
}
.anchor a {
  display: block;
  background: #004ea2;
  padding: 5px 20px;
  color: #fff;
  font-weight: 600;
  position: relative;
  font-size: 1.25rem;
  margin-top: 10px;
}
.anchor a::after {
  content: "";
  display: block;
  background: url("../img/anc_arrow.svg") center center no-repeat;
  background-size: contain;
  width: 13px;
  height: 13px;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.anchor a:hover {
  background-color: #333;
}
#regContents {
  background: #ebf6fe
}
.regWrap:not(:first-of-type) {
  margin-top: 30px;
}
.regWrap h2 {
  background: #004ea2;
  font-weight: 600;
  color: #fff;
  padding: 10px;
  line-height: 1.1;
  font-size: 1.5rem;
}
.regBox {
  text-align: left;
  padding: 20px 3.4%;
  background: #fff;
}
.regCont {
  font-size: 1.2rem;
}
.regCont dt,.regCont dd {
  margin-top: 20px;
}
.regCont dt {
  text-align: center;
  color: #004ea2;
  width: 12.5%;
  padding-right: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #004ea2;
}
.regCont dd {
  width: 87.5%;
  padding-left: 20px;
}
.regCont .child span {
  display: block;
  text-align: center;
  margin-right: 10px;
  color: #004ea2;
  width: 2.5em;
  min-width: 2.5em;
}
.featureTtlWrap > * {
  width: 50%;
}
.featureTtl {
  background: url("../img/regenerative/fature_bg.jpg") center center no-repeat;
  background-size: cover;
}
.featureTtl h2 {
  font-weight: 600;
  display: inline-block;
  width: auto!important;
  text-align: left;
  color: #004ea2;
  font-size: 2rem;
}
.featureWrap .txt {
  padding: 30px 8% 0;
  text-align: left;
}
.featureWrap:not(:last-of-type) {
  margin-bottom: 60px;
}
.noteArea {
  border: 1px solid #000;
  padding: 40px;
}
.noteArea h3 {
  color: #004ea2;
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 30px;
}
.noteWrap figure {
  width: 50%;
}
.noteBox {
  text-align: left;
  width: 48%;
}
.noteBox h4 {
  font-size: 1.15rem;
  border-bottom: 1px solid #000;
  margin: 30px 0 20px;
}
.noteBox li {
  font-size: 1.375rem;
  color: #c1272d;
  font-weight: 600;
  margin-top: 10px;
  text-indent: -1.2em;
  padding-left: 1.2em;
}
#flow {
  /* background: #ebf6fe; */
}
.flowWrap {
  background: #fff;
  padding: 15px;
  position: relative;
}
.flowWrap:not(:first-of-type) {
  margin-top: 50px;
}
.flowWrap:not(:first-of-type)::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 18px 15px 0 15px;
  border-color: #004ea2 transparent transparent transparent;
  top: -32px;
  left: 0;
  right: 0;
  margin: 0 auto;
  position: absolute;
}
.flowWrap h3 {
  color: #004ea2;
  font-size: 1.375rem;
}
#paid h3 {
  font-size: 1.3rem;
  font-weight: 600;
}
.paid {
  text-align: left;
}
.paid dt {
  font-weight: 600;
  font-size: 1.25rem;
  padding: 0 10px 5px;
  border-bottom: 1px solid #000;
  margin-bottom: 10px;
  margin-top: 40px;
}
.paid dd {
  padding: 0 10px;
}
.paid dd .img {
  margin-top: 10px;
}
.paid dd b {
  display: block;
  margin-top: 20px
}
/*orthopaedics---------------------------------------*/
#oneday h2 {
  font-size: 1.6rem;
  color: #004ea2;
  margin-bottom: 15px;
  font-weight: 600;
}
#oneday h2 + .txt {
  text-align: left;
  padding: 0 8%;
}
.onedayTtl {
  margin-top: 50px;
  background: url("../img/orthopaedics/onday_ttl_bg.jpg") left center no-repeat;
  text-align: left;
  padding: 40px 0;
}
.onedayTtl h3 {
  font-size: 2rem;
  color: #fff;
  font-weight: 600;
  padding-left: 8%;
}
.onedayTtl h3 small {
  display: block;
  padding-left: 5%;
  font-size: 60%;
}
.onedayTtl + .txt {
  padding: 20px 5% 0;
  text-align: left;
}
.onedayArea {
  margin-top: 50px;
}
.onedayWrap {
  padding: 0 5%;
}
.onedayWrap:not(:first-of-type) {
  border-top: 1px solid #b3b3b3;
  padding-top: 30px;
  margin-top: 30px;
}
.onedayWrap figure {
  width: 50%;
}
.onedayWrap h3 {
  font-weight: 600;
  font-size: 1.55rem;
  color: #004ea2;
  white-space: nowrap;
  margin-right: 20px;
}
.onedayCont {
  width: 50%;
  text-align: left;
  padding-left: 20px;
}
.onedayCont h4 {
  font-size: 1.375rem;
  color: #004ea2;
  margin-bottom: 5px;
}
.det {
  margin-top: 25px;
}
.det span {
  display: inline-block;
  color: #fff;
  background: #004ea2;
  padding: 0 10px;
  margin-right: 5px;
}
#symptoms h2 {
  font-size: 1.55rem;
  margin-bottom: 30px;
}
.symptomsArea {
  background: #fff;
  padding: 50px 3%;
}
.symptomsImg {
  width: 37%;
}
.symptomsWrap {
  width: 30.5%
}
.symptomsCont {
  padding: 15px 5px;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  border-bottom: 1px dotted #808080;
}
.symptomsCont:last-of-type {
  border: none;
}
.symptomsWrap h3 {
  font-weight: 600;
  color: #004ea2;
  font-size: 1.35rem;
  background: #ebf6fe;
  border-radius: 50%;
  line-height: 1.1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 78px;
  height: 78px;
  min-width: 78px;
  min-height: 78px;
  margin-right: 15px;
}
.symptomsWrap ul {
  text-align: left;
}
.symptomsWrap li {
  text-align: left;
  padding-left: 1em;
  text-indent: -1em;
}
.symptomsWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
#orthContents h3 {
  font-weight: 600;
  background: #004ea2;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1.1;
  padding: 10px;
  margin-bottom: 30px;
}
.orthCont figure {
  position: relative;
  width: 24%;
  margin: 10px 0;
}
.orthCont figcaption {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 600;
  font-size: 1.5rem;
  z-index: 1;
}
.usWrap {
  margin-top: 40px;
}
.usWrap figure {
  width: 50%;
}
.usWrap .onedayCont {
  padding-left: 30px;
}
.usWrap .onedayCont h4 {
  font-size: 2rem;
  margin-bottom: 10px;
}

.href-underbar{
  text-decoration:underline;
  text-decoration-color:#0000ff;
  color: #0000ff;
}
/*doctor----------------------------*/
#doctorArea {
  background: #f2f2f2;
}
.doctorWrap {
  background: #fff;
  padding: 50px;
}
.doctorWrap:not(:first-of-type) {
  margin-top: 30px;
}
.doctorWrap > .img {
  width: 16%;
}
.doctorBox:not(:first-of-type) {
  margin-top: 20px;
}
.doctorCont {
  width: 80%;
  text-align: left;
  line-height: 1.6;
}
.dName {
  font-size: 1.375rem;
  font-weight: 600;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
}
.dName span {
  margin-left: 10px;
  padding: 2px 6px;
  display: block;
  background-color:#0071bc;
  color: white;
  border-radius: 5px;
  font-weight: bold;
  font-size: 60%;
}
.doctorBox dt {
  font-size: 1.125rem;
  border-bottom: 1px solid #0071bc;
  margin-bottom: 15px;
}
.doctorBox dt span {
  color: #0071bc;
  font-weight: 600;
  display: inline-block;
  margin-right: 15px;
  white-space: nowrap;
}
.doctorBox dd.d-flex > .affiliation,
.doctorBox dd.d-flex > ul:first-of-type{
  width: 46%;
}
.doctorBox dd.d-flex > .affiliation + ul {
  width: 54%;
}
.doctorCont ul li {
  padding: 0 1em;
  text-indent: -1em;
}
.doctorCont li {
  margin-top: 2px;
}
#doctor01 .container {
  max-width: 1000px;
}
.doctorWrap._01 {
  padding: 0;
}
.doctorWrap._01 .img {
  width: 25%;
}
.doctorWrap._01 .doctorCont {
  width: 70%;
}
.doctorWrap._01 .dName {
  font-size: 1.75rem;
}
.doctorWrap .btn02 {
  text-align: left;
  margin-top: 15px;
  font-size: 95%;
}
.doctorCont._01-2 {
  width: 100%;
  margin-top: 50px;
}
.doctorCont._01-2 .doctorBox {
  width: 48%;
  margin-top: 0!important;
}

/*prp--------------------------------------*/
.prpTopTxt {
  text-align: left;
  margin-bottom: 30px;
}
.prpTopTtl {
  background: url("../img/prp/ttl_bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 50px 10px;
  margin-bottom: 30px;
}
.prpTopTtl h2 {
  color: #fff;
  font-size: 2.1rem;
  font-weight: 500;
}
#prpTop h3 {
  font-size: 1.6rem;
}
.prpFearute {
  margin-bottom: 40px;
}
.prpFearute dl {
  width: 33%;
  padding: 0 10px 15px;
  margin-top: 15px;
  font-size: 1.15rem;
  font-weight: 600;
}
.prpFearute dl:not(:first-of-type) {
  border-left: 1px solid #004ea2;
}
.prpFearute dt {
  font-size: 1.25rem;
  margin-bottom: 10px;
}
.prpFearute dt span {
  font-size: 130%;
  vertical-align: .05em;
}
#prpTop h4 {
  font-size: 1.4rem;
  font-weight: 500;
}
.menuTbl {
  margin-top: 20px;
}
#prpTop h5 {
  font-size: 1.3rem;
  font-weight: 600;
  background: #004ea2;
  color: #fff;
  padding: 10px;
}
.menuTbl th,.menuTbl td {
  border: 1px solid #004ea2;
  padding: 10px 30px;
  font-weight: 600;
  font-size: 1.15rem;
}
.menuTbl th {
  background: #eaeff1;
  white-space: nowrap;
}
.menuTbl td {
  text-align: left;
}
.menuTbl li {
  padding-left: 1em;
  text-indent: -1em;
}
#prpTop #symptoms {
  margin-top: 60px;
  padding: 60px 0;
}
.symptomsArea._prp .symptomsCont{
  flex-grow: 0;
}
.symptomsArea._prp .symptomsWrap {
  justify-content: center;
}
.symptomsArea._prp .symptomsCont li {
  margin: 5px 0;
}
#prpContents .anchor li {
  text-align: left;
}
.anchor li .fo-alt {
  display: inline-block;
  border-right: 1px solid #000;
  padding-right: 15px;
  margin-right: 15px;
}
.prpArea {
  margin-top: 100px;
}
.prpTtl {
  background: url("../img/prp/cont01-ttl.jpg") center center no-repeat;
  background-size: cover;
  padding: 35px 10px;
  color: white;
}
#prp02 .prpTtl{background-image:url("../img/prp/cont02-ttl.jpg")}
#prp03 .prpTtl{background-image:url("../img/prp/cont03-ttl.jpg")}
#prp04 .prpTtl{background-image:url("../img/prp/cont04-ttl.jpg")}
#prp05 .prpTtl{background-image:url("../img/prp/cont05-ttl.jpg")}
#prp06 .prpTtl{background-image:url("../img/prp/cont06-ttl.jpg")}
.prpTtl > * {
  font-size: 38px;
  font-weight: 500;
}
.prpTxt {
  margin-top: 30px;
  padding: 0 3.5%;
  letter-spacing: -.01em;
  text-align: left;
}
.btn03 {
  margin-top: 20px;
}
.btn03 a {
  display: inline-block;
  color: #fff;
  background: #004ea2;
  padding: 5px 30px;
  font-weight: 600;
}
.btn03 a small {
  vertical-align: .05em;
}
.prpBox {
  margin-top: 70px;
  position: relative;
  border: 1px solid #004ea2;
  padding: 30px 10px;
  font-size: 1.25rem;
  font-weight: 600;
}
.prpBox dt {
  font-size: 1.5rem;
  position: absolute;
  left: 0;
  right: 0;
  top: -20px;
  margin: 0 auto;
}
.prpBox dt span {
  display: inline-block;
  background: #fff;
  padding: 0 20px;
}
.prpFlow {
  margin-top: 70px;
  padding: 60px 0;
}
.prpFlowWrap dl {
  width: 23%;
  position: relative;
  background: #fff;
  font-size: 1.1rem;
}
.prpFlowWrap dl:not(:first-of-type)::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 13px 0 13px 10px;
  border-color: transparent transparent transparent #004ea2;
  position: absolute;
  left: -7%;
  top: 50%;
}
.prpFlowWrap dt {
  background: #004ea2;
  padding: 5px;
  font-weight: 600;
  color: #fff;
}
.prpFlowWrap dd {
  padding: 15px 12px;
  padding-bottom: 30px;
  text-align: left;
}
.prpArea h3 {
  font-size: 2rem;
  font-weight: 500;
  margin-top: 30px;
}
.prpContWrap {
  margin-top: 40px;
  padding: 0 3.5%;
}
.prpContWrap figure {
  width: 50%;
}
.prpContWrap dl {
  text-align: left;
  width: 45%;
  font-size: 1.15rem;
}
.prpContWrap dt {
  font-size: 2rem;
  margin-bottom: 10px;
}
.prpArea .img {
  margin-top: 30px;
}
.paid._prp {
  background: #fff;
  padding: 40px 5%;
  margin-top: 30px;
}
.paid._prp dt:first-of-type {
  margin-top: 0
}
.pdfBtn a {
  display: block;
  background: #004ea2;
  padding: 5px 20px;
  color: #fff;
  font-weight: 600;
  position: relative;
  font-size: 1.25rem;
  margin: 0 auto 20px;
  max-width: 500px;
}
.pdfBtn a::after {
  content: "";
  display: block;
  background: url("../img/anc_arrow.svg") center center no-repeat;
  background-size: contain;
  width: 13px;
  height: 13px;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%) rotate(-90deg);
  -ms-transform: translateY(-50%) rotate(-90deg);
  transform: translateY(-50%) rotate(-90deg);
}
.pdfBtn a::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_pdf.svg") center center no-repeat;
  background-size: contain;
  width: 20px;
  height: 26px;
  margin-right: 15px;
  margin-bottom: -.2em;
}
.btn03 a {
  padding: 5px 15px;
}
html.lity-active body {
  overflow: hidden;
}
.lity-container {
  width: 100%;
  max-width: 1100px!important;
}
.serviceArea {
  background: #fff;
  padding: 40px 5% 30px;
  text-align: center;
  overflow: auto;
  max-height: 71vh!important;
}
.prpContArea h2 {
  font-size: 1.5rem;
  margin-bottom: 30px;
}
.prpContArea dl {
  text-align: left;
}
.prpContArea dl:nth-of-type(even) dt {
  background: #ebf6fe;
}
.prpContArea dl:not(:first-of-type) {
  margin-top: 40px;
}
.prpContArea dt {
  color: #004ea2;
  font-size: 1.5rem;
  background: #ebf6fe;
  padding: 5px;
  margin-bottom: 15px;
  text-align: center;
}
.prpContArea dl:nth-of-type(even) dt {
  background: #004ea2;
  color: #fff;
}

.prp01cont .box {
  width: 23%;
  position: relative;
  text-align: center;
  font-weight: 600;
  margin-top: 20px;
  padding: 0 5px 10px
}
.prp01cont .box .num {
  margin-top: -25px;
  font-size: 32px;
}
.prp02cont .img{
  text-align: center;
}
.prp02cont .txt {
  text-align: center;
  margin-bottom: 10px;
}
/*agingcare----------------------------------*/
#careTop h2 {
  font-weight: 500;
  margin-bottom: 40px;
  font-size: 2rem;
}
.careTopArea:not(:last-of-type) {
  margin-bottom: 70px;
}
.careTop h3 {
  font-size: 2rem;
  color: #fff;
  font-weight: 500;
  padding: 40px 10px;
  width: 50%;
  background: url("../img/agingcare/ttl01.jpg") center center no-repeat;
  background-size: cover;
}
.careTop._02 h3 {background-image:url("../img/agingcare/ttl02.jpg")}
.careTop._03 h3 {background-image:url("../img/agingcare/ttl03.jpg")}
.careTop .txt {
  text-align: left;
  width: 48%;
}
.careTop {
  margin-bottom: 20px;
}
.anchor.jc-center li {
  margin-right: 0;
}
.careCont:not(:first-of-type) {
  margin-top: 80px;
}
.careCont h2 {
  font-size: 2.1rem;
  color: #fff;
  font-weight: 500;
  padding: 70px 10px;
  background: url("../img/agingcare/cont01_ttl.jpg") center center no-repeat;
  background-size: cover;
}
.careCont._02 h2 {background-image:url("../img/agingcare/cont02_ttl.jpg")}
.careCont._03 h2 {background-image:url("../img/agingcare/cont03_ttl.jpg")}
.careCont dl {
  padding: 25px 3.5% 0;
  text-align: left;
  font-size: 1.1rem;
  margin-bottom: 25px;
}
.careCont dt {
  font-size: 1.5rem;
  font-weight: 600;
  border-bottom: 1px solid #004ea2;
  margin-bottom: 14px;
}

.flyer_box {
  display: flex;
}

.flyer_box div {
  width: 100%;
}

.flyer_box div img {
  display: block;
  padding: 10px;
}
section#introduction {
  display:flex;
  justify-content: space-around;
}

section#introduction { padding: 10px 0 10px; }
section#introduction a {
  font-size:  1rem;
  font-family: 'Noto Serif JP', 'Hannari', serif;
 background: #0071bc;
border-radius: 40px;
position: relative;
color: #fff;
padding: 5px 60px;
line-height: 1.7;
letter-spacing: 2px;
font-weight: 400;
min-width: 35%;
}
section#introduction a span {
  font-size: 1.2rem;
  letter-spacing: 4px;
 }
section#introduction a::after {
  position: absolute;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font: var(--fa-font-solid);
  content: "\f0da";
  font-size: 2.5rem;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}


.pt40{
   padding-top: 40px !important;
}

.pt20{
  padding-top: 20px !important;
}

.pt35{
  padding-top: 35px !important;
}

.pt10{
  padding-top: 10px !important;
}
.pb20{
  padding-bottom: 20px;
}


.head_price{
  background-color: #004ea2;
  color: white;
  padding: 20px;
  width: 20vw;
  display: flex;
  border: 1px #004ea2 solid;
  justify-content: center;
  align-items: center;
  font-size: 100%;
}

.hr-color{
  background-color: #004ea2;
  margin-top:  50px;
  margin-bottom: 50px;
}
.div_price{
  justify-content: center;
  font-size: 130%;
  font-weight: 400;
  text-align: center;
  margin-top:  1em;
  margin-bottom:  1em;
  margin-left: auto;
  margin-right: auto;
  display:flex;
}


.div_price_parent{
  justify-content: center;
  display: flex;
}
.price-content{
  padding: 10px;
  width: 25vw;
  border: 1px #004ea2 solid;
  align-items: center;
  display: flex;
  justify-content: center;
  flex-direction: column;
  font-size: 90%;
}
.price-content-regenerative{
  padding: 10px;
  width: 35vw;
  border: 1px #004ea2 solid;
  align-items: center;
  display: flex;
  justify-content: center;
  flex-direction: column;
  font-size: 90%;
}
.caution-text{
  padding-top: 10px;
  font-size: 65%;
}
.ver-mid{
  vertical-align:middle;
}
.block{
  display:block;
}

.mr6{
  margin-right:6px;
}
.ml6{
  margin-left:6px;

}

.ai-strecth{
align-items: stretch;
}

.twobutton-width{
  width: 47%;
}


/*campaign 一覧
---------------------------------------------------------*/
.p_camp_arch__row {
  gap: 42px;
  padding: 20px 0;
  border-bottom: .1rem solid #ccc;
  text-align: left;
  color: #000;
}
.p_camp_arch__row:first-of-type{
  border-top: .1rem solid #ccc;
}
.p_camp_arch__img {
  width: 30%;
  margin: 0;
}
.p_camp_arch__box {
  width: 70%;
  position: relative;
  padding-right: 60px;
}
.p_camp_arch__box::after{
  content: "";
  background: #004ea2 url("../img/arrow02_white.svg") 50% 60% no-repeat;
  background-size: 35% auto;
  display: inline-block;
  border-radius: 50%;
  width: 40px;
  height: auto;
  aspect-ratio: 1;
  position: absolute;
  right: 0;
  top: 50%;
  cursor: pointer;
  transition: .2s;
  z-index: 99;
  transform: translateY(-50%) rotate(-90deg);
}
.p_camp_arch__box .ttl {
  font-weight: 500;
  font-size: clamp(20px,2vw,30px);
  margin-bottom: 16px;
  letter-spacing: 0.1em;
}
.p_camp_arch__box .txt{
  font-size: clamp(16px,1.6vw,20px);
}


/*campaign 詳細
---------------------------------------------------------*/
.p_camp_sing__ttl{
  font-size: 36px;
  margin-bottom: 10px;
  letter-spacing: 0.05em;
}
.p_camp_sing__cont{
  margin-top: 80px;
  text-align: left;
}
.p_camp_sing__cont p{
  line-height: 1.6;
}
.p_camp_sing__cont a{
  text-decoration: underline;
}
.p_camp_sing__cont a:hover{
  color: #c1272d;
}
.p_camp_sing__cont .list li{
  text-align: left;
  line-height: 1.6;
  text-indent: -0.5em;
  padding-left: 1em;
}
.p_camp_sing__cont .list li::before{
  content:"●";
  display:inline-block;
  color: var(--clr_blue);
}
.p_camp_sing__cont .price_row{
  display: flex;
  border: .1rem solid var(--clr_blue);
  margin-bottom: 20px;
}
.p_camp_sing__cont .price_row > p{
  width: 50%;
  text-align: center;
  padding: 16px;
  font-size: 24px;
}
.p_camp_sing__cont .price_row > p.ttl{
  color: #fff;
  background-color: var(--clr_blue);
}

.p_camp_sing__cont .price_cont{
  margin-inline: auto;
  max-width: 800px;
}
.p_camp_sing__cont .price_cont ul{
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  grid-auto-flow: column;
  border: .1rem solid #000;
  padding: 20px 60px;
  margin-top: 20px;
  gap: 10px 30px;
}
.p_camp_sing__cont .join_row{
  display: flex;
  gap: 40px;
}
.p_camp_sing__cont .join_row:nth-of-type(n+2){
  margin-top: 32px;
}
.p_camp_sing__cont .join_row > h3{
  width: 16%;
}
.p_camp_sing__cont .join_box{
  width: 84%;
}
.p_camp_sing__cont .join_box h4{
  font-size: 19px;
}
.p_camp_sing__cont .join_box .note p{
  font-size: 15px;
  padding-left: 1em;
  text-indent: -1em;
}
.p_camp_sing__cont .contact_row{
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 16px;
}
.p_camp_sing__cont .contact_row p{
  flex: 1;
}
.p_camp_sing__cont .contact_bnr{
  gap: 20px;
  max-width: 800px;
  text-align: center;
}
.p_camp_sing__cont .contact_bnr figure{
  margin: 0;
}
.p_camp_sing__cont .contact_bnr a{
  text-decoration: none;
}
.p_camp_sing__cont .contact_bnr p.day{
  font-size: 14px;
}

.p_camp_sing__cont .staff_row{
  gap: 40px;
  margin-top: 10px;
}
.p_camp_sing__cont .staff_row .img{
  margin: 0;
  width: 20%;
}
.p_camp_sing__cont .staff_box{
  width: 80%;
}
.p_camp_sing__cont .staff_box h4{
  font-size: 20px;
  margin-bottom: 16px;
  font-weight: 500;
}
.p_camp_sing__cont .staff_box h4 strong{
  font-size: 120%;
  display: block;
}
.p_camp_sing__cont .sns_row{
  gap: 20px;
  max-width: 800px;
  align-items: center;
}
.p_camp_sing__cont .sns_row figure{
  margin: 0;
}


/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1900px) {
  .nav li {
    margin-right: 3px;
    padding-right: 3px;
    font-size: 87.7%;
  }
}
@media screen and (max-width: 1830px) {
  .hTxt {
    font-size: 12px;
  }
  .hTxt br {
    display: block;
  }
  .headerWrap {
    padding: 15px 0;
  }
  #nav {
    flex-wrap: wrap;
  }
  .nav {
    margin: 7px 0;
  }

}


@media screen and (max-width: 1450px) {
  /*header----------------------------*/
  #header {
    font-size: 14px;
  }
  .hLft {
    min-width: 285px;
  }
  .hLogo img {
    max-height: 60px;
  }
  .hTxt {
    font-size: 12.4px;
    margin-left: 7.6px;
  }
  .nav02 a {
      font-size: 11px;
      padding: 7px 6.6px 5px;
  }
  .nav02 li.linenav a{
    margin-right: 2px;
  }
  .nav02 li:not(:first-of-type) {
    margin-left: 3px
  }
  .top_mv {
    padding: 60px 0 80px;
  }
  .top_mv__ttl{
    font-size: 42px;
    margin-bottom: 14px;
    line-height: 1.3;
  }
  .top_mv__ttl span{
    font-size: 30px;
  }
    .top_mv__txt{
    font-size: 30px;
    margin: 24px 0 50px;
  }
  .top_mv__img01{
    width: 410px;
    top: 100px;
    left: -210px;
  }
  .top_mv__img02{
    width: 580px;
    top: 20px;
    right: -390px;
  }

}

@media print, screen and (max-width: 1170px) {
  /*header-------------------------------------*/
  #header {
    font-size: 14px;
  }
  .headerWrap {
    width: 90%;
    height: 45px;
    padding: 5px 0;
  }
  .hContact,.hTxt {
    display: none;
  }
  .hLogo {
    width: auto;
    margin: 0 auto;
    z-index: 9991;
  }
  .hLogo img {
    max-height: 40px;
 }
  .menuBtns {
    position: fixed;
    height: 45px;
    top: 0;
    right: 5%;
    display: flex;
    justify-content: end;
    flex-direction: row-reverse;
    align-items: center;
    z-index: 99999;
  }
  .menuIcon {
    position: relative;
    width: 30px;
    height: 22px;
    cursor: pointer;
    display: block;
  }
  .menuIcon span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background:#004ea2;
    z-index: 10;
    transition: .2s;
  }
  .menuIcon span:nth-of-type(1) {top: 0px;}
  .menuIcon span:nth-of-type(2) {top: 10px;  }
  .menuIcon span:nth-of-type(3) {bottom: 0px;  }
  .menuIcon.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(45deg);
    transform: translateY(10px) rotate(45deg);
  }
  .menuIcon.active span:nth-of-type(2) {
    opacity: 0;
    transform: translateX(20px);
  }
  .menuIcon.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(-45deg);
    transform: translateY(-10px) rotate(-45deg);
  }
  #nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    transition: all 0.3s ease-in-out;
    opacity: 0;
    visibility: hidden;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    display: block;
    padding: 45px 5% 50px;
    background: #fff;
  }
  #nav.active{
    display: block;
    /* flex-direction: column-reverse; */
    right: 0;
    opacity: 1;
    visibility: visible;
    z-index: 9990;
  }
  .nav,.nav02,.linenav {
    display: block;
  }
  .nav li {
    padding-right: 0;
    border-right: none;
    margin-right: 0;
  }
  .nav a {
    display: flex!important;
    align-items: center;
    padding: 12px 5%;
    border-bottom: 1px solid #d9eefd;
    font-size: 14px;
  }
  .nav a::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7.5px 0 7.5px 10px;
    border-color: transparent transparent transparent #d9eefd;
    margin-right: 10px;
  }
  .nav li:last-of-type a {
    border-bottom: none;
  }
  .nav a::after {
    display: none;
  }
  .nav02 {
    margin-top: 5px;
  }
  .nav02 a {
    border-radius: 0;
    padding: 15px 10px;
    font-size: 14px;
  }
  .nav02 li:not(:first-of-type),.nav02 {
    margin:0;
  }
  .menuBtns .nav02 {
    display: flex;
  }
  .nav02 li.lne_sp,
  .nav02 li.lnj_sp {
    display: block;
  }
  .nav02 li.lne,
  .nav02 li.lnj {
    display: none;
  }
  .nav02 li.lne_sp a,
  .nav02 li.lnj_sp a {
    padding: 5px 10px;
    margin-right: 10px;
  }
  ul.contactBtns {
    margin-right: 10px;
    height: 100%;
  }
  ul.contactBtns li a {
    padding: 0 10px;
    width: 40px;
    height: 100%;
    font-size: 20px;
  }
  ul.contactBtns li a::before {
    display: none;
  }
  ul.contactBtns li a.tel {
      background-color: #3596ff;
  }
  ul.contactBtns li a.app {
    background-color: #2d7dd4;
  }
  .hTel {
    text-align: center;
    line-height: 1.5;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 10px;
    margin-bottom: 10px;
  }
  .hTel .mTel {
    font-size: 18px!important;
  }
  .hTel a {
    display: block;
  }
  .spContact {
    margin-top: 15px;
    display: block;
    border: 1px solid #808080;
    padding: 10px;
  }
  .spContact .uketsuke {
    font-size: 90%;
    text-align: center;
  }
  .nav02 li.linenav a{
    border-radius: 0;
    padding: 15px 10px;
    font-size: 14px;
    width: 100%;
    display: flex;
    align-items: center;
  }
  .nav02 li.linenav a:before{
  margin-right: 10px;
  }
  div.floating {
    display: block;
    position: fixed;
    bottom: 0;
    padding: 20px 10px;
    z-index: 10000;
    opacity: 0.9;
    width: 100%;
  }

  div.floating ul.nav02 {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
  }

  div.floating ul.nav02 li {
    flex-grow: 1;
  }
  div.floating ul.nav02 li a {
    border-radius: 20px;
    margin-left: 10px;
    margin-right: 10px;
  }

  div.floating ul.nav02 li a.app {
    background-color: #2d7dd4;
  }

  div.floating ul.nav02 li a.tel {
    background-color: #3596ff;
  }

  div.floating ul.nav02 li a i {
    margin-right: 5px;
    margin-left: 5px;
  }

  div.floating ul.nav02 li a::before {
    background-image: none;
    display: none;
  }
  .nav li.parent::after{
    display: none;
  }
  ul.dropdown {
    display: block;
    position: static;
    border: none;
    width: 87%;
    margin-inline: auto;
  }
  ul.dropdown .childTtl{
    margin-top: 10px;
    display: block;
  }




  /* .childTtl.transformed {
      list-style-type: none;
      padding: 0;
  }

  .childTtl.transformed > li {
      margin-bottom: 10px;
  }

  .childTtl.transformed li {
      list-style-type: none;
  }

  .childTtl.transformed li.treatment_title {
      font-weight: bold;
      margin-top: 10px;
      margin-bottom: 5px;
  }

  .childTtl.transformed li:not(.treatment_title) {
      margin-left: 20px;
  }

  .childTtl.transformed li:not(.treatment_title) a::before {
      margin-right: 5px;
  } */
  .top_mv {
    padding: 20px 0 80px;
  }

}
@media screen and (max-width: 1000px) {

  .twobutton-width{
    width:42vw;
  }
}
/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/

@media print, screen and (max-width: 780px)  {
  .top_info {
    padding: 50px 0;
  }
  .top_info__row {
    gap: 24px;
    flex-direction: column!important;
  }
  .top_info__row:nth-of-type(n+2){
    margin-top: 40px;
  }
  .top_info__img {
    width: 100%;
  }
  .top_info__box {
    width: 100%;
  }
  .top_info__box h2 {
    font-size: 20px;
    padding-bottom: 10px;
  }
  .top_info__box p{
    line-height: 1.5;
  }
  .top_info__box p span{
    font-size: 16px;
  }
  .top_info__box p + p {
    margin-top: 16px;
  }
  .top_info__box .c_btn{
    text-align: center;
  }

  .relOrgs__row {
    gap: 20px;
    flex-direction: column;
  }
  .relOrgs__row:nth-of-type(n+2) {
    margin-top: 40px;
  }
  .relOrgs__img {
    width: 100%;
  }
  .relOrgs__box {
    width: 100%;
  }
  .relOrgs__box h3 {
    font-size: 4.7vw;
    margin-bottom: 16px;
  }
  .relOrgs__box .c_btn {
    text-align: center;
    margin-top: 20px;
  }
  .relOrgs__box .c_btn_row .c_btn{
    margin-top: 0;
  }
  .relOrgs__box > .txt {
      margin-bottom: 5px;
  }
}


@media print, screen and (max-width: 620px)  {
/*全体レイアウト
------------------------------------------------*/
  body {
    font-size: 14px;
  }
  body.active {
    overflow: hidden;
  }
  article > section {
    padding: 40px 0;
  }
  .hLft {
    min-width: inherit;
  }
  .hLogo img {
    max-height: 35px;
  }


  /*footer------------------------------------*/
  #footer {
    margin-top: 20px;
  }
  .pageTop {
    right: 0;
  }
  .footWrap {
    padding: 40px 0 25px;
  }
  .fRht {
    display: none;
  }
  .fLogo {
    padding: 0 5%;
  }
  .telNum {
    display: block;
  }
  .telNum > span {
    margin: 7px 0 0 0;
  }
  .fAdd {
    font-size: 85%;
  }
  #footer .telNum > p {
    font-size: 24px;
  }
  #footer .uketsuke {
    margin-top: 10px;
    font-size: 90%;
  }
  .uketsuke {
    text-align: left;
  }
  .uketsuke span {
    text-align: center;
  }
  .uketsuke b {
    display: block;
    text-align: center;
    margin: 0 auto 7px;
    padding: 7px;
    max-width: 180px;
  }
  #footer .uketsuke span {
    margin-left: 0;
  }
  .fBtn {
    display: block;
    padding: 12px 0;
  }
  .fBtn li:not(:first-of-type) {
    margin: 10px 0 0 0;
  }
  .fBtn a {
    padding: 10px;
    border-radius: 25px;
  }

  /*共通
---------------------------------------------------------*/
/* ボタン */
.c_btn_row{
  gap: 8px;
  margin-top: 20px;
  flex-direction: column;
}
.c_btn_row .txt{
  font-size: 16px;
}
.c_btn{
  margin-top: 20px;
}
.c_btn a {
  padding: 12px 33px;
  font-size: 4.2vw;
  gap: 16px;
  min-width: 180px;
}
.c_btn a::after {
  width: 6px;
}

  /*top---------------------------------------*/
  .txt {
    text-align: left;
  }

  .top_mv{
    padding: 10px 0 50px;
  }
  .top_mv__box{
    padding-bottom: 58%;
  }
  .top_mv__ttl{
    font-size: 7.2vw;
    padding: 0 0 14px;
    margin: 0;
  }
  .top_mv__ttl span{
    font-size: 5vw;
  }
  .top_mv__txt{
    font-size: 4.5vw;
    margin: 20px 0 0;
  }
  .top_mv__img01{
    width: 43%;
    top: auto;
    bottom: 0;
    left: -10px;
  }
  .top_mv__img02{
    width: 71%;
    top: auto;
    bottom: -80px;
    right: -50px;
  }
  .top_mv__slide{
    margin-top: 50px
  }
  .top_mv__slide li.slick-slide{
    margin: 0 8px;
  }
  .top_mv .top_mv__slide .slick-arrow {
    width: 26px;
    right: 0;
    top: 32%;
  }
  .top_mv__slide .slick-arrow.prev {
    right: auto;
    left: 0;
  }
  .top_mv__slide .slick-dots{
    margin: 10px 0 30px;
  }
  .top_mv__slide .slick-dots li{
    margin: 0 12px!important;
  }
  .top_mv__slide .slick-dots li button::before{
    font-size: 18px!important;
  }






  #topImg {
    text-shadow: 1px 1px 5px rgba(255,255,255,1);
  }
  #topImg h2 {
    font-size: 7vw;
    line-height: 1.1;
    margin-bottom: 5vw;
  }
  #topImg h2 small {
    font-size: 90%;
  }
  #topImg .txt {
    font-size: 16px;
    text-align: center;
  }
  #topImg {
    padding: 10vw 0 50vw;
    background-position: top center;
    background-size: auto 140%;
  }
  .ttlBox {
    margin-bottom: 30px;
  }
  .ttlBox .fo-mincho {
    font-size: 22px;
  }
  .ttlBox .fo-frei {
    font-size: 18px;
  }
  .tAboutArea:not(._01) {
    margin-top: 60px;
  }
  .tAboutHead {
    margin-bottom: 30px;
  }
  .tAboutWrap {
    display: block;
  }
  .tAboutImg {
    width: 100%;
    height: 42vw;
    overflow: hidden;
  }
  .tAboutImg::before {
    width: 100vw;
    background-position: center center;
  }
  .tAboutTxt {
    width: 100%;
    min-height: inherit;
    display: block;
    overflow: hidden;
    padding: 10px;
    line-height: 1.5;
  }
  .tAboutTxt::before {
    width: 100vw;
  }
  .tAboutTxt p {
    display: inline-block;
    font-size: 16px;
    padding-left: 0;
  }
  .tAboutBtm {
    padding: 0;
  }
  .machineWrap {
    padding: 0 5%;
    display: block;
  }
  .machineBox {
    width: 100%;
    margin-top: 40px;
  }
  .machineBox figure {
    min-height: inherit;
  }
  .machineBox figure img {
    max-height: 130px;
  }
  .machineBox h3 {
    font-size: 16px;
    padding-bottom: 5px;
  }
  .tFlowWrap {
    padding: 20px 5%;
  }
  .tFlowWrap h3 {
    font-size: 18px;
    margin-bottom: 10px;
  }
  .bnrs {
    display: block;
  }
  .bnrs li {
    width: 100%;
    margin-top: 10px;
  }
  .tFlowWrap .bnrs + p {
    text-align: left;
  }
  .relWrap .link {
    font-size: 12px;
  }
  .tFlow {
    display: block;
  }
  .tFlow > figure {
    width: 100%;
    margin-bottom: 15px
  }
  .tFlow > .txt {
    width: 100%;
  }
  .medaka {
    padding: 50px 5% 15px;
  }
  .medaka dt {
    display: block;
    border-radius: 30px;
    max-width: 95%;
  }
  img[src*="logo_medaca"] {
    margin: 5px auto 0;
  }
  .medaka dd {
    display: block;
  }
  .medaka .txt {
    width: 100%;
    font-size: 90%;
  }
  .medaka ul {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: 15px
  }
  .medaka li:not(:first-of-type) {
    margin: 0 0 0 10px;
  }
  .tNewsArea{
    padding: 0;
  }
  .tNewsWrap {
    display: block;
    font-size: 16px;
  }
  .tNewsWrap dt {
    width: 100%;
    padding: 0;
    margin-bottom: 5px;
    text-align: left;
  }
  .tNewsWrap dd {
    width: 100%;
  }
  .tClinicWrap {
    display: block;
  }
  .tClinicWrap li {
    width: 100%;
    height: 40vw;
  }
  .btnTtl {
    text-shadow: 0 0 6px rgba(0,0,0,.5)
  }
  .btnTtl big {
    font-size: 26px;
  }
  .btnTtl span {
    font-size: 16px;
  }
  .dName {
    flex-direction: column;
  }
  .doctorBnr {
    padding: 20px 10px;
  }
  .doctorBnr .btnTtl {
    text-shadow: none;
  }
  .tClinicWrap li.saisei_mail {
    margin-top: 15px;
  }
  .tClinicBtm h3 {
    font-size: 16px;
    text-align: left;
  }
  #access{
    padding: 50px 0 10px;
  }
  .accessArea {
    display: block;
  }
  .accessName {
    display: block;
    font-size: 20px;
    margin-bottom: 16px;
  }
  .accessName small {
    font-size: 16px;
    display: block;
    margin: 0;
  }
  .accessArea figure {
    width: 100%;
    margin: 0;
  }
  .accessWrap {
    width: 100%;
    margin-top: 15px;
  }
  .accessWrap dl {
    font-size: 90%;
    line-height: 1.6;
  }
  .accessWrap dt {
    width: 22%;
    text-align: center;
  }
  .accessWrap dd {
    width: 78%;
  }
  .accessWrap .price{
    font-size: 14px;
  }
  .accessTbl {
    margin-top: 28px;
  }
  .accessTbl h4{
    font-size: 23px;
    margin-bottom: 10px;
  }
  .accessTbl .txt{
    margin-bottom: 18px;
  }
  .accessTbl .txt span {
    font-size: 18px;
  }
  .accessTbl table {
    font-size: 90%;
  }
  .accessWrap .schedule_btn{
    margin: 20px 0 14px;
  }
  .accessWrap .schedule_btn a {
    padding: 20px 16px;
    font-size: 20px;
  }
  .accessWrap .schedule_btn a::before {
    width: 27px;
    margin-right: 12px;
  }
  .accessWrap .schedule_btn a::after {
    width: 13px;
  }
  .accessWrap .telNum {
    margin: 15px 0;
  }
  .telNum > p {
    font-size: 24px;
  }
  .gMapWrap {
    margin-top: 40px;
    display: block;
  }
  .gMapWrap .img {
    width: 100%;
  }
  .traffic {
    display: block;
    padding-top: 20px;
    width: 100%;
    font-size: 1rem;
  }
  .traffic h4{
    font-size: 24px;
    margin-bottom: 6px;
  }
  .traffic dt {
    padding: 5px;
    margin-bottom: 10px;
    font-size: 1.15rem;
  }
  .traffic dt::before {
    width: 15px;
    height: 22px;
    margin-right: 10px
  }
  .traffic dd {
    margin: 0;
  }



  .ttlBox._full {
    padding: 30px 15px;
  }
  #topColoumn {
    padding-top: 0;
  }
  .tColumnWrap {
    display: block;
  }
  .columnBox {
    width: 100%;
    margin-bottom: 20px;
  }
  #topContact {
    padding-top: 0;
  }
  .btns {
    display: block;
  }
  .btns li {
    width: 100%;
    margin-bottom: 15px;
  }
  .btns li > a {
    padding: 10px;
  }
  .cBtn > a .fo-tsuku {
    font-size: 26px;
    margin-left: 5px;
  }
  .cBtn >p {
    letter-spacing: normal;
  }
  .btns li.rBtn a {
    font-size: 14px;
    white-space: nowrap;
  }
  .btns li.rBtn a::before {
    width: 22px;
    height: 34px;
    margin-right: 5px;
  }
  .mailBtnWrap {
    display: block;
  }
  .mailBtnWrap > p {
    width: 100%;
  }
  .mailBtnWrap > p.txt {
    text-align: center;
    font-size: 90%;
    padding: 10px 15px;
    letter-spacing: normal;
  }
  .mBtn a {
    padding: 10px;
    font-size: 16px;
  }
  .mBtn a::before {
    width: 22px;
    height: 14px;
    margin-right: 5px;
  }
  #telemedicine {
    margin-top: 60px;
  }
  #telemedicine .ttlBox._full {
    padding: 30px 10px;
    background-position: top right 21%;
    text-shadow: 1px 1px 7px #fff,-1px -1px 7px #fff,1px -1px 7px #fff,-1px 1px 7px #fff;
  }
  .curonArea {
    display: block;
    padding: 15px;
  }
  .curonBox {
    width: 100%;
    text-align: center;
  }
  .curonBox b {
    display: block;
    margin-bottom: 10px;
  }
  .curonBox dd {
    flex-grow: 1;
  }
  .curonArea ul {
    width: 100%;
    margin-top: 15px;
  }


  /*contact--------------------------------*/
  .formBox {
    display: block;
  }
  .formBox dt,.formBox dd {
    width: 100%;
    padding: 15px 10px;
  }
  .privacyBox {
    height: 160px;
    padding: 20px;
  }
  .privacyBox h3 {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .linkbtn input {
    font-size: 16px;
  }
  .contactTop .btns li.cBtn > a {
    display: block;
  }
  .contactTop .cBtn > a .fo-mincho {
    font-size: 26px;
  }
  .onlineBnrWrap {
    margin-top: 30px;
    display: block;
  }
  .onlineBnrWrap .box {
    width: 100%;
  }
  .onlineBnrWrap .box h4 {
    font-size: 110%;
    text-align: center;
  }
  .onlineBnr {
    width: 100%;
    margin-top: 15px;
  }
  .onlineBnr a {
    font-size: 18px;
    padding: 20px 5px;
  }
  .dateWrap > span:first-of-type {
    width: 100%;
    display: block;
    background: #f1f1f1;
    padding: 5px;
    margin-bottom: 10px;
  }

  /*news-------------------------------------*/
  .pnkz {
    font-size: 95%;
  }
  .pageList {
    margin-top: 30px;
  }
  .btn01 a {
    padding: 10px 15px;
  }
  .newsBox {
    width: 100%;
    margin-right: 0!important;
  }
  .cate {
    margin-left: 10px;
  }
  /*clinic---------------------------------------*/
  #aboutus {
    padding-top: 30vw;
    background-size: auto 40vw;
  }
  .aboutArea {
    padding: 30px 5% 0;
  }
  .aboutArea h2 {
    font-size: 1.8rem;
  }
  .aboutArea h3 {
    font-size: 1.15rem;
    text-align: left;
  }
  .aboutArea h4 {
    margin: 30px 0 10px;
    font-size: 1.2rem;
  }
  .mediContWrap {
    display: block;
  }
  .mediContWrap figure {
    width: 100%;
    margin-bottom: 15px;
  }
  .mediCont {
    width: 100%;
  }
  .mediCont dt {
    font-size: 1.15rem;
  }
  .mediCont dl:not(:first-of-type) {
    margin-top: 15px;
  }

  section.row-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  div.card{
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, .125);
    border-radius: .25rem;
    margin: 10px;
  }
  /*自作*/





  /**/
  .mediTreCont li {
    font-size: .82rem;
    width: 49%;
    margin-top: 10px;
    padding: 5px 0;
    line-height: 1.2;
  }
  #treatmentPolicy h3 {
    font-size: 1.15rem;
  }
  .ttlWrap,.ttlWrap._02 {
    background-position: center center;
    padding: 25px 10px;
    margin-bottom: 20px;
  }
  .ttlWrap .ttlBox {
    background: rgba(255,255,255,.4);
    padding: 5px 10px;
  }
  .tPolicyWrap h5 {
    font-size: 1rem;
  }
  .tPolicyWrap .txt {
    padding: 0;
  }
  .tantouWrap {
    overflow: auto;
  }
  .tantouWrap table {
    table-layout: auto;
    width: 700px;
  }
  .spTxt {
    margin-bottom: 5px;
    font-weight: 600;
    color: #004ea2;
  }
  .yoyakuArea h3 {
    font-size: 1.3rem;
  }
  .yoyakuArea .btns li.cBtn > a {
    justify-content: center;
  }
  .yoyakuArea .btns li.cBtn > a p {
    margin-left: 10px;
  }
  #todokede h2 {
    font-size: 1.1rem;
    margin-bottom: 20px;
  }
  .todokedeWrap {
    padding: 40px 5%;
  }
  /*regenerative----------------------------------------------*/
  #anchor h2 {
    font-size: 1.2rem;
    margin-bottom: 10px;
  }
  .anchor li {
    width: 100%;
    margin-right: 0;
  }
  .anchor a {
    font-size: 115%;
  }
  .regWrap h2 {
    font-size: 1.2rem;
  }
  .regCont {
    display: block;
    font-size: 1.05rem;
  }
  .regCont dt {
    width: 100%;
    border: none;
    border-bottom: 1px solid #004ea2;
    padding: 0 0 5px 0;
    margin-bottom: 10px;
  }
  .regCont dd {
    width: 100%;
    padding: 0;
    margin-top: 0;
  }
  .featureTtlWrap {
    display: block;
  }
  .featureTtlWrap > * {
    width: 100%;
  }
  .featureTtl {
    padding: 15px;
  }
  .featureTtl h2 {
    font-size: 1.2rem;
  }
  .featureWrap .txt {
    padding: 15px 15px 0;
  }
  .noteArea {
    padding: 15px;
  }
  .noteArea h3 {
    font-size: 1.15rem;
    margin-bottom: 15px;
  }
  .noteWrap {
    display: block;
  }
  .noteWrap figure {
    width: 100%;
    margin-bottom: 15px;
  }
  .noteBox {
    width: 100%;
  }
  .noteBox h4 {
    margin-bottom: 10px;
    font-size: 1.05em;
  }
  .noteBox li {
    margin-top: 5px;
    font-size: 16px;
  }
  .flowWrap h3 {
    font-size: 1.15rem;
    margin-bottom: 5px;
  }
  #paid h3 {
    font-size: 1.05rem;
    text-align: left;
  }
  .paid dt {
    font-size: 1.1rem;
  }
  .paid dd {
    padding: 0;
  }
  .price-content-regenerative{
  width: 55vw;
  font-size: 68%;
}
  /*orthopaedics----------------------------*/
  #oneday h2 {
    font-size: 1.2rem;
  }
  #oneday h2 + .txt {
    padding: 0;
  }
  .onedayTtl {
    margin-top: 30px;
    padding: 20px 0;
    background-position: left 45% center;
  }
  .onedayTtl h3 {
    font-size: 1.2rem;
  }
  .onedayTtl h3 small {
    font-size: 70%;
    padding-left: 10%;
  }
  .onedayTtl + .txt {
    padding: 20px 0 0;
  }
  .onedayWrap {
    display: block;
    padding: 0;
  }.onedayWrap h3 {
    font-size: 1.15rem;
  }
  .onedayCont {
    width: 100%;
    padding: 15px 0 0;
  }
  .onedayCont h4 {
    font-size: 1.1rem;
  }
  .det {
    margin-top: 15px;
  }
  .det span {
    display: block;
    width: 80px;
    text-align: center;
    margin-bottom: 5px;
  }
  #symptoms h2 {
    font-size: 1.2rem;
  }
  .symptomsArea {
    padding: 30px 5%;
  }
  .symptomsImg {
    width: 100%;
    order: -1;
    padding: 0 12%;
    margin-bottom: 15px;
  }
  .symptomsWrap {
    width: 100%;
  }
  .symptomsWrap h3 {
    width: 64px;
    height: 64px;
    min-width: 64px;
    min-height: 64px;
    font-size: 1.08rem;
  }
  .symptomsCont {
    padding: 10px 0;
  }
  .symptomsCont:last-of-type {
    border-bottom: 1px dotted #808080;
  }
  #orthContents h3 {
    font-size: 1.1rem;
    line-height: 1.4;
    margin-bottom: 15px;
  }
  .orthCont figure {
    width: 48%;
    margin: 5px 0;
  }
  .orthCont figcaption {
    font-size: 4.75vw
  }
  .usWrap {
    display: block;
  }
  .usWrap figure {
    width: 100%;
  }
  .usWrap .onedayCont {
    padding: 15px 0 0 0;
  }
  .usWrap .onedayCont h4 {
    font-size: 1.2rem;
  }
  /*doctor-----------------------------------------*/
  .doctorWrap {
    display: block;
    padding: 30px 5%;
    font-size: 1.03em;
  }
  .doctorWrap > .img {
    width: 60%!important;
    margin: 0 auto 20px;
  }
  .doctorCont {
    width: 100%!important;
    display: block;
  }
  .dName {
    font-size: 1.2rem;
  }
  .doctorCont._01-2 {
    margin-top: 30px;
  }
  .doctorWrap._01 .dName {
    font-size: 1.2rem;
  }
  .doctorBox {
    width: 100%!important;
  }
  .doctorBox dt {
    font-size: 1.05rem;
  }
  .doctorBox dt span {
    display: block;
  }
  .doctorCont._01-2 .doctorBox {
    margin-top: 20px!important;
  }
  .doctorBox dd.d-flex {
    display: block;
  }
  .doctorBox dd.d-flex > .affiliation, .doctorBox dd.d-flex > ul:first-of-type {
    width: 100%;
  }
  .affiliation {
    margin-bottom: 5px;
  }

  /*prp-----------------------------------*/
  .prpTopTtl {
    padding: 20px 5px
  }
  .prpTopTtl h2 {
    font-size: 1.3rem;
  }
  #prpTop h3 {
    font-size: 1.2rem;
  }
  .prpFearute {
    display: block;
  }
  .symptomsWrap li{
    display: inline-block;
    margin: 1px 0!important;
  }
  .prpFearute dl {
    width: 100%;
    padding: 10px 0 0;
    font-size: 110%;
  }
  .prpFearute dl:not(:first-of-type) {
    border: none;
    border-top: 1px solid #004ea2;
  }
  #prpTop h4 {
    font-size: 110%;
    text-align: left;
  }
  #prpTop h5 {
    font-size: 110%;
  }
  .menuTbl th, .menuTbl td {
    display: block;
    padding: 10px 15px;
    font-size: 100%;
  }
  .menuTbl th {
    border-top: none;
    border-bottom: none;
  }
  .prpArea {
    margin-top: 60px;
  }
  .prpTtl > * {
    font-size: 1.25rem;
  }
  .prpTxt {
    padding: 0;
  }
  .prpBox {
    font-size: 1rem;
    text-align: left;
    padding: 35px 20px 20px;
  }
  .prpBox dt {
    font-size: 1.1rem;
    width: 90%;
    text-align: center;
    top: -30px;
  }
  .prpFlow {
    margin-top: 50px;
    padding: 40px 0;
  }
  .prpFlowWrap dl {
    width: 100%;
    font-size: 1rem;
  }
  .prpFlowWrap dl:not(:first-of-type) {
    margin-top: 30px;
  }
  .prpFlowWrap dl:not(:first-of-type)::before {
    transform: rotate(90deg);
    left: 0;
    right: 0;
    margin: 0 auto;
    top: -30px;
  }
  .prpFlowWrap dd {
    padding: 15px;
  }
  .prpContWrap {
    display: block;
    padding: 0;
  }
  .prpContWrap figure {
    width: 100%;
    margin-bottom: 15px;
  }
  .prpContWrap dl {
    width: 100%;
    font-size: 1rem;
  }
  .prpContWrap dt {
    font-size: 1.15rem
  }
  .prpArea h3 {
    font-size: 1.2rem;
  }
  .pdfBtn a {
    font-size: 1.15rem;
  }
  .prpContArea dt {
    font-size: 1.15rem;
  }
  .prp01cont .box {
    width: 49%;
  }
  .prp01cont .box .txt {
    text-align: center;
  }
  .prp01cont .box .num {
    font-size: 24px;
    margin-top: -15px;
  }
  .prp02cont {
    display: block;
  }
  .prp02cont .img {
    width: 100%;
    margin-bottom: 10px;
  }
  .prp02cont .txt {
    text-align: left;
    width: 100%;
  }
  .prpContArea h2 {
    font-size: 1.15rem;
  }
  /*agingcare----------------------------------*/
  #careTop h2 {
    font-size: 1.15rem;
  }
  .careTop {
    display: block;
  }
  .careTop h3 {
    font-size: 1.15rem;
    width: 100%;
  }
  .careTop .txt {
    width: 100%;
    margin-top: 15px;
  }
  .careCont h2 {
    font-size: 1.2rem;
    padding: 30px 0;
  }
  .careCont dl {
    padding: 25px 0 0;
    font-size: 100%;
  }
  .careCont dt {
    font-size: 1.1rem;
  }
  .careCont:not(:first-of-type) {
    margin-top: 50px;
  }
  .flyer_box {
    flex-direction: column;
  }
  #academicseminar{
    padding: 60px 0;
  }
  .academicseminar__row {
    gap: 20px;
    flex-direction: column;
  }
  .academicseminar__img {
    width: 100%;
  }
  .academicseminar__box {
    width: 100%;
    font-feature-settings: "palt";
  }
  .academicseminar__box h3 {
    font-size: 22px;
    margin-bottom: 10px;
  }
  .academicseminar__box p{
    line-height: 1.7;
  }
  .academicseminar__box .c_btn{
    text-align: center;
  }


.head_price{
  width: 40vw;
  font-size:75%;
}

  .price-content{
  width: 45vw;
  font-size:70%
}

.mr6{
  margin-right:0px;
}  .ml6{
  margin-left:0px;
}
.twobutton-width{
  width: 95vw;
}



/*campaign 一覧
---------------------------------------------------------*/
.p_camp_arch__row {
  gap: 18px;
  padding: 20px 0;
  flex-direction: column;
}
.p_camp_arch__img {
  width: 100%;
}
.p_camp_arch__box {
  width: 100%;
  padding-right: 45px;
}
.p_camp_arch__box::after{
  width: 28px;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
}
.p_camp_arch__box .ttl {
  font-size: 18px;
  margin-bottom: 8px;
}
.p_camp_arch__box .txt{
  font-size: 14px;
}





/*campaign 詳細
---------------------------------------------------------*/
.p_camp_sing__ttl{
  font-size: 20px;
  margin-bottom: 10px;
}
.p_camp_sing__cont{
  margin-top: 20px;
}
.p_camp_sing__cont p{
  line-height: 1.6;
}
.p_camp_sing__cont .list li{
  text-indent: -0.5em;
  padding-left: 1em;
}
.p_camp_sing__cont .price_row{
  margin-bottom: 20px;
}
.p_camp_sing__cont .price_row > p{
  /* width: 50%; */
  padding: 10px;
  font-size: 16px;
}
.p_camp_sing__cont .price_cont ul{
  /* grid-template-rows: repeat(1, 1fr); */
  /* grid-auto-flow: column; */
  padding: 16px 20px;
  margin-top: 10px;
  gap: 10px;
  display: flex;
  flex-direction: column;
}
.p_camp_sing__cont .join_row{
  gap: 6px;
  flex-direction: column;
}
.p_camp_sing__cont .join_row:nth-of-type(n+2){
  margin-top: 24px;
}
.p_camp_sing__cont .join_row > h3{
  width: 100%;
}
.p_camp_sing__cont .join_box{
  width: 100%;
}
.p_camp_sing__cont .join_box h4{
  font-size: 16px;
}
.p_camp_sing__cont .join_box .note p{
  font-size: 13px;
}
.p_camp_sing__cont .contact_row{
  gap: 6px;
  margin-bottom: 0;
  flex-direction: column;
  align-items: flex-start;
}
.p_camp_sing__cont .contact_bnr{
  gap: 20px;
  flex-direction: column;
}
.p_camp_sing__cont .contact_bnr p.day{
  font-size: 14px;
}
.p_camp_sing__cont .staff_row{
  gap: 10px;
  margin-top: 10px;
  flex-direction: column;
  width: 80%;
  margin-inline: auto;
}
.p_camp_sing__cont .staff_row .img{
  width: 50%;
  margin-inline: auto;
}
.p_camp_sing__cont .staff_box{
  width: 100%;
}
.p_camp_sing__cont .staff_box h4{
  font-size: 16px;
  margin-bottom: 6px;
  font-weight: 500;
}
.p_camp_sing__cont .sns_row{
  gap: 10px;
  flex-direction: column;
}








}

/*pre----------------------------------------------*/
.mainPre {
  /*background: url("../img/top/main_pre00.jpg") top center no-repeat;
  background-size: cover;
  height: 855px;*/
}
/*
#footer._pre .fLft {
  text-align: center;
}
#footer._pre .fLogo img {
  max-height: 60px;
}
#footer._pre .telNum {
  margin-bottom: 5px;
}
@media screen and (max-width: 620px) {
  img[src*="text01"] {
  max-height: 13px;
  }
  img[src*="text01-mincho"] {
    max-height: 15px;
  }
  .mainPre{
  }
  #footer._pre .fLft {
    text-align: left;
  }
  #footer._pre  .fAdd {
    text-align: left;
  }
}
*/

