@charset "UTF-8";

/* ************************************************************************************************
  1600px *pc
************************************************************************************************ */
@media screen and (max-width:1600px){
  /* ヘッダー */
  .header__ttl a img {
    width: 195px;
  }
  .header-nav__item {
    margin: 0 1.5rem;
  }
  .header-nav__list:nth-last-child(3) .header-nav__item {
    margin-right: 2.5rem;
  }
  .header-nav__item span {
    font-size: 1.2rem;
  }
}


/* ************************************************************************************************
  1440px *laptop-wide
************************************************************************************************ */
@media screen and (max-width:1440px){
  /* ヘッダー */
  .header__ttl {
    margin-left: 2%;
  }
  .header-main__txt {
    left: 2.5%;
  }
  .header-main p:nth-child(1) {
    font-size: 4rem;
  }
  .header-main p:nth-child(2) {
    font-size: 1.4rem;
  }

  /* トップページ */
  .recruit .container {
    width: 70%;
  }
}


/* ************************************************************************************************
  1280px *laptop-middle
************************************************************************************************ */
@media screen and (max-width:1280px){
  /* ヘッダー */
  .header-nav__list:last-child .header-nav__item,
  .header-nav__list:nth-last-child(2) .header-nav__item {
    display: none;
  }

  /* フッター */
  .access {
    padding: 10rem 1.5rem 2.5rem;
  }

  .access > .container {
    padding: 4rem;
  }

  /* トップページ */
  .treatment::before {
    top: -6.85%;
  }
  .treatment__list.--second .treatment__item {
    width: calc(100% / 4);
  }

  /* 下層ページ */
  /* 保険診療 */
  .p-treatment__menu ul li {
    padding: 0 1rem;
  }
  .p-treatment__box {
    padding: 10rem 0 20rem;
  }
}


/* ************************************************************************************************
  1024px *laptop-narrow
************************************************************************************************ */
@media screen and (max-width:1024px){
  /* タイトル */
  .index__ttl {
    font-size: 2.4rem;
    margin-bottom: 8rem;
  }
  .index__ttl span {
    font-size: 1.1rem;
  }
  .index__ttl::after {
    width: 55px;
    height: 65px;
  }

  /* ヘッダー */
  header,
  header .container2 {
    height: 65px;
  }
  header.hide {
    top: -65px;
  }
  .header-nav {
    display: none;
  }
  #nav-drawer {
    display: block;
    margin-right: 2rem;
  }

  /* フッター */
  .access__contents {
    display: block;
  }
  .access__schedule table {
    width: 100%;
  }
  .access__img {
    margin-bottom: 3rem;
  }
  .access__img img {
    width: 100%;
    height: 100%;
  }
  footer {
    margin-top: 2rem;
  }
  .footer__sns {
    margin-bottom: 1.5rem;
  }

  /* トップページ */
  .feature__ttl h3 {
    font-size: 3rem;
  }

  .recruit .container {
    width: 80%;
  }

  /* 下層ページ */
  /* タイトル */
  h3.p-page__subttl,
  h3.p-page__subttl2 {
    font-size: 2.25rem;
    padding: 1rem;
    margin-bottom: 5rem;
  }
  h3.p-page__subttl::after,
  h3.p-page__subttl2::after {
    height: 30px;
  }
}


