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

.sp-nav-container {
  display: none;
}


/*----------------------------------------------------

   1260px

------------------------------------------------------*/
@media screen and (max-width: 1260px) {
    
    header .h_right {
        padding-right: 15px;
    }
    .toplink-tbox > ul > li:nth-child(1) span,
    .toplink-tbox > ul > li:nth-child(2) span,
    .toplink-tbox > ul > li:nth-child(3) span,
    .toplink-tbox > ul > li:nth-child(4) span {
        background-position: center;
        background-size: cover;
    }
    
    .toplink-tbox > ul > li:nth-child(4) span {
        background-position: top -50px left -35px;
        background-size: clamp(300px, 28.5vw, 360px);
    }
    
    #mv.pagcover .area.one,
    #mv.pagcover .area.two,
    #mv.pagcover .area.thr,
    #mv.pagcover .area.for,
    #mv.pagcover .area.fiv,
    #mv.pagcover .area.six,
    #mv.pagcover .area.svn,
    #mv.pagcover .area.eit {
        background-position: center;
        background-size: cover;
    }
    
    #pagetop {
	right: 10px;
}

    header .logo {
    width: clamp(200px, 36.0vw, 410px);
}

    
    
}
/* END 1260px */


/*----------------------------------------------------

   タブレット用（959px）

------------------------------------------------------*/
@media screen and (max-width: 959px) {
    
    header .h_right {
        padding-right: 10px;
    }
    
    .nav-list {
    gap: 20px;
}

    .toplink-tbox {
    margin-top: 25px;
}
    
    .toplink-tbox > ul {
    gap: 20px;
}
        
    .topnews-tbox .news-list > ul > li .hed {
    margin-bottom: 10px;
}
    .topnews-tbox .news-list > ul > li a {
    display: block;
}    
    .topnews-tbox .news-pik .txt p {
    padding-bottom: 3px;
}
    .topnews-tbox .news-pik .txt dl {
    margin-top: 3px;
}
    
    .feature-tbox > .area.lef .txt-are {
    padding-right: 20px;
}
    .feature-tbox > .area.rig .txt-are {
    padding-left: 20px;
}
    .feature-tbox > .area {
    gap: 40px;
}
    
    .about-tbox > .area {
    gap: 40px;
}
    
    footer .f_area .f_text .hed {
    display: flex;
    align-items: center;
    justify-content: center;
}
    footer .f_area .f_text .hed span {
    width: clamp(32px, 4.5vw, 42px);
}
    footer .f_area .f_text .hed h2 {
    margin-top: 0;
    padding-left: 10px;
}
    
    .container {
    gap: 30px;
    padding-top: 30px;
    padding-bottom: 0;
}
    
    #mv.pagcover .area {
    padding-top: clamp(120px, 18.0vw, 160px);
}
    #mv.pagcover .content {
    height: clamp(120px, 18.0vw, 160px);
}
    #mv.pagcover .content .main {
    margin-top: 0;
}
    
    .main-content > h3 {
    padding-left: 8px 0 24px 18px;
}

    .peg-base {
    padding-left: 0;
    padding-right: 0;
}
    
    .peg-base.project .txt-title.mt30 {
        margin-top: 20px;
    }
    
    .staff-list > li {
        gap: 20px;
    }
    .staff-list > li .txt-are .spel dl {
    gap: 20px;
}
    
    .pan-menu {
    padding-top: 0;
    padding-bottom: 0;
}
    
    .pho-rig {
    margin-left: 25px;
}
    
    .txt-are-bumon > ul > li {
    padding-top: 13px;
    row-gap: 5px;
    flex-wrap: wrap;
    flex-direction: column;
}
    .peg-base .pho-are > ul {
    gap: 20px;
}
    
    .txt-are-resident .txt-are .pho-lef {
    margin-right: 25px;
}
    
    .peg-interview .list > dl > dt {
    gap: 10px;
}
    
    .peg-access .box-are {
    margin-top: 25px;
}
    
    .main-content .contact_tox h3 {
    padding-left: 18px;
}
    
    .contact_form > dl {
    gap: 20px;
    padding-bottom: 25px;
}
    
    #mv .content .mv-link {
    width: clamp(420px, 60.2vw, 520px);
}
    #mv.pagcover .content .lead {
    top: 34%;
}
    
    
    
}
/* END 959px */





