palt {
    font-feature-settings: "palt";
}

.marker {
    background: linear-gradient(transparent 60%, #fff799 60%);
    font-weight: bold;
}
select {
    font-family: Arial,"游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;
    color: #333;
    font-weight: 400;
}

.between::after{
    content:"";
    display: block;
    width:30%;
}


/*別窓アイコン*/

.blank {
   padding-right: 25px !important; 
   position: relative;
}

.blank::after,.blank::before{
    content: "";
    position: absolute;
    border: 1px solid var(--gray);
    background-color: #fff;
}
.blank::after{
    width: 10px;
    height: 8px;
    border-top-width:3px ;
    bottom: calc(0.6rem + 2px);
    right: 0;
}

.blank::before{
    right: 5px;
    width: 10px;
    height: 8px;
    bottom: calc(0.6rem - 2px);
}

h3 .blank::after{
    bottom: calc(0.85rem + 2px);
}
h3 .blank::before{
    bottom: calc(0.85rem - 2px);
}

/*画像固定比率*/
.pict-square{
    position: relative;
    width: 100%;
    padding-bottom: 100%;
    overflow: hidden;
}

.pict3-2 {
    position: relative;
    width: 100%;
    padding-bottom:67% ;
    overflow: hidden;
}

.pict16-9 {
    position: relative;
    width: 100%;
    padding-bottom:56% ;
    overflow: hidden;
}
.pict-square img,
.pict3-2 img,
.pict16-9 img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/*行制限*/
.clamp1{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1; 
    overflow: hidden;
}
.clamp2{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; 
    overflow: hidden;
}
.clamp3{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; 
    overflow: hidden;
}

/*全面背景用*/
.img-fit {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.img-fit + div{
    position: relative;
    z-index: 2;
}

/*パンくずリスト*/
.breadcrumb {
    border-radius: 0;
    color: var(--dark);
    background-color: transparent;
    margin-bottom: 0;
    font-weight: 700;
    position: relative;
    z-index: 5;
}

.breadcrumb li a {
    font-weight: 400;
    color: var(--primary);
}


/*---------------------
headerここから
---------------------*/

.first-view {
    background: linear-gradient(180deg, rgba(235, 229, 220, 0) 60%, #E3EEF2 60%);
}

.logo {
    margin-bottom: 0;
    line-height: 1;
}
.logo img { width: 200px; }
#main_img {
    position: relative;
    width: 100%;
    min-height: 400px;
    z-index: 3;
    height: calc(80vh - 80px);
    overflow: hidden;
}

#main_img .of::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    z-index: 4;
    left: 0;
    top: 0;
    pointer-events: none;
    background-color: rgba(81, 72, 72, .3);

}

#main_img .of {
    position: relative;
    width: 100%;
    height: calc(80vh - 80px);
    z-index: 3;
    min-height: 320px;
    border-radius: 0.625rem !important;
    overflow: hidden;
}

#main_img .copy {
    position: absolute;
    z-index: 6;
    color: #ffffff;
    width: 95%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 10px;
    text-shadow: 0px 3px 33px #0709204D;
}

#main_img .copy h2 {
    font-size: calc(30px + .5vw);
}

#main_img .of img {
    object-position: 40% 50%;
    font-family: 'object-fit: cover;object-position: 40% 50%;

        /*IE対策*/
}

#main_img .of span {
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    font-size: 17px;
    padding: 10px 20px;
    display: inline-block;
    background: rgba(255, 255, 255, 0.8);
}


/*下層ページトップ*/
.child #main_img {
    height: 300px;
    margin-bottom: 0;
    min-height: 200px;
}

.child #main_img .of {
    width: 100%;
    height: 300px;
    min-height: 200px;
}


.gchild #main_img {
    height:200px;
    min-height: 200px;
}
.gchild #main_img .of {
    height:200px;
    min-height: 200px;
}

.child #main_img .copy {
    max-width: 1400px;
    transform: translate(-50%, -50%);
}

#main_img .copy h2 {
    font-size: calc(25px + .5vw);
}

/*------------TOP画面コンテンツ----------------------------------------------------------------*/

/*------------------------
メイン画像下-カテゴリメニュー
------------------------*/
.box-nav {
    margin-top: -100px;
    max-width: 600px;
    position: relative;
    z-index: 3;
    background-color: #ffffff;
    box-shadow:0 3px 36px rgba(53, 51, 62, .16);
}

.box-nav >div{
    position: relative;
}

