@media screen and (max-width: 1440px){
	.container{
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
	}
	.header .container {
	  padding: 24px 55px;
	  justify-content: space-between;
	  width: 100%;
	  margin: 0 auto;
	}
}	
@media screen and (max-width: 1425px) {
  .about-me .container {
    max-width: 1425px;
    padding: 0 80px;
}
}
@media screen and (max-width: 1320px) {
    .header .container {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 24px 75px;  /* ← 기존 130px 에서 줄임 */
      width: 100%;
      max-width: 1320px;
      margin: 0 auto;
    }
  
    .header .container .logo,
    .header .container .sns {
      flex: 0 0 auto;  /* 좌우 고정 */
    }
  
    .header .container .logo a img {
        display: block;
        height: 28px;
        width: auto;
    }

    .header .container .menu {
      flex: 1 1 auto;  /* 가운데만 유연하게 */
      min-width: 0;    /* 꼭 넣기! 넘침 방지 */
      gap: 20px;       /* 항목 간 간격 축소 */
      /* flex-wrap: wrap;  필요시 추가 */
    }
  
    .header .container .menu li a {
      padding: 0 8px;
      font-size: 1.1em;
      letter-spacing: -0.05em;
    }
    
    /* hover 시 변화 */
    .header .container .menu li a:hover {
        font-weight: 700;
        font-size: 1.15em;
        padding-bottom: 10px; /* 밑줄 아래 간격 */
    }
    
    .header .container .sns ul li {
        width: 35px;
        height: 35px;
        margin: 0 8px;
        overflow: hidden;
    }
    /* .visual{
      height:auto;
    } */
    
  }
  @media screen and (max-width: 1230px) {
    .about-me .container {
      max-width: 1230px;
      padding: 0 40px;
    }
    .about-grid {
      display: grid;
      grid-template-columns: 1fr 1px 500px;
      gap: 10px;
      align-items: center;
    }
    .name1 {
      font-size: 80px;
    }
    .name2 {
      font-size: 40px;
      top: 12px;
      left: 150px;
  }
    .name3 {
      font-size: 60px;
    }
    .coach-info {
      padding-top: 5px;
    }
    .bio-list {
      font-size: 16px;
    }
    .about-right {
      display: flex;
      justify-content: center;
    }
    .more-awards {
      position: absolute;
      right: 0;
      bottom: -15px;
      background-color: var(--red);
      font-weight: 700;
      text-decoration: none;
      display: inline-block;
      box-shadow: 0px 3px 10px rgb(155 1 1 / 90%);
      padding: 26px 155px;
    }
    .more-awards a {
      position: absolute;
      font-size: 18px;
      color: #fff;
      top: 15px;
      left: 35px;
    }
    .coach-photo {
      width: 85%;
    }
    .coach-photo img {
      min-width: 440px;
      width: 100%;
      object-fit: cover;
      display: block;
  }
  }
@media screen and (max-width: 1023px) {
  .board-box{
    padding: 8rem 1.5rem;
  }
  .board-box iframe {
      height: 500px;
  }
}
@media screen and (max-width: 1005px) { 
  .bio-title {
    padding-left: 14px;
  }
  .bio-list {
    font-size: 15px;
  }
}
@media screen and (max-width: 970px) {   
	.header .container {
        padding: 24px 45px;
        max-width: 1020px;
        margin: 0 auto;
    }    
	.header .container .logo a img {
        height: 24px;
    }
	.header .container .menu {
        flex: 1 1 auto;
        min-width: 0;
        gap: 20px;
    }
	.header .container .menu li a {
        padding: 0px 6px;
        font-size: 1em;
        letter-spacing: -0.07em;
    }
	.header .container .menu li a:hover {
        font-size: 1.5em;
        padding-bottom: 10px; /* 밑줄 아래 간격 */
    }
	.header .container .sns ul li {
        width: 30px;
        height: 30px;
        margin: 0 6px;
    }
}
@media screen and (max-width: 950px) {

}
 @media screen and (max-width: 775px) {
	.header .container {
      padding: 24px 20px;  /* ← 기존 130px 에서 줄임 */
      width: 100%;
      max-width: 775px;
	  }
 
 }
