@charset 'utf-8';

:root {
	/* Brand Colors */
  --color-logo-dark: #001912;
  --color-logo-light: #82AA94;
  --color-accent-red: #AA2219;
  --color-accent-yellow: #DF9017;
  --color-accent-green: #5D9945;
  --color-sub-green-dark: #00312C;
  --color-sub-green-medium: #4A6D69;
  --color-sub-green-light: #859C9A;
  --color-sub-khaki: #4F6228;
  --color-sub-beige: #E5D7C8;
	--color-sub-blue: #335675;
  --color-sub-blue-gray: #7F99A8;
  --color-sub-blue-green: #BCDAE3;
  --color-sub-blue-light: #DCE6F2;
  --color-sub-gray: #A6A6A6;
  --color-black: #000000;
  --color-white: #ffffff;

  /* Element Colors */
  --color-text: var(--color-black);
  --color-text-gray: var(--color-sub-gray);
  --color-text-darkgray: color-mix(in srgb, var(--color-sub-gray) 50%, black);
  --color-text-lightgray: color-mix(in srgb, var(--color-sub-gray) 50%, white);
  --color-heading: var(--color-sub-green-dark);
  --color-link: var(--color-sub-green-dark);
  --color-link-accent: var(--color-accent-yellow);
  --color-hover: var(--color-sub-green-medium);
  --color-hover-accent: color-mix(in srgb, var(--color-accent-yellow) 80%, white);
  --color-hover-bg-dark: var(--color-sub-green-dark);
  --color-hover-bg-light: color-mix(in srgb, var(--color-logo-light) 20%, white);
  --color-bg-primary: var(--color-logo-dark);
  --color-bg-primary-light: color-mix(in srgb, var(--color-logo-light) 15%, white);
  --color-bg-primary-lighter: color-mix(in srgb, var(--color-logo-light) 5%, white);
  --color-bg-dark: color-mix(in srgb, var(--color-black) 85%, white);
  --color-bg-gray: color-mix(in srgb, var(--color-sub-gray) 50%, white);
  --color-bg-lightgray: color-mix(in srgb, var(--color-sub-gray) 10%, white);
  --color-bg-accent: var(--color-accent-yellow);
  --color-bg-mark: color-mix(in srgb, var(--color-accent-yellow) 25%, white);
  --color-border: color-mix(in srgb, var(--color-sub-gray) 25%, white);

  --color-gd-blue-1: color-mix(in srgb, var(--color-sub-blue) 55%, white);
  --color-gd-blue-2: color-mix(in srgb, var(--color-sub-blue) 70%, white);
  --color-gd-blue-3: color-mix(in srgb, var(--color-sub-blue) 85%, white);
  --color-gd-blue-4: var(--color-sub-blue);
  --color-gd-blue-5: color-mix(in srgb, var(--color-sub-blue) 85%, black);
	--color-bg-blue: color-mix(in srgb, var(--color-sub-blue-light) 80%, white);
	--color-bg-blue-light: color-mix(in srgb, var(--color-sub-blue-light) 60%, white);
  --color-bg-green: color-mix(in srgb, var(--color-sub-blue-green) 60%, white);
  --color-bg-green-accent: color-mix(in srgb, var(--color-sub-green-light) 60%, white);
}
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: normal; }


