@charset "UTF-8";

.front-video p{
	color:#444;
	padding-top:20px;
	font-size:14px;
}

.grecaptcha-badge {
    display: none !important;
}

.aol .header-image {
	background-color:#111;
	    z-index: -1;
}

.aol .header-image img{
    width: 280px !important;
    height: auto !important;
}

.aa-video-box {
	text-align:center;
}

.aa-video{
    margin: 0px auto 0;
    max-width: 720px;
    width: 80vw;
}

.front-video{
	padding-bottom:100px;
	 width: 100%;   
	padding:100px;
  background-image: url("https://i0.wp.com/oriartel.com/image/about/3430.webp?ssl=1");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}


.site-header {
  padding: 10px 40px;
  position: fixed;
  top: 0;
  transition: 0.5s;
  width: 100%;
  z-index: 999;
  background: transparent; /* 初始為透明 */
}

.site-header.hide {
  transform: translateY(-100%);
}

.site-header.scrolled {
  background: rgba(0, 0, 0, 0.85); /* 或你喜歡的黑色值 */
  backdrop-filter: blur(10px);     /* 可選：添加模糊效果 */
}


main{
	    overflow-x: hidden;
}
img {
	width:100%;
	height:auto;
}

.text-white{
	color:white !important;
}
.text-gray{
	color:#ccc !important;
}
.bg-white{
	background-color:#f6f6f6;
}
.bg-pwhite{
	background-color:#fff;
}

.bg-black{
	background-color:#06070f;
	color:white:
}
.bg-washi{
    background-image: url('https://mcn.aml.mybluehost.me/image/top/bg-sa.png');
    background-size: cover; /* Makes sure the image covers the whole section */
    background-position: center center; /* Centers the image */
    background-repeat: no-repeat; /* Ensures the image doesn't repeat */
}
.bg-training{
    background-image: url('https://mcn.aml.mybluehost.me/image/top/training.png');
    background-size: cover; /* Makes sure the image covers the whole section */
    background-position: center center; /* Centers the image */
    background-repeat: no-repeat; /* Ensures the image doesn't repeat */
    height: 100vh; /* Sets the section height to fill the viewport */
}

.mx-auto{    margin-left:auto !important;margin-right:auto !important;
}
.p-relative{
	position:relative;
	
}
html {
	margin-top:0 !important;
	letter-spacing:1px;
}

.container{
	padding:120px 70px;
	position:relative;
	    max-width: 1600px;
    margin: 0 auto;
}
.text-center{
	text-align:center;
}
.secTT h2{
	font-size:58px;
	    z-index: 2;
    position: relative;
}
.secTT{
	    position: relative;
    margin-top: 70px;
    margin-left: 60px;
}
.secTT p{
	    z-index: 2;
    position: relative;
}
.p-about .secTT img{
	    display: block;
    width: 150px;
    height: auto;
    position: absolute;
    top: -60px;
    left: -105px;
    opacity: 0.3;
    z-index: 0;
}
.en {
  font-family: "Lora", serif;
  font-optical-sizing: auto;
  font-weight: 400;
}

.sp {
  display:none;

}
	 .pc {
  display:block;

}

 @media (max-width: 768px) {
	 
	 .container {
    padding: 120px 20px;
}
	 

.sp {
  display:block;

}
	 .pc {
  display:none;

}
        }


/**************************************************************
post-password-form
**************************************************************/


.post-password-form{
	color:#444;
	line-height:1.5;
	margin-top:100px;
	letter-spacing:1px;
	text-align:center;
}

.post-password-form span{
display:block;
	color:#8e8e8e;
	margin:20px 0;
	font-size:14px;
	font-family: sans;
}

.post-password-form input[type="submit"]  {
    background-color: #c49f2d;
    color: white;
    border: 0;
    height: 33px;
    width: 160px;
    display: block;
    border-radius: 5px;
	margin:20px auto;
}

#pwbox-32{
    border: 1px solid #ccc;
    background-color: #eaeaeacc;
    height: 30px;
    border-radius: 3px;
    width: 200px;
}

 @media (max-width: 768px) {
	 .post-password-form input[type="submit"]  {
	margin:20px auto 20px 0;
}
.post-password-form{
        width: 100%;
        padding: 20px;
	text-align:left;
}

        }

/**************************************************************
Booking
**************************************************************/


#booking{
	max-width:1400px;
	margin:40px auto;
}


 @media (max-width: 768px) {
#booking{
	margin:40px auto;
	padding:0;
}

        }


/**************************************************************
button
**************************************************************/



.btn a {
  font-family: 'Noto Serif JP', serif;
  font-size: 14px;
  letter-spacing: 0.1em;
  color: #fff;
  font-weight: 400;
  border: 1px solid #fff;
  display: block;
  position: relative;
  box-sizing: border-box;
  max-width: 300px;
  text-align: center; 
  padding: 16px 64px;
  margin-top: 32px;
  text-decoration: none;
  cursor: pointer;
  z-index:99;
  transition: all 0.3s;
}
.btn a:hover {
  border: 1px solid #C49F2D;
	  color: #C49F2D;
}

