@charset "utf-8";
/*
Theme Name: 横須賀病院（2025-）
Theme URI: 
Description: 横須賀病院（2025-）
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* basic setting */
:root{
  --font-family-root: "Noto Sans JP", sans, Arial, Roboto, "Droid Sans", "游ゴシック", YuGothic;
}
html{ font-size:62.5%; }
html, body{ position:relative; width:100%; height:100%; }
body{
  -webkit-text-size-adjust: 100%;
  margin:0;
  padding:0;
  font-size:1.6rem;
  font-family: var(--font-family-root);
  font-optical-sizing: auto;
  font-weight:400;
  line-height:1.5;
  color:#3e3e3e;
  background:#fff;
  word-break:break-word;
  /*font-feature-settings:"palt";*/
}
h1,h2,h3,h4,h5,h6,p,em,pre,th,td,blockquote{margin:0; padding:0; font-size:16px}
mark{color:#5e7086;}
h1,h2,h3,h4,h5,h6{font-weight:500}
em{font-style:italic;font-weight:normal;}
img,table{border:0; vertical-align:bottom}
img{max-width:100%; height:auto; image-rendering: auto; image-rendering: -webkit-optimize-contrast;}
form,ul,dl,ol{margin:0; padding:0}
li{list-style:none}
li,dt,dd{font-size:16px; margin:0; padding:0;}
a,a:visited{text-decoration:none;color:#3e3e3e}
/*a:hover{color:inherit}*/
input[type="submit"],input[type="button"],button{cursor:pointer}
@media screen and (min-width:1061px){
  a,input[type="submit"],input[type="button"],button{transition:.3s ease-out;}
  a:hover,input[type="submit"]:hover,input[type="button"]:hover,button:hover{opacity:0.72}
  a[href^="tel"]{pointer-events:none}
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
{display: block; margin:0; padding:0}
.clr{clear:both}
.cf:after{content:""; display:table; clear:both}
input[type="submit"]{-webkit-appearance: none}
input,textarea,select,button{font-family:var(--font-family-root);margin:0;padding:0}
input:invalid, input:focus, textarea:focus{outline:none; box-shadow:none;}
fieldset{ margin:0; padding:0; border:none; position:relative; }
legend{ position:static; margin:0; padding:0; }
button{border:none;background:none;vertical-align:bottom;}
*, *::before, *::after{box-sizing:border-box}

/* text style */
.fbold{font-weight:700 !important}
.fnormal{font-weight:normal !important}
.talcnt{text-align:center !important}
.tallf{text-align:left !important}
.talrg{text-align:right !important}

.spinline, .spblock{
  display:none;
}
@media screen and (max-width:480px){
  .pcinline, .pcblock{
    display:none;
  }
  .spinline{
    display:inline;
  }
  .spblock{
    display:block;
  }
}

/* Basic setting end ---------------------------------------------------------------------------------------------- */

/* header
------------------------------------------------------------------------------------------------------------------- */
header{
  width:100%;
  background:#fff;
  position:fixed;
  top:0;
  left:0;
  z-index:700;
  transition:0.4s;
}
header.active{
  margin-top:-110px;
}
header .inner{
  max-width:1400px;
  margin:0 auto;
  padding:0 32px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:relative;
}
header .inner h1{
  width:213px;
  padding:22px 0;
}
header .inner .navi{
  width:calc(100% - 300px);
  max-width:909px;
  padding-right:157px;
}
header .inner .navi ul{
  width:100%;
  display:flex;
  justify-content:space-between;
}
header .inner .navi ul li{
  font-size:16px;
  font-weight:500;
}

header .menu{
  position:absolute;
  top:0;
  right:32px;
}
header .menu button{
  display:block;
  position:relative;
  width:77px;
  height:69px;
  background:#00288D;
  border-radius:0 0 12px 12px;
}
header .menu button::before,
header .menu button::after{
  content:"";
}
header .menu button span,
header .menu button::before,
header .menu button::after{
  display:block;
  width:29px;
  height:3px;
  background:#fff;
  position:absolute;
  left:24px;
}
header .menu button span{
  top:calc(50% - 2px);
}
header .menu button::before{
  top:calc(50% - 12px);
}
header .menu button::after{
  top:calc(50% + 8px);
}

@media screen and (max-width:1400px){
  header .inner .navi{
    padding-right:11.21vw;
  }
}

@media screen and (max-width:1060px){
  header .inner{
    padding:0 10px;
  }
  header .inner .navi{
    display:none;
  }
  header .menu{
    right:10px;
  }
}

/* hamburger menu
------------------------------------------------------------------------------------------------------------------- */
#bgmask{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:#f8f8f8;
  visibility:hidden;
  opacity:0;
  transition:.3s;
  z-index:790;
}
#gnavi{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  max-height:100%;
  overflow:auto;
  background:#F8F8F8;
  z-index:800;
  visibility:hidden;
  opacity:0;
  transition:.3s;
}
#bgmask.active, #gnavi.active{
  visibility:visible;
  opacity:1;
}
#gnavi .inner{
  width:100%;
  max-width:1400px;
  padding:30px 10px;
  margin:0 auto;
  position:relative;
}
#gnavi .inner .menu_close{
  position:absolute;
  top:0;
  right:32px;
}
#gnavi .inner .menu_close button{
  display:block;
  position:relative;
  width:77px;
  height:69px;
  background:#00288D;
  border-radius:0 0 12px 12px;
}
#gnavi .inner .menu_close button::before,
#gnavi .inner .menu_close button::after{
  content:"";
  display:block;
  width:29px;
  height:3px;
  background:#fff;
  position:absolute;
  left:24px;
}
#gnavi .inner .menu_close button::before{
  top:calc(50% - 2px);
  transform:rotate(45deg);
}
#gnavi .inner .menu_close button::after{
  top:calc(50% - 2px);
  transform:rotate(-45deg);
}
#gnavi .home_block{
  margin-bottom:42px;
}
#gnavi .home_block p,
#gnavi .under_block p{
  font-size:24px;
  font-weight:500;
  letter-spacing:.07em;
}
#gnavi .under_block p{
  margin-bottom:15px;
}
#gnavi .back_home, #gnavi .back_home:visited{
  display:inline-block;
  padding-left:36px;
  position:relative;
}
#gnavi .back_home::before{
  content:"";
  display:block;
  width:26px;
  height:26px;
  background:url(images/arrow_left_circle.png) no-repeat 0 0 / contain;
  position:absolute;
  left:0;
  top:calc(50% - 13px);
}

#gnavi .add_arrow, #gnavi .add_arrow:visited{
  display:inline-block;
  padding-right:36px;
  position:relative;
}
#gnavi .add_arrow::after{
  content:"";
  display:block;
  width:26px;
  height:26px;
  background-repeat:no-repeat;
  background-position:0 0;
  background-size:contain;
  position:absolute;
  right:0;
  top:calc(50% - 13px);
}
#gnavi .item.shinryou .add_arrow::after{
  background-image:url(images/arrow_right_circle_2.png);
}
#gnavi .item.touin .add_arrow::after{
  background-image:url(images/arrow_right_circle_3.png);
}
#gnavi .item.saiyou .add_arrow::after{
  background-image:url(images/arrow_right_circle_4.png);
}
#gnavi .under_block{
  display:flex;
  flex-wrap:wrap;
  gap:30px 66px;
  padding:0 20px;
}
#gnavi .under_block .flex_box{
  display:flex;
  gap:0 40px;
}
#gnavi .under_block .flex_box .child{
  min-width:132px;
}
#gnavi .under_block .item > ul:not(.other_link) > li > a, #gnavi .under_block .item > ul:not(.other_link) > li > a:visited,
#gnavi .under_block .child > ul:not(.other_link) > li > a, #gnavi .under_block .child > ul:not(.other_link) > li > a:visited{
  display:block;
  font-size:14px;
  font-weight:500;
  white-space:nowrap;
  font-feature-settings:normal;
  padding:18px 0 18px 19px;
  border-bottom:dashed 1px #d1d1d1;
  position:relative;
}
#gnavi .under_block .item > ul:not(.other_link) > li > a::before,
#gnavi .under_block .child > ul:not(.other_link) > li > a::before{
  content:"";
  display:block;
  width:10px;
  height:10px;
  border-radius:50%;
  position:absolute;
  top:calc(50% - 5px);
  left:0;
}
#gnavi .under_block .item.shinryou > ul:not(.other_link) > li > a::before{
  background:#2A9FD3
}
#gnavi .under_block .item.touin .child > ul:not(.other_link) > li > a::before{
  background:#36A30C
}
#gnavi .under_block .item.saiyou > ul:not(.other_link) > li > a::before{
  background:#CC0A98
}
#gnavi .under_block .item > ul:not(.other_link) ul,
#gnavi .under_block .child > ul:not(.other_link) ul{
  margin:18px 0 30px;
  padding-right:15px;
}
#gnavi .under_block .item > ul:not(.other_link) ul li + li,
#gnavi .under_block .child > ul:not(.other_link) ul li + li{
  margin-top:18px;
}
#gnavi .under_block .item > ul:not(.other_link) ul li a, #gnavi .under_block .item > ul:not(.other_link) ul li a:visited,
#gnavi .under_block .child > ul:not(.other_link) ul li a, #gnavi .under_block .child > ul:not(.other_link) ul li a:visited{
  display:inline-block;
  font-size:14px;
  font-weight:500;
  white-space:nowrap;
  font-feature-settings:normal;
  padding-left:19px;
  position:relative;
}
#gnavi .under_block .item > ul:not(.other_link) ul li a::before,
#gnavi .under_block .child > ul:not(.other_link) ul li a::before{
  content:"";
  display:block;
  width:10px;
  height:10px;
  border-radius:50%;
  position:absolute;
  top:calc(50% - 5px);
  left:0;
}
#gnavi .under_block .item.shinryou > ul:not(.other_link) ul li a::before{
  background:#A6D0E3;
}
#gnavi .under_block .item.touin .child > ul:not(.other_link) ul li a::before{
  background:#A5D195;
}
#gnavi .under_block ul.other_link{
  margin-top:30px;
}
#gnavi .under_block ul.other_link li{
  font-size:16px;
  font-weight:500;
}
#gnavi .under_block ul.other_link li + li{
  margin-top:18px;
}
#gnavi .under_block ul.other_link li a, #gnavi .under_block ul.other_link li a:visited{
  display:inline-block;
  padding-right:22px;
  background:url(images/arrow_right_navy.png) no-repeat 100% 50% / 14px 10px;
}

