@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');
/*=================================================
 * ブラウザのデフォルトのスタイルをリセットする
 * ================================================= */

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow-wrap: break-word;
}

html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, header, hgroup, section, article, aside, hgroup, footer, figure, figcaption, nav {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: normal;
}

body.page ol,
body.page ul
{
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: normal;
  list-style: none;
}

body.single #main ul{
margin: 1em 0;
padding-left:40px;
list-style-type: disc;
}

body.single #main ol{
margin: 1em 0;
padding-left:40px;
list-style-type: decimal;
}

body.single #main ul.tabmenu{
  margin: 1em 0;
  padding-left:0;
  list-style-type:none;
  }

article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
}

img {
  border: 0;
  vertical-align: bottom;
  max-width: 100%;
  height: auto !important;
}

ul, ol {
  list-style: none;
}

table {
  /*border-spacing: 0;*/
  empty-cells: show;
  border-collapse: collapse;
}
th,td{
padding: 5px;
}

body.single table{
  border: 1px solid #ccc;
}
body.single th,
body.single td{
border: 1px solid #ccc;
padding: 5px;
}

a:link {
  text-decoration: none;
}



body {
  -webkit-text-size-adjust: none;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  line-height: 1.8;
  word-wrap: break-word;

}

html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p{
font-family: 'Kosugi Maru', sans-serif;
color: #000000;
}

/*----------------------------------------------------
	google recapchr v3　バナー　非表示
----------------------------------------------------*/
/*Note: if you choose to hide the badge, please use*/
.grecaptcha-badge { visibility: hidden; }



/*----------------------------------------------------
	clearfix
----------------------------------------------------*/

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.clr {
  clear: both;
}

a,a:visited{color:#6fb0fe;}

/*----------------------------------------------------
	pageTop
----------------------------------------------------*/
#totop {
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 3000;
}
#page-top {
  width: 40px;
  height: 40px;
  display: none;
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 999999;
  background-image: url(../images/img_pagetop.png);
  background-size: contain;
  background-repeat: no-repeat;
  color: transparent;
}

#page-top p {
  position: relative;
  z-index: 999999;
}

#page-top p:hover {}

#move-page-top {
  display: block;
  height: 80px;
  color: transparent;
  cursor: pointer;
  z-index: 999999;
}




#wrap {
  position: relative;
  overflow: hidden;
  width: 100%;
  background-color: #FFFFFF;
}


/* -----------------------------------------------------------
	#header
		ヘッダー
----------------------------------------------------------- */

#header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background-color: #fff;
  padding: 10px 0 3px;
}

#headerIn {
  text-align: left;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 46%;
  margin: 0;
}
#header h1{
  margin:0!important; 
}
#header p{
  margin-bottom:0!important;
}

.siteTit {
color: #4b98e6;
font-size: 32px;
line-height: 1.1;
}

@media screen and (max-width: 1600px) {
.siteTit {
color: #4b98e6;
font-size: 22px;
}
#headerIn{width: 40%;}
}

@media screen and (max-width: 450px) {
.siteTit {
color: #4b98e6;
font-size: 4vw;
}

}


#header nav {
  margin-left: auto;
}

#headerTxt .siteTxt {
  margin: 0;
}



@media screen and (max-width:768px) {
  #headerIn {
    width: 100%;
 
  }
  #headerTxt p.siteTit {
    margin: 0;
    white-space: nowrap;
    line-height: 1.1;
  }


#headerLogo {
  padding-left: 5px;
  margin: 0;
}

#headerLogo img {
  width: 100%;
}

#headerTxt {
  float: left;
  margin-left: 0px;
  color: #03a5e0;
  font-size: 22px;
  line-height: 1.1;
}

#headerTxt .siteTxt {
  border-bottom: none;
  font-size: 18px;
  margin: 0;
}

}

@media screen and (max-width:380px) {
  #headerLogo {
    margin-top: 5px;
    /*	width:40px;*/
  }
#header nav{font-size:10px;}
#headerTxt .siteTxt {font-size: 10px;}
}


/* -----------------------------------------------------------
	#gNav
		グローバルナビ
----------------------------------------------------------- */
nav ul {
  float: none;
  text-align: right;
  height: auto;
  margin: 10px 10px 0px 0;
  display:flex;
}
nav ul li {
  list-style: none;
  padding: 0px 3px 0 0;
}
nav ul li:nth-child(3) {
  /*
display: block;
background: #247F37;
*/
}
header nav ul.gnav li::after {
  content: "|";
  padding: 0 0 0 0;
  color: #009BF1;
}

nav ul.gnav li:last-child:after {
  content: "";
  padding: 0 2px;
}
nav ul.gnav li a {
display:inline-block;
  color: #009BF1;
  font-size: 15px;
  text-decoration: none;
  line-height: 1.1;
}

nav ul li a {
  font-size: 14px;
  font-weight: normal;
  position: relative;
  display: inline-block;
}
/*メガドロップダウン0313*/
.menu_contents {
 display: none;
  background: #009BF1;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 99;
  height: auto !important;
  /*min-height: 160px;*/
}
.menu_contents h2 {
float: left;
width: 20%;
font-size: 24px;
text-align: right;
margin: 10px 10px 10px 10px;
line-height: 1.2;
color: #FFFFFF;
}