/* Base
--------------------------------------------------- */
*, ::before, ::after { background-repeat: no-repeat; box-sizing: inherit; }
::before, ::after { text-decoration: inherit; vertical-align: inherit; }
html { box-sizing: border-box; cursor: default; -webkit-text-size-adjust: 100%; }
article, aside, footer, header, nav, section { display: block; }
body { margin: 0; }
figcaption, figure, main { display: block; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
nav ol, nav ul { list-style: none; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; -webkit-text-decoration-skip: objects; }
abbr[title] { border-bottom: none; text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; }
b, strong { font-weight: inherit; font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
dfn { font-style: italic; }
mark { background-color: var(--color-bg-mark); color: var(--color-black); }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
audio, canvas, iframe, img, svg, video { vertical-align: middle; }
audio, video { display: inline-block; }
audio:not([controls]) { display: none; height: 0; }
img { border-style: none; }
svg { fill: currentColor; }
svg:not(:root) { overflow: hidden; }
table { border-collapse: collapse; }
details, menu { display: block; }
summary { display: list-item; }
canvas { display: inline-block; }
template { display: none; }
a, area, button, input, label, select, summary, textarea, [tabindex] { touch-action: manipulation; }
[hidden] { display: none; }
button, input, optgroup, select, textarea { margin: 0; }
button, input, select, textarea { background-color: transparent; color: inherit; font-size: inherit; line-height: inherit; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, html [type="button"], [type="reset"], [type="submit"] { appearance: button; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { display: inline-block; vertical-align: baseline; }
textarea { overflow: auto; resize: vertical; }
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { appearance: none; }
::-webkit-file-upload-button { appearance: button; font: inherit; }
img { max-width: 100%; height: auto; }
img[src$=".svg"] { width: 100%; height: auto; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-size: 100%; font-weight: normal; }
blockquote, figure, p { margin: 0; }
dl, dd, ol, ul { margin: 0; padding: 0; }
ul { list-style: none; }
i { font-style: normal; }
@media screen and (max-width:23.4275em), screen and (min-width:48em) and (max-width:79.99em) {
	html { font-size: 56.25%; }
}
@media screen and (min-width:23.4375em) and (max-width:47.99em), screen and (min-width:80em) {
	html { font-size: 62.5%; }
}
body { font-weight: 400; font-family: "Lato", /* "Noto Sans JP", */ "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic Pro", sans-serif; font-size: 1.4rem; line-height: 1; color: var(--color-text); background: var(--color-white); font-feature-settings: "palt" 1; letter-spacing: 0.1rem; }
@media (-webkit-min-device-pixel-ratio:2) {
	body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
}
::-moz-selection { background: var(--color-bg-primary-light); color: var(--color-heading); text-shadow: none; }
::selection { background: var(--color-bg-primary-light); color: var(--color-heading); text-shadow: none; }
a { color: var(--color-text); }
a:link, a:visited { color: var(--color-text); text-decoration: none; transition: color 0.4s ease; }
a:hover, a:active { color: var(--color-text); transition: color 0.4s ease; }
a:hover img, a:active img { opacity: 0.7; transition: opacity 0.5s; }
img { touch-callout: none; }


/* Component
--------------------------------------------------- */

/* typo & element */
.content-editor { line-height: 2; font-feature-settings: normal; }
.content-editor *:first-child { margin-top: 0 !important; }
.content-editor *:last-child { margin-bottom: 0 !important; }
.content-editor p { margin-bottom: 30px; }
.content-editor p.lead-copy { margin-bottom: 56px; }
.content-editor p +:not(p) { margin-top: 40px; }
.content-editor h2:not([class]), .content-editor h3:not([class]), .content-editor h4:not([class]) { font-weight: bold; letter-spacing: 0.12em; line-height: 1.33; }
.content-editor h2:not([class]):first-child, .content-editor h3:not([class]):first-child, .content-editor h4:not([class]):first-child { margin-top: 0; }
.content-editor h2:not([class]) + h3:not([class]) { margin-top: 1.5em; }
.content-editor h2:not([class]) { margin-top: 1.5em; margin-bottom: 1.2em; font-size: 20px; color: var(--color-heading); }
.content-editor h3:not([class]) { margin-top: 1.5em; margin-bottom: 1.5em; padding: 10px 20px; box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.2); border-left: 2px solid var(--color-heading); background-color: var(--color-white); font-size: 16px; }
.content-editor h4:not([class]) { margin-bottom: 0.75em; }
.content-editor a { color: var(--color-text); }
.content-editor a:link, .content-editor a:visited { color: var(--color-text); text-decoration: underline; }
.content-editor a:hover, .content-editor a:active { color: var(--color-hover); }
.content-editor strong { font-weight: bold; position: relative; z-index: 1; }
.content-editor strong::after { content: ""; position: absolute; bottom: -10%; left: 0; z-index: -1; width: 100%; height: 50%; background-color: var(--color-bg-mark); }
.content-editor small { font-size: 0.8em; }
.content-editor img:not([class]) { margin-bottom: 32px; display: block; }
.content-editor ul:not([class]), .content-editor ol:not([class]) { margin-bottom: 32px; }
.content-editor ul:not([class]) li, .content-editor ol:not([class]) li { margin-bottom: 1.15em; }
.content-editor ul:not([class]) li ul, .content-editor ol:not([class]) li ul, .content-editor ul:not([class]) li ol, .content-editor ol:not([class]) li ol { margin: 0.5em; }
.content-editor ul:not([class]) { margin-left: 0.8em; }
.content-editor ul:not([class]) li { padding-left: 1.5em; }
.content-editor ul:not([class]) li:before { text-indent: -1.5em; display: inline-block; content: "\2022"; }
.content-editor ol:not([class]) { list-style: none; counter-reset: num; }
.content-editor ol:not([class]) > li { padding-left: 2.5em; }
.content-editor ol:not([class]) > li:before { content: "" counter(num) "."; counter-increment: num; text-indent: -2.5em; display: inline-block; text-align: center; }
.content-editor dl:not([class]) { margin-bottom: 16px; border-bottom: 1px solid var(--color-border); }
.content-editor dl:not([class]) dt { padding-top: 12px; font-weight: bold; border-top: 1px solid var(--color-border); }
.content-editor dl:not([class]) dd { padding-bottom: 12px; }
.content-editor dl:not([class]) dd + dd { padding-top: 0; }
.content-editor table:not([class]) { width: 100%; border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.content-editor table:not([class]) th, .content-editor table:not([class]) td { border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.content-editor table:not([class]) th { background-color: var(--color-bg-primary-lighter); text-align: left; white-space: nowrap; }
.content-editor table:not([class]) td { background-color: var(--color-white); }
.content-editor table:not([class]) thead th { background-color: var(--color-bg-primary-lighter); }
.content-editor table:not([class]) tbody th { font-weight: normal; }
.content-editor .alignleft, .content-editor .alignright, .content-editor .aligncenter { display: block; margin: auto; margin-bottom: 3.2rem; }
@media screen and (max-width:47.99em) {
	.content-editor { font-size: 16px; }
	.content-editor table:not([class]) th, .content-editor table:not([class]) td { padding: 0.25em 0.5em; line-height: 1.3; display: block; width: 100%; }
	.content-editor .table-scroll { overflow-x: scroll; }
	.content-editor .table-scroll > table:not([class]) { margin-bottom: 8px !important; }
	.content-editor .table-scroll > table:not([class]) th, .content-editor .table-scroll > table:not([class]) td { display: table-cell; width: auto; }
	.content-editor .table-scroll::-webkit-scrollbar { background: transparent; height: 4px; }
	.content-editor .table-scroll::-webkit-scrollbar-thumb { background: var(--color-bg-primary); }
}
@media screen and (min-width:48em) {
	.content-editor { font-size: 16px; }
	.content-editor h2:not([class]) { margin-top: 80px; font-size: 24px; }
	.content-editor h3:not([class]) { margin-top: 2.5em; border-left-width: 4px; font-size: 18px; }
	.content-editor dl:not([class]) dt { float: left; width: 20.45%; }
	.content-editor dl:not([class]) dd { margin-left: 20.45%; padding-top: 12px; border-top: 1px solid var(--color-border); }
	.content-editor dl:not([class]) dd::after { content: ""; display: block; clear: both; }
	.content-editor table:not([class]) th, .content-editor table:not([class]) td { padding: 0.75em 2em; }
	.content-editor .alignleft, .content-editor .alignright { max-width: 47.5%; margin-bottom: 32px; }
	.content-editor .alignleft { float: left; margin-right: 4%; }
	.content-editor .alignright { float: right; margin-left: 4%; }
	.content-editor .alignleft + .alignright { margin-left: 0; }
}
.page-heading { text-align: center; font-weight: bold; color: var(--color-heading); letter-spacing: 0.24em; }
.page-heading > span { display: block; margin-bottom: 8px; letter-spacing: 0.13em; }
.post-heading { font-weight: bold; letter-spacing: 0.01em; line-height: 1.33; }
.section-heading { font-weight: bold; color: var(--color-black); letter-spacing: 0.14em; line-height: 1; text-align: center; position: relative; padding-bottom: 1.6rem; text-transform: uppercase;}
.section-heading::after { content: ""; position: absolute; bottom: 0; left: 50%; margin-left: -28px; width: 56px; height: 3px; background-color: var(--color-heading); }
.section-heading.-red::after { background-color: var(--color-heading); }
.section-heading.-blue::after { background-color: var(--color-heading); }
.section-heading.-orange::after { background-color: var(--color-heading); }
.col-heading { font-weight: bold; letter-spacing: 0.06em; }
.post-date { font-size: 14px; text-align: right; }
.content-box { background-color: var(--color-bg-lightgray); }
@media screen and (max-width:47.99em) {
	.page-heading { font-size: 2.2rem; }
	.page-heading > span { font-size: 1.4rem; }
	.post-heading { font-size: 18px; padding-bottom: 16px; }
	.section-heading { margin-bottom: 2.4rem; font-size: 1.8rem; }
	.col-heading { font-size: 1.6rem; }
	.lead-copy { font-weight: bold; font-size: 1.6rem; line-height: 1.75; }
	.content-box { margin: auto -7.34%; padding: 6.4%; }
}
@media screen and (min-width:48em) {
	.page-heading { font-size: 3.2rem; }
	.page-heading > span { font-size: 1.8rem; }
	.post-heading { font-size: 32px; padding: 24px 0; }
	.section-heading { margin-bottom: 4rem; font-size: 2.4rem; }
	.col-heading { font-size: 1.8rem; }
	.lead-copy.-center { text-align: center; }
	.lead-copy { font-weight: bold; font-size: 1.8rem; line-height: 1.75; }
	.content-box { padding: 4.8%; }
}
.screen-wrap { background: var(--color-bg-dark); border-radius: 19px; padding: 2rem; }
.screen-wrap > img { margin: 0 !important; }

/* Button */
.link-btn { text-align: center; }
.link-btn > a, .link-btn > a:link, .link-btn > a:visited { position: relative; display: inline-block; z-index: 1; width: 100%; background-color: var(--color-link); color: var(--color-white); text-decoration: none; overflow: hidden; }
.link-btn > a > .arrow { position: relative; padding-left: 22px; }
.link-btn > a > .arrow::before { position: absolute; top: calc(50% - 4px); left: 0; width: 9px; height: 9px; display: inline-block; content: ""; border-style: solid; border-width: 1px 1px 0 0; transform: scale(0.9, 1) rotate(45deg); transition: left 0.4s cubic-bezier(0.1, 0.85, 0.4, 1); }
.link-btn.-news { line-height: 3rem; width: 11rem; margin: 0 auto; }
.link-btn.-contact svg { margin-right: 6px; margin-top: -2px; }
.link-btn.-product { text-align: left; }
.link-btn.-product > a { width: auto; border-radius: 2px; padding: 1.4rem 1.6rem; line-height: 1; }
.link-btn.-product > a > .arrow { display: inline-block; padding-left: 16px; }
.link-btn.-product > a > .arrow::before { top: calc(50% - 2px); width: 6px; height: 6px; border-width: 2px 2px 0 0; }
@media screen and (min-width:48em) {
	.link-btn > a:hover .arrow::before { left: 4px; }
	.link-btn > a::after { content: ""; z-index: -1; position: absolute; top: 0; left: 0; width: calc(100% + 6.4rem); height: 100%; background-color: var(--color-hover); transform-origin: right top; transform: skewX(-45deg) scale(0, 1); transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.07s; }
	.link-btn > a:hover::after { transform-origin: left top; transform: skewX(-45deg) scale(1, 1); }
	.link-btn.-product { line-height: 4.4rem; font-size: 1.6rem; }
	.link-btn.-product > a { padding: 1.4rem 2.4rem; }
}
.toggle-language-buttons { display: flex; flex-wrap: wrap; align-items: center; }
.toggle-language-buttons > .item a { transition: color 0.4s ease; font-size: 1.3rem; }
.toggle-language-buttons > .item:not(:first-child)::before { content: "/"; color: var(--color-text-lightgray); margin-left: 6px; margin-right: 2px; }
.toggle-language-buttons > .item.-active a { cursor: default; pointer-events: none; }
.toggle-language-buttons > .item:not(.-active) a { color: var(--color-text-lightgray); }
.toggle-language-buttons > .item:not(.-exist) { cursor: not-allowed; }
.toggle-language-buttons > .item:not(.-exist) a { position: relative; pointer-events: none; }
.toggle-language-buttons > .item:not(.-exist) a::before { content: ""; position: absolute; transform: translate(-50%, -50%); top: 50%; left: 50%; display: block; width: 100%; height: 1px; background-color: var(--color-text-lightgray); }
@media screen and (min-width:48em) {
	.toggle-language-buttons > .item a:hover { color: var(--color-link); }
}

/* Navigation */
.breadcrumb { padding: 16px 3.33%; }
.breadcrumb:not(.-noborder) { border-bottom: solid 1px var(--color-border); }
.breadcrumb-list > li { color: var(--color-text); display: inline-block; line-height: 1.5; }
.breadcrumb-list > li a, .breadcrumb-list > li a:link, .breadcrumb-list > li a:visited { border-bottom: 1px solid transparent; color: var(--color-text); transition: border 0.4s; }
.breadcrumb-list > li a:hover, .breadcrumb-list > li a:active { border-bottom-color: var(--color-text); color: var(--color-text); transition: border 0.4s; }
.breadcrumb-list > li:not(:last-child)::after { display: inline-block; padding-left: 0.5em; padding-right: 0.5em; vertical-align: moddle; text-align: center; speak: none; content: ">"; transform: scale(0.5, 1); }
.breadcrumb-list.-single > li { color: var(--color-text); }
.breadcrumb-list.-single > li a, .breadcrumb-list.-single > li a:link, .breadcrumb-list.-single > li a:visited { color: var(--color-text); }
.breadcrumb-list.-single > li a:hover, .breadcrumb-list.-single > li a:active { color: var(--color-text); border-bottom-color: var(--color-text); }
@media screen and (max-width:47.99em) {
	.breadcrumb { padding: 16px 6.4%; }
	.breadcrumb-list > li { font-size: 10px; }
}
@media screen and (min-width:48em) {
	.breadcrumb-list > li { font-size: 12px; }
}
.archive-nav { display: flex; flex-wrap: wrap; line-height: 1; }
.archive-nav > li { margin-bottom: 1.6rem; }
.archive-nav > li a { display: inline-block; padding-bottom: 6px; color: var(--color-link); }
.archive-nav > li a:link, .archive-nav > li a:visited { color: var(--color-link); border-bottom: 2px solid var(--color-white); }
.archive-nav > li a:hover, .archive-nav > li a:active, .archive-nav > li a[aria-current="page"] { color: var(--color-link); border-color: var(--color-hover); transition: border-color 0.5s; }
.archive-nav > .current a, .archive-nav > .current a:link, .archive-nav > .current a:visited { border-color: var(--color-hover); }
@media screen and (max-width:47.99em) {
	.archive-nav > li { margin-right: 2.4rem; }
}
@media screen and (min-width:48em) {
	.archive-nav > li { margin-right: 4rem; }
}
.content-nav { display: flex; flex-wrap: wrap; font-size: 14px; letter-spacing: 0.06em; text-align: center; line-height: 1; }
.content-nav a { color: var(--color-link); }
.content-nav a:link, .content-nav a:visited { color: var(--color-link); text-decoration: none; }
.content-nav a:hover, .content-nav a:active { color: var(--color-hover); }
.content-nav > li { margin-bottom: 8px; }
.content-nav > li::before { content: ""; margin-top: -2px; margin-right: 6px; vertical-align: middle; display: inline-block; border-style: solid; border-width: 5px 5px 0 5px; border-color: var(--color-link) transparent transparent transparent; border-radius: 2px; }
.content-nav > li:nth-last-child(n + 2) { margin-right: 16px; }
.casestudy-card { position: relative; display: flex; background-color: var(--color-white); margin-bottom: 1px; }
.casestudy-card > .img { width: 32.37%; background-position: center center; background-repeat: no-repeat; background-size: auto 100%; }
.casestudy-card > .txt { width: 67.63%; padding: 2.4rem 2.2rem 2.2rem 2.5rem; }
.casestudy-card > .txt > .product { margin-bottom: 0px; font-size: 1.2rem; color: var(--color-heading); letter-spacing: 0.08em; line-height: 1.4; }
.casestudy-card > .txt > .heading { margin-bottom: 12px; font-weight: bold; font-size: 15px; color: var(--color-text); letter-spacing: 0.08em; line-height: 1.6; }
.casestudy-card > .txt > .desc { font-size: 12px; letter-spacing: 0.085em; line-height: 1.75; }
.casestudy-card > a { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.casestudy-small-card { font-feature-settings: "palt" 1; position: relative; padding: 1.6rem 2rem 1.6rem 2.4rem; background-color: var(--color-white); border-radius: 0.4rem; box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.08); }
.casestudy-small-card > .product { margin-bottom: 2px; font-size: 1.1rem; font-weight: 400; color: var(--color-heading); letter-spacing: 0.1rem; line-height: 1.33; }
.casestudy-small-card > .heading { font-weight: bold; font-size: 1.6rem; color: var(--color-text); letter-spacing: 0.1rem; line-height: 1.33; }
.casestudy-small-card > a { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }


.casestudy-col > .heading { font-weight: 700; }
@media screen and (max-width:47.99em) {
	.casestudy-cols { padding-top: 1.6rem; }
	.casestudy-col + .casestudy-col { margin-top: 3.2rem; }
	.casestudy-col > .heading { padding-bottom: 2rem; }
	.casestudy-col > .content { width: 100%; }
	.casestudy-col > .content > .card { width: 100%; margin-top: 0.8rem; }
	.casestudy-card > .txt { padding: 2rem; }
	.casestudy-card > .txt > .product { margin-bottom: 4px; font-size: 1rem; }
	.casestudy-card > .txt > .heading { margin-bottom: 8px; font-size: 1.4rem; line-height: 1.3; }
	.casestudy-card > .txt > .desc { font-size: 1.2rem; letter-spacing: 0.04em; line-height: 1.5; }
}
@media screen and (min-width:48em) {
	.casestudy-col { display: flex; align-items: center; padding: 0.4rem 0.8rem; }
	.casestudy-col:nth-child(2n) { background-color: rgba(106, 106, 106, 0.08); }
	.casestudy-col > .heading { width: 29.6rem; padding-left: 1.6rem; font-size: 1.6rem; }
	.casestudy-col > .content { flex: 1; display: flex; margin: 0 -0.4rem; }
	.casestudy-col > .content > .card { width: 33.33%; padding: 0 0.4rem; }
	.casestudy-small-card { min-height: 100%; transition: opacity 0.4s ease; }
	.casestudy-small-card:hover { opacity: 0.4; }
	.casestudy-cols.-cols2 { display: table; margin: 0 auto; }
	.casestudy-cols.-cols2 > .casestudy-col > .content { width: 551px; }
	.casestudy-cols.-cols2 > .casestudy-col > .content > .card { width: 50%; }
	.casestudy-cols.-cols3 > .casestudy-col > .content > .card { width: 33.33%; }
}
.page-card { position: relative; box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.08); background-color: var(--color-white); }
.page-card > .img { overflow: hidden; }
.page-card > .img > img { width: 100%; margin: 0; transition: transform 0.5s; object-fit: cover; height: 160px; }
.page-card > .heading { margin: 3.6rem 2.2rem 1.6rem; font-weight: bold; font-size: 16px; color: var(--color-heading); letter-spacing: 0.1em; line-height: 1.5; }
.page-card > .desc { padding: 0 2.2rem 3.6rem; font-size: 16px; letter-spacing: 0.0875em; line-height: 1.8; }
.page-card > a { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.page-card.-case { box-shadow: none; }
.page-card.-case > .heading { margin: 1.6rem 0.4rem; position: relative; padding-left: 20px; }
.page-card.-case > .heading::before { position: absolute; top: 2px; left: 0; width: 8px; height: 8px; display: inline-block; content: ""; border-style: solid; border-width: 1px 1px 0 0; transform: scale(0.9, 1) rotate(45deg); transition: left 0.4s cubic-bezier(0.51, 0.18, 0, 0.88); }
@media screen and (min-width:48em) {
	.casestudy-card, .page-card { transition: all 0.4s ease; }
	.casestudy-card .product, .casestudy-card .heading, .page-card > .heading { transition: color 0.4s ease; }
	.casestudy-card:hover, .page-card:hover { background-color: var(--color-link); color: var(--color-white); }
	.casestudy-card:hover .product, .casestudy-card:hover .heading, .page-card:hover > .heading { color: var(--color-white); }
	.page-card > .img > img { transition: transform 0.75s ease; }
	.page-card:hover > .img > img { transform: scale(1.05); }
	.casestudy-card > .img { transition: background-size 0.75s ease; }
	.casestudy-card:hover > .img { background-size: auto 105%; }
	.page-card.-case:hover > .heading::before { left: 4px; transition: left 0.2s ease; }
}
.heading-block { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; position: relative; width: 100%; background-position: center center; background-repeat: no-repeat; background-size: cover; }
.heading-block::before { content: ""; z-index: 2; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.heading-block::after { z-index: 1; position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ""; background-color: rgba(255, 255, 255, 0.8); }
.heading-block > .page-heading, .heading-block > .breadcrumb-list { position: relative; z-index: 10; }
.content-block.-gray { background-color: var(--color-bg-lightgray); }
@media screen and (max-width:47.99em) {
	.heading-block { min-height: 12.8rem; padding: 1.2rem 6.4%; }
	.heading-block > .page-heading { --stroke-color: var(--color-white); --stroke-width: 2px; text-shadow: calc(var(--stroke-width) * 1) calc(var(--stroke-width) * 0) 0 var(--stroke-color), calc(var(--stroke-width) * 0.9239) calc(var(--stroke-width) * 0.3827) 0 var(--stroke-color), calc(var(--stroke-width) * 0.7071) calc(var(--stroke-width) * 0.7071) 0 var(--stroke-color), calc(var(--stroke-width) * 0.3827) calc(var(--stroke-width) * 0.9239) 0 var(--stroke-color), calc(var(--stroke-width) * 0) calc(var(--stroke-width) * 1) 0 var(--stroke-color), calc(var(--stroke-width) * -0.3827) calc(var(--stroke-width) * 0.9239) 0 var(--stroke-color), calc(var(--stroke-width) * -0.7071) calc(var(--stroke-width) * 0.7071) 0 var(--stroke-color), calc(var(--stroke-width) * -0.9239) calc(var(--stroke-width) * 0.3827) 0 var(--stroke-color), calc(var(--stroke-width) * -1) calc(var(--stroke-width) * 0) 0 var(--stroke-color), calc(var(--stroke-width) * -0.9239) calc(var(--stroke-width) * -0.3827) 0 var(--stroke-color), calc(var(--stroke-width) * -0.7071) calc(var(--stroke-width) * -0.7071) 0 var(--stroke-color), calc(var(--stroke-width) * -0.3827) calc(var(--stroke-width) * -0.9239) 0 var(--stroke-color), calc(var(--stroke-width) * 0) calc(var(--stroke-width) * -1) 0 var(--stroke-color), calc(var(--stroke-width) * 0.3827) calc(var(--stroke-width) * -0.9239) 0 var(--stroke-color), calc(var(--stroke-width) * 0.7071) calc(var(--stroke-width) * -0.7071) 0 var(--stroke-color), calc(var(--stroke-width) * 0.9239) calc(var(--stroke-width) * -0.3827) 0 var(--stroke-color); }
	.content-block { padding-top: 4.8rem; padding-bottom: 6.4rem; }
}
@media screen and (min-width:48em) {
	.heading-block { min-height: 17rem; padding: 1.8rem 3.33%; }
	.content-block { padding-top: 7.2rem; padding-bottom: 7.2rem; }
}
.casestudy-table { border-bottom: 1px solid var(--color-border); }
.casestudy-table dt { padding-top: 1.2rem; font-weight: bold; border-top: 1px solid var(--color-border); color: var(--color-heading); letter-spacing: 0.8px; line-height: 1.33; }
.casestudy-table dd { padding-top: 1.2rem; padding-bottom: 1.2rem; }
.casestudy-table dd + dd { padding-top: 0; }
@media screen and (min-width:48em) {
	.casestudy-table dt { padding-top: 3.2rem; float: left; width: 20.45%; }
	.casestudy-table dd { margin-left: 20.45%; padding-top: 3.2rem; padding-bottom: 3.2rem; border-top: 1px solid var(--color-border); }
	.casestudy-table dd::after { content: ""; display: block; clear: both; }
	.casestudy-table dd + dd { border-top: 0; }
}

/* Home Hero */
.hero-block { position: relative; width: 100%; overflow: hidden; }
.hero-inner { z-index: 2; position: absolute; transform: translateX(-50%); top: 0; left: 50%; max-width: 1440px; width: 100%; height: 100%; overflow: hidden; }
.hero-copy { position: absolute; z-index: 2; width: 100%; color: var(--color-text); text-align: left; }
.hero-copy-bg { position: absolute; top: 0; left: -150%; width: 100%; height: 100%; z-index: 1; }
.hero-copy-bg::before, .hero-copy-bg::after { content: ""; position: absolute; top: 0; height: 100%; }
.hero-copy-bg::before { left: 0; width: 100%; background-image: url(./../img/hero-copy.svg); background-position: left center; background-repeat: no-repeat; background-size: contain; }
.hero-copy-bg::after { right: 0; width: 100%; background-color: var(--color-logo-dark); }
/* .hero-copy > .slogan { --stroke-color: var(--color-white); --stroke-width: 2px; text-shadow: calc(var(--stroke-width) * 1) calc(var(--stroke-width) * 0) 0 var(--stroke-color), calc(var(--stroke-width) * 0.9239) calc(var(--stroke-width) * 0.3827) 0 var(--stroke-color), calc(var(--stroke-width) * 0.7071) calc(var(--stroke-width) * 0.7071) 0 var(--stroke-color), calc(var(--stroke-width) * 0.3827) calc(var(--stroke-width) * 0.9239) 0 var(--stroke-color), calc(var(--stroke-width) * 0) calc(var(--stroke-width) * 1) 0 var(--stroke-color), calc(var(--stroke-width) * -0.3827) calc(var(--stroke-width) * 0.9239) 0 var(--stroke-color), calc(var(--stroke-width) * -0.7071) calc(var(--stroke-width) * 0.7071) 0 var(--stroke-color), calc(var(--stroke-width) * -0.9239) calc(var(--stroke-width) * 0.3827) 0 var(--stroke-color), calc(var(--stroke-width) * -1) calc(var(--stroke-width) * 0) 0 var(--stroke-color), calc(var(--stroke-width) * -0.9239) calc(var(--stroke-width) * -0.3827) 0 var(--stroke-color), calc(var(--stroke-width) * -0.7071) calc(var(--stroke-width) * -0.7071) 0 var(--stroke-color), calc(var(--stroke-width) * -0.3827) calc(var(--stroke-width) * -0.9239) 0 var(--stroke-color), calc(var(--stroke-width) * 0) calc(var(--stroke-width) * -1) 0 var(--stroke-color), calc(var(--stroke-width) * 0.3827) calc(var(--stroke-width) * -0.9239) 0 var(--stroke-color), calc(var(--stroke-width) * 0.7071) calc(var(--stroke-width) * -0.7071) 0 var(--stroke-color), calc(var(--stroke-width) * 0.9239) calc(var(--stroke-width) * -0.3827) 0 var(--stroke-color); color: var(--color-heading); font-weight: 700; } */
.hero-copy > .slogan { padding: 1em 0; color: var(--color-heading); font-weight: 700; position: relative; z-index: 2; }
@media screen and (max-width:47.99em) {
	.hero-copy { transform: translate(0, -50%); top: 46.4%; left: 12.8%; width: calc(100% - 12.8%); white-space: nowrap; }
	.hero-copy > .slogan { font-size: calc(18vw / 375 * 100); letter-spacing: 0.0155em; line-height: 1.33; }
	.hero-copy-bg::before { left: -14.68%; background-position: -25% center; }
	.hero-copy-bg::after { width: calc(100% - 14.68%); }
}
@media screen and (min-width:48em) {
	.hero-copy { transform: translate(0%, -50%); top: 47.2%; left: 12.96%; width: calc(100% - 12.96%); }
	.hero-copy > .slogan { font-size: 3.6rem; letter-spacing: 0.08em; line-height: 1.38; }
	.hero-copy-bg::before { left: -14.89%; }
	.hero-copy-bg::after { width: calc(100% - 14.89%); }
}
@media screen and (min-width:90em) {
	.hero-copy { transform: translateY(-50%); left: 18.055%; width: calc(100% - 18.055%); }
	.hero-copy > .slogan { font-size: 4rem; }
	.hero-copy-bg::before { left: -22.03%; }
	.hero-copy-bg::after { width: 100%; }
}
.hero-menu { z-index: 2; position: relative; background-color: var(--color-white); }
.hero-menu-heading { letter-spacing: 0.0357em; text-transform: uppercase; font-weight: 700; }
.hero-menu-list { list-style: none; }
.hero-menu-list > .item { cursor: pointer; }
.hero-menu-list > .item, .hero-menu-list > .item > a { position: relative; color: var(--color-link); line-height: 1.22; transition: color 0.3s; }
.hero-menu-list > .item:hover, .hero-menu-list > .item > a:hover { color: var(--color-hover); }
.hero-menu-list > .item > span, .hero-menu-list > .item > a > span { display: block; font-weight: 500; }
.hero-menu-list > .item > .en, .hero-menu-list > .item > a > .en { text-transform: uppercase; font-weight: 700; }
@media screen and (max-width:47.99em) {
	.hero-menu { filter: drop-shadow(0 0 0 rgba(0, 0, 0, 1)); padding: 1.2rem 2rem 2rem; }
	.hero-menu-heading { display: none; }
	.hero-menu-list { display: flex; flex-wrap: wrap; justify-content: center; margin-top: -1.2rem; margin-left: -3.6rem; }
	.hero-menu-list > .item { margin-top: 1.2rem; margin-left: 3.2rem; }
	.hero-menu-list > .item, .hero-menu-list > .item > a { font-size: 22px; }
	.hero-menu-list > .item > .ja, .hero-menu-list > .item > a > .ja { font-size: 10px; }
}
@media screen and (max-width:24.375em) {
	.hero-menu { padding: 1.2rem 1.6rem 1.8rem; }
	.hero-menu-list { margin-top: -0.8rem; margin-left: 0rem; }
	.hero-menu-list > .item { margin-top: 0.8rem; margin-left: 1.2rem; }
	.hero-menu-list > .item, .hero-menu-list > .item > a { font-size: 18px; }
	.hero-menu-list > .item > .ja, .hero-menu-list > .item > a > .ja { transform: scale(0.8); transform-origin: left; }
	.hero-menu-list > .item[data-hero-menu="erp"] { padding-right: 0.4rem; }
	.hero-menu-list > .item[data-hero-menu="edi"] { padding-right: 0.2rem; }
	.hero-menu-list > .item[data-hero-menu="multilingual"] { padding-right: 1.8rem; }
	.hero-menu-list > .item[data-hero-menu="consulting"] { padding-right: 1.8rem; }
}
@media screen and (min-width:48em) {
	.hero-menu { box-sizing: border-box; position: absolute; transform: translateY(-50%); top: 50%; right: 2.44%; display: flex; flex-wrap: wrap; flex-direction: column; justify-content: center; height: auto; padding: 3.2rem 4rem 3.6rem 3.6rem; background-color: rgba(245, 245, 245, 0.9); }
	.hero-menu-heading { font-size: 18px; }
	.hero-menu-list { margin-top: 2.6rem; }
	.hero-menu-list > .item { min-width: 24.4rem; min-width: auto; width: 100%; padding-left: 1.6rem; }
	.hero-menu-list > .item, .hero-menu-list > .item > a { font-size: 16px; }
	.hero-menu-list > .item:not(:first-child) { margin-top: 1.6rem; }
	.hero-menu-list > .item::before { content: ""; position: absolute; top: 0.61em; left: -0.4rem; display: block; width: 7px; height: 7px; display: inline-block; content: ""; border-style: solid; border-width: 2px 2px 0 0; transform: scale(0.9, 1) rotate(45deg) translateY(-50%); }
	.hero-menu-list > .item > .ja, .hero-menu-list > .item > a > .ja { margin-top: 0.4rem; font-size: 13px; }
	.hero-menu-heading { width: 100%; }
}
@media screen and (min-width:90em) {
	.hero-menu { padding: 5.6rem 4rem; right: 4.44%; }
	.hero-menu-heading { font-size: 21px; }
	.hero-menu-list > .item, .hero-menu-list > .item > a { font-size: 20px; }
	.hero-menu-list > .item:not(:first-child) { margin-top: 1.6rem; }
}
.hero-service, .hero-service a { color: var(--color-heading); }
.hero-service { flex: 1; z-index: 2; position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin-left: auto; margin-right: auto; }
.hero-service > .item { z-index: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; visibility: hidden; opacity: 0; }
.hero-service-inner { z-index: 2; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.hero-service-inner > .item { position: absolute; max-width: 54rem; width: 100%; }
.hero-service .heading > span { position: relative; line-height: 1.22; }
.hero-service .heading > .en { font-size: 28px; font-weight: 700; text-transform: uppercase; }
.hero-service .heading > .ja { font-size: 13px; font-weight: 400; }
.hero-service .list > li { position: relative; font-size: 1.5rem; line-height: 1.5; letter-spacing: calc(0.5px / 15); font-weight: 700; }
.hero-service .list > li:not(:first-child) { margin-top: 0.2rem; }
.hero-service .list > li > a { display: block; padding: 0.4rem 0 0.4rem 2rem; }
.hero-service .list > li > a::before { content: ""; position: absolute; transform: translateY(-50%); top: 50%; left: -2px; display: block; width: 8px; height: 8px; display: inline-block; content: ""; border-style: solid; border-width: 2px 2px 0 0; transform: scale(0.9, 1) rotate(45deg) translateY(-50%); }
.hero-service .txt { font-weight: 400; }
@media screen and (max-width:47.99em) {
	.hero-service .item > .heading, .hero-service .item > .list, .hero-service .item > .content { background-color: rgba(255, 255, 255, 0.75); }
	.hero-service-inner > .item { transform: translate(-50%, -50%); left: 50%; top: 50%; padding: 1.6rem; }
	.hero-service .item > .heading, .hero-service .item > .list, .hero-service .item > .content { margin-top: 0px; padding: 0 1.6rem; }
	.hero-service .heading > .en, .hero-service .heading > .ja { display: inline-block; }
	.hero-service .heading > .ja { transform: translateY(-0.2rem); margin-left: 0.8rem; }
	.hero-service .item > .heading { padding-top: 0.8rem; padding-bottom: 0.4rem; }
	.hero-service .item > .list { padding-top: 0.4rem; padding-bottom: 0.4rem; }
	.hero-service .item > .content { padding-top: 0.8rem; padding-bottom: 1.2rem; }
	.hero-service .txt { font-size: 14px; line-height: calc(21 / 14); }
	.hero-menu-list > .item > .en, .hero-menu-list > .item > a > .en { letter-spacing: 0.05rem; }
	.hero-service > .item[data-hero-item="multilingual"] .heading > .en, .hero-service > .item[data-hero-item="multilingual"] .heading > .ja, .hero-service > .item[data-hero-item="consulting"] .heading > .en, .hero-service > .item[data-hero-item="consulting"] .heading > .ja { display: block; }
	.hero-service > .item[data-hero-item="multilingual"] .heading > .ja, .hero-service > .item[data-hero-item="consulting"] .heading > .ja { margin-top: 0.8rem; margin-left: 0; }
}
@media screen and (min-width:48em) {
	.hero-service-inner > .item { transform: translateY(-50%); right: 0; top: 48.8%; }
	@media screen and (min-width:90em) {
		.hero-service-inner > .item { right: 4%; }
  }
	.hero-service .item > .heading { display: inline-block; padding: 0 1.6rem 0.8rem; }
	.hero-service .item > .list, .hero-service .item > .content { padding: 1.2rem 1.6rem; }
	.hero-service-inner { max-width: calc(100% - 4.44% - 32.4rem - 1.6rem); }
	.hero-service .list > li { font-size: 1.8rem; line-height: 1; }
	.hero-service .list > li:not(:first-child) { margin-top: 1.4rem; }
	.hero-service .list > li > a { display: inline-block; background-color: rgba(255, 255, 255, 0.5); padding: 0.4rem 2rem 0.4rem; transition: opacity 0.3s; }
	.hero-service .list > li > a::before { left: 0px; }
	.hero-service .list > li > a:hover { opacity: 0.5; }
	.hero-service .heading > span { background-color: rgba(255, 255, 255, 0.5); padding: 0.4rem 0.4rem; line-height: 1; }
	.hero-service .heading > .en { display: inline-block; font-size: 5.6rem; }
	.hero-service .heading > .ja { display: block; width: 100%; margin-top: 0.4rem; font-size: 1.6rem; }
	.hero-service .txt { background: linear-gradient(rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.5) 0%); display: inline; padding: 0 2px 4px; font-size: 1.6rem; line-height: calc(28 / 16); }
}
@media screen and (min-width:67.5em) {
	.hero-service .item > .heading { padding: 0 1.6rem 1.6rem; }
	.hero-service .item > .list, .hero-service .item > .content { padding: 0.8rem 1.6rem; }
	.hero-service .list { margin-top: 0rem; }
	.hero-service .content { margin-top: 0.8rem; }
	.hero-service .heading > .en { font-size: 4.8rem; }
}
@media screen and (min-width:90em) {
	.hero-service .heading > .en { font-size: 6.2rem; }
	.hero-service .item > .list, .hero-service .item > .content { padding: 1.6rem; }
	.hero-service .list { margin-top: 0.8rem; }
	.hero-service .list > li { font-size: 2.2rem; }
}

/* Home Section */
.list-content { display: flex; flex-wrap: wrap; width: 100%; font-weight: bold; }
.list-content > .heading > .main, .list-content > .link { font-weight: 700; }
.list-content > .heading > .main { color: var(--color-text); font-size: 28px; letter-spacing: 0.03em; }
.list-content > .heading > .copy { font-size: 1.6rem; line-height: 1.33; letter-spacing: 0.833px; }
.list-content > .link { font-size: 1.2rem; letter-spacing: 0.1em; line-height: 1; }
.list-content > .link a, .list-content > .link a:link, .list-content > .link a:visited { color: var(--color-link); }
.list-content > .link a:hover, .list-content > .link a:active { color: var(--color-hover); }
.list-content > .link a { display: block; position: relative; padding-left: 20px; font-size: 15px; }
.list-content > .link a::before { position: absolute; top: 0.4em; left: 0; width: 8px; height: 8px; display: inline-block; content: ""; border-style: solid; border-width: 2px 2px 0 0; border-color: var(--color-link); transform: scale(0.9, 1) rotate(45deg) translateY(-50%); }
@media screen and (max-width:47.99em) {
	.list-content > .heading > .copy { margin-top: 1.2rem; }
	.list-content > .content { width: 100%; margin-top: 2.4rem; }
	.list-content > .link { margin-top: 3.2rem; margin-left: auto; }
}
@media screen and (min-width:48em) {
	.list-content > .heading { display: flex; align-items: flex-start; }
	.list-content .link { display: flex; align-items: center; }
	.list-content > .heading { order: 1; flex: 1; }
	.list-content > .heading > .main { margin-right: 2.4rem; font-size: 40px; letter-spacing: 0.03em; }
	.list-content > .heading > .copy { padding-top: 1.125em; }
	.list-content > .content { order: 3; width: 100%; margin-top: 3.2rem; }
	.list-content > .link { order: 2; padding: 1.1rem 0; }
	.list-content .link a::before { top: 0.44em; transition: left 0.4s cubic-bezier(0.51, 0.18, 0, 0.88); }
	.list-content .link a:hover::before { left: 4px; transition: left 0.2s cubic-bezier(0.29, 0.18, 0.26, 0.83); }
}
.news-block { flex-wrap: wrap; padding: 7.2rem 0 8.4rem; background-color: var(--color-bg-primary-light); }
.news-block .inner { display: flex; flex-wrap: wrap; }
.news-article { background-color: var(--color-white); letter-spacing: 0.1em; line-height: 1.5; }
.news-article .date { margin-right: 0.8rem; color: var(--color-text-gray); font-size: 1.5rem; letter-spacing: 0.0414em; letter-spacing: calc(0.58em / 14); font-weight: 400; }
.news-article .tag { align-self: flex-start; margin: 0.1rem; margin-right: 2.4rem; padding: 0.4rem 1.6rem; border-radius: 1rem; background-color: var(--color-bg-accent); color: var(--color-white); font-size: 1.1rem; line-height: 1; font-weight: 700; }
.news-article .title { flex: 1; font-size: 1.5rem; letter-spacing: calc(0.8em / 14); }
@media screen and (max-width:47.99em) {
	.news-article { padding: 1.6rem 1.6rem 2.4rem; }
	.news-article .title { margin-top: 0.8rem; }
}
@media screen and (min-width:48em) {
	.news-article { display: flex; width: 100%; padding: 1.8rem 2.4rem; }
	.news-article .date { width: 9.5rem; margin-right: 1.6rem; }
	.news-block a:hover .news-article .title { color: var(--color-hover); }
}
.blog-block { position: relative; background-size: cover; background-position: center 35%; padding: 6.4rem 0 5.6rem; }
.blog-block .list-content { position: relative; }
@media screen and (max-width:47.99em) {
	.blog-block .list-content > .content { margin-top: 4rem; }
}
@media screen and (max-width:47.99em) {
	.casestudy-block { padding: 6.4rem 0 5.6rem; }
	.casestudy-block .list-content > .content { width: 100%; }
}
@media screen and (min-width:48em) {
	.casestudy-block { padding: 8rem 0 9.6rem; }
}

/* News */
.news-list { border-top: 1px solid var(--color-border); }
.news-list > .post { line-height: 2; border-bottom: 1px solid var(--color-border); }
.news-list .date { color: var(--color-text-gray); }
.news-list.-y2015 { display: none; }
@media screen and (max-width:47.99em) {
	.news-list > .post { padding: 1.6rem 0; }
}
@media screen and (min-width:48em) {
	.news-list > .post { padding: 1.8rem 0; }
	.news-list > .post > a { display: flex; }
	.news-list > .post > a:hover, .news-list > .post > a:active { color: var(--color-hover); }
	.news-list .date { min-width: 12rem; }
}

/* BLOG */
.blog-header { padding: 48px; }
.blog-archive { background-color: var(--color-bg-lightgray); padding: 0 0 6.4rem; }
.blog-archive__nav { margin-top: 1.6rem; }
.blog-archive__content { margin-top: 3.2rem; }
@media screen and (max-width:47.99em) { }
@media screen and (min-width:48em) {
	.blog-archive { padding: 0 0 12rem; }
	.blog-archive__content { margin-top: 4.8rem; }
}
.blog-list { display: flex; flex-wrap: wrap; list-style: none; }
.blog-list > .item { width: 100%; }
.blog-list + .pagination { margin-top: 4.8rem; }
@media screen and (max-width:47.99em) {
	.blog-list > .item { width: 100%; }
	.blog-list > .item:not(:first-child) { margin-top: 1.6rem; }
}
@media screen and (min-width:48em) {
	.blog-list { margin: -3.2rem -1rem 0; }
	.blog-list > .item { width: 33.33%; margin-top: 3.2rem; padding: 0 1rem; }
	.blog-list + .pagination { margin-top: 6.4rem; }
}
.blog-article { display: flex; flex-wrap: wrap; min-height: 100%; overflow: hidden; filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.08)); font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic Pro", sans-serif; }
.blog-article > .image { position: relative; width: 100%; overflow: hidden; }
.blog-article > .image > img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.blog-article > .image::before { content: ""; display: block; width: 100%; padding-top: 56.875%; }
.blog-article > .content { width: 100%; padding: 1.2rem 1.6rem 1.6rem; background-color: var(--color-white); }
.blog-article > .content > .date { color: var(--color-text-gray); font-size: 12px; font-weight: 400; line-height: 1.5; letter-spacing: 0.05em; }
.blog-article > .content > .heading { height: 37px; margin-top: 0.4rem; font-size: 14px; font-weight: 700; line-height: 1.3; letter-spacing: 0.04em; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.blog-article > .content > .tags { margin-top: 0.8rem; }
@media screen and (max-width:47.99em) {
	.blog-article > .image { width: 108px; }
	.blog-article > .content { width: calc(100% - 108px); }
}
@media screen and (min-width:48em) {
	a > .blog-article > .image > img { transition: transform 0.75s ease; }
	a > .blog-article > .content { transition: all 0.4s ease; }
	.blog-article > .content > .heading { height: 64px; margin-top: 1.2rem; font-size: 16px; -webkit-line-clamp: 3; }
	a > .blog-article > .content > .heading, a > .blog-article > .content > .date, a > .blog-article > .content > .tags ul { transition: color 0.4s ease; }
	.blog-article > .content > .tags { margin-top: 1.2rem; }
	a:hover > .blog-article > .content { background-color: var(--color-hover-bg-dark); }
	a:hover > .blog-article > .content > .heading, a:hover > .blog-article > .content > .date, a:hover > .blog-article > .content > .tags ul { color: var(--color-white); }
	a:hover > .blog-article > .image > img { opacity: 1; transform: scale(1.05); }
}
.blog-keywords-nav { border-radius: 4px; overflow: hidden; }
.blog-keywords-nav__heading { padding: 16px; background-color: var(--color-link); color: var(--color-white); font-size: 15px; font-weight: 700; }
.blog-keywords-nav__list { flex: 1; padding: 16px 16px; background-color: var(--color-white); }
.blog-keywords-nav-list { display: flex; flex-wrap: wrap; margin: -16px 0 0 -12px; }
.blog-keywords-nav-list__item { margin: 16px 0 0 12px; font-size: 14px; font-weight: 700; letter-spacing: 0.58px; }
.blog-keywords-nav-list__item a { color: var(--color-link); }
@media screen and (max-width:47.99em) { }
@media screen and (min-width:48em) {
	.blog-keywords-nav { display: flex; flex-wrap: wrap; }
	.blog-keywords-nav__list { padding: 16px 24px; }
	.blog-keywords-nav-list { margin: -16px 0 0 -16px; }
	.blog-keywords-nav-list__item { margin: 16px 0 0 16px; font-size: 14px; }
	.blog-keywords-nav-list__item a { padding: 4px 0; border-bottom: 2px solid var(--color-white); transition: border-color 0.5s; }
	.blog-keywords-nav-list__item a:hover { border-color: var(--color-link); }
}
.blog-tag-list { display: flex; flex-wrap: wrap; overflow: hidden; margin: -0.6rem 0 0 -0.8rem; color: var(--color-link); font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: 0.05em; }
.blog-tag-list__item { margin: 0.6rem 0 0 0.8rem; }
@media screen and (min-width:48em) {
	.blog-tag-list { margin: -0.6rem 0 0 -1rem; }
	.blog-tag-list__item { margin: 0.6rem 0 0 1rem; }
}
.blog-single { max-width: 680px; margin: 0 auto; }
.blog-single__title { margin-top: 2.4rem; }
.blog-single__tags { margin-top: 1.6rem; }
.blog-single__content { margin-top: 4rem; }
.blog-single__related { margin-top: 6.4rem; }
.blog-single__nav { margin-top: 6.4rem; }
.blog-single-date { font-size: 14px; }
@media screen and (min-width:48em) {
	.blog-single__title { margin-top: 4rem; }
	.blog-single__content { margin-top: 6.4rem; }
	.blog-single__related { margin-top: 8rem; }
	.blog-single__nav { margin-top: 8rem; }
	.blog-single-date { font-size: 16px; }
}
.blog-single-visual img { width: 100%; height: auto; }
.blog-single-links { display: flex; flex-wrap: wrap; justify-content: center; margin-left: -24px; }
.blog-single-links__item { min-width: 96px; margin-left: 16px; }
.blog-single-links__item a { display: block; width: 100%; padding: 12px 12px; background-color: var(--color-white); font-size: 14px; letter-spacing: 0; font-weight: 700; line-height: 1; text-align: center; filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.08)); transition: 0.3s; }
.blog-single-links__item a span { position: relative; }
.blog-single-links__item--prev a span { padding-left: 16px; }
.blog-single-links__item--next a span { padding-right: 16px; }
.blog-single-links__item--prev a span::after, .blog-single-links__item--next a span::after { content: ""; position: absolute; top: 0; width: 7px; height: 100%; background-image: url(./../img/icon-arrow-to-right.svg); background-position: center; background-size: contain; background-repeat: no-repeat; }
.blog-single-links__item--prev a span::after { transform: scale(-1, 1); left: 0; }
.blog-single-links__item--next a span::after { right: 0; }
@media screen and (max-width:47.99em) { }
@media screen and (min-width:48em) {
	.blog-single-links__item { min-width: 120px; margin-left: 24px; }
	.blog-single-links__item a { padding: 16px 16px; font-size: 16px; transition: all 0.4s; }
	.blog-single-links__item--prev a span { padding-left: 20px; }
	.blog-single-links__item--next a span { padding-right: 20px; }
	.blog-single-links__item--prev a span::after, .blog-single-links__item--next a span::after { width: 8px; transition: all 0.4s; }
	.blog-single-links__item a:hover { background-color: var(--color-hover-bg-dark); color: var(--color-white); }
	.blog-single-links__item--prev a:hover span::after, .blog-single-links__item--next a:hover span::after { filter: brightness(0) invert(1); }
}
.blog-related__heading { display: block; }
.blog-related__content { margin-top: 2.4rem; }
.blog-related-heading { color: var(--color-heading); font-size: 20px; font-weight: 700; line-height: 1; letter-spacing: 1.1px; }
.blog-related-list { display: block; }
.blog-related-list__item { margin-top: 1.6rem; }
.blog-related-article { display: flex; flex-wrap: wrap; background-color: var(--color-white); filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.08)); }
.blog-related-article__image { position: relative; width: 96px; overflow: hidden; }
.blog-related-article__image::before { content: ""; display: block; width: 100%; padding-top: 63.52459%; }
.blog-related-article__image img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.blog-related-article__content { display: flex; flex-wrap: wrap; flex-direction: column; justify-content: center; width: calc(100% - 96px); height: 120px; padding: 14px 16px 16px; }
.blog-related-article__content::before, .blog-related-article__content::after { content: ""; display: block; width: 100%; }
.blog-related-article__content::before { flex: 1; order: 1; }
.blog-related-article__content::after { flex: 1.75; order: 4; }
.blog-related-article__heading { font-size: 16px; font-weight: 700; letter-spacing: 0.25px; line-height: 1.375; order: 2; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.blog-related-article__desc { margin: 4px 0 0; font-size: 13px; letter-spacing: 0; line-height: 1.5; order: 3; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
@media screen and (max-width:47.99em) { }
@media screen and (min-width:48em) {
	.blog-related__content { margin-top: 3.2rem; }
	.blog-related-heading { font-size: 22px; }
	.blog-related-list__item { margin-top: 2.4rem; }
	.blog-related-article__image { width: 224px; }
	.blog-related-article__content { width: calc(100% - 224px); height: 180px; padding: 20px 32px 28px; }
	.blog-related-article__heading { font-size: 18px; letter-spacing: 0.45px; -webkit-line-clamp: 2; }
	.blog-related-article__desc { margin: 8px 0 0; font-size: 14px; line-height: 1.75; -webkit-line-clamp: 3; }
	a .blog-related-article__image > img { transition: transform 0.75s ease; }
	a .blog-related-article__content { transition: all 0.4s ease; }
	a .blog-related-article__heading, a .blog-related-article__desc { transition: color 0.4s ease; }
	a:hover .blog-related-article__content { background-color: var(--color-hover-bg-dark); }
	a:hover .blog-related-article__heading, a:hover .blog-related-article__desc { color: var(--color-white); }
	a:hover .blog-related-article__image > img { opacity: 1; transform: scale(1.05); }
}
.pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; }
.pagination .nav-links > * { display: flex; justify-content: center; align-items: center; width: 48px; height: 48px; font-size: 20px; font-weight: 700; }
.pagination .nav-links .page-numbers:not(.dots) { background-color: var(--color-white); filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.08)); }
.pagination .nav-links .page-numbers.dots { transform: translateY(-0.2em); }
.pagination .nav-links .page-numbers.current { background-color: var(--color-hover-bg-dark); color: var(--color-white); }
.pagination .nav-links > *:not(:first-child) { margin-left: 8px; }
.pagination .nav-links > .next, .pagination .nav-links > .prev { position: relative; text-indent: 200%; white-space: nowrap; overflow: hidden; }
.pagination .nav-links > .next::before, .pagination .nav-links > .prev::before { content: ""; position: absolute; transform: translate(-50%, -50%); top: 50%; left: 50%; width: 10px; height: 100%; background-image: url(./../img/icon-arrow-to-right.svg); background-position: center; background-size: contain; background-repeat: no-repeat; }
.pagination .nav-links > .prev::before { transform: translate(-50%, -50%) scale(-1, 1); }
@media screen and (min-width:48em) {
	.pagination .nav-links > a:not(.current), .pagination .nav-links > a:not(.current)::before { transition: all 0.4s; }
	.pagination .nav-links > a:not(.current):hover { background-color: var(--color-hover-bg-dark); color: var(--color-white); }
	.pagination .nav-links > a:not(.current):hover::before { filter: brightness(0) invert(1); }
}

/* Search */
.search-result > em, .search-heading > em { font-style: normal; }
.search-heading { font-size: 2.4rem; font-weight: 700; text-align: center; }
.search-result { color: var(--color-text-darkgray); font-size: 1.4rem; }
.search-result > em { color: var(--color-text); font-size: 1.15em; font-weight: 700; }
.search-noresult { font-size: 1.4rem; line-height: 1.5; text-align: center; }
.search-list { border-top: 1px solid var(--color-border); }
.search-list > .post { line-height: 2; border-bottom: 1px solid var(--color-border); }
.search-card > a { display: block; }
.search-card .heading { font-size: 2rem; font-weight: 700; }
.search-card .text { line-height: 1.5; }
.search-card .conductor { margin-top: 2.4rem; color: var(--color-link); font-size: 15px; font-size: 400; text-align: right; }
@media screen and (max-width:47.99em) {
	.search-heading > em { font-size: 1.2em; }
	.search-result { margin-top: 4rem; }
	.search-noresult { margin-top: 3.2rem; }
	.search-list { margin-top: 3.2rem; }
	.search-list > .post { padding: 1.6rem 0; }
	.search-card .text { margin-top: 0.4rem; }
	.search-pagination { margin-top: 4.8rem; }
}
@media screen and (min-width:48em) {
	.search-heading { font-size: 2.4rem; }
	.search-heading > em { font-size: 1.6em; }
	.search-result { margin-top: 6.4rem; }
	.search-noresult { margin-top: 4.8rem; font-size: 1.6rem; }
	.search-list { margin-top: 4.8rem; }
	.search-list > .post { padding: 0.8rem 0; }
	.search-card { padding: 1.6rem 0 2.4rem; }
	.search-card > a { transition: opacity 0.3s; }
	.search-card > a:hover { opacity: 0.4; }
	.search-card .heading { font-size: 2rem; }
	.search-card .text { margin-top: 0.8rem; }
	.search-pagination { margin-top: 6.4rem; }
}

/* Contact */
.form-block .req { margin-right: 0.25em; font-size: 0.85em; color: var(--color-accent-red); }
.form-block .submit { position: relative; margin: 9.6rem auto 0; width: 25.6rem; background-color: var(--color-link); }
.form-block .submit::after { content: ""; position: absolute; top: 0; left: 0; width: 0; height: 100%; background-color: var(--color-hover); transition: width 0.4s cubic-bezier(0.1, 0.85, 0.4, 1); }
.form-block .submit::before { position: absolute; z-index: 2; top: calc(50% - 4px); left: 25%; width: 9px; height: 9px; display: inline-block; content: ""; border-style: solid; border-width: 1px 1px 0 0; border-color: var(--color-white); transform: scale(0.9, 1) rotate(45deg); transition: left 0.4s cubic-bezier(0.1, 0.85, 0.4, 1); }
.form-block .submit input[type="submit"] { position: relative; z-index: 1; width: 100%; height: 6.4rem; padding: 0 0 0 0.8rem; border: 0; outline: none; background-color: transparent; font-weight: bold; font-size: 1.6rem; color: var(--color-white); letter-spacing: 0.1em; line-height: 6.4rem; transition: background-color 0.8s cubic-bezier(0.1, 0.85, 0.4, 1); }
.form-block .submit input[type="submit"]:disabled { background-color: var(--color-bg-gray); cursor: not-allowed; }
.form-list { line-height: 1; }
.form-list > .label { padding: 1.3rem 0; font-weight: bold; }
.form-list > .field { margin-bottom: 2.4rem; }
.mw_wp_form_confirm .form-list > .field { padding-top: 1.2rem; }
.form-list > .field .mwform-radio-field, .form-list > .field .mwform-checkbox-field { padding: 1.3rem 0; display: inline-block; }
.form-list > .field .mwform-radio-field:nth-child(n + 2), .form-list > .field .mwform-checkbox-field:nth-child(n + 2) { margin-left: 1.6rem; }
.form-list > .field.-zip input { width: 20rem; }
.form-list input { max-width: 100%; }
.form-list textarea { width: 100%; min-height: 16rem; line-height: 1.5; }
.form-list input, .form-list textarea { outline: none; padding: 1.2rem 1.6rem; border: 1px solid var(--color-border); background: var(--color-bg-lightgray); }
.form-list input:focus, .form-list textarea:focus { box-shadow: inset 0 0 2px 0 var(--color-bg-lightgray); }
.form-list input[type="text"], .form-list input[type="email"] { width: 100%; }
.form-list input[type="radio"], .form-list input[type="checkbox"] { margin-right: 0.8rem; vertical-align: middle; }
.form-list .error { margin-top: 4px; color: var(--color-accent-red) !important; }
.form-list ::placeholder { color: var(--color-text-gray); }
@media screen and (min-width:48em) {
.form-block { font-size: 1.4rem; }
.form-block .submit:not(.disabled):hover::before { left: 26.56%; }
.form-block .submit:not(.disabled):hover::after { width: 100%; }
.form-list > .label { float: left; width: 18rem; }
.form-list > .field { margin-left: 18rem; }
.form-list > .field::after { content: ""; display: block; clear: both; }
}
.member-list { display: flex; flex-wrap: wrap; }
.member-card { display: flex; flex-wrap: wrap; min-height: 100%; background-color: var(--color-bg-lightgray); }
.member-card > .content > .name > span, .member-card > .content > .job > span { display: block; line-height: 1.5; }
.member-card > .content > .name > .en, .member-card > .content > .job > .en { margin-top: 0.2rem; }
.member-card > .content > .name > .ja { font-size: 2.3rem; font-weight: 700; }
.member-card > .content > .name > .en { font-size: 1.3rem; letter-spacing: 0.013rem; }
.member-card > .content > .job > .ja { font-size: 1.4rem; font-weight: 700; }
.member-card > .content > .job > .en { font-size: 1.3rem; }
.member-card > .content > .desc { margin-top: 1.6rem; font-size: 1.6rem; font-weight: 400; line-height: 1.5; }
@media screen and (max-width:47.99em) {
.member-list { margin: -4.8rem 0 0; }
.member-list > .item { margin-top: 4.8rem; }
.member-card { padding: 2.4rem 2.4rem 3.2rem; }
.member-card > .photo { width: 100%; margin-bottom: 1.6rem; }
.member-card > .content > .job { margin-top: 0.8rem; }
}
@media screen and (min-width:48em) {
.member-list[class] { margin: 0 -2rem; margin-top: -4rem !important; }
.member-list > .item { width: 50%; margin-top: 2rem !important; padding: 0 1rem; }
.member-list > .item.-wide { width: 100%; }
.member-card { padding: 4.4rem 3.2rem 4.8rem; }
.member-card > .photo { width: 21.6rem; margin-right: 4.8rem; }
.member-card > .content { flex: 1; }
.member-card > .content > .job { min-height: 4.2rem; margin-top: 1.2rem; }
}

/* header */
.header-container { background-color: var(--color-white); box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); }
.header-container .nav { display: flex; align-items: center; }
.header-container .nav > .link-btn > a { display: flex; justify-content: center; align-items: center; width: 20rem; padding: 1.2rem 2.4rem; font-size: 1.6rem; font-weight: 700; border-radius: 2rem; overflow: hidden; }
.header-container .nav > .link-btn > a > .icon { width: 2rem; height: auto; margin-right: 0.8rem; }
.header-container .nav > .link-btn > a:hover > .icon { opacity: 1 !important; }
.header-nav { display: flex; flex-wrap: wrap; align-items: stretch; }
.header-nav > .item { font-weight: bold; letter-spacing: 0.03em; }
.header-nav > .item > .link { display: inline-block; font-size: 16px; }
.header-nav.-main > .item > .link > a, .header-nav.-main > .item > .link > span { position: relative; }
.header-nav.-second > .item > a::after { content: ""; position: absolute; display: inline-block; }
.header-nav.-second > .item:not(.-outbound) > a::after { border-style: solid; border-width: 2px 2px 0 0; transform: scale(0.9, 1) rotate(45deg) translateY(-50%); }
.header-nav.-second > .item.-outbound > a::after { transform: translate(0%, -50%); top: 50%; left: 1em; width: 1.125em; height: 1.125em; background-image: url(./../img/icon-tab.svg); background-repeat: no-repeat; background-size: contain; background-position: center; }
.header-nav.-second > .item.-outbound > a:hover::after { background-image: url(./../img/icon-tab-hover.svg); }
@media screen and (max-width:47.99em) {
.header-container { padding: 1.2rem 6.4% 1rem; }
.header-container > .second-nav-bg { display: none; }
.header-container > .logo { width: 16.8rem; }
.header-container .nav { flex-direction: column; }
.header-nav > .item a, .header-nav > .item a:link, .header-nav > .item a:visited { color: var(--color-text); }
.header-nav.-main { flex-direction: column; padding: 13.33vw 0 0.8rem; }
.header-nav.-main > .item { width: 100%; font-size: 1.6rem; }
.header-nav.-main > .item > .link { display: flex; flex-wrap: wrap; align-items: center; width: 100%; border-bottom: solid 1px var(--color-bg-lightgray); font-size: 1.6rem; }
.header-nav.-main > .item > .link > a, .header-nav.-main > .item > .link > span { flex: 1; padding: 1.6rem 6.4%; }
.header-nav.-main > .item > .link > .button { cursor: pointer; position: relative; display: inline-block; width: calc(4.8rem + 6.4%); height: 4.8rem; padding: 0; border: none; }
.header-nav.-main > .item > .link > .button::before, .header-nav.-main > .item > .link > .button::after { content: ""; position: absolute; transform: translate(-50%, -50%); top: 50%; left: 50%; width: 1.2rem; height: 0.1rem; background-color: var(--color-link); transition: transform 0.3s; }
.header-nav.-main > .item > .link > .button::after { transform: translate(-50%, -50%) rotate(90deg); }
.header-nav.-main > .item.-open > .link > .button::before { transform: translate(-50%, -50%) rotate(-90deg); opacity: 0; }
.header-nav.-main > .item.-open > .link > .button::after { transform: translate(-50%, -50%) rotate(0deg); }
.header-nav.-main > .item > .second-nav-wrapper .heading { display: none; }
.header-nav.-main > .item .text.-icon { margin-left: -0.4rem; }
.header-nav.-second > .item { width: 100%; border-bottom: solid 1px var(--color-bg-lightgray); }
.header-nav.-second > .item > a { display: block; position: relative; width: auto; padding: 1.6rem 6.4%; padding-left: calc(6.4% + 2.4rem); }
.header-nav.-second > .item.-outbound > a { padding-left: calc(6.4% + 4.8rem); }
.header-nav.-second > .item.-outbound > a::after { padding-left: calc(6.4% + 5.6rem); }
.header-nav.-second > .item:not(.-outbound) > a::after { position: absolute; top: calc(50% - 0.1rem); left: calc(6.4% - 0.2rem); width: 8px; height: 8px; display: inline-block; content: ""; border-style: solid; transform: scale(0.9, 1) rotate(45deg) translateY(-50%); }
}
@media screen and (min-width:48em) {
.header-container { position: relative; display: flex; padding: 0 1.66%; }
.header-container > .second-nav-bg { position: absolute; transform: translateY(100%); bottom: 2px; left: 0; width: 100%; height: 0; background-color: var(--color-white); box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); transition: opacity 0.3s, height 0.3s; }
.header-container > .logo { width: 20rem; }
.header-nav.-main { z-index: 2; }
.header-nav.-main > .item { display: flex; align-items: center; height: 100%; }
.header-nav.-main > .item > .link { position: relative; width: auto; }
.header-nav.-main > .item > .link > a { display: block; padding: 2.8rem 1.2rem; }
.header-nav.-main > .item > .link > a:hover, .header-nav.-main > .item > .link > a:active { color: var(--color-link); }
.header-nav.-main > .item.-current > .link > a::before { content: ""; display: inline; position: absolute; left: 0; bottom: 8px; width: 100%; height: 2px; background-color: var(--color-link); }
.header-nav.-main > .item > .link > .button { display: none; }
.header-nav.-main > .item > .second-nav-wrapper { position: absolute; top: 72px; left: 0px; z-index: -1; width: 100%; padding: 24px 0 56px; background-color: var(--color-white); opacity: 0; visibility: hidden; transition: visibility 0.2s cubic-bezier(0.1, 0.85, 0.4, 1), opacity 0.4s cubic-bezier(0.1, 0.85, 0.4, 1); }
.header-nav.-main > .item > .second-nav-wrapper > .inner { max-width: 1200px; width: 93.33%; margin-left: auto; margin-right: auto; }
.header-nav.-main .second-nav-wrapper > .inner > .heading { color: var(--color-text-lightgray); font-size: 28px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.header-nav.-main > .item:hover > a::after { width: 100%; }
.header-nav.-main > .item:hover > .second-nav-wrapper { opacity: 1; visibility: visible; transition: opacity 0.3s cubic-bezier(0.1, 0.85, 0.4, 1); }
.header-nav.-second { display: flex; flex-wrap: wrap; margin: 24px -32px 0; }
.header-nav.-second > .item { width: 33.33%; padding: 0 32px; }
.header-nav.-second > .item > a { overflow: hidden; position: relative; display: flex; align-items: center; min-height: 100%; padding: 20px 40px; border-bottom: solid 1px var(--color-border); font-size: 1.6rem; letter-spacing: 0.03125em; line-height: 1.5; }
.header-nav.-second > .item > a::before { content: ""; z-index: -1; position: absolute; top: 0; left: 0; width: calc(100% + 6.4rem); height: 100%; background-color: var(--color-hover-bg-light); transform-origin: right top; transform: skewX(-45deg) scale(0, 1); transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.07s; }
.header-nav.-second > .item > a:hover::before, .header-nav.-second > .item > a:active::before { transform-origin: left top; transform: skewX(-45deg) scale(1, 1); }
.header-nav.-second > .item:not(.-outbound) > a::after { top: 48%; left: 15px; width: 8px; height: 8px; border-color: var(--color-link); }
.header-nav.-second > .item a, .header-nav.-second > .item a:link, .header-nav.-second > .item a:visited { color: var(--color-link); transition: border 0.4s; }
.header-nav.-second > .item a:hover, .header-nav.-second > .item a:active { color: var(--color-hover); transition: border 0.4s; }
.header-nav.-second > .item a:hover::before, .header-nav.-second > .item a:active::before { border-color: var(--color-hover); }
/* .item.-current > a { color: var(--color-hover); } */
/* .item.-current > a::after { content: ""; position: absolute; right: 0; bottom: 6px; width: 100%; height: 2px; background-color: var(--color-test); } */
.hover-line { pointer-events: none; position: absolute; bottom: 8px; height: 2px; background-color: var(--color-link); transition: all 0.3s ease-in-out; }
}
@media screen and (min-width:80em) {
.header-nav.-main > .item > .link > a, .header-nav.-main > .item > .link > span { display: block; padding: 2.8rem 2rem; }
}
.header-nav-sub > .item { display: flex; flex-wrap: wrap; align-items: center; font-weight: bold; letter-spacing: 0.03em; }
.header-nav-sub > .item.-search { cursor: pointer; }
.header-nav-sub > .item > a, .header-nav-sub > .item > span { display: flex; flex-wrap: wrap; align-items: center; font-size: 16px; }
.header-nav > .item .text.-icon, .header-nav-sub > .item .text.-icon { position: relative; padding-left: 2.8rem; }
.header-nav > .item .text.-icon > img, .header-nav-sub > .item .text.-icon > img { position: absolute; transform: translateY(-50%); left: 0; top: 50%; width: 2rem; }
.header-nav > .item.-search .text > img, .header-nav-sub > .item.-search .text > img { top: 47%; }
@media screen and (max-width:47.99em) {
.header-nav-sub { width: 100%; padding: 1.2rem 2.4rem 0.8rem; }
.header-nav-sub > .item { margin-bottom: 0.8rem; }
.header-nav-sub > .item > a, .header-nav-sub > .item > span { width: 100%; padding: 0.8rem 0; }
.header-nav-sub .button { display: none; }
}
@media screen and (min-width:48em) {
.header-nav-sub { z-index: 1; display: flex; margin: 0 2rem 0 0; }
.header-nav-sub > .item > a, .header-nav-sub > .item > span, .header-nav-sub > .item.-search .button { padding: 1.6rem 1.2rem; }
.header-nav-sub > .item > a:hover, .header-nav-sub > .item > a:active, .header-nav-sub > .item > span:hover, .header-nav-sub > .item > span:active { color: var(--color-link); }
.header-nav-sub > .item.-search > span { padding: 0; }
}
@media screen and (min-width:80em) {
.header-nav-sub > .item > a, .header-nav-sub > .item > span, .header-nav-sub > .item.-search .button { padding: 1.6rem 2rem; }
}
.header-search { width: 100%; overflow: hidden; }
.header-search form { display: flex; justify-content: flex-end; }
.header-search input, .header-search button { border: none; border-radius: 0; padding: 1.2rem; }
.header-search input, .header-search input::placeholder, .header-search button, .header-search button::placeholder { font-size: 1.3rem; }
.header-search input { flex: 1; background-color: var(--color-white); box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2) inset; }
.header-search input::placeholder { color: var(--color-text-gray); }
.header-search button { background-color: var(--color-bg-dark); color: var(--color-white); font-weight: 700; }
@media screen and (max-width:47.99em) {
.header-search button { padding: 1.2rem 2.6rem; }
}
@media screen and (min-width:48em) {
.header-search { z-index: 1; position: absolute; transform: translateY(100%); bottom: 0; left: 0; background: var(--color-bg-lightgray); transition: 0.3s; }
.header-search:not(.-open) { visibility: hidden; opacity: 0; }
.header-search .inner { bottom: -2px; max-width: 100%; margin-left: auto; margin-right: auto; padding: 8px 1.66%; }
.header-search input { width: 36rem; flex: none; }
.header-search button { width: 11.2rem; }
}
@media screen and (max-width:47.99em) {
.nav-wrapper > .btn { position: absolute; top: 0; right: 0; z-index: 102; width: calc(4.8rem + 6.4%); height: 48px; display: block; cursor: pointer; }
.nav-wrapper > .btn > span { position: absolute; top: 50%; left: 50%; width: 28px; height: 1px; background-color: var(--color-link); display: block; margin-left: -14px; margin-top: -1px; }
.nav-wrapper > .btn > span::before, .nav-wrapper > .btn > span::after { background-color: var(--color-link); display: block; content: ""; transition: all 600ms cubic-bezier(0.19, 1, 0.22, 1); }
.nav-wrapper > .btn > span::before { position: absolute; top: 0; left: 0; width: 28px; height: 1px; transform: translateY(-7px); }
.nav-wrapper > .btn > span::after { position: absolute; top: 0; right: 0; width: 28px; height: 1px; transform: translateY(7px); }
.nav-wrapper > .nav { position: absolute; top: 0; left: 0; z-index: 100; width: 100%; height: 100vh; background-color: var(--color-white); opacity: 0; visibility: hidden; transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); padding-bottom: 2.4rem; }
.nav-wrapper.-active > .btn > span { background-color: transparent; }
.nav-wrapper.-active > .btn > span::before, .nav-wrapper.-active > .btn > span::after { background-color: var(--color-text); }
.nav-wrapper.-active > .btn > span::before { width: 2.8rem; transform: translateY(0) rotate(45deg) scale(1); }
.nav-wrapper.-active > .btn > span::after { width: 2.8rem; transform: translateY(0) rotate(-45deg); }
.nav-wrapper.-active > .nav { opacity: 1; visibility: visible; transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); overflow: scroll; }
.nav-wrapper .link-btn.-contact { width: 100%; padding: 1.2rem 2.4rem 0.8rem; }
.nav-wrapper .link-btn.-contact > a { padding: 1.6rem 2.4rem; border-radius: 2.4rem; }
}

