@charset "UTF-8";
/* CSS Document */

@media screen and (max-width: 768px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .inner {
    padding: 0 15px;
    width: 100%;
    box-sizing: border-box;
  }
  .contents {
    padding: 0 15px;
    width: 100%;
    box-sizing: border-box;
  }
  .contents img {
    max-width: 100%;
    height: auto;
  }

  .img_left {
    float: none;
    width: 100%;
    margin: 10px 0;
  }
  .img_right {
    float: none;
    width: 100%;
    margin: 10px 0;
  }

  #clinic .flex2 {
    padding-top: 0px;
    margin-top: -28px !important;
  }

  /*  table-------------------------------------*/
  table {
    width: 100%;
    box-sizing: border-box;
  }
  table th,
  td {
    font-size: 14px;
    padding: 5px;
    margin-bottom: 12px;
    width: 10%;
    vertical-align: middle;
  }
  table.block {
    width: 100%;
  }
  table.block th,
  table.block td {
    display: block;
  }

  /*  header-------------------------------------*/
  header {
    font-family: 'ヒラギノ角ゴ ProN', sans-serif;
  }
  header .top {
    width: 100%;
    margin: 5px 0;
  }
  header .logo {
    width: 100%;
  }
  header .logo span {
    font-size: 10px;
    left: 16%;
    top: -2px;
  }
  header .logo span.pc {
    display: none;
  }
  header .logo img {
    width: 70%;
    margin-left: 3%;
    padding-top: 15px;
  }
  header .tel {
    display: none;
  }
  header .web {
    display: none;
  }

  nav {
    width: 100%;
  }

  nav ul {
    position: fixed;
    display: inherit;
    top: 0;
    right: 0;
    bottom: 100%;
    left: 0;
    overflow: hidden;
    flex-wrap: wrap;
    background: #fff;
    transition-duration: 0.5s;
    z-index: 9;
  }

  nav ul li {
    flex-basis: 100%;
    text-align: left;
    overflow: hidden;
    display: block;
  }
  nav li a {
    padding: 15px 10vw;
  }

  nav label {
    display: block;
    padding: 12px 14px 15px;
    background: url('../images/common/nv_sp.png') no-repeat;
    background-size: contain;
    position: fixed;
    top: 2%;
    right: 5%;
    z-index: 99;
  }

  nav label span:before {
    content: '';
    display: block;
    width: 5vw;
    height: 1px;
    margin-bottom: 3px;
    border-top: 1px solid #6b6b6b;
    transition-duration: 0.5s;
  }

  nav label span:after {
    content: '';
    display: block;
    width: 5vw;
    height: 4px;
    border-top: 1px solid #6b6b6b;
    border-bottom: 1px solid #6b6b6b;
    transition-duration: 0.5s;
  }

  nav input:checked ~ ul {
    bottom: 0;
    padding: 10vw 0;
    border-top: 5px solid #2f855a;
    z-index: 20;
  }
  nav input:checked ~ label span:before {
    transform: rotate(45deg) translate(2px, 4px);
  }

  nav input:checked ~ label span:after {
    border-top: none;
    transform: rotate(-45deg) translate(1px, -4.5px);
  }

  .mv {
    flex-wrap: wrap;
    height: auto;
  }
  .mv:after {
    display: none;
  }
  .mv > div {
    flex-basis: 100%;
  }

  .mv #mv_slide {
    height: 300px;
    order: 1;
  }
  .mv .txt {
    order: 2;
    position: relative;
    padding: 0 0 10px;
    font-size: 4vw;
    line-height: 2.6;
    left: 0;
    background: #f7f7f7;
  }
  .mv .txt p {
    font-size: 16px;
    text-align: center;
    line-height: 2;
  }

  .mv .txt:before {
    content: '';
    width: 100%;
    height: 15vw;
    background: url(../images/index/mv_cover_sp.png) no-repeat;
    background-size: 100% 15vw;
    position: absolute;
    top: -14vw;
    z-index: 1;
  }
  .day {
    width: 100%;
    display: block;
    margin: 10px 0;
    margin-bottom: 99px;
  }
  .news {
    width: 100%;
    display: block;
    margin: 30px 0 10px;
  }
  .news dl dt {
    float: none;
    padding: 0px;
  }
  .news dl {
    padding: 20px;
  }
  .news dl dd {
    font-size: 14px;
    letter-spacing: 0;
  }

  #info {
    padding-top: 20px;
  }
  #clinic .photo {
    width: 100%;
    display: block;
  }
  #clinic .photo:after {
    display: none;
  }
  #clinic .text {
    display: block;
    width: 100%;
    padding: 20px;
  }
  #clinic h2 {
    text-align: center;
  }
  #clinic h3 {
    text-align: center;
    font-size: 16px;
  }
  #clinic .flex {
    display: block;
    margin: 0 auto;
  }
  #clinic .flex .btn_mid {
    margin: 10px 0;
  }
  #dr .flex {
    display: block;
  }
  #dr .right {
    order: 1;
    margin: 0;
  }
  #dr .right img {
    /* height: 200px; */
    object-fit: cover;
  }
  #bnr {
    margin: 20px 0 50px;
  }
  #bnr .inner img {
    width: 100%;
    margin: 15px 0 0 0;
  }
  #case ul {
    width: 100%;
    margin-bottom: 0px;
  }
  #case ul li {
    display: block;
    padding: 10px 0;
  }
  #case ul li .box {
    height: auto;
    padding: 10px;
  }
  #case ul li .box .first,
  #case ul li .box .second {
    display: inline-block;
  }
  #case ul li .box .first {
    width: 30%;
    vertical-align: top;
  }
  #case ul li .box .first img {
    width: 100%;
    height: auto;
  }
  #case ul li .box .second {
    width: 60%;
    vertical-align: top;
  }
  #case h3 {
    font-size: 15px;
    margin: 5px 0 10px 0;
    font-weight: 400;
    text-align: center;
  }
  #case h3 span {
    display: block;
    font-size: 12px;
  }
  #case ul li .box .second {
    border-left: 1px solid #ede5db;
    border-top: none;
    padding-left: 10px;
    font-size: 14px;
  }
  #case a.btn_short {
    margin-top: 10px;
  }
  #treatment .tms .left {
    display: block;
    width: 100%;
    height: auto;
  }
  #treatment .tms .right {
    display: block;
    width: 100%;
    padding: 20px;
  }
  #treatment .tms .left:after {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 40%, #f7f7f7 100%);
  }
  #treatment ul {
    width: 100%;
    margin-top: 10px;
  }
  #treatment ul li {
    display: block;
  }
  footer {
    padding-bottom: 60px;
  }
  footer .left {
    display: block;
    width: 100%;
    margin: 0;
  }
  footer .left img {
    width: 80%;
  }
  footer .left {
    text-align: center;
  }
  footer .right {
    display: none;
  }
  table.footer {
    width: 100%;
  }
  .footer_list {
    display: none;
  }
  .copy {
    background: #ffffff;
    color: #6b6b6b;
    text-align: center;
    font-size: 12px;
    padding: 5px 0;
  }
  footer .fixed_btn {
    display: block;
    position: fixed;
    width: 100%;
    margin: auto;
    background: linear-gradient(#3066a8 50%, #2B5E9C 50%);
    bottom: 0;
  }
  footer .fixed_btn ul {
    width: 100%;
    display: table;
    table-layout: fixed;
    padding-left: 0;
    margin: 0;
  }
  footer .fixed_btn ul li {
    display: table-cell;
    text-align: center;
    padding: 15px 0;
    border-left: 2px solid #fff;
    text-indent: 0;
  }
  footer .fixed_btn ul li a {
    padding: 15px 5%;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
  }
  footer .fixed_btn ul li:first-child {
    border-left: none;
  }
  footer .fixed_btn ul li:nth-child(2) {
    background-color: #4cc764;
  }
  #page_top {
    right: 10px;
    bottom: 95px;
  }

  /*  ぱんくず------------------------------------*/
  ul.breadcrumb {
    box-sizing: border-box;
    padding: 5px 10px;
    width: 100%;
  }
  ul.breadcrumb li::after {
    font-size: 10px;
  }
  ul.breadcrumb li a {
    font-size: 11px;
  }

  /*  下層ページ------------------------------------*/
  .contents h1 {
    padding: 80px 0 50px;
  }
  .contents h1:before {
    bottom: 10px;
  }
  .contents h2 {
    padding-top: 30px;
  }
  .contents #case h3 {
    font-size: 14px;
    letter-spacing: 0.02em;
  }
  .contents #case h3::before {
    margin-right: 5px;
  }
  .footer_treatment {
    padding: 30px 0;
    margin: 50px 0 0;
  }
  .footer_treatment ul {
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .footer_treatment ul li {
    display: inline-block;
    width: 50%;
    margin: 0 0 30px;
  }
  form table td,
  form table th {
    display: block;
    width: 96%;
  }
  form table th {
    text-align: left;
  }
  form table th::before {
    content: 'Q.';
  }
  form table th.last {
    text-align: center;
  }
  form table th.last::before {
    display: none;
  }
  form table th.gray {
    display: none;
  }
  select {
    font-size: 13px;
  }
  input {
    font-size: 13px;
  }
  h1.entry-title {
    line-height: 1.3em;
    letter-spacing: 0.2em;
  }
  h1.entry-title::before {
    display: none;
  }
  h1.entry-title::after {
    display: none;
  }
  .selfchecksp th {
    width: 96%;
  }

  /*20220112_add*/

  .benzodiazepine h1:after {
    content: '';
    width: 100%;
    height: 120px;
    background: url(../images/index/tit_b.png) no-repeat top center;
    position: absolute;
    left: 0;
    top: 200px !important;
  }

  .serotonin h1:after {
    content: '';
    width: 100%;
    height: 120px;
    background: url(../images/index/tit_b.png) no-repeat top center;
    position: absolute;
    left: 0;
    top: 200px !important;
  }

  /*20220112_add*/
}