.btn-black a {
	  border: 1px solid #333;
	color:#333;
}
.btn-black a::after {
	background: #333;}

.btn-gold a {
    border: none;
    color: #fff;
    margin: 0 auto;
	font-size:15px;
    background-color: #c5a542;
}
.btn-gold a:hover {
    border: none;
    color: #111;
    background-color: #ece9e5;
}

.btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  width: 60px;
  height: 1px;
  background: #C49F2D;
  transition: all 0.3s ease;
}

.btn a:hover::after {
  animation: OutIn-Line 700ms;
  transition: all 0.3s;
}

@keyframes OutIn-Line {
    0% {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
        -webkit-transform-origin: 100% 0;
        transform-origin: 100% 0
    }

    50% {
        -webkit-transform: scale3d(0,1,1);
        transform: scale3d(0,1,1);
        -webkit-transform-origin: 100% 0;
        transform-origin: 100% 0
    }

    50.1% {
        -webkit-transform: scale3d(0,1,1);
        transform: scale3d(0,1,1);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0
    }

    100% {
        -webkit-transform: scale3d(1,1,1);
        transform: scale3d(1,1,1);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0
    }
}

/**************************************************************
header
**************************************************************/

header {
	box-sizing: border-box;
    padding:15px 70px;
    display: flex;
	width:100%;
    align-items: center;
    position: absolute;
    top: 0;
    z-index: 9999;
}

.menu {
    position: relative;
    width: 100%;
    height: 70px;
    display: flex;
    align-content: center;
    justify-content: flex-end;
    align-items: center;
    margin: 10px 0 auto auto;
}


.menu a{
    color: white;
	text-shadow: 2px 0px 15px rgba(0, 0, 0, 0.4);
}

.menu li.menu-contact {
    border: 1px solid white;
}


.navbar-brand {
    display: inline-block;
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
    margin-right: 1rem;
    font-size: 1.25rem;
    line-height: inherit;
    white-space: nowrap;
    width: 150px;
}

.menu li{
    display: block;
    position: relative;
    text-align: center;
    display: inline-block;
    padding: 10px 13px;
    font-size: 15px;
}

.menu li.menu-contact{
    border: 1px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 45px;
    padding: 5px 15px;
}

 @media (max-width: 768px) {
header {
    padding:15px 20px;

}
        }


/**************************************************************
TAB
**************************************************************/

.tab_box .btn_area {
  margin:0 10px;
  display: -webkit-box;
  display: flex;
justify-content: center;
}
 
.tab_box .tab_btn {
  width: 188px;
  padding: 8px 0;
  color: #333;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease 0s;
}
 
.tab_box .tab_btn + .tab_btn {
  margin-left: 8px;
}
 
.tab_box .tab_btn:hover {
  background-color: #dce1e4;
}
 
.tab_box .tab_btn.active {
    background:#ab8867;
    color:#fff;
}
 
.tab_box .panel_area {
    border: solid 1px #e3ebf3;
    padding: 20px;
}
 
.tab_box .tab_panel {
    display:none;
}
 
.tab_box .tab_panel.active {
    display:block;
}

.panel-text .more-link {
    display: inline-block;
    margin-top: 20px;
    text-decoration: none;
    border-bottom: 1px solid #8e4e3b;
    padding-bottom: 5px;
    font-size: 16px;
    color: #8e4e3b;
	position:relative;
	z-index:999;
}
/**************************************************************
Footer
**************************************************************/
        .footer {
            width: 100%;
            color: #fff;
            padding: 60px 0 0 0;
    position: absolute;
        }

        .footer-content {
            display: flex;
            justify-content: space-between;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .logo-container {
            width: 200px;
        }

        .logo {
            width: 180px;
        }

        .footer-sections {
    display: flex;
    flex-wrap: wrap;
    max-width: 440px;
        }

        .footer-section {
            margin-right: 40px;
            margin-bottom: 30px;
            min-width: 150px;
        }

        .footer-title {
            font-size: 16px;
            font-weight: bold;
            margin-bottom: 15px;
            letter-spacing: 1px;
        }

        .footer-text, .footer-link {
            font-size: 14px;
            color: #aaa;
            margin-bottom: 10px;
            display: block;
            text-decoration: none;
        }

        .shop-link {
                display: flex;
    align-items: center;
    border-bottom: 1px solid #fff;
    padding-bottom: 5px;
    width: 75px;
    justify-content: center;
        }

        .shop-link svg {
            margin-left: 10px;
        }

        .footer-bar {
            width: 100%;
            border-top: 1px solid #3a3a3a;
            padding: 20px 0;
            margin-top: 30px;
        }

        .footer-bar-content {
            display: flex;
            justify-content: space-between;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .copyright, .terms, .privacy {
            color: #aaa;
            font-size: 13px;
        }

        .terms, .privacy {
            cursor: pointer;
        }

        @media (max-width: 768px) {
            .footer-content {
                flex-direction: column;
            }
            
            .logo-container {
                margin-bottom: 30px;
            }
            
            .footer-sections {
                width: 100%;
            }
            
            .footer-section {
                width: 100%;
                margin-right: 0;
            }
            
            .footer-bar-content {
                flex-direction: column;
                align-items: center;
            }
            
            .copyright, .terms, .privacy {
                margin: 5px 0;
            }
        }


.secTT img {
display: block;
    width: 170px;
    height: auto;
    position: absolute;
    top: -60px;
    left: -75px;
    opacity: 0.3;
	z-index:0;
}


/**************************************************************
TOP/FRONT/INDEX
**************************************************************/
.kv-caption {
  position: relative;
  top: 40%;
  left: 0;
  width: 100%;
  z-index: 10;
	text-align:center;
  transition: all 0.3s ease;
}

.kv-caption span {
  color: #fff !important;
}


.kv video{
    display: inline-block;
    width: 100%;
    object-fit: cover;}

.kv::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3); /* 半透明的黑色 */
    z-index: 99; /* 确保叠加层位于图片下方 */
}