/* footer */
.footer-container { background-color: var(--color-white); }
.footer-block .footer-info { letter-spacing: 0.1em; }
.footer-block .footer-info__logo { margin-bottom: 1em; width: 16.8rem; }
.footer-block .footer-info__txt { margin-top: 1em; }
.footer-block { font-size: 1.3rem; }
.footer-block.-sub { background-color: var(--color-bg-primary); color: var(--color-white); font-size: 1.2rem; font-weight: 400; line-height: 1.5; }
.footer-nav-main__item > a { position: relative; padding-left: 1.6rem; }
.footer-nav-main__item > a::before { content: ""; position: absolute; transform: translateY(-50%); top: 0.5em; left: 0; border: 0.3rem solid transparent; border-left: 0.6rem solid var(--color-link); }
.footer-nav-sub a { font-weight: 400; }
@media screen and (max-width:47.99em) {
.footer-block { text-align: left; }
.footer-block.-main { padding: 3.2rem 2.4rem 4.8rem; line-height: 1.33; }
.footer-block.-sub { padding: 2.4rem 2.4rem 4rem; }
.footer-nav-main { display: none; }
.footer-nav-sub__item { margin-bottom: 0.8rem; }
.footer-nav-sub__item a, .footer-nav-sub__item a:link, .footer-nav-sub__item a:visited { color: var(--color-white); }
.footer-block__copyright { margin-top: 2rem; font-size: 1rem; line-height: 1.33; }
}
@media screen and (min-width:48em) {
.footer-block .footer-info { margin-right: auto; font-size: 1.4rem; line-height: 1.6; }
.footer-block .footer-block__inner { display: flex; max-width: 110rem; margin: 0 auto; }
.footer-block.-main > .footer-block__inner { padding: 8rem 0; }
.footer-block.-sub > .footer-block__inner { padding: 1.6rem 0; }
.footer-nav-main { margin-left: 5.81%; font-weight: bold; }
.footer-nav-main a:hover, .footer-nav-main a:active { color: var(--color-hover); }
.footer-nav-main__item { font-weight: 700; letter-spacing: 0.1em; }
.footer-nav-main__item:nth-child(n + 2) { margin-top: 2rem; }
.footer-nav-second { margin-top: 2rem; padding-left: 1.6rem; font-weight: normal; }
.footer-nav-second__item { margin-top: 1.2rem; }
.footer-nav-sub { display: flex; }
.footer-nav-sub__item { margin-right: 3.2rem; }
.footer-nav-sub__item a, .footer-nav-sub__item a:link, .footer-nav-sub__item a:visited { display: inline-block; border-bottom: 1px solid transparent; color: var(--color-white); transition: border 0.4s; }
.footer-nav-sub__item a:hover, .footer-nav-sub__item a:active { border-bottom-color: var(--color-white); }
.footer-block__copyright { margin-left: auto; }
}
.btn-totop .arrow { display: inline-block; position: relative; width: 100%; height: 100%; }
.btn-totop .arrow::after { position: absolute; width: 18%; height: 18%; display: inline-block; content: ""; border-style: solid; border-width: 2px 2px 0 0; transform: translateY(-50%) rotate(-45deg); text-align: center; }
.btn-totop { position: fixed; right: 1rem; bottom: 4.8rem; width: 53px; height: 53px; border-radius: 50%; background-color: var(--color-link-accent); opacity: 0; transition: opacity 0.8s; overflow: hidden; }
.btn-totop .arrow { width: 55px; height: 55px; z-index: 2; }
.btn-totop .arrow::after { top: 54%; left: 38%; border-color: var(--color-white); transition: top 0.4s cubic-bezier(0.1, 0.85, 0.4, 1); }
.btn-totop .arrow:hover::after, .btn-totop .arrow:active::after { top: 48%; }
.btn-totop.-sticky { opacity: 1; transition: opacity 1s; }
.btn-totop a { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; }
.btn-totop a::before { content: ""; position: absolute; top: 100%; left: 0; z-index: -1; width: 100%; height: 100%; background-color: var(--color-hover-accent); border-radius: 50%; transition: top 0.2s cubic-bezier(0.29, 0.18, 0.26, 0.83); }
.btn-totop a:hover::before { top: 0; }
@media screen and (min-width:48em) {
.btn-totop { bottom: 8rem; }
}

