/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     ▼▼▼CSSの無効化▼▼▼
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
body{
        font-family: "Noto Serif", serif;
		overflow-x:hidden;
		font-size: 1.75em;
}
@media screen and (max-width: 768px) {
    body{
            font-size: 1.6em;
    }
}
@media screen and (max-width: 498px) {
    body {
        font-size: 1.5rem;
    }
}
a:hover{
 	opacity:1;
}-
p{
        margin-bottom: 0;
}
li{
        list-style-type: none;
}
ul{
	padding-left: 0;
}

/*ボタン*/
.ttl__style01::after {
    content: none;
    display: block;
    position: static;
    left: inherit;
    bottom: inherit;
    background: none; 
     opacity:1;
}
/*リンク*/
.contents a:not([class]):not([id])::before {
    content: none!important;
}
/*セクションのpadding*/
.home-sec {
    padding: 0;
}
.home-contents {
    padding-bottom: 0;
}
@media print, (min-width: 769px) {
    .pblock, .pblock-full, .pblock-slim, .pblock-wide {
        width: 100%;
        max-width: 1030px;
        margin-bottom: 120px;
        min-width: inherit;
    }
}

/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     ▼▼▼グローバルメニュー▼▼▼
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

.nav-top .gnav-main {
        display: block;
        background-image: linear-gradient(90deg, rgba(245, 135, 66, 0.2) 31%, rgba(235, 208, 114, 0.2) 70%, rgba(29, 168, 94, 0.2));
        border: none;
}
.g-nav__link-img {
    filter: brightness(0) invert(1);
}
.nav-top .g-nav .g-nav__search .g-nav__link-en{
	color: #fff;
    font-family: "Noto Serif", serif;
}

.gnav-main__link1 span{
	     color: #000;
    }

.navbar-toggler {
    font-family: "Noto Serif", serif;
}

@media (hover: hover) and (pointer: fine) {
    .g-nav__logo-link:hover{
		opacity:.5;
	}
    .nav-top .g-nav .g-nav__search .g-nav__link_btn:hover{
		opacity: .7;
    }
    .nav-top .g-nav__uni__link:hover {
		opacity: .7;
    }
}

.nav-top .gnav-main__link1 span{
	transition: .3s;
}
.nav-top .gnav-main__link1:hover::before {
	position: absolute;
	content: none;
}
@media (hover: hover) and (pointer: fine) {
    .nav-top .gnav-main__link1:hover span{
        color:#F58742;
    }
    .nav-top .gnav-main__link1::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #F58742;
    bottom: 0;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform 0.3s;
    }

    .nav-top .gnav-main__link1:hover::after {
    transform: scale(1, 1);
    }
}

@media screen and (max-width: 1199.98px) {
    .nav-top .gnav-main {
         display: none!important;
    }
    .nav-top .g-nav {
         position: fixed;
    }
    .nav-top .g-nav .g-nav__search_sp .g-nav__link-en {
        color: #fff;
        margin-top: 0;
        font-family: "Noto Serif", serif;
    }
}
@media screen and (max-width: 428px) {
    .nav-top .g-nav__medium_site-jp__ttl {
        font-size: 1.65rem;
    }
    .nav-top .g-nav__medium_site {
        padding: 15px 10px;
    }
}

/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     ▼▼▼メインビジュアル▼▼▼
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.home-mv__item {
    width: 100%;
    position: static;
    overflow: visible;
}
.home-mv__img {
    max-height: none;
    object-fit: contain;
}