@media screen and (max-width:1060px){
  #gnavi .inner .menu_close{
    position:fixed;
    right:10px;
    z-index:850;
  }
}

@media screen and (max-width:480px){
  #gnavi .home_block{
    margin-bottom:40px;
  }
  #gnavi .under_block p{
    margin-bottom:12px;
  }
  #gnavi .under_block{
    gap:25px 66px;
    padding:0;
  }
  #gnavi .under_block .flex_box{
    flex-wrap:wrap;
  }
  #gnavi .under_block .item,
  #gnavi .under_block .child{
    width:100%;
  }
  #gnavi .under_block .item > ul:not(.other_link) > li > a, #gnavi .under_block .item > ul:not(.other_link) > li > a:visited,
  #gnavi .under_block .child > ul:not(.other_link) > li > a, #gnavi .under_block .child > ul:not(.other_link) > li > a:visited{
    font-size:18px;
    white-space:normal;
    padding:17px 0 17px 19px;
  }
  #gnavi .under_block .item > ul:not(.other_link) ul,
  #gnavi .under_block .child > ul:not(.other_link) ul{
    margin:17px 0 30px;
    padding-right:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 10px;
  }
  #gnavi .under_block .item > ul:not(.other_link) ul li + li,
  #gnavi .under_block .child > ul:not(.other_link) ul li + li{
    margin-top:0;
  }
  #gnavi .under_block .item > ul:not(.other_link) ul li a, #gnavi .under_block .item > ul:not(.other_link) ul li a:visited,
  #gnavi .under_block .child > ul:not(.other_link) ul li a, #gnavi .under_block .child > ul:not(.other_link) ul li a:visited{
    font-size:18px;
    white-space:normal;
  }
  #gnavi .under_block .item > ul:not(.other_link) ul li a::before,
  #gnavi .under_block .child > ul:not(.other_link) ul li a::before{
    top:.5em;
  }
  #gnavi .under_block ul.other_link li{
    font-size:18px;
  }
  #gnavi .under_block ul.other_link li + li{
    margin-top:17px;
  }
}

/* footer
------------------------------------------------------------------------------------------------------------------- */
footer .hospital_info{
  background:#F7F7F7;
  padding:100px 30px 57px;
}
footer .hospital_info .inner{
  max-width:1217px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
}
footer .hospital_info .inner .guide{
  width:48.15%;
}
footer .hospital_info .inner .time_table{
  width:49.3%;
}
footer .hospital_info .inner .guide h3{
  font-size:16px;
  font-weight:500;
  padding-left:19px;
  margin-bottom:15px;
  position:relative;
}
footer .hospital_info .inner .guide h3::before{
  content:"";
  display:block;
  width:10px;
  height:10px;
  background:#00288D;
  border-radius:50%;
  position:absolute;
  top:.54em;
  left:0;
}
footer .hospital_info .inner .guide ul{
  display:flex;
  flex-wrap:wrap;
  gap:17px 11px;
  margin-bottom:17px;
}
footer .hospital_info .inner .guide ul li{
  font-size:15px;
  font-weight:500;
  color:#00288D;
  background:#EDF4F7;
  padding:10px 29px;
  border-radius:30px;
}
footer .hospital_info .inner .guide .flex_box{
  display:flex;
  gap:12px 19px;
  align-items:start;
}
footer .hospital_info .inner .guide .flex_box h4{
  font-size:14px;
  font-weight:500;
  background:#fff;
  border:solid 1px #C6C6C6;
  padding:9px 28px;
  border-radius:30px;
}
footer .hospital_info .inner .guide .flex_box p{
  font-size:14px;
  font-weight:500;
  max-width:310px;
  font-feature-settings:normal;
  padding-top:.7em;
}
footer .hospital_info .inner .time_table table{
  width:100%;
  border-collapse:collapse;
  margin-bottom:22px;
}
footer .hospital_info .inner .time_table table th,
footer .hospital_info .inner .time_table table td{
  font-size:14px;
  font-weight:500;
  text-align:center;
  font-feature-settings:normal;
  border-bottom:solid 1px #D1D1D1;
  padding:10px 0;
}
footer .hospital_info .inner .time_table table td{
  padding:10px 2px;
  position:relative;
}
footer .hospital_info .inner .time_table table tr:first-child th{
  padding:0 0 5px;
}
footer .hospital_info .inner .time_table table tr th:first-child{
  text-align:left;
}
footer .hospital_info .inner .time_table table tr td:where(:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6),:nth-child(7)){
  width:3.4em;
}
footer .hospital_info .inner .time_table table tr td:nth-child(8){
  width:7em;
}
footer .hospital_info .inner .time_table table .maru{
  display:inline-block;
  width:14px;
  height:14px;
  background:#00288D;
  border-radius:50%;
  position:absolute;
  top:calc(50% - 7px);
  left:calc(50% - 7px);
}
footer .hospital_info .inner .time_table table .bar{
  display:inline-block;
  width:14px;
  height:0;
  border-top:solid 1px #00288D;
  position:absolute;
  top:50%;
  left:calc(50% - 7px);
}
footer .hospital_info .inner .time_table p.tel{
  font-size:33px;
  font-weight:700;
  color:#3353A4;
  line-height:1;
  padding-left:41px;
  background:url(images/ico_phone.png) no-repeat 0 50% / 33px 33px;
  margin-bottom:20px;
}
footer .hospital_info .inner .time_table .attention li{
  font-size:13px;
  font-weight:500;
  padding-left:1em;
  text-indent:-1em;
}
footer .hospital_info .btn{
  text-align:center;
  margin-top:44px;
}
footer .hospital_info .btn a, footer .hospital_info .btn a:visited{
  display:inline-block;
  font-size:20px;
  font-weight:500;
  color:#fff;
  text-align:center;
  width:320px;
  padding:20px;
  background:#00288D url(images/arrow_right_wh.png) no-repeat calc(100% - 45px) 50% / 14px 10px;
  border-radius:40px;
}

@media screen and (max-width:1060px){
  footer .hospital_info{
    padding:17px 10px 60px;
  }
  footer .hospital_info .inner{
    justify-content:center;
    flex-wrap:wrap;
    gap:30px;
  }
  footer .hospital_info .inner .guide,
  footer .hospital_info .inner .time_table{
    width:100%;
    max-width:600px;
  }
  footer .hospital_info .btn{
    margin-top:50px;
  }
}

@media screen and (max-width:480px){
  footer .hospital_info .inner .guide h3{
    font-size:18px;
  }
  footer .hospital_info .inner .guide ul{
    gap:9px;
    margin-bottom:25px;
  }
  footer .hospital_info .inner .guide ul li{
    font-size:13px;
    padding:10px 27px;
  }
  footer .hospital_info .inner .guide .flex_box h4{
    font-size:14px;
    padding:7px 24px;
    white-space:nowrap;
  }
  footer .hospital_info .inner .guide .flex_box p{
    font-size:16px;
    line-height:1.3;
    padding-top:0;
  }
  footer .hospital_info .inner .time_table table td{
    padding:10px 0px;
  }
  footer .hospital_info .inner .time_table table tr td:where(:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6),:nth-child(7)){
    width:2.2em;
  }
  footer .hospital_info .inner .time_table table tr td:nth-child(8){
    width:4em;
  }
  footer .hospital_info .inner .time_table p.tel{
    font-size:7.67vw;
    padding-left:9.53vw;
    background-size:7.67vw 7.67vw;
  }
  footer .hospital_info .inner .time_table .attention li{
    font-size:15px;
  }
}