/* contact */
.contact-block > .link { display: block; background: var(--color-bg-primary) url("./../img/contact-bg-shape.svg") -100px top/contain no-repeat; font-weight: bold; font-size: 1.6rem; letter-spacing: 0.1em; }
.contact-block .inner { text-align: center; }
.contact-block .text { position: relative; display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; padding-right: 1.6rem; color: var(--color-white); line-height: 1.5; }
.contact-block .text::after { content: ""; position: absolute; top: 54.2%; right: 0.25rem; width: 0.5em; height: 0.5em; transform: translateY(-50%) rotate(45deg); border-top: solid 0.2rem var(--color-white); border-right: solid 0.2rem var(--color-white); }
.contact-block .link:hover .icon { opacity: 1; }
@media screen and (max-width:47.99em) {
.contact-block > .link { padding: 4rem 0 4.8rem; }
.contact-block .text { font-size: 1.8rem; }
.contact-block .text > .icon { width: 2rem; margin-right: 0.8rem; }
}
@media screen and (min-width:48em) {
.contact-block > .link { display: flex; justify-content: center; align-items: center; padding: 8rem 3.33%; background-position: -120px top; transition: opacity 0.3s; }
.contact-block .text { padding-right: 1.6rem; font-size: 2.1rem; }
.contact-block .text > .icon { width: 2.4rem; margin-right: 1.2rem; }
.contact-block .link:hover { opacity: 0.7; }
}