.home-mv__item::after {
    content: "";
	background:url(/med/osakachouju-hosp/image/sitetop/mv-pc_1.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	width: 99.6vw;
	height: auto;
	aspect-ratio: 1411 / 781;
}
@media (max-width: 1200px) {
    .home-mv__item::after {
        height:60vw;
    }
}
@media (max-width: 960px) {
    .home-mv__item::after {
        height: 68vw;
    }
}
@media (max-width: 768px) {
    .home-mv__item::after {
        background:url(/med/osakachouju-hosp/image/sitetop/mv-tab.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        width: 100vw;
        height: auto;
        aspect-ratio: 768 / 540;
    }

}
@media (max-width: 498px) {
    .home-mv__item::after {
        background:url(/med/osakachouju-hosp/image/sitetop/mv-sp_1.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        width: 100vw;
        height: auto;
        aspect-ratio: 23 / 25;
	}
}
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     ▼▼▼col.css▼▼▼
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*トップページ見出し*/
#message h2,
#recruit h2,
#access h2{
    margin: 0 0 2em 0;
    color: #125192;
    text-align: center;
    position: relative;
    letter-spacing: .1em;
}
@media (min-width: 1300px) {
    #message h2,
    #access h2{
        margin-top: -4vw;
    }
}
@media (max-width: 498px) {
    #message h2{
		padding-top: 1em;
	}
    #recruit h2,
    #access h2{
        margin: 1em 0 2em 0;
    }
}
#message h2 .small{
    letter-spacing: 0;
	font-size: .6em;
}
#message h2 img,
#recruit h2 img,
#access h2 img{
	position: absolute;
	content: "";
	bottom: -1.6em;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: .9em;
	object-fit: contain;
}
h2{
	font-size:clamp(1.875rem, 1.193rem + 3.41vw, 3.75rem);
}
/*マーカー*/
.col_marker_blue_midashi{
	display: inline;
	font-size: 1.4em;
	font-weight: 600;
	line-height: 1em;
	padding: 5px!important;
	background: linear-gradient(transparent 0%, #125192 0%);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;	
	color: #fff;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

/*◆リスト*/
.col_mark_square{
	margin-left: 1em;
}
.col_mark_square li{
	margin: 0 0 .8em 0;
	margin-left: .7em;
	text-indent: -.7em;	
	line-height: 1.3;
}
.col_mark_square li::before{
	content: "";
	display: inline-block;
    background: #125192;
    width: .5em;
    height: .5em;
	margin: 0 .5em .2em 0;
	transform: rotate(45deg);
}
/*◆表*/
.col_table_square{
	margin-left: 1em;
}
.col_table_square{
	border-spacing: 0 1em!important;
}
.col_table_square th::before{
	content: "";
	display: inline-block;
    background: #125192;
    width: .7em;
    height: .7em;
	margin: 0 .5em .1em 0;
	transform: rotate(45deg);
}
.col_table_square td{
	padding: 0 0 0 2em;
}
.col_table_square.block th,
.col_table_square.block td {
	display: block;
	width: 100%;
}
@media (max-width: 768px) {
    .col_table_square th,
	.col_table_square td {
        display: block;
        width: 100%;
    }
}
/*グラデーションボタン*/
 .plink.plink_type_inline_line_r{
        margin: 2em  auto 0;
        padding: 0em 2em;
        background: transparent;
        color: #fff;
        text-align: center;
        border-radius: 2em;
        display: inline-block;
        position: relative;
        text-decoration: none;
        transition: all .5s ease;
		z-index: 0;
}

.plink.plink_type_inline_line_r::before{
        content:"";
        width:100%!important;
        height:100%!important;
        position:absolute!important;
        z-index:-1!important;
        left:0!important;
        transition:0.5s;
        background-image: linear-gradient(145deg, rgba(235, 208, 114, 1), rgba(245, 135, 66, 1) 55%);
        border-radius: 2em;
}
.plink.plink_type_inline_line_r::after{
        content:"";
        width:100%!important;
        height:100%!important;
        position:absolute!important;
        z-index:-2!important;
        left:0!important;
        background-image: linear-gradient(121deg, rgba(243, 119, 32, 1), rgba(243, 196, 30, 1));!important;
        border-radius: 2em;
}
.plink.plink_type_inline_line_r:hover::before{
		opacity:0;
}
.plink.plink_type_inline_line_r:hover{
		color: #fff;
		opacity: 1;
		transform: translateY(-5px);
		box-shadow: 0 5px 10px rgba(245, 135, 66, .5);
}
.plink.plink_type_inline_line_r:active {
  transform: translateY(-2px);
}

/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     ▼▼▼unit.css▼▼▼
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---画像つきテキストエリア---*/
.unit_side_imgarea {
	width: 100%;
	display: flex;
	gap: 2em;
}
/*テキストを左にする場合*/
.unit_side_imgarea.reverse {
	flex-direction: row-reverse;
	margin: 0;
}
/*画像wrap*/
.unit_side_imgarea .img_wrap {
	width: 40%;
}
.unit_side_imgarea .img_wrap img {
	width: 100%;
}
/*本文wrap*/
.unit_side_imgarea p{
	flex: 1;
}
@media (max-width:768px) {
	.unit_side_imgarea,
	.unit_side_imgarea.reverse {
		flex-direction: column;
		align-items: center;
		gap:.5em;
	}
	.unit_side_imgarea .img_wrap {
		width: 80%;
	}
	/*画像wrap*/
	.unit_side_imgarea.reverse .img_wrap {
		width: 80%;
	}
	.unit_side_imgarea p{
		padding: 0;
		margin: 0;
	}
}
@media (max-width:428px) {
  .unit_side_imgarea .img_wrap {
    width: 90%;
  }
  .unit_side_imgarea.reverse .img_wrap {
    width: 90%;
  }
}

/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     ▼▼▼common.css▼▼▼
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.small{
	font-size: .75em;
}
.small_line_height{
	font-size: .75em;
	display: block;
	line-height:1.5;
}
.bigger{
	font-size: 1.2em;
}
.content_width{
	max-width: 1200px;
	margin: 0 auto;
	width: 90%;
}
.center{
	margin: 0 auto;
	text-align: center;
}
.text_wrap{
	display: inline-block;
}
.margin_top_1em{
	margin-top: 1em;
}
.border_bottom{
	border-bottom: 1px solid #000;
	display: inline-block;
}
.sp_br_960,
.sp_br_768,
.sp_br_498{
	display:none;
}
@media (max-width:960px) {
  .sp_br_960{
      display:block;
  }
}
@media (max-width:768px) {
  .sp_br_768{
      display:block;
  }
}
@media (max-width:498px) {
  .sp_br_498{
      display:block;
  }
}

@media (hover: hover) and (pointer: fine) {
    .opacity_5:hover{
        opacity: .5;
    }
	.opacity_5{
		transition: .3s;
	}
}
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     ▼▼▼sitetop.css▼▼▼
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*-----------------------------------
  ▼▼▼固定アイコン▼▼▼
-----------------------------------*/
.x_icon,
.insta_icon,
.recruit_icon{
	background:#fff;
	width:65px;
	height:65px;
	border-radius: 5px 0 0 5px;
	box-shadow: -2px 4px 5px rgba(0,0,0,.3);
	position: fixed;
	top: 30%;
	right: 0;
	z-index:2;
	display: flex;
	justify-content: center;
	align-items: center;
}

.insta_icon{
	top: 40%;
}
.recruit_icon{
	top: 50%;
	height:220px;
 	writing-mode: vertical-rl;
	gap: .5em;
	font-size:.95em;
	background: #ffedab;
	padding: 1em 0;
}
.recruit_icon span{
	display: flex;
	align-items:center;
	gap: .5em;
}
.x_icon img,
.insta_icon img,
.recruit_icon img{
	width: 40px;
	height: auto;
	object-fit: contain;
}
.x_icon .sp_block,
.insta_icon .sp_block{
	display:none;
}
@media (max-width:960px) {
    .x_icon,
    .insta_icon,
    .recruit_icon{
		top: 25%;
        width:40px;
        height:40px;
    }

    .insta_icon{
        top:32%;
    }
    .recruit_icon{
        top: 39%;
        padding: 1em 0;
		height: 200px;
    }
    .x_icon img,
    .insta_icon img,
    .recruit_icon img{
        width: 25px;
    }
}
@media (max-width:768px) {
    .fixed_btn{
		display:flex;
        width:100vw;
        height: 3em;
        position:fixed!important;
        bottom:0;
        left:0;
		z-index: 3;
    }
    .fixed_btn > a{
		flex:1;
    }
    .fixed_btn > a:nth-of-type(-n+2){
		border-right: 1px solid #ccc;
    }
	.x_icon .sp_block,
    .insta_icon .sp_block{
		display:block;
	}
	.recruit_icon{
        top: 50%;
        height:180px;
        writing-mode: horizontal-tb;
        gap: .5em;
        font-size: 1.1em;
        padding: .2em 0 0;
    }
    .x_icon,
    .insta_icon,
    .recruit_icon{
        width:auto;
        height:auto;
        border-radius: 0;
        box-shadow: none;
        position: static;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .x_icon img,
    .insta_icon img,
    .recruit_icon img{
        width: 30px;
    }

}
@media (max-width:600px) {
    .fixed_btn{
		flex-wrap:wrap;
		height: 6em;
    }
	.fixed_btn > a{
		flex: 0 1 auto;
	}
    .fixed_btn > a:nth-of-type(-n+2){
		width: 50%;
    }
    .recruit_icon{
        width:100%;
    }
    /*ページトップボタン位置修正*/
    .nav-top .pagetop{
        bottom: 6.5em;
    }
}

/*-----------------------------------
  ▼▼▼コンセプト▼▼▼
-----------------------------------*/
#concept{
	background-image: url("/med/osakachouju-hosp/image/sitetop/concept_bg.svg");
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #FDFBF4;
    margin: 0 calc(50% - 50vw);
    width: 99.6vw;
	padding: 200px 0 22vw;
	position: relative;
}
.concept_top{
	max-width: 1200px;
 	margin: 0 auto;
	width: 90%;
}

#concept h2{
	position: relative;
	z-index: 1;
	margin: 0 0 0 1em;
	color: #125192;
}

#concept h2::before{
	position: absolute;
	content: "";
	background: url(/med/osakachouju-hosp/image/sitetop/concept.png);
	background-repeat: no-repeat;
	background-position: top;
	background-size: contain;
	top: -1em;
 	left: -1em;
	height: 3em;
	width: 25em;
	z-index: -1;
}