.kv-caption {
    z-index: 99;
    color: white;
    font-size: 3.5vw;
    width: 100%;
    text-align: center;
    letter-spacing: 5px;
    font-weight: 100;
    text-shadow: 2px 2px 25px rgba(0, 0, 0, 0.8);
	font-family: "Cactus Classical Serif", serif !important;
}


.kv-caption span{
    display: block;
    letter-spacing: 1.3px;
    font-size: 16px;
	margin-bottom: 12px;
}

.topLead .container {
	padding-top:0;
}
.topLead-txt p{
    color: white;
    font-size: 18px;
    line-height: 3.5;
    letter-spacing: 2px;
}

.kv-placeholder{
    padding-top: 40vh;
    padding-bottom:30vh;

}
.topLead {
    position: relative;
    overflow: hidden;
}

.kv {
    position: fixed;
    height: 100vh;
    width: 100%;
    left: 0;
    top: 0;
    z-index: -1;
}

.kv video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.container {
    position: relative;
}


.topLead-txt {
    position: relative;
    z-index: 99;
    color: #333;
}

.topLead-txt p{
    margin-bottom: 64px;
	margin-top: 33vh;
}


     .swiper {
      width: 100%;
      height: 100%;
    }

    .swiper-slide {
      text-align: center;
      font-size: 18px;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

.swiper-scrollbar {
  background: #d6d6d6;
	display:none;
}

.topExi {
	position:relative;
	overflow:hidden;
}

.topExi h3{
    margin: 15px 0;
}
.deco{
    position: absolute;
    width: 400px;
    right: 0;
    opacity: 0.6;
}
.topExi .container{
	padding:70px 0px 70px 70px}
}
.topExi .swiper-wrapper {}


.topExi .swiper-container-horizontal > .swiper-scrollbar {
    left: 30px;
}
.topExi-txt{
    text-align: left;
    width: 38%;
    padding-left: 24px;
}
.topExi-img{
    width: 50%;
}
.date{
    font-size: 14px;
    color: #444;
}
.place{
	font-size:16px;
	color:#bb9e83;
}
.expList.container{
	padding-bottom:20px;
}
.a-exp .expList.container{
	padding-bottom:100px;
}
}

.topExi-txt h3{
font-size:24px;
	margin: 8px 0 12px;
}
.topExi .swiper{
	margin-top: 48px;
	position: relative;
padding-bottom: 50px;
    margin-bottom: 50px;
}


.topWor{
	position:relative;
}
.topWor .pattern{
    position: absolute;
    width: 50vw;
    right: -380px;
    bottom: -20vh;
    width: 400p;
    opacity: 0.5;
    z-index: 0;
}


.topWor .container{
	z-index: 2;
}

.expList {
    display: flex;
    justify-content: flex-start;
    gap: 48px;
	max-width:1440px;
	flex-wrap:wrap;
}

   .experience-card {
      width: 29%;
      overflow: hidden;
    }
    
    .expList .card-image {
      width: 100%;
      height: 250px;
      overflow: hidden;
      position: relative;
    }
    
    .expList .card-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .expList .description {
    font-size: 14px;
    letter-spacing: 1px;
    font-weight: 100;
    color: #444;
}
    
    .expList .card-content {
padding: 0px 0;
    }
    
   .expList .location {
      font-size: 14px;
      color: #555;
      margin-bottom: 4px;
    }
    
    
    .expList .title {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 500;
    margin: 24px 0 10px;
    color: #8f7116;
    }
    


.topTra{
	height:110vh;
	    min-height: 1000px;
}

.topTra .container{
	height:100%;
}
.topTra .secTT{
	color:white;
}
.topTra-txt{
    line-height: 3;
    position: absolute;
	margin-left:70px;
}
: -75px;
}
.topTra-txt p{
	color: white;
margin-bottom:56px;}
.topTra-txt h3{
	color:white;
font-size:24px;
margin-bottom:32px;letter-spacing:2px;}