/* step table */
.table-step > .item > .title, .training-step { font-weight: bold; font-size: 1.6rem; color: var(--color-white); letter-spacing: 0.06em; text-align: center; }
.training-step { list-style: none; line-height: 1.4; }
.training-step > .item { position: relative; padding: 1.6rem; background: var(--color-bg-green); }
.training-step > .item.-green { background: var(--color-bg-green-accent); }
.training-step > .item:nth-last-child(n + 2) { margin-bottom: 2.6rem; }
.training-step > .item:nth-last-child(n + 2)::after { content: " "; position: absolute; top: calc(100% + 0.8rem); left: calc(50% - 6px); width: 0; height: 0; border: 12px solid transparent; border-top-color: var(--color-text-gray-dark); }
.table-step { list-style: none; }
.table-step > .item { flex-basis: 20%; border: 1px solid var(--color-white); }
.table-step > .item.col4 { flex-basis: 25%; }
.table-step > .item > .title { border-bottom: 2px solid var(--color-white); padding: 1.4rem 0; line-height: 1; }
.table-step > .item > .desc { padding: 1.4rem 1.2rem 1.4rem 2rem; line-height: 1.71em; }
.table-step > .item > .desc ul { margin-left: 0.6rem; }
.table-step > .item > .desc li { font-size: 1.4rem; padding-left: 0; line-height: 1.4; list-style: disc; }
.table-step > .item > .desc li:before { display: none; }
.table-step > .item { background-color: var(--color-bg-blue-light); }
.table-step > .item:nth-child(2n) { background-color: var(--color-bg-blue); }
.table-step > .item:nth-child(1) > .title { background-color: var(--color-gd-blue-1); }
.table-step > .item:nth-child(2) > .title { background-color: var(--color-gd-blue-2); }
.table-step > .item:nth-child(3) > .title { background-color: var(--color-gd-blue-3); }
.table-step > .item:nth-child(4) > .title { background-color: var(--color-gd-blue-4); }
.table-step > .item:nth-child(5) > .title { background-color: var(--color-gd-blue-5); }
@media screen and (min-width:48em) {
.table-step { display: flex; }
.table-step > .title { border-bottom: 2px solid var(--color-white); padding: 2rem 0; }
.table-step > .desc { padding: 2rem 2.4rem; }
}

