/* ==========================================================
   Work & People — style.css
   旧サイト（WordPress）のデザインを踏襲して独自に組み直したもの
   ========================================================== */
:root{
  --mincho:"Times New Roman","游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","HGS明朝E","ＭＳ Ｐ明朝","MS PMincho",serif;
  --gothic:Arial,"Hiragino Sans","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","游ゴシック","YuGothic","メイリオ",Meiryo,sans-serif;
  --black:#000;
  --dark:#333;
  --gray:#999;
  --line:#ddd;
  --band:#f6f6f6;
  --pad:60px;
  --arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--black);font-family:var(--mincho);font-size:16px;line-height:1;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #333;outline-offset:3px}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pc_only{display:block}.sp_only{display:none}
span.pc_only{display:inline}

/* 見出しの共通形（英字の大見出し＋日本語のサブタイトル） */
.large_headline{font-family:var(--gothic);font-size:70px;font-weight:600;line-height:1.2}
.sub_title{margin-top:10px;font-size:18px;line-height:1.4;color:var(--dark)}

/* 矢印ボタン */
.arrow_button{display:inline-block;flex:0 0 auto;width:50px;height:50px;border-radius:50%;background:var(--dark) var(--arrow) center/16px no-repeat;transition:background-color .3s}
.arrow_link{display:inline-flex;align-items:center;gap:20px;font-size:18px;color:var(--dark)}
.arrow_link:hover .arrow_button{background-color:#666}
.more_row{margin-top:60px;padding:0 var(--pad);text-align:right}

/* ---------- ヘッダー ---------- */
#header{position:sticky;top:0;z-index:300;height:80px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 60px 0 40px}
#header_logo{display:block;width:360px}
#header_logo img{width:100%}
#global_menu ul{display:flex;list-style:none}
#global_menu a{display:block;padding:0 20px;font-size:18px;line-height:80px;transition:color .3s}
#global_menu a:hover,#global_menu a[aria-current="page"]{color:#666}
#drawer_menu_button{display:none}
#drawer_menu{display:none}
body.overlay_header #header{position:absolute;left:0;right:0;background:transparent;border-bottom-color:rgba(255,255,255,.3)}
body.overlay_header #global_menu a{color:#fff}

/* ---------- トップ：メインビジュアル ---------- */
#hero_text{height:410px;display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad)}
#hero_text .catch{font-family:var(--gothic);font-size:40px;font-weight:600;line-height:1.2}
#hero_text .desc{margin-top:15px;font-size:20px;line-height:1.8}
#hero_slider{position:relative;height:410px;overflow:hidden;background:#eee}
#hero_slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12);transition:opacity 2s ease,transform 8s linear}
#hero_slider img.active{opacity:1;transform:scale(1)}

/* ---------- セクション共通 ---------- */
.cb_section{padding:150px 0}
.cb_section.gray{background:var(--band)}
.design_header{display:flex;padding:0 var(--pad);margin-bottom:60px}
.design_header .title_area{width:50%;padding-right:50px}
.design_header .desc{width:50%;padding-left:50px;font-size:16px;line-height:2.6}
.design_header.no_desc .title_area{width:100%}

/* ---------- トップ：サービス（3枚のカード） ---------- */
.service_cards{display:flex;gap:5px;padding:0 var(--pad)}
.service_cards .item{position:relative;flex:1 1 0;display:block;color:#fff;overflow:hidden}
.service_cards .image_wrap{position:relative;height:537px;overflow:hidden}
.service_cards .image_wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s ease}
.service_cards .item:hover .image_wrap img{transform:scale(1.1)}
.service_cards .overlay{position:absolute;left:0;top:0;right:0;height:50%;background:linear-gradient(#000 0%,rgba(0,0,0,0) 100%);opacity:.6;z-index:2}
.service_cards .title_area{position:absolute;left:0;top:0;right:0;padding:40px;z-index:3}
.service_cards .bar_link,.who_cards .bar_link{position:absolute;left:0;right:0;bottom:0;z-index:3}
.service_cards .headline{font-size:50px;font-weight:600;line-height:1}
.service_cards .sub{margin-top:12px;font-size:18px;line-height:1.4}
.bar_link{position:relative;display:flex;align-items:center;height:60px;padding:0 70px 0 30px;background:var(--dark);color:#fff;font-size:18px;border-top:1px solid rgba(255,255,255,.3)}
.bar_link .label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bar_link::after{content:"";position:absolute;right:30px;top:50%;width:16px;height:16px;margin-top:-8px;background:var(--arrow) center/16px no-repeat;transition:transform .3s}
.item:hover .bar_link::after,.bar_link:hover::after{transform:translateX(5px)}

/* ---------- 記事カード（トップの横スクロール・一覧で共通） ---------- */
.post_card{display:block}
.post_card .image_link{display:block;position:relative;height:260px;margin-bottom:30px;border-radius:5px;overflow:hidden}
.post_card .image_link img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s ease}
.post_card:hover .image_link img{transform:scale(1.1)}
.category_button{display:inline-block;margin:0 5px 25px 0;padding:0 20px;font-size:14px;line-height:33px;color:var(--dark);background:#fff;border:1px solid var(--dark);border-radius:35px;transition:background-color .3s,color .3s}
a.category_button:hover{background:var(--dark);color:#fff}
.post_card .title{margin-bottom:20px;font-size:20px;font-weight:600;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post_card .title a:hover{text-decoration:underline}
.date{display:inline-flex;align-items:center;gap:5px;font-size:16px;color:var(--gray)}
.date::before{content:"";width:15px;height:15px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center/15px no-repeat}
.blog_carousel{display:flex;gap:50px;overflow-x:auto;padding:0 var(--pad) 30px;scroll-padding-inline:var(--pad);scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--dark) #ddd}
.blog_carousel::-webkit-scrollbar{height:3px}
.blog_carousel::-webkit-scrollbar-track{background:#ddd;margin:0 var(--pad)}
.blog_carousel::-webkit-scrollbar-thumb{background:var(--dark)}
.blog_carousel .post_card{flex:0 0 385px;scroll-snap-align:start}
.blog_list{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 48px;padding:0 var(--pad) 150px}
.blog_list .post_card .image_link{height:240px}

/* ---------- トップ：当社について（2枚） ---------- */
.who_cards{display:flex;gap:6px;padding:0 var(--pad)}
.who_cards .item{position:relative;flex:1 1 0;display:block;color:#fff;overflow:hidden}
.who_cards .image_wrap{position:relative;height:419px;overflow:hidden}
.who_cards .image_wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s ease}
.who_cards .item:hover .image_wrap img{transform:scale(1.1)}
.who_cards .overlay{position:absolute;left:0;top:0;right:0;height:50%;background:linear-gradient(#000 0%,rgba(0,0,0,0) 100%);opacity:.6;z-index:2}
.who_cards .headline{position:absolute;left:0;top:0;right:0;z-index:3;padding:35px 40px;font-size:22px;font-weight:600;line-height:1}

/* ---------- フッターのバナー ---------- */
#footer_banner{display:flex;border-top:1px solid var(--line)}
#footer_banner .item{position:relative;flex:1 1 0;height:250px;display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);overflow:hidden}
#footer_banner .item + .item{border-left:1px solid var(--line)}
#footer_banner .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.1);transition:opacity .5s,transform .75s}
#footer_banner .item::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.85);opacity:0;transition:opacity .5s}
#footer_banner .item:hover .bg{opacity:1;transform:scale(1)}
#footer_banner .item:hover::after{opacity:1}
#footer_banner .title,#footer_banner .sub_title{position:relative;z-index:2}
#footer_banner .title{display:flex;align-items:center;gap:15px;font-size:50px;line-height:1}
#footer_banner .sub_title{margin-top:10px;line-height:1}

/* ---------- フッター ---------- */
#footer{border-top:1px solid var(--line)}
#footer_inner{padding:100px var(--pad)}
#footer_logo{display:block;width:400px}
#footer_address{margin-top:17px;font-style:normal;line-height:2.6}
#footer_address a:hover{text-decoration:underline}
#footer_nav{margin-top:30px}
#footer_nav ul{display:flex;flex-wrap:wrap;gap:8px 30px;list-style:none;font-size:14px}
#footer_nav a:hover{text-decoration:underline}
#copyright{margin:0;padding:0 var(--pad);background:var(--dark);color:#fff;font-size:14px;line-height:60px}
#return_top{position:fixed;right:30px;bottom:30px;z-index:100;width:65px;height:65px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5M6 11l6-6 6 6'/%3E%3C/svg%3E") center/16px no-repeat;border:1px solid var(--line);opacity:0;pointer-events:none;transition:opacity .3s}
#return_top.show{opacity:1;pointer-events:auto}

/* ---------- 下層ページ共通 ---------- */
#bread_crumb{margin:38px 0 130px;padding:0 var(--pad);color:var(--dark)}
#bread_crumb ol{display:flex;flex-wrap:wrap;list-style:none;font-size:14px;line-height:60px}
#bread_crumb li{display:flex;align-items:center}
#bread_crumb li + li::before{content:"";flex:0 0 auto;width:6px;height:6px;margin:0 16px 0 12px;border-top:1px solid var(--dark);border-right:1px solid var(--dark);transform:rotate(45deg)}
#bread_crumb li.home a{display:inline-flex;align-items:center;gap:4px}
#bread_crumb li.home a::before{content:"";flex:0 0 auto;width:12px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M12 3 2 12h3v9h6v-6h2v6h6v-9h3z'/%3E%3C/svg%3E") center/12px no-repeat}
#bread_crumb a:hover{text-decoration:underline}
#page_header .design_header{margin:13px 0 147px}
.single #bread_crumb{margin-bottom:25px}
#page_contents{padding:0 var(--pad) 147px}
.post_row{display:flex;align-items:flex-start;gap:100px}
.post_row > *{flex:1 1 0;min-width:0}

/* ---------- 事業概要（一覧） ---------- */
.service_intro .desc_area{display:flex;padding:0 var(--pad)}
.service_intro .catch{width:50%;padding-right:50px;font-size:32px;font-weight:600;line-height:1.5}
.service_intro .desc{width:50%;padding-left:50px;font-size:16px;line-height:2.6}
.service_intro{padding-bottom:140px}
.service_header_image img{width:100%;height:530px;object-fit:cover}
.service_category{padding:140px 0}
.service_category.even{background:#f5f5f5}
.service_category .design_header{margin-bottom:0}
.service_category .desc_area{margin-top:60px;padding:0 var(--pad)}
.service_category .desc_area p{width:50%;padding-left:50px;font-size:16px;line-height:2.6}
.service_box{margin:50px var(--pad) 0;border:1px solid var(--line);background:#fff}
.service_box a{display:flex;align-items:center}
.service_box .image_wrap{position:relative;flex:0 0 50%;height:269px;overflow:hidden;margin:-1px}
.service_box .image_wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s ease}
.service_box a:hover .image_wrap img{transform:scale(1.1)}
.service_box .content{flex:1 1 50%;padding:0 30px}
.service_box .title{font-size:22px;font-weight:600;line-height:1.6;color:var(--dark)}
.service_box .text{margin-top:15px;font-size:16px;line-height:2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- 事業概要（個別） ---------- */
#service_header{position:relative;height:600px;color:#fff;overflow:hidden}
#service_header img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#service_header .overlay{position:absolute;inset:0;background:rgba(0,0,0,.3);z-index:2}
#service_header .category{position:absolute;left:0;right:0;top:246px;padding:0 var(--pad);z-index:3}
#service_header .large_headline{line-height:1}
#service_header .sub_title{margin-top:20px;color:#fff;line-height:1}
#service_header .title{position:absolute;left:0;right:0;top:520px;z-index:3;padding:0 var(--pad);font-size:34px;font-weight:600;line-height:80px;border-top:1px solid rgba(255,255,255,.3);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#service_header + #bread_crumb{margin:20px 0 0}
#service_main{padding:80px var(--pad) 110px}

/* ---------- 本文（記事・サービス詳細・プライバシーポリシー） ---------- */
.post_content{font-size:16px;line-height:2.6}
.post_content p{margin-bottom:32px}
.post_content h2{margin:96px 0 41.6px;font-size:32px;font-weight:600;line-height:1.4}
.post_content h3{margin:90px 0 39px;font-size:30px;font-weight:600;line-height:1.6}
.post_content h4{margin:60px 0 30px;font-size:22px;font-weight:600;line-height:1.6}
.post_content > :first-child{margin-top:0}
.post_content ul,.post_content ol{margin:0 0 32px 20.8px}
.post_content ul{list-style:circle}
.post_content li{line-height:2.2}
.post_content a{text-decoration:underline}
.post_content strong{font-weight:700}
.post_content hr{margin:16px 0;border:0;border-top:2px solid #808080}
.post_content .table-wrap{overflow-x:auto;margin-bottom:32px}
.post_content table{width:100%;border-collapse:collapse;line-height:2.2}
.post_content th,.post_content td{padding:8px;border:1px solid #000;vertical-align:top}
.post_content th{background:#f7f7f7;text-align:center;font-weight:400}
.post_content td{background:#fff}
.post_content figure{margin:0 0 32px}
.post_content blockquote{position:relative;margin:0 0 32px;padding:32px 38.4px;background:rgba(0,0,0,.02);color:rgba(0,0,0,.6)}
.post_content blockquote::before,.post_content blockquote::after{position:absolute;font-size:40px;line-height:1;color:rgba(0,0,0,.15);font-family:var(--gothic)}
.post_content blockquote::before{content:"\201C";left:10px;top:5px}
.post_content blockquote::after{content:"\201D";right:10px;bottom:-10px}
.post_content blockquote p:last-child{margin-bottom:0}
.post_content img{margin:0 0 32px;border-radius:5px}
#service_main .post_content h2:first-child{margin-top:0}

/* ---------- 記事 ---------- */
#main_content{display:grid;grid-template-columns:minmax(0,745px) 350px;justify-content:space-between;column-gap:65px;padding:0 var(--pad) 150px}
#single_post_header{grid-column:1;margin-bottom:58px}
#main_col{grid-column:1;min-width:0}
#side_col{grid-column:2;grid-row:2}
#single_post_header .title{font-family:var(--gothic);font-size:32px;font-weight:600;line-height:1.5}
#single_post_header .meta{margin-top:17px}
#single_post_header_image img{width:100%;border-radius:5px}
.single_share{display:flex;gap:5px;margin:50px 0 55px}
.single_share a{display:flex;align-items:center;justify-content:center;gap:6px;width:182px;height:40px;border-radius:3px;color:#fff;font-family:var(--gothic);font-size:13px}
.single_share .x{background:#000}
.single_share .fb{background:#3b5998}
.single_share a:hover{opacity:.8}
.side_box{border:1px solid var(--line)}
.side_box h2{height:60px;line-height:60px;padding:0 20px;font-size:16px;background:#f7f7f7;border-bottom:1px solid var(--line)}
.side_box ul{list-style:none;padding:20px}
.side_box li + li{margin-top:15px}
.side_box a{display:flex;gap:20px;align-items:center}
.side_box img{flex:0 0 100px;width:100px;height:100px;object-fit:cover}
.side_box .t{font-size:16px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.side_box a:hover .t{text-decoration:underline}
.related{padding:150px 0;background:var(--band)}

/* ---------- 記事一覧 ---------- */
#archive_header{display:flex;margin:-10px 0 150px;padding:0 var(--pad)}
#archive_header .large_headline{width:50%;padding-right:50px}
#archive_header .desc{width:50%;padding-left:50px;font-size:16px;line-height:2.6}
.category_tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;list-style:none;padding:0 var(--pad);margin-bottom:85px}
.category_tabs a{display:block;padding:0 25px;line-height:48px;border:1px solid var(--dark);border-radius:50px;transition:background-color .3s,color .3s}
.category_tabs a[aria-current="page"],.category_tabs a:hover{background:var(--dark);color:#fff}

/* ---------- 会社概要 ---------- */
.photo3{display:flex;justify-content:space-between;gap:4px;margin-bottom:50px}
.photo3 img{flex:1 1 0;min-width:0;height:416px;object-fit:cover}
#company_data{margin:55px 0 139px;border-collapse:collapse;width:100%;font-size:16px}
#company_data th{width:110px;padding:0 0 10px;font-weight:400;text-align:left;vertical-align:top;line-height:2.2}
#company_data td{padding:0 0 10px;line-height:2.2}
#company_access .design_header{padding:0;margin-bottom:60px}
.access_map{display:block;width:100%;height:450px;margin-bottom:50px;border:0;background:#ddd}
.access_info{display:flex;gap:100px;line-height:2.6}
.access_info > *{flex:1 1 0}
.access_info ul{list-style:none}

/* ---------- フォーム ---------- */
.contact_wrap{display:flex;align-items:flex-start;gap:50px}
.contact_wrap .image_space{flex:0 0 calc(50% - 25px)}
.contact_wrap .image_space img{width:100%;height:710px;object-fit:cover}
.form{flex:1 1 0;padding:22px 21px 0}
.form .field{margin-bottom:28px}
.form .field > label,.form legend{display:block;margin-bottom:8px;padding:0;font-size:16px;font-weight:700;line-height:1.6}
.form fieldset{border:0;margin:0;padding:0}
.form .req{font-weight:700}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{width:100%;padding:8px;font-family:inherit;font-size:16px;line-height:1.2;color:#000;background:#fff;border:1px solid #ccc;border-radius:0;-webkit-appearance:none;appearance:none}
.form select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 10px center/14px no-repeat;padding-right:32px}
.form textarea{height:300px;resize:vertical}
.form ::placeholder{color:#aaa}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;padding-left:16px}
.checks label{display:flex;align-items:flex-start;gap:6px;font-size:14px;line-height:2;cursor:pointer}
.checks input{margin-top:9px}
.consent{margin:0 0 10px;font-size:14px;line-height:2;text-align:center}
.consent a{text-decoration:underline}
.btn{display:block;width:225px;height:48px;margin:30px auto 0;font-family:inherit;font-size:14px;color:#fff;background:var(--dark);border:0;cursor:pointer;transition:background-color .3s}
.btn:hover{background:#666}
.form-error{margin-bottom:28px;padding:14px 18px;border:1px solid #c33;color:#c33;font-size:14px;line-height:1.8}
.hp{position:absolute;left:-9999px}
.message_page{line-height:2.6}
.message_page .arrow_link{margin-top:30px}

@media (prefers-reduced-motion:reduce){*{transition:none!important}#hero_slider img{transform:none!important}}

/* ==========================================================
   タブレット
   ========================================================== */
@media (max-width:1100px){
  :root{--pad:40px}
  #header{padding:0 30px}
  #header_logo{width:280px}
  #global_menu a{padding:0 14px;font-size:16px}
  .service_cards .headline{font-size:36px}
  .blog_list{grid-template-columns:repeat(2,1fr)}
  #side_col{display:none}
}

/* ==========================================================
   スマホ（必ずファイル末尾に置く）
   ========================================================== */
@media (max-width:767px){
  :root{--pad:20px}
  body{font-size:14px}
  .pc_only,span.pc_only{display:none}.sp_only{display:block}
  span.sp_only{display:inline}
  .single #bread_crumb{margin-bottom:10px}
  #header{height:60px;padding:0 0 0 20px}
  #header_logo{width:239px}
  #global_menu{display:none}
  #drawer_menu_button{display:block;position:relative;width:60px;height:60px;background:none;border:0;cursor:pointer}
  #drawer_menu_button span{position:absolute;left:19px;width:22px;height:2px;background:#000}
  #drawer_menu_button span:nth-child(1){top:22px}
  #drawer_menu_button span:nth-child(2){top:29px}
  #drawer_menu_button span:nth-child(3){top:36px}
  body.overlay_header #drawer_menu_button span{background:#fff}
  #drawer_menu{display:block;position:fixed;top:0;right:0;width:100%;height:100%;z-index:99999;background:#000;transform:translateX(100%);transition:transform .4s ease;padding-top:50px;overflow-y:auto}
  .menu-open #drawer_menu{transform:none}
  #drawer_menu ul{list-style:none}
  #drawer_menu a{display:block;padding:0 50px 0 20px;line-height:50px;color:#fff;font-size:14px;border-bottom:1px solid rgba(255,255,255,.2)}
  #drawer_close{position:absolute;top:0;right:0;width:50px;height:50px;background:none;border:0;cursor:pointer}
  #drawer_close::before,#drawer_close::after{content:"";position:absolute;left:14px;top:24px;width:22px;height:2px;background:#fff;transform:rotate(45deg)}
  #drawer_close::after{transform:rotate(-45deg)}
  .menu-open{overflow:hidden}

  .large_headline{font-size:30px;line-height:1.2}
  .sub_title{margin-top:7px;font-size:16px}
  .arrow_button{width:40px;height:40px;background-size:14px}
  .arrow_link{font-size:14px;gap:15px}
  .more_row{margin-top:40px}

  #hero_text{height:420px}
  #hero_text .catch{font-size:25px}
  #hero_text .desc{font-size:15px;line-height:1.8}
  #hero_slider{height:420px}

  .cb_section{padding:40px 0}
  .design_header{display:block;margin-bottom:35px}
  .design_header .title_area,.design_header .desc{width:auto;padding:0}
  .design_header .desc{margin-top:30px;font-size:14px;line-height:2}

  .service_cards{display:block}
  .service_cards .item + .item{margin-top:3px}
  .service_cards .image_wrap{height:276px}
  .service_cards .title_area{padding:30px 20px}
  .service_cards .headline{font-size:30px}
  .service_cards .sub{margin-top:10px;font-size:16px}
  .bar_link{height:50px;padding:0 50px 0 20px;font-size:16px}
  .bar_link::after{right:20px}

  .blog_carousel{gap:20px;padding-bottom:20px}
  .blog_carousel .post_card{flex-basis:260px}
  .post_card .image_link,.blog_list .post_card .image_link{height:176px;margin-bottom:20px}
  .category_button{margin-bottom:15px;font-size:12px;line-height:28px;padding:0 15px}
  .post_card .title{margin-bottom:13px;font-size:16px;line-height:1.6}
  .date{font-size:14px}
  .blog_list{grid-template-columns:1fr;gap:40px;padding-bottom:60px}

  .who_cards{display:block}
  .who_cards .item + .item{margin-top:3px}
  .who_cards .image_wrap{height:254px}
  .who_cards .headline{padding:25px 20px;font-size:18px;line-height:1.4}

  #footer_banner{display:block}
  #footer_banner .item{height:150px}
  #footer_banner .item + .item{border-left:0;border-top:1px solid var(--line)}
  #footer_banner .title{font-size:30px;gap:12px}
  #footer_banner .sub_title{font-size:14px}
  #footer_inner{padding:40px 20px 35px}
  #footer_logo{width:239px}
  #footer_address{line-height:2.2;font-size:13px}
  #copyright{line-height:50px;font-size:12px}
  #return_top{right:15px;bottom:15px;width:50px;height:50px}

  #bread_crumb{margin:0 0 20px}
  #bread_crumb ol{font-size:12px;line-height:50px;flex-wrap:nowrap;overflow:hidden;white-space:nowrap}
  #bread_crumb li:last-child{overflow:hidden;text-overflow:ellipsis;display:block}
  #page_header .design_header{margin:60px 0 60px}
  #page_contents{padding-bottom:60px}
  .post_row,.contact_wrap,.access_info{display:block}

  .service_intro .desc_area{display:block}
  .service_intro .catch,.service_intro .desc{width:auto;padding:0}
  .service_intro .catch{font-size:20px;margin-bottom:20px}
  .service_intro .desc{font-size:14px;line-height:2}
  .service_intro{padding-bottom:40px}
  .service_header_image img{height:250px}
  .service_category{padding:50px 0}
  .service_category .desc_area{margin-top:30px}
  .service_category .desc_area p{width:auto;padding:0;font-size:14px;line-height:2}
  .service_box{margin-top:30px}
  .service_box a{display:block}
  .service_box .image_wrap{height:200px;margin:0}
  .service_box .content{padding:20px}
  .service_box .title{font-size:18px}
  .service_box .text{font-size:14px}

  #service_header{height:400px}
  #service_header .category{top:130px}
  #service_header .sub_title{font-size:14px;line-height:1.6}
  #service_header .title{top:330px;font-size:18px;line-height:70px}
  #service_main{padding:40px 20px 60px}

  .post_content{font-size:14px;line-height:2}
  .post_content p{margin-bottom:28px}
  .post_content h2{margin:46px 0 20px;font-size:20px;line-height:1.4}
  .post_content h3{margin:40px 0 20px;font-size:18px;line-height:1.6}
  .post_content h4{margin:30px 0 15px;font-size:16px}
  .post_content blockquote{padding:25px 20px}

  #main_content{display:block;padding-bottom:60px}
  #side_col{display:none}
  #single_post_header{margin-bottom:30px}
  #single_post_header .title{font-size:20px;line-height:1.5}
  .single_share{margin:25px 0 30px}
  .single_share a{flex:1 1 0;width:auto}
  .related{padding:50px 0}

  #archive_header{display:block;margin:0 0 50px}
  #archive_header .large_headline,#archive_header .desc{width:auto;padding:0}
  #archive_header .desc{margin-top:20px;font-size:14px;line-height:2}
  .category_tabs{justify-content:flex-start;gap:8px;margin-bottom:40px}
  .category_tabs a{line-height:38px;padding:0 18px;font-size:13px}

  .photo3{flex-direction:column;gap:3px}
  .photo3 img{flex:none;width:100%;height:250px}
  #company_data{margin:30px 0 60px;font-size:14px}
  #company_data th{line-height:1.8}
  #company_data td{padding-left:40px;line-height:1.8}
  .access_map{height:300px;margin-bottom:30px}
  .access_info{line-height:2.2}

  .contact_wrap .image_space{display:none}
  .form{padding:0}
  .checks{grid-template-columns:1fr;padding-left:0}
  .btn{width:100%}
}