.menu_contents ul{
float: left;
width:75%;
  display: flex;
  flex-wrap: wrap;
  justify-content:flex-start;
  align-content: center;
  padding: 0 5px;
  margin: 0 0 10px 0;
border-left: 1px solid #FFFFFF;
}
.menu_contents li {
  width: calc(100% / 8);
  text-align: center;
  color: #fff;
  margin: 10px 2px 0;
}
.menu_contents li.title{
  border-right: 1px solid #94d9ff;
flex-grow: 1; 
font-size: 24px;
text-align: right;
padding-right: 10px;
margin-right: 10px;
margin-bottom: 10px;
line-height: 1.2;
 
}
.menu_contents li a p.tit {
  color: #fff !important;
  padding:5px 0 0px;
  text-align: left;
  font-size: 14px;
  /*
  display: flex;
  justify-content: center;
  */
}
header nav ul.gnav li .menu_contents li::after{
  display: none;
}
/**/
ul.snav{  
  display: flex;justify-content: flex-end;align-items: center;
  list-style: none;}
ul.snav li a{
  display: flex;
  align-items: center;
  justify-content: end;
  margin-right: 10px;
  text-align: right;
}




ul.snav li a {
  font-size: 14px;
}
ul.snav li a:before {
  content: "";
  padding: 0 0 0 5px;
  background-size: contain;
  width: 1.5em;
  height: 1.5em;
  display: inline-block;
  background-repeat: no-repeat;
  box-sizing: content-box;
 
}

ul.snav li.medi a:before {
  content: "";
  padding: 0 0 0 0;
  background-size: contain;
  width: 0;
  height: 0;
  display: inline-block;
  background-repeat: no-repeat;
  box-sizing: content-box;
  display: none;
 
}


ul.snav li.sns_t a:before {
  background-image: url(../images/icon_x.png);
  width: 1.2em;
  height: 1.2em;
}
ul.snav li.sns_f a:before {
  background-image: url(../images/icon_facebook.png);
}
ul.snav li.sns_y:before {
  background-image: url(../images/icon_youtube.png);
}

ul.snav li.sns_m a:before {
 width: 2.0em;
 background-image: url(../images/flogo.png);
}
ul.snav li.sns_m a{
 color: #4eab70;
}

ul.snav ul{
list-style: none;
}

ul.snav li.medi a img{
width: 80%;
}

ul.snav li.sns_t a{letter-spacing: -0.1em;
color: #1d9bf0;
}
ul.snav li.sns_f a{color: #1877f2;letter-spacing: -0.01em;

}
ul.snav li.sns_y a{color: #ff0000;letter-spacing: -0.01em;}
header nav ul.gnav li a br{display: none;}

/*20260730*/

ul.snav li.icon_member a::before{display: none;}

ul.snav li.icon_member a{
  background-color: rgb(71, 184, 71);
  display: block;
  padding: 5px 10px;
  color: white;
  margin: 5px 5px 5px 0;
  text-align: center;
  border-radius: 6px;
}

@media screen and (max-width:1245px) {
  #header {
    display: block;
    width: 100%;
  }
  
  #headerIn {
    width: 100%;
  }


#header ul.snav{
  padding: 10px;

}
  
  #header nav {
    display: flex;
    justify-content: center;
  }

nav ul{
width: 100%;
text-align: center;
margin:0 5px;
}

nav ul.gnav > li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% /6);
  background: #5e94df;
  margin: 0 0.2%;
  padding: 2px;
  border-radius: 5px;
}
.menu_contents h2{font-size: 18px;}
.menu_contents li a p.tit{font-size: 12px;}
header nav ul.gnav li a{
  display: inline;
  display: block;
  width: 100%;
  background-color: transparent;
  color:#fff;
  text-align: center;
}
header nav ul.gnav li a br{display: block;}
header nav ul.gnav li span{display: none;}

header nav ul.gnav li::after{
display: none;
}


}

/* !footer
---------------------------------------------------------- */
#footer {
  padding: 0;
  font-size: 12px;
  text-align: center;
  clear: both;
  background: #FFFFFF;
}
#footer ul {
  margin: 0;
  border-top: 1px solid #99cff3;
  padding: 20px;
}
#footer ul li {
  display: inline-block;
  padding: 0px 3px 0 0;
  font-size: 14px;
}
#footer ul li::after {
  content: "|";
  padding: 0 0 0 5px;
  /* color: #009BF1;*/
  color: #0088e2;
}
#footer ul li:last-child:after {
  content: "";
}
#footer #copy {
  clear: both;
  color: #0088e2;
  font-size: 14px;
  padding: 5px;
  border-top: 1px solid #99cff3;
  margin: 0;
  display: block;
  text-align: center !important;
}
#footer .minIren {
  margin-top: 5px;
  display: block;
  text-align: center !important;
}
#footer ul li a {
  color:#0088e2;
}
@media only screen and (max-width: 959px) {
  #footer #copy {
    clear: both;
    text-align: center;
  }
  
  .menu_contents h2{font-size: 14px;}
  
}
@media screen and (max-width:768px) {
 nav ul { text-align: center; }
  ul.snav li a {font-size: 14px; }
  ul.snav li:last-child{margin-right: 0;}

  #footer ul {
    display: flex;
    flex-wrap: wrap;
   
    border: 1px solid #009BF1;
    padding: 0;
  }
  #footer ul li::after {
    content: "";
  }
  #footer ul li {
    display: inline-block;
    padding: 0px 3px 0 0;
    font-size: 12px;
    width: 50%;
    border-top: 1px solid #009BF1;
    padding: 10px;
  }
  #footer ul li:nth-child(1), #footer ul li:nth-child(2) {
    border: none;
  }
  #footer ul li:nth-child(odd) {
    border-right: 1px solid #009BF1;
  }