footer .address_navi{
  background:#001C62;
  padding:71px 30px 41px;
}
footer .address_navi .inner{
  max-width:1336px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
}
footer .address_navi .inner .navi{
  width:262px;
}
footer .address_navi .inner .address_etc h3{
  width:185px;
  margin-bottom:27px;
}
footer .address_navi .inner .address_etc p{
  font-size:12px;
  font-weight:500;
  color:#fff;
  font-feature-settings:normal;
}
footer .address_navi .inner .address_etc p a, footer .address_navi .inner .address_etc p a:visited{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:1px;
}
footer .address_navi .inner .navi p{
  font-size:13px;
  font-weight:700;
  color:#fff;
  white-spacing:.07em;
  margin-bottom:10px;
}
footer .address_navi .inner .navi .navi_list{
  padding-top:5px;
  margin-bottom:40px;
}
footer .address_navi .inner .navi .navi_list li{
  font-size:13px;
}
footer .address_navi .inner .navi .navi_list li + li{
  margin-top:15px;
}
footer .address_navi .inner .navi .navi_list li a, footer .address_navi .inner .navi .navi_list li a:visited{
  display:inline-block;
  font-weight:700;
  color:#fff;
  padding-left:17px;
  position:relative;
}
footer .address_navi .inner .navi .navi_list li a::before{
  content:"";
  display:block;
  width:10px;
  height:10px;
  background:#94AFF4;
  border-radius:50%;
  position:absolute;
  top:calc(50% - 5px);
  left:0;
}
footer .address_navi .inner .navi .sns_list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
footer .address_navi .inner .navi .sns_list li{
  width:42px;
}
footer .address_navi .copyright{
  font-size:12px;
  font-weight:500;
  color:#fff;
  text-align:center;
  margin-top:54px;
}

@media screen and (max-width:480px){
  footer .address_navi{
    padding:37px 12px 30px;
  }
  footer .address_navi .inner{
    flex-wrap:wrap;
    gap:30px;
  }
  footer .address_navi .inner .address_etc p{
    font-size:14px;
  }
  footer .address_navi .inner .navi p{
    font-size:18px;
  }
  footer .address_navi .inner .navi .navi_list{
    margin-bottom:25px;
  }
  footer .address_navi .inner .navi .navi_list li{
    font-size:18px;
  }
}

/* article
------------------------------------------------------------------------------------------------------------------- */
article.container{
  padding-top:91px;
  overflow:hidden;
}

/* top page
------------------------------------------------------------------------------------------------------------------- */
.top_main_visual{
  max-width:1440px;
  margin:0 auto 60px;
  padding:0 20px;
  position:relative;
}
.top_main_visual .top_slide_area,
.top_main_visual .slide_wrapper{
  position:relative;
}
.top_main_visual .slide_wrapper::before{
  content:"";
  display:block;
  height:0;
  padding-top:42.07%;
}
.top_main_visual .slide_wrapper div{
  position:absolute;
  top:0;
  left:0;
  z-index:10;
  border-radius:15px;
  opacity:0;
}
.top_main_visual .txt{
  width:44.57%;
  position:absolute;
  top:58.91%;
  left:-20px;
  z-index:30;
}
.top_main_visual .recruit{
  width:37.5%;
  position:absolute;
  bottom:5.43%;
  right:calc(3.26% + 20px);
  z-index:30;
}
.top_main_visual .arrow{
  width:12px;
  position:absolute;
  top:calc(100% - 36px);
  right:12px;
  z-index:30;
}

@media screen and (max-width:480px){
  .top_main_visual{
    margin-bottom:40px;
    padding:0 10px;
  }
  .top_main_visual .top_slide_area{
    margin-bottom:60px;
  }
  .top_main_visual .slide_wrapper::before{
    padding-top:143.65%;
  }
  .top_main_visual .txt{
    width:101%;
    top:70.62%;
    left:-10px;
  }
  .top_main_visual .recruit{
    width:100%;
    max-width:540px;
    position:static;
    bottom:auto;
    right:auto;
    z-index:30;
  }
  .top_main_visual .arrow{
    top:calc(100% - 23px);
    right:8px;
  }
}

.top_block_01{
  background:#EDF4F7;
  padding:55px 30px;
}
.top_block_01 .inner{
  display:flex;
  max-width:1232px;
  margin:0 auto;
  justify-content:space-between;
}
.top_block_01 .inner .item{
  width:31.65%;
}
.top_block_01 .inner .item .link_box{
  background:#fff;
  border-radius:15px;
  margin-bottom:5px;
  overflow:hidden;
}
.top_block_01 .inner .item .link_box .btn{
  padding:26px 10px 28px;
  text-align:center;
}
.top_block_01 .inner .item .link_box .btn .btn_like{
  display:inline-block;
  min-width:211px;
  font-size:18px;
  font-weight:500;
  color:#fff;
  background:#999 url(images/arrow_right_wh.png) no-repeat calc(100% - 20px) 50% / 14px 10px;
  border-radius:30px;
  padding:9px 10px;
}
.top_block_01 .inner .item:nth-child(1) .link_box .btn .btn_like{
  background-color:#2A9FD3;
}
.top_block_01 .inner .item:nth-child(2) .link_box .btn .btn_like{
  background-color:#36A30C;
}
.top_block_01 .inner .item:nth-child(3) .link_box .btn .btn_like{
  background-color:#CC0A98;
}

.top_block_01 .inner .item ul:not(.child){
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}
.top_block_01 .inner .item ul:not(.child) > li{
  width:46.66%;
}
.top_block_01 .inner .item ul:not(.child) > li.full{
  width:100%;
}

.top_block_01 .inner .item ul.child{
  display:grid;
  grid-template-columns:repeat(3, auto);
  padding:15px 0 0 19px;
  gap:17px 15px;
}

.top_block_01 .inner .item ul:not(.child) > li > a, .top_block_01 .inner .item ul:not(.child) > li > a:visited,
.top_block_01 .inner .item ul.child > li > a, .top_block_01 .inner .item ul.child > li > a:visited{
  display:inline-block;
  font-size:16px;
  font-weight:500;
  font-feature-settings:normal;
  padding:0 0 0 19px;
  position:relative;
}
.top_block_01 .inner .item ul:not(.child) > li > a, .top_block_01 .inner .item ul:not(.child) > li > a:visited{
  display:block;
  border-bottom:dashed 1px #D1D1D1;
  padding:15px 0 15px 19px;
}

.top_block_01 .inner .item ul:not(.child) > li a::before,
.top_block_01 .inner .item ul.child > li a::before{
  content:"";
  display:block;
  width:10px;
  height:10px;
  background:#999;
  border-radius:50%;
  position:absolute;
  top:calc(50% - 4px);
  left:0;
}
.top_block_01 .inner .item:nth-child(1) ul:not(.child) > li > a::before{
  background:#2A9FD3;
}
.top_block_01 .inner .item:nth-child(2) ul:not(.child) > li > a::before{
  background:#36A30C;
}
.top_block_01 .inner .item:nth-child(3) ul:not(.child) > li > a::before{
  background:#CC0A98;
}
.top_block_01 .inner .item:nth-child(1) ul.child > li > a::before{
  background:#A6D0E3;
}

@media screen and (max-width:1060px){
  .top_block_01 .inner .item ul.child{
    padding:15px 0 0 0;
  }
}

@media screen and (max-width:480px){
  .top_block_01{
    padding:20px 10px 40px;
  }
  .top_block_01 .inner{
    flex-wrap:wrap;
    gap:50px;
  }
  .top_block_01 .inner .item{
    width:100%;
  }
  .top_block_01 .inner .item ul.child{
    padding:13px 0 0 0;
    gap:13px 10px;
  }
  .top_block_01 .inner .item ul:not(.child) > li > a, .top_block_01 .inner .item ul:not(.child) > li > a:visited,
  .top_block_01 .inner .item ul.child > li > a, .top_block_01 .inner .item ul.child > li > a:visited{
    font-size:4.18vw;
  }
}