.topClient{
	    color: #333;
	text-align:center;
	padding:70px;
}
.topClient h2{
	margin-bottom:100px;
	font-size: 36px;
}
.topClient h2::before {
    content: "+";
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 18px;
}
.topClient .container{
    padding: 0 15px;	
}

.client-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 1200px;
}

.client-list li {
    display: flex;
    align-items: center;
    justify-content: center;
}

.client-list li img {
    max-width: 100%;
    height: auto;
	margin-bottom:20px;
}


.topShop{
	position:relative;
	    overflow: hidden;
}
.deco2{
position: absolute;
    width:350px;
    right: 70px;
    opacity: 0.4;
    top: -300px;
	
}

.topShop .container{
	position:relative;
}
.topShop .secTT{
    padding: 0px 70px 70px 70px;
}

.topShop .secTT .img {
    width: 210px;
    height: 210px;
    position: absolute;
    top: -60px;
    left: -75px;
	object-fit:contain;
}

.topShop .copy {
	position:absolute;
	right: 10%;
}
.topShop .copy span{
	    writing-mode: vertical-rl;
    white-space: pre;
    letter-spacing: .28em;
    color: #000;
    font-family: Shippori Mincho, serif;
    font-size: 18px;
}

	.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
    width: calc(100vw / 5);
    margin: 32px;
}
.scroll-infinity__item>img {
  width: 100%;
}

.access .scroll-infinity__item {
    width: 400px;
    margin: 32px;
    height: 400px;
}
.access .scroll-infinity__item img{
    height: 100%;
	object-fit:cover;
}

	@keyframes infinity-scroll-right {
from {
  transform: translateX(-100%);
}
  to {
  transform: translateX(0%);
}
}
.scroll-infinity__list--right{
  animation :infinity-scroll-right 80s infinite linear 0.5s both;
}
.bg-black .secTT {
    color: white;
}
.topShop .container{
	    padding-bottom: 0;
}

.topShop{
    padding-bottom: 100px;
}
.topShop p{font-size: 18px;
    line-height: 3;
    letter-spacing: 1px;
	margin-top:56px;
}


.black {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100vh;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
	margin:0 auto;
	justify-content: center;
position:relative;
	
}

.deco-left {
position: absolute;
    width: 160px;
    left: 0;
    top:24%;
	z-index:2;
}
.deco-right {
position: absolute;
    width: 160px;
    right: 0;
    top: 24%;
    z-index: 2;
    transform: rotate(179deg);

}
.text-wrap {
  position: relative;
  overflow: hidden;
  width: 450px;
  height: 100vh;
	margin-left: 70px;
}

.panel-text {
    position: absolute;
    left: 0%;
    top: -400px;
    right: 0%;
    bottom: 0%;
    z-index: 1;
    width: 100%;
    font-size: 40px;
    text-transform: uppercase;
    font-weight: 900;
    text-align: center;
    transform: translateY(100%);
    opacity: 0;
    color: #333;
    display: block;
    z-index: 0 !important;
}
.panel-text img{
position: absolute;
    width: 100%;
    left: 50%;
    width: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.8;
    z-index: -1;
    opacity: 0.3;
    max-width: 190px;

}
.panel-text .section-number {
      font-size: 0.9rem;
      color: #ccc;
      margin-bottom: 0.5em;
    }

.panel-text h4{
      font-size: 1.6rem;
      line-height: 1.6;
      margin: 0 0 1em;
    }

.panel-text .subtitle {
      font-size: 1.3rem;
      margin-bottom: 2em;
    }

.panel-text .english {
      font-size: 1rem;
      font-family: "Georgia", serif;
      margin-bottom: 2em;
      color: #bababa;
    }
.panel-text h3 {
    letter-spacing: 20px;
	writing-mode: vertical-rl;
    letter-spacing: 20px;
    margin: 0 auto;
    font-weight: 500;
}

.panel-text .description {
    font-size: 16px;
    line-height: 2.5;
    color: #444;
    font-weight: 300;
    text-align: left;
	
    }


.p-wrap {
  position: relative;
  overflow: hidden;
  width: 40vw;
  height: 80vh;
}

.panel {
  position: absolute;
  left: 0%;
  top: 0%;
  right: 0%;
  bottom: 0%;
  z-index: 1;
  width: 100%;
  height: 100%;

}

.panel.blue {
	  background-image: url("https://oriartel.com/image/top/hon.webp");
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: auto;
	background-color:white;
}

.panel.red {
	  background-image: url("https://oriartel.com/image/top/yan.webp");
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: auto;
	background-color:blue
}

.panel.orange {
	  background-image: url("https://oriartel.com/image/top/yu.webp");
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: auto;
	background-color:blue
}

.panel.purple {
	  background-image: url("https://oriartel.com/image/top/wu-pic.webp");
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: auto;
	background-color:blue
}

