@charset "UTF-8";
:root{--ink:#171717;--orange:#d65d2b;--gold:#d7a354;--soft:#f8f7f4;--line:#e4e4e4;--pad:clamp(25px,5vw,80px)}

*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;color:var(--ink);background:#fff;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #d65d2b;outline-offset:5px}::selection{background:#f0c8ad}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:-70px;left:15px;background:#fff;padding:14px;border:1px solid #222}.skip-link:focus{top:10px}.content-width{width:100%;max-width:1120px;margin-left:auto;margin-right:auto}.site-header{position:sticky;top:0;z-index:30;height:80px;display:flex;align-items:center;background:#fff;padding-left:35px;border-bottom:1px solid #eee}.brand{width:230px;flex-shrink:0;margin-right:auto}.brand img{filter:brightness(0);width:100%;height:auto}.desktop-nav{display:flex;align-items:stretch;height:100%;gap:0;margin-right:22px}.desktop-nav a{padding:0 18px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;line-height:1.3;font-weight:700;white-space:nowrap;transition:color .2s}.desktop-nav a>span{font-family:Arial,sans-serif;color:#b68545;font-size:9px;font-weight:400}.desktop-nav a:hover{color:var(--orange)}.header-recruit{height:100%;width:120px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:700;line-height:1.3;color:white;background:var(--orange);transition:background .2s;flex-shrink:0}.header-recruit>span:first-child{font-family:Arial,sans-serif;font-size:9px;font-weight:400}.header-recruit:hover{background:#bd4d20}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}.hero{position:relative;min-height:600px;height:calc(100svh - 80px);max-height:850px;overflow:hidden;background:#343539;color:white}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 45%}.hero-shade{position:absolute;inset:0;background:linear-gradient(105deg,rgba(20,22,35,.70) 0%,rgba(32,29,41,.42) 53%,rgba(26,34,32,.22) 100%)}.hero-content{position:absolute;top:50%;left:5.5%;transform:translateY(-48%)}.hero h1{font-size:clamp(48px,7.4vw,112px);font-weight:800;line-height:1.53;letter-spacing:.045em;text-shadow:0 1px 15px #00000012}.hero-content p{font-size:14px;letter-spacing:.06em;line-height:2.2;margin-top:26px;font-weight:500}.hero-scroll{position:absolute;bottom:0;left:5.8%;display:flex;align-items:center;gap:20px;writing-mode:vertical-rl;font:9px Arial,sans-serif;letter-spacing:.1em;height:100px}.scroll-line{display:block;width:1px;height:61px;background:#ffffff80}.recruit-news{background:#fff;border-bottom:1px solid #ececec;padding:0 var(--pad)}.recruit-news-inner{max-width:1040px;margin:0 auto;min-height:83px;display:flex;align-items:center;gap:30px;font-size:13px}.news-label{border:1px solid var(--orange);color:#b94c22;font-size:11px;padding:5px 15px;flex-shrink:0}.recruit-news p{font-size:13px;line-height:1.8}.recruit-news a{margin-left:auto;display:flex;align-items:center;gap:28px;font-size:12px;white-space:nowrap}.recruit-news a span{font-size:23px;font-weight:400}.section{padding:110px var(--pad) 120px}.section-title{text-align:center;margin-bottom:35px}.section-title h2{font-family:Arial,Helvetica,sans-serif;font-size:65px;font-weight:700;letter-spacing:-.035em;line-height:1.1}.section-title h2:after{content:"";display:block;width:88px;height:4px;background:var(--gold);margin:19px auto 35px}.section-title>p{font-size:15px;font-weight:700;line-height:1.9}.section-description{text-align:center;font-size:14px;line-height:2.1;margin-bottom:55px;letter-spacing:.02em}.about{padding-top:105px;padding-bottom:110px}.about .section-title{margin-bottom:38px}.statement{text-align:center;font-size:36px;line-height:1.8;letter-spacing:.05em;margin:0 auto 27px}.about-copy{max-width:850px;margin:0 auto;text-align:center;font-size:14px;line-height:2.3;letter-spacing:.03em}.about-copy p+p{margin-top:14px}.outline-button{position:relative;display:flex;justify-content:center;align-items:center;max-width:280px;min-height:56px;padding:15px 34px;margin:40px auto 0;border:1px solid #aaa;font-size:12px;font-weight:700;transition:background .2s,border-color .2s}.outline-button>span:not(.sr-only){position:absolute;right:20px;font:23px Arial,sans-serif;top:50%;transform:translateY(-50%)}.outline-button:hover{background:#f7f5f0;border-color:var(--ink)}.service{background:var(--soft)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.service-item{background:white;min-width:0}.service-image{overflow:hidden;aspect-ratio:1.5}.service-image img{height:100%;width:100%;object-fit:cover}.service-item:first-child .service-image img{object-position:50% 60%}.service-body{padding:26px 25px 27px}.service-en{font:11px Arial,sans-serif;color:#a17236;letter-spacing:.02em;margin-bottom:11px}.service-body h3{font-size:19px;line-height:1.8;letter-spacing:.015em;min-height:68px}.service-copy{font-size:12px;line-height:2.1;margin-top:17px;text-align:justify}.service-platforms{font-size:9px;color:#666;border-top:1px solid #eee;padding-top:15px;margin-top:20px;line-height:1.9}.ec-scope{background:#fff;padding:23px 25px;margin-top:32px;display:flex;gap:25px;align-items:center;justify-content:center}.ec-scope h3{font-size:12px;white-space:nowrap}.ec-scope p{font-size:11px;line-height:2;color:#555}.ec-scope p span{padding:0 10px;color:#bababa}.people .section-description{margin-bottom:52px}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.story{display:block;min-width:0}.story-image{aspect-ratio:990/420;overflow:hidden;background:#ddd}.story-image img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.story:hover .story-image img{transform:scale(1.035)}.story-category{font-size:10px;color:#a17236;line-height:1.8;margin:19px 0 10px}.story h3{font-size:16px;line-height:1.9;letter-spacing:.01em}.story-name{font-size:11px;line-height:1.8;color:#666;margin-top:13px}.story-more{font-size:11px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd;padding:19px 0 12px;margin-top:6px}.story-more>span{font:21px Arial,sans-serif}.people .outline-button{margin-top:55px;max-width:300px}.recruit{background:linear-gradient(#1c2330e8,#20232ce8),url('ad-planning.jpg') center 48%/cover;color:white;text-align:center;padding-top:90px;padding-bottom:95px}.recruit .section-title{margin-bottom:32px}.recruit .section-title h2:after{background:var(--gold)}.recruit h3{font-size:34px;line-height:1.7;letter-spacing:.04em}.recruit-lead{font-size:17px;font-weight:700;line-height:1.9;margin-top:23px}.recruit-copy{font-size:13px;line-height:2.2;letter-spacing:.025em;margin-top:17px;color:#eee}.recruit-button{position:relative;display:flex;align-items:center;justify-content:center;width:330px;max-width:100%;min-height:64px;background:var(--orange);margin:34px auto 0;padding:17px 35px;color:#fff;font-size:13px;font-weight:700;transition:background .2s}.recruit-button>span:not(.sr-only){position:absolute;right:23px;top:50%;transform:translateY(-50%);font:25px Arial,sans-serif}.recruit-button:hover{background:#bd4d20}.company{padding-top:105px;padding-bottom:115px}.company .section-title{margin-bottom:55px}.company-table{max-width:850px;margin:0 auto}.company-table>div{display:grid;grid-template-columns:160px 1fr;gap:35px;border-bottom:1px solid #ddd;padding:26px 20px;font-size:13px;line-height:2}.company-table>div:first-child{border-top:1px solid #ddd}.company-table dt{font-weight:700}.company-table dd{margin:0}.footer{position:relative;background:#191919;color:#fff;padding:60px var(--pad) 28px}.footer-inner{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;row-gap:25px}.footer-brand{width:260px;display:block;align-self:center}.footer-brand img{height:auto}.footer nav{display:flex;flex-wrap:wrap;gap:23px;font-size:10px;line-height:1.8;align-content:center;justify-content:flex-end}.footer nav a:hover{color:#ddaa72}.footer-company{font-size:10px;color:#c5c5c5;margin-top:5px}.footer small{font:9px Arial,sans-serif;letter-spacing:.02em;text-align:right;color:#aaa;align-self:end}.back-top{position:absolute;right:25px;top:-23px;width:46px;height:46px;background:#252525;color:white;text-align:center;font:30px/54px Arial,sans-serif}.mobile-br{display:none}
@media(min-width:1600px){.hero-content{left:8%}.hero-scroll{left:8.3%}.hero h1{font-size:112px}.hero-content p{font-size:16px}}
@media(max-width:1100px){.site-header{padding-left:25px}.brand{width:195px}.desktop-nav{margin-right:14px}.desktop-nav a{padding:0 13px;font-size:11px}.header-recruit{width:105px}.hero h1{font-size:7.5vw}.hero-content p{font-size:13px}.service-grid,.story-grid{gap:24px}.service-body{padding:23px 20px}.service-body h3{font-size:17px}.service-copy{font-size:11px}.service-platforms{font-size:8px}.ec-scope{gap:17px}.ec-scope p{font-size:10px}.ec-scope p span{padding:0 5px}.story h3{font-size:14px}.story-name{font-size:10px}.footer nav{gap:17px}}
@media(max-width:800px){html{scroll-padding-top:70px}.site-header{height:70px;padding-left:22px}.brand{width:205px}.desktop-nav{display:none}.header-recruit{width:92px;margin-left:auto;font-size:10px;gap:5px}.header-recruit>span:first-child{font-size:8px}.menu-toggle{width:65px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:white;border:0;cursor:pointer}.menu-toggle>span{display:block;width:23px;height:1px;background:#222;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-6px) rotate(-45deg)}.mobile-menu{position:fixed;top:70px;left:0;right:0;background:#fff;z-index:29;padding:16px 25px 28px;box-shadow:0 12px 20px #00000010}.mobile-menu a{display:block;font-size:13px;padding:17px 4px;border-bottom:1px solid #eee}.hero{height:calc(88svh - 70px);min-height:540px;max-height:760px}.hero-content{left:6%;right:5%;top:48%}.hero h1{font-size:8vw;letter-spacing:.025em;line-height:1.65}.hero-content p{font-size:11px;line-height:2.1;margin-top:25px}.hero-scroll{left:6.4%;font-size:8px;height:83px}.scroll-line{height:49px}.section{padding:80px 25px 85px}.section-title h2{font-size:54px}.section-title h2:after{width:75px;height:3px;margin:17px auto 27px}.section-title>p{font-size:13px}.section-title{margin-bottom:28px}.section-description{font-size:12px;line-height:2.1;margin-bottom:38px}.recruit-news{padding:0 25px}.recruit-news-inner{min-height:80px;gap:18px}.news-label{font-size:10px;padding:4px 10px}.recruit-news p{font-size:11px}.recruit-news a{font-size:10px;gap:15px}.statement{font-size:28px;line-height:1.7;margin-bottom:23px}.about-copy{font-size:12px;line-height:2.2;max-width:680px}.outline-button{min-height:52px;font-size:11px;margin-top:30px;max-width:260px}.service-grid{gap:18px}.service-body{padding:20px 16px}.service-en{font-size:9px;margin-bottom:10px}.service-body h3{font-size:14px;line-height:1.8;min-height:52px}.service-copy{font-size:10px;line-height:2}.service-platforms{font-size:8px;margin-top:17px;padding-top:12px}.ec-scope{display:block;text-align:center;padding:20px 16px;margin-top:24px}.ec-scope h3{font-size:11px;margin-bottom:9px}.ec-scope p{font-size:10px}.story-grid{gap:18px}.story-category{font-size:9px;margin-top:15px}.story h3{font-size:12px;line-height:1.9}.story h3 br{display:none}.story-name{font-size:9px;line-height:1.8}.story-more{font-size:9px;padding-top:13px}.people .outline-button{margin-top:40px;max-width:280px}.recruit{padding-top:75px;padding-bottom:80px}.recruit h3{font-size:28px;line-height:1.8}.recruit-lead{font-size:15px;margin-top:22px}.recruit-copy{font-size:11px;line-height:2.2}.recruit-button{font-size:12px;min-height:59px;width:310px}.company .section-title{margin-bottom:40px}.company-table>div{grid-template-columns:115px 1fr;gap:23px;padding:23px 10px;font-size:12px}.footer{padding:45px 25px 25px}.footer-inner{column-gap:25px;row-gap:23px}.footer-brand{width:220px}.footer nav{gap:12px;font-size:9px}.footer-company{font-size:9px}.footer small{font-size:8px}.back-top{right:20px}}
@media(max-width:560px){html{scroll-padding-top:64px}.site-header{height:64px;padding-left:17px}.brand{width:175px}.header-recruit{width:78px;font-size:10px}.menu-toggle{width:49px}.mobile-menu{top:64px;padding:10px 21px 24px}.hero{height:calc(90svh - 64px);min-height:520px;max-height:700px}.hero-image{object-position:57% center}.hero-shade{background:linear-gradient(105deg,#141828a6,#20202963)}.hero-content{left:23px;right:18px;top:45%;transform:translateY(-45%)}.hero h1{font-size:clamp(31px,8.7vw,47px);line-height:1.8;letter-spacing:.015em;font-weight:800;white-space:nowrap}.hero-content p{font-size:10px;letter-spacing:.015em;line-height:2.15;margin-top:23px;max-width:310px}.hero-content p br{display:block}.hero-scroll{left:25px;height:84px;font-size:7px;gap:15px}.scroll-line{height:52px}.recruit-news{padding:0 22px}.recruit-news-inner{min-height:108px;display:grid;grid-template-columns:auto 1fr;column-gap:15px;row-gap:0;align-content:center;padding:18px 0}.news-label{grid-row:1;align-self:center;font-size:9px;padding:4px 9px}.recruit-news p{font-size:11px;grid-column:2;grid-row:1;white-space:nowrap}.recruit-news a{font-size:10px;grid-column:2;justify-self:start;margin:8px 0 0;gap:20px}.recruit-news a span{font-size:20px}.section{padding:68px 22px 73px}.section-title{margin-bottom:28px}.section-title h2{font-size:47px;line-height:1.1}.section-title h2:after{width:65px;height:3px;margin:16px auto 25px}.section-title>p{font-size:12px;line-height:1.9}.section-description{font-size:11px;line-height:2;margin-bottom:32px;letter-spacing:0}.about .section-title{margin-bottom:29px}.statement{font-size:27px;line-height:1.8;margin-bottom:23px;letter-spacing:.025em}.about-copy{font-size:12px;line-height:2.15;text-align:left;letter-spacing:0}.about-copy p+p{margin-top:17px}.outline-button{font-size:11px;min-height:53px;margin-top:29px;width:260px;max-width:100%}.service-grid{grid-template-columns:1fr;gap:27px;max-width:440px}.service-image{aspect-ratio:1.65}.service-item:first-child .service-image img{object-position:50% 58%}.service-body{padding:23px 23px 25px}.service-en{font-size:10px;margin-bottom:8px}.service-body h3{font-size:20px;line-height:1.7;min-height:0}.service-copy{font-size:12px;line-height:2.05;margin-top:14px}.service-platforms{font-size:10px;padding-top:14px;margin-top:17px}.ec-scope{padding:23px 18px;max-width:440px}.ec-scope h3{font-size:12px;margin-bottom:12px}.ec-scope p{font-size:11px;line-height:2.3}.ec-scope p span{padding:0 7px}.story-grid{grid-template-columns:1fr;gap:35px;max-width:440px}.story-category{font-size:10px;margin:17px 0 8px}.story h3{font-size:16px;line-height:1.85}.story h3 br{display:block}.story-name{font-size:11px;margin-top:11px}.story-more{font-size:11px;padding:15px 0 12px;margin-top:4px}.people .outline-button{margin-top:35px;width:280px}.recruit{padding-top:65px;padding-bottom:70px}.recruit .section-title{margin-bottom:28px}.recruit h3{font-size:27px;line-height:1.9;letter-spacing:.02em}.recruit-lead{font-size:13px;line-height:1.8;margin-top:23px}.recruit-copy{font-size:11px;line-height:2.2;letter-spacing:0;margin-top:16px}.recruit-button{width:310px;max-width:100%;min-height:59px;font-size:12px;margin-top:28px;padding:17px 31px}.recruit-button>span:not(.sr-only){right:18px}.company .section-title{margin-bottom:34px}.company-table>div{grid-template-columns:62px 1fr;gap:18px;padding:21px 0;font-size:11px;line-height:2}.footer{padding:42px 22px 25px}.footer-inner{display:block}.footer-brand{width:215px}.footer nav{margin-top:30px;justify-content:flex-start;gap:15px 23px;font-size:10px}.footer-company{font-size:10px;margin-top:31px;line-height:1.8}.footer small{display:block;text-align:left;font-size:8px;margin-top:24px}.back-top{width:40px;height:40px;font-size:27px;line-height:47px;right:17px;top:-20px}.desktop-br{display:none}.mobile-br{display:block}}
@media(max-width:360px){.site-header{padding-left:14px}.brand{width:151px}.header-recruit{width:73px}.menu-toggle{width:44px}.hero-content{left:19px;right:15px}.hero h1{font-size:8.65vw}.hero-content p{font-size:9px;max-width:265px}.hero-scroll{left:21px}.recruit-news{padding:0 18px}.recruit-news p{font-size:10px}.recruit-news-inner{column-gap:11px}.section{padding-left:19px;padding-right:19px}.section-title h2{font-size:43px}.section-title>p{font-size:11px}.statement{font-size:25px}.service-body{padding-left:20px;padding-right:20px}.recruit h3{font-size:24px}.recruit-lead{font-size:12px}.recruit-copy{font-size:10px}.company-table>div{gap:12px;grid-template-columns:56px 1fr;font-size:10px}.footer nav{font-size:9px;gap:14px 19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.service-detail-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 18px;
  padding-top: 15px;
  border-top: 1px solid var(--line);
  font-size: 11px;
  font-weight: 700;
}

.service-detail-link span {
  font: 22px Arial, sans-serif;
}

.service-details {
  margin-top: 65px;
  padding: 45px 40px 25px;
  background: #fff;
}

.service-details-intro h3 {
  margin: 12px 0 19px;
  font-size: 30px;
  line-height: 1.7;
  letter-spacing: .025em;
}

.service-details-intro > p:last-child {
  font-size: 13px;
  line-height: 2.1;
}

.service-support-list {
  margin: 30px 0 0;
}

.service-support-list > div {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 30px;
  padding: 24px 0;
  border-top: 1px solid var(--line);
  font-size: 13px;
  line-height: 2;
}

.service-support-list dt {
  font-weight: 700;
}

.service-support-list dd {
  margin: 0;
}

.faq {
  border-bottom: 1px solid var(--line);
}

.faq-list {
  max-width: 850px;
  margin: 45px auto 0;
  border-top: 1px solid var(--line);
}

.faq-list details {
  border-bottom: 1px solid var(--line);
}

.faq-list summary {
  position: relative;
  padding: 25px 40px 25px 0;
  list-style: none;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.9;
  cursor: pointer;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::after {
  content: "+";
  position: absolute;
  right: 5px;
  top: 25px;
  font: 25px Arial, sans-serif;
  color: #a17236;
}

.faq-list details[open] summary::after {
  content: "−";
}

.faq-list summary:focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 3px;
}

.faq-answer {
  padding: 0 40px 25px 0;
  font-size: 13px;
  line-height: 2.1;
}

.faq-answer a {
  display: inline-block;
  margin-top: 15px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.faq-answer a span:not(.sr-only) {
  padding-left: 15px;
  font: 20px Arial, sans-serif;
}

@media (max-width: 800px) {
  .service-details {
    margin-top: 45px;
    padding: 35px 25px 15px;
  }

  .service-details-intro h3 {
    font-size: 26px;
  }

  .service-details-intro > p:last-child {
    font-size: 12px;
  }

  .service-support-list > div {
    grid-template-columns: 185px 1fr;
    gap: 20px;
    font-size: 12px;
  }
}

@media (max-width: 560px) {
  .faq-list {
    margin-top: 32px;
  }

  .faq-list summary {
    padding: 21px 30px 21px 0;
    font-size: 13px;
  }

  .faq-list summary::after {
    top: 22px;
    right: 0;
  }

  .faq-answer {
    padding-right: 5px;
    font-size: 12px;
  }

  .faq-answer a {
    font-size: 11px;
  }

  .service-details {
    margin-top: 35px;
    padding: 28px 22px 8px;
    max-width: 440px;
  }

  .service-details-intro h3 {
    font-size: 23px;
  }

  .service-support-list {
    margin-top: 25px;
  }

  .service-support-list > div {
    display: block;
    padding: 21px 0;
  }

  .service-support-list dt {
    font-size: 14px;
    margin-bottom: 9px;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .scroll-reveal { transition: opacity .58s ease-out, transform .58s ease-out; }
  .awaiting-reveal { opacity: 0; transform: translateY(12px); }
  .awaiting-reveal:focus, .awaiting-reveal:focus-within { opacity: 1; transform: none; }
}

.mobile-menu a:hover,.mobile-menu a:focus-visible{color:var(--orange)}