/*----------------------------------------------------

   スマホ（768px）

------------------------------------------------------*/
@media screen and (max-width: 768px) {
    
    header .h_right {
        display: none;
    }
    
    article {
    padding-top: 75px;
}
    .sidebar {
    display: none;
}
    .container {
    padding-top: 30px;
}
    
    header {
    height: 75px;
    position: fixed;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.8);
}
    header h1 {
    font-size: 1.0rem;
}
    header .h_wrap {
        height: 75px;
        align-items: end;
        padding: 5px 10px 6px 10px;
}
    header .logo {
    padding: 0;
    width: calc(100% - 60px);
}
    header .logo img {
    width: clamp(1px, 48.2vw, 230px);
}    
    
    .toplink-tbox > ul {
        flex-wrap: wrap;
    }
    .toplink-tbox > ul > li {
        width: calc(100% / 2 - 10px);
    }
    .toplink-tbox > ul > li span {
        height: clamp(100px, 20vw, 140px);
    }
    .toplink-tbox > ul > li h3 {
    font-size: 1.5rem;
    line-height: 1.2;
    }
    .toplink-tbox > ul > li .arrow-btn .arrow {
        bottom: clamp(30px, 5.0vw, 38px);
    }
    .toplink-tbox > ul > li:nth-child(4) span {
        background-position: top -10vw left -30px;
        background-size: clamp(300px, 56.0vw, 430px);
    }
    
    
    .topnews-tbox .news-pik {
        display: none;
    }
    .topnews-tbox .title {
        width: 100%;
    }
    .topnews-tbox .title h4 {
        font-size: clamp(2.2rem, 3.6vw, 2.6rem);
    }
    .feature-tbox > h4 {
        font-size: clamp(2.2rem, 3.6vw, 2.6rem);
    }
    .topnews-tbox .news-list {
        margin-top: 10px;
    }
    
    .feature-tbox > .area {
        gap: 30px;
    }    
    .feature-tbox > .area.mt35 {
        margin-top: 25px;
    }    
    .feature-tbox > .area.mt65 {
        margin-top: 45px;
    }    
    .feature-tbox > .area .pho-are.one span,
    .feature-tbox > .area .pho-are.two span,
    .feature-tbox > .area .pho-are.thr span {
        background-position: center center;
        background-size: cover;
    }
    .feature-tbox > .area.lef .txt-are {
        padding-right: 0;
    }
    .feature-tbox > .area.rig .txt-are {
        padding-left: 0;
    }

    .feature-tbox > .area .txt-are .txt {
        margin-top: 15px;
    }
    .feature-tbox > .area .txt-are .txt p {
        line-height: 1.55;
    }
    
    .student-tbox {
    padding-top: 40px;
    padding-bottom: 45px;
    margin-top: 45px;
}
    .student-tbox > .area {
    flex-wrap: wrap;
    flex-direction: column;
    max-width: 500px;
    margin: 0 auto;
}
    .student-tbox > .area .txt-are {
    padding: 15px;
}
    .student-tbox > .area .txt-are .txt {
    padding-top: 0;
}
    .student-tbox > .area .txt-are .txt p {
    margin-bottom: 5px;
}
    .student-tbox > .area .pho-are span {
    width: auto;
    height: clamp(150px, 35.0vw, 200px);
}
    
    .about-tbox {
    padding-top: 40px;
}
    .about-tbox > .area {
    gap: 30px;
}    
    .about-tbox > .area .txt-are > h4 {
    padding-top: 20px;
}
    
    .banner-tbox {
    margin-top: 60px;
}
    .banner-tbox > ul {
    gap: 15px;
    row-gap: 15px;
    padding: 0 15px;
    padding-top: 25px;
}

    footer {
    margin-top: 35px;
}
    footer .f_area .f_text {
    padding: 0 15px;
    padding-top: 20px;
}
    footer .f_area .f_text .link .one,
    footer .f_area .f_text .link .two {
    max-width: none;
    width: clamp(220px, 36.3vw, 280px);
}
    
    .pan-nav {
        padding: 10px 0;
    }
    .pan-nav > ul {
        padding: 0 15px;
    }
    
    .txt-are-yoyak > ul > li {
    gap: 20px;
}
    
    .peg-doctor .txt-gtitle {
        margin-bottom: 5px;
    }
    .peg-doctor .txt-gtitle.mt35 {
        margin-top: 25px;
    }

    .peg-doctor .txt-title {
        margin-bottom: 10px;
    }
    .peg-doctor .txt-title.mt60 {
        margin-top: 35px;
    }
    
    .peg-base.project .txt-name.mt20 {
        margin-top: 15px;
    }
    
    .peg-greeting .prof strong {
    font-size: clamp(1.75rem, 2.8vw, 2.0rem);
}
    .peg-greeting .txt-are .tai {
    font-size: clamp(1.85rem, 3.3vw, 2.2rem);
}
    .peg-group .txt-mesg p {
    font-size: clamp(1.55rem, 2.4vw, 1.65rem);
}
    .txt-title {
    font-size: clamp(1.8rem, 2.7vw, 2.0rem);
}
    .staff-title {
    font-size: clamp(1.85rem, 3.3vw, 2.2rem);
}
    .staff-list > li .txt-are .name h5 {
    font-size: clamp(1.8rem, 3.1vw, 2.1rem);
}
    
    .txt-stitle,
    .txt-gtitle,
    .txt-ptitle {
    font-size: clamp(1.65rem, 2.4vw, 1.8rem);
}
    
    .peg-base.medical .pho-lef {
        margin-right: 25px;
        margin-bottom: 10px;
    }
    .peg-base.medical .pho-lef > img {
        max-width: clamp(210px, 36.8vw, 280px);
    }
    
    .txt-are-dotlist > ul >li {
    display: block;
    }
    .txt-are-dotlist > ul >li .tai {
    font-size: 1.55rem;
}
    .txt-are-dotlist > ul >li:first-child {
    padding-top: 0;
}
    .txt-are-dotlist > ul >li {
    display: block;
    background: none;
    padding: 0;
    padding-top: 10px;
}
        
    .peg-doctor .list > ul > li {
    display: block;
    padding-top: 25px;
    padding-bottom: 25px;
}

    .peg-doctor .list > ul > li .tai {
    width: auto;
    margin-top: 0;
    margin-bottom: 10px;
}
    .peg-doctor .list > ul > li dl dt {
    width: clamp(90px, 15.8vw, 120px);
}
    .peg-doctor .list > ul > li dl {
    align-items: normal;
}
    
    .peg-news .news-list > ul > li a {
        display: block;
    }
    .peg-news .news-list > ul > li .hed {
        margin-bottom: 10px;
        gap: 15px;
    }
    .peg-news .news-list > ul > li .hed .day {
        width: auto;
    }
    .news-are .hed {
    margin-bottom: 15px;
}
    .news-are .kiji-title {
    margin-bottom: 20px;
}
    .peg-news {
    padding: 0;
}
    
    footer .f_area .f_text .txt p {
    font-size: 1.5rem;
}
    footer .f_area .f_text .naka {
    justify-content: center;
    gap: 20px;
}
    footer .f_area .f_text .hed {
    margin-bottom: 10px;
}
    footer .f_area .f_text .link a {
    margin-bottom: 10px;
}
    footer .f_area .f_text .link a:last-of-type {
    margin-bottom: 0;
}
    /*
    #mv .content .mv-link {
        width: clamp(330px, 54.0vw, 400px);
    }
    */
    #mv .content .mv-link > ul {
        padding: 8px 10px;
    }
    #mv .content .lead {
    top: 11%;
}
    