.box-nav > div::before{
    content: "";
    position: absolute;
    width:  98%;
    height: 1px;
    border-bottom: dashed 1px #A7ACAE;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

.box-nav > div::after{
    content: "";
    position: absolute;
    height: 98%;
    width: 1px;
    border-right: dashed 1px #A7ACAE;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.box-nav > div:nth-last-of-type(-n+2)::before{
    content: none;
}

.box-nav > div:nth-of-type(2n)::after{
    content: none;
}


/*--------------------------------------
新着情報(TOPページ)
---------------------------------------*/

.news-frame .tab span {
    display: inline-block;
    padding: 8px 15px;
    font-size: 14px;
    border-radius: 6px;
    background-color: #D6D6D6;
    cursor: pointer;
    line-height: 1.0;
}

.news-frame .tab span.active {
    background-color: #389BDC;
    color: #ffffff;
}

.news-frame .tab span:not(:last-of-type) {
    margin-right: 10px;
    margin-bottom: 5px;
}
.news-frame .badge {
    padding: 4px 8px;
    color: #333333;
    width: 110px;
}

.tab-contents {
    flex-shrink: 0;
    width: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s;
    order: 1;
}

.tab-contents.show {
    position: relative;
    visibility: visible;
    opacity: 1;
    order: 0;
}

.news-list a {
    border-bottom: 1px dashed #B9B9B9;
    padding: 12px 30px 13px 5px;
    position: relative;
}
.news-list a::after {
    content: "";
    position: absolute;
    right: 10px;
    top: calc(50% - 5px);
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: var(--primary) var(--primary) transparent transparent;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*PDFファイル*/
.file-list li{
    padding: 15px 0;
}

.file-list li:not(:last-of-type){
    border-bottom: 1px dashed var(--gray-light);
}
/*よくある質問*/
.faq_list dt{
	background-color: var(--light);
	padding:15px 50px 16px 70px;
	font-weight: bold;
	position: relative;
	cursor: pointer;
    border-radius: 0.5rem;
	margin-bottom: 10px;
}
.faq_list dt::before{
    color: #ffffff;
	position: absolute;
	content: "Q";
    font-family: 'webfont', serif;
	font-size: 24px;
	background-color: var(--primary);
	width: 40px;
	height: 40px;
	line-height: 35px;
	text-align: center;
	border-radius: 50%;
	top: 50%;
	left: 15px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.faq_list dt::after{
	content: "";
	position: absolute;
	border-left: #242424 3px solid;
	border-bottom: #242424 3px solid;
	height: 16px;
	width: 16px;
	top: 45%;
	right: 13px;
	-webkit-transform: rotate(-45deg) translateY(-55%);
	transform: rotate(-45deg) translateY(-55%);
}
.faq_list dd{
	display: none;
    background: var(--gray-light);
	padding: 25px 15px;
    border-radius: 0.5rem;
	margin-bottom: 30px;
}

/*----------------------
担当医変更（トップページ）
----------------------*/
.change {
    min-height: 250px;
    overflow: hidden;
}

.change-scroll {
    overflow-y: scroll;
}

.change-scroll>div {
    left: 0;
    right: 0;
}

.change-scroll::-webkit-scrollbar {
    width: 7px;
}

.change-scroll::-webkit-scrollbar-track {
    background-color: #eee;
    border-radius: 100px;
}

.change-scroll::-webkit-scrollbar-thumb {
    background-color: #aaa;
    border-radius: 100px;
}

.change-scroll li {
    display: block;
    color: #333333;
}

.change-scroll li a {
    display: block;
    padding: 8px 25px 8px 5px;
    color: #333;
    border-bottom: dashed 1px #ccc;

}

/*----------------------
slick
------------------------*/

.pickup .slick-slide{
    opacity: 0.5;
    transition: opacity .4s;
}

.pickup .slick-active{
    opacity: 1;
}

.slick-arrow{
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute;
    top: 40%;
    z-index: 10; 
}

.slick-prev {
    position: absolute;
    left: 12px;
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: transparent transparent #333 #333;
    transform: rotate(45deg);
}

.slick-next{
    position: absolute;
    right: 12px;
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: #333 #333 transparent transparent;
    transform: rotate(45deg);
}


.slide-arrow {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute;
    top: 15px;
    z-index: 10;
}

.prev-arrow {
    right: 55px;
    background: rgba(255,255,255,0.9);
    width: 30px;
    height: 30px;
    border-radius: 0.25rem ;
}

.next-arrow {
    right:20px;
    background: rgba(255,255,255,0.9);
    width: 30px;
    height: 30px;
    border-radius: 0.25rem ;
}

.slick-prev:focus,
.slick-next:focus,
.prev-arrow:focus,
.slide-arrow:focus {
    outline: 0;
}

.prev-arrow:hover,
.next-arrow:hover {
    opacity: 0.4;
}

.prev-arrow::after {
    content: "";
    position: absolute;
    top: 9px;
    left: 12px;
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: transparent transparent #333 #333;
    transform: rotate(45deg);
}

.next-arrow::after {
    content: "";
    position: absolute;
    top: 9px;
    right: 12px;
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: #333 #333 transparent transparent;
    transform: rotate(45deg);
}

.btn-arrow{
    position: relative;
    padding-right: 30px;
}

.btn-arrow::after{
    position: absolute;
    content: "";
}

.btn-arrow::after{
    right: 14px;
    top:calc(50% - 4px);
    width: 8px;
    height: 8px;
    border: 2px solid;
    border-color: #fff #fff transparent transparent;
    transform: rotate(45deg);
}

.bg-white.btn-arrow::after{
    border-color: var(--primary) var(--primary) transparent transparent;
}
/*重要なお知らせ*/
.important{
    display: none;
  }
  .important.slick-initialized{
    display: block; /*slick-initializedが付与されたら表示*/
  }

.important .slick-track {
    display: flex !important;
    align-items: center !important;
}


/*---------下層コンテンツ----------------------------------------------------------------*/

/* サイドナビ */
.side-title {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	padding: 25px 20px 0 0;
}
/* サイドナビリスト */
.sidenavi {
	font-size: 15px;
	letter-spacing: 0.5px;
	border-left: #dee2e6 solid 1px;
	border-top: #dee2e6 solid 1px;
	border-radius: 6px 0 0 0;
	display: block;
	width: 100%;
	padding: 20px 0 10px 20px;
}
.sidenavi li a {
	color: #333;
	position: relative;
	display: block;
	padding-left: 15px;
	margin-bottom: 5px;
}
.sidenavi li a::after {
	content: "";
	position: absolute;
	top:0.75rem;
    left: 0px;
	width: 6px;
    height: 6px;
    border-top: 2px solid var(--primary);
    border-right: 2px solid var(--primary);
    -webkit-transform: rotate(45deg);
    transform:translateY(-50%) rotate(45deg);
	transition: transform .4s;
}
.sidenavi li a:hover::after{
    transform: translate(3px,-50%) rotate(45deg);
}

/*リスト（検査の流れ）*/
.flow-list{
    text-align: center;
}

.flow-list li{
    position: relative;
    margin-bottom: 1rem;
    font-weight: bold;
}

.flow-list li:not(:last-of-type)::before {
    content: "";
    position: absolute;
    bottom: -0.7rem;
    left: 50%;
    width: 6px;
    height: 6px;
    border-top: 2px solid var(--primary);
    border-right: 2px solid var(--primary);
    transform: translateX(-50%) rotate(135deg);
}

.flow-list li:not(:last-of-type)::after {
    content: "";
    position: absolute;
    bottom: -0.7rem;
    left: 50%;
    width: 2px;
    height: 0.6rem;
    background-color: var(--primary);
    transform: translateX(-50%);
}


/* テーブル（スケジュール） */
.table_schedule {
	width: 768px;
	border-top: 1px solid #dee2e6;
}

.table_schedule thead th{
    background-color: var(--light);
}
.table_schedule th {
	text-align: center;
	padding: 5px;
	position: relative;
	border-bottom: 1px solid #dee2e6;
}
.table_schedule th::before {
	content: "";
	position: absolute;
	height: calc(100% - 10px);
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	border-left: 1px dotted #dee2e6;
	width: 1px;	
} 
.table_schedule th:last-child::before {
	border-left: none;
}
.table_schedule th:nth-child(n+2) {
	width: 13%;
}
.table_schedule tbody td {
	position: relative;
	padding: 12px 5px;
	border-bottom: 1px solid #dee2e6;
    line-height: 1.4;
    font-size: 15px;
}
.table_schedule td::after {
	content: "";
	position: absolute;
	height: calc(100% - 10px);
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	border-left: 1px dotted #ddd;
	width: 1px;	
}
.table_schedule td:last-child::after {
	border-left: none;
}
.table_schedule td:nth-child(n+2) {
	text-align: center;
}
.sticky {
	position: sticky!important;
	background: #fff;
	left: 0;
	z-index: 1;
}
.table_schedule tbody tr:first-child .sticky::before{
	content: "";
	position: absolute;
	top: 0;
	height: 34px;
	width: 100%;
	top: -2px;
	background-color: var(--light);
	left: 0;
	transform: translateY(-100%);
}

/*タイムスケジュール*/
.schedule-day {
    padding: 10px;
    position: relative;
}
.schedule-day::before,
.schedule-day::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--primary);
    left: -6px;
}

.schedule-day::before{
    top: -10px;
}

.schedule-day::after{
    bottom: -10px;
}
.schedule-day ul::after {
    position: absolute;
    content: "";
    height: 100%;
    width: 2px;
    border-left: var(--primary) solid 2px;
    left: -1px;
    top: 0;
}

.schedule-day li>div:first-child span {
    position: relative;
    font-weight: normal;
    padding: 0 17px 0px;
    font-size: 20px;
    line-height: 1.5;
    display: block;
    width: 100px;
    margin-bottom: 10px;
    color: var(--primary);
}

.schedule-day li>div:first-child span::after {
    content: "";
    position: absolute;
    height: 1px;
    width: 10px;
    border-bottom: 1px dashed var(--primary);
    left: -10px;
    top: 50%;
}

.schedule-pic {
    max-width: 220px;
}
/*医師紹介*/
.doctor-detail{
    line-height: 1.5;
    font-size: 13px;
}

.doctor-detail ul li{
    display: inline;
}

.doctor-detail ul li:not(:first-of-type)::before{
    content: "\2044";
    margin-left: 3px;
    margin-right: 5px;
}
.keireki {
  display: flex;
  flex-wrap: wrap;
}
.keireki dt {
  width: 65px;
  margin-bottom: 0;
}
.keireki dd {
  width: calc(100% - 65px);
  margin-bottom: 0;
}

/*沿革*/
.basic-dl.history {
    overflow: hidden;
    border-bottom:1px solid var(--gray-light);
  }

.history dt{
    text-align: right;
    color: var(--primary);
    display: flex;
    justify-content: space-between;
    flex-flow: row-reverse;
   align-items: flex-start;
   position: relative;
   padding-left: 5px;
   padding-top: 5px;
}

.history dd{
    padding-bottom: 12px;
    padding-top: 5px;
    padding-left: 10px;
    position: relative;
}

.history .year{
    margin-right: 0.5rem;
    order: 1;
}

.history .year::before,.history dd::before{
    content: "";
    position: absolute;
    width:  calc(100% + 10px );
    height: 1px;
    background-color:var(--gray-light);
    top: -10px;
    left: 0;
}


/* 組織図 */
.organization ul li ul {
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	margin-left: 48px;
}
.organization ul li ul li {
	margin-bottom: 0.3em;
	position: relative;
}
.organization ul li ul li::before {
	content: "";
	position: absolute;
	top: -1.2em;
	left: -16px;
	width: 10px;
	height: calc(100% + 1.5em);
	border-left: 1px solid #ccc;
    z-index: -1;
}
.organization ul li ul li:last-child::before {
	height: calc(1.5em + .95em);
}
.organization ul li ul li::after {
	content: "";
	position: absolute;
	top: 1.2em;
	left: -16px;
	width: 16px;
	border-bottom: 1px solid #ccc;
}
.organization ul li ul li ul {
	margin-top: 1.2em;

}

.vertical {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.organization-frame ul li ul {
	margin-top: -89px;
	margin-bottom: 1.5em;
	margin-left: 64px;
}
.organization-frame ul li ul li {
	margin-bottom: 0.2em;
	position: relative;
}
.organization-frame ul li ul li::before {
	content: "";
	position: absolute;
	top: 1.1em;
	left: -16px;
	width: 1px;
	height: calc(100% + 1.5em);
	border-left: 1px solid #ccc;
    z-index: -1;
}
.organization-frame ul li ul li:last-child::before {
	height: calc(1em + .95em);
    border-left: 3px solid #fff;
    left: -17px;
}
.organization-frame ul li ul li::after {
	content: "";
	position: absolute;
	top: 1.1em;
	left: -16px;
	width: 16px;
	border-bottom: 1px solid #ccc;
    z-index: -1;
}
.organization-frame ul li ul li:first-child::after {
    width: 31px;
    left: -31px;
}

.organization-frame ul li ul li ul {
	margin-top: -90px;
	margin-bottom: 1.3em;
	margin-left: 70px;
}
.organization-frame ul li ul li .h_ul {
	margin-top: -105px;
	margin-bottom: 1.3em;
	margin-left: 70px;
}
.organization-frame ul li ul li ul li ul {
	margin-top: -41px;
	margin-bottom: 1.3em;
	margin-left: 180px;
}

.btn_org { width: 280px;}
.organization-frame ul li ul li ul li ul li ul {
	margin-top: -41px;
	margin-bottom: 1.3em;
	margin-left: 310px;
}
.organization-frame ul li ul li ul li ul li ul .btn_org {width: 200px;}

/* フロー */
.flow-box {
	counter-reset: flow-counter;
}
.flow-box > .flow {
	position: relative;
	padding-left: 45px;
}
.flow-box > div {
	padding-left: 45px;
}
.flow-box > .flow::after {
	position: absolute;
	content: '';
	width: 2px;
	background: var(--primary);
	height: calc(100% - 30px);
	left: 21px;
	top: 30px;
}
.flow-box > div::after {
	position: absolute;
	content: '';
	width: 2px;
	background: var(--primary);
	height: 100%;
	left: 21px;
	top: 0;
}
.flow-box > .flow:last-child::after, .flow-box > div:last-child::after {
	width: 0px;
	height: 0;
	left: 0;
	top: 0;
}
.flow-box > .flow::before {
	font-family: 'oswald';
	font-size: 18px;
	color: #fff;
	position: absolute;
	content: counter(flow-counter);
	counter-increment: flow-counter;
	width: 25px;
	background: var(--primary);
	height: 25px;
	border-radius: 13px;
	left: 10px;
	top: 2px;
	text-align: center;
	line-height: 1.4;
}

/* 治験 */
.pdf-link {
	position: relative;
}
.pdf-link::after {
	position: absolute;
	content: '';
	width: 13px;
	height: 16px;
	right: -18px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../image/icon_pdf.png) no-repeat 0 0;
}

/* 担当医変更 */
.table-change {
	width: 100%;
	border-collapse: collapse;
}
.table-change th {
	width: 100%;
	display: block;
	margin: 0 auto ;
	text-align: left;
	border: 0;
	position: relative;
	overflow: hidden;
}
.table-change td {
	width: calc (100%);
	display: block;
	padding: 8px 0 12px 0;
	margin: 0 auto 12px;
	border-bottom: dotted 1px #dee2e6;
    overflow: hidden;
}
.before {
    width: 45%;
    float: left;
}
.after {
    width: calc( 55% - 5px);
    padding-left: 25px;
    float: right;
}
.c-date {
    width: 170px;
    display: inline-block;
}

/* アクセス */
.map iframe {
    width: 100%;
    height: 500px;
    margin: 0;
    vertical-align: bottom;
}

/* フロア案内 */
.floor_title {
	width: 20%;
}
.floor_title > div, .floor > div > div {
	border-bottom: dotted 1px #ccc;
	position: relative;
	height: 35px;
	padding-top: 5px;
}
.floor > div > div:last-child {
	border-bottom: none;
	text-align: center;
}
.floor > div > div a {
	position: absolute;
	width: 95%;
	height: 100%;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: var(--primary);
	text-align: center;
	padding-top: 5px;
	color: var(--primary);
	overflow: hidden;
}
.floor > div > div .w-80 {
	left: 2.5%;
	transform: translate(0, -50%);
}
.floor > div > div a:hover {
	color: #fff;
}

/*求人情報*/
.radio-div label input {
    display: none; /* デフォルトのinputは非表示にする */
}

.radio-div{
    display: flex;
    flex-shrink: 0;
    max-width: 400px;
}

.radio-div label{
    width: 100%;
    margin-bottom: 0;
}
.radio-div label span::after {
        content: '';
        display: block;
        position: absolute;
        top: 45%;
        left: 1em;
        width: 15px;
        height: 10px;
        border-left: 3px solid #9c9c9c;
        border-bottom: 3px solid #9c9c9c;
        transform:translateY(-50%) rotate(-45deg) ;
}
.radio-div label span {
    display: block;
    position: relative;
    text-align: center;
    color:  var(--gray); /* 文字色を黒に */
    font-size: 14px; /* 文字サイズを14pxに */
    border: 1px solid #333; /* 淵の線を指定 */
    border-radius: 20px; /* 角丸を入れて、左右が丸いボタンにする */
    padding: 5px 10px 5px 20px; /* 上下左右に余白をトル */
}
.radio-div label input:checked + span {
    color: var(--danger); /* 文字色を白に */
    background: #FBB; /* 背景色を薄い赤に */
    border: 1px solid var(--danger); /* 淵の線を薄い赤に */
}

.radio-div label input:checked + span::after {
    border-left: 3px solid var(--danger);
    border-bottom: 3px solid var(--danger);
}
.search-btn {
    width: 100%;
    flex-shrink: 0;
    max-width: 400px;
}


/*研修医情報サイトからの引用*/
.news-img{
    width: 80px;
}

/*---------------------
newsここから
----------------------*/

/*カテゴリ選択リスト*/
.news-select{
position: relative;
height: 50px;
cursor: pointer;
}

.news-select > div {
transition: all .2s ease-in;
position: absolute;
top: 0;
left: 0;
width: 100%;
border-radius: 2px;
border: 1px solid #D6D6D6;
}

/*toggleが開いたとき*/
.news-select.active > div {
transition: all 300ms;
box-shadow: 0 3px 56px rgba(54, 75, 97, 0.18);
z-index: 4;
}

.index1{	z-index: 1;}
.index2{	z-index: 2;}

.news-trigger{
position: relative;
padding: 0 10px;
height: 50px;
}

/*右端の十字アイコン（閉）*/
.news-trigger::before,
.news-trigger:after {
position: absolute;
top: calc(50% - 2px);
right: 15px;
content: '';
display: inline-block;
width: 16px;
height: 16px;
border-top: 2px solid #3A917B;
transition-duration: .15s;
}

.news-trigger::after {
top: calc(50% - 9px);
right: 22px;
transform: rotate(90deg);
}

/*右端の十字アイコン（開）*/
.active .news-trigger::before {
opacity: 0;
top: calc(50% - 9px);
right: 22px;
transform: rotate(90deg);

transition-duration: .15s;
}

.active .news-trigger::after {
top: calc(50% - 17px);
right: 15px;
transform: rotate(180deg);

transition-duration: .15s;
}


.news-select ul{
margin-bottom: 0;
display: none;
}

.news-select li a{
display: block;
padding: 12px 15px;
color: #333;

transition: 0.4s ease-in;
}

.news-select li a:hover{
background-color: #F2F2F2;
}

.news-select li:not(:first-of-type) a{
border-top: 1px solid #F6F9FB;
}


.kiji_frame ul li {
    position: relative;
    padding-left: 1em;
}

.kiji_frame ul li::after {
    display: block;
    content: '';
    position: absolute;
    top: 12px;
    left: 0;
    width: 6px;
    height: 6px;
    background-color: #1F8EFC;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.kiji_frame ol {
    counter-reset: list;
    list-style-type: none;
    padding: 0;
}

.kiji_frame ol li {
    position: relative;
    padding-left: 20px;
}

.kiji_frame ol li:before {
    counter-increment: list;
    content: counter(list);
    position: absolute;
    left: -5px;
    text-align: center;
    width: 15px;
    top: 0;
    font-weight: 700;
    font-family: 'arial narrow', sans-serif;
}

.kiji_frame ol li::after {
    content: ".";
    position: absolute;
    left: 7px;
    top: 0;
}

.kiji_frame img {
    max-width: 100%;
    height: auto;
}

.kiji_frame h1 {
    color: var(--primary);
    /*文字色*/
    padding: 0.5em 0;
    /*上下の余白*/
    border-bottom: solid 3px var(--primary);
    /*下線*/
    font-size: 36px;
    margin-bottom: 25px;
    font-weight: 600;
    margin-top: 20px;
}

.kiji_frame h2 {
	border-bottom: #aaa solid 1px;
	padding-bottom: 15px;
    margin-bottom: 1.5rem !important;
}

.kiji_frame h3 {
	font-family: webfont, serif;
	border-bottom: 2px solid #333;
	padding-bottom: 10px;
    margin-bottom: 1.5rem !important;
}
.kiji_frame h4 {
	font-family: webfont, serif;
	display: flex;
	align-items: center;
	position: relative;
	padding-left: 10px;
    margin-bottom: 1.5rem !important;
}
.kiji_frame h4:before {
	content: "";
	position: absolute;
	width: 3px;
	height: calc(100% - 10px);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background-color: var(--primary);
}
.kiji_frame h4:after {
	content: "";
	flex-grow: 1;
	border-top: 1px dotted #999;
	display: block;
	margin-left: 15px;
}

.kiji_frame h5 {
    font-size: 1.15rem;
    line-height: 1.2;
    font-weight: 600;
    margin-bottom: 1rem;
    position: relative;
    padding-left: 24px;
}

.kiji_frame h5::before {
    content: "";
    position: absolute;
    width: 19px;
    height: 19px;
    background-color: var(--primary);
    border-radius: 50%;
    left: -3px;
    top: 2px;
}

.kiji_frame h5::after{
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    left: 3px;
    top: 8px;
    transform: rotate(-45deg);
}

.kiji_frame h6 {
    font-size: 1.1rem;
    line-height: 1.4;
    color: var(--primary);
    margin-bottom: 20px;
    font-weight: 600;
}


.kiji_frame .book-widget{
    border: 1px solid #dee2e6;
    margin-top: 30px;
    margin-bottom: 30px;
}
.kiji_frame em {
    color: var(--danger);
    font-style: normal;
}

/*ページナビ*/

.wp-pagenavi {
    clear: both;
    font-size: 14px;
}

.wp-pagenavi a,
.wp-pagenavi span {
    text-decoration: none;
    border: none;
    background-color: #ECF5E9;
    border: 1px solid var(--primary);
    padding: 4px 10px;
    margin: 2px;
    display: inline-block;
    border-radius: 2px;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
    background-color: var(--primary);
    border: 1px solid var(--primary);
    color: #fff;
}

.wp-pagenavi span.current {
    font-weight: 500;
}


/*記事ページ送り*/

.page-feed a {
    text-align: center;
    color: var(--primary);
    padding: 8px 10px;
    display: block;
    border: 1px solid var(--primary);
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 2px;
}

.page-feed span {
    text-align: center;
    border: #ccc 1px solid;
    color: #6c757d;
    background-color: #F2F2F2;
    padding: 8px 10px;
    display: block;
    border-radius: 2px;
}

.page-feed a:hover {
    background-color: var(--light);
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.btn-left>* {
    position: relative;
}

.btn-right>* {
    position: relative;
}

.btn-left>*::after,
.btn-right>*::after {
    position: absolute;
    content: "";
    top: calc(50% - 5px);
    width: 10px;
    height: 10px;
    border: 2px solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.btn-left>*::after {
    left: 13px;
    border-color: transparent transparent rgba(0, 0, 0, .6) rgba(0, 0, 0, .6);
}

.btn-right>*::after {
    right: 13px;
    border-color: rgba(0, 0, 0, .6) rgba(0, 0, 0, .6) transparent transparent;
}

.btn-top {
    position: relative;
}
.btn-top::before {
    content: '';
    top: 3px;
    left: -18px;
    position: absolute;
    border-right: 6px solid transparent;
    border-bottom: 6px solid var(--primary);
    border-left: 6px solid transparent; 
}
.btn-top::after {
    content: '';
    bottom: 4px;
    left: -18px;
    position: absolute;
    width: 12px;
    height: 1px;
    background: var(--primary);
}

.pconly {
    pointer-events: none;
}

/*
--------------------------------------
画面幅576px以上（576px ～）
--------------------------------------
*/

@media print,
screen and (min-width:576px) {
/*研修医情報サイトからの引用*/
.news-img{
    width: 100px;
}
    .clamp1-sm{
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1 !important; 
        overflow: hidden;
    }

/*メイン画像*/
.copy {
    max-width: 100%;
}
/*slick*/
.slick-prev{
    left: -18px;
}

.slick-next{
    right: -18px;
}

/* フロー */
.flow-box > div {
	padding-left: 0;
}
.flow-box > .flow::after {
	position: absolute;
	content: '';
	width: 2px;
	background: var(--primary);
	height: calc(100% - 30px);
	left: 21px;
	top: 30px;
}
.flow-box > div::after {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	left: 0;
}

/*contact*/
.contact-link .row>div:first-of-type::after {
    position: absolute;
    content: "";
    width: 1px;
    height: 85%;
    border-right: #ABABAB dashed 1px;
    border-bottom: 0;
    bottom: 50%;
    right: 0;
    left: auto;
    transform: translate(0, 50%);
}

/* 画像付きボタン */
.img_btn {
    width: 150px;
    min-height: 115px;
}
.footer-btn {
    min-width: 320px;
}
.f-logo { width: 200px; }

}

/*
--------------------------------------
画面幅768px以上（768px ～）
--------------------------------------
*/

@media print,
screen and (min-width: 768px) {
/*メイン画像下-カテゴリメニュー*/
.box-nav > div:nth-last-of-type(-n+3)::before{
    content: none;
}
.box-nav > div:nth-of-type(2n)::after{
    content: "";
}
.box-nav > div:nth-of-type(3n)::after{
    content: none;
}

.division-5 {
    flex: 0 0 20%;
    max-width: 20%;
}

/* 担当医変更 */
.table-change th {
	width: 33%;
	display: table-cell;
	margin: 0 auto ;
    padding: 16px 1.5% 14px 1.5%;
    vertical-align: top;
    border-bottom: solid 1px #dee2e6;
	border-top: solid 1px #dee2e6;
}
.table-change th::before {
	content: "";
	position: absolute;
	height: calc(100% - 10px);
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	border-left: 1px dotted #dee2e6;
	border-bottom: none;
	width: 1px;
} 
.table-change td {
	width: auto;
	border-bottom: solid 1px #dee2e6;
	border-top: solid 1px #dee2e6;
	padding: 17px 18px 14px 18px;
	display: table-cell;
	margin: 0 auto ;
}
.before {
    width: 30%;
}
.after {
    width: calc( 70% - 5px);
}


/* 沿革 */
.history dd{
    padding-left: 20px;
}

/* 組織図 */
.vertical {
	-ms-writing-mode:lr-tb;
	writing-mode:horizontal-tb;
}
.organization-frame ul li ul {
	margin-top: -33px;
	margin-bottom: 1.5em;
	margin-left: 112px;
}
.organization-frame ul li ul li ul {
	margin-top: -41px;
	margin-bottom: 1.3em;
	margin-left: 113px;
}
.organization-frame ul li ul li .h_ul {
	margin-top: -41px;
	margin-bottom: 1.3em;
	margin-left: 180px;
}
.w-md-150 {width: 150px;}


/*サイドナビ*/
.sidenavi li {
	width: 46%;
	border-bottom: 1px dotted #CCC;
	margin: 8px 2% 5px;
	padding-bottom: 8px;
}

.table_schedule {
	width: 100%;
}

/* 画像付きボタン */
.img_btn {
    width: 280px;
}

.radio-div{
    flex-shrink: 1;
    min-width: 200px;
}
.search-btn {
    flex-shrink: 1;
    min-width: 150px;
    max-width: 250px;
}

.select-frame > div{
    width: 49%!important;
}

.pconly {
    pointer-events: auto!important;
}

}


/*
================================
PC表示用ここから（992px ～）
================================
*/

@media print,
screen and (min-width: 992px) {
.first-view{
    padding-top: 100px;
}

.logo img { width: 190px; }
#main_img {
    height: calc(80vh - 100px);

}
#main_img .of {

    height: calc(80vh - 100px);

}

.child #main_img {
    height: 400px;
}
.child #main_img .of {
    height: 400px;
}

