/*!
Theme Name: kop
Author: KOP Inc.
Author URI: https://www.kop.co.jp/
Version: 1.0.0
*/

* {
	box-sizing: border-box;
}
body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	line-height: 1.5;
	background-color: #fafafa;
	color: #333;
	min-width: 375px;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
}
a {
	color: inherit;
}
a:hover {
	opacity: 0.75;
}
p {
	line-height: 1.75;
}
ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
section {
	margin: 8rem auto;
}
::placeholder {
	color: #d5d5d5;
}
.spBr {
	display: none;
}
.main {
	margin-top: 105px;
}
.inner {
	max-width: 1200px;
	margin: auto;
	padding: 0 2rem;
	box-sizing: content-box;
}
.inner.middle {
	max-width: 1024px;
}
.inner.narrow {
	max-width: 640px;
}
.title {
	margin: 0 0 3rem;
	font-weight: 700;
	font-size: 32px;
	letter-spacing: 0.1em;
}
.topicTitle {
	margin: 0 0 2.5rem;
	font-weight: 700;
	font-size: 22px;
	letter-spacing: 0.1em;
}
.linkBtn {
	display: block;
	width: max-content;
	text-decoration: none;
	background-color: #0c0c0c;
	border-radius: 2em;
	color: #fff;
	padding: 1em 2em;
	cursor: pointer;
}
.linkBtn i {
	margin-left: 0.5em;
}
.center {
	text-align: center;
}
.highlight {
	background-image: linear-gradient(to top, #feff7b 40%, transparent 40%);
	color: #333;
}
.engTitle {
	font-size: 42px;
	font-weight: 900;
	line-height: 1.25;
	color: #000;
	text-transform: uppercase;
	margin: 0 0 4rem;
}
.contentHeader {
	background-color: #f4f4f4;
	padding: 3rem 0;
}
.contentHeader .engTitle {
	margin: 0;
	line-height: 1;
}
.breadcrumbs {
	font-family: 'Line Awesome Free';
	font-weight: 900;
	color: #777;
	margin: 0;
	line-height: 1.5;
}
.breadcrumbs a,
.breadcrumb_last {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: normal;
	text-decoration: none;
}
.breadcrumb_last {
	color: #333;
}
.colorSec {
	padding: 6rem 0;
	margin: 0;
	background-color: #fff;
}
.colorSec.white {
	background-color: #fff;
}
.colorSec.pickup {
	position: relative;
	overflow: hidden;
	padding-top: 8rem;
}
.colorSec.pickup:before {
	content: "";
	position: absolute;
	top: 0;
	left: -12.5%;
	background-color: #fafafa;
	height: 50%;
	width: 125%;
	border-radius: 100%;
	transform: translateY(-50%);
}
.colorDiv {
	display: flex;
	border-radius: 16px;
	background-color: #fff;
	align-items: center;
	padding: 6rem 1rem;
}
.colorDiv.blue {
	background-color: #ddeffe;
}
.colorDiv.red {
	background-color: #fdf4f4;
}
.colorDiv.green {
	background-color: #e2f1da;
}
.colorDiv.pink {
	background-color: #F7D6E0;
}
.colorDivImg {
	padding: 0 1rem;
	flex: 1;
	position: relative;
}
.colorDivImg img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 80%;
	transform: translateY(-40%);
}
.colorDivContent {
	padding: 0 1rem;
	flex: 1;
}
.colorDivTitle {
	font-size: 36px;
	font-weight: 900;
	margin: 0 0 1rem;
}
.colorDivContent p {
	color: #777;
}
.colorDivContent p:first-of-type {
	margin-top: 0;
}
.colorDivContent p:last-of-type {
	margin-bottom: 0;
}
.colorDivContent .linkBtn {
	margin-top: 1rem;
}
.threeColDivTitle {
	text-align: center;
	font-size: 24px;
	font-weight: 900;
	margin: 0 0 4rem;
}
.threeColDiv ul {
	display: flex;
	text-align: center;
}
.threeColDiv ul:nth-of-type(n+2) {
	margin-top: 3rem;
}
.threeColDiv ul li {
	flex: 1;
	padding: 0 1rem;
}
.threeColDiv ul li.disable {
	opacity: 0.25;
}
.threeColIcon {
	display: block;
	width: 80px;
	height: 80px;
	background-image: linear-gradient(133deg, #f7f7f7, #eeeeee);
	border-radius: 100%;
	margin: auto;
}
.threeColDiv ul h3,
.threeColDiv ul h4 {
	font-size: 24px;
	font-weight: bold;
	margin: 1.5rem 0 1rem;
}
.threeColDiv ul h3 .smaller,
.threeColDiv ul h4 .smaller {
	font-size: 0.75em;
}
.threeColDiv ul p {
	font-size: 13px;
	margin: 0;
	line-height: 2;
}
.threeColDiv ul b {
	font-weight: inherit;
	color: #333;
}
.serviceContent .toc_list li ul {
	display: none;
}
.serviceLead {
	text-align: center;
	margin-bottom: 8rem;
}
.serviceLeadCopy {
	font-size: 48px;
	margin: 0 0 24px;
}
.serviceLeadCopySub {
	font-size: 24px;
	margin: 0 0 8px;
}
.serviceItemText {
	grid-area: 3/2/4/3;
	font-size: 14px;
	margin: 12px 0 24px;
}
.serviceLeadText p:first-child {
	margin-top: 0;
}
.serviceLeadText p:last-child {
	margin-bottom: 0;
}
.serviceItem + .serviceItem {
	margin-top: 8rem;
}
.serviceItem {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr min-content min-content 1fr;
	column-gap: 2rem;
}
.serviceItemImage {
	grid-area: 1/1/5/2;
	align-self: center;
}
.serviceItemEn {
	grid-area: 1/2/2/3;
	align-self: end;
	font-size: 28px;
	font-weight: 900;
	line-height: 1.25;
	color: #d7d7d7;
	text-transform: uppercase;
}
.serviceItemJa {
	grid-area: 2/2/3/3;
	font-size: 40px;
	letter-spacing: 0.1em;
	margin: 0;
}
.serviceItemText {
	grid-area: 3/2/4/3;
	font-size: 14px;
}
.serviceItem .linkBtn {
	grid-area: 4/2/5/3;
	align-self: start;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.1em;
	width: 240px;
	text-align: center;
	padding: 0;
	line-height: 60px;
}
.serviceItem .linkBtn.red {
	background-color: #E66654;
}
.serviceItemText p:first-child {
	margin-top: 0;
}
.serviceItemText p:last-child {
	margin-bottom: 0;
}
.serviceMv {
	margin: 0;
	background-size: 100% 100%;
	padding: 4rem 0;
}
.serviceMv.website {
	background-image: url('./images/service_website-mvbg.jpg');
}
.serviceMv.consulting {
	background-image: url('./images/service_consulting-mvbg.jpg');
}
.serviceMvDiv {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8rem;
}
.serviceMvContent {
	flex-shrink: 0;
}
.serviceMvCopy {
	margin: 0 0 1rem;
	font-size: 6rem;
	line-height: 1.353;
	color: #111;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
.serviceMvCopy b {
	font-weight: 900;
}
.serviceMvText {
	font-size: 1.125rem;
	font-weight: 700;
	margin: 0;
	line-height: 1.65;
	letter-spacing: 0.1em;
}
.servicePhilosophy {
	text-align: center;
}
.servicePhilosophy h3 {
	font-size: 2.5rem;
	letter-spacing: 0.05em;
	padding-left: 0.05em;
	margin: 0 0 2rem;
	line-height: 1.35;
}
.servicePhilosophy h4 {
	font-size: 1.5rem;
	margin: 0 0 0.5rem;
	line-height: 1.35;
}
.servicePhilosophy p {
	font-size: 14px;
	margin: 0;
}
.serviceCases li {
	display: flex;
	align-items: center;
	gap: 3rem;
}
.serviceCases li + li {
	margin-top: 2rem;
}
.serviceCasesImg {
	flex-basis: 65%;
	flex-shrink: 0;
}
.serviceCasesContent h3 {
	margin: 0 0 16px;
	font-size: 28px;
	line-height: 1.5;
}
.serviceCasesContent div {
	display: flex;
	align-items: center;
	font-size: 13px;
}
.serviceCasesContent div img {
	max-height: 18px;
	max-width: 120px;
}
.serviceCasesContent p {
	font-size: 13px;
}
.serviceCasesContent p:last-child {
	margin-bottom: 0;
}
.serviceWhyHow {
	border-bottom: 1px solid #333;
}
.serviceWhyHow li {
	display: grid;
	grid-template-columns: 25% 1fr;
	border-top: 1px solid #333;
}
.serviceWhyHowNum {
	grid-area: 1/1/3/2;
	font-size: 196px;
	font-weight: 900;
	line-height: 1;
	color: #c2c2c2;
	text-transform: uppercase;
	position: relative;
	text-align: center;
}
.serviceWhyHowNum:after {
	content: "";
	background-color: #333;
	position: absolute;
	width: 1px;
	top: 20px;
	bottom: 20px;
	right: 0;
}
.serviceWhyHowWhy {
	grid-area: 1/2/2/3;
	display: flex;
	position: relative;
	padding: 1.5rem 0;
}
.serviceWhyHowWhy:after {
	content: "";
	background-color: #333;
	position: absolute;
	height: 1px;
	right: 20px;
	left: 20px;
	bottom: 0;
}
.serviceWhyHowHow {
	grid-area: 2/2/3/3;
	display: flex;
	padding: 1.5rem 0;
}
.serviceWhyHowEn {
	font-size: 64px;
	font-weight: 900;
	line-height: 1;
	color: #000048;
	text-transform: uppercase;
	flex-basis: 25%;
	flex-shrink: 0;
	text-align: center;
}
.serviceWhyHowWhy h3 {
	font-size: 32px;
	margin: 0 0 8px;
	letter-spacing: 0.1em;
}
.serviceWhyHowWhy dl {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
}
.serviceWhyHowWhy dl dt {
	font-size: 10px;
	letter-spacing: 0.2em;
	background-color: #000048;
	color: #fff;
	font-weight: 700;
	padding: 4px 12px;
	white-space: nowrap;
}
.serviceWhyHowWhy dl dd {
	font-weight: 700;
	margin: 0;
	color: #000048;
	font-size: 18px;
	letter-spacing: 0.1em;
}
.serviceWhyHowHow h3 {
	font-size: 24px;
	margin: 0 0 8px;
	letter-spacing: .1em;
}
.serviceWhyHowHow p {
	font-size: 13px;
	margin: 0;
}
.serviceWhyHowHow p b {
	font-weight: inherit;
	background-color: #ffff6a;
}
.serviceSpecial {
	display: grid;
	gap: 24px 80px;
	grid-template-columns: 56.25% 1fr;
}
.serviceSpecial li:nth-child(1) {
	grid-area: 1/1/3/2;
}
.serviceSpecial li:nth-child(2) {
	grid-area: 1/2/2/3;
}
.serviceSpecial li:nth-child(3) {
	grid-area: 2/2/3/3;
}
.serviceSpecial img {
	border-radius: 0.5rem;
	overflow: hidden;
	width: 100%;
}
.serviceSpecial h3 {
	font-size: 40px;
	font-weight: 700;
	margin: 2rem 0 1.5rem;
}
.serviceSpecial h4 {
	font-size: 24px;
	margin: 0.75rem 0 0;
}
.serviceSpecial p {
	font-size: 13px;
	margin: 0;
}
.serviceSpecial li:nth-child(1) h4 {
	font-size: 20px;
	margin-bottom: 0.5rem;
}
.serviceSpecial li:nth-child(1) p {
	font-size: 15px;
}
.serviceSolutionsDiv {
	margin-top: 3rem;
}
.serviceSolutionsDiv h3 {
	margin: 0 0 1.5rem;
	font-size: 24px;
}
.serviceSolutionsProblems {
	display: flex;
	gap: 1rem;
}
.serviceSolutionsProblems li {
	flex: 1;
	background-color: #ECEDF5;
	font-weight: 700;
	font-size: 18px;
	text-align: center;
	padding: 1rem 0.5rem;
}
.serviceSolutionsTable {
	display: flex;
	gap: 1.5rem;
}
.serviceSolutionsTable .labels p {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 62px;
	color: #555;
	letter-spacing: 0.1em;
}
.serviceSolutionsTable dl {
	margin: 0;
	text-align: center;
	border: 2px solid;
	border-radius: 0.75rem;
	overflow: hidden;
}
.serviceSolutionsTable dt {
	color: #fff;
	font-weight: 700;
	padding: 0.75rem;
}
.serviceSolutionsTable dd {
	margin: 0;
	padding: 1rem;
}
.serviceSolutionsTable dl.purpose {
	border-color: #456990;
	flex: 1;
}
.serviceSolutionsTable dl.purpose > dt {
	background-color: #456990;
	font-size: 18px;
}
.serviceSolutionsTable dl.purpose > dd {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr 1fr;
}
.serviceSolutionsTable dl.imp {
	border-color: #EF767A;
}
.serviceSolutionsTable dl.imp > dt {
	background-color: #EF767A;
}
.serviceSolutionsTable dl.cvr {
	border-color: #49BEAA;
}
.serviceSolutionsTable dl.cvr > dt {
	background-color: #49BEAA;
}
.serviceSolutionsTable dd ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0.5rem;
}
.serviceSolutionsTable dd li {
	background-color: #fed766;
	font-size: 14px;
	line-height: 1.35;
	padding: .5rem;
	border-radius: .5rem;
	font-weight: 700;
	color: #333;
}
.serviceFlow {
	display: flex;
	gap: 0.5rem;
}
.serviceFlow > li {
	flex: 1;
	border-radius: 1rem;
	padding: 1.5rem 1rem 2rem 2rem;
	position: relative;
	overflow: hidden;
}
.serviceFlow > li::after {
	content: "";
	position: absolute;
	border-style: solid;
	border-color: transparent;
	border-width: 20px 0 20px 30px;
	left: 0;
	top: 1.5rem;
	transform: translateX(-20%);
}
.serviceFlow.consulting > li::after {
	display: none;
}
.serviceFlow > li:nth-child(1)::after {
	border-left-color: #fafafa;
}
.serviceFlow > li:nth-child(2)::after {
	border-left-color: #EEF5FF;
}
.serviceFlow > li:nth-child(3)::after {
	border-left-color: #B4D4FF;
}
.serviceFlow > li:nth-child(4)::after {
	border-left-color: #86B6F6;
}
.serviceFlow > li:nth-child(1) {
	background-color: #EEF5FF;
}
.serviceFlow > li:nth-child(2) {
	background-color: #B4D4FF;
}
.serviceFlow > li:nth-child(3) {
	background-color: #86B6F6;
}
.serviceFlow.consulting > li:nth-child(3) {
	background-color: #61AAC2;
	color: #fff;
}
.serviceFlow > li:nth-child(4) {
	background-color: #176B87;
	color: #fff;
}
.serviceFlow span {
	font-size: 32px;
	font-weight: 700;
}
.serviceFlow span i {
	font-style: normal;
	font-size: 0.5em;
	font-weight: 400;
	margin-left: 0.1em;
}
.serviceFlow h3 {
	margin: 2rem 0 0.5rem;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.2em;
}
.serviceFlow h4 {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 1rem;
}
.serviceFlow ul {
	list-style: disc;
	margin-left: 1.25rem;
	font-size: 14px;
}
.serviceFlow ul li+li,
.serviceFlow ul li ul {
	margin-top: 0.25rem;
}
.serviceFlowAdd {
	margin: 2rem 0 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}
.serviceFlowAdd dl {
	margin: 0;
}
.serviceFlowAdd dt {
	font-weight: 700;
	font-size: 22px;
}
.serviceFlowAdd dd {
	font-size: 13px;
	margin: 0.25rem 0 0;
}
.servicePrice {
	display: flex;
	flex-wrap: wrap;
	margin: 2rem 0 0;
	border: 1px solid #d6d6d6;
}
.servicePrice dt {
	background-color: #f4f6f8;
	flex-basis: 25%;
	flex-shrink: 0;
	text-align: center;
	font-size: 20px;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
	font-weight: 700;
	padding: 2rem;
}
.servicePrice dd {
	flex: 1;
	border-left: 1px solid #D6D6D6;
	margin: 0;
	padding: 2rem;
}
.servicePrice.initial dd {
	text-align: center;
	padding: 0.5rem;
}
.servicePrice.monthly dd.consulting {
	outline: 3px solid #6C9EFF;
	border-radius: 0.25rem;
}
.servicePrice dd p {
	font-size: 13px;
	font-weight: bold;
	margin: 0;
}
.servicePrice dd h3 {
	margin: 0 0 1rem;
	font-size: 24px;
	font-weight: 700;
}
.servicePrice dd ul {
	list-style: disc;
	margin-top: 1.5rem;
	margin-left: 1.25rem;
}
.servicePrice dd ul li+li {
	margin-top: 0.25rem;
}
.servicePrice dd ul li.etc {
	text-align: right;
	list-style: none;
}
.servicePrice dd ul .border {
	list-style: none;
	border-top: 1px solid #d6d6d6;
	margin: 0.75rem 0;
}
.servicePriceNum {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.15;
	display: block;
}
.servicePriceNum b {
	font-weight: inherit;
	font-size: 1.666666666666667em;
}
.servicePrice.initial .servicePriceNum b {
	font-size: 2.333333333333333em;
}
.servicePriceNum i {
	font-style: normal;
	transform: translate(0.2em, -0.1em);
	display: inline-block;
}
.servicePriceOnEach {
	font-size: 31px;
	letter-spacing: 0.05em;
	font-weight: 700;
	line-height: 1.36;
	display: block;
}
.servicePriceNote {
	font-size: 13px;
}
.serviceCta {
	background-image: linear-gradient(45deg, #176b87, #3e89a3);
	border-radius: 1rem;
	text-align: center;
	padding: 2rem;
	color: #fff;
}
.serviceCta h2 {
	font-size: 32px;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
	font-weight: 700;
	margin: 0;
}
.serviceCta p {
	margin: 0 0 2rem;
}
.serviceCta a {
	background-color: #fff;
	color: #176b87;
	text-decoration: none;
	font-weight: 700;
	line-height: 60px;
	display: block;
	width: 240px;
	margin: auto;
	border-radius: 99em;
}
.sameCatServices {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 2rem;
}
.sameCatServices li {
	width: calc(50% - 1.5rem/2);
	margin-right: 1.5rem;
}
.sameCatServices li:nth-child(2n) {
	margin-right: 0;
}
.sameCatServices li:nth-child(n+3) {
	margin-top: 1.5rem;
}
.sameCatServices a {
	text-decoration: none;
	display: block;
}
.sameCatServices a:hover {
	border-radius: 2px;
	background-color: #eee;
	box-shadow: 0 0 0 8px #eee;
}
.sameCatServicesImage {
	position: relative;
	display: block;
	margin-bottom: 0.5rem;
	overflow: hidden;
	background-image: linear-gradient(90deg,#e3ffe7 0%,#d9e7ff 100%);
	border-radius: 4px;
	box-shadow: 0 4px 8px -4px rgb(0 0 0 / 16%);
}
.sameCatServicesImage:before {
	content:"";
	display: block;
	padding-top: 56.25%;
}
.sameCatServicesImage img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.sameCatServicesTitle {
	margin: 0;
	font-size: 13px;
}
.sameCatServicesMore {
	font-size: 14px;
	text-align: right;
}
.header {
	padding: 2rem 0;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 2;
	transform: translateY(0);
	transition: all 0.25s ease-in-out;
	background-color: #fafafa;
}
.header.hide {
	transform: translateY(-100%);
}
.headerTitle {
	position: absolute;
	font-size: 10px;
	margin: 0;
	top: 0;
	left: 0;
	transform: translateY(-100%);
}
.headerDiv {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.headerLogo {
	flex-basis: 120px;
	margin: 0;
}
.headerGnavUl {
	display: flex;
	align-items: center;
	letter-spacing: 0.1em;
}
.headerGnavUl li:nth-child(n+2) {
	margin-left: 1.5rem;
}
.headerGnavUl a {
	text-decoration: none;
	font-weight: bold;
}
.headerGnavToggle {
	display: none;
}
.footer {
	padding: 3rem 0;
	background-image: linear-gradient(165deg, #232323, #0c0c0c);
	color: #fff;
}
.footerNav {
	display: flex;
	margin-bottom: 2rem;
}
.footerNavMenu {
	margin-left: auto;
}
.footerNav .child {
	font-weight: normal;
	color: #eee;
}
.footerNav a {
	text-decoration: none;
}
.footerNav a .las,
.footerNav a .lab {
	transform: scale(1.25);
	margin-left: 0.25em;
}
.footerNav li.footerNavSns {
	margin-top: 1rem;
}
.footerNavSns a {
	font-size: 24px;
}
.footerNavSns a + a {
	margin-left: 0.5rem;
}
.footerNavSns a .lab {
	margin-left: 0;
}
.footerNavSns .la-twitter {
	color: #1d9bf0;
	font-weight: 400;
}
.footerNavSns .la-instagram {
	color: #CF2E92;
	font-weight: 400;
}
.footerNavSns a svg {
	width: 0.9em;
	display: inline-block;
	transform: translateY(8%);
}
.footerNavMain {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: .35rem 3rem;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
}
.footerNavSub {
	margin-top: 0.65rem;
	display: flex;
	gap: 0.5rem;
	font-size: 10px;
}
.footerTitle {
	position: absolute;
	visibility: hidden;
}
.footerLogo {
	width: 96px;
	display: block;
}
.footerCopy {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	color: #eee;
}
.footerCopyright {
	font-size: 14px;
}
.footerCopyright a {
	text-decoration: none;
}
.footerAttribute {
	font-size: 10px;
	text-align: right;
}
.topMv {
	padding-top: 5rem;
}
.topMvDiv {
	display: flex;
	align-items: center;
}
.topMvContent {
	margin-right: 3rem;
	flex: 1;
}
.topMvImgText {
	max-width: 560px;
	margin: 0;
}
.topMvCopyText {
	margin: 0;
	font-size: 60px;
	color: #191919;
	font-weight: 700;
	line-height: 1.35;
}
.topMvHeadline {
	font-size: 18px;
	font-weight: bold;
	margin: 1.5rem 0 0;
}
.topMvHeadline b {
	color: #b54434;
	font-weight: inherit;
}
.topMvText {
	color: #979797;
	font-size: 13px;
	line-height: 1.6;
	margin: .35rem 0 3rem;
}
.topMvCta {
	background-color: #E66654;
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	border-radius: 2em;
	font-size: 18px;
	margin: 0 auto;
	padding: 1em 2em;
	display: inline-block;
	letter-spacing: 0.1em;
}
.topMvImg {
	flex-basis: 45%;
	flex-shrink: 0;
	border-radius: 0.75rem;
	overflow: hidden;
}
.topMvImg img {
	width: 100%;
}
.topTitleEng {
	font-size: 50px;
	font-weight: 900;
	line-height: 1.25;
	color: #d7d7d7;
	text-transform: uppercase;
	text-align: center;
	display: block;
	position: relative;
	background: linear-gradient(to right, #ffffff, #ada3a2);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.topTitle {
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	margin: .25rem 0 3rem;
	position: relative;
	letter-spacing: 0.15em;
	text-indent: 0.15em;
}
.topTitle b {
	color: #b54434;
}
.topNumbers {
	display: flex;
	justify-content: space-between;
	margin-top: 6rem;
}
.topNumber {
	background-color: #fff;
	flex-basis: calc(50% - 1rem);
	display: flex;
	align-items: center;
	justify-content: center;
}
.topNumber > span {
	color: #b54434;
	font-style: italic;
	font-weight: 700;
	font-size: 88px;
	line-height: .8;
	display: inline-flex;
	transform: translateY(-20%);
	filter: drop-shadow(5px 0px 0 #682318);
	-webkit-text-stroke: 2px #562721;
}
.topNumber > span i {
	font-size: 0.7em;
	margin-left: 0.1em;
	line-height: 0.6;
}
.topNumber > p {
	font-weight: bold;
	margin: 0 0 0 1.25em;
	font-size: 18px;
	line-height: 1.4;
}
.topNumber > p span {
	font-size: 0.5em;
	font-weight: normal;
	display: block;
	color: #979797;
}
.topWorks {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.topWorks li {
	flex-basis: 31%;
	padding-top: 1.75rem;
	position: relative;
}
.topWorks li:nth-child(n+4) {
	margin-top: 3rem;
}
.topWorksTitle {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	font-size: 1rem;
	line-height: 1;
	border-left: 3px solid #979797;
	padding-left: 0.5em;
	color: #979797;
}
.topWorks a {
	position: relative;
	display: block;
	overflow: hidden;
	background-image: linear-gradient(90deg,#e3ffe7 0%,#d9e7ff 100%);
	border-radius: 4px;
	box-shadow: 0 4px 8px 0 rgb(0 0 0 / 16%);
}
.topWorks a::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}
.topWorks a img {
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
	object-position: top center;
}
.topWorksArea {
	display: inline-block;
	margin: 1rem 0 0.5rem;
	border-radius: 1em;
	border: 1px solid;
	color: #979797;
	padding: 0 1em;
	line-height: 1.5;
	font-size: 12px;
	font-weight: normal;
}
.topWorksName {
	font-size: 14px;
	margin: 0;
}
.topWorksLink {
	margin-top: 4rem;
}
.topWorksLink .linkBtn {
	margin: auto;
}
.topRecruit {
	background-color: #FFFFF8;
	display: flex;
	justify-content: space-between;
	padding: 3rem 0;
}
.topRecruit li {
	flex: 1;
	padding: 0 5%;
}
.topRecruit li:nth-child(n+2) {
	border-left: 1px solid #EFEFEF;
}
.topRecruitContent {
	font-size: 14px;
	color: #979797;
	margin: 0 0 2rem;
}
.topRecruitTitle {
	text-align: center;
	margin: 0 0 1rem;
	font-size: 24px;
}
.topRecruit .linkBtn {
	margin: auto;
}
.topSupport {
	margin: 2rem 0;
}
.topSupportList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.topSupportList li {
	flex-basis: 120px;
	margin: 0 1rem;
}
.topSupportList li a {
	display: block;
}
.topSupportList li a img {
	max-height: 90px;
	margin: auto;
}
.topAdvantages {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.topAdvantagesTitle {
	margin: 0 0 2rem;
	font-size: 35px;
	line-height: 1.75;
}
.topAdvantagesText {
	flex-shrink: 0;
	flex-basis: 52%;
}
.topAdvantagesText p {
	font-size: 13px;
	font-weight: 700;
	line-height: 2;
	color: #555;
}
.topAdvantagesText a {
	padding: 0 0.15em;
	color: #222;
}
.topAdvantagesTitle b {
	color: #b54434;
}
.topAdvantagesImg {
	flex-basis: 40%;
}
.topPriceLead {
	text-align: center;
	margin-bottom: 32px;
	font-size: 14px;
}
.topPriceTable {
	border-spacing: 4px;
	border-collapse: separate;
	table-layout: fixed;
	width: 100%;
}
.topPriceTable tr:nth-child(odd) {
	background-color: #F7F7F7;
}
.topPriceTable tr:nth-child(even) {
	background-color: #F1F1F1;
}
.topPriceTable tr:nth-child(2) {
	background-color: #E5E8EB;
}
.topPriceTable th {
	vertical-align: middle;
	padding: 16px;
	white-space: nowrap;
	text-align: left;
	font-size: 12px;
	font-weight: 700;
}
.topPriceTable td {
	vertical-align: middle;
	padding: 16px;
	text-align: center;
	font-size: 14px;
}
.topPriceTable td b {
	font-size: 2em;
	margin: 0 0.1em;
}
.topPriceTable tr:nth-child(1) td {
	font-size: 16px;
	font-weight: 700;
}
.topPriceTable tr:nth-child(1) td:first-child {
	width: 105px;
	background-color: #fff;
}
.topPriceTable tr:nth-child(2) td {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
}
.topPriceTable tr:nth-child(2) td span {
	font-size: 12px;
	font-weight: 700;
	display: block;
}
.topPriceTable tr:nth-child(3) td {
	line-height: 1.2;
}
.topPriceTable tr:nth-child(3) td span {
	font-size: 10px;
	font-weight: 700;
	display: block;
}
.topPriceTable tr:nth-of-type(n+3):nth-of-type(-n+5) td {
	font-size: 13px;
	font-weight: 700;
}
.topPriceTable tr:nth-child(n+6) td {
	font-size: 11px;
	text-align: left;
	vertical-align: top;
}
.topPriceTable tr:nth-child(n+6) th {
	vertical-align: top;
}
.topPriceTable ul {
	list-style: disc;
	padding-left: 1.2em;
}
.topPriceTable ul li + li {
	margin-top: 0.25em;
}
.topArchive {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.topArchive li {
	flex-basis: 31%;
	padding-top: 1.75rem;
	position: relative;
}
.topArchive li:nth-child(n+4) {
	margin-top: 3rem;
}
.topArchive a {
	display: block;
	text-decoration: none;
}
.topArchiveImg {
	position: relative;
	overflow: hidden;
	background-image: linear-gradient(90deg,#e3ffe7 0%,#d9e7ff 100%);
	border-radius: 4px;
	box-shadow: 0 4px 8px 0 rgb(0 0 0 / 16%);
}
.topArchiveImg::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}
.topArchiveImg img {
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
	object-position: top center;
}
.topArchiveMeta {
	margin: 1rem 0 0.5rem;
	line-height: 1.5;
	font-size: 12px;
	font-weight: bold;
	display: flex;
	align-items: center;
	line-height: 1;
}
.topArchiveCatImg {
	width: 18px;
	margin-right: 4px;
}
.topArchiveName {
	font-size: 16px;
	margin: 0;
}
.topArchiveLinks {
	display: flex;
	justify-content: space-between;
}
.topArchiveLink {
	margin: 0;
	width: 31%;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 4px 8px 0 rgb(0 0 0/16%);
}
.topArchiveLink a {
	display: block;
}
.topPickupLead {
	font-size: 14px;
	color: #979797;
	margin: 0 0 24px;
	line-height: 2;
	text-align: center;
}
.topPickupBanner {
	display: block;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 8px -2px rgba(0 0 0/0.24);
	max-width: 800px;
	margin: auto;
}
.topPickupBanner img {
	border: 0 !important;
}
.notFoundDiv {
	display: flex;
	justify-content: space-between;
}
.notFoundContent {
	padding-top: 5%;
}
.notFoundContentTitle {
	font-size: 40px;
	font-weight: 900;
	margin: 0;
}
.notFoundContent p {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.5;
	margin: 0 0 4rem;
}
.notFoundImg {
	flex-basis: 53%;
	flex-shrink: 0;
}
.aboutNav {
	margin: 4rem 0;
}
.aboutNavMenu {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.aboutNavMenu a {
	flex-basis: calc(25% - 1rem*3/4);
	text-align: center;
	background-color: #f5f5f5;
	padding: 0.75rem;
	border-radius: 4px;
}
.aboutNavMenu a.current {
	background-color: #d0d0d0;
}
.aboutTable {
	width: 100%;
	margin-bottom: 4rem;
}
.aboutTable th {
	text-align: left;
	vertical-align: text-bottom;
	letter-spacing: 0.25em;
	white-space: nowrap;
	font-size: 14px;
	padding-right: 2rem;
}
.aboutTable td {
	border-left: 1px solid #ccc;
	padding-left: 2rem;
	word-break: break-all;
}
.aboutTable tr:nth-child(n+2) th,
.aboutTable tr:nth-child(n+2) td {
	padding-top: 1.5rem;
}
.aboutTable td a {
	text-decoration: none;
}
.aboutTable td .note {
	margin: 0;
	font-size: 0.8em;
	color: #777;
}
.aboutTable td .note a {
	text-decoration: underline;
}
.aboutMap {
	position: relative;
	margin-top: 1rem;
	-webkit-filter: grayscale(60%);
	filter: grayscale(60%);
}
.aboutMap::before {
	content: "";
	display: block;
	padding-top: 56%;
}
.aboutMap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.visionList li {
	background-color: #f9f9f9;
	padding: 2rem;
	border-radius: 8px;
	margin-bottom: 2rem;
}
.visionList li h2 {
	margin: 0 0 2rem;
	font-size: 24px;
	font-weight: 900;
	border-bottom: 2px solid #f0f0f0;
	padding-bottom: 2rem;
}
.visionList li h3 {
	font-size: 20px;
	margin: 1.5rem 0 0.5rem;
}
.visionList li p {
	color: #777;
	line-height: 2;
	font-size: 14px;
	margin: 0 1rem;
}
.ceoImg {
	margin-bottom: 2rem;
	width: 100%;
}
.ceoSign {
	text-align: right;
	font-weight: normal;
	font-size: 1em;
	margin: 2rem 0 0;
}
.memberCard {
	display: grid;
	grid-column-gap: 2rem;
	grid-template-columns: 25% auto;
}
.memberCard:nth-child(n+2) {
	border-top: 1px solid #eee;
	padding-top: 2rem;
	margin-top: 2rem;
}
.memberImg {
	grid-area: 1/1/3/2;
}
.memberMeta {
	display: grid;
	grid-area: 1/2/2/3;
}
.memberTitle {
	margin: 0;
	line-height: 1.5;
	font-size: 14px;
	font-weight: 400;
	grid-area: 1/1/2/2;
	align-self: end;
}
.memberName {
	font-size: 22px;
	letter-spacing: 0.1em;
	font-weight: 700;
	margin: 0;
	grid-area: 2/1/3/2;
}
.memberName a {
	text-decoration: none;
}
.memberSns {
	display: flex;
	grid-area: 1/2/3/3;
	margin-left: auto;
	align-self: center;
}
.memberSns a {
	height: 24px;
	width: 24px;
	position: relative;
}
.memberSns a:nth-child(n+2) {
	margin-left: 1rem;
}
.memberSns a img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}
.memberContent {
	grid-area: 2/2/3/3;
}
.memberText {
	font-size: 15px;
	margin-top: 1rem;
	text-align: justify;
}
.memberText > p:first-child {
	margin-top: 0;
}
.memberInfo {
	margin-top: 1rem;
	background-color: #f5f5f5;
	padding: 1rem;
}
.memberInfoTitle {
	font-size: 13px;
	color: #979797;
	margin: 0 0 0.5rem;
}
.memberInfo a {
	display: inline-block;
	font-size: 12px;
	color: #979797;
	text-decoration: none;
}
.memberInfo a:not(:last-child)::after {
	content: "/";
	margin: 0 0.5em;
}
.memberLink {
	text-align: right;
	margin: 1rem 0 0;
	font-size: 14px;
}
.memberProfile {
	margin-top: 2rem;
	border-bottom: 1px solid #bcbcbc;
}
.memberProfile th,
.memberProfile td {
	border-top: 1px solid #bcbcbc;
}
.memberProfile th {
	font-size: 14px;
	text-align: left;
	padding: 1rem 2rem 1rem 0;
	white-space: nowrap;
	vertical-align: baseline;
}
.memberProfile td {
	font-size: 13px;
	padding: 1rem 0;
	vertical-align: baseline;
}
.memberProfile td p {
	margin: 0;
}
.memberProfile td p:nth-child(n+2) {
	margin-top: 1em;
}
.memberHashtag {
	margin: 1rem 0;
	font-size: 15px;
	color: #354b80;
}
.employmentLinks {
	display: flex;
	flex-wrap: wrap;
}
.employmentLinks a {
	border: 1px solid;
	display: grid;
	grid-template: auto / 48px 1fr;
	grid-column-gap: 1rem;
	flex-basis: calc(100%/3 - 2rem/3);
	margin-right: 1rem;
	text-decoration: none;
	padding: 1rem;
	border-radius: 4px;
}
.employmentLinks a:nth-child(3n) {
	margin-right: 0;
}
.employmentLinks a:nth-child(n+4) {
	margin-top: 1rem;
}
.employmentLinksImg {
	grid-row: 1/3;
	grid-column: 1/2;
}
.employmentLinksTitle {
	grid-row: 1/2;
	grid-column: 2/3;
	margin: 0;
	font-size: 20px;
	align-self: end;
}
.employmentLinksDesc {
	grid-row: 2/3;
	grid-column: 2/3;
	font-size: 14px;
	margin: 0;
}
.employmentTable {
	width: 100%;
	margin-bottom: 4rem;
}
.employmentTable th {
	text-align: left;
	vertical-align: text-bottom;
	letter-spacing: 0.25em;
	white-space: nowrap;
	font-size: 14px;
	padding-right: 2rem;
}
.employmentTable td {
	padding-left: 2rem;
}
.employmentTable th,
.employmentTable td {
	border-bottom: 1px solid #f0f0f0;
	padding-bottom: 1.5rem;
}
.employmentTable tr:nth-child(n+2) th,
.employmentTable tr:nth-child(n+2) td {
	padding-top: 1.5rem;
}
.employmentList {
	list-style: disc;
	margin-left: 1.5em;
}
ol.employmentList {
	list-style: decimal;
}
.employmentList li + li {
	margin-top: 0.5em;
}
.employmentCriteria {
	margin: 1.5em 0 0;
	font-size: .85em;
}
.employmentCriteria:first-child {
	margin-top: 0;
}
.employmentCriteria dt {
	font-weight: bold;
	margin-bottom: 1em;
}
.employmentCriteria dt:nth-of-type(n+2) {
	margin-top: 1.5em;
}
.employmentCriteria dd {
	margin-left: 0;
}
.employmentNav {
	margin: 4rem 0;
}
.employmentNavTitle {
	font-style: italic;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.25;
	color: #eaeaea;
	text-transform: uppercase;
	margin: 0;
}
.employmentNavTitle:nth-of-type(n+2) {
	margin-top: 2rem;
}
.employmentNavMenu {
	display: flex;
}
.employmentNavMenu a {
	padding: .75rem;
	background-color: #f5f5f5;
	border-radius: 4px;
	flex-basis: calc(20% - (4rem/5));;
	text-align: center;
	margin-right: 1rem;
}
.employmentNavMenu a:nth-child(5n) {
	margin-right: 0;
}
.employmentImg {
	display: flex;
	justify-content: space-between;
	margin-top: 1em;
}
.employmentImg span {
	width: 32.5%;
	border-radius: 2px;
	overflow: hidden;
}
.internImg {
	display: flex;
	justify-content: space-between;
	margin-bottom: 6rem;
}
.partnerRqmt {
	display: flex;
	justify-content: space-between;
	background-color: #f5f5f5;
	padding: 1rem;
	border-radius: 1rem;
}
.partnerRqmt div {
	flex-basis: calc(50% - 0.5rem);
	padding: 2rem;
	border-radius: 0.5rem;
}
.partnerRqmtYes {
	background-color: #fefefe;
}
.partnerRqmtNo {
	background-color: #eee;
}
.partnerRqmtTitle {
	margin: 0 0 2rem;
	font-size: 18px;
}
.partnerRqmt ul {
	line-height: 1.8;
	font-size: 13px;
}
.partnerRqmt ul li {
	position: relative;
	padding-left: 1.4em;
}
.partnerRqmt ul li::before {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	top: 6px;
	left: 0;
	background-color: #555;
	border-radius: 100%;
}
.partnerRqmt ul li:nth-child(n+2){
	margin-top: 0.75em;
}
.internImg span {
	width: 32.5%;
	border-radius: 4px;
	overflow: hidden;
}
.worksCategory {
	font-size: 14px;
	margin: 1rem 0 0;
	font-weight: normal;
}
.worksCategory a {
	color: #777;
}
.worksTitle {
	font-size: 24px;
	font-weight: 700;
	margin: 0;
}
.worksImage {
	overflow: hidden;
	background-image: linear-gradient(90deg, #e3ffe7 0%, #d9e7ff 100%);
	border-radius: 4px;
	box-shadow: 0 4px 8px -4px rgb(0 0 0 / 16%);
}
.worksImage img {
	width: 100%;
}
.worksMeta {
	font-size: 13px;
}
.worksTable {
	border-top: 2px solid;
	border-bottom: 2px solid;
	margin: 1rem 0;
	width: 100%;
}
.worksTable th {
	width: 10em;
	text-align: left;
	letter-spacing: .25em;
	white-space: nowrap;
	font-size: 14px;
}
.worksTable th,
.worksTable td {
	padding: 8px 0;
	vertical-align: text-bottom;
}
.worksTable tr:first-child th,
.worksTable tr:first-child td {
	padding-top: 32px;
}
.worksTable tr:last-child th,
.worksTable tr:last-child td {
	padding-bottom: 32px;
}
.worksTable td p {
	margin: 0;
	font-size: 15px;
	line-height: 1.85;
}
.worksTable td p:nth-child(n+2) {
	margin-top: 1em;
}
.worksTable a {
	color: #777;
	word-break: break-all;
}
.worksTable a .la-external-link-alt {
	margin-left: 0.25em;
}
.worksHeadline {
	font-size: 28px;
	margin: 0 0 2rem;
}
.worksArticle {
	margin: 3rem 0;
}
.worksTopics {
	margin: 0 0 1rem;
	background-color: #f0f0f0;
	font-size: 16px;
	padding: 0.25rem 1rem;
	letter-spacing: 0.1em;
}
.worksText {
	font-size: 14px;
	margin: 0 0 2rem;
}
.worksText p:first-child {
	margin-top: 0;
}
.worksText p:last-child {
	margin-bottom: 0;
}
.worksScreen {
	margin-bottom: 3rem;
	background-color: #f4f4f4;
	padding: 1rem;
}
.worksScreen img {
	margin: auto;
}
.worksArchiveHeader {
	font-size: 16px;
	line-height: 1;
	border-left: 3px solid #979797;
	padding-left: .5em;
	color: #979797;
	margin: 0 0 3rem;
}
.worksArchive {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}
.worksArchive li {
	flex-basis: calc(33.333% - 2rem*2/3);
}
.worksArchive a {
	text-decoration: none;
	display: block;
}
.worksArchive a:hover {
	border-radius: 2px;
	background-color: #eee;
	box-shadow: 0 0 0 8px #eee;
}
.worksArchiveImage {
	position: relative;
	margin-bottom: 0.5rem;
	overflow: hidden;
	background-image: linear-gradient(90deg,#e3ffe7 0%,#d9e7ff 100%);
	border-radius: 4px;
	box-shadow: 0 4px 8px -4px rgb(0 0 0 / 16%);
}
.worksArchiveImage:before {
	content:"";
	display: block;
	padding-top: 56.25%;
}
.worksArchiveImage img {
	object-fit: cover;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.worksArchiveTitle {
	margin: 0;
	font-size: 18px;
}
.worksRelatedTitle {
	margin: 2rem 0 1rem;
	font-size: 18px;
}
.worksRelatedLink {
	text-align: right;
	margin-top: 1rem;
}
.sitemapListTitle {
	font-style: italic;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.25;
	color: #eaeaea;
	text-transform: uppercase;
	margin: 0;
}
.sitemapListTitle:nth-of-type(n+2) {
	margin-top: 2rem;
}
.sitemapList li {
	padding: 0.75rem 2rem;
	background-color: #f5f5f5;
	margin-top: 4px;
	border-radius: 4px;
}
.sitemapList .children {
	margin-top: 0.75rem;
}
.sitemapList .children li {
	background-color: #fafafa;
}
.pivacyDiv h2 {
	letter-spacing: 0.15em;
	margin-top: 4rem;
	font-size: 28px;
}
.pivacyDiv ul {
	list-style: disc;
	margin-left: 1.5em;
}
.pivacyDiv ol {
	list-style: decimal;
	margin-left: 1.5em;
}
.pivacyDiv ul li,
.pivacyDiv ol li {
	margin-top: 0.25em;
}
.privacyRight {
	text-align: right;
}
body:not(:has(.wpcf7)) .grecaptcha-badge {
	display: none;
}
.formSec {
	padding: 6rem 0;
	margin: 0;
	background-color: #fefefe;
}
.formLead {
	margin-bottom: 4rem;
}
.formLead h1,
.formLead h2 {
	margin: 0;
	font-size: 32px;
	font-weight: 700;
}
.formLead p {
	color: #777;
}
.formLeadNote {
	font-size: 0.75em;
}
.formLeadNote b {
	color: #ff0000;
}
.formWrap {
	border-radius: 8px;
	background-color: #f6f6f6;
	padding: 2rem;
}
.formTable {
	margin-bottom: 2rem;
}
.formTable th {
	text-align: right;
	vertical-align: top;
	letter-spacing: 0.125em;
	white-space: nowrap;
	font-size: 14px;
}
.formTable th span {
	padding: 0.5em 0;
	display: block;
}
.formTable th i {
	display: inline-block;
	border: 1px solid;
	margin-left: 0.5em;
	padding: 0 0.25em;
	color: #979797;
	font-weight: normal;
	font-style: normal;
}
.formTable th b {
	display: inline-block;
	margin-left: .5em;
	padding: 0.3em 0.5em;
	background-color: #b54434;
	color: #fff;
	font-weight: 700;
	border-radius: 2px;
	font-size: 0.75em;
	letter-spacing: 0;
	line-height: 1;
	transform: translateY(-9%);
}
.formTable td {
	padding-left: 1rem;
	vertical-align: top;
	width: 100%;
	position: relative;
}
.formTable tr:nth-child(n+2) th,
.formTable tr:nth-child(n+2) td {
	padding-top: 1.5rem;
}
.formTable input:not([type="radio"]):not([type="checkbox"]),
.formTable textarea {
	line-height: normal;
	width: 100%;
	outline: none;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 0.5em;
	font-size: 16px;
}
.formTable .formSelect {
	position: relative;
}
.formTable .formSelect:after {
	content: "\f107";
	font-family: 'Line Awesome Free';
	font-weight: 900;
	position: absolute;
	right: 0.5em;
	top: 0;
	bottom: 0;
	line-height: 1;
	pointer-events: none;
}
.formTable select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	line-height: normal;
	outline: none;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 0.5em 2em 0.5em 0.5em;
	font-size: 16px;
	max-width: 100%;
}
.formTable .note {
	margin: 0;
	font-size: 0.75rem;
	color: #777;
}
.formSelectOther {
	display: block;
	margin-top: 0.5rem;
}
.mw_wp_form .vertical-item {
	display: block;
	font-size: 14px;
}
.mw_wp_form .vertical-item:first-of-type {
	padding-top: 0.5em;
}
.formTable .wpcf7-list-item {
	display: block;
	margin: 5px 0 0;
	font-size: 14px;
}
.formTable .formError {
	z-index: 1;
}
.formTable .formError .formErrorContent {
	box-shadow: 0 4px 6px -2px rgba(0,0,0,0.24);
	background-color: #f78c8c;
	border: 0;
}
.formTable .formError .formErrorArrow div {
	background-color: #f78c8c;
	border: 0;
}
.formQWrap {
	display: none;
}
.formQWrap:first-child {
	display: block;
}
.formQLeft {
	display: block;
}
.formQLeft b {
	font-size: 1.25em;
	font-weight: 700;
	color: #b54434;
}
.formQInner {
	background-color: #fdfdfd;
	padding: 2rem 1rem 2.5rem;
	text-align: center;
	margin: .5rem 0;
	border-radius: 8px;
}
.formQtitle {
	margin: 0 0 1.5rem;
	font-weight: 700;
	font-size: 18px;
}
.formQChoices .formQRadio {
	display: flex;
	justify-content: center;
	gap: 10px;
}
.formQChoices .formQRadio .wpcf7-list-item {
	margin: 0;
	display: block;
}
.formQChoices label {
	display: block;
	background-color: #fff;
	border: 1px solid #ddd;
	padding: 1rem 1.25rem;
	border-radius: 4px;
	cursor: pointer;
	font-size: 18px;
}
.formQChoices label:hover {
	background-color: #ecf3ff;
	font-weight: 700;
}
.formQChoices label input[type=radio] {
	display: none;
}
.formQNote {
	font-size: 13px;
	margin: 2.5rem 0 0;
	background-color: #fffcec;
	padding: 1rem;
	line-height: 1.6;
}
.formQBack {
	color: #979797;
	text-decoration: underline;
	cursor: pointer;
	font-size: 14px;
}
.formQDone {
	margin: 2rem 0 3rem;
	font-weight: 700;
	font-size: 18px;
	border-bottom: 1px solid #ddd;
	padding-bottom: 2rem;
	text-align: center;
}
.formBtn .wpcf7-submit {
	appearance: none;
	border: 0;
	margin: 0 auto;
	outline: none;
	background-color: #e66654;
}
.formBtn .wpcf7-submit:hover {
	opacity: 0.75;
}
.formBtn .wpcf7-submit.back {
	background-color: #cacaca;
}
.formBtn .wpcf7-spinner {
	margin: 0.5rem auto 0;
	display: block;
}
.wpcf7 form .wpcf7-response-output {
	margin: 0;
	padding: 0.5em;
	text-align: center;
	font-weight: bold;
}
.wpcf7-not-valid-tip {
	font-size: 0.875em;
}
.mw_wp_form_confirm .formTable td > span {
	background-color: #f2f2f2;
	display: block;
	font-size: 14px;
	border-radius: 4px;
	padding: 0.5em;
}
.mw_wp_form_confirm .formTable td > span::after {
	content: "";
	display: inline-block;
}
.formThanksMsg {
	background-color: #f3f3f3;
	padding: 2rem;
	margin: 2rem 0;
}
.formThanksMsg p:first-child {
	margin-top: 0;
}
.formThanksMsg p:last-child {
	margin-bottom: 0;
}
.formThanksMsg .linkBtn {
	margin-top: 1.5rem;
}
.mw_wp_form_complete ul {
	list-style: disc;
	font-size: 14px;
	padding: 1.25em 1.25em 1.25em 2em;
	margin: 1rem 0;
	background-color: rgba(255,255,255,0.5);
}
.mw_wp_form_complete ul li:nth-child(n+2) {
	margin-top: 0.5em;
}
.archiveList li:nth-child(n+2) {
	margin-top: 2.5rem;
}
.archiveList li a {
	display: flex;
	text-decoration: none;
}
.archiveList li a:hover {
	border-radius: 2px;
	background-color: #eee;
	box-shadow: 0 0 0 12px #eee;
}
.archiveImage {
	position: relative;
	flex-basis: 33.333%;
	flex-shrink: 0;
	margin-right: 1rem;
}
.archiveImage span {
	padding-top: 56.25%;
	display: block;
	position: relative;
	border-radius: 6px;
	overflow: hidden;
	background-image: linear-gradient(90deg, #e3ffe7 0%, #d9e7ff 100%);
}
.archiveImage img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.archiveContent {
	flex: 1;
}
.archiveTitle {
	margin: 0;
	font-size: 20px;
}
.archiveMeta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #777;
	font-size: 14px;
	margin: 0.35rem 0;
}
.archiveDate {
	display: flex;
	align-items: center;
	font-size: 13px;
}
.archiveText {
	margin: 0;
	font-size: 12px;
	color: #979797;
}
.pager {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 3rem 0;
	font-size: 14px;
	color: #979797;
}
.pager a {
	text-decoration: none;
}
.pager .page-numbers {
	margin: 0 0.5em;
}
.pager .page-numbers.current {
	text-decoration: underline;
}
.pager .prev,
.pager .next {
	font-family: 'Line Awesome Free';
	font-weight: 900;
	width: 40px;
	line-height: 40px;
	background-color: #ebebeb;
	border-radius: 100%;
	text-align: center;
}
.taxonomyDiv {
	border-top: 3px solid;
	margin-top: 3rem;
}
.taxonomyDiv > h2,
.taxonomyDiv > h3,
.taxonomyDiv > h4 {
	margin: 1.5rem 0;
	font-size: 20px;
}
.taxonomyList {
	display: flex;
	flex-wrap: wrap;
}
.taxonomyList li {
	margin-right: 0.25rem;
	margin-bottom: 0.25rem;
}
.taxonomyList a {
	text-decoration: none;
	display: block;
	border-radius: 4px;
	border: 1px solid #ddd;
	padding: 0.5em;
	background-color: #fff;
	font-size: 14px;
}
.taxonomyList a::before {
	content: "#";
	color: #979797;
}
.postThumbnail {
	position: relative;
	margin-bottom: 2rem;
	background-image: linear-gradient(90deg, #e3ffe7 0%, #d9e7ff 100%);
}
.postThumbnail::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}
.postThumbnail img {
	position: absolute;
	height: 100%;
	width: 100%;
	object-fit: cover;
	top: 0;
	left: 0;
}
.postTitle {
	font-size: 32px;
	font-weight: bold;
	margin: 0;
}
.postMeta {
	display: flex;
	justify-content: space-between;
	color: #979797;
	margin: 1rem 0 3rem;
}
.postCategory a {
	text-decoration: none;
}
.postDate {
	display: flex;
	align-items: center;
}
.postContent {
	margin-top: 3rem;
	word-break: break-all;
}
.postContent h1,
.postContent h2,
.postContent h3,
.postContent h4,
.postContent h5,
.postContent h6 {
	margin-top: 3em;
}
.postContent h1,
.postContent h2 {
	font-size: 1.65em;
	color: #272727;
	margin-bottom: 1.5em;
}
.postContent h3 {
	font-size: 1.15em;
	padding: 0.35em;
	padding-left: 0.7em;
	border-left: 0.3em solid #ccc;
	background-color: #f5f5f5;
	margin-bottom: 1.5em;
}
.postContent h4 {
	font-size: 1.05em;
	margin-bottom: 1.5em;
	padding-left: 0.75em;
	border-left: 0.25em solid #dfdfdf;
}
.postContent h5,
.postContent h6 {
	font-size: 0.9em;
	margin-bottom: 1.5em;
}
.postContent h5::before,
.postContent h6::before {
	content: "";
	display: inline-block;
	background-color: #dfdfdf;
	width: 0.7em;
	height: 0.7em;
	margin-right: 0.5em;
}
.postContent b,
.postContent strong {
	font-weight: 700;
}
.postContent p {
	line-height: 2;
	margin: 2em 0;
	color: #414141;
}
.postContent p strong {
	background-image: linear-gradient(to top, #feffa6 40%, transparent 40%);
	font-weight: bold;
}
.postContent code {
	background-color: #f0f0f0;
	padding: 0.25em;
	color: #666;
	font-size: 0.875em;
}
.postContent .wp-block-code code {
	padding: 1em;
	color: #fff;
	background-color: #333;
}
.postContent blockquote::before,
.postContent blockquote::after {
	font-family: 'Line Awesome Free';
	font-weight: 700;
	position: absolute;
	color: #ddd;
	font-size: 2rem;
	line-height: 1;
}
.postContent blockquote::before {
	content: "\f10d";
	top: 0;
	left: 0;
}
.postContent blockquote::after {
	content: "\f10e";
	right: 0;
	bottom: 0;
}
.postContent blockquote {
	border: 1px solid #f0f0f0;
	padding: 2rem;
	margin: 3em 0;
	background-color: #fdfdfd;
	border-left-width: 0.5em;
	position: relative;
	font-size: 0.8125em;
}
.postContent blockquote p:first-child {
	margin-top: 0;
}
.postContent blockquote p:last-child {
	margin-bottom: 0;
}
.postContent blockquote p {
	color: #646464;
}
.postContent blockquote p strong {
	background-image: none;
	font-size: 1.2em;
	display: inline-block;
	color: #414141;
}
.postContent blockquote ul {
	color: #646464;
	list-style: disc;
	margin-left: 1.25em;
}
.postContent blockquote li + li {
	margin-top: 0.8em;
}
.postContent blockquote cite {
	display: block;
	text-align: right;
	font-size: 0.85em;
}
.postContent table {
	width: 100%;
	border-bottom: 1px solid #eee;
}
.postContent tr {
	border-top: 1px solid #eee;
}
.postContent th {
	color: #777;
	text-align: left;
	padding: .75em 1em .75em 0;
	vertical-align: baseline;
	white-space: nowrap;
	border: 0;
}
.postContent td {
	padding: 0.75em 0;
	border: 0;
}
.postContent a {
	color: #777;
}
.postContent > ul,
.postContent > ol,
.postContent > ul ul,
.postContent > ol ol {
	margin-left: 1.75em;
	line-height: 1.75;
}
.postContent > ul li {
	list-style: disc;
}
.postContent > ol li {
	list-style: decimal;
}
.postContent > ul li,
.postContent > ol li {
	margin-top: 0.5em;
}
.postContent > ul > li:first-child,
.postContent > ol > li:first-child {
	margin-top: 0;
}
.postContent .syntaxhighlighter {
	margin: 2em 0 !important;
	padding: 1.5em 1em !important;
	width: auto !important;
	border-radius: 0.4em;
	overflow: hidden;
}
.postContent .syntaxhighlighter code {
	line-height: 1.25em !important;
	font-size: 0.9em !important;
}
.postContent img {
	border: 1px solid #eee;
	background-image: linear-gradient(90deg, #e3ffe7 0%, #d9e7ff 100%);
}
.postContent img.noBorder {
	border: none;
	background: none;
}
.postContent a:hover img {
	opacity: 0.75;
}
.postContent figure {
	max-width: 100%;
	margin: 1.5em 0 2em;
}
.postContent figure figcaption {
	font-size: 0.75em;
	color: #aaa;
	text-align: right;
	margin-top: 0.5em;
}
.postContent .wp-block-table thead {
	border: 0;
}
.postContent .worksInPost {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.postContent .worksInPost figure {
	flex-basis: 48.5%;
	margin: 0;
}
.postContent .worksInPost figure:nth-child(n+3) {
	margin-top: 1.5rem;
}
.postContent .worksInPost figure a {
	position: relative;
	display: block;
	border: 1px solid #eee;
	overflow: hidden;
}
.postContent .worksInPost figure a:before {
	content: "";
	display: block;
	padding-top: 56.25%;
}
.postContent .worksInPost figure a img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	border: 0;
}
.postContent .blogInternalLlinks {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 0.75rem;
}
.postContent .blogInternalLlinks li {
	list-style: none;
	width: calc(50% - 0.75rem/2);
	margin: 0;
}
.postContent .blogInternalLlinks a {
	text-decoration: none;
}
.postContent .blogInternalLlinks figure {
	margin: 0;
}
.postContent .blogInternalLlinks img {
	border: 0;
}
.postContent .blogInternalLlinks figcaption {
	line-height: 1.35;
	text-align: left;
	color: #999;
}
.linkCard {
	display: flex;
	gap: 1rem;
	align-items: center;
	border: 1px solid #ddd;
	padding: 0.5rem;
	text-decoration: none;
	background-color: #fff;
	border-radius: 0.5rem;
	margin: 1em 0;
}
.linkCardImage {
	flex-basis: 25%;
	flex-shrink: 0;
}
.linkCardImage img {
	border: 0;
	border-radius: 0.25rem;
}
.linkCardTitle {
	font-size: 13px;
}
.linkCardTitle strong {
	font-size: 16px;
	color: #333;
	display: block;
	font-weight: 400;
	line-height: 1.35;
}
#toc_container {
	background-color: #f0f0f0;
	padding: 2rem;
	margin: 3em 0;
}
p.toc_title {
	margin: 0 0 1.5rem;
	line-height: 1;
	font-weight: bold;
	border-left: 0.45em solid #ccc;
	padding-left: 0.55em;
}
.toc_toggle {
	font-size: 0.75em;
	color: #979797;
}
.toc_list {
	font-size: 14px;
}
.toc_list li {
	margin-top: 0.5rem;
	border-top: 1px solid #e5e5e5;
	padding-top: 0.5rem;
}
.toc_number {
	color: #979797;
	margin-right: 0.5em;
	flex-shrink: 0;
}
.toc_list li ul li {
	padding-left: 1em;
	font-size: 12px;
}
.toc_list li a {
	text-decoration: none;
	color: #333;
}
.toc_list > li > a {
	font-weight: 700;
	letter-spacing: 0.05em;
}
.postTags {
	margin-top: 4rem;
}
.postLink {
	margin: 3rem 0;
	display: flex;
	justify-content: space-between;
}
.postLink a {
	flex-basis: calc(50% - 0.5rem);
	flex-shrink: 0;
	display: flex;
	align-items: center;
	text-decoration: none;
	background-color: #f2f2f2;
	padding: 1rem;
	border-radius: 8px;
}
.postLink a[rel=next] {
	margin-left: auto;
}
.postLink a span {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.postLink .la-angle-left {
	margin-right: 0.5rem;
	color: #979797;
}
.postLink .la-angle-right {
	margin-left: 0.5rem;
	color: #979797;
}
.postShare {
	margin: 3rem 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.postShare h5 {
	margin: 0 1rem 0 0;
}
.postShare .a2a_svg {
	background: none !important;
}
.postShare .a2a_button_twitter svg path {
	fill: #1DA1F2;
}
.postShare .a2a_button_facebook svg path {
	fill: #3C5A99;
}
.postShare .a2a_button_line svg path {
	fill: #00B900;
}
.postShare .a2a_button_pocket svg path {
	fill: #ee4056;
}
.postShare .a2a_button_hatena svg path,
.postShare .a2a_button_hatena svg circle {
	fill: #00a4de;
}
.postAuthor {
	margin-top: 4rem;
	border: 1px solid #e0e0e0;
	padding: 2rem 1.5rem 1.5rem;
	position: relative;
}
.postAuthorHeader {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	background-color: #fafafa;
	transform: translate(1em, -0.5em);
	line-height: 1;
	padding: 0 1em;
	font-size: 14px;
}
.postAuthorMeta {
	display: grid;
	grid-column-gap: 1rem;
	grid-template-columns: 80px auto auto;
}
.postAuthorAvator {
	box-shadow: 0 0 2px rgba(0,0,0,.2) inset,0 4px 8px -4px rgba(0,0,0,.32);
	border-radius: 100%;
	width: 100%;
	overflow: hidden;
	display: block;
	flex-shrink: 0;
	grid-row: 1/3;
	grid-column: 1/2;
}
.postAuthorTitle {
	margin: 0;
	font-size: 12px;
	line-height: 1.25;
	color: #777;
	grid-row: 1/2;
	grid-column: 2/3;
	align-self: end;
}
.postAuthorName {
	font-weight: 700;
	font-size: 18px;
	margin: 0;
	grid-row: 2/3;
	grid-column: 2/3;
	align-self: start;
}
.postAuthorName a {
	text-decoration: none;
}
.postAuthorSns {
	margin-left: auto;
	display: flex;
	grid-row: 1/3;
	grid-column: 3/4;
	align-self: center;
}
.postAuthorSns a {
	width: 24px;
	height: 24px;
	padding: 2px;
}
.postAuthorSns a:nth-child(n+2) {
	margin-left: 0.75rem;
}
.postAuthorSns a img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}
.postAuthorPosts {
	margin: 3rem 0 3rem;
}
.postBanners {
	margin: 3rem 0;
}
.postBanners a {
	box-shadow: 0 4px 8px -4px rgba(0,0,0,0.32);
	border-radius: 8px;
	display: block;
	overflow: hidden;
}
.postBanners img {
	width: 100%;
}
.postTopLink {
	font-size: 14px;
	color: #979797;
}
.postTwitter {
	margin: 3rem 0;
	display: flex;
	border: 1px solid #e0e0e0;
	padding: 1rem;
	align-items: center;
}
.postTwitterIcon {
	box-shadow: 0 0 2px rgba(0,0,0,0.2) inset, 0 4px 8px -4px rgba(0,0,0,0.32);
	border-radius: 100%;
	width: 56px;
	overflow: hidden;
	display: block;
}
.postTwitterAccount {
	font-size: 16px;
	margin-left: 1rem;
}
.postTwitterAccount strong {
	display: block;
}
.postTwitterAccount span {
	display: block;
	color: #979797;
	line-height: 1;
	font-size: 0.875em;
}
.postTwitterBtn {
	color: #1DA1F2;
	border-radius: 2em;
	border: 1px solid;
	padding: 0.5em 1em;
	text-decoration: none;
	font-weight: bold;
	margin-left: auto;
}
.postTwitterBtn .la-twitter {
	transform: scale(1.25) translateY(0.05em);
	margin-right: 0.25em;
}
.postCta {
	background-color: #DDEFFE;
	display: flex;
	border-radius: 8px;
	align-items: center;
	padding: 3rem 2rem;
}
.postCtaImg {
	flex: 1;
	margin-right: 2rem;
}
.postCtaContent p {
	margin: 0;
	font-size: 15px;
	font-weight: bold;
	color: #979797;
	font-feature-settings: "palt";
}
.postCtaContent p b {
	background-image: linear-gradient(to top, #feff7b 40%, transparent 40%);
	color: #666;
	font-size: 1.15em;
	font-weight: bold;
	padding: 0 0.05em 0 0.15em;
}
.postCtaContent h4 {
	font-size: 30px;
	font-weight: 900;
	margin: 0.25em 0 1em;
	line-height: 1.5;
}
.postCtaBtn {
	background-image: linear-gradient(45deg, #E66654, #B54434);
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	border-radius: 2em;
	display: inline-block;
	padding: 1em 2em;
	box-shadow: 0 4px 8px -2px rgba(0 0 0 /0.24);
}
.postCtaBanner {
	display: block;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 4px 8px -2px rgba(0 0 0 /0.24);
}
.postCtaBanner + .postCtaBanner {
	margin-top: 1.5rem;
}
.downloadList {
	margin: 0 0 4rem;
}
.downloadList>li {
	display: grid;
	grid-template-columns: 38.19% 1fr;
	grid-column-gap: 1.5rem;
}
.downloadImg {
	grid-column: 1/2;
	grid-row: 1/4;
	background-color: #eee;
	position: relative;
}
.downloadImg img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	max-width: 85%;
	max-height: 85%;
	margin: auto;
	box-shadow: 0 6px 9px -3px rgb(0 0 0 / 12%);
}
.downloadTitle {
	grid-column: 2/3;
	grid-row: 1/2;
	margin: 0 0 1rem;
}
.downloadTitle a {
	text-decoration: none;
}
.downloadTitle + p {
	grid-column: 2/3;
	grid-row: 2/3;
	margin: 0 0 1.5rem;
	font-size: 15px;
}
.downloadBtn {
	grid-column: 2/3;
	grid-row: 3/4;
	background-image: linear-gradient(45deg,#e66654,#b54434);
	padding: 0.75em 3em;
	font-size: 15px;
}
.gallery-columns-2 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 2rem;
}
.gallery-columns-2 .gallery-item {
	width: calc(50% - 1rem/2);
	margin: 0 1rem 0 0;
}
.gallery-columns-2 .gallery-item:nth-child(2n) {
	margin-right: 0;
}
.gallery-columns-2 .gallery-item:nth-child(n+3) {
	margin-top: 1rem;
}
.floatBanner {
	position: fixed;
	right: 1.5rem;
	bottom: 2rem;
	width: 320px;
	max-width: 50%;
	filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.16));
	z-index: 2;
	opacity: 1;
	transform: translateY(0);
	transition: all .4s ease;
}
.fixedFooterCta {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: linear-gradient(45deg,#ff4e50,#f9d423);
	padding: .75rem 0;
	box-shadow: 0 -2px 4px rgba(0,0,0,0.24);
	z-index: 1;
}
.floatBanner.hide,
.floatBanner.delete {
	transform: translateY(150%);
	opacity: 0;
}
.floatBanner .la-times-circle {
	position: absolute;
	top: -8px;
	right: -4px;
	font-size: 24px;
	background-color: #222;
	border-radius: 100%;
	cursor: pointer;
}
.floatBanner img {
	border-radius: 8px;
}
.tokyo {
	padding: 5vw 0;
	background: url("data:image/svg+xml;charset=utf-8,%3csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='80' height='40' viewBox='0 0 120 60' preserveAspectRatio='none'%3e%3cpath fill='%23ffffff' opacity='.03' d='M13.005 31.426a55 55 0 0 1 93.99 0 60 60 0 0 0-9.89 3.114 45 45 0 0 0-74.21 0 60 60 0 0 0-9.89-3.114zm14.499 5.249a40 40 0 0 1 64.992 0 60 60 0 0 0-8.496 5.325 30 30 0 0 0-48 0 60 60 0 0 0-8.496-5.325zm12.371 8.493a25 25 0 0 1 40.25 0 60 60 0 0 0-7.063 7.458 15 15 0 0 0-26.124 0 60 60 0 0 0-7.063-7.458zm10.477 12.202a10 10 0 0 1 19.296 0 60 60 0 0 0-1.897 3.133 60 60 0 0 0-15.502 0 60 60 0 0 0-1.897-3.133zM-46.995 61.426a55 55 0 0 1 93.99 0 60 60 0 0 0-9.89 3.114 45 45 0 0 0-74.21 0 60 60 0 0 0-9.89-3.114zm14.499 5.249a40 40 0 0 1 64.992 0 60 60 0 0 0-8.496 5.325 30 30 0 0 0-48 0 60 60 0 0 0-8.496-5.325zM73.005 61.426a55 55 0 0 1 93.99 0 60 60 0 0 0-9.89 3.114 45 45 0 0 0-74.21 0 60 60 0 0 0-9.89-3.114zm14.499 5.249a40 40 0 0 1 64.992 0 60 60 0 0 0-8.496 5.325 30 30 0 0 0-48 0 60 60 0 0 0-8.496-5.325zM-46.995 1.426a55 55 0 0 1 93.99 0 60 60 0 0 0-9.89 3.114 45 45 0 0 0-74.21 0 60 60 0 0 0-9.89-3.114zm14.499 5.249a40 40 0 0 1 64.992 0 60 60 0 0 0-8.496 5.325 30 30 0 0 0-48 0 60 60 0 0 0-8.496-5.325zm12.371 8.493a25 25 0 0 1 40.25 0 60 60 0 0 0-7.063 7.458 15 15 0 0 0-26.124 0 60 60 0 0 0-7.063-7.458zm10.477 12.202a10 10 0 0 1 19.296 0 60 60 0 0 0-1.897 3.133 60 60 0 0 0-15.502 0 60 60 0 0 0-1.897-3.133zM73.005 1.426a55 55 0 0 1 93.99 0 60 60 0 0 0-9.89 3.114 45 45 0 0 0-74.21 0 60 60 0 0 0-9.89-3.114zm14.499 5.249a40 40 0 0 1 64.992 0 60 60 0 0 0-8.496 5.325 30 30 0 0 0-48 0 60 60 0 0 0-8.496-5.325zm12.371 8.493a25 25 0 0 1 40.25 0 60 60 0 0 0-7.063 7.458 15 15 0 0 0-26.124 0 60 60 0 0 0-7.063-7.458zm10.477 12.202a10 10 0 0 1 19.296 0 60 60 0 0 0-1.897 3.133 60 60 0 0 0-15.502 0 60 60 0 0 0-1.897-3.133zM50.352-2.630a10 10 0 0 1 19.296 0 60 60 0 0 0-1.897 3.133 60 60 0 0 0-15.502 0 60 60 0 0 0-1.897-3.133z'/%3e%3c/svg%3e");
	background-color: #686868;
	color: #ffff;
	text-align: center;
	position: relative;
	overflow: hidden;
	margin: 0;
}
.tokyo h2 {
	font-size: 11.1vw;
	opacity: .1;
	margin: 0;
	text-align: justify;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1;
	bottom: 0;
	right: 0;
	margin: auto;
	height: 2em;
}
.tokyo h3 {
	position: relative;
	margin: 0;
	font-size: 16px;
	line-height: 2;
}
.tokyo p {
	margin: 0 0 1rem;
	font-size: 14px;
	line-height: 2;
	position: relative;
}
.tokyo p.smaller {
	font-size: 12px;
	line-height: 1.5;
}
.tokyo .linkBtn {
	margin: auto;
	position: relative;
}
.plan_table {
	display: flex;
	align-items: flex-end;
}
.plan_table > div {
	flex: 1;
}
.plan_table_title {
	padding: 24px 16px;
	background-color: #fff;
	color: #69b8a1;
	letter-spacing: .15em;
	text-indent: .15em;
	border: 1px solid #e0e1e6;
	border-bottom: 0;
	text-align: center;
	border-radius: 20px 20px 0 0;
	line-height: 1;
}
.plan_table_title h2 {
	font-size: 20px;
	margin: 0;
}
.plan_table_title span {
	font-size: 12px;
	margin-top: 12px;
	display: block;
}
.plan_table_title i {
	display: block;
	font-style: normal;
	font-size: 13px;
	font-weight: 700;
	color: #efe04b;
	margin-bottom: 4px;
}
.plan_table_title a {
	border: 1px solid;
	border-radius: 8px;
	display: block;
	padding: 8px;
	margin: 16px auto 0;
	font-size: 12px;
	width: 10em;
	color: inherit;
	background-color: inherit;
	text-decoration: none;
}
.plan_table p {
	margin: 0;
	background-color: #fff;
	border: 1px solid #e0e1e6;
	border-top: 0;
	line-height: 1.25;
	height: 48px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0 16px;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-indent: 0.1em;
}
.plan_table p:first-of-type {
	border-top: 1px solid #E0E1E6;
}
.plan_table p i {
	font-style: normal;
	font-size: 0.75em;
}
.plan_table .plan_table_price {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0;
	text-indent: 0;
	flex-direction: row;
}
.plan_table .plan_table_price i {
	font-size: 0.5em;
	transform: translateY(0.2em);
	margin-left: 0.2em;
}
.plan_table .plan_table_price i > i {
	font-size: 0.85em;
}
.plan_table .la-check {
	color: #69b8a1;
	font-size: 1.35em;
}
.plan_table .la-minus {
	color: #ccc;
	font-size: 0.85em;
}
.plan_table_head p {
	background-color: #f3f5f9;
	border-right: 0;
	color: #4a4a4a;
	text-indent: 0;
	flex-direction: row;
	justify-content: flex-start;
}
.plan_table_head p:first-of-type {
	border-radius: 20px 0 0 0;
}
.plan_table_head p:last-of-type {
	border-radius: 0 0 0 20px;
}
.plan_table_head .plan_table_title,
.plan_table_head .plan_table_link {
	visibility: hidden;
	opacity: 0;
}
.plan_table_link {
	position: relative;
	text-align: center;
	padding: 24px 16px;
	font-size: 14px;
}
.plan_table_standard .plan_table_title {
	background-color: #69b8a1;
	color: #fff;
	border-left: 0;
	border-right: 0;
}
.plan_table_standard p {
	position: relative;
	border-left: 0;
	border-right: 0;
	font-weight: bold;
	color: #69b8a1;
}
.plan_table_standard p::before {
	content: "";
	position: absolute;
	left: 0;
	top: -1px;
	bottom: 0;
	border-left: 3px solid #69B8A1;
}
.plan_table_standard p::after {
	content: "";
	position: absolute;
	right: 0;
	top: -1px;
	bottom: 0;
	border-right: 3px solid #69B8A1;
}
.plan_table_standard .plan_table_link:before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -1px;
	border-top: 3px solid #69b8a1;
}
/* .plan_table_premium a {
	pointer-events: none;
	text-decoration: none;
	color: #ddd;
} */
@media (max-width: 768px) {
	body.show {
		overflow: hidden;
	}
	section {
		margin: 4rem auto;
	}
	.spBr {
		display: block;
	}
	.pcBr {
		display: none;
	}
	.header {
		padding: 1.5rem 0;
	}
	.headerLogo {
		flex-basis: 90px;
	}
	.headerGnav {
		position: fixed;
		top: 0;
		right: 0;
		height: 100vh;
		padding: 5rem 2rem 2rem;
		background-image: linear-gradient(165deg, #3a3a3a, #0c0c0c);
		width: 60%;
		transform: translateX(100%);
		transition: all 0.25s ease;
	}
	.show .headerGnav {
		transform: translateX(0);
		box-shadow: -8px 0 8px -4px rgba(0,0,0,0.32);
	}
	.headerGnavUl {
		display: block;
		color: #fff;
	}
	.headerGnavUl li {
		margin-left: 0;
		margin-top: 1rem;
		padding-top: 1rem;
		border-top: 1px solid #3e3e3e;
	}
	.headerGnavUl li:nth-child(n+2) {
		margin-left: 0;
	}
	.headerGnavUl a {
		display: block;
	}
	.headerGnavCta a {
		border-radius: 4px;
		color: #fff;
		padding: 1em;
		background-image: linear-gradient(45deg, #E66654, #B54434);
		text-align: center;
	}
	.headerGnavToggle {
		display: block;
		position: relative;
	}
	.headerGnavToggle i {
		display: block;
		height: 2px;
		width: 24px;
		background-color: #333;
		margin: 7px 0;
	}
	.show .headerGnavToggle i {
		background-color: #fff;
	}
	.show .headerGnavToggle i:nth-child(1) {
		transform: translate(0px,5px) rotate(45deg);
	}
	.show .headerGnavToggle i:nth-child(2) {
		transform: translate(0px,-4px) rotate(-45deg);
	}
	.main {
		margin-top: 79px;
	}
	.colorDiv {
		padding: 2rem;
		display: block;
		text-align: justify;
		margin-top: 30%;
	}
	.colorDivImg {
		display: block;
		padding: 0;
		transform: translateY(-15%);
		margin-top: -15%;
	}
	.colorDivImg img {
		transform: translateY(0);
		position: static;
		width: 100%;
	}
	.colorDivContent {
		padding: 0;
	}
	.colorDivTitle {
		font-size: 30px;
	}
	.colorDivTitle br {
		display: contents;
	}
	.colorDivContent p {
		font-size: 14px;
	}
	.threeColDiv ul {
		display: block;
	}
	.threeColDiv ul li {
		margin-top: 3rem;
		padding: 0;
	}
	.colorSec {
		padding: 4rem 0;
	}
	.colorSec.pickup {
		padding-top: 4rem;
	}
	.colorSec.pickup:before {
		height: 20%;
	}
	.engTitle {
		font-size: 42px;
	}
	.contentHeader {
		padding: 1.5rem 0;
	}
	.contentHeader .engTitle {
		font-size: 38px;
	}
	.serviceLead {
		margin-bottom: 6rem;
	}
	.serviceLeadCopy {
		font-size: 40px;
	}
	.serviceLeadCopySub {
		font-size: 20px;
	}
	.serviceItem {
		display: block;
	}
	.serviceItem+.serviceItem {
		margin-top: 6rem;
	}
	.serviceItemImage {
		margin-bottom: 2rem;
	}
	.serviceMv {
		padding: 3rem 0;
	}
	.serviceMvDiv {
		flex-direction: column;
		gap: 3rem;
		align-items: flex-start;
	}
	.serviceMvCopy {
		font-size: 4.1rem;
	}
	.serviceMvCopy br,
	.serviceMvText br {
		display: contents;
	}
	.serviceCases li {
		flex-direction: column;
		gap: 2rem;
	}
	.serviceWhyHowNum {
		font-size: 48px;
		text-align: left;
		padding: 1rem 0;
	}
	.serviceWhyHow li {
		grid-template-columns: 4.5rem 1fr;
	}
	.serviceWhyHowWhy,
	.serviceWhyHowHow {
		padding-left: 1rem;
	}
	.serviceWhyHowEn {
		font-size: 40px;
		text-align: left;
		flex-basis: 7rem;
	}
	.serviceWhyHowWhy h3 {
		font-size: 24px;
	}
	.serviceWhyHowWhy dl {
		gap: 8px;
	}
	.serviceWhyHowWhy dl dd {
		font-size: 15px;
	}
	.serviceWhyHowHow h3 {
		font-size: 22px;
	}
	.serviceWhyHowHow p {
		font-size: 12px;
	}
	.serviceSpecial {
		display: block;
	}
	.serviceSpecial li {
		margin: 0 2rem;
	}
	.serviceSpecial li + li {
		margin-top: 3rem;
	}
	.serviceSpecial img {
		margin: 0 -2rem;
		width: calc(100% + 4rem);
		max-width: none;
	}
	.serviceFlow {
		flex-direction: column;
	}
	.serviceFlow>li:after {
		transform: rotate(90deg) translateX(-25%);
		top: 0;
		left: 35px;
	}
	.servicePrice dt {
		flex-basis: 100%;
		padding: 1rem;
	}
	.servicePrice dd:first-of-type {
		border: 0;
	}
	.footerNav {
		flex-wrap: wrap;
	}
	.footerNav ul.footerNavTitle {
		flex-basis: 100%;
	}
	.footerNavMenu {
		margin: 2rem 0 0;
	}
	.footerNavMain {
		grid-template-columns: 1fr 1fr 1fr 1fr;
		margin: 0;
		gap: 0.5rem 2rem;
	}
	.footerCopy {
		flex-direction: column-reverse;
		align-items: flex-start;
	}
	.footerAttribute {
		text-align: left;
	}
	.footerCopyright {
		font-size: 12px;
		margin-top: 1rem;
	}
	.topMv {
		padding-top: 3rem;
	}
	.topMvDiv {
		display: block;
	}
	.topMvContent {
		margin-right: 0;
	}
	.topMvCopyText {
		font-size: 48px;
	}
	.topMvHeadline {
		margin-top: 1.3em;
	}
	.topMvText {
		margin: 0.3em 0 3em;
	}
	.topMvText br {
		display: contents;
	}
	.topMvCta {
		font-size: 16px;
		display: block;
		text-align: center;
	}
	.topMvImg {
		margin: 3rem -1rem 0;
	}
	.topTitleEng {
		font-size: 40px;
	}
	.topNumbers {
		display: block;
		margin-top: 5rem;
	}
	.topNumber {
		display: block;
		text-align: center;
		padding-bottom: 1.25rem;
	}
	.topNumber:nth-child(2n) {
		margin-top: 3rem;
	}
	.topNumber > span {
		font-size: 64px;
		transform: translateY(-25%);
		filter: drop-shadow(3px 0px 0 #682318);
	}
	.topNumber > span i {
		margin-right: -0.5em;
	}
	.topNumber > p {
		margin: 0;
		font-size: 16px;
	}
	.topWorks {
		display: block;
	}
	.topWorks li {
		padding-top: 0;
	}
	.topWorks li:nth-child(n+2) {
		margin-top: 2rem;
	}
	.topWorksTitle {
		position: static;
		margin: 2rem 0 1.5rem;
	}
	.topRecruit {
		display: block;
		padding: 2rem;
	}
	.topRecruit li {
		padding: 0;
	}
	.topRecruit li:nth-child(n+2) {
		border-top: 1px solid #efefef;
		border-left: 0;
		margin-top: 1.5rem;
		padding-top: 1.5rem;
	}
	.topRecruitTitle {
		font-size: 20px;
	}
	.topRecruitContent {
		margin-bottom: 1rem;
	}
	.topSupport {
		margin: 1rem 0;
	}
	.topSupportList li {
		flex-basis: 110px;
		margin: 0.5rem 1rem;
	}
	.breadcrumbs {
		margin-top: 0.5rem;
		font-size: 13px;
	}
	.notFoundDiv {
		display: block;
	}
	.notFoundContent {
		padding-top: 0;
		margin-bottom: 3rem;
	}
	.notFoundContentTitle {
		font-size: 28px;
		margin-bottom: 1rem;
	}
	.notFoundContent p {
		font-size: 18px;
		margin-bottom: 3rem;
	}
	.aboutNav {
		margin: 2rem 0;
	}
	.aboutNavMenu a {
		flex-basis: calc(50% - 1rem/2);
		font-size: 13px;
		padding: 0.75em 0;
	}
	.aboutTable th,
	.aboutTable td {
		font-size: 13px;
	}
	.aboutTable th {
		padding-right: 1rem;
	}
	.aboutTable td {
		padding-left: 1rem;
	}
	.aboutMap::before {
		padding-top: 75%;
	}
	.visionList li h3 {
		font-size: 18px;
	}
	.visionList li p {
		margin: 0;
		font-size: 13px;
	}
	.visionList li .engTitle {
		font-size: 34px;
	}
	.memberCard {
		grid-column-gap: 1rem;
		grid-template-columns: 90px auto;
	}
	.memberImg {
		grid-area: 1/1/2/2;
	}
	.memberMeta {
		display: block;
		align-self: center;
	}
	.memberTitle {
		font-size: 12px;
	}
	.memberName {
		font-size: 18px;
	}
	.memberSns {
		justify-content: flex-end;
	}
	.memberContent {
		grid-area: 2/1/3/3;
	}
	.memberText {
		font-size: 13px;
	}
	.memberProfile,
	.memberProfile tbody,
	.memberProfile tr,
	.memberProfile th,
	.memberProfile td {
		display: block;
	}
	.memberProfile th {
		font-size: 18px;
		padding: 1rem 0 0;
	}
	.memberProfile td {
		font-size: 12px;
		border-top: none;
		padding-top: 0.5rem;
	}
	.memberHashtag {
		font-size: 14px;
	}
	.formSec {
		padding: 4rem 0;
	}
	.formTable,
	.formTable tbody,
	.formTable tr,
	.formTable th,
	.formTable td {
		display: block;
	}
	.formTable th {
		text-align: left;
	}
	.formTable td {
		padding-left: 0;
	}
	.formTable tr:nth-child(n+2) td {
		padding-top: 0;
	}
	.formQtitle {
		font-size: 16px;
	}
	.formQChoices .formQRadio{
		flex-direction: column;
	}
	.formQChoices .horizontal-item + .horizontal-item {
		margin: 1rem 0 0;
	}
	.formQChoices label {
		font-size: 16px;
	}
	.formBtn .wpcf7-submit {
		margin: auto;
	}
	.formThanksMsg {
		padding: 1.5rem;
		margin: 1.5rem 0;
	}
	.archiveList li:nth-child(n+2) {
		margin-top: 2rem;
	}
	.archiveTitle {
		font-size: 15px;
	}
	.archiveMeta {
		font-size: 13px;
		margin: 0.25rem 0;
		flex-direction: column;
		align-items: flex-start;
	}
	.archiveDate {
		font-size: 11px;
	}
	.archiveText {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		line-height: 1.5;
		font-size: 11px;
	}
	.postTitle {
		font-size: 28px;
	}
	#toc_container {
		padding: 2rem 1.5rem;
	}
	.postContent {
		font-size: 15px;
	}
	.postContent blockquote {
		padding: 2rem 1.5rem;
	}
	.postLink a span {
		font-size: 13px;
	}
	.postShare {
		display: block;
	}
	.postShare h5 {
		margin-bottom: 0.5rem;
	}
	.postAuthorMeta {
		grid-template-columns: 80px auto;
	}
	.postAuthorAvator {
		grid-row: 1/4;
	}
	.postAuthorTitle {
		grid-row: 1/2;
		grid-column: 2/3;
	}
	.postAuthorName {
		grid-row: 2/3;
		grid-column: 2/3;
	}
	.postAuthorSns {
		flex-basis: 100%;
		justify-content: flex-end;
		margin-top: 0.25rem;
		grid-row: 3/4;
		grid-column: 2/3;
	}
	.postTwitter {
		flex-wrap: wrap;
	}
	.postTwitterIcon {
		order: 1;
	}
	.postTwitterAccount {
		order: 3;
		margin-left: 0;
		margin-top: 0.5rem;
	}
	.postTwitterBtn {
		order: 2;
		font-size: 14px;
	}
	.postCta {
		display: block;
		padding: 2rem 1.5rem;
	}
	.postCtaImg {
		margin: 0 auto 1rem;
		width: 50%;
	}
	.postCtaContent p {
		font-size: 14px;
	}
	.postCtaContent {
		text-align: center;
	}
	.postCtaContent h4 {
		font-size: 28px;
	}
	.worksCategory {
		font-size: 14px;
	}
	.worksTable th,
	.worksTable td {
		font-size: 13px;
	}
	.worksTable th {
		width: 9em;
	}
	.worksTable tr:first-child th,
	.worksTable tr:first-child td {
		padding-top: 24px;
	}
	.worksTable tr:last-child th,
	.worksTable tr:last-child td {
		padding-bottom: 24px;
	}
	.worksHeadline {
		font-size: 24px;
	}
	.worksArchive li {
		flex-basis: calc(50% - 2rem/2);
	}
	.employmentLinks {
		display: block;
	}
	.employmentLinks a {
		grid-template: auto / 48px 1fr;
		grid-column-gap: 1rem;
		flex-basis: calc(50% - 0.5rem);
		margin-right: 0;
		text-decoration: none;
		padding: 1rem;
		border-radius: 4px;
	}
	.employmentLinks a:nth-child(n+2) {
		margin-top: 1rem;
	}
	.employmentLinksDesc {
		font-size: 13px;
	}
	.employmentNav {
		margin: 3rem 0;
	}
	.employmentNavTitle:nth-of-type(n+2) {
		margin-top: 1rem;
	}
	.employmentNavMenu {
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.employmentNavMenu a {
		flex-basis: calc(50% - 0.25rem);
		margin: 0;
		font-size: 14px;
	}
	.employmentNavMenu a:nth-of-type(n+3) {
		margin-top: 0.5rem;
	}
	.employmentTable,
	.employmentTable tbody,
	.employmentTable tr,
	.employmentTable th,
	.employmentTable td {
		display: block;
	}
	.employmentTable th {
		border: 0;
		padding: 0.5em 0.75em;
		margin-bottom: 1em;
		letter-spacing: 0;
		background-color: #f4f4f4;
	}
	.employmentTable td {
		border: 0;
		padding: 0;
	}
	.employmentTable tr:nth-child(n+2) th {
		padding-top: 0.5em;
		margin-top: 1.5em;
	}
	.employmentTable tr:nth-child(n+2) td {
		padding-top: 0;
	}
	.employmentImg {
		display: block;
	}
	.employmentImg span {
		width: auto;
		display: block;
		border-radius: 2px;
	}
	.employmentImg span:nth-child(n+2) {
		margin-top: 0.5em;
	}
	.internImg {
		display: block;
	}
	.internImg span {
		width: auto;
		display: block;
		border-radius: 2px;
	}
	.internImg span:nth-child(n+2) {
		margin-top: 1.5rem;
	}
	.partnerRqmt {
		display: block;
	}
	.partnerRqmt div {
		padding: 1.5rem;
	}
	.partnerRqmtNo {
		margin-top: 1rem;
	}
	.partnerRqmtTitle {
		margin-bottom: 1.5rem;
	}
	.topAdvantages {
		display: block;
	}
	.topAdvantagesTitle {
		font-size: 18px;
	}
	.topAdvantagesText p {
		font-size: 11px;
		text-align: justify;
		color: #666;
	}
	.topPriceLead {
		font-size: 12px;
		margin-bottom: 24px;
	}
	.topPriceTable {
		border-spacing: 3px;
	}
	.topPriceTable tr:nth-child(1) td:first-child {
		width: 18px;
	}
	.topPriceTable td {
		padding: 8px;
	}
	.topPriceTable tr:nth-child(1) td {
		font-size: 14px;
	}
	.topPriceTable th {
		white-space: break-spaces;
		font-size: 10px;
		padding: 8px 4px;
		vertical-align: top;
	}
	.topPriceTable td b {
		display: block;
		line-height: 1;
	}
	.topPriceTable tr:nth-child(n+6) td {
		font-size: 10px;
	}
	.topArchive {
		display: block;
	}
	.topArchive li {
		padding-top: 0;
	}
	.topArchive li:nth-child(n+2) {
		margin-top: 2.5rem;
	}
	.topArchiveLinks {
		display: block;
	}
	.topArchiveLink {
		width: auto;
	}
	.topArchiveLink:nth-child(n+2) {
		margin-top: 1rem;
	}
	.downloadList > li {
		display: block;
	}
	.downloadImg::before {
		content: "";
		display: block;
		padding-top: 75%;
	}
	.downloadTitle {
		margin: 1.5rem 0 0.5rem;
	}
	.downloadTitle + p {
		font-size: 14px;
	}
	.plan_table {
		display: block;
	}
	.plan_table > div + div {
		margin-top: 32px;
	}
	.plan_table_head {
		display: none;
	}
	.plan_table p::before {
		content: attr(data-title);
		display: block;
		font-size: 11px;
		margin-bottom: 4px;
		color: #999;
	}
	.plan_table .plan_table_price::before {
		margin: 0 4px 0 0;
		letter-spacing: 0.1em;
		transform: translateY(0.3em);
		font-weight: normal;
	}
	.plan_table_standard p:before {
		position: static;
		border: 0;
		font-weight: normal;
	}
	.plan_table_standard p:after {
		display: none;
	}
	.plan_table_standard p {
		border-left: 1px solid #e0e1e6;
		border-right: 1px solid #e0e1e6;
	}
	.plan_table_standard .plan_table_link:before {
		display: none;
	}
	.floatBanner {
		display: none;
	}
	.pivacyDiv h2 {
		margin-top: 3rem;
		font-size: 24px;
	}
}
@media (max-width: 516px) {
	.topMvCopyText {
		font-size: 9.15vw;
	}
	.tokyo {
		padding: 3rem 0;
	}
	.tokyo h2 {
		font-size: 16.6vw;
		height: 4.2em;
		line-height: 1.4;
	}
	.tokyo h3 {
		text-align: justify;
		font-size: 13px;
	}
	.tokyo p {
		font-size: 13px;
		text-align: justify;
		margin-bottom: 1rem;
	}
	.serviceLead {
		text-align: left;
		margin-bottom: 4rem;
	}
	.serviceLeadCopy {
		font-size: 30px;
	}
	.serviceLeadCopySub {
		font-size: 18px;
	}
	.serviceLeadText {
		font-size: 13px;
	}
	.serviceItem+.serviceItem {
		margin-top: 4rem;
	}
	.serviceItemImage {
		margin-bottom: 1rem;
	}
	.serviceItemEn {
		font-size: 20px;
	}
	.serviceItemJa {
		font-size: 26px;
		letter-spacing: 0;
	}
	.serviceItemText {
		grid-area: 3/2/4/3;
		font-size: 13px;
	}
	.serviceItem .linkBtn {
		font-size: 14px;
		line-height: 48px;
		margin: auto;
	}
	.serviceMv {
		padding: 2rem 0;
	}
	.serviceMvDiv {
		gap: 2rem;
	}
	.serviceMvCopy {
		font-size: 3.4rem;
	}
	.serviceMvCopy br,
	.serviceMvText br {
		display: block;
	}
	.serviceMvText {
		font-size: 14px;
	}
	.serviceMvText br {
		display: contents;
	}
	.servicePhilosophy h3 {
		font-size: 28px;
	}
	.servicePhilosophy h4 {
		font-size: 15px;
		line-height: 1.5;
	}
	.servicePhilosophy p {
		font-size: 12px;
	}
	.serviceWhyHow li {
		grid-template-columns: 2.5rem 1fr;
	}
	.serviceWhyHowNum {
		font-size: 28px;
	}
	.serviceWhyHowWhy,
	.serviceWhyHowHow {
		display: block;
	}
	.serviceWhyHowEn {
		font-size: 24px;
	}
	.serviceWhyHowWhy h3 {
		font-size: 20px;
	}
	.serviceWhyHowWhy dl {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}
	.serviceWhyHowHow h3 {
		font-size: 18px;
	}
	.serviceSpecial h3 {
		font-size: 22px;
		margin: 1rem 0;
	}
	.serviceSpecial li:nth-child(1) h4 {
		font-size: 15px;
	}
	.serviceSpecial li:nth-child(1) p {
		font-size: 13px;
	}
	.serviceSpecial h4 {
		font-size: 22px;
		margin: 1rem 0 0.5rem;
	}
	.serviceSpecial p {
		font-size: 12px;
	}
	.serviceSolutionsDiv h3 {
		font-size: 20px;
	}
	.serviceSolutionsProblems {
		flex-direction: column;
	}
	.serviceSolutionsProblems li {
		font-size: 14px;
	}
	.serviceSolutionsTable {
		gap: 1rem;
	}
	.serviceSolutionsTable .labels p {
		font-size: 14px;
	}
	.serviceSolutionsTable dl.purpose > dt {
		font-size: 14px;
	}
	.serviceSolutionsTable dl.imp > dt,
	.serviceSolutionsTable dl.cvr > dt {
		font-size: 12px;
		padding: 0.5rem 0;
	}
	.serviceSolutionsTable dd {
		padding: 0.5rem;
	}
	.serviceSolutionsTable dl.purpose > dd {
		gap: 0.5rem;
	}
	.serviceSolutionsTable dd ul {
		grid-template-columns: 1fr;
		gap: 0.25rem;
	}
	.serviceSolutionsTable dd li {
		font-size: 10px;
	}
	.serviceFlowAdd {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	.servicePrice {
		display: block;
	}
	.servicePrice.initial dd {
		padding: 1rem;
	}
	.servicePrice dd {
		border-left: 0;
		border-top: 1px solid #d6d6d6;
	}
	.servicePrice dd p {
		font-size: 10px;
	}
	.serviceCta {
		padding: 1.5rem;
	}
	.serviceCta h2 {
		font-size: 24px;
	}
	.serviceCta p {
		font-size: 13px;
		margin: 0.5rem 0 1.5rem;
	}
	.footerNavMain {
		grid-template-columns: 1fr 1fr;
		gap: 0.5rem 1.5rem;
	}
	.footerNavSub {
		display: block;
		margin-top: 1.5rem;
	}
	.linkCard {
		gap: 0.5rem;
	}
	.linkCardImage {
		flex-basis: 30%;
	}
	.linkCardTitle {
		font-size: 10px;
	}
	.linkCardTitle strong {
		font-size: 13px;
	}
	.worksArchive {
		gap: 1rem;
	}
	.worksArchive li {
		flex-basis: calc(50% - 1rem/2);
	}
	.postMeta {
		flex-direction: column;
	}
}