/* ************************************************************************************************
  960px *tab-wide
************************************************************************************************ */
@media screen and (max-width: 960px){
  /* タイトル */
  h2 {font-size: 3rem;}
  h4 {font-size: 2.3rem;}

  /* ボタン */
  .btn1, .btn2,
  .nav-previous, nav-next {
    font-size: 1.5rem;
  }

  /* 下層ページヘッダー */
  .header-sub__ttl {
    margin-bottom: 1rem;
  }

  /* トップページ */
  .header-main p:nth-child(1) {
    font-size: 3.25rem;
  }

  .news {
    padding: 8.5rem 1.5rem;
  }
  .feature {
    padding: 8.5em 0 20rem;
  }
  .treatment {
    padding: 8.5rem 0 12.5rem;
  }
  .recruit {
    padding: 12.5rem 0 20rem;
  }
  .blog {
    padding: 12.5rem 0 10rem;
  }

  .treatment::before {
    top: -8%;
  }
  .treatment__list.--first {
    margin-bottom: 5rem;
  }
  .treatment__list.--second {
    gap: 15px;
  }
  .treatment__list.--first .treatment__item a {
    width: 215px;
  }
  .treatment__list.--first .treatment__item a:hover::after {
    transform: scale(1.25);
  }
  .treatment__list.--first .treatment__item a h3 {
    font-size: 1.6rem;
  }
  .treatment__list.--second .treatment__item {
    width: 200px;
    height: 200px;
  }
  .treatment__list.--second .treatment__item a {
    width: 200px;
    height: 200px;
  }
  .treatment__list.--second .treatment__item a h3 {
    font-size: 1.6rem;
  }
  .treatment__list.--second .treatment__item a p {
    font-size: 1rem;
  }

  .blog::before {
    top: -6.5%;
  }
  .blog__item {
    width: calc(100% / 2 - .7rem);
  }
  .blog__overlay {
    top: 0 !important;
    transition: none;
  }

  /* 下層ページ */
  /* 保険診療&自由診療 */
  .p-treatment__maintenance ul li {
    width: calc(100% / 2 - 1.5rem);
  }
  .p-treatment {
    margin: 15rem 0 0;
  }
  .p-treatment__box2 {
    padding: 10rem 0;
  }
  .p-treatment__box3 {
    padding: 10rem 0;
  }
  .p-treatment__box4 {
    padding: 10rem 0;
  }
  .p-treatment__box5,
  .p-treatment__box6 {
    padding: 10rem 0 20rem;
  }
  .p-treatment__box7 {
    padding: 10rem 0 15rem;
  }
  .p-treatment__box8 {
    padding: 10rem 0 0;
  }
  .p-treatment__menu ul li {
    width: calc(100% / 2 - 2rem);
    margin-bottom: 2rem;
  }

  /* 院長・スタッフ紹介 */
  .p-staff__outline {
    padding: 2.5rem;
  }

  /* 当院について */
  .p-clinic__gallery {
    gap: .5rem;
  }
}


/* ************************************************************************************************
  781px *tab-narrow
************************************************************************************************ */
@media screen and (max-width: 781px){
  /* スクロールダウン */
  .scroll-down--line {
    right: 50%;
  }

  /* トップページ */
  .header-main__txt {
    height: 125px;
    bottom: 20%;
  }

  .feature__box {
    width: 80%;
    margin-bottom: 5rem;
  }
  .feature__img img {
    height: 375px;
  }

  .treatment__list.--second {
    justify-content: space-around;
    width: 90%;
    margin: 0 auto;
  }

  /* 下層ページ */
  /* 保険診療&自由診療 */
  .p-treatment__box::before {
    top: -1.4%;
  }
  .p-treatment__list {
    padding: 2.5rem;
  }
  .p-treatment__item {
    flex-wrap: wrap;
    gap: 2rem;
    margin-bottom: 4rem;
  }
  .p-treatment__txt {
    width: 100%;
  }
  .p-page__img img {
    margin-bottom: 2rem;
  }
  .p-treatment__txt2 img {
    width: 105px;
    top: -15%;
  }
  .p-treatment__txt2 h4 {
    width: 70%;
    line-height: 1.6;
  }
  .p-treatment__txt2 h4 span {
    margin-right: 1.5rem;
  }
  .p-treatment__txt2 p {
    width: 100%;
  }
  .p-treatment_wrap3 {
    margin-bottom: 4rem;
  }
  .p-treatment__box3::before {
    top: -3%;
  }
  .p-treatment__item3 {
    width: calc(100% / 1 - 1rem);
  }
  .p-treatment__box4::before {
    top: -7%;
  }
  .p-treatment__list5 {
    display: block;
  }
  .p-treatment__item5 {
    padding: 5px;
  }
  .p-treatment__maintenance h3 {
    font-size: 2.4rem;
    margin-bottom: 1.5rem;
  }
  .p-treatment__box5::before {
    top: -3.25%;
  }
  .p-treatment__box7::before {
    top: -9%;
  }
  .p-treatment__box8::before {
    top: -4%;
  }
  .p-treatment__list,
  .p-treatment__list2,
  .p-treatment__list3,
  .p-treatment__list4 {
    margin-bottom: 5rem;
  }

  /* 院長・スタッフ紹介 */
  .p-staff {
    margin: 15rem 0 0;
  }
  .p-staff__box {
    display: block;
  }
  .p-staff__img {
    width: 100%;
    margin-bottom: 2rem;
  }
  .p-staff__box p {
    width: 100%;
  }

  /* 当院について */
  .p-clinic {
    margin: 15rem 0 5rem;
  }
  .p-clinic__img img {
    width: 100%;
    height: 350px;
  }
  .p-clinic__table {
    width: 85%;
  }
  .p-clinic__guidance ul.p-treatment__list2 {
    padding: 4rem;
  }
  .p-clinic__item {
    width: calc(98% / 2);
  }
  .p-clinic .p-treatment__txt2 h4 {
    width: 100%;
  }
  .clinic__bg {
    margin-bottom: 10rem;
  }

  /* 採用情報 */
  .p-recruit {
    margin: 15rem 0 0;
  }
  .p-recruit__message {
    margin-bottom: 15rem;
  }
  .p-recruit__job-desc {
    padding: 5rem 0 15rem;
    margin-bottom: 0;
  }

  /* お知らせ */
  .p-news {
    margin: 15rem 0;
  }
  .p-news--single {
    margin: 15rem 0;
  }

  /* ブログ */
  .p-blog,
  .p-blog--single {
    margin: 15rem 0;
  }
  .p-blog--single .container {
    display: block;
  }
  .p-blog__post {
    width: 100%;
  }
  .p-blog__contents {
    margin-bottom: 4rem;
  }
  ul.side-widget-area {
    margin-bottom: 10rem;
    width: calc(50% - 1rem);
  }
}


