/* ---------------------------- ceo message ----------------------------*/
.ceo.contentsWrap { margin-top: 10rem; } 
#ceo-content { max-width: 1600px; width: 90%; margin: 0 auto; } 
#ceo-content .ceo-title { position: relative; margin-bottom: 7rem; } 
#ceo-content .ceo-title::after { content: "ANNECY"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: calc(8vw + 40px); color: rgba(241, 241, 241, 0.7); font-weight: 700; z-index: -1; } 
#ceo-content .ceo-title h2 { font-size: calc(0.8rem + 1.5vw); text-align: center; font-weight: 700; z-index: 10; } 
#ceo-content .ceo-message p { font-size: calc(0.8rem + 0.4vw); text-align: center; font-weight: 500; margin-bottom: 19px; line-height: 2; } 
#ceo-content .ceo-signature { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px 0 0; } 
#ceo-content .ceo-signature .ceo-txt { font-size: calc(0.9rem + 0.3vw); font-weight: 600; } 
#ceo-content .ceo-signature .signature { width: 170px; } 
#ceo-content .ceo-signature .signature img { width: 100%; } 

@media (max-width: 1024px){
 .ceo.contentsWrap,
 #ceo-content .ceo-title { margin-top: 4rem; margin-bottom: 4rem; } 
 }

@media (max-width: 628px){
 #ceo-content br.line-break { display: none; } 
 }

@media (max-width: 480px){
 #ceo-content .ceo-title h2 { font-size: var(--semi-large-font); } 
 #ceo-content .ceo-title::after { font-size: var(--mega-font); } 
 #ceo-content .ceo-title { margin-bottom: 35px; } 
 }

 /* ---------------------------- company ----------------------------*/