#concept::before{
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	background: url("/med/osakachouju-hosp/image/sitetop/arc-y_1.svg");
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100vw;
	height: 400px;
	margin: 0 calc(50% - 50vw);
}

#concept .unit_side_imgarea.reverse{
	width: 95%;
	margin: 4em auto 0;
}
#concept .unit_side_imgarea.reverse .img_wrap {
    width: 30%;
	margin-top: -60px;
}
#concept .unit_side_imgarea.reverse .text_wrap {
    width: 70%;
}
#concept .unit_side_imgarea.reverse .text_wrap p:nth-of-type(2){
	margin: 1em 0 0 1em;
	line-height: 1.8;
	font-size: 1.1em;
}

@media (max-width:960px) {
    #concept {
        background-image: url(/med/osakachouju-hosp/image/sitetop/concept_bg-sp.svg);
        background-repeat: no-repeat;
        background-size: cover;
        background-color: rgb(253, 251, 244);
        width: 99.6vw;
        position: relative;
        background-position: center top;
        margin: 0px calc(50% - 50vw);
        padding: 200px 0px 18vw;
    }
    #concept h2::before{
        top: -1em;
        left: -.5em;
        height: 3em;
        width: 19em;
    }
    #concept .unit_side_imgarea.reverse .img_wrap {
        margin-top: 0;
    }
}
@media (max-width:768px) {
    #concept{
        padding: 150px 0 5vw;
    }
    #concept h2::before{
        top: -.8em;
        left: -.5em;
        height: 3em;
        width: 15em;
    }
	#concept .unit_side_imgarea{
	    flex-direction: row-reverse;
		gap: 1em;
    }
	#concept .unit_side_imgarea.reverse .img_wrap {
		width: 35%;
		margin-top: 0;
	}
    #concept .unit_side_imgarea.reverse .text_wrap p:nth-of-type(2){
        margin: 1em 0 0 0;
    }
}

