:root {--black: #111; --gray-900: #222; --gray-700: #555; --gray-500: #888; --gray-300: #d8d8d8; --gray-200: #e9e9e9; --gray-100: #f6f6f6; --point: #204e3b; --point-soft: #edf4f0; --danger: #d24343; --radius: 1.2rem; --inner: 120rem;}
hr.sub_hr {height:100px; border:none}

.ing {width:100%; text-align:center; font-size:3rem; font-weight:400; color:#333}

/* SUB VISUAL */
.sub_visual {position:relative; display:flex; align-items:center; height:570px; padding-top:90px; overflow:hidden; background:url('/common/img/sub_vi.png') no-repeat right; background-size:cover; color:#fff;}
.sub_visual .inner {position:relative; z-index:1;}

.breadcrumb {display:flex; align-items:center; gap:10px; margin-bottom:28px; color:rgba(255,255,255,.58); font-size:1.25rem;}
.breadcrumb span:last-child {color:var(--gold2);}

.sub_visual small {display:block; margin-bottom:14px; color:var(--gold2); font-size:1.2rem; font-weight:700; letter-spacing:.28em;}
.sub_visual h1 {margin:0; font-family:'BookkMyungjo-Bd'; font-size:6.5rem; font-weight:700; letter-spacing:-.055em;}
.sub_visual p {max-width:620px; margin:22px 0 0; color:rgba(255,255,255,.67); font-size:1.7rem;}

.member .sub_visual {height:400px; padding-top:80px;  background-color:#082522;}
.member .sub_visual p {display:none;}
.mypage .sub_visual {height:400px; padding-top:80px;   background-color:#082522;}
.mypage .sub_visual p {display:none;}

.con {padding:90px 0 120px; line-height:1.5; font-size:103%}
div.con section   {  scroll-margin-top:110px;}
div.con section + section {margin-top:80px;  }
 
ul.sub_menu{
	display:flex;
	justify-content:center;
	gap:30px;
	margin-top:40px;
	padding:0;
	font-size:1.8rem;
	list-style:none;
}

ul.sub_menu li a{
	position:relative;
	display:block;
	padding:8px 0;
	color:#222;
	transition:color .25s ease, transform .25s ease;
}

ul.sub_menu li a:after{
	content:"";
	position:absolute;
	left:50%;
	bottom:0;
	width:0;
	height:3px;
	background:#9b7b3e;
	transform:translateX(-50%);
	transition:width .3s ease;
}

ul.sub_menu li a:hover{
	color:#9b7b3e;
	font-weight:700;
	transform:translateY(-2px);
}

ul.sub_menu li a:hover:after{
	width:100%;
}

ul.sub_menu li.ov a{
	color:#9b7b3e;
	font-weight:700;
}

ul.sub_menu li.ov a:after{
	width:100%;
}
.greeting .flex {position:relative; display:flex; align-items:flex-start; gap:7rem;}
.greeting_img {position:relative; flex:0 0 430px; margin:0;}
.greeting_img img {position:relative; display:block; width:100%; max-width:none !important; height:auto; z-index:1;}
.greeting_txt {position:relative; flex:1; margin:0; color:#333;}
.greeting_txt strong {display:block; margin-bottom:15px; color:#082d25; font-size:2.7rem; font-weight:700; letter-spacing:-.04em;}
.greeting_sign {display:block; margin-top:10px; color:#555; font-size:1.6rem;}

/* ==================================================
   COMPANY CONTENT
================================================== */
.overview h5 {color:#222; font-size:2.5rem; font-weight:700;}
.company-content section {position:relative;}
.company-content section:last-child {margin-bottom:0;}
.company-content h4 {position:relative; color:#000; margin-bottom:20px; font-size:3.5rem; font-weight:700; letter-spacing:-.5px;}
.company-content .section-desc {color:#555; font-size:1.8rem;}

/* INTRO */
.company-intro {padding:80px 70px; overflow:hidden; position:relative; background:url('/common/img/bg2.jpg') no-repeat; background-size:cover;  color:#fff;}
.company-intro:after {content:''; width:100%; height:100%; position:absolute; left:0; top:0; background:rgba(0,0,0,.7);}


.company-intro .intro-label {display:block; margin-bottom:18px; color:#fff; font-size:1.5rem; font-weight:700; letter-spacing:.08em;}
.company-intro h3 {position:relative; z-index:1; max-width:850px; margin-bottom:28px; color:#fff; font-size:4.8rem; font-weight:700; letter-spacing:-2px;}
.company-intro h3 span {font-weight:400}
.company-intro .intro-text {position:relative; z-index:1; color:#fff;}
.company-intro .intro-slogan {position:relative; z-index:1; margin-top:38px; padding-top:28px; border-top:1px solid rgba(255,255,255,.3)}
.company-intro .intro-slogan strong {display:block; margin-bottom:8px; color:#fff; font-size:2.4rem; font-weight:600;}
.company-intro .intro-slogan span {color:var(--gold); font-size:1.5rem; font-weight:600;}

/* PHILOSOPHY */
.company-philosophy {display:grid; grid-template-columns:350px 1fr; gap:80px; align-items:start;}
.company-philosophy .philosophy-copy {padding-top:15px;}
.company-philosophy .philosophy-title {margin-bottom:12px;}
.company-philosophy .philosophy-eng {display:block; margin-bottom:28px; color:#c90013; font-size:1.6rem; font-weight:600;}
.company-philosophy p {color:#555;}
.value-head p {color:#666; font-size:1.7rem;}
.value-grid {display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.value-item {min-height:240px; padding:35px 28px; background: rgba(255, 255, 255, .8); transition:.25s;}
.value-item:hover {transform:translateY(-6px); border-color:rgba(201,0,19,.25); box-shadow:0 20px 40px rgba(0,0,0,.07);}
.value-item .num {display:block; margin-bottom:15px; color:#c90013; font-size:1.3rem; font-weight:700;}
.value-item strong {display:block; margin-bottom:4px; color:#222; font-size:2.1rem; font-weight:700;}
.value-item em {display:block; margin-bottom:20px; color:#999; font-size:1.3rem; font-style:normal; font-weight:600;}
.value-item p {color:#666;}
.value-slogan {color:#000; text-align:center; margin-top:30px;}
.value-slogan strong {display:block; margin-bottom:10px; font-size:2.2rem; font-weight:700;}
.value-slogan span {color:#9b7b3e; font-size:1.4rem;}

/* VISION */
.vision-top {margin-bottom:45px;}
.vision-top h5 {margin-bottom:18px;}
.vision-top p {color:#555;}
.vision-message {margin:45px 0; padding:45px; background: rgba(255, 255, 255, .8);  text-align:center;}
.vision-message span {display:block; margin-bottom:12px; color:#c90013; font-size:1.3rem; font-weight:700; letter-spacing:.15em;}
.vision-message strong {color:#111; font-size:3rem; font-weight:700;}
.vision-grid {display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
.vision-item {padding-top:30px; border-top:3px solid #c90013;}
.vision-item strong {display:block; margin-bottom:12px; color:#c90013; font-size:1.9rem; font-weight:600;}
.vision-item p {color:#555; font-size:1.4rem;}
.vision-slogan {margin-top:35px; color:#777; font-size:1.5rem; text-align:center;}

/* GOAL */
.goal-intro {margin-bottom:45px;}
.goal-intro h5 {margin-bottom:20px;}
.goal-intro p {color:#555;}
.goal-list {display:grid; grid-template-columns:repeat(5,1fr); margin-top:40px; border-top:1px solid #ddd5c8; border-bottom:1px solid #ddd5c8;}
.goal-item {position:relative; min-height:180px; padding:32px 25px; border-right:1px solid #ddd5c8;}
.goal-item:last-child {border-right:0;}
.goal-item span {display:block; margin-bottom:15px; color:#c90013; font-size:2rem; font-weight:800;}
.goal-item strong {color:#333; font-size:1.7rem; font-weight:700;}

/* HISTORY */
.history-intro {margin-bottom:60px;}
.history-intro h5 {margin-bottom:10px;}
.history-intro p {color:#555;}
.history-list {position:relative; padding-left:210px;}
.history-list:before {content:""; position:absolute; left:168px; top:10px; bottom:10px; width:1px; background:#ddd5c8}
.history-item {position:relative; min-height:150px; padding:0 0 55px 45px;}
.history-item:last-child {padding-bottom:0;}
.history-item:before {content:""; position:absolute; left:-52px; top:8px; width:13px; height:13px; border:4px solid #fff; border-radius:50%; background:#c90013; box-shadow:0 0 0 1px #c90013;}
.history-year {position:absolute; right:calc(100% + 95px); top:0; color:#c90013; font-size:2.8rem; font-weight:700;}
.history-item h5 {margin-bottom:14px; color:#222; font-size:2.2rem; font-weight:700;}
.history-item ul {display:flex; flex-direction:column; gap:7px;}
.history-item li {position:relative; padding-left:13px; color:#606773; font-size:1.5rem;}
.history-item li::marker {font-size:0;}
.history-item li:before {content:""; position:absolute; left:0; top:11px; width:4px; height:4px; border-radius:50%; background:#aeb4bd;}
.history-end {margin-top:65px; padding:45px; background:#171b22; color:#fff;}
.history-end strong {display:block; margin-bottom:15px; font-size:2.7rem; font-weight:600;}
.history-end p {color:#c5cad2;}
.history-end .since {display:block; margin-top:28px; color:#fff; font-size:1.4rem; font-weight:700; letter-spacing:.12em;}


/* LOCATION */
.location .con iframe{
	display:block;
	width:100%;
	height:450px;
	border:0;
	border-radius:12px 12px 0 0;
}

.location_info{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	background: rgba(255, 255, 255, .4);
	 
	border-top:0;
}

.location_info dl{
	display:flex;
	align-items:center;
	margin:0;
	padding:28px 32px;
}

.location_info dl + dl{
	border-left:1px solid #ddd5c8;
}

.location_info dt{
	display:flex;
	align-items:center;
	flex:0 0 120px;
	gap:10px;
	color:#9b7b3e;
	font-size:1.4rem;
	font-weight:700;
}

.location_info dt i{
	display:flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	border-radius:50%;
	background:#f3eee4;
	color:#9b7b3e;
	font-size:1.3rem;
}

.location_info dd{
	margin:0;
	color:#333;
	font-size:1.6rem;
	font-weight:500;
}

.location_info dd a{
	color:#333;
	transition:.2s;
}

.location_info dd a:hover{
	color:#9b7b3e;
}



/* FACTORY GALLERY */
 
 

.factory_gallery_list{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:28px 20px;
}

.factory_gallery_item{
	display:block;
	min-width:0;
}

.factory_gallery_item .img{
	position:relative;
	aspect-ratio:4/3;
	overflow:hidden;
	background:#ddd5c8;
}

.factory_gallery_item .img:after{
	content:"\f00e";
	position:absolute;
	top:50%;
	left:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	width:50px;
	height:50px;
	border:1px solid rgba(255,255,255,.6);
	border-radius:50%;
	background:rgba(7,29,25,.72);
	color:#fff;
	font-family:"Font Awesome 6 Free";
	font-size:1.6rem;
	font-weight:900;
	opacity:0;
	transform:translate(-50%,-40%);
	transition:.3s;
}

.factory_gallery_item img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .5s ease;
}

.factory_gallery_item > span{
	display:block;
	position:relative;
	margin-top:12px;
	padding-left:18px;
	color:#77736c;
	font-size:1.2rem;
	font-weight:600;
	letter-spacing:.08em;
}

.factory_gallery_item > span:before{
	content:"";
	position:absolute;
	top:50%;
	left:0;
	width:10px;
	height:1px;
	background:#9b7b3e;
}

.factory_gallery_item:hover img{
	transform:scale(1.055);
}

.factory_gallery_item:hover .img:after{
	opacity:1;
	transform:translate(-50%,-50%);
}


/* ========================================
   FACTORY POPUP
======================================== */

.factory_popup{
	display:flex;
	align-items:center;
	justify-content:center;
	position:fixed;
	top:0;
	left:0;
	z-index:9999999;
	width:100%;
	height:100%;
	padding:100px;
	opacity:0;
	visibility:hidden;
	transition:.3s;
}

.factory_popup.open{
	opacity:1;
	visibility:visible;
}

.factory_popup_dim{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(3,12,10,.92);
}

.factory_popup_inner{
	display:flex;
	align-items:center;
	justify-content:center;
	position:relative;
	z-index:1;
	width:100%;
	max-width:1200px;
	height:100%;
}

.factory_popup_image{
	display:flex;
	align-items:center;
	justify-content:center;
	width:90%;
	height:90%;
}

.factory_popup_image img{
	display:block;
	max-width:100%;
	max-height:100%; 
	object-fit:contain;
	box-shadow:0 15px 50px rgba(0,0,0,.3);
}


/* 닫기 */
.factory_popup_close{
	position:absolute;
	top:0;
	right:0;
	z-index:3;
	display:flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	border:1px solid rgba(255,255,255,.35);
	border-radius:50%;
	background:rgba(255,255,255,.08);
	color:#fff;
	font-size:2rem;
	cursor:pointer;
	transition:.2s;
}

.factory_popup_close:hover{
	background:#fff;
	color:#071d19;
}


/* 이전 / 다음 */
.factory_popup_prev,
.factory_popup_next{
	position:absolute;
	top:50%;
	z-index:3;
	display:flex;
	align-items:center;
	justify-content:center;
	width:52px;
	height:52px;
	border:1px solid rgba(255,255,255,.3);
	border-radius:50%;
	background:rgba(255,255,255,.06);
	color:#fff;
	font-size:1.6rem;
	cursor:pointer;
	transform:translateY(-50%);
	transition:.2s;
}

.factory_popup_prev{
	left:-70px;
}

.factory_popup_next{
	right:-70px;
}

.factory_popup_prev:hover,
.factory_popup_next:hover{
	border-color:#c7a463;
	background:#c7a463;
	color:#071d19;
}


/* 페이지 표시 */
.factory_popup_count{
	position:absolute;
	left:50%;
	bottom:0;
	display:flex;
	align-items:center;
	gap:6px;
	color:rgba(255,255,255,.55);
	font-size:1.3rem;
	transform:translateX(-50%);
}

.factory_popup_count .current{
	color:#e2c990;
	font-weight:700;
}


/* MOBILE */

 
/* ==================================================
   BRAND STORY
================================================== */
.brand-story {color:#333;}

/* INTRO */
.brand-intro {position:relative; padding:75px 65px; overflow:hidden; background:url('/common/img/bg1.jpg') no-repeat; background-size:cover;  color:#fff;}
.brand-intro:after {content:''; width:100%; height:100%; position:absolute; left:0; top:0; background:rgba(0,0,0,.7);}
.brand-label {display:block; position:relative; z-index:1; margin-bottom:22px; color:var(--gold); font-size:1.4rem; font-weight:700; letter-spacing:.1em;}
.brand-intro h3 {position:relative; z-index:1; margin-bottom:35px; font-size:4.8rem; font-weight:700; letter-spacing:-2px;}
.brand-intro h3 em {font-style:normal; font-weight:500;}
.brand-intro-text {position:relative; z-index:1; width:75%;}
.brand-intro-text p {}

/* SECTION TITLE */
.brand-section-title {margin-bottom:25px;  }
.brand-section-title > span {display:block; margin-bottom:5px; color:#c90013; font-size:1.3rem; font-weight:700; letter-spacing:.1em;}
.brand-section-title h4 {color:#111; font-size:3.8rem; font-weight:800; letter-spacing:-1px;}

/* BRAND NAME */
.brand-name-section {margin-top:110px;}
.brand-name-grid {display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #ddd5c8; border-bottom:1px solid #ddd5c8;}
.brand-name-item {  padding:40px 35px; border-right:1px solid #ddd5c8;}
.brand-name-item:last-child {border-right:0;}
.brand-num {display:block; margin-bottom:38px; color:#c90013; font-size:1.3rem; font-weight:700;}
.brand-name-title {margin-bottom:18px;}
.brand-name-title strong {display:block; margin-bottom:3px; color:#111; font-size:3rem; font-weight:700;}
.brand-name-title em {color:#c90013; font-style:normal; font-weight:600;}
.brand-name-item p {color:#626874;}

/* BRAND CONTENT */
.brand-content-list {border-top:1px solid #ddd5c8;}
.brand-content-item {display:grid; grid-template-columns:30% 1fr; gap:70px; padding:60px 0;   border-bottom:1px solid #ddd5c8;}
.brand-content-head span {display:block; margin-bottom:18px; color:#c90013; font-size:1.3rem; font-weight:700;}
.brand-content-head h4 {color:#171717; font-size:3rem; font-weight:800;}
.brand-content-text { }
.brand-content-text p {margin-bottom:16px; color:#5c626c; font-size:1.6rem;}
.brand-content-text p:last-child {margin-bottom:0}
.brand-content-text strong {display:block; margin-top:15px; color:#222; font-size:1.8rem; font-weight:700;}
.brand-chain-list {display:grid; grid-template-columns:repeat(9,1fr); border-top:1px solid #ddd5c8; border-bottom:1px solid #ddd5c8;}
.brand-chain-list > div {position:relative; padding:30px 10px; border-right:1px solid #ddd5c8; text-align:center;}
.brand-chain-list > div:not(:last-child):after {content:"\f105"; position:absolute; right:-15px; border-radius:50%; top:50%; z-index:2; background:#ddd5c8; font-family:"Font Awesome 6 Free"; font-size:1.5rem; font-weight:900; width:30px; height:30px; display:flex; align-items:Center; justify-content:center; transform:translateY(-50%);}
.brand-chain-list span {display:block; margin-bottom:13px; color:#9b7b3e; font-size:1.3rem; font-weight:500;}
.brand-chain-list strong {color:#333; font-size:2rem; font-weight:700;}
 

/* PROMISE */
.brand-promise {display:grid; grid-template-columns:34% 1fr; gap:80px; padding:65px; background:#171b22; color:#fff;}
.brand-promise-title > span {display:block; margin-bottom:7px; color:#ef626d; font-size:1.3rem; font-weight:700; letter-spacing:.1em;}
.brand-promise-title h4 {margin-bottom:20px; font-size:3.8rem; font-weight:600;}
.brand-promise-title p {color:#aeb5c0;}
.brand-promise-list {border-top:1px solid rgba(255,255,255,.15);}
.brand-promise-list > div {display:grid; grid-template-columns:55px 1fr; align-items:center; min-height:70px; border-bottom:1px solid rgba(255,255,255,.15);}
.brand-promise-list span {color:#ef626d; font-size:1.2rem; font-weight:700;}
.brand-promise-list strong {color:#e8ebef; font-size:1.6rem; font-weight:500;}

/* VISION */
.brand-vision {padding:80px 65px 60px; background:rgba(255,255,255,.6)}
.vision-label {display:block; margin-bottom:16px; color:#c90013; font-size:1.3rem; font-weight:700; letter-spacing:.12em;}
.brand-vision > h4 {margin-bottom:15px; color:#111; font-size:4.2rem; font-weight:600; letter-spacing:-1.5px;}
.brand-vision > h4 em {color:#c90013; font-weight:800; font-style:normal}
.brand-signature {display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-top:40px; padding-top:30px; border-top:1px solid #ddd;}
.brand-signature > div:first-child > span {display:block; margin-bottom:9px; color:#c90013; font-size:1.2rem; font-weight:700; letter-spacing:.12em;}
.brand-signature > div:first-child > strong {display:block; margin-bottom:6px; color:#222; font-size:2rem; font-weight:600;}
.brand-signature > div:first-child > p {color:#777; font-size:1.4rem;}
.brand-ceo {text-align:right;}
.brand-ceo span {display:block; margin-bottom:7px; color:#777; font-size:1.4rem;}
.brand-ceo strong {color:#222; font-size:1.8rem; font-weight:600;}


 
 
.jandae-sasam-grid {display:grid; grid-template-columns:20% 1fr; border-top:1px solid #ddd5c8; border-bottom:1px solid #ddd5c8;}
.jandae-sasam-word {display:flex; flex-direction:column; justify-content:center; padding:45px; border-right:1px solid #ddd5c8;}
.jandae-sasam-word > span {margin-bottom:12px; color:#c90013; font-size:4.8rem; font-weight:700;}
.jandae-sasam-word strong {color:#111; font-size:3rem; font-weight:700;}
.jandae-sasam-word em {margin-top:5px; color:#999; font-size:1.3rem; font-style:normal; font-weight:600; letter-spacing:.12em;}
.jandae-sasam-text {padding:48px 55px;}
.jandae-sasam-text > p {margin-top:17px; color:#5c626c; font-size:1.6rem;}
.jandae-sasam-text > p:first-child {margin-top:0; color:#222; font-size:2rem;}
.jandae-sasam-text strong {color:#c90013; font-weight:700;}
.jandae-note {display:grid; grid-template-columns:70px 1fr; gap:25px; margin-top:32px; padding:24px 0 0; border-top:1px solid #ddd5c8;}
.jandae-note span {color:#c90013; font-size:1.2rem; font-weight:700; letter-spacing:.1em;}
.jandae-note p {color:#777; font-size:1.4rem;}


.jandae-principle {display:grid; grid-template-columns:25% 1fr; gap:30px; padding:65px; background:#171b22; color:#fff;}
.jandae-principle-title > span {display:block; margin-bottom:15px; color:#ef626d; font-size:1.3rem; font-weight:700; letter-spacing:.12em;}
.jandae-principle-title h4 {margin:0; color:#fff; font-size:3.8rem; font-weight:600; letter-spacing:-1.4px;}
.jandae-principle-content {padding-left:50px; border-left:1px solid rgba(255,255,255,.15);}
.jandae-principle-content p {margin-top:18px; color:#aeb5c0; font-size:1.6rem;}
.jandae-principle-content p:first-of-type {margin-top:0;}
.jandae-principle-content .jandae-principle-lead {margin-bottom:32px; color:#fff; font-size:2.7rem; font-weight:600;}
.jandae-principle-message {display:block; margin-top:38px; padding-top:30px; border-top:1px solid rgba(255,255,255,.15); color:#fff; font-size:2.2rem; font-weight:600;}

.jandae-signature {  text-align:center;}
.jandae-signature > span {display:block; margin-bottom:18px; color:#c90013; font-size:1.3rem; font-weight:700; letter-spacing:.16em;}
.jandae-signature strong {display:block;   font-size:4.5rem; font-weight:600; letter-spacing:-1.5px;}
.jandae-signature p {margin-top:20px;  font-size:1.5rem;}

 

/***/
.member_links {display: flex; justify-content: center; gap: 0; margin-top: 20px; color: #666; font-size: 1.3rem;}
.member_links a {position: relative; padding: 0 13px;}
.member_links a + a:before {content: ""; position: absolute; top: 50%; left: 0; width: 1px; height: 1rem; margin-top: -5px; background: #ddd;}
.notice_box {margin-top: 30px; padding: 20px; background: var(--gray-100); color: #666; font-size: 1.3rem;}
.notice_box strong {display: block; font-size:1.25em; margin-bottom: 8px; color: #222;}
.join_box {width: min(100%, 72rem); margin: 0 auto;}
.form_row {display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem;}
.input_btn {display: grid; grid-template-columns: 1fr auto; gap: .8rem;}
.input_btn .btn {height: 5.2rem;}
.agree_box {margin-top: 40px; border-top: 1px solid #222;}
.agree_all {padding: 20px 10px; border-bottom: 1px solid var(--gray-300); font-weight: 700;}
.agree_item {display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 16px 10px; border-bottom: 1px solid var(--gray-200); color: #555; font-size: 1.4rem;}
.agree_item a {text-decoration: underline; font-size: 1.2rem;}
.section_title {display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin: 0 0 18px;}
.section_title h2 {margin: 0; font-size: 2.2rem;}
.section_title .sub {color: #888; font-size: 1.3rem;}
.summary {position: sticky; top:200px; padding: 24px; border: 1px solid #222; border-radius: 1rem;}
.summary h2 {margin: 0 0 22px; font-size: 2rem;}
.summary_row {display: flex; justify-content: space-between; gap: 2rem; margin-top:5px; color: #555; font-size: 1.4rem;}
.summary_row:first-of-type {margin-top: 0;}
.summary_total {display: flex; align-items: center; justify-content: space-between; margin-top: 20px; padding-top: 20px; border-top: 1px solid #ddd5c8;}
.summary_total strong {font-size: 2.4rem;}
.summary .btn {width: 100%; margin-top: 20px;}


@media(min-width:900px){
 	.brand-chain-list > div:last-child {border-right:0;}
}
@media(max-width:900px){
  .factory_popup {padding:4%}
  .factory_popup_image {width:100%; height:100%}
  .factory_popup_prev, .factory_popup_next {display:none}

  hr.sub_hr {height:60px;}
  .sub_visual {height:400px;padding-top:70px;background-position:right;}
  .sub_visual:before {content:''; width:100%; height:100%; position:absolute; left:0; top:0; background:rgba(0,0,0,.5); }
  .sub_visual h1 {font-size:3.6rem;}
  .sub_visual p {font-size:1.5rem;}
  .member .sub_visual,.mypage .sub_visual {height:300px;padding-top:70px;}
  .con {padding:60px 0 80px; font-size:100%; line-height:1.4}
  
  div.con section  {  scroll-margin-top:90px;}
  div.con section + section {margin-top:60px; }
  ul.sub_menu {flex-wrap:wrap;gap:8px 20px;margin-top:25px;font-size:1.5rem;}

  .greeting .flex {flex-direction:column;gap:30px;}
  .greeting_img {flex:none;width:100%;max-width:430px;}
  .greeting_txt strong {font-size:2.2rem;}

  .overview h5 {font-size:2.1rem;}
  .company-content h4 {font-size:2.7rem;}
  .company-intro {padding:45px 30px;}
  .company-intro h3 {font-size:3rem;}
  .company-intro .intro-slogan strong {font-size:2rem;}
  .company-philosophy {grid-template-columns:1fr;gap:30px;}
  .value-grid {grid-template-columns:repeat(2,1fr);}
  .value-item strong {font-size:1.8rem;}
  .value-slogan strong {font-size:1.9rem;}
  .vision-message {padding:30px 20px;}
  .vision-message strong {font-size:2.4rem;}
  .vision-grid {grid-template-columns:repeat(2,1fr);gap:22px 14px;}
  .goal-list {grid-template-columns:repeat(2,1fr); border:none; gap:10px}
  .goal-item {min-height:150px;border:1px solid #ddd5c8 !important;}

  .history-list {padding-left:30px;}
  .history-list:before {left:4px;}
  .history-item {padding:0 0 45px 30px;}
  .history-item:before {left:-32px;}
  .history-year {position:static;margin-bottom:10px;font-size:2.2rem;}
  .history-item h5 {font-size:1.9rem;}
  .history-end strong {font-size:2.2rem;}

  .location_info {grid-template-columns:1fr;}
  .location_info dl {padding:22px 20px;}
  .location_info dl + dl {border-top:1px solid #ddd5c8;border-left:0;}
  .factory_gallery_list {grid-template-columns:repeat(2,1fr);gap:20px 12px;}

  .brand-intro {padding:45px 30px;}
  .brand-intro h3 {font-size:3rem;}
  .brand-intro-text {width:100%;}
  .brand-section-title h4 {font-size:2.8rem;}
  .brand-name-section {margin-top:70px;}
  .brand-name-grid {grid-template-columns:1fr;}
  .brand-name-item {padding:30px;border-right:0;border-bottom:1px solid #ddd5c8;}
  .brand-name-title strong {font-size:2.4rem;}
  .brand-content-item {grid-template-columns:1fr;gap:20px;padding:40px 0;}
  .brand-content-head h4 {font-size:2.5rem;}
  .brand-content-head h4 br {display:none}
  .brand-chain-list {grid-template-columns:repeat(3,1fr); border:none; gap:10px}
  .brand-chain-list div {border:1px solid #ddd5c8;}
  .brand-chain-list > div:not(:last-child):after {display:none}
  .brand-promise {grid-template-columns:1fr;gap:35px;padding:45px 30px;}
  .brand-promise-title h4 {font-size:2.8rem;}
  .brand-vision {padding:50px 30px;}
  .brand-vision > h4 {font-size:3rem;}
  .brand-signature {align-items:flex-start;flex-direction:column;}
  .brand-ceo {text-align:left;}

  .jandae-sasam-grid {grid-template-columns:1fr;}
  .jandae-sasam-word {padding:35px; text-align:center; border-right:0;border-bottom:1px solid #ddd5c8;}
  .jandae-sasam-word > span {font-size:3.8rem;}
  .jandae-sasam-word strong {font-size:2.5rem;}
  .jandae-sasam-text {padding:35px;}
  .jandae-principle {grid-template-columns:1fr;gap:30px;padding:45px 30px;}
  .jandae-principle-title h4 {font-size:2.8rem;}
  .jandae-principle-content {padding-left:0;padding-top:30px;border-top:1px solid rgba(255,255,255,.15);border-left:0;}
  .jandae-principle-content .jandae-principle-lead {font-size:2.2rem;}
  .jandae-principle-message {font-size:1.9rem;}
  .jandae-signature strong {font-size:3rem;}

  .form_row {grid-template-columns:1fr;}
  .agree_item {align-items:flex-start;}
  .section_title {align-items:flex-start;flex-direction:column;gap:8px;}
  .section_title h2 {font-size:1.9rem;}
  .summary {position:static;top:auto;}
  .summary h2 {font-size:1.8rem;}
}


 


 /* ==================================================
   CHINA · SHANGHAI BRANCH
================================================== */

 .china-branch .company-intro  {text-align:center; background:url('/common/img/china-branch_bg.jpg') no-repeat center; background-size:cover;}
 .china-branch .company-intro:after { background:rgba(0,0,0,.6);}
 .china-branch .company-intro h3  {max-width:100%}

/* SLOGAN */
.china-slogan {
	margin-top:35px;
	padding:30px 34px;
	background:rgba(255,255,255,.8);
	border-left:3px solid #9b7b3e;
}


.china-slogan span {
	display:block;
	margin-bottom:8px;
	color:#9b7b3e;
	font-size:1.15rem;
	font-weight:700;
	letter-spacing:.13em;
}

.china-slogan strong {
	display:block;
	color:#222;
	font-size:2.1rem;
	font-weight:700;
}
.china-branch .brand-content-list  {border-top:none}
.china-branch .brand-content-item  { padding-top:0 }


/* BUSINESS */
.china-business-list {
	display:grid;
	grid-template-columns:repeat(5,1fr);
	border-top:1px solid #ddd5c8;
	border-bottom:1px solid #ddd5c8;
}

.china-business-item {
	position:relative;
	padding:32px 25px;
	border-right:1px solid #ddd5c8;
	transition:.25s;
}

.china-business-item:last-child {
	border-right:0;
}

.china-business-item strong {
	display:block;
	margin-bottom:15px;
	color:#292927;
	font-size:1.8rem;
	font-weight:700;
}

.china-business-item p {
	color:#77736c;
	font-size:1.5rem;
 }


/* CONTACT */
.china-contact {
	display:grid;
	grid-template-columns:38% 1fr;
	margin:70px 0;
	background:#171b22;
}

.china-contact-head {
	position:relative;
	padding:55px 50px;
	background:#09231f;
	overflow:hidden;
}

.china-contact-head > span {
	display:block;
	margin-bottom:12px;
	color:var(--gold2);
	font-size:1.2rem;
	font-weight:700;
	letter-spacing:.14em;
}

.china-contact-head h3 {
	color:#fff;
	font-size:3rem;
	font-weight:700;
 	letter-spacing:-.8px;
}

.china-contact-head > p {
	margin-top:20px;
	color:rgba(255,255,255,.6);
	font-size:1.5rem;
 }

.china-contact-cn {
	margin-top:45px;
	padding-top:25px;
	border-top:1px solid rgba(255,255,255,.13);
}

.china-contact-cn span {
	display:block;
	margin-bottom:5px;
	color:#d75d63;
	font-size:2.2rem;
	font-weight:700;
}

.china-contact-cn strong {
	color:rgba(255,255,255,.4);
	font-size:1.1rem;
	letter-spacing:.15em;
}

.china-contact-info {
	padding:35px 45px;
}

.china-contact-info dl {
	display:grid;
	grid-template-columns:130px 1fr;
	align-items:center;
	min-height:62px;
	margin:0;
	border-bottom:1px solid rgba(255,255,255,.1);
}

.china-contact-info dt {
	color:#c7a463;
	font-size:1.3rem;
	font-weight:700;
}

.china-contact-info dd {
	margin:0;
	color:#fff;
	font-size:1.55rem;
}

.china-contact-info dd a {
	color:#fff;
	transition:.2s;
}

.china-contact-info dd a:hover {
	color:var(--gold2);
}

 

@media(max-width:900px){
	.china-slogan {margin-top:25px;padding:24px 22px;}
	.china-slogan span {margin-bottom:7px;font-size:1.1rem;}
	.china-slogan strong {font-size:1.8rem; }
	.china-branch .brand-content-item {padding-top:0;}
	.china-business-list {grid-template-columns:repeat(2,1fr);border:0;gap:10px;}
	.china-business-item {padding:25px 20px;border:1px solid #ddd5c8; }
	.china-business-item:last-child {grid-column:1 / -1;border-right:1px solid #ddd5c8;}
	.china-business-item strong {margin-bottom:10px;font-size:1.8rem;}
	.china-business-item p {font-size:1.4rem; }
	.china-contact {grid-template-columns:1fr;margin:50px 0;}
	.china-contact-head {padding:38px 28px;}
	.china-contact-head > span {margin-bottom:10px;font-size:1.3rem;}
	.china-contact-head h3 {font-size:2.4rem;}
	.china-contact-head > p {margin-top:15px;font-size:1.4rem; }
	.china-contact-cn {margin-top:30px;padding-top:20px;}
	.china-contact-cn span {font-size:1.9rem;}
	.china-contact-cn strong {font-size:1rem;}
	.china-contact-info {padding:20px 28px 28px;}
	.china-contact-info dl {grid-template-columns:95px 1fr;min-height:56px;}
	.china-contact-info dt {font-size:1.2rem;}
	.china-contact-info dd {font-size:1.4rem;word-break:break-all;}
	.china-contact-info .address {align-items:start;padding:15px 0;}
	.china-contact-info .address dd { word-break:break-all;}
}