.bg-special {
    position: relative;
}
.specialKV{
    position: absolute;
    left: 0;
    top: 0;
	opacity:0.95;
	width:100%;
	height:100%;
	object-fit:cover;
}
.text-wrap .btn-black a{    margin: 10px auto 0px;
}


/**************************************************************
SINGLE/EXPERIENCE
**************************************************************/

.header-image {
	z-index:-99;
    width: 100vw;
    height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
	    position: fixed;
	top:0;  
    letter-spacing: 7px;
}
  
 .header-image img {
	width:100%;
	height:100%;
	object-fit:cover;

  }
  
.header-text {
    color: rgba(255, 255, 255, 1);
    font-size: 16px;
    text-align: center;
    font-weight: 300;
    position: absolute;
    bottom: 60px;
  }
  
.header-tt {
    font-size: 55px;
    bottom: 50%;
    transform: translateY(50%);
	    color: rgba(255, 255, 255, 1);
    text-align: center;
    font-weight: 300;
    position: absolute;
}

.wrapper container {
	padding: 30px 70px;}

.wrapper {
	      margin-top:55vh;
    padding: 0;
    position: relative;
    background-color: white;
    width: 100%;
  }
  
  .s-exp .divider {
    width: 1px;
    height: 110px;
    z-index: 2;
    background-color: #c49f2d;
    margin: 0 auto;
    position: absolute;
    left: 50%;
    top: -70px;
  }
  
.s-exp .title-section {
    text-align: center;
    padding: 0px 30px 30px;
}
  
  .s-exp .main-title {
    font-size: 24px;
    margin-bottom: 5px;
    font-weight: 100;
    letter-spacing: 2px;
	      color: #ac8c28;
  }
  
  .s-exp .subtitle {
    font-size: 16px;
    font-weight: bold;
    margin-top: 0;
  }
  
  .s-exp .description {
    padding: 0 30px;
    font-size: 16px;
    line-height: 1.6;
    line-height: 2;
    color: #222;
    padding-bottom: 20px;
    max-width: 900px;
    margin: 0 auto;
    font-family: sans-serif;
  }
  
  .s-exp .section-header {
    text-align: center;
    font-size: 24px;
    font-weight: normal;
    margin-bottom: 40px;
    padding-top: 70px;
    color: #ac8c28;
  }

  
  .s-exp .details-table {
padding: 0 20px;
    max-width: 1000px;
    margin: 0 auto;
	      margin-bottom: 56px;
}
  
  .s-exp .table-row {
    display: flex;
    border-bottom: 1px solid #c49f2d;
    padding: 25px 30px;
  }
  
  .s-exp .table-cell.label {
    width: 20%;
    font-size: 16px;
    padding-right: 15px;
  }
  
  .s-exp .table-cell.content {
    width: 80%;
    font-size: 16px;
    line-height: 2;
  }
.blog {
    max-width: 1000px;
    width: 80%;
    margin: 0px auto 0;
    background-color: white;
    padding: 10px 70px 64px;
    z-index: 1;
    border-radius: 4px;
    margin-bottom: 56px;
}
.blog-wrapper {
    max-width: 900px;
    margin: 0 auto;
    text-align: left;
    font-size: 18px;
    font-family: sans-serif;
    color: #444;
    line-height: 2;
}
.blog-wrapper p{
    text-align: left;
    font-size: 16px;
    color: #444;
    line-height: 1.7;
    padding-top: 24px;
}
.blog-wrapper img{ 
    margin-top: 40px;
	    margin-bottom: 20px;

}


.s-exp .bg-washi{
	padding-bottom:120px;
	padding-top: 60px;
}
.blog-wrapper h2{
    margin-top: 40px;
    font-size: 21px;
    margin-bottom: 5px;
    font-weight: 400;
    letter-spacing: 2px;
    color: #ac8c28;
}

.second-img {
    max-width: 910px;
    padding: 0px 30px;
	    margin:24px auto;
}



/**************************************************************
Booking
**************************************************************/

.calendar{
	padding:70px 40px;
	overflow-x: hidden;
}

.calendar .container {
      max-width: 800px;
      text-align: center;
      padding: 40px 20px;
    }
    
.calendar .section-number {
      font-size: 18px;
      font-weight: 300;
      color: #555;
      margin-bottom: 20px;
      position: relative;
      display: inline-block;
    }
    
.calendar .section-number::before {
      content: "+";
      position: absolute;
      top: -20px;
      left: 50%;
      transform: translateX(-50%);
      font-size: 16px;
    }
    
.calendar h2 {
      font-weight: normal;
      font-size: 42px;
      margin-bottom: 40px;
      letter-spacing: 1px;
      color: #333;
    }
    