/* sap-solution, jd-net, md-net */
.flex-box { display: flex; flex-wrap: wrap; justify-content: space-between; margin-left: 1em; }
.flex-box::after { content: ""; display: block; width: 30%; }
.flex-box li { width: 30%; padding-left: 1.5em; margin-top: 0.25em !important; margin-bottom: 0.25em; }
.content-editor *:first-child .flex-box li { margin-top: 0.25em !important; }
.flex-box li:before { text-indent: -1.5em; display: inline-block; content: "\2022"; }
@media screen and (max-width:47.99em) {
.flex-box li { width: 100%; }
}

/* vision */
.sign { margin-left: auto; margin-right: 0; display: inline-block; }
.sign div { width: 32%; }
.signBox { width: 100%; display: flex; flex-wrap: wrap; justify-content: right; }
.sign_position { margin-right: 2rem; }
.sign_name, .sign_position { display: inline-block; }
/* .page-numbers { display: flex; flex-wrap: wrap; justify-content: center; }
.page-numbers li { position: relative; }
.page-numbers li:not(:first-child) { margin-left: 0.8rem; }
.page-numbers li > a, .page-numbers li > span { box-sizing: border-box; display: block; width: 4rem; padding: 1.3rem 1rem; background-color: var(--color-bg-lightgray); text-align: center; }
.page-numbers li > .current { background-color: var(--color-bg-accent); color: var(--color-white); } */


