/* リキッドレイアウト対応 */

@font-face {
	font-display: swap;
	src: url("../font/Manrope-Light.ttf") format("truetype");
	font-family: "Manrope";
	font-style: normal;
	font-weight: 300;
}

@font-face {
	font-display: swap;
	src: url("../font/Manrope-Regular.ttf") format("truetype");
	font-family: "Manrope";
	font-style: normal;
	font-weight: 400;
}

@font-face {
	font-display: swap;
	src: url("../font/Manrope-Medium.ttf") format("truetype");
	font-family: "Manrope";
	font-style: normal;
	font-weight: 500;
}

@font-face {
	font-display: swap;
	src: url("../font/Manrope-SemiBold.ttf") format("truetype");
	font-family: "Manrope";
	font-style: normal;
	font-weight: 600;
}

@font-face {
	font-display: swap;
	src: url("../font/Manrope-Bold.ttf") format("truetype");
	font-family: "Manrope";
	font-style: normal;
	font-weight: 700;
}

@font-face {
	font-display: swap;
	src: url("../font/Manrope-ExtraBold.ttf") format("truetype");
	font-family: "Manrope";
	font-style: normal;
	font-weight: 800;
}

body {
	color: #333;
	font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 25.6px;
	font-size: 1.6rem;
	letter-spacing: 0.08em;
	line-height: 2;
}

.u-mobile {
	display: none;
}

.u-mobile--lg {
	display: none;
}

a:hover {
	opacity: 0.7;
}

html {
	font-size: 0.6666666667vw;
}

/* pcの電話番号発信対応 */

a[href^="tel:"] {
	pointer-events: none;
}

/* ホバー */

