@charset "utf-8";
.main-visual {
  display: flex;
  align-items: center;
  background: url(../img/about/bg_mv_sp.jpg) center center;
  background-size: 100% auto;
  height: calc(150px + (360 - 150) * ((100vw - 320px) / (767 - 320)));
}
.main-visuall .container {
  width: 85%;
}
@media screen and (min-width: 768px) {
  .main-visual {
    height: 390px;
  }
}
#doctor {
  padding: calc(100vw / var(--viewport) * 80) 0;
}
#doctor img {
  width: calc(100vw / var(--viewport) * 260);
}
#doctor .container .doctor_career {
  font-weight: normal;
  line-height: 1.25;
  padding: 0 4%;
}
#doctor .container .doctor_career .doctor_career_title {
  font-weight: bold;
  margin-top: 6%;
}
#doctor .container .doctor_career .doctor_career_title:before {
  content: "";
  display: inline-block;
  width: 3vw;
  height: 3vw;
  background: #00aafa;
  margin-right: 2%;
  vertical-align: middle;
}
#doctor .container .doctor_career .doctor_career_txt {
  margin-top: 2%;
}
#doctor .container .text_headline {
  font-size: calc(100vw / var(--viewport) * 24);
  line-height: 2;
  font-weight: 600;
  margin: calc(100vw / var(--viewport) * 80) 4% 0;
  padding: 1% 2%;
  background: #BFEAFE;
  border-radius: 50vw;
  text-align: center;
}
#doctor .container .text {
  font-size: calc(100vw / var(--viewport) * 24);
  font-weight: 600;
  line-height: 2;
  margin-top: calc(100vw / var(--viewport) * 40);
  padding: 0 4%;
}
@media screen and (max-width:767px) {
  #doctor .container {
    width: 90.47%;
    position: relative;
    padding: 0;
  }
  #doctor .container .text01, #doctor .container .text02, #doctor .container .text03 {
    font-weight: 600;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
  }
  #doctor .container .text01 {
    font-size: calc(100vw / var(--viewport) * 22);
    letter-spacing: 0.1em;
    top: calc(100vw / var(--viewport) * 460);
    right: calc(100vw / var(--viewport) * 243);
  }
  #doctor .container .text02 {
    font-size: calc(100vw / var(--viewport) * 34);
    letter-spacing: 0.1em;
    top: calc(100vw / var(--viewport) * 460);
    right: calc(100vw / var(--viewport) * 279);
  }
  #doctor .container .text03 {
    font-size: calc(100vw / var(--viewport) * 40);
    line-height: 1.5;
    letter-spacing: 0.1em;
    top: 0;
    right: calc(100vw / var(--viewport) * 66);
  }
}
@media screen and (min-width:768px) {
  #doctor {
    padding: 60px 0;
  }
  #doctor .container {
    max-width: 700px;
    padding: 40px 0 0;
  }
  #doctor img {
    width: 172px;
    height: 100%;
    margin-right: 36px;
  }
  #doctor .pc_flex {
    display: flex;
    justify-content: space-between;
  }
  #doctor .container .text_headline {
    font-size: 18px;
    margin: 40px 4% 0;
    padding: 0 2%;
  }
  #doctor .container .text01 {
    font-size: 14px;
  }
  #doctor .container .text02 {
    font-size: 20px;
  }
  #doctor .container .text03 {
    font-size: 30px;
    line-height: 1.5;
    margin-top: 20px;
  }
  #doctor .container .doctor_career {
    padding: 0;
  }
  #doctor .container .doctor_career .doctor_career_title {
    margin-top: 4%;
  }
  #doctor .container .doctor_career .doctor_career_title:before {
    width: 12px;
    height: 12px;
    margin-right: 1%;
  }
  #doctor .container .text {
    font-size: 16px;
    margin-top: 20px;
  }
}
.buttons {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.buttons li {
  font-size: 3.2vw;
  text-align: center;
  width: 48%;
  position: relative;
}
.buttons li:nth-child(2n) {
  margin-left: 3%;
}
.buttons li:nth-child(n+3) {
  margin-top: 3%;
}
.buttons li:after {
  content: "";
  position: absolute;
  background: url(../img/common/link_arrow.png)no-repeat;
  background-size: contain;
  width: calc(7px + (12 - 7) * ((100vw - 320px) / (767 - 320)));
  height: calc(9px + (16 - 9) * ((100vw - 320px) / (767 - 320)));
  right: calc(6px + (18 - 6) * ((100vw - 320px) / (767 - 320)));
  top: 38%;
  transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
}
.buttons li.pt a {
  padding: 0.817vw 0;
  line-height: 1.5;
}
.buttons li a {
  padding: 4.167vw 0; /*calc(11px + (24 - 11) * ((100vw - 320px) / (767 - 320))) 0;*/
  border-radius: calc(2.5px + (5 - 2.5) * ((100vw - 320px) / (767 - 320)));
  background: #00aafa;
  display: block;
  color: #000;
  font-weight: bold;
  position: relative;
}
.buttons li a span {
  color: #fff;
  font-size: 2.2vw;
  display: block;
}
@media screen and (min-width:768px) {
  .buttons li {
    font-size: 18px;
    width: 18.88888888888889%;
    margin-bottom: 1.388888888888889%;
    margin-right: 1.388888888888889%;
  }
  .buttons li:nth-child(2n) {
    margin-left: 0;
  }
  .buttons li:nth-child(n+3) {
    margin-top: 0;
  }
  .buttons li:nth-child(5n) {
    margin-right: 0;
  }
  .buttons li:after {
    width: 10px;
    height: 14px;
    right: 15px;
    top: 36%;
  }
  .buttons li a {
    padding: 22px 0;
    border-radius: 5px;
  }
  .buttons li.pt a {
    padding: 8px 0 9px;
    line-height: 1.5;
  }
  .buttons li a span {
    font-size: 12px;
    bottom: 6px;
  }
}

/*doctors*/
h2.title > span {
  border-bottom: none;
}
h2.title > span:after {
  width: 0;
  bottom: calc(-5px + (-10 + 5) * ((100vw - 320px) / (767 - 320)));
  border-bottom: calc(3px + (6 - 3) * ((100vw - 320px) / (767 - 320))) solid #00aafa;
}
h2.title > span.line-ani-after:after {
  width: 100%;
}
.section_doctorIntroduce {
  background: #eef0f5;
}
.section_doctorIntroduce .container {
  width: 91%;
}
.section_doctorIntroduce .line-title {
  margin-top: 12vw;
}
.white_box {
  margin: 10vw 0;
  padding: 0 0 4vw 0;
}
.white_box h3 {
  font-size: calc(100vw / var(--viewport) * 30);
  color: #fff;
  background: #00A9FB;
  text-align: center;
  border-radius: 4px 4px 0 0;
  padding: 3%;
}
.white_box h3 span {
  font-size: calc(100vw / var(--viewport) * 18);
  margin-left: 2%;
}
.doctor_box {
  margin-top: 4%;
  padding: 0 4vw;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.doctor_box > div:first-of-type {
  width: 30%;
}
.doctor_box .doctor_career {
  width: 63%;
  font-size: calc(100vw / var(--viewport) * 24);
  font-weight: bold;
}
.doctor_box .doctor_name {
  font-size: calc(100vw / var(--viewport) * 22);
  font-weight: bold;
  margin-top: 6%;
  text-align: center;
}
.doctor_box .doctor_name:after {
  font-size: calc(100vw / var(--viewport) * 26);
  margin-top: 4%;
  display: block;
}
.doctor_box .doctor_name.sapporo:after {
  content: "藤野誠司";
}
.doctor_box .doctor_name.sendai:after {
  content: "平山勇治";
}
.doctor_box .doctor_name.aomori:after {
  content: "加曾利要介";
}
.doctor_box .doctor_name.hachinohe:after {
  content: "立山啓悦";
}
.doctor_box .doctor_name.morioka:after {
  content: "納谷太平";
}
.doctor_box .doctor_name.iwaki:after {
  content: "工藤勝秀";
}
.doctor_box .doctor_name.koriyama:after {
  content: "石原信浩";
}
.doctor_box .doctor_name.shinjuku:after {
  content: "仁科亮一郎";
}
.doctor_box .doctor_name.shinjuku_east:after {
  content: "平良美香";
}
.doctor_box .doctor_name.shibuya:after {
  content: "佐々木了";
}
.doctor_box .doctor_name.ginza:after {
  content: "増田卓也";
}
.doctor_box .doctor_name.tachikawa:after {
  content: "高野光子";
}
.doctor_box .doctor_name.machida:after {
  content: "間中哲";
}
.doctor_box .doctor_name.tachikawa:after {
  content: "高野光子";
}
.doctor_box .doctor_name.omiya:after {
  content: "太田真澄";
}
.doctor_box .doctor_name.chiba:after {
  content: "杉田寿子";
}
.doctor_box .doctor_name.kashiwa:after {
  content: "中村拓矢";
}
.doctor_box .doctor_name.ikebukuro:after {
  content: "叶暁子";
}
.doctor_box .doctor_name.yokohama:after {
  content: "奥田美津子";
}
.doctor_box .doctor_name.kawasaki:after {
  content: "青木隼人";
}
.doctor_box .doctor_name.nagoya:after {
  content: "波戸岡俊三";
}
.doctor_box .doctor_name.meieki:after {
  content: "町田裕美子";
}
.doctor_box .doctor_name.niigata:after {
  content: "出羽厚二";
}
.doctor_box .doctor_name.shizuoka:after {
  content: "鈴木寛子";
}
.doctor_box .doctor_name.osaka:after {
  content: "辰巳一幸";
}
.doctor_box .doctor_name.shinsaibashi:after {
  content: "中村将希";
}
.doctor_box .doctor_name.kobe:after {
  content: "伊藤昴";
}
.doctor_box .doctor_name.kyoto_kawaramachi:after {
  content: "松浦利津";
}
.doctor_box .doctor_name.hiroshima:after {
  content: "叶康司";
}
.doctor_box .doctor_name.fukuoka:after {
  content: "山村鈴奈";
}
.doctor_box .doctor_career_title {
  font-size: calc(100vw / var(--viewport) * 22);
}
.doctor_box .doctor_career_title:before {
  content: "";
  display: inline-block;
  width: 2vw;
  height: 2vw;
  background: #00aafa;
  margin-right: 2%;
  vertical-align: middle;
}
.doctor_box .doctor_career_txt {
  font-size: calc(100vw / var(--viewport) * 20);
  font-weight: normal;
  margin-top: 4%;
  line-height: 1.5;
}
.doctor_area_btn {
  display: flex;
  justify-content: space-between;
  padding: 0 4vw;
}
.doctor_area_btn .btn {
  width: 80%;
  font-size: calc(100vw / var(--viewport) * 20);
  margin: 6% auto 0;
}
.doctor_area_btn .btn a {
  padding: 4%;
  color: #fff;
  background: #20396F;
  font-weight: bold;
  border: none;
}
.doctor_area_btn .btn a:before {
  content: none;
  width: 2vw;
  height: 2vw;
}
.doctor_area_btn .btn span {
  display: block;
  margin-bottom: 2%;
}
@media screen and (min-width: 768px) {
  h2.title > span:after {
    bottom: -2px;
    border-bottom: 4px solid #00aafa;
  }
  .section_doctorIntroduce .line-title {
    margin-top: 80px;
  }
  .white_box_area {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .white_box {
    margin: 60px 0 0;
    width: 49%;
    box-sizing: border-box;
    padding: 0 0 30px 0;
  }
  .white_box h3 {
    font-size: 22px;
    padding: 14px;
  }
  .white_box h3 span {
    font-size: 14px;
  }
  .doctor_box {
    margin-top: 4%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    height: 190px;
    padding: 0 30px;
  }
  .koriyama .doctor_box {
    height: 280px;
  }
  .doctor_box > div:first-of-type {
    width: 30%;
  }
  .doctor_box .doctor_career {
    width: 66%;
    font-size: 24px;
  }
  .doctor_box .doctor_name {
    font-size: 16px;
  }
  .doctor_box .doctor_name:after {
    font-size: 20px;
  }
  .doctor_box .doctor_career_title {
    font-size: 16px;
  }
  .doctor_box .doctor_career_title:before {
    width: 14px;
    height: 14px;
    vertical-align: bottom;
  }
  .doctor_box .doctor_career_txt {
    font-size: 13px;
  }
  .doctor_area_btn {
    padding: 0 30px;
  }
  .doctor_area_btn .btn {
    font-size: 14px;
  }
  .doctor_area_btn .btn a {
    padding: 3%;
    border: 2px solid #fff;
  }
  .doctor_area_btn .btn a:before {
    width: 20px;
    height: 20px
  }
  .doctor_area_btn .btn a:hover {
    color: #20396F;
    border: 2px solid #20396F;
  }
}