.menu_contents li a p.tit{font-size: 14px;}
  .menu_contents ul{
    /*display: block;*/
    float: none;
     justify-content: space-between;
     border: none;
     width: 100%;
  }
  

  
  .menu_contents h2{
  float: none;
  width: 100%;
  text-align: left;
  }
  
  .menu_contents ul li{
    
    background-color: transparent;
    width: 49%;
  }
  
 .menu_contents ul li:nth-child(1),
 .menu_contents ul li:nth-child(2) { margin-top: 0;} 
  
  .menu_contents li.title{
  width: 100%;
  font-size: 18px;
  display: block;
  text-align: left;
  border: none;

  }
  .menu_contents ul li p.img{
  width: 100%;
  }
}
@media screen and (max-width:500px) {

.menu_contents li a p.tit{font-size: 12px;}
  
  #headerTxt {
    font-size: 4vw;
  }
  header nav ul.gnav li a {
    font-size: 2.5vw;
  }
  #footer a {
    color: #0088e2;
    font-size: 12px;
  }
  #footer #copy{font-size:12px;}
}

@media screen and (max-width:450px) {
.menu_contents ul li{
width: 48.5%;
}


ul.snav li.medi a{
width:70px;
}
ul.snav li.medi a img{ width: 100%;}

ul.snav{ justify-content: center;}
ul.snav li{margin-right: 5px;}
ul.snav li a {font-size: 11px;}

}



.swiper-button-prev, .swiper-button-next {
  width: 48px;
  height: 48px;
  background-size: 48px 48px;
  margin-top: -24px;
  background-repeat: no-repeat;
}
.swiper-button-next {
  background-image: url(../images/arrow_next.png);
}
.swiper-button-prev {
  background-image: url(../images/arrow_prev.png);
}


/*----------------------------------------------------
	パンくず
----------------------------------------------------*/

#breadcrumbWrap {
	width: 100%;
	background-color: #F5F7FA;
	padding:3px 0;
	margin-bottom: 0px;
	clear: both;
}

#breadcrumb {
	/*max-width: 1150px;*/
	margin: 0 auto;
	overflow: hidden;
}

#breadcrumb li {
	float: left;
	white-space: nowrap;
	font-size: 80%;
	color: #333;
}
#breadcrumb li.home {
}
#breadcrumb li a {
	white-space: nowrap;
}
#breadcrumb li a img {
	vertical-align: middle;
	margin: 0;
	padding: 0;
}
#breadcrumb li {
	display: inline-block;
	list-style-type: none;
	margin: 0 4px 0 2px;
	padding-top: 3px;
	color: #666;
}
#breadcrumb li:before {
	content: " > ";
}
#breadcrumb li:first-child {
	padding-bottom: 5px;
	padding-top: 0;
}
#breadcrumb li:first-child:before {
	content: none;
}


.home #breadcrumb,
.top #breadcrumb{
 max-width: 100%;
 padding-left: 10px;
}
/* contents
---------------------------------------------------------- */
#contents {
  margin: 20px auto 0;
  /*width:1580px;*/
  width:1200px;
	padding-bottom: 120px;
	text-align: left;
	position: relative;
}

#contents #main .entry-content{
    padding: 30px 60px;
}

#contents #main .read {
font-size: 17px;
padding-top: 10px;

}
#contents #main .read p{
color: #333333;
}



/* YouTube
---------------------------------------------------------- */
.youtube{text-align: center;}


/*バックナンバー*/
.btn_bk a{
max-width:90% ;
}
.btn_bk{text-align: center;}
.btn_bk a {
display: inline-block;
color: #fff;
background-color: #5e94df;
padding: 20px 80px;
border-radius: 10px;
font-size: 18px;
margin: 15px auto 30px;
text-align: center;
line-height: 1;
}

#resident .btn_bk a{ margin:20px auto 30px;}

/*リンクボタン
---------------------------------------------------------- */

.box_link{
  text-align: center;
  margin-top: 30px;
}
.box_link a{
  display: inline-block;
  padding: 20px 50px;
  background-color: #5e94df;
  color: #fff;
  line-height: 1;
  font-size: 16px;
  border-radius: 4px;
}


/*----------------------------------------------------
	column01
----------------------------------------------------*/
#contents.column01{
width: 900px;
padding-left: 10px;
padding-right: 10px;
}
@media screen and (max-width:900px) {
  #contents.column01{
  width: 95%;
  margin: 20px auto ;
  }
  
  }
body:not(#home) #contents.column01 #main{
	float: none;
	width: 100%;
}
/*----------------------------------------------------
	column02
----------------------------------------------------*/
#contents.column02{
display:flex;
justify-content: space-between;
width: 1400px;
margin:10px auto 0;}

body:not(#home) #contents.column02 #main {
	float: left;
	width: 75.5%;
}

body:not(#home) #contents.column02 #sub {
	float: right;
	width: 300px;
	font-size: 12px;
    padding-left:10px;
    margin-left: 30px;
    border-left: 1px solid #E3E3E3;

}




@media screen and (max-width:1200px) {
#contents.column02{
width: 97%;
}

}

@media screen and (max-width:767px) {
#contents {
	padding: 0;
	margin-top: 20px;
}
#contents.column02{display: block;}
body:not(#home) #contents.column02 #main {
	float: none;
    width: 100%;
	padding: 10px 0;

}
body:not(#home) #contents.column02 #sub  {
	float: none;
    width: 100%;
	padding: 0px 10px 10px;
    margin-top: 10px;
  border-left:none;
}

}

