.floating-banner {
  position: fixed;
  /* �Ǐ] */
  z-index: 99999;
  /* ���̗v�f�̉��ɉB��Ȃ��悤�� */
  bottom: 0;
  /* �o�i�[�̏㉺�̈ʒu */
  right: 0;
  /* �o�i�[�̍��E�̈ʒu */
  height: 70px;
  display: none;
}

.floating-banner:hover {
  opacity: .9;
}


.sp {
  display: none;
}

@media screen and (max-width:768px) {
  .sp {
    display: inline-block;
    width: 100vw;
  }
}

/*pc_css*/
@media screen and (min-width:769px){
	#column .mainbox{
		min-height:150px;
		/*background: -moz-linear-gradient(top, #EAEAEA, #fff);
        background: -webkit-linear-gradient(top, #EAEAEA, #fff);
        background: linear-gradient(to bottom, #EAEAEA, #fff);*/
	}
	
	#column .mainbox .innerbox{
		width:1140px;
		margin:0 auto;
		padding: 50px 0 0 0;
	}
	
	#column .mainbox .innerbox .maintl{
		font-size:2.8rem;
		font-weight: bold;
		line-height: 4.8rem;
	}

	#column .mainbox .innerbox .sbtl{
		padding: 5px 0px 25px 0px;
	}
	
	#column .mainbox .innerbox .maintl span{
		font-size:1.6rem;
		font-weight: normal;
		margin:0 0 0 20px;
	}
	
	#column .stepbox{
		background:#F5F5F5;
	}
	
	#column .columnbox{
		width:1140px;
		margin:0 auto;
		padding:40px 0 80px 0;
	}
	
	#column .columnbox .searchbox{
		width:270px;
		float: right;
	}
	
	#column .columnbox .searchbox .bannerbox{
		margin:0 0 50px 0;
	}
	
	#column .columnbox .searchbox .tlbox{
		font-size:1.6rem;
		padding:0 0 10px 0;
		border-bottom:2px solid #CACACA;
		font-weight: bold;
	}
	
	#column .columnbox .searchbox .inbox{
		padding:0 0px;
		margin:0 0 30px 0;
	}
	
	#column .columnbox .searchbox .inbox .box{
		padding:20px 0;
		border-bottom:1px solid #e1e1e1;
	}
	
	#column .columnbox .searchbox .inbox .box:last-child{
		border-bottom:none;
	}
	
	#column .columnbox .searchbox .inbox .box.teachbox:last-child{
		border-bottom:1px solid #e1e1e1;
	}
	
	#column .columnbox .searchbox .inbox .box a{
		color:#222222;
		transition: opacity 0.3s;
	}
	
	#column .columnbox .searchbox .inbox .box a:hover{
		opacity:0.8;
	}
	
	#column .columnbox .searchbox .inbox .box .listbox{
		width:100%;
	}
	
	#column .columnbox .searchbox .inbox .box .listbox .ph{
		width:80px;
		float: left;
		margin-top:5px;
	}
	
	#column .columnbox .searchbox .inbox .box .listbox .ph .phin{
		width:100%;
		position: relative;
		padding-top:67%;
	}


	#column .columnbox .searchbox .inbox .box .listbox:hover .txbox .tx{
	opacity: 0.7;
}
	
	#column .columnbox .searchbox .inbox .box .listbox .txbox{
		width:calc(100% - 82px - 15px);
		float: right;
		font-weight: 600;
	}
	
	#column .columnbox .searchbox .inbox .box .listbox .txbox .tx{
		font-weight: normal;
		font-size: 1.3rem;
                line-height: 1.6em;
	}

	#column .columnbox .searchbox .inbox .box .listbox .txbox .cate{
		display: inline-block;
		color:#fff;
		background:#66bacc;
		font-size:1.1rem;
		font-weight:normal;
		line-height: 0;
		padding:12px 7px;
		border-radius: 5px;
		margin: 0 5px 0 0;
	}
	
	#column .columnbox .searchbox .inbox .box .medical span{
		width:20px;
		height:10px;
    background: #66BACC;
		display: inline-block;
		vertical-align: middle;
		margin:0 10px 0 0;
	}
	
	#column .columnbox .infobox .columnlist:hover .tlbox {
		opacity:0.7;
	}


	#column .columnbox .searchbox .inbox .box .steacherbox{
		display: table;
		width:100%;
	}

	#column .columnbox .searchbox .inbox .box .listbox:hover .txbox .tx{
	opacity: 0.7;
}

	#column .columnbox .searchbox .inbox .box .steacherbox:hover .namebox{
		opacity:0.7;
	}