/* mb size */
  @media screen and (max-width: 768px) {
    .mo {
    display: block;
	}
	.header {
    height: 70px;
  }
  .header .container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 35px 30px;
    width: 100%;
    max-width: 768px;
    margin: 0 auto;
  }

  /* 햄버거 버튼 */
  .mo-btn {
    display: block;
    position: absolute;
    left: 40px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 102;
  }
  .mo-btn .hamburger-btn {
    width: 33px;
    height: 22px;
    cursor: pointer;
  }
  .mo-btn .hamburger-btn span {
    width: 100%;
    height: 3px;
    border-radius: 5px;
    background-color: #c8a961;
    display: block;
    margin-bottom: 6px;
  }

  /* 로고 중앙 */
  .header .container .logo {
    position: absolute;
    left: 53%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 0;
    line-height: 0;
  }
  .header .container .logo a img {
    height: 30px;
    width: auto;
    display: block;
	content: url("../images/m-text-logo.png");
  }

  /* 메뉴 / SNS 숨김 */
  .header .container .menu {
    display: none;
  }
  .header .container .sns {
    display: none;
  }

  /* ---------------------- 모바일 메뉴 슬라이드 ---------------------- */
  .mb-menu {
    position: fixed;
    inset: 0;
    z-index: 999;
    pointer-events: none; /* 닫힌 상태에서 클릭 막기 */
  }

  /* 배경 어둡게 */
  .mb-menu::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  /* 슬라이드 본체 */
  .mb-menu .mb-wrap {
    position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: #000;
	transform: translateX(-100%);
	transition: none;
	overflow-y: auto;
	will-change: transform;
	box-sizing: border-box;
	padding: 70px 0 40px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
  }

  /* 오픈 시 */
  .mb-menu.is-open {
    pointer-events: auto;
  }
  .mb-menu.is-open::before {
    opacity: 1;
  }
  .mb-menu.is-open .mb-wrap {
    transform: translateX(0);
	transition: transform .65s ease;
  }
  .mb-menu.is-closing .mb-wrap{
  transform: translateX(-100%);
  transition: transform .65s ease-in-out;
}

  /* 닫기(X) 버튼 */
  .mb-menu .close-btn {
    position: absolute;
    left: 25px;
    top: 25px;
    width: 28px;
    height: 28px;
    cursor: pointer;
    z-index: 1001;
  }
  .mb-menu .close-btn span {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #c8a961;
    border-radius: 3px;
  }
  .mb-menu .close-btn span:first-child {
    transform: translateY(-50%) rotate(45deg);
  }
  .mb-menu .close-btn span:last-child {
    transform: translateY(-50%) rotate(-45deg);
  }

  /* 상단 로고 */
  .mb-menu .mb-top {
    text-align: center;
  }
  .mb-menu .mb-top.mo img {
    height: 32px;
    margin-bottom: 40px;
  }

  /* 메뉴 리스트 */
  .mb-menu .sidebar {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
  }
  .mb-menu .sidebar li {
    margin: 15px 0;
  }
  .mb-menu .sidebar li a {
    display: block;
    color: #fff;
    font-size: 26px;
    text-decoration: none;
    padding: 14px 0;
    transition: background 0.3s ease, color 0.3s ease;
  }
  .mb-menu .sidebar li a:hover {
    background: #c00;
  }
  .mb-menu .sidebar li a.active,
  .mb-menu .sidebar li a:active {
    background: #c00;
  }

  /* SNS 섹션 */
  .mb-menu .mb-bottom {
    margin-top: 40px;
    text-align: center;
	margin-top:auto;
  }
  .mb-menu .mb-sns-wrap ul {
    display: flex;
	justify-content: center;
	align-items: center;
	gap: 25px;
	padding: 0;
	margin: 30px 0 20px;
	list-style: none;
  }
  .mb-menu .mb-sns-wrap ul li {
    background-color: #fff;
	border-radius: 50%;
	width: 48px;
	height: 48px;
	overflow: hidden;
  }
  .mb-menu .mb-sns-wrap ul li a {
    display: block;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 65%;
  }
  .mb-menu .mb-allrights {
  color: #aaa;
  font-size: 12px;
  margin-top: 10px;
  line-height: 1.6;
}

  /* 아이콘 이미지 매칭 */
  .youtube {
    background-image: url('../images/youtube.png');
  }
  .instagram {
    background-image: url('../images/instagram.png');
  }
  .naverband {
    background-image: url('../images/naverband.png');
  }

  /* 호버 시 */
  .youtube:hover {
    background-image: url('../images/youtube_hover.png');
  }
  .instagram:hover {
    background-image: url('../images/instagram_hover.png');
  }
  .naverband:hover {
    background-image: url('../images/naverband_hover.png');
  }

  /* 하단 저작권 */
  .mb-menu .mb-allrights {
    color: #aaa;
    font-size: 12px;
    margin-top: 30px;
    text-align: center;
    line-height: 1.5;
  }

  /* 스크롤 잠금 */
  .body-locked {
    overflow: hidden;
    touch-action: none;
  }
    /*------------------------ visual ---------------------------------------*/
  .visual {
    width: 100%;
    height: 650px;
}
  /*------------------------ Bg ---------------------------------------*/
  .main-bg {
    height: 20vh;
	}
  /* ---------------------- 추가: 비주얼 영역 글씨 크기 ---------------------- */
  .marquee-container {
    height: 40px;
  }
  .marquee-container .marquee-content .marquee-text {
    font-size: 18px;
    margin-right: 30px;
  }
	/* visual */
	 .marquee-container {
        height: 40px;
    }
    .marquee-container .marquee-content .marquee-text {
        font-size: 18px;
        margin-right: 30px;
    }
	/*  about-me */
	.about-grid {
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
	}
	.about-left {
    padding-right: 0px;
    padding-top: 40px;
    align-items: center;
	}
	.coach-info {
    padding-top:0px;
	padding-bottom:30px;
	}
	.awards {
    margin-top: 14px;
    border-top: 1px solid #1f1f1f;
	}
	.more-awards{
	display:none;
	}
	.m-more-awards{
    width: 165px;
    height: 60px;
	border-radius: 5px;
    margin: 0 auto;
	background-color: black;
	display: flex;
	justify-content: center;
	align-items: center;
    font-size: 15px;
	}
	.m-more-awards:hover{
	background-color:#C40000;
	transition: 0.3s ease-in-out!important;
	font-weight:bold;
	}
	.m-more-awards a{
	color:white;
	font-size:17px;
	}
  .name-box {
    display: flex;
    flex-direction: column;
    width: 370px;
}
  .coach-photo {
    width: 100%;
    max-width: 450px;
    position: relative;
}
	.coach-photo img {
		min-width: 350px;
		width: 100%;
		object-fit: cover;
		display: block;
		}
	.name1 {
    font-size: 80px;
	}
	}