#lNavi {
width: 100%;
margin-bottom: 20px;
padding:0 ;

}
#lNavi ul {
background: #fff;
list-style: none;
}
#lNavi ul li {
border-bottom:1px solid #ccc;
  text-align: center;
}

#lNavi ul li:last-child {border:none;}
#lNavi ul li a {
	padding: 10px;
	display: block;
	color:#333;
	text-decoration: none;
  
	position: relative;
	padding-left: 0;
  padding-right: 0;
    font-size: 14px;
	line-height: 1.4;}
#lNavi ul li a:after {
    content: '';
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-left: solid 4px #666;
    position: absolute;
    top: 35%;
    left: 3%;
    margin-top: -4px;
}

#lNavi ul li ul li a.current, #lNavi ul li ul li a:hover {
	background-color: #fcfcfc;
}

#lNavi ul li a span{
display: block;
font-size: 12px;
}

.hospital_type{
display: flex;
justify-content: center;
margin:15px 0;
}

.hospital_type_left{
display: flex;
justify-content:flex-start;
margin:-5px 0 15px;
}

@media screen and (max-width:767px) {

#lNavi {
padding: 0;
}

#lNavi ul li a {
padding-left:8px;

 }
#lNavi ul li a:after {
    left:0;
}

}




body:not(#home) #main > h1 {
	margin-top: 15px !important;
	margin-bottom: 15px !important;
}




body:not(#home)#main h1 {
border-bottom:1px solid #bbb;
font-size: 24px;
}

body:not(#home) #main h1 {
border-bottom:1px solid #bbb;
font-size: 24px;
padding: 10px;
line-height: 1.3;
}






body:not(#home) #main h1 span{
font-size: 16px;
}