/*  btnはスマホサイズの時だけ-------------------------------------*/
@media screen and (max-width: 480px) {
  /*  btn-------------------------------------*/
  a.btn_mid {
    background: url('../images/common/btn_mid_sp.png') no-repeat;
    background-size: contain;
    display: block;
    width: 100%;
    padding-top: 10%;
    line-height: 0%;
    padding-right: 10px;
  }
  a.btn_short {
    background: url('../images/common/btn_short_sp.png') no-repeat center;
    background-size: contain;
    display: block;
    width: 100%;
    margin: 0 auto;
    font-size: 11px;
    letter-spacing: -0.1em;
  }
  a.btn_t {
    background: url('../images/common/btn_treatment_sp.png') no-repeat center;
    background-size: contain;
    display: block;
    margin: 20px auto 0;
    width: 100%;
    padding-right: 35%;
    box-sizing: border-box;
  }
  /*a.btn_long{display: none;}	*/
}

/*  つち追加　0826-------------------------------------*/
.opacity {
  filter: alpha(opacity=50);
  opacity: 0.5;
}
@media screen and (max-width: 768px) {
  .verticalalign {
    vertical-align: middle;
  }

  .news-box {
    background-color: #f7f7f7;
    padding: 0px 0 50px;
  }

  .news-box .wrap0814 {
    display: block;
    background-color: white;
    padding: 20px;
  }
  .wrap0814 .box001 {
    font-size: 15px;
    padding: 10px 0px;
  }

  .wrap0814 .box002 {
    padding-left: 0px;
  }

  .top .news_list .other_cate li {
    display: block;
    width: 100%;
  }
  .news-tex {
    display: none;
  }

  .news-box h3 {
    padding-bottom: 0px;
  }
  .jms {
    width: 100%;
    margin: 0px auto;
    padding: 0 15px;
    box-sizing: border-box;
  }
  .jms_sub {
    background-color: #5a5a5a17;
    padding: 15px;
    margin: 30px auto;
  }
  .jms_sub h2 {
    padding-top: 15px;
    line-height: 1.2;
    letter-spacing: 0.15em;
  }
  .inner h2 {
    font-size: 25px;
  }
  .inner h2:before {
    bottom: 57px;
  }
  .inner h2:after {
    top: 90px;
  }
  section#cv .flex .item_img,
  section#cv .flex .item_txt {
    flex-basis: 100%;
  }
  section#cv h2 {
    padding-top: 10px;
  }
  .sp {
    display: block !important;
  }

  .b {
    width: 100%;
  }
  .c {
    width: 17%;
    font-size: 12px;
  }
  .e {
    font-size: 12px;
  }
  .d {
    width: 10%;
  }
  .f {
    width: 32%;
  }
  .g {
    width: 48%;
  }
  .h {
    width: 100%;
  }
  .i {
    width: 5%;
  }
  .j {
    width: 7%;
  }
  .k {
    width: 20%;
  }
  /*横スクロールテーブル*/
  .scroll-table table {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .btn_long2 {
    width: 100%;
    height: auto;
  }

  .w100 {
    width: 100%;
  }

  .contents2 h1 {
    line-height: 1.1;
  }
  .contents2 h1:before {
    height: 180px;
  }
  .contents2 h1:after {
    top: 160px;
  }

  #top .inner h2:before {
    bottom: 0px;
  }
  #top .inner h2:after {
    top: 40px;
  }
  a.btn_long2 {
    background: url(../images/common/btn_long.png) no-repeat;
    display: block;
    width: 311px;
    height: 41px;
    color: #fff;
    text-align: center;
    line-height: 41px;
    font-weight: 400;
    margin: 21px auto;
  }

  span.font20 {
    font-size: 14px;
  }
  #clinic .text .flex_03 {
    padding-top: 0 !important;
  }

  #clinic .text .flex_04 {
    padding-bottom: 0 !important;
  }

  #clinic .text .flex_05 {
    display: block;
    margin: 0 auto;
  }

  #clinic .flex_05 .btn_mid {
    margin: 10px 0;
  }

  /*20210611*/
  #clinic .text ul li,
  #clinic ul.clinic_inner a.btn_welcom {
    display: block;
    width: 100%;
  }
  #clinic ul.clinic_inner {
    margin-bottom: 20px;
  }
  #clinic ul.clinic_inner li {
    float: none;
  }
  #clinic ul.clinic_inner a.btn_welcom:after {
    top: 53%;
    left: 25px;
  }
  /* end     20210611*/

  li {
    margin-left: 0;
    text-indent: -1em;
  }
  .contents h1:before {
    content: '';
    width: 100%;
    height: 120px;
    background: url(../images/index/tit_t.png) no-repeat top center;
    position: absolute;
    left: 0;
    bottom: 30px;
    top: 37px;
  }
  .counseling {
    width: 100%;
    margin-top: 15vw;
  }

  .counseling a {
    display: block;
    height: auto;
    font-size: 4.2vw;
    line-height: 1.4;
    padding: 20px 4vw 20px 23vw;
  }
  .counseling a img {
    width: 10vw;
    position: absolute;
    top: calc(50%-20px);
    left: 9vw;
  }

  .counseling a:before {
    width: 45vw;
    height: 45vw;
    right: 6vw;
  }
  .counseling a:after {
    border-width: 8px 0 8px 8px;
    position: absolute;
    left: 55vw;
  }
  .clinic_inner li {
    margin-left: 0em;
  }
  .case-list li {
    text-indent: 0em !important;
    margin-left: 0em !important;
  }

  /* .button {
    width: 100%;
  } */

  .button::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 25px;
    width: 0;
    height: 0;
    margin-top: -5px;
    border: 5px solid transparent;
    border-left: 5px solid #fff;
  }
  /* .line-button {
    width: 100%;
  } */

  .contents h1.stress {
    position: relative;
    color: #2f855a;
    text-align: center;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: 0.3em;
    padding: 80px 0 70px;
    line-height: 30px !important;
  }

  .contents h1.stress:after {
    content: '';
    width: 100%;
    height: 120px;
    background: url(../images/index/tit_b.png) no-repeat top center;
    position: absolute;
    left: 0;
    top: 150px !important;
  }

  .pay-box {
    display: block;
  }
  ul.list_main {
    padding-left: 0;
  }
  ul.list_main li {
    padding-left: 25px;
    font-size: 15px;
    letter-spacing: 0;
  }

  td.w75 {
    width: 10%;
  }
}

