@charset "UTF-8";

/***************************************************

	common

****************************************************/

main{
	padding-bottom: 0;
}
media screen and (min-width: 768px) {
	main {	padding-bottom: 0;}
}


img{ height: auto;}
h2,h3,h4{ /* 	overflow-wrap: break-word;	word-break: keep-all; line-break: anywhere; overflow: hidden; */line-height: 1.5; }

.dep-title-area {
position: relative;
height: 100%;
/* padding-bottom: 5%; */
background-color: #b0d7db;
width: 100%;
overflow-x: hidden;
z-index: 0;
}

.dep-title-area > img{
  aspect-ratio:1960 / 900;
}

.dep-title-area .mv-txt{
  position: relative;
  display: block;

}
.dep-title-area .mv-ttl{
  background-color: #1f899e;
  color:#ffffff !important;
  padding: 2rem 0 2rem calc(100vw / 1400 * 0.15);
  position: relative;
  z-index: 10;
}
.dep-title-area .mv-ttl h2{
  font-size:clamp(1.563rem, 0.61rem + 4.76vw, 6rem);
  letter-spacing: 0.2em;
}
.dep-title-area .mv-ttl h2 span{
  font-size:clamp(1rem, 0.795rem + 1.02vw, 2.5rem);
}
.dep-title-area .mv-subttl{
  padding: 4rem 0 4rem calc(100vw / 1400 * 0.15) ;
  color:#1f899e;
  font-size:clamp(1rem, 0.795rem + 1.02vw, 2.5rem);
  line-height: 1.5;

}
.dep-title-area .mv-subttl img{
  width:calc(100vw * 0.067);
  height: auto;
  aspect-ratio: 150/176;
}
@media screen and (max-width: 468px) {
    .dep-title-area .mv-subttl img {
        width: calc(100vw * 0.15);
    }
}

.row{ display: block; width: 100%;}
@media screen and (min-width: 468px) {}