@media screen and (max-width:767px) {

body:not(#home) #main h1 {
font-size: 21px;
}
@media screen and (max-width:450px) {
body:not(#home) #main h1 {
font-size: 18px;
}

}


/*----------------------------------------------------
	イベント、ニュース一覧
----------------------------------------------------*/
ul.block_news{
margin: 0;
}

ul.block_news li {
  display: flex;
  justify-content: space-between;
  /*border-bottom: 1px solid #ddd;*/
  padding:0px 10px 0px;
  margin:0 0 3px 0;
}

p.time {
  display: inline-block;
  font-size: 16px;
  color: #010101;
  border-radius: 5px;
  margin-bottom: 0;
}

body ul.block_news span.icon {
display: inline-block;
white-space: nowrap;
background-color: #fdd86c;
color: #000;
margin: 2px;
padding: 0 4px;
border-radius: 4px;
line-height: 1.5;
font-size: 12px;
}
body ul.block_news span.label{
background:#61d107;
color:#FFFFFF;
display: inline-block;
margin: 2px;
padding: 0 4px;
border-radius: 4px;
line-height: 1.5;
 font-size: 12px;
}
body ul.block_news span.postNew{
background:#DD0003;
color:#FFFFFF;
display: inline-block;
margin: 2px;
padding: 0 4px;
border-radius: 4px;
line-height: 1.5;
font-size: 14px;
}
ul.block_news li .left{
  width: calc(100% - 180px);
}
ul.block_news li p.txt {
  font-size: 18px;
  margin-top: 5px;
  margin-bottom: 5px !important;
  line-height: 1.3;
  /*width: 96%;*/
}

ul.block_news li a{
color:#000!important;
}
ul.block_news li a:visited{
  color:#000!important;
  }

ul.block_news li .thumb{
display: flex;
align-items: center;
margin-bottom: 0;
min-width: 150px;
max-width: 150px;
height: 100px;
position: relative;
overflow: hidden;
}

ul.block_news li .thumb img{
width: 100%;
margin-bottom: 0;


}
.wp-pagenavi {
  text-align: center;
  margin-top:50px;
}

@media screen and (max-width:767px) {
  body:not(#home) #sub {
    padding-left: 0;
    border-left: none;
  }  
  .box_column01 ul.block_news li{
    display: block;    
}

.box_column01 ul.block_news li .thumb {
    display: block;
    margin: 10px auto;
    max-width: 100%; 
    height: 100%;
}
ul.block_news li a{
  display: block;
}
ul.block_news li .left {
  width: 100%;
}
ul.block_news li a{
  display: block;
}
ul.block_news li .thumb {
  display: flex;
  align-items: center;
  min-width: 150px;
  max-width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  margin: 15px auto 0;
}
}



/*
 * cmn_style.css
 *
 */
 
 
 /* !Table
---------------------------------------------------------- */
.table_basic01 {
	width: 100%;
	border-collapse: separate;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}
.table_basic01 th, .table_basic01 td {
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 10px 15px;
}
.table_basic01 th {
	background-color: #f3f3f3;
	text-align: center;
}
.table_basic01 td {
}
 
 
 

.youtube {
  position: relative;
  width: 100% !important;
  padding-top: 56.25% !important;
}
.youtube iframe {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 100% !important;
}


.box_link{
  text-align: center;
  margin-top: 30px;
}
.box_link a{
  display: inline-block;
  padding: 20px 50px;
  background-color: #5e94df;
  color: #fff;
  line-height: 1;
  font-size: 16px;
  border-radius: 4px;
}


/* !Base Fonts -------------------------------------------------------------- */
a {
	color:#3187da;
	text-decoration: underline;
}
a:visited {}
a:hover,
a:active,
a:focus { text-decoration: none;}

.fwN { font-weight: normal;}
.fwB { font-weight: bold;}
.fzSS  { font-size:  72%;}/* base 14px -> 10px */
.fzS   { font-size:  86%;}/* base 14px -> 12px */
.fzM   { font-size: 100%;}
.fzL   { font-size: 115%;}/* base 14px -> 16px */
.fzLL  { font-size: 129%;}/* base 14px -> 18px */
.fzLLL { font-size: 143%;}/* base 14px -> 20px */
sup   { font-size: 78%; vertical-align: top;}
sub   { font-size: 78%; vertical-align: baseline;}

/* !Inline Align ------------------------------------------------------------ */
.taL { text-align: left   !important;}
.taC { text-align: center !important;}
.taR { text-align: right  !important;}
.vaT { vertical-align: top    !important;}
.vaM { vertical-align: middle !important;}
.vaB { vertical-align: bottom !important;}
.blockC { margin-right: auto; margin-left: auto; text-align: left;}
* html .blockC { margin-right: 0; margin-left: 0;}
.blockR { margin-left: auto; text-align: left;}
* html .blockR { margin-left: 0;}


.ind1{
text-indent:-1em;
padding-left:1em;
}


/* !Width ------------------------------------------------------------------- */
/* 960px Grid */
.w960   { width: 960px;}
.w800	{ width: 800px;}
.w640	{ width: 640px;}
.w480	{ width: 480px;}
.w320	{ width: 320px;}
.w280	{ width: 280px;}
.w160	{ width: 160px;}

.wHalf  { width: 48%;}
.wTri   { width: 33%;}
.wQuart { width: 24%;}
.wFull  { width: 99.9%;}
.wMax   { width: 100%;}

.w03per { width: 3%  !important;}
.w05per { width: 5%  !important;}
.w10per { width: 10% !important;}
.w13per { width: 13% !important;}
.w15per { width: 15% !important;}
.w20per { width: 20% !important;}
.w25per { width: 25% !important;}
.w30per { width: 30% !important;}
.w35per { width: 35% !important;}
.w40per { width: 40% !important;}
.w45per { width: 45% !important;}
.w50per { width: 50% !important;}

/* !Floats ------------------------------------------------------------------ */
.flL    { display: inline; float: left;}
.flR    { display: inline; float: right;}
.flImgL { display: inline; float: left; margin-right: 20px;}
.flImgR { display: inline; float: right; margin-left: 20px;}
.ftBox  { overflow: hidden; *zoom: 1;}

/* !Tools ------------------------------------------------------------------- */
.clear { clear: both;}
.block { display: block;}
.hide  { display: none;}
.bgN   { background: none !important;}
.tdU   { text-decoration: underline;}
.tdN   { text-decoration: none;}
.atode { border: 2px solid #96c; padding: 10px; text-align: center; background-color: #f9f; font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace; font-size: 30px; color: #fff;}



table.space td{padding:5px !important;}
table.table_matching td{white-space: nowrap;}
/* !JavaScript -------------------------------------------------------------- */
.over { /* ロールオーバー呼び出し用 */ }

/* !Margin ------------------------------------------------------------------ */
.mt00 { margin-top: 0   !important;}
.mt05 { margin-top: 5px !important;}
.mt10 { margin-top:10px !important;}
.mt12 { margin-top:12px !important;}
.mt15 { margin-top:15px !important;}
.mt20 { margin-top:20px !important;}
.mt25 { margin-top:25px !important;}
.mt30 { margin-top:30px !important;}
.mt35 { margin-top:35px !important;}
.mt40 { margin-top:40px !important;}
.mt45 { margin-top:45px !important;}
.mt50 { margin-top:50px !important;}
.mr00 { margin-right: 0   !important;}
.mr05 { margin-right: 5px !important;}
.mr10 { margin-right:10px !important;}
.mr12 { margin-right:12px !important;}
.mr15 { margin-right:15px !important;}
.mr20 { margin-right:20px !important;}
.mr25 { margin-right:25px !important;}
.mr30 { margin-right:30px !important;}
.mr35 { margin-right:35px !important;}
.mr40 { margin-right:40px !important;}
.mr45 { margin-right:45px !important;}
.mr50 { margin-right:50px !important;}
.mb00 { margin-bottom: 0   !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom:10px !important;}
.mb12 { margin-bottom:12px !important;}
.mb15 { margin-bottom:15px !important;}
.mb20 { margin-bottom:20px !important;}
.mb25 { margin-bottom:25px !important;}
.mb30 { margin-bottom:30px !important;}
.mb35 { margin-bottom:35px !important;}
.mb40 { margin-bottom:40px !important;}
.mb45 { margin-bottom:45px !important;}
.mb50 { margin-bottom:50px !important;}
.ml00 { margin-left: 0   !important;}
.ml05 { margin-left: 5px !important;}
.ml10 { margin-left:10px !important;}
.ml12 { margin-left:12px !important;}
.ml15 { margin-left:15px !important;}
.ml20 { margin-left:20px !important;}
.ml25 { margin-left:25px !important;}
.ml30 { margin-left:30px !important;}
.ml35 { margin-left:35px !important;}
.ml40 { margin-left:40px !important;}
.ml45 { margin-left:45px !important;}
.ml50 { margin-left:50px !important;}

/* !Padding  ---------------------------------------------------------------- */
.pt00 { padding-top: 0   !important;}
.pt05 { padding-top: 5px !important;}
.pt10 { padding-top:10px !important;}
.pt12 { padding-top:12px !important;}
.pt15 { padding-top:15px !important;}
.pt20 { padding-top:20px !important;}
.pt25 { padding-top:25px !important;}
.pt30 { padding-top:30px !important;}
.pt35 { padding-top:35px !important;}
.pt40 { padding-top:40px !important;}
.pt45 { padding-top:45px !important;}
.pt50 { padding-top:50px !important;}
.pr00 { padding-right: 0   !important;}
.pr05 { padding-right: 5px !important;}
.pr10 { padding-right:10px !important;}
.pr12 { padding-right:12px !important;}
.pr15 { padding-right:15px !important;}
.pr20 { padding-right:20px !important;}
.pr25 { padding-right:25px !important;}
.pr30 { padding-right:30px !important;}
.pr35 { padding-right:35px !important;}
.pr40 { padding-right:40px !important;}
.pr45 { padding-right:45px !important;}
.pr50 { padding-right:50px !important;}
.pb00 { padding-bottom: 0   !important;}
.pb05 { padding-bottom: 5px !important;}
.pb10 { padding-bottom:10px !important;}
.pb12 { padding-bottom:12px !important;}
.pb15 { padding-bottom:15px !important;}
.pb20 { padding-bottom:20px !important;}
.pb25 { padding-bottom:25px !important;}
.pb30 { padding-bottom:30px !important;}
.pb35 { padding-bottom:35px !important;}
.pb40 { padding-bottom:40px !important;}
.pb45 { padding-bottom:45px !important;}
.pb50 { padding-bottom:50px !important;}
.pl00 { padding-left: 0   !important;}
.pl05 { padding-left: 5px !important;}
.pl10 { padding-left:10px !important;}
.pl12 { padding-left:12px !important;}
.pl15 { padding-left:15px !important;}
.pl20 { padding-left:20px !important;}
.pl25 { padding-left:25px !important;}
.pl30 { padding-left:30px !important;}
.pl35 { padding-left:35px !important;}
.pl40 { padding-left:40px !important;}
.pl45 { padding-left:45px !important;}
.pl50 { padding-left:50px !important;}




/* 既存のスマホ用 @media を明示的に閉じる（共通CSSの適用範囲は維持）。 */
}

/* ========================================
   研修医マガジン
======================================== */

#contents.column02.magazine-single figcaption{
    font-size:14px;
    line-height: 1.3;
}