.top_news_block{
  padding:75px 30px 74px;
}
.top_news_block.blog{
  padding:60px 30px;
  background:#F7F7F7;
}
.top_news_block .inner{
  display:flex;
  justify-content:space-between;
  gap:0 40px;
  max-width:1230px;
  margin:0 auto;
}
.top_news_block .inner .ttl{
  flex-shrink:0;
}
.top_news_block .inner .ttl h3{
  font-size:33px;
  letter-spacing:.1em;
  margin-bottom:20px;
}
.top_news_block .inner .ttl h3 .eiji{
  display:block;
  font-size:18px;
  font-weight:500;
  color:#00288D;
  letter-spacing:0;
}
.top_news_block .inner .ttl p a, .top_news_block .inner .ttl p a:visited{
  display:inline-block;
  width:134px;
  font-size:18px;
  font-weight:500;
  color:#00288D;
  text-align:center;
  background:#EDF4F7 url(images/arrow_right_navy.png) no-repeat calc(100% - 20px) 50% / 14px 10px;
  border-radius:30px;
  padding:9px 15px 9px 10px;
}

.top_news_block .inner .list{
  width:80%;
  max-width:932px;
  border-top:solid 1px #D1D1D1;
}
.top_news_block .inner .list dl{
  display:grid;
  grid-template-columns:132px auto;
}
.top_news_block .inner .list dl dt{
  font-size:15px;
  font-weight:500;
  padding:24px 10px 24px 15px;
  border-bottom:dashed 1px #D1D1D1;
}
.top_news_block .inner .list dl dd{
  font-size:15px;
  font-weight:500;
  padding:24px 50px 24px 0;
  background:url(images/arrow_right_circle_1.png) no-repeat calc(100% - 19px) 50% / 26px auto;
  border-bottom:dashed 1px #D1D1D1;
}
.top_news_block .inner .list dl dd a, .top_news_block .inner .list dl dd a:visited{
  display:block;
  color:#00288D;
  text-decoration:underline;
  text-underline-offset:1px;
}

@media screen and (max-width:480px){
  .top_news_block,
  .top_news_block.blog{
    padding:50px 10px;
  }
  .top_news_block .inner{
    flex-wrap:wrap;
    gap:35px 40px;
  }
  .top_news_block .inner .ttl{
    width:100%;
    display:flex;
    justify-content:space-between;
  }
  .top_news_block .inner .ttl h3{
    margin-bottom:0;
  }
  .top_news_block .inner .ttl p{
    padding-top:20px;
  }
  .top_news_block .inner .list{
    width:100%;
  }
  .top_news_block .inner .list dl{
    grid-template-columns:1fr;
  }
  .top_news_block .inner .list dl dt{
    font-size:18px;
    padding:20px 0 8px;
    border-bottom:none;
  }
  .top_news_block .inner .list dl dd{
    font-size:18px;
    padding:0 30px 20px 0;
    background-position:100% 0;
  }
}

.top_block_02{
  padding:160px 0 100px;
}
.top_block_02 .outer{
  background:linear-gradient(90deg, #FCF2F3 0%, #F9EEE9 28%, #EBFAFD 100%);
  padding:0 30px 27px;
  position:relative;
}
.top_block_02 .inner{
  max-width:1230px;
  margin:0 auto;
  display:flex;
  gap:0 9.3%;
  position:relative;
}
.top_block_02 .inner .txt{
  width:41.22%;
  position:relative;
}
.top_block_02 .inner figure{
  width:46.18%;
  border-radius:50%;
  overflow:hidden;
  margin-top:-85px;
}
.top_block_02 .inner .txt .symbol{
  width:75px;
  margin:-58px 0 19px;
}
.top_block_02 .inner .txt p{
  margin-bottom:25px;
  font-size:15px;
}
.top_block_02 .inner .txt p.catch{
  margin-bottom:30px;
}
.top_block_02 .inner .txt .btn a, .top_block_02 .inner .txt .btn a:visited{
  display:inline-block;
  width:303px;
  font-size:18px;
  font-weight:500;
  color:#fff;
  text-align:center;
  background:#EA6161 url(images/arrow_right_wh.png) no-repeat calc(100% - 23px) 50% / 14px 10px;
  border-radius:30px;
  padding:9px 20px 9px 10px;
}

@media screen and (max-width:480px){
  .top_block_02{
    padding:140px 0 52.55vw;
  }
  .top_block_02 .outer{
    padding:0 15px;
  }
  .top_block_02 .inner{
    flex-wrap:wrap;
    gap:16px 9.3%;
  }
  .top_block_02 .inner .txt{
    width:100%;
  }
  .top_block_02 .inner figure{
    width:78.6vw;
    margin:0 0 -41.39vw calc(100% - 78.6vw);
  }
  .top_block_02 .inner .txt p{
    font-size:18px;
  }
  .top_block_02 .inner .txt p.catch{
    width:96.5%;
    margin-bottom:22px;
  }
}

.top_block_03{
  padding:0 30px;
  margin-bottom:130px;
}
.top_block_03 .inner{
  max-width:1230px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  gap:50px 0;
}
.top_block_03 .inner .txt{
  width:47.31%;
}
.top_block_03 .inner .map{
  width:46.26%;
  position:relative;
}
.top_block_03 .inner .map::before{
  content:"";
  display:block;
  height:0;
  padding-top:79.43%;
}
.top_block_03 .inner .map iframe{
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
}
.top_block_03 .inner .txt h3{
  font-size:33px;
  letter-spacing:.1em;
  margin-bottom:65px;
}
.top_block_03 .inner .txt h3 .eiji{
  display:block;
  font-size:18px;
  font-weight:500;
  color:#00288D;
  letter-spacing:0;
}
.top_block_03 .inner .txt dl{
  display:grid;
  grid-template-columns:60px auto;
  gap:11px 23px;
}
.top_block_03 .inner .txt dl dt,
.top_block_03 .inner .txt dl dd{
  font-size:15px;
  font-feature-settings:normal;
  position:relative;
}
.top_block_03 .inner .txt dl dt::after{
  content:"／";
  display:block;
  position:absolute;
  top:0;
  right:-1em;
}
.top_block_03 .inner .txt .btn{
  text-align:right;
  margin-top:20px;
}
.top_block_03 .inner .txt .btn a, .top_block_03 .inner .txt .btn a:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:269px;
  font-size:13px;
  font-weight:500;
  background:url(images/arrow_right_gray.png) no-repeat calc(100% - 24px) 50% / 14px 10px;
  border:solid 1px #D3D3D3;
  border-radius:5px;
  padding:13px 40px 13px 10px;
  position:relative;
}
.top_block_03 .inner .txt .btn a::before{
  content:"";
  display:block;
  width:18px;
  height:22px;
  margin-right:10px;
  background:url(images/ico_gmap.png) no-repeat 0 0 / contain;
}

@media screen and (max-width:480px){
  .top_block_03{
    padding:0 10px;
    margin-bottom:100px;
  }
  .top_block_03 .inner{
    flex-wrap:wrap;
  }
  .top_block_03 .inner .txt,
  .top_block_03 .inner .map{
    width:100%;
  }
  .top_block_03 .inner .txt h3{
    margin-bottom:11px;
  }
  .top_block_03 .inner .txt dl{
    display:block;
  }
  .top_block_03 .inner .txt dl dt,
  .top_block_03 .inner .txt dl dd{
    font-size:18px;
  }
  .top_block_03 .inner .txt dl dt{
    width:4em;
    margin:0 0 3px;
  }
  .top_block_03 .inner .txt dl dd + dt{
    margin-top:17px;
  }
  .top_block_03 .inner .txt .btn{
    text-align:center;
  }
  .top_block_03 .inner .txt .btn a, .top_block_03 .inner .txt .btn a:visited{
    width:100%;
    font-size:4.41vw;
    background-position:calc(100% - 8.6vw) 50%;
    background-size:4.8vw auto;
    padding:4.88vw 13vw 4.88vw .5vw;
  }
  .top_block_03 .inner .txt .btn a::before{
    width:6.04vw;
    height:7.62vw;
    margin-right:3.13vw;
  }
}

/* 下層ページ
------------------------------------------------------------------------------------------------------------------- */
/* 章タイトル
------------------------------------------------------------------------------------------------------------------- */
.branch_ttl,
.branch_ttl figure{
  position:relative;
}
.branch_ttl{
  margin-bottom:45px;
}
.branch_ttl figure{
  overflow:hidden;
}
.branch_ttl figure::before{
  content:"";
  display:block;
  height:340px;
}
@media screen and (max-width:1440px){
  .branch_ttl figure::before{
    height:23.6vw;
  }
}
.branch_ttl figure img{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  object-fit: cover;
}
.branch_ttl h2{
  width:100%;
  max-width:1280px;
  padding:0 30px;
  font-size:30px;
  color:#fff;
  letter-spacing:.1em;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}
.branch_ttl h2 .eiji{
  display:block;
  font-size:18px;
  font-weight:500;
  letter-spacing:0;
}

@media screen and (max-width:480px){
  .branch_ttl figure::before{
    display:none;
  }
  .branch_ttl figure img{
    position:static;
    top:auto;
    left:auto;
    transform:translate(0,0);
    object-fit: unset;
  }
  .branch_ttl h2{
    font-size:6.97vw;
    padding:0 10px;
  }
  .branch_ttl h2 .eiji{
    font-size:4.18vw;
  }
}