/*----------------------------------------------------

   スマホ MENU

------------------------------------------------------*/
    .sp-nav-container {
      display: block;
      box-sizing: border-box;
      font-family: sans-serif;
    }
    .sp-nav-container * {
      box-sizing: border-box;
    }

    /* 制御用チェックボックス非表示 */
    .nav-toggle-input {
      display: none;
    }

    /* ハンバーガーボタン */
    .nav-toggle-button {
      position: fixed;
      top: 23px;
      right: 15px;
      z-index: 999;
      width: 40px;
      height: 40px;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 11px 6px;
      background: #fff;
      border-radius: 4px;
      border: 1px solid rgb(151 161 164 / 42%);
      box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    }

    .nav-toggle-button span {
      display: block;
      height: 3px;
      width: 100%;
      background-color: #004d61;
      border-radius: 2px;
      transition: all 0.3s ease-in-out;
    }

    /* メニュー本体（スクロール最適化） */
    .sp-nav-menu {
      position: fixed;
      top: 75px;
      right: -100%;
      width: 80%;
      height: calc(100vh - 75px);
      max-height: calc(100vh - 75px);
      background-color: #f8fafc;
        background-color: #e6eaee;
      z-index: 998;
      transition: right 0.4s ease-in-out;
      padding-bottom: 30px;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
    }

    /* リストデザイン */
    .sp-nav-list, .sp-sub-list, .sp-child-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    /* 2. アコーディオン */
    .sp-sub-list {
      max-height: 0;
      opacity: 0;
      overflow: hidden;
      transition: max-height 0.35s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s ease;
    }

    /* JavaScriptで高さを直接計算して付与するため */
    .sp-sub-list.sp-nav-open-content {
      opacity: 1;
    }

    /* 第1階層（親メニュー）の見出し */
    .sp-nav-item summary,
    .nav-direct-link {
      padding: 0 20px;
        padding-left: 12px;
      color: #1e293b;
      font-size: 16px;
      font-weight: 600;
      border-top: 1px solid #e2e8f0;
        border-top: 1px solid #c6cdd8;
      cursor: pointer;
      text-decoration: none;
      position: relative;
        height: 62px;
        display: flex;
        place-items: center;
    }

    .bline .nav-direct-link {
        border-bottom: 1px solid #ced5df;
    }
    
    .nav-direct-link .arrow {
        opacity: 1;
        color: #64748b;
        right: 10px;
        height: 0.07em;
        transform: translateY(-50%) translateX(-10px);
    }
    .nav-direct-link .arrow::before {
        content: '';
        width: 0.6em;
        height: 0.6em;
    }
    
    /* ブラウザ標準のdetails矢印を消去 */
    .sp-nav-item details summary::-webkit-details-marker {
      display: none !important;
    }
    .sp-nav-item details summary {
      list-style: none !important;
    }
    
    /* 「＋」の横線（土台） */
    .sp-nav-item details summary::before {
      content: "";
      position: absolute;
      right: 20px;
      top: 50%;
      width: 14px;
      height: 2px;
      background-color: #64748b;
        background-color: #275aa3;
      transform: translateY(-50%);
      pointer-events: none;
    }
    
    /* 「＋」の縦線（回転して横線に重なる） */
    .sp-nav-item details summary::after {
      content: "";
      position: absolute;
      right: 26px;
      top: 50%;
      width: 2px;
      height: 14px;
      background-color: #64748b;
        background-color: #275aa3;
      transform: translateY(-50%);
      transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
      pointer-events: none;
    }
    
    /* メニューが展開された時（縦線を回転して消し、「ー」にする） */
    .sp-nav-item details.sp-nav-active > summary::after {
      transform: translateY(-50%) rotate(90deg);
      opacity: 0;
    }

    /* 第2階層（通常リンクと、見出しのpタグ） */
    .sp-sub-list li a,
    .sp-sub-list li p {
        position: relative;
      padding: 20px 10px 20px 30px;
      font-size: 15px;
      font-weight: normal;
      background-color: #ffffff;
        border-bottom: 1px solid #dfe5ec;
      display: block;
      text-decoration: none;
      color: #334155;
      margin: 0;
    }
    .sp-sub-list li:last-of-type a {
        border-bottom: 0;
    }
        

    /* 第2階層内の、孫メニューを持つ見出しpタグは下線を消す */
    .sp-sub-list li p {
      border: 0;
        padding: 17px 10px 17px 30px;
        line-height: 1;
    }

    /* 第3階層（孫メニュー）の枠組み */
    .sp-child-list {
      background-color: #f8fafc;
        border-bottom: 1px solid #dfe5ec;
    }
    .sp-child-list li {
        position: relative;
    }
    .sp-child-list li::before {
        content: "";
        background-image: url(../img/line_dot.png);
        background-position: top;
        background-repeat: repeat-x;
        opacity: 0.8;
        position: absolute;
        width: 100%;
        height: 1px;
        top: 0;
        z-index: 1;
    }
    .sp-child-list.tline li:first-of-type::before {
        background: none;
    }
    
    /* 第3階層のリンク単体 */
    .sp-child-list li a {
        position: relative;
      padding: 17px 10px 17px 30px;
      font-size: 15px;
      color: #475569;
      border-bottom: none;
      display: flex;
      align-items: center;
    }
    
    /* 階層を表す ├ └ 記号 */
    .sp-child-list li a::before {
      content: "├";
      font-size: 1.65rem;
      font-weight: bold;
      margin-right: 8px;
        color: #1e293b;
    }
    .sp-child-list li:last-of-type a::before {
      content: "└";
    }
    
    .sp-sub-list li a span,
    .sp-child-list li a span {
    }
    .sp-sub-list li a .arrow,
    .sp-child-list li a .arrow {
        opacity: 1;
        color: #7e8796;
        right: 10px;
        height: 0.07em;
        transform: translateY(-50%) translateX(-10px);
    }
    
    
    /* タップ時の視覚効果 */
    .sp-nav-item a:active,
    .sp-nav-item summary:active {
      background-color: #e2e8f0;
    }

    /* 背景固定・オーバーレイ制御 */
    .nav-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background-color: rgba(0, 0, 0, 0.6);
      z-index: 997;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s ease-in-out;
    }

    /* ハンバーガー連動 */
    .nav-toggle-input:checked ~ .sp-nav-menu {
      right: 0;
    }
    .nav-toggle-input:checked ~ .nav-toggle-button span:nth-child(1) {
      transform: translateY(6px) rotate(45deg);
    }
    .nav-toggle-input:checked ~ .nav-toggle-button span:nth-child(2) {
      opacity: 0;
    }
    .nav-toggle-input:checked ~ .nav-toggle-button span:nth-child(3) {
      transform: translateY(-8px) rotate(-45deg);
    }

    /* メニュー開閉時の背後固定（JS連動） */
    body.nav-open {
      /*overflow: hidden;*/
    }
    body.nav-open .sp-nav-menu {
      right: 0;
    }
    body.nav-open .nav-toggle-button span:nth-child(1) {
      transform: translateY(6px) rotate(45deg);
    }
    body.nav-open .nav-toggle-button span:nth-child(2) {
      opacity: 0;
    }
    body.nav-open .nav-toggle-button span:nth-child(3) {
      transform: translateY(-8px) rotate(-45deg);
    }
    body.nav-open .nav-overlay {
      opacity: 1;
      pointer-events: auto;
    }
    

    .pediatrics-txt {
        display: block;
        padding-top: 30px;
        color: #334155;
    }
    .pediatrics-txt h3 {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        font-size: 1.55rem;
        line-height: 1.3;
        font-weight: 500;
    }
    .pediatrics-txt h3 small {
        font-size: 1.3rem;
        font-weight: normal;
        display: block;
        align-self: end;
        margin-left: 6px;
    }
    .pediatrics-txt p {
        font-size: 1.4rem;
        text-align: center;
        line-height: 1.3;
        font-weight: 500;
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .pediatrics-txt dl {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 4px;
    }
    .pediatrics-txt dl dt {
        flex-shrink: 0;
        background-color: #008ae9;
        color: #fff;
        padding: 6px 15px;
        line-height: 1;
        font-size: 1.35rem;
        border-radius: 3px;
    }
    .pediatrics-txt dl dd {
        padding: 6px 5px;
        padding-left: 10px;
        line-height: 1;
        font-size: 1.6rem;
        color: #1e293b;
        font-weight: 600;
    }
    
    .sp-nav-item em {
        position: relative;
        display: block;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        width: 45px;
        height: 42px;
        border-radius: 3px;
        margin-right: 13px;
    }
    .sp-nav-item em.one {
        background-image: url(../img/feature_aa.png);
    }
    .sp-nav-item em.two {
        background-image: url(../img/patient_c.png);
    }
    .sp-nav-item em.thr {
        background-image: url(../img/medical_a.png);
    }
    .sp-nav-item em.fou {
        background-image: url(../img/student_a.png);
    }
    .sp-nav-item em.fiv {
        background-image: url(../img/access_01.png);
    }
    .sp-nav-item em.six {
        background-image: url(../img/main_j.png);
    }
    

}
/* END 768px */