.copy {
    left: 60px;
}


.bread ul {
    padding: 0 50px 0 100px;
}

/*メイン画像下-カテゴリメニュー*/
.box-nav {
    max-width: 1200px;
}

.box-nav>div::before {
    content: none;
}

.box-nav>div:nth-of-type(3)::after {
    content: "";
}

/* 画像付きボタン */
.img_btn {
    width: 200px;
}

/* 組織図 */
.organization-frame {
    width: auto;
}

/*採用情報*/
.fixed-b {
    border: 0;
    position: relative;
}

}


/*900px表示終わり*/


/*
-------------------------------
画面幅1200以上（1200px ～）
-------------------------------
*/




@media (min-width: 1200px) {

.logo img { width: auto; }
#sidebar::after {
    position: absolute;
    content: '';
    height: 100%;
    width: 1px;
    border-right: #dee2e6 dotted 1px;
    top: 0;
    left: 85%;
}
/* サイドナビ */
.side-title {
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    padding: 0 0 0 0;
    position: relative;
}
.side-title::after {
    position: absolute;
    content: '';
    left: 0;
    bottom: -25px;
    width: 30px;
    height: 2px;
    background: #dee2e6;
}
/* サイドナビリスト */
.sidenavi {
    border-left: none;
    border-top: none;
    padding: 48px 0 0 0;
}
.sidenavi li {
    width: auto;
    border-bottom: none;
    margin: 0;
    padding-bottom: 0;
}


