@charset "UTF-8";
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
/* Normalization */
:root { -ms-overflow-style: -ms-autohiding-scrollbar; overflow-y: scroll; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

audio:not([controls]) { display: none; }

details { display: block; }

input[type="number"] { width: auto; }

input[type="search"] { -webkit-appearance: textfield; }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

main { display: block; }

summary { display: block; }

pre { overflow: auto; }

progress { display: inline-block; }

small { font-size: 75%; }

template { display: none; }

textarea { overflow: auto; }

[hidden] { display: none; }

[unselectable] { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

/* Universal inheritance */
*, ::before, ::after { box-sizing: inherit; }

* { font-size: inherit; line-height: inherit; }

::before, ::after { text-decoration: inherit; vertical-align: inherit; }

/* Opinionated defaults */
*, ::before, ::after { border-style: solid; border-width: 0; }

* { margin: 0; padding: 0; }

:root { box-sizing: border-box; cursor: default; font: 16px / 1.5 sans-serif; text-rendering: optimizeLegibility; }

html { background-color: #FFFFFF; }

a { text-decoration: none; }

audio, canvas, iframe, img, svg, video { vertical-align: middle; }

button, input, select, textarea { background-color: transparent; }

button, input, select, textarea { color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; }

button, [type="button"], [type="date"], [type="datetime"], [type="datetime-local"], [type="email"], [type="month"], [type="number"], [type="password"], [type="reset"], [type="search"], [type="submit"], [type="tel"], [type="text"], [type="time"], [type="url"], [type="week"], select, textarea { min-height: 1.5em; }

code, kbd, pre, samp { font-family: monospace, monospace; }

nav ol, nav ul { list-style: none; }

select { -moz-appearance: none; -webkit-appearance: none; }

select::-ms-expand { display: none; }

select::-ms-value { color: currentColor; }

table { border-collapse: collapse; border-spacing: 0; }

textarea { resize: vertical; }

::-moz-selection { background-color: #B3D4FC; text-shadow: none; }

::selection { background-color: #B3D4FC; text-shadow: none; }

@media screen { [hidden~="screen"] { display: inherit; }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) { clip: rect(0 0 0 0) !important; position: absolute !important; } }

/** Photoshopのトラッキングからletter-spacingを算出 */
/** placeholderのスタイルを設定 */
/** テキストを含むボックス向けに、font-sizeとline-heightを設定しつつ、上下の余白をトリミングする */
/** 1/2の値を設定するsize-text-box。単位なしの値を受け取る */
/** 750px以下ではPhotoshopでの指定サイズの半分にする */
html { background-color: #f6f6e9; }

body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-smoothing: antialiased; text-rendering: auto; font-size: 14px; font-family: fot-tsukuardgothic-std, TsukuARdGothic-Regular, sans-serif; -webkit-font-feature-settings: 'palt' 1; font-feature-settings: 'palt' 1; color: #222; background-color: #f6f6e9; min-width: 320px; }

.content.content-area { width: 1280px; margin: 0 auto; padding: 0 40px; background: #fff; }

.header { position: fixed; top: 0; left: 0; width: 100%; min-width: 1440px; z-index: 10; }

@media (max-width: 750px) { .header { min-width: 100%; }
  .header.is-closed:before { opacity: 0; visibility: hidden; }
  .header.is-closed .header-trigger .svg-hamburger { z-index: 0; opacity: 1; visibility: visible; transition: visibility 0.3s ease; }
  .header.is-closed .header-trigger .svg-close { z-index: 1; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }
  .header.is-closed .header-drawer { -webkit-transform: translateX(100%); transform: translateX(100%); }
  .header:before { content: ''; position: fixed; top: 0; left: 0; display: block; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.65); z-index: 11; opacity: 1; visibility: visible; transition: opacity 0.3s ease, visibility 0.3s ease; } }

.header a { color: inherit; text-decoration: none; }

.header ul { list-style: none; }

.header-top { position: relative; }

@media (max-width: 750px) { .header-top { position: fixed; } }

.header-top .header-inner { background: transparent; height: 120px; }

@media (max-width: 750px) { .header-top .header-inner { background: #fff; height: auto; } }

.header-top .header-fixed { width: 100%; justify-content: center; }

@media (max-width: 750px) { .header-top .header-fixed { width: auto; justify-content: space-between; } }

.header-top .header-fixed .svg-logo { width: 202px; height: 40px; }

@media (max-width: 750px) { .header-top .header-fixed .svg-logo { width: 125px; height: 25px; } }

.header-top .header-drawer { display: none; }

@media (max-width: 750px) { .header-top .header-drawer { display: block; } }

.header-inner { position: relative; width: 1280px; height: 60px; margin-left: auto; margin-right: auto; display: flex; justify-content: space-between; padding-left: 40px; padding-right: 40px; background: #fff; }

@media (max-width: 750px) { .header-inner { width: 100%; height: auto; display: block; padding-left: 0; padding-right: 0; } }

.header-fixed { display: flex; align-items: center; height: 100%; }

@media (max-width: 750px) { .header-fixed { padding-left: 10px; padding-right: 10px; justify-content: space-between; height: 50px; } }

.header-fixed .svg-logo { display: block; width: 140px; height: 27px; }

@media (max-width: 750px) { .header-fixed .svg-logo { width: 125px; height: 25px; } }

.header-trigger { display: none; }

@media (max-width: 750px) { .header-trigger { display: block; width: 30px; height: 30px; z-index: 20; position: relative; } }

.header-trigger .svg-hamburger, .header-trigger .svg-close { display: none; }

@media (max-width: 750px) { .header-trigger .svg-hamburger, .header-trigger .svg-close { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; cursor: pointer; } }

.header-trigger .svg-hamburger { z-index: 1; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }

.header-trigger .svg-close { z-index: 0; opacity: 1; visibility: visible; transition: visibility 0.3s ease; }

.header-drawer { display: flex; align-items: center; height: 100%; }

@media (max-width: 750px) { .header-drawer { position: fixed; top: 0; right: 0; -webkit-transform: translateX(0%); transform: translateX(0%); display: block; width: 68%; height: 100%; background: #fff; z-index: 12; transition: -webkit-transform 0.3s ease; transition: transform 0.3s ease; transition: transform 0.3s ease, -webkit-transform 0.3s ease; } }

.header-link-list { display: flex; align-items: center; height: 100%; margin-left: -31px; }

@media (max-width: 750px) { .header-link-list { display: block; height: auto; margin-left: 0; padding-top: 50px; } }

.header-link-item { margin-left: 31px; font-weight: bold; line-height: 1; }

@media (max-width: 750px) { .header-link-item { margin-left: 0; text-align: right; margin-top: 30px; padding-right: 10px; } }

.header-link-item > a:after { opacity: 0; }

.header-link-item > a:hover:after { opacity: 1; }

@media (max-width: 750px) { .header-link-item > a:hover:after { opacity: 0; } }

.header-link-item > span:after { opacity: 1; }

.header-link-text { font-size: 14px; letter-spacing: 0.06em; position: relative; }

@media (max-width: 750px) { .header-link-text { font-size: 16px; display: inline-block; vertical-align: top; } }

.header-link-text:after { content: ''; position: absolute; bottom: -10.5px; right: 0; display: block; width: 100%; height: 5.25px; background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAxMiI+DQogIDxwYXRoIGQ9Ik0wLDJjNi4yNSwwLDYuMjUsOCwxMi41LDhTMTguNzUsMiwyNSwyIiBmaWxsPSJub25lIiBzdHJva2U9IiMyMjIiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSI0Ii8+DQo8L3N2Zz4=); background-repeat: repeat-x; background-size: 10px 5px; transition: opacity 0.3s ease; pointer-events: none; }

@media (max-width: 750px) { .header-link-text:after { content: none; } }

.header-sns-list { display: flex; align-items: center; height: 100%; margin-left: 20px; }

@media (max-width: 750px) { .header-sns-list { display: block; height: auto; margin-left: 0; margin-top: 57px; } }

@media (max-width: 750px) { .header-sns-item { text-align: right; margin-top: 21px; padding-right: 10px; } }

.header-sns-item > a { display: block; width: 25px; height: 25px; margin-left: 13px; }

@media (max-width: 750px) { .header-sns-item > a { display: inline-block; vertical-align: top; width: 30px; height: 30px; margin-left: 0; } }

.header-sns-item > a:hover .svg-twitter circle { fill: #1DA1F2; }

.header-sns-item > a:hover .svg-facebook circle { fill: #3C5A99; }

.header-sns-item .svg-twitter, .header-sns-item .svg-facebook { display: block; width: 100%; height: 100%; }

.header-sns-item .svg-twitter circle, .header-sns-item .svg-facebook circle { fill: #222; transition: fill 0.3s ease; }

.footer { width: 100%; min-width: 1440px; }

@media (max-width: 750px) { .footer { min-width: 100%; } }

.footer a { color: inherit; text-decoration: none; }

.footer ul { list-style: none; }

.footer-inner { position: relative; width: 1280px; margin-left: auto; margin-right: auto; }

@media (max-width: 750px) { .footer-inner { width: 100%; } }

.footer-inner-upper { display: flex; justify-content: space-between; }

@media (max-width: 750px) { .footer-inner-upper { padding-top: 30px; padding-bottom: 122px; } }

.footer-inner-lower { display: flex; justify-content: flex-end; align-items: center; height: 100%; }

@media (max-width: 750px) { .footer-inner-lower { justify-content: flex-end; } }

.footer-upper { background: #222; height: 212px; padding-top: 40px; }

@media (max-width: 750px) { .footer-upper { height: auto; padding-top: 0; padding-left: 10px; padding-right: 10px; } }

.footer-upper .svg-logo-large { display: block; width: 140px; height: 47px; }

@media (max-width: 750px) { .footer-upper .svg-logo-large { width: 125px; height: 43px; } }

.footer-link-list { display: flex; height: 14px; margin-left: -24px; }

@media (max-width: 750px) { .footer-link-list { display: block; height: auto; margin-left: 0; margin-top: -27px; } }

.footer-link-item { margin-left: 24px; color: #fff; }

@media (max-width: 750px) { .footer-link-item { margin-top: 27px; margin-left: 0; text-align: right; height: 13px; } }

.footer-link-text { font-size: 14px; font-weight: bold; letter-spacing: 0em; line-height: 1; vertical-align: top; border-bottom: 1px solid rgba(255, 255, 255, 0); padding-bottom: 2px; transition: border-bottom-color 0.3s ease; }

.footer-link-text:hover { border-bottom-color: white; }

@media (max-width: 750px) { .footer-link-text { font-size: 13px; display: inline-block; } }

.footer-lower { background: #000; height: 28px; }

@media (max-width: 750px) { .footer-lower { height: 24px; padding-left: 10px; padding-right: 10px; } }

.footer-copyright { font-size: 12px; font-weight: bold; letter-spacing: 0em; line-height: 1; color: #666; }

@media (max-width: 750px) { .footer-copyright { font-size: 10px; } }

.main { padding-top: 60px; min-width: 1440px; width: 100%; }

@media (max-width: 750px) { .main { padding-top: 50px; min-width: 100%; } }

.main-top { padding-top: 0; }

@media (max-width: 750px) { .main-top { padding-top: 50px; } }

.main-top .main-inner { margin-top: 0; }

@media (max-width: 750px) { .main-top .main-inner { margin-top: 18px; } }

.main-contact-top .main-inner, .main-contact-confirm .main-inner, .main-contact-complete .main-inner { padding-top: 80px; padding-bottom: 120px; }

@media (max-width: 750px) { .main-contact-top .main-inner, .main-contact-confirm .main-inner, .main-contact-complete .main-inner { padding-top: 40px; padding-bottom: 60px; } }

.main-privacy-policy-top .main-inner { padding-top: 80px; padding-bottom: 120px; }

@media (max-width: 750px) { .main-privacy-policy-top .main-inner { padding-top: 40px; padding-bottom: 60px; } }

.main-inner { width: 1280px; margin: 40px auto; background: #fff; }

@media (max-width: 750px) { .main-inner { width: calc(100% - 20px); margin: 18px auto; } }

.main-visual-top, .main-visual-about, .main-visual-team, .main-visual-case-study-people, .main-visual-case-study-family, .main-visual-case-study-branding, .main-visual-case-study-local, .main-visual-case-study-top { width: 1280px; height: 600px; background-size: cover; background-position: center; position: relative; }

@media (max-width: 750px) { .main-visual-top, .main-visual-about, .main-visual-team, .main-visual-case-study-people, .main-visual-case-study-family, .main-visual-case-study-branding, .main-visual-case-study-local, .main-visual-case-study-top { width: 100%; height: 0; padding-bottom: 100%; } }

.main-visual-top { height: 640px; background-color: #f6f6e9; }

@media (max-width: 750px) { .main-visual-top { height: 0; } }

.main-visual-top .main-visual-copy { position: absolute; left: auto; right: 44px; bottom: 44px; text-align: right; }

@media (max-width: 750px) { .main-visual-top .main-visual-copy { left: auto; right: 10px; bottom: 40px; } }

.main-visual-top .main-visual-copy-row { margin-top: 9px; }

@media (max-width: 750px) { .main-visual-top .main-visual-copy-row { margin-top: 4px; } }

.main-visual-top .main-visual-copy-row-upper { padding-left: 0; padding-right: 0; font-size: 34px; line-height: 40px; -webkit-transform: translateX(-168px); transform: translateX(-168px); letter-spacing: 0.1em; }

.main-visual-top .main-visual-copy-row-upper .is-karned { letter-spacing: -1px; }

@media (max-width: 750px) { .main-visual-top .main-visual-copy-row-upper { padding-left: 2.5px; padding-right: 1.5px; font-size: 18px; line-height: 20px; -webkit-transform: none; transform: none; letter-spacing: 0.056em; } }

.main-visual-top .main-visual-copy-row-middle { padding-left: 0; padding-right: 0; font-size: 40px; line-height: 40px; letter-spacing: 0em; }

@media (max-width: 750px) { .main-visual-top .main-visual-copy-row-middle { padding-left: 2px; padding-right: 0; font-size: 18px; line-height: 20px; letter-spacing: 0.056em; } }

.main-visual-top .main-visual-copy-row-lower { padding-left: 5px; padding-right: 2px; font-size: 40px; line-height: 40px; letter-spacing: 0em; }

@media (max-width: 750px) { .main-visual-top .main-visual-copy-row-lower { padding-left: 3px; padding-right: 0; font-size: 18px; line-height: 20px; letter-spacing: 0.056em; } }

.main-visual-top .main-visual-btn.btn { position: absolute; bottom: 0; left: 40px; -webkit-transform: translateY(50%); transform: translateY(50%); z-index: 1; }

@media (max-width: 750px) { .main-visual-top .main-visual-btn.btn { left: 20px; } }

.main-visual-top .main-visual-image { opacity: 0; transition: opacity 0.3s ease; }

.main-visual-top .main-visual-image.is-active { opacity: 1; }

@media (max-width: 750px) { .main-visual-about .main-visual-copy-row, .main-visual-team .main-visual-copy-row, .main-visual-case-study-top .main-visual-copy-row, .main-visual-case-study-branding .main-visual-copy-row, .main-visual-case-study-family .main-visual-copy-row, .main-visual-case-study-local .main-visual-copy-row, .main-visual-case-study-people .main-visual-copy-row { margin-top: 6px; padding-left: 3.6px; padding-right: 3.6px; font-size: 18px; line-height: 1.2; } }

.main-visual-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; }

.main-visual-copy { position: absolute; bottom: 40px; left: 40px; }

@media (max-width: 750px) { .main-visual-copy { bottom: 20px; left: 20px; } }

.main-visual-copy-row { display: inline-block; margin-top: 4px; padding-left: 5px; padding-right: 7px; font-size: 36px; line-height: 44px; letter-spacing: 0em; background: #fff; font-weight: bold; vertical-align: bottom; }

@media (max-width: 750px) { .main-visual-copy-row { margin-top: 5px; padding-left: 3px; padding-right: 3px; font-size: 15px; line-height: 18px; } }

.main-visual-heading { position: absolute; top: 40px; left: 40px; display: inline-block; font-size: 16px; line-height: 28px; background: #222; color: #fff; padding-left: 9px; padding-right: 9px; }

@media (max-width: 750px) { .main-visual-heading { top: 20px; left: 20px; font-size: 13px; line-height: 17px; padding-left: 4px; padding-right: 4px; } }

.br-pc { display: inline; }

@media (max-width: 750px) { .br-pc { display: none; } }

.br-sp { display: none; }

@media (max-width: 750px) { .br-sp { display: inline; } }

.only-pc-block { display: block; }

@media (max-width: 750px) { .only-pc-block { display: none; } }

.only-pc-inline-block { display: inline-block; }

@media (max-width: 750px) { .only-pc-inline-block { display: none; } }

.only-pc-inline { display: inline; }

@media (max-width: 750px) { .only-pc-inline { display: none; } }

.only-pc-flex { display: flex; }

@media (max-width: 750px) { .only-pc-flex { display: none; } }

.only-sp-block { display: none; }

@media (max-width: 750px) { .only-sp-block { display: block; } }

.only-sp-inline-block { display: none; }

@media (max-width: 750px) { .only-sp-inline-block { display: inline-block; } }

.only-sp-inline { display: none; }

@media (max-width: 750px) { .only-sp-inline { display: inline; } }

.only-sp-flex { display: none; }

@media (max-width: 750px) { .only-sp-flex { display: flex; } }

.clearfix { zoom: 1; }

.clearfix:before, .clearfix:after { content: " "; display: table; }

.clearfix:after { clear: both; }

@keyframes figured-list-item { 0% { opacity: 1; }
  50% { opacity: .85; }
  100% { opacity: 1; } }

.header-sns-item a:hover{-webkit-animation:figured-list-item .3s ease;animation:figured-list-item .3s ease}@media screen and (max-width:750px){
.header-sns-item a:hover{-webkit-animation:none;animation:none}}