#contents.column02.magazine-single p{
   margin-bottom: 20px; 
    
}

#contents.column02.magazine-single {
    max-width: 97%;
    margin-top: 24px;
}

#contents.column02.magazine-single .wp-block-image{
    padding: 30px 0;
}

@media screen and (max-width: 767px) {
    #contents.column02.magazine-single {
        margin-top: 16px;
    }
}

.magazine-single #main {
    min-width: 0;
}

.magazine-single {
    box-sizing: border-box;
}

.magazine-single #main .magazine-article {
    width: 100%;
}

/* PC：本文の白い枠の上端をサイドバーに揃える。 */
@media screen and (min-width: 768px) {
    body:not(#home) #contents.column02.magazine-single #main {
        margin-top: 0;
        padding-top: 0;
    }

    #contents.magazine-single #main .magazine-article,
    #contents.magazine-single #main .entry-content {
        margin-top: 0;
    }
}

.magazine-single #main .magazine-title {
    margin-bottom: 30px;
    line-height: 1.5;
}

.magazine-single #main .magazine-eyecatch {
    margin: 0 0 40px;
}

.magazine-single #main .magazine-eyecatch img {
    display: block;
    width: 100%;
    height: auto;
}

.magazine-single #main .magazine-body {
    line-height: 1.9;
}


/* ========================================
   研修医マガジン 記事本文 見出し
======================================== */

/* H2
   大きな章見出し
---------------------------------------- */
.magazine-single #main .magazine-body h2.wp-block-heading:not(.interview-profile__heading):not(.interview-profile__name):not(:where(.interview-profile *)) {
    position: relative;
    margin: 55px 0 28px;
    padding: 18px 22px 18px 26px;
    background: #f4f8fd;
    border: none;
    border-radius: 4px;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.5;
    color: #222;
}

/* 左側のアクセントライン */
.magazine-single #main .magazine-body h2.wp-block-heading:not(.interview-profile__heading):not(.interview-profile__name):not(:where(.interview-profile *))::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 6px;
    background: #5e94df;
    border-radius: 4px 0 0 4px;
}


/* H3
   H2の中の小見出し
---------------------------------------- */
.magazine-single #main .magazine-body h3.wp-block-heading:not(.interview-profile__heading):not(.interview-profile__name):not(:where(.interview-profile *)) {
    position: relative;
    margin: 40px 0 20px;
    padding: 0 0 12px 22px;
    border: none;
    border-bottom: 1px solid #d9e4f2;
    background: none;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.5;
    color: #222;
}

/* H3左の丸 */
.magazine-single #main .magazine-body h3.wp-block-heading:not(.interview-profile__heading):not(.interview-profile__name):not(:where(.interview-profile *))::before {
    content: "";
    position: absolute;
    top: .55em;
    left: 0;
    width: 9px;
    height: 9px;
    background: #5e94df;
    border-radius: 50%;
}


.magazine-single #main .magazine-body h2.wp-block-heading:not(.interview-profile__heading):not(.interview-profile__name):not(:where(.interview-profile *))::after,
.magazine-single #main .magazine-body h3.wp-block-heading:not(.interview-profile__heading):not(.interview-profile__name):not(:where(.interview-profile *))::after {
    content: none;
    display: none;
}

/* ========================================
   インタビュー対象者プロフィール
======================================== */

.magazine-single #main .interview-profile {
    position: relative;
    margin: 60px 0 40px;
    padding: 32px;
    background: #f7f8f8;
    border-radius: 10px;
    box-sizing: border-box;
}