@media (max-width:600px) {
    #concept h2::before{
        top: -.6em;
        left: -.5em;
        height: 3em;
        width: 100%;
    }
  /*画像wrap*/
      #concept .unit_side_imgarea{
	    flex-direction: column-reverse;
            align-items: center;
       }
	.unit_side_imgarea p{
		padding: 0;
		margin: 0;
	}
	#concept .unit_side_imgarea.reverse .img_wrap {
		width: 50%;
		margin-top: 0;
	}
	#concept .unit_side_imgarea.reverse .text_wrap {
		width: 100%;
	}
}
@media (max-width:498px) {
    #concept{
        padding: 100px 0 5vw;
    }
    #concept h2::before{
        top: -.5em;
        left: -.5em;
        height: 3em;
        width: 100%;
    }
	#concept .unit_side_imgarea.reverse .img_wrap {
		width: 70%;
	}
}
/*-----------------------------------
  ▼▼▼3つのボタン▼▼▼
-----------------------------------*/
#btn_wrapper{
	display: flex;
	justify-content: center;
	gap: 1.5em;
	margin: 5em auto;
	flex-wrap: wrap;
	width: 60%;
}
#btn_wrapper .top_btn{
	background: #fff;
	border-radius: 10px;
	padding: 0 .5em 2em;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 300px;
}
#btn_wrapper .top_btn .blur{
 aspect-ratio: 1 / 1;
  background: radial-gradient(
    circle,
    rgba(178,229,230,.3),
    rgba(178,229,230,.3));
  border-radius: 50%;
  filter: blur(50px);
  width: 150px;