/* ************************************************************************************************
  600px *sp-wide
************************************************************************************************ */
@media screen and (max-width: 600px){
  /* タイトル・テキスト・画像 */
  h2 {font-size: 2.6rem;}
  h3 {font-size: 2.4rem;}
  h4 {font-size: 2rem;}
  h5 {font-size: 1.6rem;}
  p {font-size: 1.2rem;}

  a {font-size: 1.2rem;}
  img {max-width: 100%;}

  .index__ttl {
    margin-bottom: 4rem;
  }
  .header-sub__ttl {
    font-size: 3rem;
    margin-bottom: 0;
  }
  .header-sub__txt {
    font-size: 1.4rem;
  }
  h3.p-page__subttl,
  h3.p-page__subttl2 {
    font-size: 2rem;
  }

  /* ボタン */
  .btn1, .btn2,
  .nav-previous, .nav-next {
    font-size: 1.3rem;
    width: 171px;
    height: 45px;
    line-height: 45px;
  }

  /* パンくずリスト */
  .breadcrumb {
    bottom: -12.5%;
    padding: 0 0 0 1.5rem;
  }

  /* ヘッダー */
  #nav-content {
    width: 50%;
  }

  /* 下層ページヘッダー */
  .header-sub {
    height: 60vh;
  }

  /* フッター */
  footer {
    margin-bottom: 7rem;
  }
  .map iframe {
    height: 350px;
  }
  .access > .container {
    padding: 2rem;
  }
  .access__tel > span {
    font-size: 3rem;
  }
  .access__schedule table th,
  .access__schedule table td {
    padding: .5rem;
    font-size: 1.2rem;
  }
  .fa-tooth::before {
    font-size: 14px;
  }

  small {
    font-size: 1.1rem;
  }

  #page_top,
  #page_top a {
    width: 50px;
    height: 50px;
    bottom: 8rem;
  }
  #page_top a::before {
    bottom: -16rem;
  }

  #shcedule_btn {
    transform: translateX(calc(100% - 58px));
    top: auto;
    bottom: 25%;
  }
  #shcedule_btn a {
    padding: 4px 20px;
  }

  #footer_bar {
    display: block;
    position: fixed;
    bottom: -100px;
    left: 0;
    width: 100%;
    z-index: 1;
    animation: slideUp 0.4s ease-out forwards;
  }
  #footer_bar ul {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    text-align: center;
  }
  #footer_bar ul li {
    width: calc(100% / 2);
    transition: .3s all;
  }
  #footer_bar ul li:hover {
    background-color: #9ED8F6;
    transition: .3s all;
  }
  #footer_bar ul li:nth-child(1) {
    background-color: #0C9FDC;
    color: #fff;
  }
  #footer_bar ul li:nth-child(2) {
    background-color: #C0DD67;
    color: #fff;
  }
  #footer_bar ul li a {
    display: block;
    padding: 1rem 0;
  }
  @keyframes slideUp {
    from {
      bottom: -100px;
      opacity: 0;
    }
    to {
      bottom: 0;
      opacity: 1;
    }
  }

  /* ウィジェット */
  .footer__widget {
    display: block;
  }
  .widget-area {
    width: 100%;
    margin-bottom: 3rem;
  }
  .footer__widget h5 {
    font-weight: bold;
  }
  .footer__widget li {
    font-size: 1.2rem;
  }

  /* トップページ */
  .news__date {
    font-size: 1.4rem;
    margin-left: 0;
  }
  .news__ttl {
    font-size: 1.6rem;
  }
  .news__txt {
    display: block;
    text-align: left;
  }

  .feature__box {
    width: 90%;
  }
  .feature__box::after {
    width: 395px;
    height: 305px;
  }
  .feature__ttl h3 {
    font-size: 2rem;
  }

  .treatment::before {
    top: -7.5%;
  }
  .treatment__list.--first {
    gap: 2rem;
  }
  .treatment__list.--first .treatment__item {
    border-right: 1px solid transparent;
  }
  .treatment__list.--second .treatment__item {
    width: calc(100% / 3);
  }
  .treatment__list.--second .treatment__item {
    width: 150px;
    height: 150px;
  }
  .treatment__list.--second .treatment__item a {
    width: 150px;
    height: 150px;
  }

  .recruit .container {
    padding: 6rem 4rem;
    width: 90%;
  }

  .blog::before {
    top: -3.9%;
  }
  .blog__item {
    width: calc(100% / 1 - .7rem);
  }

  /* 下層ページ */
  /* 保険診療&自由診療 */
  .p-page__txt {
    margin-bottom: 4rem;
  }
  .p-treatment__select {
    font-size: 1.8rem;
  }
  .p-treatment__box {
    padding: 8rem 0 16rem;
  }
  .p-treatment__box2,
  .p-treatment__box3,
  .p-treatment__box4 {
    padding: 8rem 0;
  }
  .p-treatment__box5,
  .p-treatment__box6 {
    padding: 8rem 0 15rem;
  }
  .treatment__box7 {
    padding: 8rem 0 12rem;
  }
  .p-treatment__menu {
    margin-bottom: 13rem;
  }
  .p-treatment__list {
    margin-bottom: 6rem;
  }
  .p-page__img img {
    height: 295px;
  }
  .p-treatment__box::before {
    top: -1.5%;
  }
  .p-treatment__box5::before {
    top: -3.5%;
  }
  .p-treatment__box6::before {
    top: -5.1%;
  }
  .p-treatment__box7::before {
    top: -8%;
  }
  .p-treatment__box8::before {
    top: -4.7%;
  }
  .p-treatment__maintenance h3 {
    font-size: 2rem;
  }
  .p-treatment__maintenance h3::before,
  .p-treatment__maintenance h3::after {
    width: 15px;
    height: 15px;
  }
  .p-treatment__maintenance ul li {
    width: calc(100% / 1 - 1.5rem);
  }

  /* 院長・スタッフ紹介 */
  .p-staff__wrap {
    display: block;
    padding: 3rem;
  }
  .p-staff__wrap table,
  .p-staff__wrap ul {
    width: 100%;
  }
  .p-staff__wrap table {
    margin-bottom: 2rem;
  }
  .p-staff__wrap table caption,
  .p-staff__wrap ul figcaption {
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
  .p-staff__list,
  .staff__bg {
    margin-bottom: 10rem;
  }
  .p-staff__wrap table th {
    width: 25%;
  }
  .p-staff__wrap table tr,
  .p-staff__wrap ul li {
    font-size: 1.1rem;
  }
  .p-clinic__guidance ul.p-treatment__list2 {
    padding: 2rem;
  }

  /* お知らせ */
  .p-news__ttl {
    font-size: 3rem;
  }
  .p-news__txt p {
    font-size: 1.6rem;
  }

  /* ブログ */
  .p-blog__ttl {
    font-size: 3rem;
  }
  .p-blog__txt p {
    font-size: 1.6rem;
  }
  ul.side-widget-area {
    margin-bottom: 7rem;
    width: calc(100% - 1rem);
  }
}