#column .columnbox .searchbox .inbox .box:hover .medical {
	font-weight:bold;
}

	
	#column .columnbox .searchbox .inbox .box .steacherbox .ph{
		width:45px;
		border-radius: 50%;
		overflow: hidden;
		display: table-cell;
	}
	
	#column .columnbox .searchbox .inbox .box .steacherbox .ph .phin{
		padding-top:100%;
		position: relative;
	}
	
	#column .columnbox .searchbox .inbox .box .steacherbox .ph .phin img{
		position: absolute;
		top:0;
		left:0;
	}
	
	#column .columnbox .searchbox .inbox .box .steacherbox .namebox{
		padding:0 0 0 15px;
		vertical-align: middle;
		font-weight: normal;
		display: table-cell;
	}
	
	#column .columnbox .searchbox .inbox .taglist{
		padding:30px 0 0 0;
	}
	
	#column .columnbox .searchbox .inbox .taglist a{
		width:92px;
		font-size:1.2rem;
		display: inline-block;
		text-align: center;
		color:#8E8E8E;
		border-radius: 5px;
		border:1px solid #8E8E8E;
		line-height: 1;
		padding:5px 0;
		margin:0 15px 15px 0;
		transition: opacity 0.3s;
	}
	
	#column .columnbox .searchbox .inbox .taglist a:hover{
		opacity: 0.8;
	}
	
	#column .columnbox .infobox{
		width:770px;
		float: left;
	}
	
	#column .columnbox .infobox .columnlist{
		margin:0 0 80px 0;
	}
	
	#column .columnbox .infobox .columnlist .tlbox a{
		color:#222222;
	}
	
	#column .columnbox .infobox .columnlist .tlbox{
		font-size:2rem;
		line-height: 3rem;
		font-weight: 600;
		margin:0 0 5px 0;
	}
	
	#column .columnbox .infobox .columnlist .mainph{
		width:40%;
		float:left;
	}
	
	#column .columnbox .infobox .columnlist .mainph .phin{
		padding-top:70%;
		position: relative;
		width:100%;
	}
	

	
	#column .columnbox .infobox .columnlist .cate{
		border-radius: 5px;
		background:#66BACC;
		color:#fff;
		display: inline-block;
		line-height: 1;
		padding:5px 5px;
		text-align: center;
		font-size:12px;
		margin:0 2px 10px 0;
	}
	
	#column .columnbox .infobox .columnlist .rightbox{
		width:calc(100% - 40% - 30px);
		float:right;
	}

	#column .columnbox .infobox .columnlist .teacherbox{
		padding:0 0 10px 0;
		display: table;
		width:100%;
		box-sizing: border-box;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box{
		display: table-cell;
		vertical-align: middle;
		width:auto;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box.box2{
		width:380px;
		border-right:1px solid #CACACA;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box.box3{
		font-size:1.4rem;
		text-align: center;
	}

	#column .columnbox .infobox .columnlist .teacherbox .box.box3.ltx{
		text-align: left;
	}
		
	#column .columnbox .infobox .columnlist .teacherbox .box .inbox{
		display: table;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box .inbox .ph{
		width:30px;
		border-radius: 50%;
		overflow: hidden;
		display: table-cell;
		vertical-align:middle;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box .inbox .ph .phin{
		width:100%;
		padding-top:100%;
		position: relative;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box .inbox .ph img{
		position: absolute;
		top:0;
		left:0;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box .inbox .tx{
		display: table-cell;
		font-weight: 600;
		padding:0 5px 0px 5px;
		font-size:1.4rem;
                vertical-align: middle;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box .inbox .tx span{
		font-weight: normal;
		font-size:1.2rem;
		color:#8E8E8E;
		display: block;
	}
	
	#column .columnbox .infobox .columnlist .mtx a{
		font-weight: 600;
		color:#06B4D6;
		transition:opacity 0.3s;
	}
	
	#column .columnbox .infobox .columnlist .mtx a:hover{
		opacity: 0.7;
	}
		
	
	#column .searchbox .inputbox{
		background:none;
		width:calc(100%);
		position: relative;
		margin:20px 0 30px 0;
	}
	
	#column .searchbox .inputbox input{
		border:1px solid #E1E1E1;
		width:100%;
		height: 52px;
		box-sizing: border-box;
		margin: 0;
		padding: 0 60px 0 20px;
		background: #fff;
		border-radius: 5px;
		outline: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		font-size:1.4rem;
		position: relative;
	}
	
	#column .searchbox .inputbox .searchbtn {
		height: 50px;
		width: 50px;
		background:url("/images/common/step_search.svg") no-repeat,#fff;
		background-size:18px;
		background-position: 50% 50%;
		position: absolute;
		top: 50%;
		right: 1px;
		transform: translateY(-50%);
		cursor: pointer;
		border:none;
		border-radius: 0 5px 5px 0;
	}
	
	#column .searchbox .inputbox .searchbtn:hover {
		background-color: #f5f5f5;
	}
	
	#column .searchbox .fixedbox {
		position:relative;
		width:100%;
	}
}