#company-intro { max-width: 1600px; width: 90%; margin: 0 auto; } 
#company-intro .company-title { text-align: center; margin-bottom: 5rem; } 
#company-intro .company-title h2 { font-size: var(--main-title-font); margin-bottom: 20px; font-weight: 700; } 
#company-intro .company-title strong { color: var(--main-color); font-weight: 700; } 
#company-intro .company-title .company-subtitle { width: 640px; text-align: center; margin: 0 auto; font-size: var(--normal-font); } 
#company-intro .company-des-list { display: flex; flex-direction: column; gap: 80px; } 
#company-intro .company-des-list li { display: grid; grid-template-columns: repeat(2, 1fr); align-items: end; } 
#company-intro .company-des-list li img { width: 100%; max-width: 870px; max-height: 400px; border-radius: 10px; object-fit: cover; } 
#company-intro .company-des-list li div { flex-grow: 1; } 
#company-intro .company-des-list li .section-num { font-size: var(--xlarge-font); font-weight: 500; margin-bottom: 10px; } 
#company-intro .company-des-list li h3 { font-size: var(--main-sub-title-font); font-weight: 300; margin-bottom: 25px; } 
#company-intro .company-des-list li h3 strong { font-weight: 700; } 
#company-intro .company-des-list li .company-des { font-size: var(--normal-font); font-weight: 400; color: #949494; } 
#company-intro .company-des-list li section { padding-left: 50px; } 
#company-intro .company-des-list li:nth-of-type(odd) { text-align: end; } 
#company-ci { max-width: 1600px; width: 90%; margin: 0 auto; position: relative; } 
#company-ci .ci-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; } 
#company-ci .ci-title h2 { font-size: var(--xlarge-font); margin-bottom: 15px; } 
#company-ci .ci-title .ci-download { display: flex; column-gap: 20px; } 
#company-ci .ci-title .ci-download .bi-download { padding-left: 5px; font-size: 18px; } 
#company-ci .ci-title .ci-download li { font-size: var(--small-font); padding-inline: 1rem; height: 40px; border: 1px solid var(--normal-black); border-radius: 50px; display: flex; justify-content: center; align-items: center; } 
#company-ci .logo-wrap { width: 100%; height: 500px; border: 1px solid var(--normal-black); margin-bottom: 30px; padding: 35px; } 
#company-ci .logo-wrap h3 { font-size: var(--normal-font); } 
#company-ci .ci-logo-colors .g-blue { background: #2784BE; } 
#company-ci .ci-logo-colors .r-blue { background: #0867AE; } 
#company-ci .ci-logo-colors li { height: 86px; border-radius: 18px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; } 
#company-ci .ci-logo-colors .color-left, #company-ci .ci-logo-colors .color-right { font-size: 16px; color: #fff; padding: calc(7% - 32.5px); } 
#company-ci .ci-logo-colors .color-left span:nth-of-type(1) { margin-right: 20px; } 
#company-ci .ci-logo-colors .color-right span:nth-of-type(1) { padding-right: 10px; border-right: 1px solid #fff; margin-right: -2px; } 
#company-ci .ci-logo-colors .color-right span:nth-of-type(2) { padding-left: 10px; } 
#company-stat { position: relative; margin-block: 9rem; } 
#company-stat .stat-bg { position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: -2; filter: brightness(1.5); } 
#company-stat .stat-bg::after { background: rgba(0, 0, 0, 0.6); content: ""; position: absolute; left: 0; top: 0; display: block; width: 100%; height: 100%; } 
#company-stat .stat-bg video { width: 100%; height: 100%; object-fit: cover; } 
#company-stat .stat-wrap { height: 900px; background: transparent; display: flex; justify-content: center; flex-direction: column; } 
#company-stat .stat-wrap h3 { color: #fff; text-align: center; font-size: var(--xlarge-font); font-weight: 700; margin-bottom: 10rem; line-height: 1.5; } 
#company-stat .stat-wrap .states { max-width: 1600px; width: 90%; margin: 0 auto; display: flex; justify-content: center; } 
#company-stat .stat-wrap .states>li { width: 100%; border-right: 2px solid #fff; text-align: center; } 
#company-stat .stat-wrap .states>li:last-child { border-right: unset; } 
#company-stat .stat-wrap .states strong { color: #fff; font-size: var(--medium-font); font-weight: 500; margin-bottom: 50px; display: block; } 
#company-stat .stat-wrap .states p, #company-stat .stat-wrap .counter.start-animation { color: #fff; font-size: var(--main-title-font); margin: 0; text-align: center; font-weight: 600; } 
#company-stat .stat-wrap .states p>span { font-size: var(--medium-font); font-weight: 500; } 
#company-intro .company-subtitle .mb_re { display: none; } 
#company-ci .image-row { display: flex; margin-bottom: 2rem; padding-bottom: 2rem; border-bottom: 2px solid #6f6f6f; } 
#company-ci .image-item { flex: 1; position: relative; max-height: 297px; height: 100vh; padding-inline: 2rem; } 
#company-ci .image-item img { width: 100%; height: auto; } 
#company-ci .image-item.logo-design img { position: absolute; top: 60%; left: 50%; transform: translate(-50%, -50%); max-width: 210px; } 
#company-ci .image-item:first-child { border-right: 2px solid #6f6f6f; } 
#company-ci .image-full { padding-inline: 2rem; margin-bottom: 4.5rem; } 
#company-ci .image-full:last-child { border-top: 2px solid #6f6f6f; margin-bottom: 5rem; } 
#company-ci .image-full img { width: 100%; height: auto; } 
#company-ci .ci-images.grid-bg { border-bottom: 1px solid #ebebeb; border-right: 1px solid #ebebeb; } 
#company-ci .color-boxes { display: flex; gap: 10px; justify-content: center; position: absolute; top: 56%; left: 50%; transform: translate(-50%, -50%); } 
#company-ci .color-box { width: 90px; height: 90px; display: flex; justify-content: center; align-items: center; position: relative; } 
#company-ci .color-box span { position: absolute; bottom: -26px; font-size: var(--micro-font); text-align: center; } 
#company-ci .image-row.grid .ci-section { margin-bottom: 1rem; } 
#company-ci .ci-section h3 { font-size: var(--medium-font); margin-bottom: 4px; } 
#company-ci .ci-section.goal { margin-top: 3rem; } 
#company-ci .ci-section p { color: #717171; font-size: var(--small-font); } 
#company-ci .keywords-container { display: flex; justify-content: center; gap: 20px; position: absolute; top: 55%; left: 50%; transform: translate(-50%, -50%); } 
#company-ci .keyword { width: 100px; height: 100px; border: 1px solid #000; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-align: center; font-size: var(--small-font); background: #fff; } 
#company-ci .goal-content { display: flex; align-items: center; justify-content: center; gap: 2rem; margin-top: 2rem; } 
#company-ci .goal-content h1 { font-family: 'Roboto', sans-serif; color: #0072CE; font-size: 48px; margin-bottom: 10px; } 
#company-ci .goal-content p { font-size: var(--normal-font); line-height: 1.6; text-align: center; } 
#company-ci .goal-content img { max-width: 282px; margin-bottom: 0; padding-inline: 0; } 
#company-ci .logo-grid { display: flex; justify-content: space-evenly; align-items: center; width: 100%; gap: 1rem; } 
#company-ci .logo-grid img { max-width: 204px; height: auto; object-fit: cover; background: #fff; } 
#company-ci .concept-motive-mobile { display: none; } 
#company-ci .concept-motive-pc { padding-top: 1.7rem; } 
#company-ci .grid-bg { background-size: 24.97px 27.8px; background-image: linear-gradient(to right, #ebebeb 1px, transparent 1px), linear-gradient(to bottom, #ebebeb 1px, transparent 1px); padding-top: 2rem; } 
#company-ci .concept-motive-pc-wrap { position: relative; width: 100%; max-width: 1200px; margin: 0 auto; } 
#company-ci .concept-motive-pc-wrap img { display: block; } 
#company-ci .concept-motive-pc-wrap .concept-desc { position: absolute; padding: 8px 12px; } 
#company-ci .concept-motive-pc-wrap .pc-desc1 { top: 5%; left: 0; } 
#company-ci .concept-motive-pc-wrap .pc-desc2 { top: 47%; right: 0; } 
#company-ci .concept-motive-pc-wrap .pc-desc3 { bottom: 0; left: 0; } 
#company-ci .concept-motive-pc-wrap .pc-desc4 { bottom: 0; right: 0; } 
#company-stat .stat-note { color: #fff; max-width: 1600px; width: 90%; margin: 0 auto; text-align: right; font-size: 12px; } 