.magazine-single #main .interview-profile::before {
    content: "";
    position: absolute;
    top: 0;
    left: 32px;
    width: 50px;
    height: 4px;
    background: currentColor;
}


/* ----------------------------------------
   PROFILE 見出し
---------------------------------------- */

/* プロフィール内の h2 / h3 は本文見出しから除外する。 */
.magazine-single #main .magazine-body .interview-profile h2,
.magazine-single #main .magazine-body .interview-profile h3 {
    position: static;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}

.magazine-single #main .magazine-body .interview-profile h2::before,
.magazine-single #main .magazine-body .interview-profile h2::after,
.magazine-single #main .magazine-body .interview-profile h3::before,
.magazine-single #main .magazine-body .interview-profile h3::after {
    content: none;
    display: none;
}

.magazine-single #main .interview-profile__header {
    margin-bottom: 25px;
}

.magazine-single #main .interview-profile__en {
    display: block;
    margin-bottom: 5px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .15em;
}

.magazine-single #main .magazine-body h2.interview-profile__heading {
    margin: 0;
    padding: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    border: none;
    background: none;
}


/* ----------------------------------------
   プロフィール本体
---------------------------------------- */

.magazine-single #main .interview-profile__inner {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.magazine-single #main .interview-profile__content {
    flex: 1;
    min-width: 0;
}


/* ----------------------------------------
   顔写真
---------------------------------------- */

.magazine-single #main .interview-profile__photo {
    width: 180px;
    flex-shrink: 0;
}

.magazine-single #main .interview-profile__photo img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
}


/* ----------------------------------------
   氏名
---------------------------------------- */

.magazine-single #main .magazine-body h3.interview-profile__name {
    margin: 0;
    padding: 0;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    border: none;
    background: none;
}

.magazine-single #main .interview-profile__kana {
    margin: 4px 0 14px;
    font-size: 13px;
    line-height: 1.5;
    color: #777;
}


/* ----------------------------------------
   所属・診療科・研修年次
---------------------------------------- */

.magazine-single #main .interview-profile__affiliation {
    margin: 0 0 16px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.8;
}

.magazine-single #main .interview-profile__hospital,
.magazine-single #main .interview-profile__department,
.magazine-single #main .interview-profile__year {
    display: inline-block;
    margin-right: 10px;
}


/* ----------------------------------------
   出身大学
---------------------------------------- */

.magazine-single #main .interview-profile__university {
    margin: 0 0 15px;
    font-size: 14px;
    line-height: 1.7;
}

.magazine-single #main .interview-profile__item-label {
    display: inline-block;
    margin-right: 8px;
    font-weight: 700;
}


/* ----------------------------------------
   プロフィール本文
---------------------------------------- */

.magazine-single #main .interview-profile__text {
    margin-top: 15px;
    font-size: 15px;
    line-height: 1.9;
}

.magazine-single #main .interview-profile__text p {
    margin: 0 0 12px;
}

.magazine-single #main .interview-profile__text p:last-child {
    margin-bottom: 0;
}


/* ========================================
   掲載日・更新日
======================================== */

.magazine-single #main .magazine-body .day {
    margin-top: 35px;
    font-size: 13px;
    line-height: 1.7;
    text-align: right;
    color: #777;
}

/* ========================================
   一覧リンク
======================================== */
.magazine-back {
  margin: 32px 0 40px;
  text-align: center;
}

.magazine-back a {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 4px;
  color: #fff;
  font-size: 15px;
  text-decoration: none;
  background:#5e94df;
}
.magazine-back a:visited,.magazine-back a:hover{
  color:#fff;
}
.magazine-back a:hover {
  opacity: 0.95;
}

/* ========================================
   前の記事・次の記事
======================================== */

.magazine-single #main .magazine-navigation {
    margin-top: 40px;
}

.magazine-single #main .magazine-navigation .post-navigation {
    width: 100%;
}

.magazine-single #main .magazine-navigation .nav-links {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.magazine-single #main .magazine-navigation .nav-previous,
.magazine-single #main .magazine-navigation .nav-next {
    width: 48%;
}

.magazine-single #main .magazine-navigation .nav-next {
    text-align: right;
}

.magazine-single #main .magazine-navigation a {
    text-decoration: none;
}

.magazine-single #main .magazine-navigation .nav-title {
    line-height: 1.6;
}

.magazine-single #main .magazine-navigation .nav-subtitle {
    display: inline-block;
    margin: 0 5px;
}


/* ========================================
   タブレット・スマートフォン
======================================== */