@media screen and (max-width:768px){
	#column .mainbox{
	height:auto;
		/*background: -moz-linear-gradient(top, #EAEAEA, #fff);
        background: -webkit-linear-gradient(top, #EAEAEA, #fff);
        background: linear-gradient(to bottom, #EAEAEA, #fff);*/
	}
	
	#column .mainbox .innerbox{
		width:90%;
    margin: 30px auto 0 auto;
	}
	
	#column .mainbox .innerbox .maintl{
		font-size:2rem;
		font-weight: bold;
	}
		#column .mainbox .innerbox .sbtl{
		padding: 15px 0px 0px 0px;
	}
	#column .mainbox .innerbox .maintl span{
		font-size:1.6rem;
		font-weight: normal;
		margin:0 0 0 10px;
	}
	
	#column .stepbox{
		background:#F5F5F5;
	}
	
	#column .columnbox{
		width:90%;
		margin:0 auto;
		padding:0px 0 20px 0;
		display: flex;
		flex-direction: column;
	}
	
	#column .columnbox .searchbox{
		width:100%;
		float: none;
		order: 4;
	}

	#column .columnbox .p-doctor-profile{
		order: 1;
	}

	#column .columnbox .p-doctor-column__title{
		order: 2;
	}

	#column .columnbox .infobox{
		order: 3;
	}
	
	#column .columnbox .searchbox .bannerbox{
		margin:0 0 40px 0;
	}
	
	#column .columnbox .searchbox .tlbox{
		font-size:1.6rem;
		padding:0 0 10px 0;
		border-bottom:2px solid #CACACA;
		font-weight: bold;
	}
	
	#column .columnbox .searchbox .inbox{
		margin:0 0 20px 0;
	}
	
	#column .columnbox .searchbox .inbox .box{
		padding:20px 0;
		border-bottom:1px solid #e1e1e1;
	}
	
	#column .columnbox .searchbox .inbox .box:last-child{
		border-bottom:none;
	}
	
	#column .columnbox .searchbox .inbox .box.teachbox:last-child{
		border-bottom:1px solid #e1e1e1;
	}
	
	#column .columnbox .searchbox .inbox .box a{
		font-size:1.4rem;
		color:#222222;
		transition: opacity 0.3s;
	}
	
	#column .columnbox .searchbox .inbox .box a:hover{
		opacity:0.8;
	}
	
	#column .columnbox .searchbox .inbox .box .listbox{
		width:100%;
	}
	
	#column .columnbox .searchbox .inbox .box .listbox .ph{
		width:82px;
		float: left;
	}
	
	#column .columnbox .searchbox .inbox .box .listbox .ph .phin{
		width:100%;
		position: relative;
		padding-top:63.4%;
	}
	

	#column .columnbox .searchbox .inbox .box .listbox:hover {
	opacity: 0.7;
}
	
	#column .columnbox .searchbox .inbox .box .listbox .txbox{
		width:100%;/*calc(100% - 82px - 15px);*/
		float: right;
		font-weight: 600;
	}

	#column .columnbox .searchbox .inbox .box .listbox .txbox .tx{