height: 150px;
}
#btn_wrapper .top_btn img{
	object-fit: contain;
	z-index: 2;
	width: 100px;
	height: 100px;
	margin: -150px 0 0 0;
	padding: 2em 0 0 0;
}
#btn_wrapper .top_btn:nth-of-type(1) img{
	width: 140px;
	padding: 3em 0 0 0;
}
#btn_wrapper .top_btn:nth-of-type(2) img{
	width: 70px;
}
#btn_wrapper .top_btn:nth-of-type(3) img{
	width: 120px;
}
#btn_wrapper .top_btn p{
	flex: 1;
    text-align: center;
    display: flex;
    align-items: center;
    line-height: 1.3;
    margin: 1em 0 0;
	font-size: 17px;
}
#btn_wrapper .top_btn h4{
	color: #125192;
	font-size: 1.3em;
	margin: .1em 0 0 0;
}
#btn_wrapper .top_btn:nth-of-type(1) h4{
	margin: 1em 0 0 0;
}
/*パネルの丸ボタン*/
#btn_wrapper .top_btn{
	position: relative;
}
#btn_wrapper .top_btn .maru_btn{
	position: absolute;
	content: "";
	background: #125192;
	border-radius: 50%;
	bottom: -35px;
	right: 1em;
	width: 70px;
	height: 70px;
}
#btn_wrapper .top_btn .maru_btn.yajirushi span{
	position: relative;
	display:block;
	width: 43px;
	height: 3px;
	margin: 33.5px auto 0;
	border-radius: 9999px;
	background-color: #FFFFFF;
}
#btn_wrapper .top_btn .maru_btn.yajirushi span::before,
#btn_wrapper .top_btn .maru_btn.yajirushi span::after{
	content: "";
	position: absolute;
	top: calc(50% - 1.5px);
	right: 0;
	width: 14px;
	height: 3px;
	border-radius: 9999px;
	background-color: #FFFFFF;
	transform-origin: calc(100% - 1.5px) 50%;
}
#btn_wrapper .top_btn .maru_btn.yajirushi span::before{
	transform: rotate(39.5deg);
}
#btn_wrapper .top_btn .maru_btn.yajirushi span::after{
	transform: rotate(-39.5deg);
}
/*ボタンをピラミッド型にする*/
#btn_wrapper > span{
	width: 100%; 
	display: block;
}

/*準備中*/
#btn_wrapper .top_btn .maru_btn.junbichu{
	background: #808080;
}
#btn_wrapper .top_btn .maru_btn.junbichu span{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: #fff;
}
/*hover*/
#btn_wrapper .top_btn.hover,
#btn_wrapper .top_btn.hover .maru_btn,
#btn_wrapper .top_btn .maru_btn.yajirushi span,
#btn_wrapper .top_btn .maru_btn.yajirushi span::before,
#btn_wrapper .top_btn .maru_btn.yajirushi span::after{
	transition: .3s;
}
@media (hover: hover) {
	#btn_wrapper .top_btn.hover:hover{
		background: #B2E5E6;
	}
	#btn_wrapper .top_btn.hover:hover .maru_btn{
		background: #fff;
	}
	#btn_wrapper .top_btn.hover:hover .maru_btn.yajirushi span,
	#btn_wrapper .top_btn.hover:hover .maru_btn.yajirushi span::before,
	#btn_wrapper .top_btn.hover:hover .maru_btn.yajirushi span::after{
		background-color: #125192;
	}
}

@media screen and (max-width:1050px){
        #btn_wrapper {
			width:90%;
		}
}

@media screen and (max-width:768px){
         #btn_wrapper {
				width: 100%;
        }
        #btn_wrapper .top_btn {
                width: 250px;
        }
        #btn_wrapper .top_btn .maru_btn {
            bottom: -30px;
            width: 60px;
            height: 60px;
        }
        #btn_wrapper .top_btn .maru_btn.yajirushi span {
            width: 40px;
            margin: 29px auto 0;
        }
        #btn_wrapper .top_btn .maru_btn.junbichu span {
			font-size: .95em;
        }
}

@media screen and (max-width:600px){
		#btn_wrapper{
			gap: 2.5em;
		}
        #btn_wrapper .top_btn {
                width: 300px;
        }
		#btn_wrapper > span{
            display: none;
        }
        .unit_side_imgarea {
             gap: 1em;
        }
}