@media screen and (max-width: 767px) {
    #contents.magazine-single #main .entry-content {
        padding: 20px 16px;
    }

    body:not(#home) #contents.column02.magazine-single #sub {
        margin-left: 0;
    }



    .magazine-single #main .magazine-body h2.wp-block-heading:not(.interview-profile__heading):not(.interview-profile__name):not(:where(.interview-profile *)) {
        margin: 40px 0 22px;
        padding: 15px 16px 15px 20px;
        font-size: 21px;
    }

    .magazine-single #main .magazine-body h2.wp-block-heading:not(.interview-profile__heading):not(.interview-profile__name):not(:where(.interview-profile *))::before {
        width: 5px;
    }

    .magazine-single #main .magazine-body h3.wp-block-heading:not(.interview-profile__heading):not(.interview-profile__name):not(:where(.interview-profile *)) {
        margin: 30px 0 18px;
        padding: 0 0 10px 18px;
        font-size: 18px;
    }

    .magazine-single #main .magazine-body h3.wp-block-heading:not(.interview-profile__heading):not(.interview-profile__name):not(:where(.interview-profile *))::before {
        width: 8px;
        height: 8px;
    }



    .magazine-single #main .magazine-title {
        margin-bottom: 20px;
        font-size: 24px;
    }

    .magazine-single #main .magazine-eyecatch {
        margin-bottom: 30px;
    }


    .magazine-single #main .interview-profile::before {
        left: 18px;
    }

    /* プロフィール */

    .magazine-single #main .interview-profile {
        margin: 40px 0 30px;
        padding: 22px 18px;
        border-radius: 8px;
    }

    .magazine-single #main .interview-profile__header {
        margin-bottom: 20px;
    }

    .magazine-single #main .interview-profile__inner {
        display: block;
    }

    .magazine-single #main .interview-profile__photo {
        width: 150px;
        margin: 0 auto 20px;
    }

    .magazine-single #main .magazine-body h3.interview-profile__name {
        font-size: 21px;
    }

    .magazine-single #main .interview-profile__affiliation {
        font-size: 14px;
    }

    .magazine-single #main .interview-profile__hospital,
    .magazine-single #main .interview-profile__department,
    .magazine-single #main .interview-profile__year {
        display: block;
        margin-right: 0;
    }

    .magazine-single #main .interview-profile__text {
        font-size: 14px;
        line-height: 1.9;
    }


    /* 掲載日 */

    .magazine-single #main .magazine-body .day {
        margin-top: 25px;
        font-size: 12px;
        text-align: left;
    }


    /* 前後記事 */

    .magazine-single #main .magazine-navigation .nav-links {
        display: block;
    }

    .magazine-single #main .magazine-navigation .nav-previous,
    .magazine-single #main .magazine-navigation .nav-next {
        width: 100%;
    }

    .magazine-single #main .magazine-navigation .nav-previous {
        margin-bottom: 20px;
    }

    .magazine-single #main .magazine-navigation .nav-next {
        text-align: left;
    }

}


/* ========================================
   小さいスマートフォン
======================================== */

@media screen and (max-width: 480px) {

    .magazine-single #main .interview-profile::before {
        left: 15px;
    }

    .magazine-single #main .interview-profile {
        padding: 20px 15px;
    }

    .magazine-single #main .interview-profile__photo {
        width: 130px;
    }

    .magazine-single #main .magazine-body h3.interview-profile__name {
        font-size: 20px;
    }

}


/* ========================================
   研修医マガジン 自動目次
======================================== */
.magazine-single #main .magazine-body .magazine-toc {
    display: block;
    margin: 32px 0 40px;
    padding: 22px 26px;
    border: 1px solid #d6e5f3;
    border-radius: 8px;
    background: #f4f8fd;
    color: #333;
    text-align: left;
}
.magazine-single #main .magazine-body .magazine-toc .magazine-toc__title {
    margin: 0 0 12px;
    padding: 0;
    color: #294566;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
}
body .magazine-single #main .magazine-body .magazine-toc ol {
    display: block;
    float: none;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0 0 0 1.6em;
    list-style: decimal outside;
    text-align: left;
}
body .magazine-single #main .magazine-body .magazine-toc li {
    display: list-item;
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    list-style: decimal outside;
    background: none;
    border: 0;
    font-size: 16px;
    line-height: 1.8;
    text-align: left;
}
body .magazine-single #main .magazine-body .magazine-toc li + li { margin-top: 8px; }
.magazine-single #main .magazine-body .magazine-toc a {
    display: inline;
    color: #287ca8;
    font-size: inherit;
    font-weight: 400;
    line-height: inherit;
    text-decoration: underline;
    text-underline-offset: .2em;
    overflow-wrap: anywhere;
}
.magazine-single #main .magazine-body .magazine-toc a:focus-visible {
    outline: 2px solid #245f9e;
    outline-offset: 3px;
}
.magazine-single #main .magazine-body .magazine-toc li::before,
.magazine-single #main .magazine-body .magazine-toc li::after,
.magazine-single #main .magazine-body .magazine-toc a::before,
.magazine-single #main .magazine-body .magazine-toc a::after { content: none; }
.magazine-single #main .magazine-body :is(h2, h3)[data-magazine-toc-target] { scroll-margin-top: 80px; }
@media screen and (max-width: 767px) {
    .magazine-single #main .magazine-body .magazine-toc {
        margin: 24px 0 30px;
        padding: 18px 16px;
    }
    body .magazine-single #main .magazine-body .magazine-toc li { font-size: 14px; }
}


/* 開閉式目次・H3の階層表示 */
.magazine-single #main .magazine-body .magazine-toc summary.magazine-toc__title {
    display: list-item;
    list-style: disclosure-closed inside;
    cursor: pointer;
    margin: 0;
}
.magazine-single #main .magazine-body .magazine-toc details[open] > summary.magazine-toc__title {
    list-style-type: disclosure-open;
    margin-bottom: 12px;
}
.magazine-single #main .magazine-body .magazine-toc summary.magazine-toc__title::after {
    content: "開く";
    float: right;
    font-size: 13px;
    font-weight: 400;
}
.magazine-single #main .magazine-body .magazine-toc details[open] > summary.magazine-toc__title::after {
    content: "閉じる";
}
.magazine-single #main .magazine-body .magazine-toc summary:focus-visible {
    outline: 2px solid #245f9e;
    outline-offset: 4px;
}
body .magazine-single #main .magazine-body .magazine-toc ol ol {
    margin-top: 8px;
    padding-left: 1.5em;
}
body .magazine-single #main .magazine-body .magazine-toc ol ol li {
    font-size: .9em;
}