/* ************************************************************************************************
  425px　*sp-narrow
************************************************************************************************ */
@media screen and (max-width: 425px) {
  /* タイトル・テキスト */
  h2 {font-size: 2.4rem;}
  h3 {font-size: 2.1rem;}
  h4 {font-size: 1.8rem;}
  h5 {font-size: 1.5rem;}
  p {font-size: 1.2rem;}

  h3.p-page__subttl,
  h3.p-page__subttl2 {
    font-size: 1.8rem;
  }

  /* フッター */
  .access__schedule table caption {
    font-size: 1.2rem;
  }

  /* トップページ */
  .header-main p:nth-child(1) {
    font-size: 2.5rem;
  }
  .header-main p:nth-child(2) {
    font-size: 1.2rem;
  }

  .treatment__list.--first .treatment__item a {
    width: 150px;
  }
  .treatment__list.--first .treatment__item a h3 {
    font-size: 1.4rem;
  }

  /* 下層ページ */
  .header-sub__item {
    width: 90%;
  }
  
  /* 保険診療&自由診療 */
  .p-treatment {
    margin: 10rem 0 0;
  }
  .p-treatment__select {
    font-size: 1.4rem;
  }
  .p-treatment__select::before, .p-treatment__select::after {
    width: 3rem;
  }
  .p-treatment__box2::before {
    top: -4%;
  }
  .p-treatment__menu ul li {
    width: calc(100% - 2rem);
    margin-bottom: 1rem;
  }
  .p-treatment__img img {
    width: 150px;
    height: 150px;
  }
  .p-treatment__list {
    padding: 1.5rem;
  }
  .p-treatment__item {
    margin-bottom: 2rem;
  }
  .p-treatment_wrap3 ul li {
    font-size: 1.4rem;
  }
  .p-treatment__item4 {
    display: block;
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
  }
  .p-treatment__img4 {
    margin-bottom: 2rem;
  }
  .p-treatment_wrap4 {
    width: 100%;
    padding-right: 0;
  }
  .p-treatment_wrap4 span {
    font-size: 1.2rem;
  }
  .p-treatment__txt2 h4 span {
    width: 36px;
    height: 36px;
  }
  .p-treatment__maintenance p {
    font-size: 1.2rem;
  }

  /* 院長・スタッフ紹介 */
  .p-staff {
    margin: 10rem 0 0;
  }

  /* 当院について */
  .p-clinic {
    margin: 10rem 0 5rem;
  }
  .p-clinic__item {
    width: 100%;
  }
  .p-clinic__table {
    width: 100%;
  }
  .p-clinic__table th {
    text-align: center;
  }
  .p-clinic__table th,
  .p-clinic__table td {
    display: block;
    width: auto;
    padding: 1.5rem;
  }

  /* 採用情報 */
  .p-recruit {
    margin: 10rem 0 0;
  }
  .p-recruit__message {
    margin-bottom: 10rem;
  }
  .p-recruit__job-desc {
    padding: 5rem 0 10rem;
  }
  .p-recruit__job-desc::before {
    top: -3.5%;
  }
  .p-recruit__table th {
    text-align: center;
  }
  .p-recruit__table th,
  .p-recruit__table td {
    display: block;
    width: auto;
    padding: 1.5rem;
  }

  /* お知らせ */
  .p-news {
    margin: 10rem 0;
  }
  .p-news--single {
    margin: 10rem 0;
  }

  /* ブログ */
  .p-blog {
    margin: 10rem 0;
  }
  .p-blog--single {
    margin: 10rem 0;
  }
  .blog__thumbnail img {
    height: 275px;
  }
}