/*-----------------------------------
  ▼▼▼概要▼▼▼
-----------------------------------*/
#concept h3{
	color: #125192;
	border-bottom: 2px solid #125192;
	padding: 0 0 .2em .2em;
	margin: 4em 1em 1em 1em;
}
.overview_grid{
	display: grid;
	grid-template-columns: 40% 40%;
	justify-content: center;
	gap:2em;
}
.overview_grid p{
	font-size: 1.1em;
	font-weight: 600;
	margin: .4em 0 0 1.5em;
}
.white_midashi{
	color: #125192;
	background: #fff;
	padding: .2em 1em;
	font-weight: bold;
	font-size: 1.3em;
	display: inline-block;
	margin-bottom: 0;
}
.overview_grid .col_table_square{
	font-size: 1.2em;
	margin: 0 0 0 2em;
}
@media screen and (max-width:960px){
	.overview_grid{
		grid-auto-flow: row;
		grid-template-columns: 90%;
		margin: 0 auto;
  }
}
/*-----------------------------------
  ▼▼▼診療体系▼▼▼
-----------------------------------*/
.department_wrapper{
	display: flex;
	flex-direction: column;
	gap: 2em;
	width: 80%;
	margin: 0 auto 5em;
}
.department_wrapper .insurance,
.department_wrapper .specialty,
.department_wrapper .self_pay{
	border: 1px solid #fff;
}
.department_wrapper .insurance .flex_box{
	display: flex;
	justify-content: center;
	gap: 2em;
	padding: 1em;
}
.department_wrapper .insurance .flex_box > li{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 32%;
	border-left: 5px solid #125192;
	padding: 0 0 .3em .8em;
}
.department_wrapper .insurance .flex_box > li > p{
	font-size: 1.2em;
	font-weight: 600;
}
.department_wrapper .insurance .flex_box > li > .col_mark_square{
	flex: 1;
	margin: .5em 1em 0 0;
}
.department_wrapper .insurance .flex_box > li > .syndrome{
	background: #B2E5E6;
	font-size: .9em;
	display: inline-block!important;
	padding: 0 1em;
}
.department_wrapper .department_flex{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2em;
}
.department_flex .col_mark_square{
	font-weight: 600;
	margin: 1em 2em;
}
.department_flex .col_mark_square .small{
	font-weight: normal;
}
@media screen and (max-width:960px){
    .department_wrapper{
        width: 90%;
    }
    .department_wrapper .insurance .flex_box {
        gap: 1em;
    }
    .department_wrapper .insurance .flex_box > li > p {
        font-size: 1.1em;
    }
}
/*
@media screen and (max-width:768px){
    .department_wrapper {
        gap:1em;
    }
    .department_wrapper .insurance .flex_box > li > .col_mark_square {
        padding-left: 0;
    }
    .department_wrapper .insurance .flex_box > li {
        width: 32%;
        border-left: 4px solid #125192;
        padding: 0 0 .3em .5em;
    }
    .department_wrapper .insurance .flex_box > li > .syndrome {
        padding: 0 .5em;
    }
    .department_wrapper .department_flex {
        gap: 1em;
    }
}
*/
@media screen and (max-width:768px){
	.department_wrapper .insurance .flex_box {
		flex-direction: column;
		align-items: center;
	}
    .department_wrapper .insurance .flex_box > li {
        width: 80%;
        border-left: none;
        padding: 0 0 .3em .8em;
    }
	.department_wrapper .insurance .flex_box > li:nth-of-type(-n+2){
		border-bottom: 1px solid #125192;
	}
    .department_wrapper .insurance .flex_box > li > .col_mark_square {
        padding-left: 2em;
    }
    .department_wrapper .insurance .flex_box > li > .syndrome {
        margin: 0 0 1em 2em;
    }
    .department_wrapper .insurance .flex_box > li > p {
        font-size: 1.3em;
		margin-bottom: 0;
    }
	 .department_wrapper .department_flex {
        gap: 1em;
		grid-auto-flow: row;
		grid-template-columns: 100%;
    }
    .department_flex .col_mark_square {
        width: 80%;
		margin: 1em auto;
    }
}
@media screen and (max-width:498px){

    .department_wrapper .insurance .flex_box > li {
        width: 100%;
    }
}

