@charset "utf-8";


#k_title_about{
width:100%;
overflow:hidden;
position: relative;
}
@media only screen and (max-width:1365px){
#k_title_about{
position: relative;
height:auto;
top:60px;
}
}


#k_titleBox{
width:32%;
height:84px;
background-color: #c19254;
position:absolute;
top: 276px;
left:0;
right:0;
margin: 0px auto;
line-height: 1.0;
}
@media only screen and (max-width:1023px){
#k_titleBox{
position:relative;
height:auto;
width:100%;
top: 0px;
padding:8px;
}
}
@media only screen and (max-width:767px){
#k_titleBox{
top: 0px;
}
}


#k_title_text{
position: absolute;
top: 50%;
left: 50%;
-ms-transform: translate(-50%,-50%);
-webkit-transform : translate(-50%,-50%);
transform : translate(-50%,-50%);
width: 100%;
text-align: center;
color:#fff;
font-family: "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",Ryumin Regular KL,"ＭＳ Ｐ明朝","MS PMincho",serif;
font-size:3.0rem;
}
@media only screen and (max-width:1023px){
#k_title_text{
position: relative;
top:0;
left:0;
-ms-transform: translate(0%,0%);
-webkit-transform : translate(0%,0%);
transform : translate(0%,0%);
font-size:2.6rem;
}
}


#k_title_text span{
display:block;
font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Verdana,sans-serif;
font-size:1.4rem;
margin-top:8px;
}
@media only screen and (max-width:1023px){
#k_title_text span{
margin-top:0px;
}
}
@media only screen and (max-width:767px){
#k_title_text{
font-size:2.4rem;
line-height: 1.0;
}
}

#k_title_text span{
display:block;
font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Verdana,sans-serif;
font-size:1.4rem;
margin-top:8px;
line-height:1.0;
}
@media only screen and (max-width:1023px){
#k_title_text span{
margin-top:4px;
font-size:1.2rem;
}
}



#k_title_pict{
background-image: url(../images/ti_teacher.jpg);
background-repeat: no-repeat;
background-position:right center;
background-size: cover;
width:100%;
height:320px;
position: relative;
}
@media only screen and (max-width:1023px){
#k_title_pict{
width:100%;
height:180px;
}
}
@media only screen and (max-width:767px){
#k_title_pict{
background-image: url(../images/ti_teacher_sp.jpg);

}
}


.contents_intro{
padding: 10rem 0 0;
max-width:800px;
width:86%;
margin:0 auto;
}
@media only screen and (max-width:767px){
.contents_intro{
padding:4rem 0 0;
}
}

.instructor-list{
  max-width: 1060px;
	width:90%;
  margin: 0 auto;
  padding: 80px 0;
}

.instructor-list h2{
position: relative;
font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", Ryumin Regular KL, "ＭＳ Ｐ明朝", "MS PMincho", serif;
font-size: 3.0rem;
text-align: center;
margin-bottom: 7.0rem;
}
@media screen and (max-width:680px)  {
.instructor-list h2{
font-size: 2.4rem;
}
}


.instructor-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 56px;
  padding: 0;
  margin: 0;
  list-style: none;
  justify-content: flex-start;
}
.instructor-list li {
  width: 206px; 
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff; 
  box-sizing: border-box;
  position: relative;
}
@media (max-width: 1199px) {
.instructor-list ul {
  gap: 40px 16px;
}
.instructor-list li {
width: calc((100% - 48px) / 4);
}
}
.instructor-list img {
  width: 100%;
  height: auto; 
  object-fit: cover;
  background: #f5f5f5;
  display: block;
}
.instructor_name {
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  margin: 6px 0 0 0;
  letter-spacing: 0.04em;
}
.instructor-list li a{
	text-decoration:none;
	color:#333;
}


@media (max-width: 767px) {
  .instructor-list {
    max-width: 100%;

  }
  .instructor-list ul {
    gap: 12px;  /* li同士の間隔 */
  }
  .instructor-list li {
    width: calc((100% - 24px)/3);  /* gapが2つ分→24px×2=48px */
    min-width: 100px; /* 狭い画面用に保険 */
  }
		.instructor_name {
  font-size: 16px;
}
}
@media (max-width: 480px) {
  .instructor-list ul {
    gap: 24px;  /* gap: 縦横とも24px */
  }
  .instructor-list li {
    /* gapが24pxなので、widthは「calc((100% - 24px)/2)」でぴったり2カラム */
    width: calc((100% - 24px)/2);
    min-width: 140px;
    /* paddingは不要！ */
    padding: 0;
  }
  /* padding-left/rightは不要なので削除 */
}



.instructor-detail {
  max-width: 1060px;
  margin: 0 auto;
}

.instructor_profile{
	border-top:#ccc solid 1px;
	padding-top:80px;
	margin-bottom:80px;
}



.instructor_profile_box {
  display: flex;
  gap: 48px;
  padding:0 33px 0;
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 40px;
}
@media (max-width: 640px) {
.instructor_profile_box {
  display: block;

}
}

.instructor_profile_img {
  width: 260px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 640px) {
.instructor_profile_img {
margin:0 auto 40px;
}
}


.instructor_profile_img img.profimg {
  width: 100%;
  height: auto;
}

.certification_badges {
  display: flex;
  gap: 12px; 
  margin-top: 18px;
  align-items: center;
}


.badge-iayt {
  width: 162px;
  height: auto;
}
.badge-eryt {
  width: 80px; 
  height: auto;
}
.badge-ymsj {
  width: 80px;
  height: auto;
}

.instructor_profile_text {
  width: 642px;
}
@media (max-width: 640px) {
.instructor_profile_text {
  max-width: 420px;
	width:100%;
	margin:0 auto;
}
}
/* 名前部分の左帯 */
.profile_name_block {
  margin-bottom: 30px;
  position: relative;
}

.profile_name {
  font-size: 30px;
  font-weight: bold;
  margin: 0;
  line-height: 1.2;
		letter-spacing: 1.2px;
  padding-left: 20px;
  position: relative;
  display: inline-block;
}

.profile_name::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 7px;
  height: 100%;
  background: #c19254;
  border-radius: 2px;
}

/* 英文サブネーム */
.profile_name span {
  display: block;
  font-size: 14px;
	letter-spacing: 1.2px;
  font-weight: normal;
  margin-top: 6px;
}
@media (max-width: 640px) {
.profile_name {
  font-size: 24px;
}
	.profile_name span {
  font-size: 13px;
}
}

.profile_role {
  margin: 12px 0 0 0;
}



/* セクション見出し */
.profile_lectures h4,
.profile_bio h4 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
  margin-top: 0;
}
@media (max-width: 640px) {
.profile_lectures h4,
.profile_bio h4 {
  font-size: 16px;
}
}
.profile_lectures ul,
.profile_bio ul {
  margin: 0 0 30px 0;
padding-left:15px;
}

.profile_lectures li,
.profile_bio li {
  list-style-type: disc;
  line-height: 1.7;
}


.profile_description_box {
  max-width: 1060px;
  margin: 0 auto 40px auto;
}

.profile_description {
  background: #f5f5f5;
  padding: 55px;
	margin:0 33px;
}
@media (max-width: 640px) {
.profile_description {
  padding: 30px 25px;
}
}


.profile_description p{
	margin-bottom:25px;
}
.profile_description p:last-child{
	margin-bottom:0;
}