@media screen and (max-width:1024px){
 #company-ci .ci-title .ci-info { flex-direction: column; row-gap: 30px; } 
 #company-ci .ci-title { margin-bottom: 20px; } 
 .contentsWrap .company-des-list li .section-num { font-size: var(--large-font); } 
 #company-intro .company-des-list li h3 { font-size: var(--xlarge-font); margin-bottom: 11px; } 
 #company-intro .company-des-list li .company-des { font-size: var(--micro-font); } 
 #company-ci .keywords-container { flex-wrap: wrap; width: 225px; top: 67%; } 
 #company-ci .keywords-container>* { width: calc(50% - 10px); box-sizing: border-box; } 
 #company-ci .goal-content { flex-direction: column; } 
 #company-ci .goal-content .image-full img { max-width: 350px; } 
 #company-ci .concept-motive-pc { padding-top: 2rem; } 
 #company-ci .goal-content img { max-width: 382px; } 
 #company-ci .logo-grid { flex-direction: column; } 
 #company-ci .image-item.logo-design img { top: 52%; } 
 #company-ci .image-row.grid .image-item:first-child { max-height: 380px; } 
 #company-ci .image-full { margin-bottom: 3rem; } 
 }

@media screen and (max-width:991px){
 .concept-motive-pc-wrap { display:none; } 
 .concept-motive-pc-wrap .concept-desc { display:none; } 
 #company-ci .concept-motive-mobile { display:flex; flex-wrap:wrap; padding-top:17px; } 
 .concept-item { width:100%; text-align:center; } 
 .concept-item img { max-width:380px; width:100%; height:auto; } 
 .concept-desc { font-size:var(--small-font); text-align:center; padding-block:1rem 4rem; } 
 }