/* Layout
--------------------------------------------------- */

/* frame */
.site-container { min-height: 100vh; display: flex; flex-direction: column; }
.site-container > .header-container, .site-container > .footer-container { flex-grow: 0; width: 100%; }
.site-container > .content-container { flex-grow: 1; width: 100%; }
@media screen and (max-width:47.99em) {
.site-container > .header-container { position: fixed; top: 0; z-index: 100; }
.site-container > .content-container { margin-top: 48px; overflow: hidden; }
.content-container .inner { margin: 0 auto; width: 87.2%; }
}
@media screen and (max-width:23.4275em) {
.content-container .inner { width: 91.47%; }
}
@media screen and (min-width:48em) {
.content-container > .inner { min-height: 50vh; }
.site-container > .header-container, .site-container > .footer-container, .site-container > .content-container { min-width: 1080px; }
.site-container > .header-container { position: fixed; top: 0; left: 0; z-index: 100; display: flex; justify-content: space-between; align-items: center; width: 100%; }
.site-container > .content-container { margin-top: 7.2rem; }
.content-container .inner { margin: 0 auto; width: 93.33%; max-width: 1100px; }
.content-container .inner.-xnarrow { max-width: 800px; }
.content-container .inner.-narrow { max-width: 880px; }
.content-container .inner.-thin { max-width: 1000px; }
.content-container .inner.-wide { max-width: 1280px; }
.content-container .inner.-xwide { max-width: 93.33%; }
}