.calendar .description {
      line-height: 2;
      margin-bottom: 10px;
      font-size: 16px;
      letter-spacing: 0.05em;
    }
    
    @media (max-width: 768px) {
.calendar .container {
        padding: 30px 15px;
      }
      
.calendar h2 {
        font-size: 32px;
        margin-bottom: 30px;
      }
      
.calendar .description {
        font-size: 14px;
        line-height: 1.8;
      }
    }



  .calendar-container {
      background-color: white;
      border-radius: 4px;
      width: 100%;
      max-width: 1400px;
      overflow: hidden;
	  margin: 0px auto;
    }
    
    .calendar-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 15px;
      flex-wrap: wrap;
    }
    
    .month-title {
      font-size: 24px;
      font-weight: bold;
      color: #333;
      margin: 5px 0;
    }
    
    .button-group {
      display: flex;
      gap: 10px;
      margin: 5px 0;
    }
    
.button {
      background-color: #555;
      color: white;
      border: none;
      border-radius: 2px;
      padding: 8px 12px;
      cursor: pointer;
      font-size: 14px;
    }
    
    .calendar-grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 1px;
      background-color: #f0f0f0;
      padding: 1px;
    }
    
    .calendar-day-header {
      background-color: white;
      padding: 10px 5px;
      text-align: center;
      font-weight: bold;
      color: #555;
    }
    
    .calendar-day {
      background-color: white;
      min-height: 80px;
      padding: 6px;
      position: relative;
    }
    
    .calendar-day.other-month {
      color: #aaa;
    }
    
    .day-number {
      margin-bottom: 5px;
      font-weight: bold;
    }
    
    .event {
      background-color: #b47e5b;
      color: white;
      border-radius: 4px;
      padding: 3px 6px;
      margin-bottom: 3px;
      font-size: 14px;
      cursor: pointer;
      transition: background-color 0.2s;
      display: block;
      text-decoration: none;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
		    text-wrap: wrap;
    }
.heal {
	background-color: #7f9a93}

.daily {
    background-color: #e6dfdf;
    color: #333;
}
.event.daily:hover {
    background-color: #333;
	color:#fff;
}

.event span{
    display: block;
    font-size: 11px;
    font-family: sans-serif;	
}

    
    .event:hover {
      background-color: #333;
    }
    
    .more-events {
      color: #4285f4;
      font-size: 14px;
      cursor: pointer;
      margin-top: 3px;
    }
    
    /* Different event types */
    .teaworkshop{
      background-color: #97987d;
    }
    
  
    
    /* Responsive adjustments */
    @media screen and (max-width: 768px) {
      .calendar-container {
        max-width: 100%;
      }
      
      .calendar-header {
        flex-direction: column;
        align-items: flex-start;
      }
      
      .month-title {
        margin-bottom: 10px;
      }
    }
    
    @media screen and (max-width: 600px) {
      .calendar-day-header {
        font-size: 12px;
        padding: 5px 2px;
      }
      
      .calendar-day {
        min-height: 60px;
        padding: 4px;
      }
      
      .day-number {
        font-size: 12px;
      }
      
      .event {
        padding: 2px 4px;
        font-size: 10px;
      }
    }
    
    @media screen and (max-width: 480px) {

      
      .calendar-grid {
        gap: 0;
      }
      
      .day-number {
        margin-bottom: 2px;
      }
      
      .month-title {
        font-size: 20px;
      }
      
      .button {
        padding: 6px 10px;
        font-size: 12px;
      }
      
      .calendar-day-header:nth-child(1),
      .calendar-day-header:nth-child(7) {
        font-size: 10px;
      }
      
      .calendar-day-header:nth-child(2),
      .calendar-day-header:nth-child(3),
      .calendar-day-header:nth-child(4),
      .calendar-day-header:nth-child(5),
      .calendar-day-header:nth-child(6) {
        font-size: 10px;
      }
    }




/**************************************************************
ABIUT
**************************************************************/

.p-about section{
	position:relative;
}
        /* 大型汉字背景 */
#vision {
    position: relative;
    padding: 120px 70px 0;
    overflow: hidden;
    margin-top: 57vh;
}
.p-about .header-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom;
}


        .bg-left {
            left: 0;
            top: 50%;
            transform: translateY(-50%);
        }

        .bg-right {
            right: 0;
            top: 50%;
            transform: translateY(-50%);
        }

        /* 标题样式 */
        .section-title {
            font-size: 36px;
            margin-bottom: 40px;
            font-weight: normal;
            color: #333;
        }

        /* 内容布局 */
        .content-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 68px;
        }

        .image-placeholder {
            flex: 0 0 40%;
            background-color: #ddd;
            height: 440px;
			    position: relative;
        }

 .image-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.p-about .secTT {
    margin-top: 0;
    margin-left: 0;
    position: absolute;
    top: -50px;
}

        .text-content {
            flex: 0 0 45%;
			    max-width: 510px;
        }

        .text-title {
          font-size: 24px;
    margin-bottom: 20px;
    line-height: 1.7;
    font-weight: 100;
}

.text-description {
	font-size:16px;
	line-height:2;
	color:#555;
}
.p-about .container{
    max-width: 1440px;
    padding: 100px 70px;
}