/*----------------------------------------------------

    iPhone（480px）

------------------------------------------------------*/
@media screen and (max-width: 480px) {
    
    .nav-toggle-button {
        right: 12px;
    }
    .sp-nav-menu {
        width: 90%;
    }
    
    #mv .content .lead {
    text-align: center;
}    
    #mv .content .main {
    font-size: clamp(2.4rem, 4.0vw, 4.3rem);
    margin-bottom: 5px;
}
    #mv .content .sub {
    font-size: clamp(1.2rem, 1.8vw, 2.0rem);
    line-height: 1;
    font-weight: 300;
}
    #mv.pagcover .content {
    padding: 0 10px;
}

    #mv.pagcover .content .lead {
    text-align: left;
        position: relative;
        top: 3%;
}
    #mv.pagcover .area {
    padding-top: clamp(95px, 25.5vw, 120px);
}
    body.loaded #mv.pagcover .content [data-text] {
    padding-left: 10px;
    padding-right: 5px;
    border-radius: 3px;
}
    #mv.pagcover .content .main {
    font-size: clamp(2.1rem, 5.9vw, 2.8rem);
}
    
    .pan-nav > ul {
    padding: 0 10px;
}
    .pan-nav > ul > li {
    padding-right: 20px;
}
    .pan-nav > ul > li:not(:last-child)::after {
    right: 5px;
}

    .toplink-tbox > ul {
        padding: 0 15px;
        gap: 12px;
    }    
    .toplink-tbox > ul > li {
        width: calc(100% / 2 - 6px);
    }
    
    .topnews-tbox {
        padding: 0 15px;
        margin-top: 40px;
    }
    .topnews-tbox .news-list {
        margin-top: 5px;
    }
    
    .feature-tbox {
    padding: 0 15px;
    margin-top: 35px;
}
    .feature-tbox > .area {
        flex-wrap: wrap;
        flex-direction: column;
        margin-top: 20px;
        gap: 15px;
    }
    .feature-tbox > .area.mt35 {
        margin-top: 20px;
    }
    .feature-tbox > .area.mt65 {
        margin-top: 35px;
    }
    
    .feature-tbox > .area .pho-are span {
    height: 120px;
}
    .feature-tbox > .area .txt-are {
    padding: 0;
}
    .feature-tbox > .area .txt-are .txt {
    margin-top: 15px;
}
    .feature-tbox > .area .txt-are .txt p {
    font-size: 1.5rem;
}
    .feature-tbox > .area.rig {
    flex-wrap: wrap-reverse;
}
    .feature-tbox > .area.rig .pho-are {
    order: 1;
}
    .feature-tbox > .area.rig .txt-are {
    order: 2;
}
    
    .student-tbox {
    padding-top: 35px;
    padding-bottom: 35px;
    margin-top: 35px;
}
    
    .about-tbox {
    padding-top: 25px;
    padding-bottom: 0;
}
    .about-tbox > .area {
    gap: 20px;
    flex-wrap: wrap;
    flex-direction: column;
}    
    .about-tbox > .area .pho-are span {
    background-position: center;
    background-size: cover;
    margin: 0 auto;
}
    .about-tbox > .area .txt-are > h4 {
    font-size: clamp(2.2rem, 5.5vw, 2.6rem);
    padding-top: 0;
    text-align: center;
}
    .about-tbox > .area .txt-are .txt {
    text-align: center;
    margin-top: 20px;
}
    .about-tbox > .area .txt-are .txt p {
    text-align: left;
    font-size: 1.5rem;
}
    .about-tbox > .area .txt-are .txt p br {
    display: none;
}
    .about-tbox > .area .txt-are .txt a {
    margin-top: 20px;
}
    
    .banner-tbox > ul > li {
    min-width: 155px;
}
    
    footer {
}
    footer .f_area {
}
    footer .f_area .f_text .hed h2 {
    padding-left: 5px;
}
    footer .f_area .f_text {
    padding-top: 20px;
}
    footer .f_area .f_text .txt dl {
    margin-top: 6px;
}
    footer .f_area .f_text .link {
}
    footer .f_area .f_copy h5 {
    font-size: 0.8rem;
}
    footer .f_area .f_copy .f_sitemap a {
    font-size: 1.3rem;
}
    
    #pagetop {
    right: 6px;
}
    #pagetop button {
    width: 42px;
    height: 42px;
    border-radius: 50%;
}
    
    .container {
    padding: 0 15px;
    padding-top: 20px;
}
    .main-content > h3 {
    padding: 8px 0 20px 18px;
    font-size: clamp(2.0rem, 3.0vw, 2.8rem);
    margin-bottom: 30px;
}
    .main-content > h3::before {
    height: calc(100% - 10px);
}
    
    .peg-greeting .pho-are span {
    height: clamp(260px, 62.5vw, 300px);
}
    .peg-greeting .txt-are .txt {
    padding-left: 5px;
        padding-right: 5px;
}
    .peg-greeting .txt-are .tai {
    margin-bottom: 25px;
}
    .peg-greeting .txt-are .tai.mt50 {
    margin-top: 40px;
}
    .peg-greeting .txt-are .tai.mt60 {
    margin-top: 50px;
}

    .peg-greeting .txt-are p {
        font-size: 1.5rem;
    }
    .peg-greeting .prof p {
        font-size: 1.4rem;
    }
    .peg-greeting .txt-are .txt ul li {
    font-size: 1.5rem;
}
    
    .peg-group .txt-mesg p {
    line-height: 1.7;
}
    .txt-stitle,
    .txt-ptitle {
    padding: 13px 0;
    padding-left: 15px;
}
    .txt-stitle.mt40,
    .txt-ptitle.mt40,
    .txt-gtitle mt40 {
        margin-top: 35px;
    }
    .txt-are-clist > ul {
    row-gap: 15px;
}
    .txt-are-clist > ul > li {
    width: calc(100% / 2 - 20px);
    font-size: 1.5rem;
}
    
    .txt-are > p,
    .txt-are > .blk > p {
    font-size: 1.5rem;
}
    
    #section1.txt-title.t20 {
        padding-top: 10px;
    }
    [id*="section"].txt-title.t20.mt40 {
        margin-top: 30px;
    }
    
    .pho-rig {
        margin-left: 0;
        float: none;
        text-align: center;
    }
    
        .staff-title {
        margin-bottom: 10px;
    }
        .staff-list > li {
        gap: 15px;
        flex-wrap: wrap;
        flex-direction: column;
        padding-top: 25px;
        padding-bottom: 25px;
    }
    .staff-list {
    padding-left: 0;
}
    .staff-list > li .pho-are span {
    margin: 0 auto;
}
    .staff-list > li .txt-are .spel dl dd {
    font-size: 1.45rem;
}
    .staff-list > li .txt-are .name p {
    font-size: 1.35rem;
}
    .staff-list > li .txt-are .spel dl {
        gap: 15px;
    }
    .staff-list > li .txt-are .name {
    gap: 15px;
}
    .peg-results .pan-menu ul li a {
    padding: 8px 10px;
}
    .peg-results .list > ol > li {
    font-size: 1.4rem;
}
    .peg-hospital .list > ul > li {
    width: calc(100% / 2 - 20px);
}
    
    .txt-title.mt60 {
        margin-top: 50px;
    }
    
    .txt-are-info > dl {
    gap: 10px;
}
    .txt-are-info > dl > dt {
    min-width: 110px;
    font-size: 1.4rem;
}
    .txt-are-info > dl > dd {
    font-size: 1.55rem;
}
    .txt-are-info > dl > dd b {
    font-size: 1.65rem;
}
        
    .table-are > table th.tit {
    width: clamp(100px, 32.0vw, 150px);
}
    
    .peg-base.outpatient .pho-are.mt30 {
        margin-top: 25px;
    }
    table th,
    table td {
    padding: 10px 10px;
    font-size: 1.4rem;
    line-height: 1.3;
}
    .txt-are-info.one > dl > dt {
    height: 45px;
}
    .txt-are-info.one > dl > dd {
    font-size: 1.65rem;
}
    
    .txt-are-info.two dl > dd > ol > li b {
    font-size: 1.55rem;
}
    .txt-are-info.two dl > dd > ol > li em {
    font-size: 1.45rem;
    font-weight: normal;
}

    .table-are > .txt p {
    font-size: 1.35rem;
}
    
    .txt-are-yoyak > ul > li {
        gap: 0;
    }
    
    .peg-base.hospitalization .txt-are-info > dl,
    .peg-base.syusanki .txt-are-info > dl,
    .peg-base.critical .txt-are-info > dl {
        display: block;
    }
    
    .peg-base.hospitalization .txt-are-info.two > dl > dt,
    .peg-base.syusanki .txt-are-info.two > dl > dt,
    .peg-base.critical .txt-are-info.two > dl > dt {
        margin-bottom: 15px;
        padding: 10px 10px;
        display: block;
        text-align: center;
    }
    
    .peg-base.hospitalization .txt-are-info.two.mt30,
    .peg-base.syusanki .txt-are-info.two.mt30,
    .peg-base.critical .txt-are-info.two.mt30 {
        margin-top: 20px;
    }
    
    .peg-base.hospitalization .pho-are.gd-3 > ul,
    .peg-base.syusanki .pho-are.gd-3 > ul {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .peg-base.hospitalization .pho-are.mt30,
    .peg-base.syusanki .pho-are.mt30 {
        margin-top: 25px;
    }
    
    .txt-are-emerg {
    }
    .txt-are-emerg > ul > li {
        display: block;
        padding: 15px 0;
    }
    .txt-are-emerg > ul > li:first-of-type {
        padding-top: 0;
    }
    .txt-are-emerg > ul > li .tai {
        width: auto;
        margin-bottom: 10px;
    }
    
    .txt-are-come > ul > li {
        font-size: 1.5rem;
    }
    .txt-are-bumon > ul > li .txt {
        font-size: 1.45rem;
        padding-left: 5px;
        padding-right: 5px;
    }
    
    .txt-name > p {
        font-size: 1.45rem;
    }
    .txt-are .txt-a {
    font-size: 1.6rem;
    line-height: 1.6;
}
    .red {
    font-size: 1.4rem;
}
    .txt-are-emerg > ul > li .txt {
    font-size: 1.5rem;
        padding-left: 5px;
        padding-right: 5px;
}
    
    .peg-research > ul > li a {
    padding: 15px 0;
}
    
    .txt-are-yoyak > ul > li .reed .tai p {
    font-size: 1.55rem;
    line-height: 1.4;
}
    .txt-are-yoyak > ul > li .reed .txt {
    font-size: 1.5rem;
    line-height: 1.5;
    margin-top: 10px;
}
    .txt-are-yoyak > ul > li .reed {
    padding-bottom: 20px;
}
    .txt-are-yoyak > ul > li {
    padding-top: 20px;
}
    .txt-are-yoyak > ul > li .pho {
    width: clamp(85px, 20.0vw, 95px);
}
    .peg-base.medical .pho-lef {
    margin-right: 0;
    margin-bottom: 20px;
    float: none;
    text-align: center;
}
    .peg-base.medical .pho-lef > img {
    max-width: clamp(270px, 63.5vw, 300px);
}
    .txt-are-yoyak > ul > li .reed .tai .nmb {
    width: 35px;
    height: 35px;
}
    
    .peg-resident .txt-are .txt.ctr {
    padding-left: 5px;
    padding-right: 5px;
}
    .peg-resident .txt-are .txt.ctr p {
    font-size: 1.55rem;
}
    .peg-resident .txt-are p {
    font-size: 1.5rem;
}
    .peg-resident .txt-are .txt {
    padding-left: 5px;
    padding-right: 5px;
}
    .peg-resident .txt-are .tai {
    margin-bottom: 20px;
}
    .peg-resident .txt-are .tai.mt40 {
        margin-top: 30px;
    }
    .peg-resident .txt-are .tai.mt50 {
        margin-top: 40px;
    }
    .peg-resident .prof p {
    font-size: 1.4rem;
}
    .peg-resident .txt-are.mt35 {
        margin-top: 30px;
    }
    .txt-are-resident .txt-are .pho-lef {
        margin-right: 0;
        margin-top: 0;
        float: none;
    }
    .txt-are-resident .txt-are .pho-lef span {
        margin: 0 auto;
    }
    .txt-are-resident .txt-are .pho-lef span {
        margin: 0 auto;
    }
    .peg-resident .txt-are-resident .txt-are p br {
        display: none;
    }
    .txt-are-resident.mt50 {
        margin-top: 45px;
    }
    
    .peg-base .txt-are {
        padding-left: 5px;
        padding-right: 5px;
    }
    .peg-group .txt-mesg {
    padding-left: 5px;
    padding-right: 5px;
    margin-top: 30px;
}
    .txt-are-come > ul {
    padding-right: 5px;
}
    .txt-name {
    padding-left: 5px;
    padding-right: 5px;
    }
    
    .peg-interview .list > dl > dd.flx {
    gap: 20px;
}
    .peg-interview .list > dl > dd.flx .illa-are {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 0;
}
    .balloon {
    margin-top: 0;
}
    .peg-interview .list > dl > dd.flx .illa-are .woman {
    width: 50px;
}
    .peg-interview .list > dl > dd.flx .illa-are .man {
    width: 50px;
}
    .peg-interview .list > dl {
    padding-top: 25px;
    padding-bottom: 30px;
}
    .peg-interview .list > dl > dd p {
    font-size: 1.5rem;
    padding-left: 5px;
    padding-right: 5px;
}
    .table-are > table.kpi th {
    width: clamp(100px, 32.0vw, 150px);
}
    .peg-access .box-are .reed .hed p.tai {
    font-size: 1.6rem;
    margin-bottom: 5px;
}
    peg-access .box-are .reed .hed p.tai {
    font-size: 1.5rem;
}
    .peg-access .box-are .reed > p {
        font-size: 1.4rem;
    }
    .peg-access .box-are .reed .blk {
    padding-top: 0;
}
    .main-content .contact_tox h3 {
    margin-bottom: 25px;
}
    .map-container iframe {
    aspect-ratio: 16 / 13;
}
    .ttl_tox p {
    font-size: 1.5rem;
}
    .contact_form > dl {
    padding-bottom: 10px;
}
    
    .peg-doctor .list > ul > li dl dd {
    font-size: 1.5rem;
}
    .peg-doctor .list > ul > li dl dt {
    font-size: 1.4rem;
}
    .peg-doctor .list > ul > li dl {
    gap: 15px;
}
    .peg-doctor .txt-title.mt60 {
        margin-top: 25px;
    }
    
    .peg-interview .list > dl > dd p span {
    font-size: 1.7rem;
}
    
    .blank-link {
    padding-left: 5px;
    padding-right: 5px;
}
    .blank-link a {
    font-size: 1.5rem;
}
    .blank-link a::before {
    font-size: 1.9rem;
    top: -2px;
}
    
    .txt-are-info {
    padding-left: 5px;
    padding-right: 5px;
    }
    
    .txt-are .blank-link {
        padding-left: 0;
        padding-right: 0;
    }
    .txt-are .txt-are-info {
        padding-left: 0;
        padding-right: 0;
    }
    
        header .logo img {
        width: 195px;
    }
        header h1 {
        font-size: 0.9rem;
    }
    
    .modru-link.hed {
        padding-top: 20px;
    padding-bottom: 15px;
}
    .modru-link > a {
    font-size: 1.4rem;
}
    .news-are .kiji-title p {
    font-size: 1.6rem;
}
    
    .toplink-tbox > ul > li:nth-child(4) span {
        background-position: top -10vw left -20px;
        background-size: clamp(200px, 62.5vw, 300px);
    }
    
    .peg-group .txt-are-clist > ul > li a {
        font-size: 1.5rem;
    }
    .peg-hospital .list > ul > li a {
        font-size: 1.5rem;
    }
    .blank-link ul.flx {
    row-gap: 5px;
}
    
    .txt-are-info.two > dl > dd > ol.one > li p {
        padding: 8px 8px;
    }
    
    .sitemap-list > li .sub-list > li > a {
    padding: 12px 0;
}
    .sitemap-list > li .sub-list > li > .child-list > li > a {
    padding: 12px 0;
}
    #mv .content .mv-link {
        bottom: 15px;
        left: 50%;
        opacity: 1;
        transform: translateX(-50%);
        animation: none;
        width: clamp(340px, 87.5vw, 420px);
    }
    
    #mv .content .lead {
        text-align: center;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
    }
    
    .table-doc.mt25,
    .table-are.mt25 {
        margin-top: 20px;
    }

    .peg-group .txt-title.mt50 {
        margin-top: 40px;
    }
    
    #mv .content .mv-link > ul {
        gap: 10px;
    }
    
    footer .f_area .f_copy .f_sitemap {
    padding: 0 10px;
    padding-bottom: 5px;
}

    
    
}
/* END 480px */