/*「うつ病の治療方法」記事内テーブル,リストSPレイアウト調整*/
@media screen and (max-width: 768px) {
  table.depression_treatment {
    width: 100%;
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 1em;
    table-layout: fixed;
  }
  table.depression_treatment th {
    font-size: 11px;
    padding: 5px;
    vertical-align: middle;
  }
  table.depression_treatment td {
    font-size: 11px;
    padding: 5px 10px;
    vertical-align: middle;
    text-align: left;
  }
  table.deoression_treatment th.medicine_index: {
    width: 10%;
  }

  ul.depression_treatment {
    margin: 1em 0;
  }
  ul.depression_treatment li {
    margin: 0.5em 0em 0.5em 2em;
    font-size: 15px;
  }

  .banner__inner a {
    display: block;
    margin: 0 auto;
    max-width: 90%;
  }

  .banner {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

@media screen and (max-width: 500px) {
  .banner__inner a {
    display: block;
    margin: 0 auto;
    max-width: 90%;
  }
  .banner__inner a img {
    width: 100%;
  }

  .banner {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}

/* web予約ページ */




@media (max-width: 768px) {
  .page-inner {
    padding: 0 2%;
  }

  .sp-only {
    display: block;
  }

  section .section-title {
    line-height: 1.4;
  }

  .page-links__list {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }

  .p-web__list {
    padding: 0;
    padding-left: 4%;
    padding-right: 4%;
  }

  .p-web__list.line {
    padding: 30px 30px 25px;
  }

  .clinic-info {
    padding: 30px 30px 25px;
  }

  li.page-links__list-item {
    display: inline-block;
    padding-left: 0;
  }

  .page-links__list-item {
    display: inline-block;
      width: 95%;
      max-width: 300px;
      margin: 0 auto;
  }

  .page-links__list-item a {
    display: block;
    text-align: center;
    margin: 0 auto;
    max-width: 300px;
    font-size: 1.2rem;

  }

  .section-links__list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 2rem;
    gap: 2rem;
    align-items: center;
  }

  .section-links__list-item {
    display: inline-block;
    width: 100%;
    text-align: center;
  }

  .section-links__list-item a {
    display: block;
    text-align: center;
    margin: 0 auto;
    width: 100%;
    max-width: 300px;
    width: 140px;
    line-height: 1.6;
    font-weight: 400;
    text-align: center;
    padding-right: 4px;
  }

  .reservation-flex {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .reservation-flex {
    gap: 2rem;
  }

  .reservation {
    margin-bottom: 80px;
  }

  .reservation-ginza.tel {
    margin-bottom: 60px;
  }
}


@media (max-width: 1068px) {
  .reservation-flex.tel {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .reservation-toride.tel {
    margin-top: 60px;
  }
}