@media screen and (min-width: 768px) {
  .dep-title-area {
    background-image: linear-gradient(to right, #b0d7db 50%, #ffffff 50%);
    background-position: top 0 left 65%;
    background-size: 150%;

  }
  .dep-title-area .mv-txt{
    max-width: 43vw;
      padding-top: 5vw;
  }
  .dep-title-area .mv-ttl{
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;

  }
  
  .row{ display: flex; justify-content: space-between; align-items: start; flex-wrap: wrap;}
  *[data-type="left"]{flex-direction:row;  }
  *[data-type="right"]{ flex-direction: row-reverse; }
}
@media screen and (min-width: 768px) and (max-width:1239px){
  .dep-title-area .mv-txt{
    max-width: 100%;
    padding:2rem 0 5rem 0;
    display: flex; align-items: center;
  }
  .dep-title-area .mv-ttl,
  .dep-title-area .mv-subttl{ width: 48vw;}
}

@media screen and (min-width: 1240px) {
  .dep-title-area > img.dec-mainimage{
    position: absolute;
    right:0;
    width: 100%;
    aspect-ratio: 1960 / 900;
    max-width:60vw;
  }
  .dep-title-area > img:not(.dec-mainimage){
    position: absolute;
    right:0;
    width: 53vw;
  }
  h2 br:not(.absolute),
 /*  h3 br:not(.absolute) */{ display: none;}
  
}


/***************************************************

	intro-area

****************************************************/
.intro-area { 
  padding-top: 0;
	padding-bottom:40px;
}
.intro-area .row{
  justify-content: flex-start;
}
.intro-area .row img{
  width: 100%;
  aspect-ratio: 676 / 420;

}

.intro-area .box{
  width: fit-content;
  height: fit-content;
  padding: 1rem ;
  line-height: 1.75;
}
.intro-area img + .box{ padding:3rem 20px 20px 20px;}
.intro-area ol{color:#1f899e; } 
.intro-area ol li{ list-style: auto; list-style-position: inside; text-indent: -1em; padding-left: 1em;}

.intro-area .common-container {
    padding-left: 5vw;
    padding-right: 5vw;
}

.intro-area .common-container .row{
	justify-content: center; 
	gap:20px;
}
.intro-area .common-container .text-box a:first-child{
    margin-bottom: 1rem;
}
.intro-area  .text-box{ padding:1vw 5vw; }
.intro-area  h4 {
    padding: 3vw 5vw 0;
}

.intro-area h2,.content-3 h2{ 
  margin-bottom: 2rem;
  line-height: 1;
  font-weight: 700;
}

.intro-area h3{ font-size:100%; font-weight: 600;}
.intro-area h2 span,.content-3 h2 span{ font-size:clamp(1rem, 0.847rem + 0.76vw, 1.563rem); color:#1f899e; display: block; width: 100%;}
.intro-area h2 span{	 margin-top: 1.75rem;}
.intro-area .box p{  text-align: justify;}
.intro-area .text-box h3,.intro-area h4{ font-size:100%; font-weight: 600;}
.intro-area h4{ padding:3vw 5vw 0;}

.intro-area .text-box a.btn-link{ 
	width: 100%; 
	border-radius: 5px; 
	background-color: #eeeeee; 
	border:solid 2px #1f899e; 
	font-size: 1.5rem;
  padding: 1.5rem; 
	text-align: center; 
	position: relative;
	display: flex; 
	justify-content: center;
	/*  margin-top: 3vw; */  
	color:#1f899e;
 flex-grow: 0; /* 拡大を禁止 */
    flex-shrink: 0; /* 縮小を禁止（内容幅を維持） */
    flex-basis: 49%; /* 各要素の基準幅を設定。50%から少し引くことで gap のスペースを確保 */
     max-width: none;  /* 内容ボックスの最大幅を維持 */
}
.intro-area .text-box a.btn-link:after{
	 content:""; background-image: url('/assets/images/dep_otorhinolaryngology/icon-arrow.svg');position: absolute;
  right: 1rem;
  width: 1.35rem;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  top:1.3rem;
}

.intro-area .dep.bnr-box { padding: 4vw 0 5.5vw; }
.intro-area .dep.bnr-box a { background-color: transparent; }


@media screen and (min-width: 1055px) {
		.intro-area .common-container .text-box a br{
    display: none;
  }
}
@media screen and (min-width: 991px) {
	.intro-area .inner-row .text-box a.btn-link{ font-size: 2rem;}
}
@media screen and (min-width: 768px) {
	.intro-area .common-container .row{
		flex-wrap: nowrap;   justify-content: space-between; 
	}
	.intro-area .row img{
    max-width:calc(676 / 1500 * 100vw);
  }
  .intro-area .box{
    max-width:calc(47vw - 50px);
    margin-top: -3vw;
    margin-left: 2rem;
    margin-right: auto;
  }
  	.intro-area .row img + .box{ padding:20px;  margin-top: -9vw;}
	.intro-area h2{ font-size:3rem;}
	
/* 	  .content-2 .box{width:49%;   align-items: normal;} */
	.intro-area .text-box a.btn-link {font-size: 1.8rem;}
  .intro-area .inner-row{ flex-direction: row; margin-bottom: 0;}
  .intro-area .inner-row > *{ flex: 1; width: 50vw; margin: 0;}
  .intro-area .inner-row > img{  height: 100%; }
  .intro-area .inner-row .text-box a.btn-link{ font-size: 1.75rem;}
  .intro-area .inner-row:nth-child(even) img{order: 2; }
  .intro-area .inner-row:nth-child(even) .text-box{order: 1; margin-left: auto; }
  .intro-area .inner-row:nth-child(even) .text-box > *{margin-left: auto;}
  .intro-area .inner-row{ display: flex; flex-direction: column; justify-content: center; align-items: center; margin-bottom: 3vw;}
}

@media screen and (max-width: 1200px) {
.intro-area .common-container .text-box{ padding:1.5vw 0; }
.intro-area .common-container h4 {
   padding: 3vw 0 0 0; 
}
}

@media screen and (min-width: 1280px) {
  .intro-area img + .box{ /* padding-top: 5vw; */ margin-top: -7vw;}
  .intro-area .box{
    max-width:603px;
    margin-left: 10rem;
    margin-right: auto;
  }
	.intro-area h2{ font-size:3.5rem;}
}
@media screen and (min-width: 1580px) {
     	.intro-area .row img + .box {
        margin-top:-3vw;
    }
}

@media screen and (max-width: 767px) {.intro-area .text-box > * { max-width:100%; } }



/***************************************************

	content-1

****************************************************/
.content-1{
/* position: relative; */
}
.content-2{
/* position: relative;*/
padding:7vw 0; 
}
.content-3{
/* padding:5vw 0;  */
}
.content-1{
    padding:5vw 0 ;    
 }

.bg-grey {
   background-color: #f5f5f5; border:solid 10px #dbdad9;
}
.d-flex{ display: flex;}

.container-full{ 
  width: calc(100% - 30px);
  padding-left: 0;
  padding-right: 0;
  margin: 0 auto;
}

.section-title{ 
  color:#1f899e; font-size:2rem; font-weight: 700; display: flex; align-items: center; justify-content: center; letter-spacing: 0.3rem; text-align: center;
  &:before{ content:""; height: 5px; width: 7rem; background-color: #1f899e; transform: rotate(70deg); margin-top: -0.5rem; }
  &:after{ content:""; height: 5px; width: 7rem; background-color: #1f899e; transform: rotate(-70deg); margin-top: -0.5rem;}
}
@media screen and (min-width: 768px) {
  .section-title{ 
    font-size:3rem; 
  }
  
}
@media screen and (max-width: 768px) {
  .section-title::before,
  .section-title::after{display:none; 
  }
  
}
.title-back{
  position: relative;
  height: min(calc(250 / 1500 * 100vw),250px); 
  display: flex;
  justify-content: center;
  align-items: center;
  &:after{ content:""; background-image: url('/assets/images/dep_otorhinolaryngology/image-03.png'); background-repeat: no-repeat; background-size: contain; position: absolute; width: 100%; height: 100%; background-position: bottom right; transform: translateY(-15vw);}
}
@media screen and (min-width: 768px) {

  .title-back h3{ margin-top: 10rem;  }
  .title-back:after{transform: translateY(0);  }
}


.bg-lightblue{ background-color: #d5ebec;}
.text-green{ color:#33b381 !important; text-decoration: underline;}
.content-1 .q-item { justify-content: center; padding-top: 5vw; padding-bottom: 2vw;}
.content-1 .a-item {padding:0 3rem; width:100%;}
.content-1 .a-item p{line-height: 1.75; text-align: justify;}
.content-1 h4{display:flex; align-items:center;}
.content-1 h4:first-child { background-color:#1f899e; color: #ffffff; padding: 0 3rem; border-radius: 20px 0 0 20px;}
.content-1 h4:first-child span{font-size:8rem; padding-left: 1rem;}
.content-1 h4:last-child {  color:#1f899e ; padding: 0 3rem; border-radius: 0 20px 20px 0; font-size:3rem;font-weight: 700; flex-grow: 1; border: 2px solid #1f899e;}
@media screen and  (min-width: 769px) and (max-width: 850px) {
	.content-1 h4:last-child {	font-size:2.7rem; }
}
.content-1 .a-item img{width:50%;}
.content-1 .a-item .d-flex>div:first-child{ text-align: center; margin: auto; }
.content-1 .a-item .d-flex>div:last-child{ width: 85%; padding-right: 1rem; margin: auto; }


@media screen and (max-width: 786px) {
.content-1 { padding: 5vw 0 8vw 0; }
	.content-1 h3{ font-size:3rem;}
	 .content-1 .a-item .d-flex, .content-1 .q-item .d-flex{
    flex-direction: column;
  }
	 	 .content-1 .a-item .d-flex>div:first-child {
    margin-right: 0;
    padding: 2rem 0;
}
	.content-1 .a-item .d-flex>div:last-child { width: 100%;padding-right: 0;}
	.content-1 .a-item { padding:0; }
	 .content-1 .q-item h4:first-child{border-radius: 0.5rem 0.5rem 0 0;}
	 	 .content-1 .q-item h4:last-child{border-radius: 0 0 0.5rem 0.5rem; font-size: 2.1rem;}
	 .content-1 .q-item h4:first-child span {
    font-size: 3rem;
}
	.content-1 .a-item .d-flex>div:first-child{  margin: 0; }
}

.content-2 .row{ flex-wrap: wrap; margin-top: 3vw; gap: 1rem;   align-items: normal !important;}
.content-2 .box{
  background-color: #ffffff;
  border-radius: 0.5rem;
  margin-bottom: 1.75rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  align-items:flex-end;
}
.content-2 .box  img{ width:min(50%,200px); height: min(50%,200px); aspect-ratio: 1/1; flex-shrink: 1;}
.content-2 .box .inner-box {display: inline-block; width: 70%; padding-right: 2rem;}
.content-2 .box .inner-box h3{ color:#1f899e; font-size:2.5rem; font-weight: 600; margin-bottom: 2rem;}
.content-2 .box .inner-box span{ width: fit-content; display: inline-block; padding:0.5rem 0.85rem; border:solid 2px #1f899e; color:#1f899e; margin-bottom: 0.75rem; margin-right: 0.75rem; font-size: 105%;}

.content-2 .box > p{ padding: 2rem; line-height: 1.5;}
 @media screen and (max-width: 992px) {
  .table-layout th, .table-layout td{
    padding: 0.5rem;
  }
  .content-2 .box{margin-bottom: 1rem;}
  .content-2 .box .d-flex{
    flex-direction: column;
  }
  .content-2 .box img{ margin-left: auto; margin-right: auto;}
  .content-2 .box .inner-box{ display: block; width: 100%; padding: 15px;}
}
@media screen and (max-width: 768px) {
  .content-2 .box{margin-bottom: 30px;}
} 
@media screen and (min-width: 768px) {
  .content-2 .box{width:49%;   align-items: normal;}
}


 .content-3 .row{
		/* display:flex; */
	 justify-content:center;
		align-items:start;
	        flex-wrap: nowrap;
	}
.content-3 .row img{
	width: 100%;
} 


.content-3 .text-box{ padding:3vw 5vw; }



 @media screen and (min-width: 768px) {
  
	  .content-3 .row{display:flex;}
	.content-3 .row img{
	width: 50vw;
    max-width:810px;
}
}
  @media screen and (max-width: 767px) {
 
	.content-3 h3{ margin-top: 2rem;}

}

.content-3 .text-box > * {  max-width: 520px;  line-height: 1.75; text-align: justify;}
@media screen and (max-width: 767px) {.content-3 .text-box > * { max-width:100%; } } 