.name2 {
    font-size: 50px;
    font-family: Kanit-Bold;
    font-weight: 700;
    line-height: 0;
    position: absolute;
    top: 7px;
    left: 156px;
}
	.name3 {
		font-size: 72px;
	}
		
    /* Facilities */
    .section-head .section-title {
        font-size: 26px;
        letter-spacing: .2px;
    }
    .section-head p span {
        font-size: 1.25rem;
    }
    .section-head p {
        text-align: center;
        line-height: 1.5;
        font-size: 1.2rem;
        letter-spacing: -1.55px;
    }
	.facility-marquee{
	  margin-top: 20px;
	  padding: 35px 20px ;
	}
	.facility-marquee .marquee__group {
    gap: 30px;
	}
	.tile{
	  min-width: 340px;        
	  height: 340px;
	}
     /* Location */
     .map {
        background-color: #EAE7DE;
        padding: 60px 0;
    }
		/* 지도 높이 */
	#daumRoughmapContainer1756121677836{
	height: auto !important;
	}
    .title02::after {
        font-size: 1.2rem;
    }
    .way_cont {
        margin: 2rem auto;
        border-bottom: 1px solid #e2e2e2;
        width: 80%;
    }
	.root_daum_roughmap_landing {
    height: 450px;
	}
	.root_daum_roughmap .cont .section.lst {
		border-bottom: 0;
		display: none;
	}
    .way_cont .lo_num ul li {
        font-size: 1.25rem;
        color: #242424;
        line-height: 2;
        display: flex;
        justify-content: flex-start;
        margin-bottom: 0;
        flex-direction: column;
    }
    .way_cont h3 {
        font-size: 1.5rem;
        color: #222222;
        margin-bottom: 2rem;
        font-weight: bold;
    }
    .way_cont .lo_num {
        padding-top: 2rem;
        border-top: 1.5px solid #000000;
    }
    .way {
        margin-top: 4rem;
    }
    .way .cont {
        padding-top: 2rem;
        border-top: 1.5px solid #000000;
    }
    .way .cont p {
        font-size: 1.1rem;
        white-space: break-spaces;
    }
    .locat{font-size: 1.1rem;}
    .lo-sub{}
    .number{font-size: 1.1rem;}
    .e-mail{font-size: 1.1rem;}
	/*footer*/
	.footer .container{
	padding: 0;
	}
	.footer .design-info {
    /* max-width: 1920px;
    width: 100%; */
    padding: 25px 30px 0;
    font-size: 0.65em;
	}
	.footer .footer-top ul li img {
    width: 170px;
	padding-bottom:0;
	}
	.footer .footer-bottom {
    border-top: 1.3px solid white;
    padding-top: 0.5em;
	}