#sticked{
    position: sticky;
    top: 100px;
    padding-right: 0 !important;
}

#sticked > div{
    max-height: calc(100vh - 100px);
    overflow: auto;
    margin-right: 2px;
    width: calc(85% + 5px);
}

#sticked > div::-webkit-scrollbar {
    width: 8px;
}


#sticked > div::-webkit-scrollbar-thumb {
    border-radius: 10px; 
    background-color: var(--light);
}
}

.toggle{
    display: none;
}

.fixed-btn{
    cursor: pointer;
    z-index: 100;
}

.access{
    display: none;
    pointer-events: none;
}

.fixed-box{
    background: rgba( 255, 255, 255, 0.85 );
    box-shadow: 0 8px 32px 0 rgba(116, 92, 64, 0.37);
    backdrop-filter: blur( 6px );
    -webkit-backdrop-filter: blur( 6px );
    border-radius: 10px;
    border: 1px solid rgba( 255, 255, 255, 0.18 );
    max-height: 90vh;
    max-height: 90dvh;
    overflow-y: auto;
    pointer-events: all;
}



.fixed-box::-webkit-scrollbar {
    width: 7px;
}

.fixed-box::-webkit-scrollbar-track {
    background-color: #eee;
    border-radius: 100px;
}

.fixed-box::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 100px;
}
.toggle-open{
    width: 25px;
    height: 25px;
    position: relative;
}