@media screen and (max-width:768px){
 .grid-bg { padding-top:2rem; } 
 #company-stat { margin-block: 4rem; } 
 #company-intro .company-title .company-subtitle { width:100%; max-width:546px; } 
 #company-intro .company-title h2 { margin-bottom:20px; } 
 #company-intro .company-des-list li { grid-template-columns:repeat(1,1fr); row-gap:10px; } 
 #company-intro .company-des-list li section { padding-left:0; } 
 #company-intro .company-des-list li img { max-height:12rem; } 
 #company-ci .ci-logo-colors li { justify-content:center; align-items:center; flex-direction:column; margin-bottom:15px; } 
 #company-ci .ci-logo-colors .color-left,
 #company-ci .ci-logo .ci-logo-colors .color-right { padding:0; } 
 #company-ci .ci-title { flex-direction:column; align-items:flex-start; } 
 #company-ci .ci-title .ci-download { column-gap:10px; } 
 #company-ci .ci-title .ci-download li { height:35px; font-size:var(--micro-font); } 
 #company-stat .stat-wrap h3 { margin-bottom:5rem; } 
 #company-stat .stat-wrap .states { row-gap:3rem; justify-content:center; flex-direction:column; align-items:center; } 
 #company-stat .stat-wrap .states>li { border-right:unset; } 
 #company-stat .stat-wrap .states strong { font-size:var(--normal-font); margin-bottom:0.5rem; } 
 .image-row { flex-direction:column; } 
 #company-ci .image-item { flex:unset; max-height:302px; } 
 #company-ci .image-item:first-child { border-bottom:2px solid #6f6f6f; border-right:unset; } 
 #company-ci .image-item:nth-child(even) { padding-top:2rem; max-height: 328px; } 
 #company-ci .image-row.grid .image-item:first-child { max-height: 412px; } 
 .image-row.grid:nth-child(2) { margin-bottom:2rem; padding-bottom:5.2rem; } 
 #company-ci .ci-section.goal,.image-full.concept-motive { margin-top:2rem; } 
 .goal-content p { font-size:var(--small-font); line-height:1.6; } 
 .concept-item:last-child .concept-desc { padding-block: 1rem; } 
 #company-ci .ci-title .ci-download .bi-download { font-size: 14px; } 
 #company-ci .keywords-container { top: 62%; } 
 #company-ci .image-full:last-child { margin-bottom: 3.5rem; } 
 }

@media screen and (max-width:480px){
 #company-intro .company-des-list li h3 { font-size: var(--large-font); } 
 #company-intro .company-title h2 { font-size: var(--large-font); } 
 #company-stat .stat-wrap h3 { font-size: var(--semi-large-font); } 
 #company-ci .logo-wrap { padding: 15px; } 
 #company-ci .ci-logo-colors .color-right span:nth-of-type(1) { border-right: unset; padding-right: unset; margin-right: unset; } 
 #company-ci .ci-logo-colors .color-right span:nth-of-type(2) { padding-left: unset; } 
 #company-ci .ci-logo-colors li { gap: 10px; } 
 #company-ci .ci-title .ci-info .ci-download .bi-download { font-size: 16px; } 
 #company-ci .ci-logo-colors .color-left, #company-ci .ci-logo .ci-logo-colors .color-right { font-size: var(--small-font); } 
 #company-ci .logo-wrap h3 { font-size: var(--small-font); } 
 #company-ci .ci-title h2 { font-size: var(--large-font); } 
 #company-stat .stat-wrap { height: 698px; } 
 #company-intro .company-subtitle .mb_re { display: block; } 
 #company-intro .company-title { margin-bottom: 3rem; } 
 #company-ci .logo-grid img { width: 100%; } 
 #company-ci .color-box { width: 72px; height: 72px; } 
 #company-ci .image-item.logo-design img { max-width: 160px; top: 51%; } 
 .image-row.grid .image-item:last-child { max-height: 320px; top: 62%; } 
 .image-row.grid .image-item:first-child { max-height: 413px; } 
 .image-row.logo .image-item { max-height: 274px; } 
 #company-ci .color-boxes { top: 60%; } 
 .keywords-container { top: 65%; } 
 .image-full:last-child { margin-bottom: 4rem; } 
 .image-row.grid .ci-section { margin-bottom: 2rem; } 
 #company-stat .stat-wrap .states p { font-size: var(--xlarge-font); } 
 #company-stat .stat-wrap .states strong { font-size: var(--small-font); } 
 #company-stat .stat-wrap h3 { margin-bottom: 3rem; } 
 .image-row.grid:nth-child(2) { padding-bottom: 4.2rem; } 
 #company-ci .image-row.logo .image-item:nth-child(even) { max-height: 246px; } 
 }

 /* ---------------------------- location ----------------------------*/
