/* =========================================================
   Product Service Detail
========================================================= */
.product_service_intro{position:relative;}
.product_service_intro .inner_container{position:relative;width:min(1300px,calc(100% - 100px));margin:0 auto;}
#productdetail{position:relative;width:100%;}
#productinfo{position:relative;}
#productinfo .product_main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);align-items:start;gap:90px;}
#productinfo .product_gallery{position:relative;min-width:0;}
#productinfo #imglist{position:relative;width:100%;}
#productinfo #imglist .slick-list{overflow:hidden;}
#productinfo #imglist .slick-slide{outline:none;}
#productinfo #imglist .slick-slide>div{width:100%;}
#productinfo #imglist a{display:block;width:100%;text-decoration:none;}
#productinfo .pocimg{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#eee9e1;display: flex;}
#productinfo .pocimg:before{position:absolute;z-index:2;inset:0;border:1px solid rgba(var(--primary-rgb),.08);content:"";pointer-events:none;}
#productinfo .pocimg:after{position:absolute;z-index:2;right:20px;bottom:20px;width:44px;height:44px;border:1px solid rgba(var(--white-rgb),.7);border-radius:50%;background:rgba(var(--primary-rgb),.18);backdrop-filter:blur(4px);content:"＋";display:flex;align-items:center;justify-content:center;font-family:var(--font-family);font-size:20px;font-weight:300;color:var(--white);opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease,background .4s ease;}
#productinfo .pocimg img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.65,.25,1);}
#productinfo .pocimg:hover img{transform:scale(1.035);}
#productinfo .pocimg:hover:after{opacity:1;transform:translateY(0);}
#productinfo #imglist .slick-dots{display:flex!important;align-items:center;justify-content:flex-start;gap:9px;margin:20px 0 0;padding:0;list-style:none;}
#productinfo #imglist .slick-dots li{width:auto;height:auto;margin:0;padding:0;}
#productinfo #imglist .slick-dots button{display:block;width:26px;height:2px;padding:0;border:0;background:rgba(var(--primary-rgb),.18);font-size:0;cursor:pointer;transition:width .35s ease,background .35s ease;}
#productinfo #imglist .slick-dots li.slick-active button{width:48px;background:var(--gold);}
#productinfo .product_gallery_hint{display:flex;align-items:center;gap:11px;margin-top:18px;font-size:16px;font-weight:400;line-height:1.7;letter-spacing:.03em;color:var(--info);}
#productinfo .product_gallery_hint span{position:relative;display:block;width:18px;height:18px;border:1px solid rgba(var(--primary-rgb),.35);border-radius:50%;}
#productinfo .product_gallery_hint span:before,#productinfo .product_gallery_hint span:after{position:absolute;left:50%;top:50%;background:var(--primary);transform:translate(-50%,-50%);content:"";}
#productinfo .product_gallery_hint span:before{width:7px;height:1px;}
#productinfo .product_gallery_hint span:after{width:1px;height:7px;}
#productinfo .product_summary{position:sticky;top:130px;padding-top:15px;}
#productinfo .product_summary_en{margin-bottom:28px;font-family:var(--font-family);font-size:16px;font-weight:600;line-height:1.5;letter-spacing:.16em;color:var(--gold);}
#productinfo .product_name{font-family:var(--font-serif);font-size:clamp(34px,3vw,46px);font-weight:400;line-height:1.55;letter-spacing:.045em;color:var(--primary);}
#productinfo .product_summary_line{display:flex;align-items:center;gap:14px;margin:31px 0 33px;}
#productinfo .product_summary_line span{display:block;width:48px;height:1px;background:var(--gold);}
#productinfo .product_summary_line i{display:block;flex:1;height:1px;background:var(--line);}
#productinfo .product_specification{font-family:var(--font-family);font-size:16px;font-weight:400;line-height:2;color:var(--gray);}
#productinfo .product_specification p{margin:0 0 16px;font-size:16px;line-height:2;color:inherit;}
#productinfo .product_specification p:last-child{margin-bottom:0;}
#productinfo .product_specification strong,#productinfo .product_specification b{font-size:16px;font-weight:600;color:var(--primary);}
#productinfo .product_specification ul,#productinfo .product_specification ol{margin:18px 0;padding-left:22px;}
#productinfo .product_specification li{margin-bottom:10px;font-size:16px;line-height:1.9;color:var(--gray);}
#productinfo .product_specification table{width:100%;margin:22px 0;border-collapse:collapse;}
#productinfo .product_specification table td{padding:13px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:16px;line-height:1.7;color:var(--gray);}
#productinfo .product_summary_more{margin-top:38px;}
#productinfo .JJask{position:relative;display:flex;width:210px;align-items:center;padding:0 0 15px;text-decoration:none;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:.05em;color:var(--primary);transition:color .35s ease;}
#productinfo .JJask:after{position:absolute;left:0;bottom:0;width:100%;height:1px;background:rgba(var(--primary-rgb),.65);transform-origin:left center;content:"";transition:transform .45s ease;}
#productinfo .JJask span{white-space:nowrap;color:inherit;}
#productinfo .JJask i{flex:1;}
#productinfo .JJask b{font-size:26px;font-weight:300;line-height:1;color:inherit;transition:transform .4s ease;}
#productinfo .JJask:hover{color:var(--gold);}
#productinfo .JJask:hover:after{transform:scaleX(.45);}
#productinfo .JJask:hover b{transform:rotate(90deg);}