/* ページタイトル
------------------------------------------------------------------------------------------------------------------- */
.page_ttl{
  display:flex;
  align-items:center;
  justify-content:center;
  height:173px;
  padding:0 30px;
  background:#F7F7F7;
  margin-bottom:12px;
}
.page_ttl.medical_ttl{
  background:#F4F9FC;
}
.page_ttl.about_ttl{
  background:#F6FCF4;
}
.page_ttl.recruit_ttl{
  background:#FFF4FC;
}
.page_ttl h2{
  width:100%;
  max-width:1225px;
  font-size:30px;
}

@media screen and (max-width:480px){
  .page_ttl{
    height:125px;
    padding:0 10px;
    margin-bottom:5px;
  }
  .page_ttl h2{
    font-size:26px;
  }
}


/* パンくずリスト
------------------------------------------------------------------------------------------------------------------- */
.breadcrumb{
  padding:0 30px;
  margin-bottom:13px;
}
.breadcrumb ul{
  max-width:1225px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  justify-content:end;
  gap:10px 0;
}
.breadcrumb ul li{
  font-size:14px;
}
.breadcrumb ul li:not(:last-child)::after{
  content:"＞";
  display:inline;
  margin:0 .5em;
}

@media screen and (max-width:480px){
  .breadcrumb{
    padding:0 10px;
    margin-bottom:15px;
  }
  .breadcrumb ul li{
    font-size:13px;
  }
}


/* 扉ページ
------------------------------------------------------------------------------------------------------------------- */
.gate_page{
  max-width:1280px;
  margin:0 auto 130px;
  padding:0 30px;
}
@media screen and (max-width:480px){
  .gate_page{
    margin-bottom:100px;
    padding:0 10px;
  }
}

.gate_page .sttl{
  font-size:22px;
  position:relative;
  margin-bottom:25px;
  padding-left:29px;
}
.gate_page .sttl::before{
  content:"";
  display:block;
  width:21px;
  height:21px;
  border-radius:50%;
  position:absolute;
  top:calc(50% - 10px);
  left:0;
}
.gate_page .sttl.blue::before{
  background:#2A9FD3;
}
.gate_page .sttl.green::before{
  background:#36A30C;
}
.gate_page .sttl.magenta::before{
  background:#CC0A98;
}

.gate_page p{
  font-size:15px;
  font-weight:400;
  margin-bottom:24px;
  line-height: 2;
}
.gate_page p.leadtxt{
  font-size:21px;
  font-weight:700;
  color:#001D64;
  letter-spacing:.1em;
}
@media screen and (max-width:480px){
  .gate_page p{
    font-size:4.18vw;
    margin-bottom:20px;
  }
  .gate_page p.leadtxt{
    font-size:4.88vw;
  }
}

.gate_page .flex_half{
  display:flex;
  justify-content:space-between;
}
.gate_page .flex_half .item{
  width:47.54%;
}
@media screen and (max-width:480px){
  .gate_page .flex_half{
    flex-wrap:wrap;
    gap:30px;
  }
  .gate_page .flex_half .item{
    width:100%;
  }
}

.gate_page .gate_cont_photo{
  border:solid 1px #C4C4C4;
  border-radius:10px;
  overflow:hidden;
}

.gate_page .grid_layout{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:40px;
}
@media screen and (max-width:1280px){
  .gate_page .grid_layout{
    gap:3.125vw;
  }
}
@media screen and (max-width:480px){
  .gate_page .grid_layout{
    grid-template-columns:1fr;
    gap:6.97vw;
  }
}

.gate_page .btn_link a, .gate_page .btn_link a:visited{
  display:flex;
  align-items:center;
  height:90px;
  font-size:18px;
  font-weight:500;
  background: url(images/arrow_right_gray.png) no-repeat calc(100% - 20px) 50% / 14px 10px;
  border:solid 1px #C4C4C4;
  border-radius:10px;
  padding:5px 40px 5px 33px;
}
.gate_page .btn_link.arrow_blue a, .gate_page .btn_link.arrow_blue a:visited{
  background-image:url(images/arrow_right_blue.png);
}
.gate_page .btn_link.arrow_green a, .gate_page .btn_link.arrow_green a:visited{
  background-image:url(images/arrow_right_green.png);
}
.gate_page .btn_link.arrow_magenta a, .gate_page .btn_link.arrow_magenta a:visited{
  background-image:url(images/arrow_right_magenta.png);
}
@media screen and (max-width:480px){
  .gate_page .btn_link a, .gate_page .btn_link a:visited{
    height:20.93vw;
    font-size:4.18vw;
    background-position: calc(100% - 4.65vw) 50%;
    padding:1.16vw 9.3vw 1.16vw 7.67vw;
  }
}

.gate_page * + .sttl,
.gate_page * + .flex_half{
  margin-top:54px;
}
@media screen and (max-width:480px){
  .gate_page * + .sttl,
  .gate_page * + .flex_half{
    margin-top:45px;
  }
}

/* 下層ページ（サイドバー付）
------------------------------------------------------------------------------------------------------------------- */
.page_content{
  max-width:1285px;
  margin:0 auto 80px;
  padding:0 30px;
  display:flex;
  flex-direction:row-reverse;
  justify-content:space-between;
}

.page_content .content_body{
  width:calc(100% - 389px);
}

.page_content aside{
  width:339px;
}

@media screen and (max-width:1060px){
  .page_content{
    display:block;
  }
  .page_content .content_body{
    width:auto;
  }
  .page_content aside{
    display:none;
  }
}

@media screen and (max-width:480px){
  .page_content{
    padding:0 10px;
  }
}

.page_content .content_body section{
  margin-bottom:60px;
}

.page_content .content_body .page_sttl{
  font-size:20px;
  padding-left:30px;
  margin-bottom:22px;
  position:relative;
}
.page_content .content_body .page_sttl::before{
  content:"";
  display:block;
  width:22px;
  height:22px;
  border:solid 4px #00288D;
  border-radius:50%;
  position:absolute;
  top:5px;
  left:0;
}
.page_content .content_body .page_sttl.blue::before{
  border-color:#2A9FD3;
}
.page_content .content_body .page_sttl.green::before{
  border-color:#36A30C;
}
.page_content .content_body .page_sttl.magenta::before{
  border-color:#CC0A98;
}
.page_content .content_body * + .page_sttl{
  margin-top:50px;
}

.page_content .content_body .page_ssttl{
  font-size:18px;
  font-weight:500;
  padding-left:19px;
  margin-bottom:10px;
  position:relative;
}
.page_content .content_body .page_ssttl::before{
  content:"";
  display:block;
  width:10px;
  height:10px;
  background:#00288D;
  border-radius:50%;
  position:absolute;
  top:calc(50% - 4px);
  left:0;
}
.page_content .content_body .page_ssttl.blue::before{
  background:#2A9FD3;
}
.page_content .content_body .page_ssttl.green::before{
  background:#36A30C;
}
.page_content .content_body .page_ssttl.magenta::before{
  background:#CC0A98;
}
.page_content .content_body * + .page_ssttl{
  margin-top:30px;
}

.page_content .content_body p{
  font-size:15px;
  margin-bottom:10px;
  line-height: 2;
}
.page_content .content_body p.leadtxt{
  font-size:21px;
  font-weight:700;
  color:#001D64;
  letter-spacing:.1em;
  line-height: 1.6;
}

@media screen and (max-width:480px){
  .page_content .content_body p{
    font-size:4.18vw;
  }
  .page_content .content_body p.leadtxt{
    font-size:4.88vw;
  }
}

.page_content .content_body ul,
.page_content .content_body ol{
  padding-left:21px;
  margin-bottom:35px;
}
.page_content .content_body ul li{
  list-style:disc;
  margin-bottom: 10px;
}
.page_content .content_body ol li{
  list-style:decimal;
  margin-bottom: 5px;
}
.page_content .content_body ol li::marker{
  font-weight:bold;
}
.page_content .content_body li{
  font-size:14px;
  line-height:1.6;
}
.page_content .content_body dl:not(.grid_news_list){
  display:grid;
  grid-template-columns:auto auto;
  gap:19px;
  width:max-content;
  margin-bottom:20px;
}
.page_content .content_body dl:not(.grid_news_list) dt{
  font-size:15px;
  font-weight:500;
  padding:10px 15px;
  margin:0;
  background:#EDF4F7;
}
.page_content .content_body dl:not(.grid_news_list) dd{
  font-size:15px;
  font-weight:400;
  padding:6px 0;
  margin:0;
}
.page_content .content_body a, .page_content .content_body a:visited{
  color:#00288D;
  text-decoration:underline;
  text-underline-offset:1px;
}
.page_content .content_body dl.normal{
  display:grid;
  grid-template-columns:auto auto;
  gap:0px 19px;
  width:max-content;
  margin-bottom:20px;
}
.page_content .content_body dl.normal dt{
  font-size:15px;
  font-weight:400;
  padding:6px 0px;
  margin:0;
  background: none;
}
.page_content .content_body dl.normal dd{
  font-size:15px;
  font-weight:400;
  padding:6px 0;
  margin:0;
}
@media screen and (max-width:480px){
.page_content .content_body dl.normal{
  grid-template-columns:auto;
  gap:0px 19px;
}
.page_content .content_body dl.normal dt{
margin-bottom: -10px;
}
}
.page_content .content_body a, .page_content .content_body a:visited{
  color:#00288D;
  text-decoration:underline;
  text-underline-offset:1px;
}