/*-----------------------------------
  ▼▼▼スライドショー▼▼▼
-----------------------------------*/
#gallery{
	margin: 0 calc(50% - 50vw);
	width: 99.6vw;
}
.gallery_wrapper {
	display: flex;
	align-items: center;
	overflow: hidden;
}
.gallery_wrapper .content {
	margin: 0 1em;
	width: 467px;
	height:262px;
}
.gallery_wrapper .content img{
	object-fit: contain;
	width: 100%;
	border-radius: 20px;
}
.gallery_wrapper .slideshow {
	display: flex;
	animation: loop-slide 50s infinite linear 1s both;
}
@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@media screen and (max-width: 768px) {
    .gallery_wrapper .content {
        margin: 0 .5em;
        width: 300px;
        aspect-ratio: 467 / 263;
    }
}
/*-----------------------------------
  ▼▼▼ごあいさつ▼▼▼
-----------------------------------*/
#message{
	background: #FDFBF4;
	margin-top: -30px;
	margin: 0 calc(50% - 50vw);
	width: 99.6vw;
	position: relative;
}
#message::before{
	position: absolute;
	content: "";
	background: url(/med/osakachouju-hosp/image/sitetop/message-leaf.png);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -2em;
	right: 2.5em;
	width: 70px;
	height:70px;
	z-index: 1;
}
@media (max-width:768px) {
    #message::before {
        bottom: -3em;
        right: .5em;
        width: 50px;
        height:50px;
     }
}
.message_wrapper{
	background: url("/med/osakachouju-hosp/image/sitetop/message-bg.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	height: 100%;
	padding: 6vw 0;
}
.message_flex{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10%;
}
.message_top_text{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 100px;
}
.message_flex img{
	width: 30%;
	object-fit: contain;
}
.message_top_text .keyword span{
	background: #B2E5E6;
	font-size: 1.8em;
	padding: 0 .5em;
	font-weight: 600;
}
.message_top_text .president{
	position:relative;
}
.message_top_text .president .name ruby rb{
	font-size: 31px;
	font-weight: 600;
}
.message_top_text .president .name ruby {
	ruby-position: under;
}
.message_top_text .president .name ruby rt{
	font-size: 9px;
}
.message_top_text .president::before{
	position:absolute;
	content: "";
	top: .7em;
	left: -150px;
	background: #000;
	height: 1px;
	width: 130px;
}
.message_wrapper > p{
	margin: 50px auto 0;
	width: 80%;
	position: relative;
	z-index: 2;
	
}

@media screen and (max-width: 960px) {
    .message_top_text {
        gap: 5vw;
    }
	.message_flex{
        gap: 3%;
    }
    .message_wrapper > p{
        margin:0 auto 0;
    }
    .message_top_text .keyword span {
        font-size: 1.5em;
    }
    .message_top_text .president::before {
		left: -60px;
        width: 50px;
    }
}
@media screen and (max-width: 600px) {
    .message_flex {
        flex-direction: column;
    }
    .message_top_text .president::before {
        content: none;
    }
    .message_top_text {
        gap: 2em;
        flex-direction: column-reverse;
    }
    .message_flex img {
        width: 50%;
    }
    .message_flex {
        gap: 1em;
    }
    .message_wrapper > p {
        width: 80%;
    }
    .message_wrapper {
        background-size: cover;
		padding: 13vw 0;
    }
    .message_top_text .president .name ruby rb{
        font-size: 27px;
    }
    .message_top_text .president .name ruby rt{
        font-size: 8px;
    }
	#message .content_width{
		width: 100%;
	}
}

/*-----------------------------------
  ▼▼▼NEWS▼▼▼
-----------------------------------*/
#news-1 {
    position: relative;
    background: #FDFBF4;
    padding:100px 0 120px;
}
#news-1::before{
	position: absolute;
	content: "";
	background: url(/med/osakachouju-hosp/image/sitetop/news-leaf-01.png);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -2em;
	left: 3em;
	width: 200px;
	height:200px;
	z-index: 1;
}
#news-1::after{
	position: absolute;
	content: "";
	background: url(/med/osakachouju-hosp/image/sitetop/news-leaf-02.png);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -3em;
	right: 1em;
	width: 120px;
	height:120px;
	z-index: 1;
}
@media (max-width:768px) {
    #news-1::before {
        bottom: -4em;
        left: 1em;
        width: 80px;
    }
    #news-1::after {
        bottom: -3em;
        right: .5em;
        width: 80px;
        height: 80px;
        z-index: 1;
     }
}
#news-1 .ttl__style01 {
    position: relative;
    visibility: hidden;
    margin-bottom: 1em;
}
#news-1 .ttl__style01::after {
    position: absolute;
    content: "";
    visibility: visible;
    background: url(/med/osakachouju-opening/image/sitetop/NEWS.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    top: 0;
    left: 0;
    width: 5em;
    height: 2em;
}
#news-1 .plink.plink_type_inline_line_r{
	margin-top: 0;
	display: none;
}
.news__link {
	pointer-events:none!important;
}
/*-----------------------------------
  ▼▼▼採用情報▼▼▼
-----------------------------------*/
#recruit{
	background: url("/med/osakachouju-hosp/image/sitetop/recruit-bg.svg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 300px 0 22vw;
	position: relative;
	width: 99.6vw;
	margin: 0 calc(50% - 50vw);
}
#recruit::before{
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	background: url("/med/osakachouju-hosp/image/sitetop/arc-y_1.svg");
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	height: 400px;
}
#recruit::after{
	position: absolute;
    content: "";
    background: url(/med/osakachouju-hosp/image/sitetop/recruit-leaf-01.png);
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 7em;
    left: 1em;
    width: 90px;
    height: 90px;
    z-index: 1;
}
@media (max-width:768px) {
  #recruit::after{
      bottom: 5em;
      left: 1em;
      width: 70px;
      height: 70px;
  }
}