#history .content-wrapper {
    flex-direction: row-reverse;

}

.p-about #history .secTT {
    margin-top: 0;
    margin-left: 0;
    position: absolute;
    top: -80px;
    right: 0;
}
.p-about  #history .secTT img {
    display: block;
    width: 150px;
    height: auto;
    position: absolute;
    top: -60px;
    left: unset;
    opacity: 0.3;
    z-index: 0;
    right: -80px;
}
.trasition-image{
	width:100vw;
	height:60vh;
}
.trasition-image img{
	width:100%;
	height:100%;

	object-fit:cover;
}

.character{
position: absolute;
    width: 160px;
    left: 50%;
    opacity: 0.3;
    top: -18px;
    transform: translateX(-50%);
}

.four-box{
	overflow-x:hidden;
}
.four-box h3{
    font-size: 48px;
	letter-spacing:2px;
}

.four-box .swiper {
    width: 100%;
    height: 100%;
    margin: 0 70px;
	    height: 440px;
    }
.c_item{
	margin-top:160px;
}

 
.four-box .swiper-slide {
      text-align: center;
      font-size: 16px;
      background: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
    display: flex !important;
    flex-direction: column;
	    background-color: transparent !important;
    color: #b58c71;
    }
    .four-box .english {
		color:#8e8e8e;
}
    .four-box .description {
    padding: 20px ;
    color: #444;
		    margin-bottom: 70px;

}

.swiper-button-prev {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%238e4e3b'%2F%3E%3C%2Fsvg%3E") !important;
    background-size: 30% 30% !important;
    background-color: rgba(255, 255, 255, 1) !important;
    width: 65px !important;
    height: 65px !important;
    border-radius: 60px !important;
    border: 1px solid #a3a3a3;
    margin-top: 40px !important;

}

.swiper-button-next {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%238e4e3b'%2F%3E%3C%2Fsvg%3E") !important;
    background-size: 30% 30% !important;
    background-color: rgba(255, 255, 255, 1) !important;
    width: 65px !important;
    height: 65px !important;
    border-radius: 60px !important;
    border: 1px solid #a3a3a3;
    margin-top: 40px !important;

}

.cox{
	text-align:center;
}

.four-box .swiper-slide img {
      display: block;
      width: 100%;
      height: 100%;
    object-fit: contain;
	position:relative;
	opacity:1;
    }

        /* 合作伙伴部分 */
        .partner-section {
            color: #fff;
            padding: 80px 0;
        }

.info-detail p{
    padding: 0px 0 20px;
    line-height: 2;
}

.partner-section h2{
    font-weight: normal;
    font-size: 42px;
    margin-bottom: 40px;
    letter-spacing: 1px;
	text-align: center;}

.partner-section h2::before {
    content: "+";
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 16px;
}

.partner-section h3 span{
    display: block;
    font-size: 11px;
    color: #8e8e8e;
    font-weight: 100;
    margin-bottom: 5px;
}

#history {
    padding-bottom: 60px;
}
        .partner-grid {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            margin-top: 40px;
			    flex-wrap: wrap;
        }

        .partner-box {
            border: 1px solid #505050;
            padding: 30px;
            text-align: center;
            background-color: transparent;
			width: 48%;
        }

.logo-placeholder {
    height: 200px;
    margin: 0 auto;
    max-width: 240px;
}

        .partner-description {
    font-size: 14px;
    color: #ddd;
    margin-top: 10px;
    text-align: left;
    max-width: 410px;
    margin: 20px auto 0;
    font-weight: 100;
        }

        .more-link {
            display: inline-block;
            margin-top: 20px;
            color: #fff;
            text-decoration: none;
            border-bottom: 1px solid #fff;
            padding-bottom: 5px;
            font-size: 14px;
        }

        /* 位置信息部分 */
        .location-section {
        }
.p-about .location-section  .secTT {
    margin-top: 0;
    margin-left: 0;
    position: absolute;
    top: 100px;
    left: 180px;
}

        .map-placeholder {
            height: 100%;
            background-color: #ddd;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #888;
        }
        .map-placeholder iframe{
			height: 500px;}

        .contact-info {
            margin-top: 20px;
        }

        .info-item {
            margin-bottom: 20px;
        }

        .info-title {
            font-weight: bold;
            margin-bottom: 5px;
            font-size: 14px;
        }

        .info-detail {
            font-size: 14px;
            color: #666;
        }

        .more-info-link {
            color: #4D90FE;
            text-decoration: none;
        }

        /* 响应式设计 */
        @media (max-width: 768px) {
            .content-wrapper {
                flex-direction: column;
            }
            
            .image-placeholder {
                width: 100%;
                margin-bottom: 30px;
            }
            
            .text-content {
                width: 100%;
            }
            
            .partner-grid {
                flex-direction: column;
            }
        }