.page_content .content_body table{
  border-collapse:collapse;
  width:100%;
}
.page_content .content_body table th,
.page_content .content_body table td{
  font-size:15px;
  font-weight:400;
  padding:20px 28px;
  border:solid 1px #DBDBDB;
}
.page_content .content_body table th{
  font-weight:500;
  text-align:center;
  background:#EDF4F7;
}
.page_content .content_body table .hbg{
  background:#EDF4F7;
}

.tbl_wrap{
  overflow:auto;
  padding:0 0 8px;
  margin-bottom:22px;
}
.tbl_wrap::-webkit-scrollbar{
  height:4px;
}
.tbl_wrap::-webkit-scrollbar-track-piece{
  background:#f1f1f1;
  border-radius:4px;
}
.tbl_wrap::-webkit-scrollbar-thumb {
  background:#999;
}

@media screen and (max-width:480px){
  .page_content .content_body table{
    width:auto;
  }
  .page_content .content_body table th,
  .page_content .content_body table td{
    padding:10px 19px;
    font-size:13px;
  }
  .page_content .content_body table th{
    white-space:nowrap;
  }
  .page_content .content_body table th,
  .page_content .content_body table td{
    white-space:normal;
  }
  .page_content .content_body table tr:first-of-type th::before,
  .page_content .content_body table tr:first-of-type td::before{
    content:"";
    display:block;
    width:50px;
    height:0;
  }
}

.page_content .content_body .arrow_banner, .page_content .content_body .arrow_banner:visited{
  font-size:18px;
  font-weight:500;
  color:#3e3e3e;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  width:380px;
  height:90px;
  padding:5px 40px 5px 33px;
  background:url(images/arrow_right_gray.png) no-repeat calc(100% - 20px) 50% / 14px 10px;
  border:solid 1px #C4C4C4;
  border-radius:10px;
}
.page_content .content_body .arrow_banner.blue, .page_content .content_body .arrow_banner.blue:visited{
  background-image:url(images/arrow_right_blue.png);
}
.page_content .content_body .arrow_banner.green, .page_content .content_body .arrow_banner.green:visited{
  background-image:url(images/arrow_right_green.png);
}
.page_content .content_body .arrow_banner.magenta, .page_content .content_body .arrow_banner.magenta:visited{
  background-image:url(images/arrow_right_magenta.png);
}

@media screen and (max-width:480px){
  .page_content .content_body .arrow_banner, .page_content .content_body .arrow_banner:visited{
    font-size:4.18vw;
    width:100%;
    height:20.93vw;
    padding:1.16vw 9.3vw 1.16vw 7.67vw;
    background-position:calc(100% - 4.65vw) 50%;
  }
}


/* ボタン風リンク
------------------------------------------------------------------------------------------------------------------- */
.page_btn_link, .page_btn_link:visited{
  display:inline-block;
  min-width:200px;
  font-size:13px;
  font-weight:700;
  color:#3e3e3e !important;
  letter-spacing:0.11em;
  text-align:center;
  text-decoration:none !important;
  padding:13px 25px 13px 25px;
  background:#fff url(images/arrow_right_gray.png) no-repeat calc(100% - 10px) 50% / 14px 10px;
  border:solid 1px #C4C4C4;
  border-radius:10px;
}
.page_btn_link_off, .page_btn_link_off:visited{
  background:none!important;
}

.page_fill_btn_link, .page_fill_btn_link:visited{
  display:inline-block;
  min-width:200px;
  font-size:13px;
  font-weight:700;
  color:#fff !important;
  letter-spacing:0.11em;
  text-align:center;
  text-decoration:none !important;
  padding:14px 25px 14px 26px;
  background:#00288D url(images/arrow_right_wh.png) no-repeat calc(100% - 10px) 50% / 14px 10px;
  border-radius:10px;
}

.page_dl_btn_link, .page_dl_btn_link:visited{
  display:block;
  font-size:13px;
  font-weight:700;
  color:#3e3e3e !important;
  letter-spacing:0.11em;
  text-align:center;
  text-decoration:none !important;
  padding:13px 40px;
  background:#fff url(images/ico_download.png) no-repeat calc(100% - 20px) 50% / 24px auto;
  border:solid 1px #C4C4C4;
  border-radius:10px;
}


/* レイアウトボックス
------------------------------------------------------------------------------------------------------------------- */
.page_content .content_body .box_1{
  display:flex;
  justify-content:space-between;
  margin-bottom:40px;
}
.page_content .content_body .box_1 p{
  width:51.91%;
}
.page_content .content_body .box_1 figure{
  width:43.06%;
}
.page_content .content_body .wide80per{
  width:83.73%;
  margin:0 auto 50px;
}
.page_content .content_body .wide50per{
  width:50%;
  margin:0 auto 50px;
}
.page_content .content_body .two_column{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px 6.7%;
  margin-bottom:35px;
}
.page_content .content_body .two_column2 {
  grid-template-columns:1fr 1.5fr!important;
}
.page_content .content_body .two_column2 img {
  min-width: 320px;
}
.page_content .content_body .three_column{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:40px 3.52%;
  margin-bottom:35px;
}
.page_content .content_body .two_column figure,
.page_content .content_body .three_column figure{
  margin-bottom:27px;
}
.page_content .content_body .two_column .item :last-child,
.page_content .content_body .three_column .item :last-child{
  margin-bottom:0;
}

.page_content .content_body .btn_layout_three_column{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:40px 4.73%;
  margin-bottom:35px;
}
.page_content .content_body .btn_layout_four_column{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr;
  gap:15px 1%;
  margin-bottom:35px;
}

@media screen and (max-width:480px){
  .page_content .content_body .box_1{
    flex-wrap:wrap;
    gap:30px;
  }
  .page_content .content_body .box_1 p,
  .page_content .content_body .box_1 figure{
    width:100%;
    margin-bottom:0;
  }
  .page_content .content_body .wide80per{
    width:auto;
    margin-bottom:60px;
  }
  .page_content .content_body .wide50per{
  width:100%;
  }
  .page_content .content_body .two_column{
    grid-template-columns:1fr;
    margin-bottom:60px;
  }
  .page_content .content_body .two_column2 {
    grid-template-columns:1fr!important;
  }
  .page_content .content_body .two_column2 img {
    min-width: 100%;
  }
  .page_content .content_body .three_column{
    grid-template-columns:1fr;
    gap:40px 3.52%;
    margin-bottom:60px;
  }
  .page_content .content_body .btn_layout_three_column{
    grid-template-columns:1fr;
    gap:20px 4.73%;
    margin-bottom:60px;
  }
  .page_content .content_body .btn_layout_four_column{
    grid-template-columns:1fr 1fr;
    gap:20px 1%;
    margin-bottom:30px;
  }
  .page_content .content_body .btn_layout_four_column a{
    min-width: 100%;
    font-size: 11px!important;
    padding: 13px 35px 13px 25px!important;
  }
}

/* その他
------------------------------------------------------------------------------------------------------------------- */
.page_content .content_body .faq_ex {
    padding: 5px 5px;
    margin-bottom: 20px;
}
.page_content .content_body .faq_ex p.q_txt {
    font-size: 18px;
    font-weight: bold;
    color: #00288D;
    margin-bottom: 10px;
}
.page_content .content_body .faq_ex p {
    font-size: 1.5rem;
    line-height: 1.8;
    padding-left: 30px;
    margin: 0;
    position: relative;
}
.page_content .content_body .faq_ex p .label {
    position: absolute;
    top: 0;
    left: 0;
}



/* サイドバー
------------------------------------------------------------------------------------------------------------------- */
.page_content aside h3{
  font-size:24px;
  color:#808080;
  margin-bottom:7px;
}
.page_content aside h3 a, .page_content aside h3 a:visited{
  display:block;
  color:#808080;
  padding-left:29px;
  background:url(images/arrow_left_gray.png) no-repeat 0 50% / 14px 10px;
}

