@charset "UTF-8";
@media only screen and (max-width: 768px) {
  .home_page .key {
    --height: calc(100vh - 60px);
    --max-height: 156vw;
    --min-height: 320px;
    font-size: 8px;
  }
  .home_page .key .key_text .item {
    padding: 10px;
  }
}
@media only screen and (max-width: 640px) {
  .home_page .key {
    font-size: 1.4vmin;
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key {
    font-size: 1.4vmin;
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3 {
    text-align: center;
    margin-bottom: 30px;
    font-size: 1.5em;
  }
  .home_page h3 .sm {
    margin: 0px auto;
    font-size: 0.7em;
  }
  .home_page h3 .big {
    left: 50%;
    font-size: min(3em, 13vw);
    transform: translateX(-50%);
  }
}
@media only screen and (max-width: 768px) {
  .idx3 {
    padding: 60px 0 40px;
    --w: 120px;
  }
  .idx3 h3 {
    max-width: 18em;
  }
  .idx3 .idx3_img {
    margin: 40px auto 0;
  }
  .idx3 .box01 {
    padding-top: calc(var(--w1) - 0.5em);
  }
  .idx3 .box01::after {
    top: 0;
  }
  .idx3 .box01::before {
    content: "医療ライター";
    position: absolute;
    top: calc((var(--w1) - 50px) / 2);
    right: calc(var(--w1) - 1.5em);
    font-weight: 500;
  }
  .idx3 .box01 .txt {
    padding: 20px;
    max-width: 100%;
  }
  .idx3 .box01 .txt h4 {
    font-size: 18px;
    letter-spacing: 0;
  }
  .idx3 .box01 .txt::after {
    bottom: unset;
    top: -1.87em;
    left: calc(100% - 5em);
    font-size: 16px;
    background-position: bottom center;
    background-size: 100% auto;
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_2' data-name='Layer 2' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 30 28'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23fff; fill-rule: evenodd; %7D .cls-2 %7B fill: %230087ce; %7D .cls-3 %7B fill: none; %7D .cls-4 %7B clip-path: url(%23clippath); %7D %3C/style%3E%3CclipPath id='clippath'%3E%3Cpolygon class='cls-3' points='0 28 30 0 24.9 28 0 28'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='Layer_1-2' data-name='Layer 1-2'%3E%3Cg%3E%3Cpath class='cls-1' d='M0,28L30,0l-5.1,28H0Z'/%3E%3Cg class='cls-4'%3E%3Cpath class='cls-2' d='M28.48,2.79l-5.16,28.29H-1.83S28.48,2.79,28.48,2.79M30,0L-4.37,32.08h28.53S30,0,30,0h0Z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  }
  .idx3 .box02 {
    margin-bottom: 30px;
    padding-top: calc(var(--w) - 0.5em);
  }
  .idx3 .box02.big {
    padding-top: 0;
  }
  .idx3 .box02.big::after {
    display: none;
    content: "";
  }
  .idx3 .box02.big .txt {
    margin-top: 0;
    max-width: 100%;
  }
  .idx3 .box02::after {
    content: "磯川先生";
    position: absolute;
    top: calc((var(--w) - 50px) / 2);
    left: calc(var(--w) - 1.5em);
    font-weight: 500;
  }
  .idx3 .box02 .txt2,
  .idx3 .box02 .txt {
    max-width: 100%;
  }
  .idx3 .box02 .txt2::after,
  .idx3 .box02 .txt::after {
    top: -1.7em;
    left: 2.7em;
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='30px' height='28px'%3E%3Cpath fill-rule='evenodd' fill='rgb(236, 242, 246)' d='M6.001,28.000 L-0.001,0.000 L30.001,28.000 L6.001,28.000 Z'/%3E%3C/svg%3E");
  }
  .idx3 .box02 .txt {
    padding: 20px;
  }
  .idx3 .box02 .txt p {
    letter-spacing: 0;
  }
  .idx3 .box02 .txt p.border {
    font-size: 16px;
    letter-spacing: 0;
  }
  .idx3 .box02 .txt ul li {
    font-size: 14px;
  }
  .idx3 .box_ul.box_p {
    padding: 20px;
  }
  .idx3 .box_ul.box_p p {
    font-size: 16px;
  }
  .idx3 .idx3_list {
    margin-top: 40px;
  }
  .idx3 .idx3_list .item:not(:last-child) {
    margin-bottom: 40px;
  }
  .idx3 .idx3_box_style01,
  .idx3 .idx3_box_style02,
  .idx3 .idx3_box_style03,
  .idx3 .idx3_box_style04,
  .idx3 .idx3_box_style05 {
    display: flex;
    flex-direction: column;
  }
  .idx3 .idx3_box_style01 figure,
  .idx3 .idx3_box_style01 .img_right,
  .idx3 .idx3_box_style01 .img_left,
  .idx3 .idx3_box_style02 figure,
  .idx3 .idx3_box_style02 .img_right,
  .idx3 .idx3_box_style02 .img_left,
  .idx3 .idx3_box_style03 figure,
  .idx3 .idx3_box_style03 .img_right,
  .idx3 .idx3_box_style03 .img_left,
  .idx3 .idx3_box_style04 figure,
  .idx3 .idx3_box_style04 .img_right,
  .idx3 .idx3_box_style04 .img_left,
  .idx3 .idx3_box_style05 figure,
  .idx3 .idx3_box_style05 .img_right,
  .idx3 .idx3_box_style05 .img_left {
    display: table;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 25px;
  }
  .idx3 .box_ul {
    width: 100%;
    padding: 20px;
  }
  .idx3 .idx3_box_style01 .box02 {
    margin-bottom: 20px;
  }
  .idx3 .idx3_box_style02 .box01 {
    width: 100%;
  }
  .idx3 .idx3_box_style02 .box01 .txt {
    padding: 20px;
  }
  .idx3 .idx3_box_style02 .img_right {
    margin-bottom: 0;
  }
  .idx3 .idx3_box_style03 .box01 {
    width: 100%;
  }
  .idx3 .idx3_box_style03 .box01 .txt {
    padding: 20px;
  }
  .idx3 .idx3_box_style03 figure {
    margin: 0 auto 40px;
  }
  .idx3 .idx3_box_style04 figure {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 480px) {
  .idx3 {
    --w: 90px;
  }
  .idx3 .box01 {
    margin-bottom: 20px;
  }
  .idx3 .box01 .txt {
    padding: 14px;
  }
  .idx3 .box01 .txt h4 {
    font-size: min(5vw, 18px);
    letter-spacing: 0;
  }
  .idx3 .box01 .txt h5 {
    font-size: min(4vw, 16px);
    letter-spacing: 0;
  }
  .idx3 .box02 .txt {
    padding: 14px;
  }
  .idx3 .box02 .txt p {
    letter-spacing: 0;
  }
  .idx3 .box02 .txt p.border {
    font-size: 16px;
    letter-spacing: 0.079em;
  }
  .idx3 .box_ul.box_p {
    padding: 14px;
  }
  .idx3 .box_ul.box_p p {
    font-size: 16px;
    letter-spacing: 0.079em;
    line-height: 1.5;
  }
  .idx3 .idx3_list {
    margin-top: 40px;
  }
  .idx3 .idx3_list .item:not(:last-child) {
    margin-bottom: 40px;
  }
  .idx3 .idx3_box_style01,
  .idx3 .idx3_box_style02,
  .idx3 .idx3_box_style03 {
    display: flex;
    flex-direction: column;
  }
  .idx3 .idx3_box_style01 .box01,
  .idx3 .idx3_box_style02 .box01,
  .idx3 .idx3_box_style03 .box01 {
    margin-bottom: 20px;
  }
  .idx3 .idx3_box_style01 .box01 .txt,
  .idx3 .idx3_box_style02 .box01 .txt,
  .idx3 .idx3_box_style03 .box01 .txt {
    padding: 14px;
  }
  .idx3 .idx3_box_style01 .box02 .txt,
  .idx3 .idx3_box_style02 .box02 .txt,
  .idx3 .idx3_box_style03 .box02 .txt {
    padding: 14px;
  }
  .idx3 .box_ul {
    width: 100%;
    padding: 15px 15px 5px;
  }
  .idx3 .idx3_box_style01 .box02 {
    margin-bottom: 25px;
  }
  .idx3 .idx3_box_style01 figure {
    margin: 0 auto 25px;
  }
  .idx3 .idx3_box_style02 {
    margin-bottom: 20px;
  }
  .idx3 .i10 .img_right {
    display: none !important;
  }
}
@media only screen and (max-width: 768px) {
  .idx1 {
    padding: min(200px, 60px + 30vw) 0 40px;
  }
  .idx1 .idx1_inner {
    display: block;
  }
  .idx1 .idx1_inner.left {
    margin: 0;
  }
  .idx1 .idx1_inner .ttl01 {
    margin-top: 0;
    font-size: 18px;
    text-align: center;
  }
  .idx1 .idx1_inner .ttl02 {
    text-align: center;
    letter-spacing: 0;
    font-size: min(2em, 4.5vw);
    margin: 20px 0;
  }
  .idx1 .idx1_inner .ttl03 {
    font-size: 16px;
    letter-spacing: 0;
  }
  .idx1 .idx1_inner .ttl04 {
    margin: 20px 0;
    text-align: center;
  }
  .idx1 .idx1_inner .ttl04::after {
    margin: 10px auto 0;
  }
  .idx1 .idx1_img {
    margin: 0 -20px 20px 0;
  }
  .idx1 .idx1_img02,
  .idx1 .idx1_img01 {
    overflow: hidden;
    border-radius: 0px 10px 10px 0;
  }
  .idx1 .idx1_inner.left {
    --font-size: min(1em, 2vw);
  }
  .idx1 .idx1_inner.left .idx1_img {
    margin: 0 0 20px -20px;
  }
  .idx1 .idx1_inner.left .idx1_name {
    min-height: 18em;
    left: calc(12% - 5vmin);
    right: auto;
  }
  .idx1 .idx1_inner.left .idx1_name span,
  .idx1 .idx1_inner.left .idx1_name p {
    white-space: nowrap;
  }
  .idx1 .idx1_inner.left .idx1_name .en::after {
    height: 50vw;
  }
  .wrapper {
    position: relative;
  }
  .TabContainer {
    min-height: calc(100vh - 123px);
  }
}
@media only screen and (max-width: 640px) {
  .idx1 {
    padding: min(240px, 60px + 30vw) 0 40px;
  }
}
@media only screen and (max-width: 480px) {
  .idx1 {
    background-image: url(../images/idx1_bg_sp.jpg);
  }
  .idx1 .idx1_inner .ttl01 {
    font-size: 18px;
  }
  .idx1 .idx1_inner.left .idx1_img {
    margin: 0 0 20px -20px;
  }
}
@media only screen and (max-width: 768px) {
  .idx2 {
    padding: 60px 0 40px;
  }
  .idx2::before {
    max-height: 100%;
    background-image: url(../images/idx2_bg_sp.jpg);
  }
  .idx2 h3 {
    margin-left: auto;
  }
  .idx2 .idx2_list {
    max-width: 100%;
    margin: 40px auto 0;
    display: flex;
    justify-content: space-between;
  }
  .idx2 .idx2_list .item {
    width: 48%;
    align-self: unset;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
  }
  .idx2 .idx2_list .item:not(:last-child) {
    margin-bottom: 25px;
  }
  .idx2 .idx2_list .item:last-child {
    margin-left: auto;
    margin-right: auto;
  }
  .idx2 .idx2_list .item figure::after {
    font-size: 60px;
  }
  .idx2 .idx2_list .item .idx2_txt {
    padding: 2em 1.5em;
    height: 100%;
  }
  .idx2 .idx2_list .item .idx2_txt .ttl01 {
    font-size: min(4.8vw, 18px);
    letter-spacing: 0;
  }
  .tab2 .idx2_list .i1 .ttl01 span {
    display: inline;
  }
}
@media only screen and (max-width: 480px) {
  .idx2 {
    background-size: 100%;
    background-position: top center;
    background-color: #f4f7fc;
    background-image: url(../images/idx2_bg_sp.jpg);
  }
  .idx2 .idx2_list {
    max-width: 100%;
    margin: 40px auto 0;
    display: flex;
    justify-content: space-between;
  }
  .idx2 .idx2_list .item {
    width: 100%;
  }
  .idx2 .idx2_list .item .idx2_txt {
    padding: 25px 20px 20px;
  }
}
@media only screen and (max-width: 768px) {
  .idx_message {
    padding: 60px 15px;
  }
  .idx_info {
    padding: 60px 0px;
    background-image: url(../images/info_bg_sp.jpg);
  }
  .idx_info .row {
    max-width: 610px;
    margin: 0px auto;
  }
  .idx_info .box_right {
    margin: 30px auto 0;
  }
  .idx_info .info-box {
    margin-top: 30px;
  }
  .idx_info .ft_logo {
    display: table;
    max-width: 200px;
    margin: 0px auto 30px;
  }
  .idx_info dl {
    --width: 22%;
    line-height: 2;
  }
  .idx_info dl dd {
    line-height: 2;
    padding: 1.4375em 1em 1.4375em 1.5em;
  }
  .idx_info .box_left {
    width: 100%;
  }
  .gr_info {
    max-width: 38em;
    margin: 0px auto;
    font-size: min(1em, 2.75vw);
  }
  .gr_info > p {
    width: calc(50% - 0.5em);
  }
  .idx_doctor {
    padding-top: 40px;
  }
  .idx_doctor .doctor_img {
    padding: 0px 20px;
  }
  .idx_doctor .doctor_img img {
    border-radius: 0px 0px 10px 10px;
  }
  .idx_doctor .box_text .doctor_content {
    padding: 40px 20px;
  }
  .idx_doctor .box_text .doctor_content:before {
    --top: 30px;
    top: calc(-1 * var(--top));
    height: calc(100% + var(--top));
    left: 0;
    width: 100%;
  }
  .idx_doctor .box_text .doctor_content h4 {
    margin-bottom: 0.5em;
    text-align: center;
  }
  .idx_doctor .box_text .doctor_content h4::after {
    margin: 10px auto 0;
  }
  .idx_doctor .more {
    margin-top: 2em;
  }
}
@media only screen and (max-width: 480px) {
  .idx1 .idx1_inner .ttl04 {
    font-size: 20px;
  }
}
@media only screen and (max-width: 430px) {
  .idx_info dl {
    --width: 8em;
  }
  .gr_info .web a:before {
    font-size: 0.95em;
  }
  .gr_info .web a span {
    font-size: 1.25em;
  }
  .gr_info .tel a .top {
    font-size: 0.8em;
  }
}

/*# sourceMappingURL=index_sp.css.map */