.event-blog{
	margin-top:57vh;
	    padding-bottom: 120px;

}
.s-event h1{
    font-size: 32px;
    font-weight: 300;
    text-align: center;
    padding: 100px 70px 0;
    max-width: 700px;
    margin: 0 auto;

}
.s-event h1 span{
	font-size: 18px;
    line-height: 1.6;
    font-weight: 500;
    margin: 24px 0 10px;
    color: #8f7116;
	display:block
}


.s-event .blog {
    max-width: 1000px;
    width: 80%;
    margin: 70px auto 0;
    background-color: white;
    padding: 48px 70px;
    z-index: 1;
    border-radius: 4px;
}
/**************************************************************
聯絡我們
**************************************************************/

.contact{

    display: flex;
    max-width: 1200px;
    margin: 0px auto;	
	padding:70px ;
}


.p-about .container.contact {
    max-width: 1440px;
    padding: 0px 70px 70px;
}
.contact h2.top-tt{
	line-height:2;
}


#p-contact .p-banner {
    background-image: url(/./image/courses/banner.webp);
    background-position: 50% 30%;
    margin: 80px 20px 0;
}
#p-contact .p-lead h2 {
	width:revert;
}
.contact-disc{
	width:50%;
    min-width: 400px;
    margin-right: 30px;
}

.contact-text{
    padding: 20px 0;
    max-width: 410px;
	line-height:2;
}

.contact-form{
	width:70%;
	    margin-top: 15px;
}

.e-btn {
    width: 400px;
    text-align: center;
    border: 1px solid;
    padding: 20px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
}
.e-btn img {
	width:40px;
	margin-right:10px;
}

#form{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
	justify-content: space-between;
	font-size:18px;
}


#form li:nth-child(1) , #form li:nth-child(2) {
}

#form li:nth-child(3) , #form li:nth-child(4) {
 width:100%;
}

#form input {
    height: 40px;
    border: 0;
    background-color: #e5e5e5;
    padding: 0px 10px;
    font-size: 16px;
    margin-top: 10px;
    border-radius: 3px;
    border: 1px solid #e5e5e5;
	
}

#form label{
    margin-bottom: 30px;
	    display: block;

}

#form textarea {
    border: 0;
	    padding: 10px 10px;
	    font-size: 16px;
    background-color: #e5e5e5;
    width: 100%;
    margin-top: 10px;
    border-radius: 3px;
    border: 1px solid #e5e5e5;
}
#submit{
	width:100%;
}
/* Submit button */
#submit .wpcf7-submit {
    border: 0;
    padding: 0;
    font-size: 18px;
    position: relative;
    font-family: inherit;
    letter-spacing: 1px;
    background: #333;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 32px 0 0 0;
    padding: 15px 25px;
    width: 220px;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    color: #fff;
}
#submit .wpcf7-submit:hover {
    background: #333;
    color: #fff;
}

#submit .wpcf7-submit:hover:after {
    border-color: #333;
}

.contact-memo{
    color: #c04851;
    font-size: 21px;
	    width: 50%;
}
.wpcf7-not-valid-tip{
    font-size: 13px !important;
}

.contact #submit {
    padding-left: 0px;
}

	.privacyCheck{
		    padding: 0 0 0px 0px;
	}	
.contact-disc h2{
	    font-weight: normal;
    font-size: 42px;
    margin-bottom: 40px;
    letter-spacing: 1px;
    color: #333;
}
.contact-disc .description {
    line-height: 2;
    margin-bottom: 10px;
    font-size: 16px;
    letter-spacing: 0.05em;
}

.privacy-policy{
	max-width:800px;
	margin:0 auto 70px;
	color:#555;
	line-height:2;
}

#location .container {
	padding: 70px 70px;}

.thx #vision {
    text-align: center;
    padding: 48px 20px;
    line-height: 2.5;
    height: 50vh;
    margin-top: 55vh;
    display: flex;
    align-content: center;
    justify-content: center;
    flex-direction: column;
}

/** ENG SITE**/
.eng-site .kv-caption  span{
	font-size:20px;
	padding:10px;
}

.eng-site .topExi-txt h3{
	padding:20px 0;
}

.eng-site .topTra-txt p{
    max-width: 500px;
    font-size: 15px;
    line-height: 2;
}
.eng-site .topShop p {
    font-size: 16px;
    line-height: 3;
    letter-spacing: 1px;
    margin-top: 56px;
}

.eng-site .panel-text .description {
    text-transform: none;
    font-size: 16px;
    line-height: 2;
    color: #444;
    font-weight: 300;
    text-align: left;
}
.eng-site .panel-text .english {
    font-size: 1rem;
    font-family: unset;
    margin-bottom: 2em;
    color: #a28f82;
}

.eng-site .four-box .description {
    padding: 20px;
    color: #444;
    margin-bottom: 70px;
    max-width: 670px;
    margin: 10px auto 70px;
}
.eng-site .contact-disc .description {
    line-height: 2;
    margin-bottom: 10px;
    font-size: 14px;
    letter-spacing: 0.05em;
    margin-right: 50px;
}