.page_content aside ul:not(.child) > li + li{
  margin-top:10px;
}
.page_content aside ul:not(.child) > li > a, .page_content aside ul:not(.child) > li > a:visited,
.page_content aside ul:not(.child) > li > span.head{
  display:block;
  padding:15px 0 25px 29px;
  position:relative;
  font-size:22px;
  font-weight:500;
  border-bottom:dashed 1px #D1D1D1;
}
.page_content aside ul:not(.child) > li > a, .page_content aside ul:not(.child) > li > a:visited{
  background:url(images/arrow_right_navy.png) no-repeat calc(100% - 19px) calc(50% - 5px) / 14px 10px;
}
.page_content aside ul:not(.child) > li > a::before,
.page_content aside ul:not(.child) > li > span.head::before{
  content:"";
  display:block;
  width:21px;
  height:21px;
  background:#00288D;
  border-radius:50%;
  position:absolute;
  top:calc(50% - 15px);
  left:0;
}
.page_content aside.blue ul:not(.child) > li > a, .page_content aside.blue ul:not(.child) > li > a:visited{
  background-image:url(images/arrow_right_blue.png);
}
.page_content aside.green ul:not(.child) > li > a, .page_content aside.green ul:not(.child) > li > a:visited{
  background-image:url(images/arrow_right_green.png);
}
.page_content aside.magenta ul:not(.child) > li > a, .page_content aside.magenta ul:not(.child) > li > a:visited{
  background-image:url(images/arrow_right_magenta.png);
}
.page_content aside.blue ul:not(.child) > li > a::before,
.page_content aside.blue ul:not(.child) > li > span.head::before{
  background:#2A9FD3;
}
.page_content aside.green ul:not(.child) > li > a::before,
.page_content aside.green ul:not(.child) > li > span.head::before{
  background:#36A30C;
}
.page_content aside.magenta ul:not(.child) > li > a::before,
.page_content aside.magenta ul:not(.child) > li > span.head::before{
  background:#CC0A98;
}

.page_content aside ul.child > li > a, .page_content aside ul.child > li > a:visited{
  display:block;
  font-size:15px;
  font-weight:500;
  border-bottom:dashed 1px #D1D1D1;
  background:url(images/arrow_right_navy.png) no-repeat calc(100% - 19px) 50% / 14px 10px;
  padding:17px 0 17px 27px;
}
.page_content aside.blue ul.child > li > a, .page_content aside.blue ul.child > li > a:visited{
  background-image:url(images/arrow_right_blue.png);
}
.page_content aside.green ul.child > li > a, .page_content aside.green ul.child > li > a:visited{
  background-image:url(images/arrow_right_green.png);
}
.page_content aside.magenta ul.child > li > a, .page_content aside.magenta ul.child > li > a:visited{
  background-image:url(images/arrow_right_magenta.png);
}


/* お知らせ
------------------------------------------------------------------------------------------------------------------- */
.page_news_list{
  border-top:solid 1px #D1D1D1;
  margin-bottom:60px;
}
.page_news_list dl{
  display:grid;
  grid-template-columns:132px auto;
}
.page_news_list dl dt{
  font-size:15px;
  font-weight:500;
  padding:24px 10px 24px 15px;
  border-bottom:dashed 1px #D1D1D1;
}
.page_news_list dl dd{
  font-size:15px;
  font-weight:500;
  padding:24px 50px 24px 0;
  background:url(images/arrow_right_circle_1.png) no-repeat calc(100% - 19px) 50% / 26px auto;
  border-bottom:dashed 1px #D1D1D1;
}
.page_news_list dl dd a, .page_news_list dl dd a:visited{
  display:block;
  color:#00288D;
  text-decoration:underline;
  text-underline-offset:1px;
}

@media screen and (max-width:480px){
  .page_news_list{
    margin-bottom:40px;
  }
  .page_news_list dl{
    grid-template-columns:1fr;
  }
  .page_news_list dl dt{
    font-size:18px;
    padding:20px 0 8px;
    border-bottom:none;
  }
  .page_news_list dl dd{
    font-size:18px;
    padding:0 30px 20px 0;
    background-position:100% 0;
  }
}

.page_content .content_body .single_ttl{
  border-bottom:solid 1px #DBDBDB;
  margin-bottom:40px;
  padding:67px 0 14px;
}
.page_content .content_body .single_ttl .date_cat{
  font-size:16px;
  font-weight:500;
  margin-bottom:10px;
}
.page_content .content_body .single_ttl .date_cat a,
.page_content .content_body .single_ttl .date_cat a:visited{
  font-size:15px;
  text-decoration:none;
}
.page_content .content_body .single_ttl h3{
  font-size:25px;
  font-weight:700;
  margin-bottom:0;
}
.page_content .content_body .single_content{
  margin-bottom:90px;
}
.page_content .content_body .single_content p{
  margin-bottom:1em;
}
.page_content .content_body .single_btn{
  display:flex;
  justify-content:space-between;
  margin-bottom:50px;
}
.page_content .content_body .single_btn .item{
  width:32%;
  max-width:160px;
}
.page_content .content_body .single_btn .item a,
.page_content .content_body .single_btn .item a:visited{
  display:block;
  background:#edf4f7;
  border-radius:10px;
  padding:15px 0;
  font-size:15px;
  font-weight:500;
  line-height:1;
  color:#00288d;
  text-decoration:none;
  text-align:center;
}
.page_content .content_body .single_btn .item.prev a{
  background:#edf4f7 url(images/arrow_left_navy.png) no-repeat 15px 50% / 14px 10px;
}
.page_content .content_body .single_btn .item.next a{
  background:#edf4f7 url(images/arrow_right_navy.png) no-repeat calc(100% - 15px) 50% / 14px 10px;
}

@media screen and (max-width:480px){
  .page_content .content_body .single_ttl{
    padding-top:20px;
  }
  .page_content .content_body .single_ttl h3{
    font-size:22px;
  }
  .page_content .content_body .single_content{
    margin-bottom:60px;
  }
  .page_content .content_body .single_btn{
    margin-bottom:70px;
  }
  .page_content .content_body .single_btn .item.prev a{
    padding-left:17px;
    background-position:10px 50%;
  }
  .page_content .content_body .single_btn .item.next a{
    padding-right:17px;
    background-position:calc(100% - 10px) 50%;
  }
}


/* paginate
------------------------------------------------------------------------------------------------------------------- */
.paginate{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
}
.page_content .content_body .paginate a, .page_content .content_body .paginate a:visited, .page_content .content_body .paginate span{
  display:block;
  width:40px;
  margin:0 7px 5px;
  background:#EDF4F7;
  border-radius:50%;
  font-size:18px;
  font-weight:bold;
  line-height:40px;
  text-align:center;
  text-decoration:none;
  color:#00288d;
}
.page_content .content_body .paginate span{
  background:#00288d;
  color:#fff;
}
.page_content .content_body .paginate span.dots{
  display:none;
}

@media screen and (max-width:480px){
  .page_content .content_body .paginate a, .page_content .content_body .paginate a:visited, .page_content .content_body .paginate span{
    margin:0 4px 5px;
    font-size:15px;
    width:36px;
    line-height:36px;
  }
}

/* flow
------------------------------------------------------------------------------------------------------------------- */
.rehabilitation_flow_list {
    margin: 0 0 40px;
}
.rehabilitation_flow_list li {
    font-size: 1.6rem;
    font-weight: bold;
    color: #00195A;
    list-style: none;
    border-bottom: solid 1px #DBDBDB;
    padding-bottom: 75px;
    margin-bottom: 17px;
    position: relative;
}
.rehabilitation_flow_list li:not(:last-child)::before, .rehabilitation_flow_list li:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
}
.rehabilitation_flow_list li {
    font-size: 18px!important;
    font-weight: bold;
    color: #00195A;
    list-style: none!important;
    border-bottom: solid 1px #DBDBDB;
    padding-bottom: 75px;
    margin-bottom: 17px;
    position: relative;
}
.rehabilitation_flow_list li p {
    font-size: 14px!important;
    font-weight: 400!important;
    margin-top: 10px;
    color: #3e3e3e!important;
}
.rehabilitation_flow_list li:not(:last-child)::after{
    width: 20px;
    height: 20px;
    border-left: solid 1px #00195A;
    border-bottom: solid 1px #00195A;
    transform: rotate(-45deg);
    left: calc(47% - 10px);
    bottom: 30px;
}
.rehabilitation_flow_list li:not(:last-child)::before, .rehabilitation_flow_list li:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
}

/* readmore
------------------------------------------------------------------------------------------------------------------- */
.readmore {
  position: relative;
  margin: 10px auto 0;
  padding: 0 0 75px;
}

.readmore label {
  position: absolute;
  display: table;
  left: 50%;
  bottom: 0;
  margin: 0 auto;
  width: 200px;
  padding: 10px 0;
  color: #3e3e3e;
  text-align: center;
  border-radius: 5px;
  border: 1px solid #C4C4C4;
  background-color: #FFF;
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 1;
  font-size: 13px;
  font-weight: 500;
}