#recruit > h2::before{
  display: block;
  height: 400px;
  margin-top: -600px;
  content: "";
}
#recruit .orange_bg{
	display: inline;
    font-size: 1.4em;
    font-weight: 600;
    line-height: 1em;
    padding: 5px !important;
    background: linear-gradient(transparent 0%, #F58742 0%);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    color: #fff;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

#recruit .recruit_text{
	margin: 1em 0 0 0;
}
#recruit .img_flex{
	display: flex;
	gap: 1em;
	justify-content: center;
}
#recruit .img_flex img{
	object-fit: contain;
}
#recruit .img_flex img:nth-of-type(1){
	width: 22%;
	margin-top:7%;
}
#recruit .img_flex img:nth-of-type(2){
	width: 28%;
}
#recruit .img_flex img:nth-of-type(3){
	width: 23%;
	margin-top:8%;
}
#recruit .img_flex img:nth-of-type(4){
	width: 19%;
	margin-top:2%;
}
#recruit .content_width{
	width:80%;
}
@media (max-width:960px) {
    #recruit {
        padding: 250px 0 200px;
    }
}
@media (max-width:768px) {
    #recruit .img_flex{
        flex-wrap: wrap;
    }
    #recruit .img_flex img:nth-of-type(1){
        width: 43%;
        margin-top:7%;
    }
    #recruit .img_flex img:nth-of-type(2){
        width: 50%;
    }
    #recruit .img_flex img:nth-of-type(3){
        width: 42%;
        margin-top:0;
    }
    #recruit .img_flex img:nth-of-type(4){
        width: 38%;
        margin-top:2%;
    }
    #recruit .content_width{
        width:90%;
    }
}

@media (max-width:498px) {
    #recruit {
        padding: 250px 0 150px;
    }
}
/*-----------------------------------
  ▼▼▼アクセス▼▼▼
-----------------------------------*/
#access{
	background: #FDFBF4;
	margin: -30px calc(50% - 50vw) 0;
	width: 99.6vw;
	padding: 0 0 50px;
}

#access p{
	width: calc(80% + 2em);
	margin: 0 auto;
}
#access .map_wrapper{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2em;
}
#access .map_wrapper img,
#access .map_wrapper iframe{
	width: 40%;
	object-fit: contain;
	aspect-ratio: 634/492;
	border-radius: 15px;
}
#access .map_wrapper img{
	position: relative;
	border-radius: 10px;
	display: inline-block;
}

@media (max-width:768px) {
	#access .map_wrapper{
		flex-direction: column;
	}
    #access .map_wrapper img,
    #access .map_wrapper iframe{
    	width: 80%;
    }
    #access p{
            width: 80%;
    }
}
@media screen and (max-width:498px){
        #access .map_wrapper img,
        #access .map_wrapper iframe{
	    width: 90%;
        }
    #access p{
            width: 90%;
    }
}

/*-----------------------------------
  ▼▼▼リンク▼▼▼
-----------------------------------*/
#link {
    display: flex;
    gap: 1em;
    justify-content: center;
    align-items: center;
    background: #e6e6e6;
    padding: 1em;
    margin: 0 calc(50% - 50vw) ;
	width: 99.6vw;
}
#link a{
        display: flex;
        justify-content: center;
        background: #ffffff;
        width: 300px;
        height: 70px;
}
#link a img{
         object-fit: contain;
}
#link a:nth-of-type(1) img{
        width: 200px;
}
#link a:nth-of-type(2) img{
        width: 230px;
        margin: 0 0 -5px 0;
}
#link a:nth-of-type(3) img{
        width: 140px;
}
@media screen and (max-width:960px){
        #link{
             flex-wrap: wrap;
        }
        #link a {
            width:200px;
            height:50px;
        }
        #link a:nth-of-type(1) img{
            width: 150px;
        }
        #link a:nth-of-type(2) img{
            width: 180px;
            margin: 0 0 -5px 0;
        }
        #link a:nth-of-type(3) img{
            width: 100px;
        }
}

/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------
     ▼▼▼フッター▼▼▼
-------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.ft{
        padding-top: 60px;
}
.ft__cont{
        max-width: 1200px;
        margin: 0 auto;
        display: block;
        width: 80%;
}
 .w-md-60 {
     width: 100% !important;
 }
@media screen and (max-width:768px){
    .ft__cont {
        width: 100%;
    }
}