/* =========================================================
   Product Tabs
========================================================= */
#productTabs{position:relative;margin-top:110px;padding-top:0;}
#productTabs .product_tabs_nav{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
#productTabs .tabs{display:flex;align-items:stretch;justify-content:flex-start;margin:0;padding:0;list-style:none;white-space:normal;}
#productTabs .tabs li{position:relative;margin: 0;}
#productTabs .tabs li:last-child{margin-right:0;}
#productTabs .tabs a{position:relative;display: flex;padding: 23px 40px 21px;text-decoration:none;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:.055em;color:var(--gray);transition:color .35s ease;flex-direction: column;align-items: center;}
#productTabs .tabs a:after{position:absolute;left:50%;bottom:-1px;width:0;height:2px;background:var(--primary);transform:translateX(-50%);content:"";transition:width .4s cubic-bezier(.22,.8,.25,1);}
#productTabs .tabs li:hover a,#productTabs .tabs li.active a{color:var(--primary);}
#productTabs .tabs li.active a:after,#productTabs .tabs li:hover a:after{width:100%;}
#tabs_container{position:relative;padding-top:65px;}
#tabs_container .tab_content{position:relative;width:100%;}

/* =========================================================
   Product Editor
========================================================= */
.product_editor{position:relative;width: 100%;margin:0 auto;font-family:var(--font-family);font-size:16px;font-weight:400;line-height:2;color:var(--gray);}
.product_editor p{margin: 0 0 5px;font-size:16px;line-height:2;color:inherit;}
.product_editor strong,.product_editor b{font-size:16px;font-weight:600;color:var(--primary);}
.product_editor a{font-size:16px;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(var(--gold-rgb),.35);transition:border-color .3s ease;}
.product_editor a:hover{border-color:var(--gold);}
.product_editor img{display:block;max-width:100%;height:auto;margin:45px auto;}
.product_editor ul,.product_editor ol{margin:25px 0;padding-left:25px;}
.product_editor li{margin-bottom:10px;font-size:16px;line-height:1.9;color:var(--gray);}
.product_editor blockquote{position:relative;margin:42px 0;padding:5px 0 5px 30px;border-left:2px solid var(--gold);font-family:var(--font-serif);font-size:22px;font-weight:400;line-height:1.8;color:var(--primary);}
.product_editor table{width:100%;margin:35px 0;border-collapse:collapse;}
.product_editor table th,.product_editor table td{padding:15px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:16px;line-height:1.7;text-align:left;}
.product_editor table th{font-weight:600;color:var(--primary);}
.product_editor table td{color:var(--gray);}
.product_editor iframe{display:block;max-width:100%;margin:40px auto;}
.product_editor hr{height:1px;margin:45px 0;border:0;background:var(--line);}