.toggle-open span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 6px;
    height: 2px;
  background-color: #666;
  }


.toggle-open span:nth-of-type(1) {
  top:10px; 
    width: 50%;
}

.toggle-open span:nth-of-type(2) {
  top:15px;
    width:30%;
}

.open .toggle-open span:nth-of-type(1) {
    top: 6px;
    left: 8px;
    transform: translateY(6px) rotate(-45deg);
    width: 35%;
}

.open .toggle-open span:nth-of-type(2) {
    top: 18px;
    left: 8px;
    transform: translateY(-6px) rotate(45deg);
    width: 35%;
}




.open.fixed-btn{
    border-bottom:solid rgb(218, 218, 218) 1px;
}

.toggle li{
    position: relative;
}

.toggle li:not(:last-of-type)::after{
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 13px;
    width: 6px;
    height:6px;
    border-top: 2px solid #666;
    border-right: 2px solid #666;
    transform: rotate(45deg);
}

.toggle li a {
    padding: 10px;
    display: flex;
    align-items: center;
    color: #333;
    border-bottom: dashed rgba(0, 0, 0,.15) 1px;
}

.time{
    margin-bottom: 0;
}


.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1500;
}
.modal__bg{
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100vw;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    z-index: 150;
}
.modal__content {
    background: #fff;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 90%;
    max-height: 90%;
    z-index: 200;
    overflow: auto;
}

.close {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .5;
    padding: 0;
    background-color: transparent;
    border: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
}


@media (max-width: 992px) {
    .main-slider-style1{
        margin-top: 0 !important;
    }
}


@media (max-width: 768px) {
    .fixed-box{
    bottom: 70px;
    position: absolute;
    right: 0;
    width: 90% !important;
    }
    #footer{
        margin-bottom: 60px;
    }
}