font-weight: bold;
    font-size: 1.3rem;
    line-height: 1.6em;
	}


	#column .columnbox .searchbox .inbox .box .listbox .txbox .cate{
		display: inline-block;
		color:#fff;
		background: #66bacc;
		font-size:1.2rem;
		font-weight: normal;
		line-height: 1;
		padding:5px 10px;
		border-radius: 5px;
		margin:0 2px 5px 0;
	}
	
	#column .columnbox .searchbox .inbox .box .medical span{
		width:20px;
		height:10px;
		background:#66BACC;
		display: inline-block;
		vertical-align: middle;
		margin:0 10px 0 0;
	}
	
	#column .columnbox .searchbox .inbox .box .steacherbox{
		display: table;
		width:100%;
	}
	
	#column .columnbox .searchbox .inbox .box .steacherbox .ph{
		width:40px;
		border-radius: 50%;
		overflow: hidden;
		display: table-cell;
	}
	
	#column .columnbox .searchbox .inbox .box .steacherbox .ph .phin{
		padding-top:100%;
		position: relative;
	}
	
	#column .columnbox .searchbox .inbox .box .steacherbox .ph .phin img{
		position: absolute;
		top:0;
		left:0;
	}
	
	#column .columnbox .searchbox .inbox .box .steacherbox .namebox{
		padding:0 0 0 15px;
		vertical-align: middle;
		font-weight: normal;
		display: table-cell;
	}
	
	#column .columnbox .searchbox .inbox .taglist{
		padding:30px 0 0 0;
	}
	
	#column .columnbox .searchbox .inbox .taglist a{
		width:92px;
		font-size:1.2rem;
		display: inline-block;
		text-align: center;
		color:#8E8E8E;
		border-radius: 5px;
		border:1px solid #8E8E8E;
		line-height: 1;
		padding:5px 0;
		margin:0 15px 15px 0;
		transition: opacity 0.3s;
	}
	
	#column .columnbox .searchbox .inbox .taglist a:hover{
		opacity: 0.8;
	}
	
	#column .columnbox .infobox{
		width:100%;
		float: none;
	}
	
	#column .columnbox .infobox .columnlist{
		margin:0 0 60px 0;
	}
	
	#column .columnbox .infobox .columnlist .tlbox{
		font-size:1.8rem;
		line-height: 3.2rem;
		font-weight: 600;
		margin:0 0 10px 0;
	}
	
	#column .columnbox .infobox .columnlist .tlbox a{
		color:#222222;
	}
	
	#column .columnbox .infobox .columnlist .mainph{
		width:100%;
		padding-top:66%;
		position: relative;
		margin:0 0 20px 0;
	}
	

	
	#column .columnbox .infobox .columnlist .cate{
		border-radius: 5px;
		background:#66BACC;
		color:#fff;
		display: inline-block;
		line-height: 1;
		padding:5px 5px;
		text-align: center;
		font-size:1.2rem;
		margin:0 0.2rem 0.5rem 0;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox{
		padding:0 10px 20px 10px;
		display: table;
		width:100%;
		box-sizing: border-box;
	}

	#column .columnbox .infobox .columnlist .mtx{
font-weight: normal;
    font-size: 1.4rem;
    line-height: 1.6em;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box{
		display: table-cell;
		vertical-align: middle;
		width:auto;
		margin:0 0 10px 0;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box.box2{
		display: inline-block;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box.box3{
		text-align: right;
		display: table-cell;
		margin:0 0 0 0;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box .inbox{
		display: table;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box .inbox .ph{
		width:40px;
		border-radius: 50%;
		overflow: hidden;
		display: table-cell;
		vertical-align:middle;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box .inbox .ph .phin{
		width:100%;
		padding-top:100%;
		position: relative;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box .inbox .ph img{
		position: absolute;
		top:0;
		left:0;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box .inbox .tx{
		display: table-cell;
		font-weight: 600;
		padding:0 10px 0 10px;
		vertical-align: middle;
	}
	
	#column .columnbox .infobox .columnlist .teacherbox .box .inbox .tx span{
		font-size:1.2rem;
		color:#8E8E8E;
		display: block;
	}
	
	#column .columnbox .infobox .columnlist .mtx a{
		font-weight: 600;
		color:#06B4D6;
		transition:opacity 0.3s;
	}
	
	#column .columnbox .infobox .columnlist .mtx a:hover{
		opacity: 0.7;
	}

	
	#column .columnbox .infobox .pagenav ul{
		list-style: none;
		text-align: center;
		
	}
	
	#column .columnbox .infobox .pagenav ul li{
		display: inline-block;
		width:30px;
		padding:4px 0;
		border:1px solid #8e8e8e;
		margin:0 1px;
		border-radius: 5px;
		
	}
	
	#column .columnbox .infobox .pagenav ul li.active{
		display: inline-block;
		width:30px;
		padding:4px 0;
		border:1px solid #8e8e8e;
		margin:0 1px;
		background:#8e8e8e;
		color:#fff;
		border-radius: 5px;
		
	}
	
	#column .searchbox .inputbox{
		background:none;
		width:calc(100%);
		position: relative;
		margin:2rem 0 4rem 0;
	}
	
	#column .searchbox .inputbox input{
		border:1px solid #E1E1E1;
		width:100%;
		height: 48px;
		box-sizing: border-box;
		margin: 0;
		padding: 0 60px 0 20px;
		background: #fff;
		border-radius: 5px;
		outline: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		font-size:1.4rem;
		position: relative;
	}
	
	#column .searchbox .inputbox .searchbtn {
		height: 46px;
		width: 50px;
		background:url("/images/common/step_search.svg") no-repeat,#fff;
		background-size:18px;
		background-position: 50% 50%;
		position: absolute;
		top: 50%;
		right: 1px;
		transform: translateY(-50%);
		cursor: pointer;
		border:none;
		border-radius: 0 5px 5px 0;
	}
}