@media screen and (max-width:1399px) {
  .product_service_intro .inner_container { width: calc(100% - 80px); }
  #productinfo .product_main { gap: 70px; }
  #productinfo .product_summary { top: 110px; }
  #productTabs { margin-top: 95px; }
}
@media screen and (max-width:1199px) {
  #productinfo .product_main { grid-template-columns: minmax(0,1fr) minmax(340px,.85fr); gap: 55px; }
  #productinfo .product_name { font-size: 38px; }
  #productTabs { margin-top: 85px; }
}
@media screen and (max-width:991px) {
  .product_service_intro .inner_container { width: calc(100% - 50px); }
  #productinfo .product_main { grid-template-columns: 1fr; gap: 50px; }
  #productinfo .product_gallery { width: 82%; }
  #productinfo .product_summary { position: relative; top: auto; width: 82%; margin-left: auto; padding-top: 0; }
  #productinfo .product_name { font-size: 36px; }
  #productTabs { margin-top: 80px; }
  #productTabs .tabs li { margin-right: 35px; }
  #tabs_container { padding-top: 55px; }
}
@media screen and (max-width:767px) {
  .product_service_intro .inner_container { width: calc(100% - 40px); }
  #productinfo .product_main { gap: 38px; }
  #productinfo .product_gallery { width: 100%; }
  #productinfo .product_summary { width: 100%; margin-left: 0; }
  #productinfo .product_gallery_hint { margin-top: 15px; font-size: 15px; }
  #productinfo .product_gallery_hint span { width: 17px; height: 17px; }
  #productinfo .product_summary_en { margin-bottom: 20px; font-size: 15px; letter-spacing: .12em; }
  #productinfo .product_name { font-size: 30px; line-height: 1.55; }
  #productinfo .product_summary_line { margin: 25px 0; }
  #productinfo .product_specification { font-size: 15px; line-height: 1.95; }
  #productinfo .product_specification p { font-size: 15px; line-height: 1.95; }
  #productinfo .product_specification strong,#productinfo .product_specification b { font-size: 15px; }
  #productinfo .product_specification li { font-size: 15px; }
  #productinfo .product_specification table td { padding: 11px 9px; font-size: 15px; }
  #productinfo .product_summary_more { margin-top: 30px; }
  #productinfo .JJask { width: 185px; font-size: 15px; }
  #productTabs { margin-top: 65px; }
  #productTabs .product_tabs_nav { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
  #productTabs .product_tabs_nav::-webkit-scrollbar { display: none; }
  #productTabs .tabs { width: max-content; }
  #productTabs .tabs li { flex: 0 0 auto; margin-right: 28px; }
  #productTabs .tabs a { padding: 19px 1px 17px; font-size: 15px; }
  #tabs_container { padding-top: 42px; }
  .product_editor { font-size: 15px; line-height: 1.95; }
  .product_editor p { margin-bottom: 20px; font-size: 15px; line-height: 1.95; }
  .product_editor strong,.product_editor b,.product_editor a,.product_editor li { font-size: 15px; }
  .product_editor img { margin: 32px auto; }
  .product_editor blockquote { margin: 32px 0; padding-left: 20px; font-size: 19px; }
  .product_editor table { margin: 28px 0; }
  .product_editor table th,.product_editor table td { padding: 12px 10px; font-size: 15px; }
  .product_editor iframe { margin: 30px auto; }
}
@media screen and (max-width:480px) {
  #productinfo .product_name { font-size: 28px; }
  #productinfo #imglist .slick-dots button { width: 20px; }
  #productinfo #imglist .slick-dots li.slick-active button { width: 38px; }
  #productTabs .tabs li { margin-right: 23px; }
}