.readmore label::before{
  content: '続きを見る';
}

.readmore input[type="checkbox"]:checked ~ label::before {
  content: '元に戻す';
}

.readmore input[type="checkbox"]{
  display: none;
}

.readmore-content {
  position: relative;
  height: 150px;
  overflow: hidden;
}

.readmore input[type="checkbox"]:checked ~ .readmore-content {
  height: auto;
}
.readmore-content::before {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20px;
  background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #fff 100%);
}

.readmore input[type="checkbox"]:checked ~ .readmore-content::before {
  display: none;
}
.readmore-content::before {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 75px;
  background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #fff 100%);
}

.readmore input[type="checkbox"]:checked ~ .readmore-content::before {
  display: none;
}

.readmore2 {
  position: relative;
  margin: 10px auto 0;
  padding: 0 0 75px;
}

.readmore2 label {
  position: absolute;
  display: table;
  left: 50%;
  bottom: 0;
  margin: 0 auto;
  width: 200px;
  padding: 10px 0;
  color: #3e3e3e;
  text-align: center;
  border-radius: 5px;
  border: 1px solid #C4C4C4;
  background-color: #FFF;
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 1;
  font-size: 13px;
  font-weight: 500;
}

.readmore2 label::before{
  content: '続きを見る';
}

.readmore2 input[type="checkbox"]:checked ~ label::before {
  content: '元に戻す';
}

.readmore2 input[type="checkbox"]{
  display: none;
}

.readmore-content2 {
  position: relative;
  height: 150px;
  overflow: hidden;
}

.readmore2 input[type="checkbox"]:checked ~ .readmore-content2 {
  height: auto;
}
.readmore-content2::before {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20px;
  background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #fff 100%);
}

.readmore2 input[type="checkbox"]:checked ~ .readmore-content2::before {
  display: none;
}
.readmore-content2::before {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 75px;
  background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #fff 100%);
}

.readmore2 input[type="checkbox"]:checked ~ .readmore-content2::before {
  display: none;
}

/* font
------------------------------------------------------------------------------------------------------------------- */
.fw_b {
  font-weight: bold!important;
}

.fcolr_base {
  color: #00288D!important;
} 

.fs_12 {
  font-size: 12px!important;
}
.fs_14 {
  font-size: 14px!important;
}
.fs_16 {
  font-size: 16px!important;
}
.fs_18 {
  font-size: 18px!important;
}
.fs_20 {
  font-size: 20px!important;
}

.f_uline {
  text-decoration: underline;
}


/* textalign
------------------------------------------------------------------------------------------------------------------- */
.ta_r {
  text-align: right!important;
}
.ta_c {
  text-align: center!important;
}
.ta_l {
  text-align: left!important;
}

/* margin & padding
------------------------------------------------------------------------------------------------------------------- */
.mgt0px {margin-top:0px !important}
.mgt5px {margin-top:5px !important}
.mgt10px{margin-top:10px !important}
.mgt15px{margin-top:15px !important}
.mgt20px{margin-top:20px !important}
.mgt25px{margin-top:25px !important}
.mgt30px{margin-top:30px !important}
.mgt35px{margin-top:35px !important}
.mgt40px{margin-top:40px !important}
.mgt50px{margin-top:50px !important}
.mgt60px{margin-top:60px !important}
.mgt70px{margin-top:70px !important}
.mgt80px{margin-top:80px !important}
.mgt90px{margin-top:90px !important}
.mgt100px{margin-top:100px !important}

.mgb-10px {margin-bottom:-10px !important}
.mgb0px {margin-bottom:0px !important}
.mgb5px {margin-bottom:5px !important}
.mgb10px{margin-bottom:10px !important}
.mgb15px{margin-bottom:15px !important}
.mgb20px{margin-bottom:20px !important}
.mgb25px{margin-bottom:25px !important}
.mgb30px{margin-bottom:30px !important}
.mgb35px{margin-bottom:35px !important}
.mgb40px{margin-bottom:40px !important}
.mgb50px{margin-bottom:50px !important}
.mgb60px{margin-bottom:60px !important}
.mgb70px{margin-bottom:70px !important}
.mgb80px{margin-bottom:80px !important}
.mgb90px{margin-bottom:90px !important}
.mgb100px{margin-bottom:100px !important}


/* 継承（小野病院テーマより）
------------------------------------------------------------------------------------------------------------------- */
.mb10 {
  margin-bottom: 10px!important;
}
.mb20 {
  margin-bottom: 20px!important;
}
.mb30 {
  margin-bottom: 30px!important;
}
.mb40 {
  margin-bottom: 40px!important;
}
.mb50 {
  margin-bottom: 50px!important;
}
.mb80 {
  margin-bottom: 80px!important;
}
.mb100 {
  margin-bottom: 100px!important;
}

.wp-block-image .aligncenter, .wp-block-image .alignleft, .wp-block-image .alignright{
  display:table;
}
.wp-block-image .alignleft{
  float:left;
  margin:0 4em 1.5em 0;
}
.wp-block-image .alignright{
  float:right;
  margin:0 0 1.5em 4em;
}
.wp-block-image .aligncenter{
  margin-left:auto;
  margin-right:auto;
}

.page_content .content_body .contact_box{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  border:solid 8px #F7F7F7;
  padding:52px 0;
  margin-bottom:126px;
}
.page_content .content_body .contact_box p{
  font-size:1.6rem;
  font-weight:600;
  margin:0;
}
.page_content .content_body .contact_box p:not(.phone){
  padding:0 15px;
}
.page_content .content_body .contact_box p.phone{
  font-size:3.2rem;
  font-weight:500;
  line-height:1;
  margin-top:10px;
}
.page_content .content_body .contact_box p.phone a{
  display:flex;
  line-height:1;
  align-items:center;
  color:#00195A;
  text-decoration:none;
}
.page_content .content_body .contact_box p.phone a::before{
  content:"";
  display:block;
  width:35px;
  height:35px;
  background:url(images/ico_phone.png) no-repeat 50% 50%;
  background-size:contain;
  margin-right:15px;
  flex-shrink:1;
}
.page_content .content_body .contact_box02{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  border:solid 8px #F7F7F7;
  padding:52px 0;
  margin-bottom:126px;
}
.page_content .content_body .contact_box02 p{
  font-size:1.6rem;
  font-weight:600;
  margin:0;
}
.page_content .content_body .contact_box02 p.phone{
  font-size:3.2rem;
  font-weight:500;
  line-height:1;
  margin-top:10px;
  display:flex;
  position: relative;
}
.page_content .content_body .contact_box02 p.phone a{
  line-height:1;
  align-items:center;
  color:#00195A;
  text-decoration:none;
}
.page_content .content_body .contact_box02 p.phone a::before{
  content:"";
  display:block;
  width:35px;
  height:35px;
  background:url(images/ico_phone.png) no-repeat 50% 50%;
  background-size:contain;
  margin-right:15px;
  position: absolute;
  left: -48px;
}
.page_content .content_body .contact_box02 p.phone span.sTxt{
  font-size:1.6rem;
  padding-top: 10px;
}
.page_content .content_body .contact_box02 p.phoneTxt {
  font-size:1.3rem;
  padding-top: 20px;
  padding-bottom: 10px;
}

@media screen and (max-width:480px){
  .page_content .content_body .contact_box{
    margin-bottom:90px;
  }
  .page_content .content_body .contact_box02 p{
    text-align: center;
  }
  .page_content .content_body .contact_box02 p.phone{
    line-height:.5;
    display: block;
  }
  .page_content .content_body .contact_box02 p.phone a{
    padding-left: 35px;
  }
  .page_content .content_body .contact_box02 p.phone a::before{
    left: -10px;
  }
}

/* お問い合わせ */
.contact_flex,
.contact_flex div{
  display:flex;
}
.page_content .content_body .contact_flex .phone{
  font-size:2.8rem;
  font-weight:500;
  line-height:1;
  margin-right:26px;
}
.page_content .content_body .contact_flex .phone a{
  display:flex;
  line-height:1;
  align-items:center;
  color:#2C2459;
  text-decoration:none;
}
.page_content .content_body .contact_flex .phone a::before{
  content:"";
  display:block;
  width:30px;
  height:30px;
  background:url(images/ico_phone.png) no-repeat 50% 50%;
  background-size:contain;
  margin-right:15px;
  flex-shrink:1;
}
.page_content .content_body .contact_flex div p{
  line-height:1.8;
}
.page_content .content_body .fsz_middle{
  font-size:1.6rem;
}

@media screen and (max-width:480px){
  .contact_flex{
    display:block;
  }
  .contact_flex div{
    flex-wrap:wrap;
  }
  .contact_flex div p:first-child{
    margin-bottom:0.3em;
  }
}