#location p { margin: 0px; } 
#location { max-width: 1600px; width: 90%; margin: 0 auto; padding: 0; } 
#location .location-full { margin-bottom: 50px; } 
#location .location-full .map-area { height: 540px; width: 100%; background: #efefef; } 
#location .location-full .map-area iframe { width: 100%; height: 100%; } 
#location .location-full .location-info td, #location .location-full .location-info th { color: var(--normal-gray); } 
#location .location-full .location-info th { width: 50px; } 
#location .branch-list .branch-info, #location .location-full .location-info { padding: 40px; border: 1px solid #e6e6e6; } 
#location .branch-list .branch-info h3, #location .location-full .location-info h3 { font-size: var(--semi-large-font); color: var(--normal-black); font-weight: 600; } 
#location .branch-list { padding: 0px; margin: 0px; display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 60px; } 
#location .branch-list .branch-img { height: 330px; } 
#location .branch-info p { font-size: var(--micro-font); } 
#location .branch-list li { cursor: pointer; } 
#location .branch-list li:nth-child(1) .branch-img { background: url('/theme/annecy/img/location/loca_poland.png') no-repeat center / cover; } 
#location .branch-list li:nth-child(2) .branch-img { background: url('/theme/annecy/img/location/loca_ru.png') no-repeat center / cover; } 
#location .branch-list li:nth-child(3) .branch-img { background: url('/theme/annecy/img/location/loca_vt.png') no-repeat center / cover; } 
#location .branch-list .branch-info { height: 165px; position: relative; } 
#location .branch-list .branch-info p { width: calc(100% - 50px); color: var(--normal-gray); } 
#location .branch-list .branch-info .bi-geo-alt-fill { font-size: 35px; position: absolute; right: 37px; top: 50%; transform: translateY(-50%); cursor: pointer; } 
.map-modal { display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6); } 
.map-modal-content { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 800px; height: 500px; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); opacity: 0; animation: fadeInOpacity 0.3s ease forwards; } 
.map-modal-content iframe { width: 100%; height: 100%; border: none; } 
.map-close { position: absolute; top: 0; right: 18px; font-size: 34px; font-weight: bold; color: #555; cursor: pointer; z-index: 10; } 
@keyframes fadeIn { 
 from { opacity: 0; transform: translateY(-10px); } 
 to { opacity: 1; transform: translateY(0); } 
 }
@keyframes fadeInOpacity { 
 0% { opacity: 0; } 100% { opacity: 1; } 
 }
@media screen and (max-width: 1400px){
 #location .branch-list { display: flex; flex-direction: column; row-gap: 50px; } #location .location-full .map-area, #location .branch-list .branch-img { height: 50vw; } 
 }
@media screen and (max-width: 768px){
 #location .branch-list .branch-info, #location .location-full .location-info { padding: 2rem 20px; } 
 }
@media screen and (max-width: 480px){
 #location .branch-list .branch-info h3, #location .location-full .location-info h3 { font-size: var(--medium-font); } table { font-size: 14px; } #location .branch-list .branch-info .bi-geo-alt-fill { right: 12px; top: 80%; } 
 }

 /* ---------------------------- history ----------------------------*/
 .history-container { max-width:1600px; width:90%; margin:0 auto; display:flex; padding:7rem 0 0; } 
.history-container .year-wrap { width:30%; } 
.history-container .year-wrap .year { position:sticky; top:150px; } 
.history-container .year-wrap .year h2 { font-size: var(--huge-title-font); font-weight:700; } 
.history-container .history li { padding:16px 0; display:flex; align-items: flex-start; } 
.history-container .history .month { display:inline-block; color:var(--main-color); font-size:var(--medium-font); font-weight:700; margin-right:40px; width:25px; } 
.history-container .history .history-txt { display:block; color:var(--medium-font); font-size:var(--medium-font); font-weight:500; } 
.history br { padding:16px 0; content:""; display:block; } 
.history-txt-wrap { display:flex; flex-direction:column; gap:6px; } 
.history-container:first-child { padding:0; } 
.history { width: 70%; } 
@media screen and (max-width: 1024px){
 .history-container .year-wrap .year h2 { line-height: normal; margin-bottom: 0; font-size: var(--main-section-title-font); } 
 .history-container .history .month { margin-right: 30px; } 
 .history-container { padding: 4rem 0 0; } 
 }

@media screen and (max-width: 480px){
 .history-container .history .month { margin-right: 10px; } 
 .history-container { padding: 3rem 0 0; flex-direction: column; } 
 .history-container .year-wrap, .history { width: 100%; } 
 .history-container .history .history-txt { font-size: var(--small-font); } 
 .history-container .year-wrap .year h2 { font-size: var(--xlarge-font); } 
 }