@media screen and (max-width: 500px) {
 /*------------------------ visual ---------------------------------------*/
	.visual {
        width: 100%;
        height: 530px;
    }
	
    .line {
    height: 5px;
    width: 50px;
	}
	.line01 {
    position: absolute;
    left: 40px;
    top: 0;
	}
	.line02 {
    position: absolute;
    right: 40px;
    top: 0;
	}
	.line:first-of-type::after {
    right: 50px;
    top: 20%;
	}
	.line:last-of-type::after {
    left: 50px;
    top: 20%;
	}
	.section-head {
	margin-bottom: 50px;
	}
	.section-head .section-title {
    font-size: 22px;
    letter-spacing: .2px;
    }
	.title01::after {
	font-size: 16px;
	}
	/*about-me */
	.about-me .container {
		padding: 0 35px;
	}
	.name1 {
    font-size: 65px;
	}
	.name2 {
    font-size: 50px;
    top: 4px;
    left: 130px;
	}
	.name3 {
    font-size: 67px;
	}
	.bio-title {
	padding-left:0px
	}
	.bio-list{
	padding-left:0px
	}
	.bio-list li{
	font-size: 15px;
	}
	/*facilities */
	.section-head p {
        text-align: center;
        line-height: 1.8;
        font-size: 0.95rem;
        letter-spacing: -1.55px;
    }
	.section-head p span {
        font-size: 1rem;
    }
	.br-pc{
		display:none;
	}
	.facility-marquee {
        margin-top: 10px;
        padding: 25px 10px;
    }
	.facility-marquee .marquee__group {
    gap: 20px;
	}
	.tile{
	  min-width: 280px;        
	  height: 280px;
	}
	/* Location */
	.title02::after {
    font-size: 16px;
    }
	.way_cont h3 {
    font-size: 1.3rem;
	margin-bottom: 1.5rem;
	}
	.way_cont .lo_num {
    padding-top: 1.5rem;
    }
	.way_cont .lo_num ul li span {
    font-size: 1.15rem;
	}
	.way_cont .lo_num ul li .lo-sub {
    font-size: 0.85rem;
	}
	.locat {
    font-size: 0.95rem;
    }
	.number {
    font-size: 0.95rem;
    }
	.e-mail {
    font-size: 0.95rem;
    }
	.way {
    margin-top: 3rem;
    }
	.way .cont p {
    font-size: 0.95rem;
    }
	/* footer */
	.footer{
	padding: 0;
	}
	.footer .design-info {
    /* max-width: 1920px;
    width: 100%; */
    padding: 25px;
    font-size: 0.65em;
	}
	.footer .footer-bottom ul li {
    line-height: 1.85em;
	font-size: 0.85em;
	}
	/* aside */
	.btn-wr {
    right: 20px;
	}
	.btn-wr .gotop-btn .godown {
    width: 45px;
    height: 45px;
	}
	.btn-wr .gotop-btn .godown img {
	width: 12px;
	}
	.btn-wr .gotop-btn .gotop {
    width: 45px;
    height: 45px;
	}
	.btn-wr .gotop-btn .gotop img {
	width: 12px;
	}
}
@media screen and (max-width: 425px) {
	/* go-top down */
	.btn-wr .gotop-btn .godown {
    width: 45px;
    height: 45px;
	}
	/* header */
    .header {
        height: 60px;
    }
	.header .container {
        padding: 30px 30px;
    }
	.mo-btn{
		left: 25px;
		top: 50%;
	}
	.mo-btn .hamburger-btn {
        width: 22px;
        height: 15px;
	}
	.mo-btn .hamburger-btn span {
        margin-bottom: 5px;
    }
	.header .container .logo a img {
        height: 25px;
    }
	/*about-me*/
	about-me .container {
        padding: 0 25px;
    }
	    .coach-photo img {
        min-width: 300px;
        width: 100%;
        object-fit: cover;
        display: block;
    }
	.main-bg {
    height: 13vh;
	}
      .name-box {
        display: flex;
        flex-direction: column;
        width: 300px;
    }
	.name1 {
	font-size: 60px;
	}
	.name2 {
    font-size: 41px;
    top: 7px;
    left: 112px;
	}
	.name3 {
    font-size: 55px;
	}

	/*----------------facility ----------------  */
	.bio-list li {
        font-size: 14px;
    }
	/*----------------footer ----------------  */
    .footer .footer-bottom ul li {
        font-size: 0.8em;
    }
}
@media screen and (max-width: 375px) {
	/*about-me*/
	about-me .container {
        padding: 0 10px;
    }
	/*----------------facility ----------------  */
    .facility-marquee {
        margin-top: 10px;
        padding: 25px 10px;
    }
	.facility-marquee .marquee__group {
    gap: 10px;
	}
	.tile{
	  min-width: 220px;        
	  height: 220px;
	}
	.bio-list li {
        font-size: 12px;
    }
}