a {
	color: inherit;
	text-decoration: none;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

address {
	font-style: normal;
}

/* Set core root defaults */

/* Set core body defaults */

body {
	min-height: 100vh;
	text-rendering: optimizeSpeed;
}

body.hidden {
	overflow: hidden;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
	-webkit-filter: blur(10px);
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

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

.l-404 {
	margin-top: 320px;
	margin-top: 20rem;
}

.l-breadcrumb {
	margin-top: 376px;
	margin-top: 23.5rem;
}

.l-footer {
	border-top: 1px solid #aaaaaa;
}

.l-inner,
.l-inner140,
.l-inner120 {
	margin-left: auto;
	margin-right: auto;
	max-width: 1600px;
	max-width: 100rem;
	padding-left: 30px;
	padding-right: 30px;
	width: 100%;
}

.l-inner140 {
	max-width: 2240px;
	max-width: 140rem;
}

.l-inner120 {
	max-width: 1920px;
	max-width: 120rem;
}

.l-top-main {
	overflow: hidden;
}

.l-page {
	overflow: hidden;
}

.c-breadcrumb__lists {
	background-color: #fff;
	padding: 16px 0;
	padding: 1rem 0;
}

.c-breadcrumb__lists ol {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.c-breadcrumb__lists ol li {
	margin-right: 32px;
	margin-right: 2rem;
	padding-right: 32px;
	padding-right: 2rem;
	position: relative;
}

.c-breadcrumb__lists ol li:not(:last-child)::after {
	border-right: 1px solid #030421;
	border-top: 1px solid #030421;
	content: "";
	height: 11.2px;
	height: 0.7rem;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	width: 11.2px;
	width: 0.7rem;
}

.c-btn {
	margin-top: 48px;
	margin-top: 3rem;
	text-align: center;
}

.c-btn span {
	position: relative;
}

.c-btn span:before,
.c-btn span:after {
	background: #0072AB;
	content: "";
	height: 32px;
	height: 2rem;
	left: -24px;
	left: -1.5rem;
	position: absolute;
	top: 0;
	-webkit-transform: rotate(-25deg);
	transform: rotate(-25deg);
	width: 3.2px;
	width: 0.2rem;
}

.c-btn span:after {
	left: inherit;
	right: -24px;
	right: -1.5rem;
	-webkit-transform: rotate(25deg);
	transform: rotate(25deg);
}

.c-btn a {
	background-color: #0072AB;
	border: 1px solid #0072AB;
	color: #fff;
	display: inline-block;
	font-size: 25.6px;
	font-size: 1.6rem;
	padding: 8px 64px;
	padding: 8px 4rem;
	position: relative;
	text-align: center;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.c-btn a:hover {
	background-color: #fff;
	color: #0072AB;
}

.c-btn a:hover::before,
.c-btn a:hover::after {
	right: -80px;
	right: -5rem;
}

.c-btn a::before,
.c-btn a::after {
	background-color: #57a6db;
	content: "";
	height: 2px;
	position: absolute;
	right: -64px;
	right: -4rem;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	z-index: 1;
}

.c-btn a::before {
	top: calc(50% - 1px);
	-webkit-transform: translateY(calc(-50% - 2px)) rotate(30deg);
	transform: translateY(calc(-50% - 2px)) rotate(30deg);
	width: 12px;
}

.c-btn a::after {
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 60px;
}

.btn-submit {
	margin-top: 48px;
	margin-top: 3rem;
	text-align: center;
}

.btn-submit a,
.btn-submit input {
	background: #0072AB;
	border: 1.6px solid #0072AB;
	border: 0.1rem solid #0072AB;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 25.6px;
	font-size: 1.6rem;
	line-height: 1;
	margin-bottom: 16px;
	margin-bottom: 1rem;
	padding: 32px 64px;
	padding: 2rem 4rem;
	text-align: center;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.btn-submit a:hover,
.btn-submit input:hover {
	background: #fff;
	color: #0072AB;
}

.btn-submit .wpcf7-spinner {
	display: none;
}

.c-flex {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.c-hamburger {
	background: #0072AB;
	background: -webkit-gradient(linear, left top, right top, from(#0072AB), to(#0072AB));
	background: linear-gradient(90deg, #0072AB 0%, #0072AB 100%);
	color: transparent;
	cursor: pointer;
	height: 100%;
	height: 96px;
	height: 6rem;
	overflow: hidden;
	position: absolute;
	right: 0;
	text-shadow: none;
	top: 0;
	width: 96px;
	width: 6rem;
}

.c-hamburger span {
	left: 50%;
	margin: 0 0 0 -22.4px;
	margin: 0 0 0 -1.4rem;
	top: 50%;
	-webkit-transition: background-color 100ms;
	transition: background-color 100ms;
}

.c-hamburger span::before,
.c-hamburger span,
.c-hamburger span::after {
	background: #fff;
	content: "";
	display: block;
	height: 2px;
	position: absolute;
	width: 44.8px;
	width: 2.8rem;
}

/*×に変化*/

.c-hamburger span::before {
	top: -14.4px;
	top: -0.9rem;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

.c-hamburger span::after {
	top: 14.4px;
	top: 0.9rem;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

.c-hamburger span::before,
.c-hamburger span::after {
	left: 0;
	-webkit-transition: top 200ms, -webkit-transform 200ms;
	transition: top 200ms, -webkit-transform 200ms;
	transition: transform 200ms, top 200ms;
	transition: transform 200ms, top 200ms, -webkit-transform 200ms;
}

.c-hamburger.active span::before,
.c-hamburger.active span::after {
	top: 0;
}

.c-page-section-title {
	color: #f3f7fa;
	font-family: "Spinnaker", sans-serif;
	font-size: 144px;
	font-size: 9rem;
	line-height: 0.6;
	margin-bottom: 128px;
	margin-bottom: 8rem;
	text-align: center;
}

.c-page-section-title span {
	color: #333;
	display: block;
	font-size: 30%;
}

.c-page-title {
	background: #f3f7fa;
	color: #030421;
	font-family: "Dosis", sans-serif;
	font-size: 64px;
	font-size: 4rem;
	line-height: 1.4;
	padding: 288px 0 160px;
	padding: 18rem 0 10rem;
	text-align: center;
	text-align: center;
}

.c-page-title span {
	color: #aaaaaa;
	display: block;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 60%;
	font-weight: 400;
	line-height: 1;
}

table {
	border-collapse: collapse;
	width: 100%;
}

table tr th,
table tr td {
	border: 1.6px solid #ededed;
	border: 0.1rem solid #ededed;
	padding: 32px;
	padding: 2rem;
}

table tr th {
	background: #ededed;
	font-weight: bold;
	width: 26.8%;
}

table tr th span {
	background-color: #030421;
	color: #fff;
	font-size: 19.2px;
	font-size: 1.2rem;
	margin-left: 8px;
	margin-left: 0.5rem;
	padding: 3.2px 8px;
	padding: 0.2rem 0.5rem;
}

table tr td {
	background: #fff;
}

table tr td span {
	position: inherit;
}

table tr td input,
table tr td textarea {
	border: 1.6px solid #ededed;
	border: 0.1rem solid #ededed;
	font-size: 25.6px;
	font-size: 1.6rem;
	padding: 16px;
	padding: 1rem;
	resize: vertical;
	width: 100%;
}

table tr td textarea {
	font-size: 16px;
	height: 320px;
	height: 20rem;
}

.p-about {
	padding-top: 240px;
	padding-top: 15rem;
}

.p-about__profile {
	margin-bottom: 320px;
	margin-bottom: 20rem;
}

.p-about__skill-lists {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.p-about__skill-list {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 1px solid #ededed;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 32px;
	margin-bottom: 2rem;
	padding-bottom: 32px;
	padding-bottom: 2rem;
	width: calc(50% - 2rem);
}

.p-about__skill-img {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 70px;
	width: 11%;
}

.p-about__skill-img svg {
	width: 100%;
}

.p-about__skill-txt {
	width: 85%;
}

.p-about__skill-ttl {
	font-weight: 700;
}

/* News archive */

.p-blog--archive .p-blog__main {
	width: calc(100% - 36rem);
}

.p-blog__tab {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 96px;
	margin-bottom: 6rem;
}

.p-blog__link {
	border-right: 1px solid #f5f5f5;
	line-height: 1.4;
	margin-right: 24px;
	margin-right: 1.5rem;
	padding-right: 24px;
	padding-right: 1.5rem;
}

.p-blog__link:last-child {
	border-right: none;
	margin-right: 0;
	padding-right: 0;
}

.p-blog__link a {
	border-bottom: 2px solid transparent;
	color: #333;
	display: block;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.p-blog__link a:hover {
	border-bottom-color: #333;
}

.p-blog__lists {
	gap: 32px;
	gap: 2rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.p-blog__list {
	background-color: #fff;
	border: 1px solid #ededed;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: calc(50% - 1rem);
}

.p-blog__list a {
	color: #333;
	display: block;
	padding: 38.4px 32px;
	padding: 2.4rem 2rem;
}

.p-blog__list:hover {
	-webkit-box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
	-webkit-transform: translateY(-4px);
	transform: translateY(-4px);
}

.p-blog-list__thumbnail {
	border: 1px solid #ededed;
	line-height: 0;
	margin-bottom: 22.4px;
	margin-bottom: 1.4rem;
}

.p-blog-list__thumbnail img {
	-o-object-fit: cover;
	height: 352px;
	height: 22rem;
	object-fit: cover;
	width: 100%;
}

.p-blog-list__cat {
	gap: 12.8px;
	gap: 0.8rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 16px;
	margin-bottom: 1rem;
}

.p-blog-list__cat-tag {
	border: 1px solid #0072AB;
	border-radius: 99.9rem;
	color: #0072AB;
	display: inline-block;
	font-size: 19.2px;
	font-size: 1.2rem;
	line-height: 1.2;
	padding: 6.4px 16px;
	padding: 0.4rem 1rem;
}

.p-blog-list__time {
	color: #6b6b6b;
	display: block;
	font-size: 20.8px;
	font-size: 1.3rem;
	margin-bottom: 12.8px;
	margin-bottom: 0.8rem;
}

.p-blog-list__descri {
	font-weight: 700;
	line-height: 1.6;
}

/* Single blog */

.p-blog {
	gap: 80px;
	gap: 5rem;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-top: 192px;
	padding-top: 12rem;
}

.p-blog__main {
	width: calc(100% - 36rem);
}

.p-blog__sidebar {
	position: sticky;
	top: 144px;
	top: 9rem;
	width: 496px;
	width: 31rem;
}

.p-blog-sidebar__section {
	background-color: #fff;
	border: 1px solid #ededed;
	padding: 38.4px 32px;
	padding: 2.4rem 2rem;
}

.p-blog-sidebar__section + .p-blog-sidebar__section {
	margin-top: 32px;
	margin-top: 2rem;
}

.p-blog-sidebar__title {
	border-left: 3px solid #0072AB;
	font-size: 32px;
	font-size: 2rem;
	line-height: 1.4;
	margin-bottom: 25.6px;
	margin-bottom: 1.6rem;
	padding-left: 16px;
	padding-left: 1rem;
}

.p-blog-sidebar__lists {
	border-top: 1px solid #ededed;
}

.p-blog-sidebar__list {
	border-bottom: 1px solid #ededed;
}

.p-blog-sidebar__list a {
	color: #333;
	display: block;
	padding: 22.4px 0;
	padding: 1.4rem 0;
}

.p-blog-sidebar__thumbnail {
	border: 1px solid #ededed;
	line-height: 0;
	margin-bottom: 16px;
	margin-bottom: 1rem;
}

.p-blog-sidebar__thumbnail img {
	-o-object-fit: cover;
	height: 224px;
	height: 14rem;
	object-fit: cover;
	width: 100%;
}

.p-blog-sidebar__date {
	color: #6b6b6b;
	display: block;
	font-size: 19.2px;
	font-size: 1.2rem;
	line-height: 1.4;
	margin-bottom: 9.6px;
	margin-bottom: 0.6rem;
}

.p-blog-sidebar__text {
	font-size: 22.4px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
}

.p-blog-sidebar__author-name {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 12.8px;
	margin-bottom: 0.8rem;
}

.p-blog-sidebar__author-text {
	font-size: 22.4px;
	font-size: 1.4rem;
	line-height: 1.8;
}

.p-blog__author-sp {
	background-color: #fff;
	border: 1px solid #ededed;
	display: none;
	margin-bottom: 64px;
	margin-bottom: 4rem;
	padding: 32px 25.6px;
	padding: 2rem 1.6rem;
}

.p-blog__author-sp-title {
	border-left: 3px solid #0072AB;
	font-size: 28.8px;
	font-size: 1.8rem;
	line-height: 1.4;
	margin-bottom: 19.2px;
	margin-bottom: 1.2rem;
	padding-left: 16px;
	padding-left: 1rem;
}

.p-blog__detail {
	padding-top: 0;
}

.p-blog__header {
	margin-bottom: 64px;
	margin-bottom: 4rem;
}

.p-blog__meta {
	gap: 25.6px;
	gap: 1.6rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 28.8px;
	margin-bottom: 1.8rem;
}

.p-blog__cats {
	gap: 12.8px;
	gap: 0.8rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.p-blog__cat {
	border: 1px solid #0072AB;
	border-radius: 99.9rem;
	color: #0072AB;
	display: inline-block;
	font-size: 19.2px;
	font-size: 1.2rem;
	line-height: 1.2;
	padding: 6.4px 16px;
	padding: 0.4rem 1rem;
}

.p-blog__date {
	color: #6b6b6b;
	font-size: 22.4px;
	font-size: 1.4rem;
}

.p-blog__title {
	border-left: 4px solid #0072AB;
	font-size: 54.4px;
	font-size: 3.4rem;
	letter-spacing: 0.04em;
	line-height: 1.5;
	padding-left: 25.6px;
	padding-left: 1.6rem;
}

.p-blog__thumbnail {
	border: 1px solid #ededed;
	line-height: 0;
	margin-bottom: 80px;
	margin-bottom: 5rem;
}

.p-blog__thumbnail img {
	-o-object-fit: cover;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-blog__content {
	font-size: 25.6px;
	font-size: 1.6rem;
	line-height: 2; /* テーブル：SPでもPCと同じセルレイアウト＋横スクロール */ /* Gutenbergのラッパー無し table や :has 対応ブラウザ用 */
}

.p-blog__content > * + * {
	margin-top: 38.4px;
	margin-top: 2.4rem;
}

.p-blog__content h2,
.p-blog__content h3,
.p-blog__content h4 {
	font-weight: 700;
	line-height: 1.6;
	margin-top: 76.8px;
	margin-top: 4.8rem;
}

.p-blog__content h2 {
	border-bottom: 2px solid #0072AB;
	font-size: 44.8px;
	font-size: 2.8rem;
	padding-bottom: 12.8px;
	padding-bottom: 0.8rem;
}

.p-blog__content h3 {
	border-left: 3px solid #0072AB;
	font-size: 35.2px;
	font-size: 2.2rem;
	padding-left: 16px;
	padding-left: 1rem;
}

.p-blog__content p {
	color: #333;
}

.p-blog__content ul,
.p-blog__content ol {
	color: #333;
	list-style-position: outside;
	margin: 32px 0;
	margin: 2rem 0;
	padding-left: 1.6em;
}

.p-blog__content ul {
	list-style-type: disc;
}

.p-blog__content ol {
	list-style-type: decimal;
}

.p-blog__content li {
	line-height: 1.9;
	margin-top: 12.8px;
	margin-top: 0.8rem;
	padding-left: 6.4px;
	padding-left: 0.4rem;
}

.p-blog__content li:first-child {
	margin-top: 0;
}

.p-blog__content li ul,
.p-blog__content li ol {
	margin: 19.2px 0 12.8px;
	margin: 1.2rem 0 0.8rem;
}

.p-blog__content ul ul {
	list-style-type: circle;
}

.p-blog__content ul ul ul {
	list-style-type: square;
}

.p-blog__content ol ol {
	list-style-type: lower-alpha;
}

.p-blog__content ol ol ol {
	list-style-type: lower-roman;
}

.p-blog__content a {
	color: #0072AB;
	text-decoration: underline;
}

.p-blog__content img {
	height: auto;
	max-width: 100%;
}

.p-blog__content blockquote {
	background-color: #f3f7fa;
	border-left: 3px solid #0072AB;
	margin: 44.8px 0;
	margin: 2.8rem 0;
	padding: 32px;
	padding: 2rem;
}

.p-blog__content .wp-block-table {
	-webkit-overflow-scrolling: touch;
	margin: 38.4px 0;
	margin: 2.4rem 0;
	max-width: 100%;
	overflow-x: auto;
}

.p-blog__content .wp-block-table table {
	margin: 0;
}

.p-blog__content table {
	border-collapse: collapse;
	margin: 38.4px 0;
	margin: 2.4rem 0;
}

.p-blog__footer {
	border-top: 1px solid #ededed;
	margin-top: 112px;
	margin-top: 7rem;
	padding-top: 57.6px;
	padding-top: 3.6rem;
}

.p-blog__pager {
	gap: 25.6px;
	gap: 1.6rem;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	margin-bottom: 48px;
	margin-bottom: 3rem;
}

.p-blog__pager-item {
	border: 1px solid #ededed;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: calc(50% - 0.8rem);
}

.p-blog__pager-item a {
	color: #333;
	display: block;
	padding: 25.6px 32px;
	padding: 1.6rem 2rem;
}

.p-blog__pager-item:hover {
	-webkit-box-shadow: 0 6px 16px rgba(0, 0, 0, .08);
	box-shadow: 0 6px 16px rgba(0, 0, 0, .08);
}

.p-blog__back {
	margin-top: 0;
}

/* Related */

.p-blog__related {
	margin-bottom: 16px;
	margin-bottom: 1rem;
	margin-top: 144px;
	margin-top: 9rem;
}

.p-blog__related-title {
	border-left: 3px solid #0072AB;
	font-size: 38.4px;
	font-size: 2.4rem;
	margin-bottom: 38.4px;
	margin-bottom: 2.4rem;
	padding-left: 19.2px;
	padding-left: 1.2rem;
}

.p-blog__related-lists {
	gap: 25.6px;
	gap: 1.6rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.p-blog__related-list {
	background-color: #fff;
	border: 1px solid #ededed;
	width: calc(33.33333% - 1.1rem);
}

.p-blog__related-list a {
	color: #333;
	display: block;
	padding: 28.8px 25.6px;
	padding: 1.8rem 1.6rem;
}

.p-blog__related-meta {
	gap: 16px;
	gap: 1rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 12.8px;
	margin-bottom: 0.8rem;
}

.p-blog__related-cat {
	border: 1px solid #0072AB;
	border-radius: 99.9rem;
	color: #0072AB;
	display: inline-block;
	font-size: 17.6px;
	font-size: 1.1rem;
	line-height: 1.2;
	padding: 4.8px 12.8px;
	padding: 0.3rem 0.8rem;
}

.p-blog__related-date {
	color: #6b6b6b;
	font-size: 19.2px;
	font-size: 1.2rem;
}

.p-blog__related-text {
	font-weight: 700;
	line-height: 1.6;
}

#ez-toc-container a:visited {
	color: #333 !important;
}

.p-contact-cta {
	background-color: #f3f7fa;
	padding-bottom: 240px;
	padding-bottom: 15rem;
	padding-top: 240px;
	padding-top: 15rem;
}

.p-contact-cta .c-page-section-title {
	color: #fff;
}

.p-contact-cta__text {
	text-align: center;
}

.p-contact {
	padding-top: 240px;
	padding-top: 15rem;
}

.p-contact form {
	margin-bottom: 96px;
	margin-bottom: 6rem;
}

.p-contact form .smf-placeholder[data-name=privacy] a {
	color: #0072AB;
	text-decoration: underline;
}

.p-contact .smf-item__label__text .requied {
	color: #a33f00;
	font-size: 16px;
	font-size: 1rem;
	padding-left: 8px;
	padding-left: 0.5rem;
	vertical-align: super;
}

.p-contact .smf-item__col--label {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-right: 160px;
	margin-right: 10rem;
}

.p-contact .smf-item__col--controls input {
	width: 50%;
}

.p-contact-txt {
	margin-bottom: 80px;
	margin-bottom: 5rem;
	text-align: center;
}

.p-contact__required {
	color: #a33f00;
}

.p-contact-txt a {
	color: #0072AB;
	text-decoration: underline;
}

.p-contact .smf-placeholder[data-name=privacy] {
	margin-top: 48px;
	margin-top: 3rem;
	text-align: center;
}

.p-contact .smf-action {
	margin-top: 80px;
	margin-top: 5rem;
}

.p-contact .smf-action .smf-button-control__control {
	background: #0072AB;
	border: 1.6px solid #0072AB;
	border: 0.1rem solid #0072AB;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 25.6px;
	font-size: 1.6rem;
	line-height: 1;
	margin-bottom: 16px;
	margin-bottom: 1rem;
	padding: 32px 64px;
	padding: 2rem 4rem;
	text-align: center;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 30%;
}

.p-contact .smf-action .smf-button-control__control:hover {
	background-color: #fff;
	color: #0072AB;
}

.p-contact .smf-action .smf-button-control__control:hover::before,
.p-contact .smf-action .smf-button-control__control:hover::after {
	right: -80px;
	right: -5rem;
}

.p-contact .smf-action .smf-button-control__control::before,
.p-contact .smf-action .smf-button-control__control::after {
	background-color: #57a6db;
	content: "";
	height: 2px;
	position: absolute;
	right: -64px;
	right: -4rem;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	z-index: 1;
}

.p-contact .smf-action .smf-button-control__control::before {
	top: calc(50% - 1px);
	-webkit-transform: translateY(calc(-50% - 2px)) rotate(30deg);
	transform: translateY(calc(-50% - 2px)) rotate(30deg);
	width: 12px;
}

.p-contact .smf-action .smf-button-control__control::after {
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 70px;
}

.p-contact .smf-action .smf-button-control__control[data-action=back]:hover::before,
.p-contact .smf-action .smf-button-control__control[data-action=back]:hover::after {
	left: -80px;
	left: -5rem;
}

.p-contact .smf-action .smf-button-control__control[data-action=back]::before {
	-webkit-transform: translateY(calc(-50% - 2px)) rotate(-30deg);
	transform: translateY(calc(-50% - 2px)) rotate(-30deg);
}

.p-contact .smf-action .smf-button-control__control[data-action=back]::before,
.p-contact .smf-action .smf-button-control__control[data-action=back]::after {
	left: -64px;
	left: -4rem;
}

.p-contact form[data-screen=complete] {
	text-align: center;
}

.p-contact form[data-screen=complete] + .p-contact-txt {
	display: none;
}

.p-contact form[data-screen=confirm] .smf-placeholder[data-name=privacy] {
	display: none;
}

.p-footer {
	background-color: #333;
	margin-top: 160px;
	margin-top: 10rem;
}

body.home .p-footer {
	margin-top: 0;
}

.p-footer__copy {
	color: #fff;
	font-size: 19.2px;
	font-size: 1.2rem;
	padding: 8px 0;
	padding: 0.5rem 0;
	text-align: center;
}

.p-footer__copy a {
	color: #fff;
}

.p-footer__pagetop {
	aspect-ratio: 1;
	background-color: #0072AB;
	border-radius: 50%;
	bottom: 64px;
	bottom: 4rem;
	display: block;
	position: fixed;
	right: 64px;
	right: 4rem;
	width: 80px;
	width: 5rem;
}

.p-footer__pagetop::after {
	border-radius: 2px;
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	bottom: 0;
	content: "";
	height: 24px;
	height: 1.5rem;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 16px;
	top: 1rem;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 24px;
	width: 1.5rem;
}

.p-header {
	padding: 32px 80px;
	padding: 2rem 5rem;
	position: fixed;
	width: 100%;
	z-index: 999;
}

.p-header.active {
	background: #fff;
	-webkit-box-shadow: 0 0 6px #e7e7e7;
	box-shadow: 0 0 6px #e7e7e7;
}

.p-header__logo {
	line-height: 0;
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
	width: 15%;
}

.p-header.active .p-header__logo {
	opacity: 1;
}

.p-header__menu {
	margin-left: auto;
	width: 50%;
}

.p-header__list {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: end;
}

.p-header__item {
	margin-left: 80px;
	margin-left: 5rem;
}

.p-header__link {
	display: block;
	text-align: center;
}

body.page-template #contact,
body.archive #contact,
body.single #contact {
	background-color: #f3f7fa;
	margin-top: 320px;
	margin-top: 20rem;
	padding: 240px 0;
	padding: 15rem 0;
}

body.page-template #contact h2,
body.archive #contact h2,
body.single #contact h2 {
	color: #fff;
}

body.page-template #footer,
body.archive #footer,
body.single #footer {
	margin-top: 0;
}

.p-price {
	padding-top: 240px;
	padding-top: 15rem;
}

.p-price__plan {
	margin-bottom: 240px;
	margin-bottom: 15rem;
}

.p-price__sub-title {
	font-size: 19.2px;
	font-size: 1.2rem;
	text-align: center;
}

.p-price__table {
	margin-top: 60px;
	overflow-x: scroll;
	padding-bottom: 10px;
}

.p-price__table table {
	width: 100%;
}

.p-price__table table th {
	padding: 15px 10px 15px 20px;
	text-align: left;
	vertical-align: middle;
	width: 220px;
}

.p-price__table table td {
	font-weight: 600;
	text-align: center;
	vertical-align: middle;
	width: 320px;
}

.p-price__table th span {
	background: none;
	color: #333;
	display: block;
	font-size: 19.2px;
	font-size: 1.2rem;
	line-height: 1.2;
}

.p-price__table tr:first-child td:nth-child(2n) {
	padding-top: 64px;
	padding-top: 4rem;
	position: relative;
}

.p-price__table tr:first-child td:nth-child(2n)::before {
	background-color: #acbcbe;
	height: 320px;
	height: 20rem;
}

.p-price__table tr:first-child td:nth-child(3) {
	-webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, .2);
	box-shadow: 0 4px 20px rgba(0, 0, 0, .2);
	height: 384px;
	height: 24rem;
	position: relative;
}

.p-price__table tr:first-child td:nth-child(3)::before {
	background-color: #c5685c;
	height: 384px;
	height: 24rem;
}

.p-price__table tr:first-child td:nth-child(4)::before {
	background-color: #c59d5c;
}

.p-price__table tr:first-child td {
	height: 320px;
	height: 20rem;
}

.p-price__table tr:first-child td::before {
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	width: 100%;
}

.p-plan__message {
	color: #fff;
	display: inline-block;
	margin-bottom: 10px;
}

.p-plan {
	position: inherit;
	z-index: 1;
}

.p-plan__name {
	color: #fff;
	margin-bottom: 0.71em;
}

.p-plan__price {
	color: #fff;
	font-weight: 600;
}

.p-plan__price span {
	font-size: 41.6px;
	font-size: 2.6rem;
}

.p-price__table tr:nth-child(even) {
	background-color: #f6f6f6;
}

.p-plan__recommend td {
	letter-spacing: 0.05em;
	padding: 25px 1em 25px 0.6em;
	text-align: left;
}

.p-caution {
	margin-top: 64px;
	margin-top: 4rem;
}

.p-caution__text {
	margin-top: 8px;
	margin-top: 0.5rem;
}

.p-base__items {
	margin: 60px auto 0;
	max-width: 900px;
	width: 100%;
}

.p-base__item:nth-child(n+2) {
	margin-top: 128px;
	margin-top: 8rem;
}

.p-base__title {
	border-bottom: 2px solid #333;
	border-left: 4px solid #333;
	padding-bottom: 5px;
	padding-left: 10px;
}

.p-unit-price__item {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border-bottom: 1px dotted #333;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 20px 10px;
}

.p-unit-price__title {
	-webkit-box-flex: 0;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	margin-right: 64px;
	margin-right: 4rem;
}

.p-unit-price__unit {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 60px;
	flex: 0 0 60px;
	margin-right: 20px;
}

.p-unit-price__text {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 140px;
	flex: 0 0 140px;
	margin-right: 30px;
	text-align: right;
}

.p-unit-price__remarks {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 300px;
	flex: 0 0 300px;
	letter-spacing: 0.05em;
}

.p-privacy {
	padding-top: 240px;
	padding-top: 15rem;
}

.p-privacy h2 {
	margin-top: 80px;
	margin-top: 5rem;
}

.p-privacy a {
	color: #0072AB;
	text-decoration: underline;
	word-break: break-all;
}

.p-top-fv {
	background-color: #f3f7fa;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100vh;
}

.p-top-fv__logo {
	margin-inline: auto;
	width: 15%;
}

.p-top-profile {
	padding-bottom: 320px;
	padding-bottom: 20rem;
	padding-top: 320px;
	padding-top: 20rem;
}

.p-top-profile__image {
	margin-right: 160px;
	margin-right: 10rem;
	position: relative;
	width: 30%;
}

.p-top-profile__image::after {
	background-color: #f3f7fa;
	content: "";
	height: 100%;
	left: 20px;
	position: absolute;
	top: 20px;
	width: 100%;
	z-index: 0;
}

.p-top-profile__image img {
	border: 1px solid #f3f7fa;
	height: auto;
	position: relative;
	width: 100%;
	z-index: 1;
}

.p-top-profile__body {
	background-color: #fff;
	padding: 16px 32px;
	padding: 1rem 2rem;
	width: 60%;
}

.p-top-profile__name {
	font-size: 32px;
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 16px;
	margin-bottom: 1rem;
}

.p-top-profile__name span {
	font-size: 25.6px;
	font-size: 1.6rem;
	padding-left: 16px;
	padding-left: 1rem;
}

.p-top-profile__body .c-btn {
	margin-right: 32px;
	margin-right: 2rem;
	margin-top: 48px;
	margin-top: 3rem;
	text-align: right;
}

.p-top-service {
	padding-bottom: 240px;
	padding-bottom: 15rem;
	padding-top: 240px;
	padding-top: 15rem;
}

.p-top-service__list {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.p-top-service__item {
	margin-bottom: 64px;
	margin-bottom: 4rem;
	width: 45%;
}

.p-top-service__card {
	background-color: #f3f7fa;
	padding: 32px;
	padding: 2rem;
	text-align: center;
}

.p-top-service__title {
	border-bottom: 3.2px solid #0072AB;
	border-bottom: 0.2rem solid #0072AB;
	display: inline-block;
	font-size: 32px;
	font-size: 2rem;
	line-height: 1.4;
	margin-bottom: 32px;
	margin-bottom: 2rem;
}

.p-top-service__image {
	height: 160px;
	height: 10rem;
	margin-bottom: 32px;
	margin-bottom: 2rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 16px;
	margin-top: 1rem;
	width: 160px;
	width: 10rem;
}

.p-top-service__image img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-top-service__text {
	text-align: center;
}

.p-top-works {
	background-color: #f3f7fa;
	padding-bottom: 240px;
	padding-bottom: 15rem;
	padding-top: 240px;
	padding-top: 15rem;
}

.p-top-works .c-page-section-title {
	color: #fff;
}

.p-top-works__caution {
	margin-bottom: 48px;
	margin-bottom: 3rem;
	text-align: center;
}

.p-top-works__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.p-top-works__list::after {
	content: "";
	display: block;
	width: 31%;
}

.p-top-works__item {
	margin-bottom: 48px;
	margin-bottom: 3rem;
	position: relative;
	width: 31%;
}

.p-top-works__link {
	display: block;
	line-height: 0;
}

.p-top-works__image img {
	-o-object-fit: cover;
	height: 320px;
	height: 20rem;
	object-fit: cover;
	width: 100%;
}

.p-top-works__overlay {
	inset: 0;
	margin: auto;
	opacity: 0;
	padding: 32px;
	padding: 2rem;
	position: absolute;
	-webkit-transition: opacity 0.3s, visibility 0.3s, background-color 0.3s, color 0.3s;
	transition: opacity 0.3s, visibility 0.3s, background-color 0.3s, color 0.3s;
	visibility: hidden;
}

.p-top-works__name {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 25.6px;
	font-size: 1.6rem;
	height: 100%;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
}

body.hidden {
	overflow: hidden;
}

body.home {
	background-color: #fff;
}

#top.hidden {
	opacity: 0;
	-webkit-transition: visibility 0.3s, opacity 0.3s;
	transition: visibility 0.3s, opacity 0.3s;
	visibility: hidden;
}

.grecaptcha-badge {
	visibility: hidden;
}

/* =========================================
   実績一覧（archive-works） — FLOCSS / フラット
   ========================================= */

.p-works {
	padding-top: 240px;
	padding-top: 15rem;
}

.p-works__filter {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-bottom: 64px;
	margin-bottom: 4rem;
}

.p-works__filter-label {
	line-height: 1.4;
	margin-right: 32px;
	margin-right: 2rem;
}

.p-works__filter-item {
	border-right: 1.6px solid #f5f5f5;
	border-right: 0.1rem solid #f5f5f5;
	line-height: 1.4;
	margin-right: 24px;
	margin-right: 1.5rem;
	padding-right: 24px;
	padding-right: 1.5rem;
}

.p-works__filter-item:last-child {
	border-right: none;
	margin-right: 0;
	padding-right: 0;
}

.p-works__filter-item a {
	border-bottom: 3.2px solid #fff;
	border-bottom: 0.2rem solid #fff;
	color: #333;
	-webkit-transition: border-bottom 0.3s, color 0.3s;
	transition: border-bottom 0.3s, color 0.3s;
}

.p-works__filter-item.filter-active a {
	border-bottom: 3.2px solid #333;
	border-bottom: 0.2rem solid #333;
}

.p-works__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.p-works__item {
	margin-bottom: 80px;
	margin-bottom: 5rem;
	margin-right: 6.5%;
	position: relative;
	width: 29%;
}

.p-works__item:nth-child(3n) {
	margin-right: 0;
}

.p-works__item.filter-remove {
	opacity: 0.2;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
}

.p-works__item.filter-remove .p-works__link {
	pointer-events: none;
}

.p-works__item.filter-remove .p-works__image img {
	-webkit-filter: grayscale(100%);
	filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0" /></filter></svg>#filter');
	filter: grayscale(100%);
	-webkit-transition: -webkit-filter 0.5s;
	transition: -webkit-filter 0.5s;
	transition: filter 0.5s;
	transition: filter 0.5s, -webkit-filter 0.5s;
}

.p-works__item.zindex {
	z-index: -1;
}

.p-works__link {
	display: block;
}

.p-works__image {
	border: 1.6px solid #f5f5f5;
	border: 0.1rem solid #f5f5f5;
	line-height: 0;
}

.p-works__image img {
	-o-object-fit: cover;
	height: 400px;
	height: 25rem;
	object-fit: cover;
	width: 100%;
}

.p-works__overlay {
	bottom: 0;
	left: 0;
	margin: auto;
	opacity: 0;
	padding: 32px;
	padding: 2rem;
	position: absolute;
	right: 0;
	top: 0;
	-webkit-transition: opacity 0.3s, visibility 0.3s, background-color 0.3s, color 0.3s;
	transition: opacity 0.3s, visibility 0.3s, background-color 0.3s, color 0.3s;
	visibility: hidden;
}

.p-works__name {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 25.6px;
	font-size: 1.6rem;
	height: 100%;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
}

/* =========================================
   実績詳細（single-works） — FLOCSS / フラット
   ========================================= */

.p-works-detail {
	padding-top: 240px;
	padding-top: 15rem;
}

.p-works-detail__title {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 64px;
	font-size: 4rem;
	line-height: 1.4;
	margin-bottom: 80px;
	margin-bottom: 5rem;
	text-align: center;
}

.p-works-detail__desc {
	margin-bottom: 160px;
	margin-bottom: 10rem;
	text-align: center;
}

.p-works-detail__caution {
	color: #a33f00;
	font-size: 22.4px;
	font-size: 1.4rem;
	margin-bottom: 8px;
	margin-bottom: 0.5rem;
	margin-top: 16px;
	margin-top: 1rem;
}

.p-works-detail__excerpt {
	text-align: center;
}

.p-works-detail__media {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 80%;
}

.p-works-detail__media .c-flex {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.p-works-detail__pc {
	margin-right: 48px;
	margin-right: 3rem;
	max-width: 75%;
	width: 75%;
}

.p-works-detail__sp {
	max-width: 25%;
	width: 25%;
}

.p-works-detail__frame,
.p-works-detail__lp {
	border: 1px solid #f5f5f5;
	height: 800px;
	height: 50rem;
	line-height: 0;
	overflow-y: scroll;
}

.p-works-detail__frame img,
.p-works-detail__lp img {
	width: calc(100% - 12px);
}

.p-works-detail__frame::-webkit-scrollbar,
.p-works-detail__lp::-webkit-scrollbar {
	display: none;
}

.p-works-detail__lp {
	margin-left: auto;
	margin-right: auto;
	width: 50%;
}

.p-works-detail__banner {
	margin-left: auto;
	margin-right: auto;
	width: 60%;
}

.p-works-detail__logo {
	margin-left: auto;
	margin-right: auto;
	width: 40%;
}

.p-works-detail__media .p-works-detail__label {
	font-size: 28.8px;
	font-size: 1.8rem;
	margin-bottom: 16px;
	margin-bottom: 1rem;
}

.p-works-detail__media .p-works-detail__caution {
	position: absolute;
	right: 0;
}

/* simplebar（カスタムスクロールバー装飾） */

.p-works-detail__media .simplebar-scrollbar::before {
	background: #333;
	border-radius: 0;
	margin-left: 2px;
	margin-top: 1px;
	width: 5px;
}

.p-works-detail__media .simplebar-scrollbar.simplebar-visible::before {
	opacity: 1;
}

.p-works-detail__media .simplebar-track {
	background: #f3f7fa;
	width: 12px !important;
}

.p-works-detail__info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 192px;
	margin-top: 12rem;
}

.p-works-detail__box {
	margin-right: 32px;
	margin-right: 2rem;
	text-align: left;
	width: 33.3333333333%;
}

.p-works-detail__box:last-child {
	margin-right: 0;
}

.p-works-detail__box .p-works-detail__label {
	font-weight: bold;
}

.p-works-detail__box p a {
	color: #0072AB;
	text-decoration: underline;
	word-break: break-all;
}

.p-works-detail__bottom {
	margin-top: 64px;
	margin-top: 4rem;
	text-align: left;
}

.p-works-detail__bottom .p-works-detail__label {
	font-weight: bold;
}

.p-works-detail__bottom .p-works-detail__label span {
	font-size: 17.6px;
	font-size: 1.1rem;
	font-weight: 400;
	padding-left: 8px;
	padding-left: 0.5rem;
}

/* 投稿ID別の調整（スクロール注記を非表示にする投稿） */

body.postid-11 #single .p-works-detail__caution,
body.postid-86 #single .p-works-detail__caution,
body.postid-145 #single .p-works-detail__caution,
body.postid-142 #single .p-works-detail__caution {
	display: none;
}

@media (any-hover: hover) {

.p-top-works__link:hover .p-top-works__overlay {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: rgba(0, 0, 0, .7);
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	opacity: 1;
	visibility: visible;
}

.p-works__filter-item a:hover {
	border-bottom: 0.2rem solid #333;
}

.p-works__link:hover .p-works__overlay {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background-color: rgba(0, 0, 0, .7);
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	opacity: 1;
	visibility: visible;
}

}

@media (min-width: 1501px) {

html {
	font-size: 62.5%;
}

}

@media screen and (max-width: 1024px) {

.u-desktop--lg {
	display: none;
}

.u-mobile--lg {
	display: block;
}

}

@media screen and (max-width: 767px) {

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

a:hover {
	opacity: 1;
}

html {
	font-size: 2.6666666667vw;
}

a[href^="tel:"] {
	pointer-events: inherit;
}

a:hover {
	opacity: 0.8;
}

.l-404 {
	margin-top: 12rem;
}

.l-breadcrumb {
	margin-top: 11rem;
}

.l-footer {
	border: none;
}

.l-inner,
.l-inner140,
.l-inner120 {
	max-width: 100%;
	padding-left: 2rem;
	padding-right: 2rem;
}

.c-breadcrumb__lists {
	background-color: #fff;
	padding: 1rem 0;
}

.c-breadcrumb__lists ol {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.c-breadcrumb__lists ol li {
	color: #030421;
	margin-right: 2rem;
	padding-right: 2rem;
	position: relative;
}

.c-breadcrumb__lists ol li:not(:last-child)::after {
	border-right: 1px solid #030421;
	border-top: 1px solid #030421;
	content: "";
	height: 0.7rem;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	width: 0.7rem;
}

.c-breadcrumb__lists ol li a {
	color: #030421;
}

.c-btn {
	margin-top: 6rem;
}

.c-flex {
	display: block;
}

.c-hamburger {
	background: linear-gradient(135deg, #0072AB 0%, #0072AB 100%);
}

.c-page-section-title {
	font-size: 12vw;
	margin-bottom: 12vw;
}

.c-page-section-title span {
	font-size: 50%;
}

.c-page-title {
	padding: 13rem 0 8rem;
}

table tr th,
table tr td {
	display: block;
	padding: 1rem;
}

table tr th {
	width: 100%;
}

table tr td {
	width: 100%;
}

.p-about {
	padding-top: 12rem;
}

.p-about__profile {
	margin-bottom: 15rem;
}

.p-about__skill-list {
	width: 100%;
}

.p-about__skill-img {
	height: auto;
	width: 15%;
}

.p-about__skill-txt {
	width: 80%;
}

.p-blog--archive .p-blog__main {
	width: 100%;
}

.p-blog__list {
	width: 100%;
}

.p-blog {
	display: block;
	padding-top: 10rem;
}

.p-blog__main {
	width: 100%;
}

.p-blog__sidebar {
	margin-top: 8rem;
	position: static;
	width: 100%;
}

.p-blog__author-sp {
	display: block;
}

.p-blog__meta {
	display: block;
}

.p-blog__date {
	display: block;
	margin-top: 0.8rem;
}

.p-blog__title {
	font-size: 2.4rem;
	padding-left: 1.2rem;
}

.p-blog__content .wp-block-table table {
	width: 600px;
}

.p-blog__content:has(table) {
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
}

.p-blog__content {
	font-size: 1.5rem;
}

.p-blog__content h2 {
	font-size: 2.2rem;
}

.p-blog__content h3 {
	font-size: 1.9rem;
}

.p-blog__content table tbody tr,
.p-blog__content table thead tr,
.p-blog__content table tfoot tr {
	display: table-row;
}

.p-blog__content table th,
.p-blog__content table td {
	border: 0.1rem solid #ededed;
	display: table-cell !important;
	padding: 2rem;
	vertical-align: middle;
	white-space: normal;
	width: auto;
}

.p-blog__content table th {
	background: #ededed;
	font-weight: 700;
}

.p-blog__content table td {
	background: #fff;
}

.p-blog__pager {
	display: block;
}

.p-blog__pager-item {
	width: 100%;
}

.p-blog__pager-item + .p-blog__pager-item {
	margin-top: 1.2rem;
}

.p-blog__related-title {
	font-size: 2rem;
}

.p-blog__related-list {
	width: 100%;
}

.p-blog-sidebar__section--author {
	display: none;
}

.p-contact-cta {
	padding-bottom: 20vw;
	padding-top: 20vw;
}

.p-contact {
	padding-top: 12rem;
}

.p-contact .smf-item__col--label {
	display: block;
	margin: 0;
	width: 100%;
}

.p-contact .smf-item__col--controls input {
	width: 100%;
}

.p-contact-txt {
	font-size: 1.3rem;
}

.p-contact .smf-action .smf-button-control__control {
	width: 70%;
}

.p-footer {
	margin-top: 10rem;
}

.p-footer__copy {
	font-size: 1rem;
}

.p-footer__pagetop {
	bottom: 9vw;
	right: 4vw;
	width: 4rem;
}

.p-footer__pagetop::after {
	height: 1rem;
	top: 0.3rem;
	width: 1rem;
}

.p-header {
	background-color: #fff;
	height: 6rem;
	padding: 2rem 3rem;
}

.p-header__logo {
	line-height: inherit;
	opacity: 1;
	width: 35%;
}

.p-header__menu {
	display: none;
	left: 0;
	position: absolute;
	top: 60px;
	width: 100%;
}

.p-header__list {
	background-color: #fff;
}

.p-header__item {
	border-bottom: 1px solid #57a6db;
	margin-left: 0;
}

.p-header__link {
	padding: 15px 0;
}

body.page-template #contact,
body.archive #contact,
body.single #contact {
	margin-top: 15rem;
	padding: 10rem 0;
}

.p-caution {
	font-size: 1.2rem;
}

.p-base__items {
	max-width: 100%;
}

.p-unit-price__item {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 20px 0;
}

.p-unit-price__title {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	margin-bottom: 2rem;
	margin-right: 0;
}

.p-unit-price__unit {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 60px;
	flex: 0 0 60px;
	text-align: left;
}

.p-unit-price__text {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 110px;
	flex: 0 0 110px;
	font-weight: 600;
	margin-right: 0;
}

.p-unit-price__remarks {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	font-size: 1.4rem;
	margin-top: 10px;
}

.p-privacy {
	padding-top: 12rem;
}

.p-top-fv__logo {
	width: 30%;
}

.p-top-profile {
	padding-bottom: 20vw;
	padding-top: 20vw;
}

.p-top-profile__image {
	margin-left: auto;
	margin-right: auto;
	width: 70%;
}

.p-top-profile__body {
	margin-top: 3rem;
	padding: 0;
	text-align: center;
	width: 100%;
}

.p-top-profile__name {
	font-size: 1.8rem;
}

.p-top-profile__name span {
	font-size: 1.4rem;
}

.p-top-profile__body .c-btn {
	margin-right: 0;
	margin-top: 3rem;
	text-align: center;
}

.p-top-service {
	padding-bottom: 20vw;
	padding-top: 20vw;
}

.p-top-service__list {
	display: block;
}

.p-top-service__item {
	margin-bottom: 10vw;
	width: 100%;
}

.p-top-service__item:last-child {
	margin-bottom: 0;
}

.p-top-service__card {
	padding: 4vw;
}

.p-top-service__title {
	font-size: 1.8rem;
	margin-bottom: 4vw;
}

.p-top-service__image {
	height: 8rem;
	margin-bottom: 2vw;
	margin-top: 1vw;
	width: 8rem;
}

.p-top-service__text {
	font-size: 1.4rem;
}

.p-top-works {
	padding-bottom: 20vw;
	padding-top: 20vw;
}

.p-top-works__list {
	display: block;
}

.p-top-works__item {
	margin-bottom: 4rem;
	width: 100%;
}

.p-top-works__item:last-child {
	margin-bottom: 0;
}

.p-top-works__link {
	line-height: 2;
}

.p-top-works__overlay {
	margin-top: 0.5rem;
	opacity: 1;
	padding: 0;
	position: static;
	visibility: visible;
}

.p-top-works__name {
	font-size: 1.6rem;
	height: auto;
	position: relative;
	width: auto;
}

.p-top-works__name::after {
	border-bottom: 2px solid #0072AB;
	bottom: -0.2rem;
	content: "";
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 5rem;
}

.p-works {
	padding-top: 12rem;
}

.p-works__filter {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.p-works__filter-label {
	margin-bottom: 2rem;
	margin-right: 0;
	text-align: center;
	width: 100%;
}

.p-works__filter-item {
	margin-bottom: 0.5rem;
	margin-left: 0.7rem;
	margin-right: 0.7rem;
	padding-left: 0.6rem;
	padding-right: 1.4rem;
}

.p-works__list {
	display: block;
}

.p-works__item {
	margin-bottom: 4rem;
	margin-right: 0;
	width: 100%;
}

.p-works__item.filter-remove {
	opacity: 0.3;
}

.p-works__image {
	margin-bottom: 0.5rem;
}

.p-works__image img {
	height: 20rem;
}

.p-works__overlay {
	opacity: 1;
	padding: 0;
	position: static;
	visibility: visible;
}

.p-works__name {
	font-size: 1.6rem;
	height: auto;
	position: relative;
	width: auto;
}

.p-works__name::after {
	border-bottom: 2px solid #0072AB;
	bottom: -0.2rem;
	content: "";
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 5rem;
}

.p-works-detail__title {
	font-size: 6vw;
	margin-bottom: 8vw;
}

.p-works-detail__caution {
	font-size: 3.2vw;
}

.p-works-detail__media {
	margin-top: 10vw;
	width: 100%;
}

.p-works-detail__pc {
	margin-bottom: 7vw;
	margin-right: 0;
	max-width: 100%;
	width: 100%;
}

.p-works-detail__sp {
	margin: 4rem auto 0;
	max-width: 60%;
	width: 60%;
}

.p-works-detail__frame,
.p-works-detail__lp {
	height: 120vw;
}

.p-works-detail__media .p-works-detail__label {
	font-size: 4.2vw;
	margin-bottom: 1vw;
}

.p-works-detail__info {
	display: block;
	margin-top: 22vw;
}

.p-works-detail__box {
	margin-bottom: 6vw;
	margin-right: 0;
	text-align: center;
	width: 100%;
}

}

@media screen and (max-width: 767px) and (max-width: 767px) {

a:hover {
	opacity: 1;
}

}

@media (max-width: 360px) {

html {
	font-size: 2.7777777778vw;
}

}


/*# sourceMappingURL=styles.css.map */