/* �A�R�[�f�B�I�� - �J�e�S���[ */
#column .columnbox .searchbox .accordion-trigger {
  position: relative;
  cursor: pointer;
  user-select: none;
}

#column .columnbox .searchbox .accordion-trigger::after {
  position: absolute;
  right: 16px;
  top: calc(50% - 6px);
  content: "";
  display: block;
  width: 18px;
  height: 12px;
  background-color: currentColor;
  mask: url(/wp-content/themes/sokuyaku/assets/img/common/arrow_down.svg) no-repeat center center/contain;
  -webkit-mask: url(/wp-content/themes/sokuyaku/assets/img/common/arrow_down.svg) no-repeat center center/contain;
  transition: transform 0.3s ease;
}

#column .columnbox .searchbox .accordion-trigger.active::after {
  transform: scaleY(-1);
}

/* ���Ă���Ƃ��Ƀ}�[�W����t�^ */
#column .columnbox .searchbox .accordion-trigger:not(.active) {
  margin-bottom: 40px;
}

#column .columnbox .searchbox .accordion-content {
  overflow: hidden;
  display: none;
}

/* PC�\���� */
@media screen and (min-width: 769px) {
  #column .columnbox .searchbox .accordion-trigger:not(.active) {
    margin-bottom: 50px;
  }
}

/* ===============================
   医師プロフィールカード
   =============================== */

/* 執筆・監修者のプレフィックス */
.maintl__prefix {
  font-size: 0.7em;
  font-weight: 600 !important;
}

.p-doctor-profile {
  display: flex;
  gap: 24px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 24px;
  margin-bottom: 40px;
  width: 770px;
}

.p-doctor-profile__photo {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  background: #f5f5f5;
}

.p-doctor-profile__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-doctor-profile__info {
  flex: 1;
}

.p-doctor-profile__name {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 12px;
  color: #333;
}

.p-doctor-profile__detail {
  font-size: 14px;
  line-height: 1.8;
  color: #666;
}

/* コラムセクション見出し */
.p-doctor-column__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 24px;
  color: #333;
  width: 770px;
}

.p-doctor-column__icon {
  flex-shrink: 0;
}

/* レスポンシブ対応（スマホ） */
@media screen and (max-width: 768px) {
  .p-doctor-profile {
    flex-direction: column;
    align-items: center;
    padding: 24px 16px 20px;
    margin-bottom: 32px;
    width: 100%;
  }

  .p-doctor-profile__photo {
    width: 180px;
    height: 180px;
    margin-bottom: 16px;
  }

  .p-doctor-profile__info {
    width: 100%;
  }

  .p-doctor-profile__name {
    font-size: 18px;
    text-align: center;
    margin-bottom: 16px;
  }

  .p-doctor-profile__detail {
    font-size: 13px;
    line-height: 1.7;
    text-align: left;
  }

  .p-doctor-column__title {
    font-size: 16px;
    margin-bottom: 20px;
    width: 100%;
  }
}