/* site-mask */
.site-mask { z-index: 50; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-color: rgba(0, 0, 0, 0.5); opacity: 1; visibility: visible; transition: all 0.4s cubic-bezier(0.1, 0.85, 0.4, 1); }
.site-mask:not(.-active) { visibility: hidden; opacity: 0; }

/* column */
.col-wrapper > .col { list-style: none; }
@media screen and (max-width:47.99em) {
.col-wrapper.-intro > .col:nth-child(n + 2) { margin-top: 6.4vw; }
.col-wrapper.-c2 > .col:nth-child(n + 2), .col-wrapper.-c3 > .col:nth-child(n + 2) { margin-top: 5.33vw; }
.col-wrapper.-c4 > .col:nth-child(n + 2), .col-wrapper.-c5 > .col:nth-child(n + 2) { margin-top: 4.27vw; }
.col-wrapper.-case { display: flex; flex-wrap: wrap; justify-content: space-between; }
.col-wrapper.-case > .col { width: calc(50% - 4px); }
.col-wrapper.-case > .col:nth-child(n + 3) { margin-top: 8px; }
}
@media screen and (min-width:48em) {
.col-wrapper { display: flex; flex-wrap: wrap; justify-content: space-between; }
.col-wrapper.-intro > .col { width: calc(33.33% - 1.6rem); }
.col-wrapper.-intro > .col:nth-child(3n-2):nth-last-child(2) { margin-right: 2.4rem; margin-left: auto; }
.col-wrapper.-intro > .col:nth-child(3n-1):last-child { margin-right: auto; }
.col-wrapper.-intro > .col:nth-child(3n-2):last-child { margin-right: auto; margin-left: auto; }
.col-wrapper.-intro > .col:nth-child(n + 4) { margin-top: 2.4rem; }
.col-wrapper.-casestudy { margin: 2.4%; }
.col-wrapper.-casestudy > .col { width: calc(50% - 2rem); }
.col-wrapper.-casestudy > .col:nth-child(n + 3) { margin-top: 4rem; }
.col-wrapper.-c2 > .col { width: calc(50% - 4rem); }
.col-wrapper.-c2 > .col:nth-child(n + 3) { margin-top: 2.4rem; }
.col-wrapper.-c3 > .col { width: calc(33.33% - 2.4rem); }
.col-wrapper.-c3 > .col:nth-child(3n-1):last-child { margin-right: calc(33.33% + 1.2rem); }
.col-wrapper.-c3 > .col:nth-child(n + 4) { margin-top: 4rem; }
.col-wrapper.-case > .col, .col-wrapper.-c4 > .col { width: calc(25.5% - 2rem); }
.col-wrapper.-case > .col:nth-child(4n-2):last-child, .col-wrapper.-c4 > .col:nth-child(4n-2):last-child { margin-right: calc(50% + 0.6rem); }
.col-wrapper.-case > .col:nth-child(4n-1):last-child, .col-wrapper.-c4 > .col:nth-child(4n-1):last-child { margin-right: calc(25% + 0.6rem); }
.col-wrapper.-case > .col:nth-child(n + 5), .col-wrapper.-c4 > .col:nth-child(n + 5) { margin-top: 1.6rem; }
.col-wrapper.-c5 > .col { width: calc(20% - 2rem); }
.col-wrapper.-c5 > .col:nth-child(5n-3):last-child { margin-right: calc(60% + 1rem); }
.col-wrapper.-c5 > .col:nth-child(5n-2):last-child { margin-right: calc(40% + 1rem); }
.col-wrapper.-c5 > .col:nth-child(5n-1):last-child { margin-right: calc(20% + 1rem); }
.col-wrapper.-c5 > .col:nth-child(n + 6) { margin-top: 2rem; }
}

/* page */
@media screen and (max-width:47.99em) {
.home .section-heading { margin-bottom: 1.6rem; }
.news.-archive .news-list { margin-top: 1.6rem; }
.news.-single .content-editor { margin-top: 3.2rem; margin-bottom: 3.2rem; }
}
@media screen and (min-width:48em) {
.home .section-heading { margin-bottom: 2.4rem; }
.news.-archive .news-list { margin-top: 3.2rem; }
.news.-single .content-editor { margin-top: 6rem; margin-bottom: 6rem; }
}


/* Trump
--------------------------------------------------- */

/* Typo */
._center { text-align: center !important; }
._left { text-align: left !important; }
._right { text-align: right !important; }
._small { font-size: 1.2rem !important; }
._large { font-size: 1.6rem !important; }
._word { display: inline-block !important; }

/* layout */
._m0 { margin: 0 !important; }
._mt0 { margin-top: 0 !important; }
._mb0 { margin-bottom: 0 !important; }
._mt4 { margin-top: 0.2rem !important; }
._mb4 { margin-bottom: 0.2rem !important; }
._mt8 { margin-top: 0.4rem !important; }
._mb8 { margin-bottom: 0.4rem !important; }
._mt24 { margin-top: 1.2rem !important; }
._mb24 { margin-bottom: 1.2rem !important; }
._mt32 { margin-top: 1.6rem !important; }
._mb32 { margin-bottom: 1.6rem !important; }
._mt40 { margin-top: 2rem !important; }
._mb40 { margin-bottom: 2rem !important; }
._mt48 { margin-top: 2.4rem !important; }
._mb48 { margin-bottom: 2.4rem !important; }
._mt56 { margin-top: 2.8rem !important; }
._mb56 { margin-bottom: 2.8rem !important; }
._mt64 { margin-top: 3.2rem !important; }
._mb64 { margin-bottom: 3.2rem !important; }
._mt72 { margin-top: 3.6rem !important; }
._mb72 { margin-bottom: 3.6rem !important; }
._mt80 { margin-top: 4rem !important; }
._mb80 { margin-bottom: 4rem !important; }
._mt96 { margin-top: 4.8rem !important; }
._mb96 { margin-bottom: 4.8rem !important; }
._mt120 { margin-top: 6rem !important; }
._mb120 { margin-bottom: 6rem !important; }
._p0 { padding: 0 !important; }
._pt0 { padding-top: 0 !important; }
._pb0 { padding-bottom: 0 !important; }
._cf::after { content: ""; display: table; clear: both; }
._pull-rt { float: right !important; }
._pull-lt { float: left !important; }
@media screen and (min-width:48em) {
._mt4 { margin-top: 0.4rem !important; }
._mb4 { margin-bottom: 0.4rem !important; }
._mt8 { margin-top: 0.8rem !important; }
._mb8 { margin-bottom: 0.8rem !important; }
._mt24 { margin-top: 2.4rem !important; }
._mb24 { margin-bottom: 2.4rem !important; }
._mt32 { margin-top: 3.2rem !important; }
._mb32 { margin-bottom: 3.2rem !important; }
._mt40 { margin-top: 4rem !important; }
._mb40 { margin-bottom: 4rem !important; }
._mt48 { margin-top: 4.8rem !important; }
._mb48 { margin-bottom: 4.8rem !important; }
._mt56 { margin-top: 5.6rem !important; }
._mb56 { margin-bottom: 5.6rem !important; }
._mt64 { margin-top: 6.4rem !important; }
._mb64 { margin-bottom: 6.4rem !important; }
._mt72 { margin-top: 7.2rem !important; }
._mb72 { margin-bottom: 7.2rem !important; }
._mt80 { margin-top: 8rem !important; }
._mb80 { margin-bottom: 8rem !important; }
._mt96 { margin-top: 9.6rem !important; }
._mb96 { margin-bottom: 9.6rem !important; }
._mt120 { margin-top: 12rem !important; }
._mb120 { margin-bottom: 12rem !important; }
}

/* responsive */
._pc { display: none !important; }
@media screen and (min-width:48em) {
._pc { display: initial !important; }
._sp { display: none !important; }
}

/* f**k IE */
@media all and (-ms-high-contrast:none) {
.site-container { display: block; }
}


/* JS, Plugin
--------------------------------------------------- */

/* body, hero fade-in */
.js-body { opacity: 0; }
.js-hero { opacity: 0; }
.js-hero > .hero-copy { top: 55%; }
.js-hero > .hero-copy > .slogan, .js-hero > .hero-copy > .tagline { opacity: 0; }
.js-body.-fadein { opacity: 1; transition: opacity 0.5s ease-in-out; }
.js-hero.-fadein { opacity: 1; transition: opacity 0.5s ease 0.5s; }
.js-hero.-fadein > .hero-img { transform: scale(1.2); transition: transform 30s ease-in-out; }
.js-hero.-fadein > .hero-copy { top: 50%; }
.js-hero.-fadein > .hero-copy > .slogan { opacity: 1; transition: opacity 1.2s ease-in-out 1.2s; }
.js-hero.-fadein > .hero-copy > .tagline { opacity: 1; transition: opacity 1s ease-in-out 2.8s; }
@media screen and (max-width:47.99em) {
.js-secondNavItem .js-secondNav { overflow: hidden; transition: 0.3s height, 0.3s visibility; }
.js-secondNavItem:not(.-open) .js-secondNav { height: 0 !important; visibility: hidden; }
}
@media screen and (min-width:48em) {
.js-secondNavItem .js-secondNav { height: auto !important; }
}

/* wp login */
.customize-support .header-container { top: 32px; }

/* sitemap */
#sitemap_list { margin: 0; padding: 0; line-height: 1.5; }
#sitemap_list a { text-decoration: none; }
#sitemap_list li { font-size: medium; text-indent: 0; background: url(./../img/sm/line_horizontal_solid.gif) repeat-x 0 1.5em; padding: 0 0 20px 5px; margin: 0; list-style-type: none; }
#sitemap_list li::before { display: none !important; }
#sitemap_list li ul { margin: 0; padding: 5px 0 0 0; }
#sitemap_list li li { font-size: small; font-weight: normal; background: url(./../img/sm/ico_list_square.gif) no-repeat 0 0.5em; margin: 0 0 3px 15px; padding: 0 0 0 15px; }
#sitemap_list li li li { background: url(./../img/sm/ico_gray_arrow.png) no-repeat 0 0.5em; }
#sitemap_list .posts_in_category { position: absolute; padding-left: 10px; }
#sitemap_list .posts_in_category a { background: url(./../img/sm/ico_post_list.png) no-repeat center; text-indent: -9999px; display: block; width: 1.2em; height: 1.2em; border: solid 1px var(--color-border); }
#sitemap_list li ul { padding: 0.8rem 0 1.2rem; }
#sitemap_list .cat-item-1 ul { display: none; }
#sitemap_list li { padding: 0.2rem 0 1.2rem; background: 0 2em; border-bottom: 1px solid var(--color-border); margin-bottom: 1.2rem; }
#sitemap_list li ul li { border: none; }
#sitemap_list li a:hover { color: var(--color-hover); }

/* typo setting for english */
body.lang-en { font-family: "Roboto", sans-serif; letter-spacing: 0.15rem; }
@media screen and (max-width:47.99em) {
body.lang-en .casestudy-card > .txt > .desc { line-height: 1.25; }
}
@media screen and (max-width:47.99em) {
body.lang-en .hero-menu-list { justify-content: left; max-width: 336px; margin: 0 auto; }
}
@media screen and (max-width:24.375em) {
body.lang-en .hero-menu-list { max-width: 320px; }
}
@media screen and (max-width:47.99em) {
body.lang-en .hero-service .heading > span { line-height: 1; }
body.lang-en .hero-service .item > .content { padding-top: 0.4rem; }
body.lang-en .hero-service .list > li { line-height: 1.25; }
body.lang-en .hero-service .list > li > a { padding: 0.2rem 0 0.2rem 2.2rem; }
body.lang-en .hero-service .txt { font-size: 12px; line-height: 1.33; }
}
@media screen and (min-width:48em) {
.lang-en .hero-service .txt { line-height: 1.5; }
}