﻿@media only screen and (min-width: 769px)and (max-width: 1600px) {
  .idx_doctor .btn-group {
    justify-content: space-between
  }
  .idx_doctor .btn-group .btn {
    width: calc((100% - 2em)/3);
    margin: 0
  }
  .idx_doctor .idx_box {
    align-items: flex-start
  }
  .idx_doctor .doctor_img {
    margin: 110px 0 0
  }
  .idx1 .idx1_img {
    max-width: 800px
  }
  .idx1 .idx1_inner .ttl03 {
    max-width: 720px
  }
}
@media only screen and (min-width: 769px)and (max-width: 1440px) {
  .idx1 .idx1_img {
    max-width: 750px;
    margin-left: -12%
  }
  .idx1 .idx1_inner .ttl03 {
    max-width: 620px
  }
}
@media only screen and (min-width: 769px)and (max-width: 1400px) {
  .idx2 .idx2_list .item .ttl01 {
    font-size: min(1.5vw, 20px);
    letter-spacing: 0
  }
  .idx1 .idx1_img {
    margin-left: -5%
  }
  .text_catch {
    padding: 3vw
  }
  .text_catch .bold {
    font-size: min(2.1vw, 1.5em)
  }
}
@media only screen and (min-width: 769px)and (max-width: 1024px) {
  .idx1 .idx1_img {
    margin-left: 5%
  }
}
@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: .7em
  }
  .home_page h3 .big {
    left: 50%;
    font-size: min(3em, 13vw);
    transform: translateX(-50%)
  }
  .home_page .sp {
    display: block
  }
  .home_page .pc {
    display: none
  }
  .home_page .list_video {
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px
  }
  .home_page .list_video li {
    width: calc(50% - 10px);
    max-width: 300px;
    height: auto;
    aspect-ratio: 16/9;
    overflow: hidden
  }
  .text_catch {
    margin-top: 20px;
    padding: 1.5em
  }
  .text_catch p {
    font-size: 18px
  }
  .text_catch .bold {
    font-size: 18px
  }
  .text_catch:after {
    inset: 0
  }
  .idx3 {
    padding: 60px 0;
    --w: 120px
  }
  .idx3 .txt3 {
    padding: 20px;
    margin-top: 20px
  }
  .idx3 .idx3_img {
    margin: 40px auto 0
  }
  .idx3 .box01 {
    padding-top: calc(var(--w1) - .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) - .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% !important
  }
  .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;
    letter-spacing: .05em
  }
  .idx3 .box02 .txt .ttl {
    font-size: 1.1em
  }
  .idx3 .box02 .txt2 .txt {
    margin-top: 25px
  }
  .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: 50px
  }
  .idx3 .idx3_list .item > .idx3_box_style01 {
    margin-bottom: 40px
  }
  .idx3 .idx3_list .item > .idx3_box_style01 > figure {
    margin-bottom: 0;
    max-width: 400px
  }
  .idx3 .idx3_list .item:last-child .idx3_box_style01, .idx3 .idx3_list .item:last-child > div:last-child {
    margin-bottom: 0
  }
  .idx3 .idx3_list .item:last-child .idx3_box_style01 .idx3_box_style01, .idx3 .idx3_list .item:last-child .idx3_box_style01 .box02:last-child, .idx3 .idx3_list .item:last-child .idx3_box_style01 figure, .idx3 .idx3_list .item:last-child > div:last-child .idx3_box_style01, .idx3 .idx3_list .item:last-child > div:last-child .box02:last-child, .idx3 .idx3_list .item:last-child > div:last-child figure {
    margin-bottom: 0
  }
  .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 .box02:last-child, .idx3 .idx3_box_style02 .box02:last-child, .idx3 .idx3_box_style03 .box02:last-child, .idx3 .idx3_box_style04 .box02:last-child, .idx3 .idx3_box_style05 .box02:last-child {
    margin-bottom: 0
  }
  .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 .box02 .idx3_box_style01 > .txt {
    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
  }
  .idx3 .title {
    font-size: 1.15em
  }
  .idx3 .box02 .txt ul li::before {
    top: 12px
  }
}
@media only screen and (max-width: 480px) {
  .home_page .list_video li {
    width: 100%
  }
  .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: .079em
  }
  .idx3 .box_ul.box_p {
    padding: 14px
  }
  .idx3 .box_ul.box_p p {
    font-size: 16px;
    letter-spacing: .079em;
    line-height: 1.5
  }
  .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 + 40vw) 0 40px
  }
  .idx1 .idx1_inner {
    display: block
  }
  .idx1 .idx1_inner.left {
    margin: 40px 0 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 auto
  }
  .idx1 .idx1_inner .ttl03 {
    font-size: 16px;
    letter-spacing: 0;
    max-width: 100%;
    text-align: justify
  }
  .idx1 .idx1_inner .ttl03 p {
    letter-spacing: 0
  }
  .idx1 .idx1_inner .ttl04 {
    margin: 0 -20px 20px;
    font-size: 20px;
    letter-spacing: 0;
    text-align: center
  }
  .idx1 .idx1_inner .ttl04::after {
    margin: 10px auto 0;
    background: url(../images/message_dot_sp.png) center bottom no-repeat;
    background-size: 31px auto
  }
  .idx1 .idx1_inner .idx1_cont {
    padding: 4% 0 0;
    min-height: inherit
  }
  .idx1 .idx1_inner .ttl05 {
    padding: 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_img02 img {
    width: 54vw
  }
  .idx1 .idx1_inner.left {
    --font-size: min(1em, 2vw);
    display: flex;
    align-items: center;
    flex-direction: column
  }
  .idx1 .idx1_inner.left .idx1_img {
    margin: 0 auto 2.5em;
    order: 2
  }
  .idx1 .idx1_inner.left .idx1_img01 img {
    border-radius: 10px
  }
  .idx1 .idx1_inner.left .idx1_cont {
    display: contents
  }
  .idx1 .idx1_inner.left .idx1_cont .ttl04 {
    order: 1
  }
  .idx1 .idx1_inner.left .idx1_cont .ttl05 {
    order: 3
  }
  .idx1 .idx1_inner.left .idx1_name {
    top: 8em;
    height: 16em;
    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
  }
  .idx1 .idx1_inner.left .idx1_name .name .jp {
    margin-bottom: .3em
  }
  .home_page .idx2 .wrap_title {
    margin: 0 0 30px
  }
  .home_page .idx2 .wrap_title.white .en {
    text-align: center;
    width: 100%;
    left: 0
  }
  .home_page .idx2 .wrap_title.white h3 {
    font-size: 22px;
    margin: 0 -20px 30px;
    margin-bottom: 30px;
    letter-spacing: 0
  }
  .home_page .wrap_title h3 {
    font-size: 1.7145em;
    margin-bottom: 25px
  }
  .home_page .wrap_title .big {
    font-size: min(12vw, 7.5em)
  }
  .home_page .wrap_title h3.md::after {
    margin-top: .4em;
    background: url(../images/message_dot_sp.png) center bottom no-repeat;
    background-size: 31px auto
  }
  .wrapper {
    position: relative
  }
  .TabContainer {
    min-height: calc(100vh - 123px)
  }
  .idx3 .wrap_title h3 {
    font-size: 24px;
    letter-spacing: 0
  }
}
@media only screen and (max-width: 480px) {
  .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: url("../images/idx2_bg_sp.jpg") center top no-repeat #f4f7fc;
    background-size: 100% auto
  }
  .idx2 h3 {
    margin-left: auto
  }
  .idx2 .idx2_list {
    max-width: 100%;
    margin: 40px auto 0;
    display: flex;
    justify-content: center;
    gap: 0 20px
  }
  .idx2 .idx2_list .item {
    width: calc(50% - 10px);
    max-width: 400px;
    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.1em;
    height: 100%
  }
  .idx2 .idx2_list .item .idx2_txt .ttl01 {
    font-size: min(2.6vw, 18px);
    letter-spacing: 0
  }
  .idx2 .idx2_list .item .ttl02 {
    font-size: 1em
  }
  .tab2 .idx2_list .i1 .ttl01 span {
    display: inline
  }
}
@media only screen and (max-width: 520px) {
  .idx2 .idx2_list {
    max-width: 100%;
    margin: 40px auto 0;
    display: flex;
    justify-content: center
  }
  .idx2 .idx2_list .item {
    width: 100%
  }
  .idx2 .idx2_list .item .idx2_txt {
    padding: 25px 20px 20px
  }
  .idx2 .idx2_list .item .idx2_txt .ttl01 {
    font-size: min(4.5vw, 20px)
  }
}
@media only screen and (min-width: 430px)and (max-width: 768px) {
  .idx_info .full span.pc {
    display: inline-block
  }
}
@media only screen and (max-width: 768px) {
  .idx_message {
    padding: 60px 15px
  }
  .idx_message .txt {
    padding: 0
  }
  .idx_message .txt p.title {
    font-size: 18px
  }
  .idx_message .txt p .ttl {
    font-size: 16px;
    text-underline-offset: 6px
  }
  .idx_info {
    padding: 60px 0px;
    background-image: url(../images/info_bg_sp.jpg)
  }
  .idx_info .row {
    max-width: 100%;
    margin: 0px auto
  }
  .idx_info .box_right {
    margin: 30px auto 0
  }
  .idx_info .box_right picture {
    margin-bottom: 20px
  }
  .idx_info .idx_map {
    height: 200px;
    margin-top: 20px
  }
  .idx_info .info-box {
    margin-top: 20px
  }
  .idx_info .ft_logo {
    display: table;
    max-width: 300px;
    margin: 0px auto 30px
  }
  .idx_info dl {
    --width: 22%;
    line-height: 2
  }
  .idx_info dl dd {
    line-height: 2;
    padding: 1em !important
  }
  .idx_info .full span:not(.pc), .idx_info dd span:not(.pc) {
    display: inline-block
  }
  .idx_info .box_left {
    width: 100%
  }
  .idx_info .row2 {
    flex-direction: column
  }
  .idx_info .row2 > div {
    width: 100%
  }
  .idx_info .row2 .box.b2 {
    margin-top: 3em
  }
  .idx_info .row2 .b1 {
    order: 1
  }
  .idx_info .row2 .b2 {
    order: 2
  }
  .idx_info .idx_map {
    margin-top: 30px
  }
  .gr_info {
    font-size: min(1em,2.5vw);
  }
  .gr_info > p {
    margin-bottom: 1em;
  }
  .gr_info > p a{
    height: auto;
	min-height: 5.4em;
  }
    .tel_click .icon::before {
        margin-right: 0.4em;
    }
  .idx_doctor {
    padding-top: 40px
  }
  .idx_doctor .doctor_img {
    padding: 0px 20px;
    margin-bottom: -40px
  }
  .idx_doctor .doctor_img img {
    border-radius: 10px
  }
  .idx_doctor .wrap_h3 {
    margin-bottom: 30px
  }
  .idx_doctor .wrap_h3 .h_en.big {
    text-align: center;
    font-size: min(12vw, 7.5em);
    left: 50%;
    transform: translateX(-50%)
  }
  .idx_doctor .wrap_h3 .h_en.sm {
    font-size: .8em;
    text-align: center
  }
  .idx_doctor .box_text {
    width: 100%
  }
  .idx_doctor .box_text h4 {
    margin-bottom: .5em;
    text-align: center;
    font-size: 20px;
    letter-spacing: 0
  }
  .idx_doctor .box_text h4::after {
    margin: 10px auto 0;
    background: url("../images/doctor_dot_sp.png") center bottom no-repeat;
    background-size: 31px auto
  }
  .idx_doctor .box_text .txt {
    text-align: justify
  }
  .idx_doctor .box_text .doctor_content {
    padding: 70px 20px 40px
  }
  .idx_doctor .box_text .doctor_content:before {
    top: 0;
    --left: 0;
    left: 0;
    width: 100%;
    border-radius: 0
  }
  .idx_doctor .btn-group {
    font-size: min(.625em, 1.7vw);
    justify-content: space-between
  }
  .idx_doctor .btn-group .btn {
    width: calc(33.33% - .7em);
    margin: 0
  }
  .idx_doctor .btn-group .btn a {
    font-size: 2em;
    min-height: 3em
  }
  .idx_doctor .more {
    margin-top: 2em
  }
  .idx_doctor .more .title {
    font-size: 1.25em
  }
}
@media only screen and (min-width: 491px) {
  .sp490 {
    display: none
  }
}
@media only screen and (max-width: 490px) {
  .idx1 {
    padding: min(180px, 60px + 40vw) 0 40px
  }
  .sp490 {
    display: block
  }
  .idx3 .box_ul ul li {
    line-height: 2
  }
  .idx3 .box_ul ul li::before {
    margin-right: .5em
  }
  .idx3 .box_ul {
    padding: 1em 1em
  }
  .idx_doctor .btn-group .btn a {
    letter-spacing: 0
  }
  .idx1 .idx1_inner .ttl01 {
    font-size: min(3.8vw, 18px)
  }
  .idx1 .idx1_inner .ttl02 {
    font-size: min(2em, 4.9vw);
    margin-top: .5em
  }
}
@media only screen and (max-width: 430px) {
  .idx_info dl {
    --width: 7.8em
  }
  .idx_info dl dd {
    padding: 1.2375em .5em 1.2375em 1em
  }
  .idx3 .wrap_title h3 .sp {
    display: none
  }
}
@media only screen and (max-width: 390px) {
  .idx_info dl dd a {
    font-size: min(1em, 3.1vw)
  }
  .idx_info dl {
    font-size: 12.5px;
    --width: 6.8em
  }
  .idx_info dl dt {
    padding-left: 1em;
    padding-right: .5em
  }
  .text_catch {
    padding: 1em
  }
}
@media only screen and (min-width: 371px) {
  .sp320 {
    display: none
  }
}
@media only screen and (max-width: 370px) {
  .sp320 {
    display: block
  }
  .home_page .wrap_title h3 {
    letter-spacing: 0;
    font-size: 20px
  }
  .idx1 .idx1_inner .ttl04, .idx_doctor .box_text h4 {
    font-size: 17px
  }
  .idx2 .idx2_list .item {
    padding: .3em
  }
  .text_catch p {
    font-size: 16px
  }
  .idx3 .box02 .txt ul li {
    letter-spacing: 0
  }
  .idx_info dl dd {
    letter-spacing: 0;
    padding: 1em .3em !important
  }
  .home_page .idx2 .wrap_title.white h3 {
    font-size: 18px;
    margin: 0 -20px 30px
  }
} /*# sourceMappingURL=index_sp.css.map */