/*
 * 参考
 * https://github.com/Andy-set-studio/modern-css-reset/blob/master/src/reset.css
*/

/* Box sizing rules */

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

/* Remove default margin */

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

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */

ul,
ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Set core root defaults */

html:focus-within {
	scroll-behavior: smooth;
}

/* Set core body defaults */

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

/* 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,
picture {
	display: block;
	max-width: 100%;
}

/* Inherit fonts for inputs and buttons */

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

/* Remove all animations and transitions for people that prefer not to see them */

/*****************************************
 * 数値から単位を取り除く
 * 参考
 * https://css-tricks.com/snippets/sass/
******************************************/

/*****************************************
 * px→remの計算
 * 参考
 * https://webdou.net/sass-rem/
 * Sassではmath.div関数の使用が推奨のため、スラッシュ(/)演算子から変更
******************************************/

/*****************************************
 * vwの計算
 * 参考
 * https://webdou.net/sass-vw/
 * Sassではmath.div関数の使用が推奨のため、スラッシュ(/)演算子から変更
******************************************/

html {
	font-size: 16px;
}

body {
	color: #1a1a1a;
	font-family: "Noto Sans JP";
	font-weight: 400;
	margin-top: 60px;
}

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

li {
	list-style-type: none; /* 箇条書きのマーカーを非表示にする */
}

.l-footer {
	background: #1a1a1a;
	padding: 70px 0 13px;
	text-align: center;
}

.l-footer__logo {
	display: block;
	font-family: Roboto;
	font-size: 2.125rem;
	font-style: italic;
	font-weight: 700;
	letter-spacing: -1px;
}

.l-footer__info {
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 24px; /* 171.429% */
	margin: 20px 0;
	text-align: left;
}

.l-footer__copy-right {
	font-size: 15px;
	margin-top: 15px;
}

.l-inner {
	padding: 0 20px;
}

.l-inner-sub {
	padding: 0 20px;
}

.l-page-top {
	bottom: 25px;
	position: fixed;
	right: 10px;
}

.c-btn {
	background-color: #007bff;
	border: none;
	border-radius: 4px;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 1rem;
	padding: 1.875rem 1.25rem;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.3s;
}

.c-btn:hover {
	background-color: #0056b3;
}

.c-color-w {
	color: #fff !important;
}

.c-color__g {
	color: #023e78;
}

.c-color-gb {
	border: 1px solid #023e78 !important;
	color: #023e78 !important;
}

.c-color__b {
	color: #1a1a1a;
}

.c-active-red {
	color: #e61264 !important;
}

.c-font-en {
	font-family: "Fira Sans", "sans-serif";
	font-style: italic;
	font-weight: 500;
}

.c-common-box__button {
	border: 2px solid #fef251;
	color: #fef251;
	display: inline-block;
	display: flex;
	justify-content: center;
	margin: 40px auto;
	padding: 25px 0;
	position: relative;
	text-align: center;
	transition: color 0.3s; /* テキストの色の変化を0.3秒かけて行う */
	width: 18.4375rem;
}

.c-common-box__button p {
	font-weight: 500;
}

.c-service-box__button {
	border: 1px solid #023e78;
	color: #023e78;
	display: inline-block;
	display: flex;
	font-size: 14px;
	justify-content: center;
	margin: 40px auto;
	padding: 25px 0;
	position: relative;
	text-align: center;
	transition: color 0.3s; /* テキストの色の変化を0.3秒かけて行う */
	width: 18.4375rem;
}

.c-service-box__button p {
	font-weight: 500;
}

.c-common__arrow {
	left: calc(50% + 108px);
	position: absolute;
	top: 39%;
	transition: fill 0.3s, left 0.3s ease; /* まとめて0.3秒かけて行う */
}

.c-common__arrow-service {
	left: calc(50% + 117px);
	top: 42%;
}

.c-global__link {
	margin-left: auto;
	padding-top: 40px;
}

.c-global__link-service {
	padding-top: 38px;
}

.c-global__link-case {
	padding-top: 61px;
}

.c-link__more {
	font-size: 1.25rem;
	margin-right: calc(50% - 70px);
	position: relative;
}

.c-link__position {
	display: block;
	position: relative;
	text-align: right;
}

.c-global__arrow {
	background: #fff;
	display: inline-block;
	height: 2px;
	left: 0;
	margin: 0 21px 0 8px;
	position: relative;
	top: -28px;
	transition: width 0.3s ease, left 0.3s ease;
	vertical-align: middle;
	width: 17.2vw;
	z-index: 1;
}

.c-global__arrow::before {
	background: #fff;
	bottom: -2px;
	content: "";
	display: inline-block;
	height: 14px;
	position: absolute;
	right: 4px;
	transform: rotate(-55deg);
	transition: width 0.3s ease;
	width: 2px;
}

.c-arrow__type2 {
	background: #023e78;
}

.c-arrow__type2::before {
	background: #023e78;
}

.c-arrow__type3 {
	background: #1a1a1a;
}

.c-arrow__type3::before {
	background: #1a1a1a;
}

.c-global__circle {
	border: 3px solid #fef251;
	border-radius: 50%;
	content: "";
	height: 42px;
	position: absolute;
	right: 0;
	top: 30px;
	width: 40px;
}

.c-global__circle-position {
	top: 52px;
}

.c-circle__yellow {
	background: #fef251;
}

.c-main-title {
	color: #023e78;
	font-family: "Fira Sans", "sans-serif";
	font-size: 52px;
	font-style: italic;
	font-weight: 500;
	letter-spacing: -1px;
	line-height: normal;
}

.c-sub-title {
	color: #023e78;
	font-weight: 700;
}

.c-mv-common {
	position: relative;
}

.c-mv-common__img-company {
	height: 250px;
	height: 100%;
	position: relative;
}

.c-mv-common__img-company img {
	max-height: 250px;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover; /* アスペクト比を維持しながら画像をカバー */
}

.c-mv-common__img-company::before {
	background-color: #023e78; /* 青色の背景 */
	content: "";
	height: 100%;
	left: -169px;
	opacity: 0.9;
	position: absolute;
	top: 0;
	transform: skewX(-30deg); /* 斜めに傾ける */
	transform-origin: bottom left; /* 傾きの基準点を左下に設定 */
	width: 50%; /* 要素の半分より左側を覆う */
}

.c-mv-common__img-company::after {
	background-color: rgba(26, 26, 26, 0.2); /* 半透明の背景色 */
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.c-mv-common__wrap {
	left: 20px;
	position: absolute;
	top: 85px;
}

.c-mv-service__wrap {
	top: 145px;
}

.c-mv-common__main {
	background: #fff;
	color: #023e78;
	display: inline;
	font-size: 2rem;
	padding-right: 10px;
}

.c-mv-common__sub-title {
	background: #fff;
	display: inline-block;
	margin-top: 5px;
}

.c-mv-common__sub {
	color: #023e78;
	font-weight: 700;
}

.c-breadcrumbs {
	padding-top: 13px;
}

.c-breadcrumbs__list {
	display: flex;
	flex-direction: row;
	list-style-type: none;
	margin: 0;
	padding-left: 13px;
}

.c-breadcrumbs__item {
	display: inline-block;
	font-size: 0.75rem;
	margin: 0 5px; /* 適切な間隔を設定 */
}

.c-breadcrumbs__item:last-child {
	margin-right: 0; /* 最後の要素の右側の余白を削除 */
}

.breadcrumb {
	font-size: 12px;
	padding: 12px 18px 0;
}

.breadcrumb a {
	text-decoration: none;
}

.breadcrumb a:hover {
	text-decoration: underline;
}

.breadcrumb .separator {
	margin-left: 10px;
}

a[property=item][typeof=WebPage] {
	margin: 0 5px;
	text-decoration: none; /* 下線を削除 */
}

a[property=item][typeof=WebPage]:hover {
	text-decoration: underline; /* ホバー時に下線を表示 */
}

a.home {
	color: gray; /* 文字色を灰色に変更 */
}

.c-position-left {
	margin-left: 0 !important;
}

.c-page-top {
	align-items: center;
	border: 3px solid #fff;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	font-size: 15px;
	height: 40px;
	justify-content: center;
	line-height: 1;
	padding-top: 15px;
	text-transform: uppercase;
	width: 40px;
}

.c-page-top::before {
	border-right: 4px solid #fff;
	border-top: 4px solid #fff;
	content: "";
	height: 15px;
	left: 50%;
	position: absolute;
	top: 12px;
	transform: translateX(-50%) rotate(-45deg);
	width: 15px;
}

.p-news {
	background: linear-gradient(transparent 26%, #edf3f8 0%);
	padding: 59px 0 44px;
	transform: skewY(10deg);
}

.l-box__inner {
	margin: 0 auto;
	padding: 0 20px;
}

.p-news__box {
	background: #fff;
	box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
	margin-top: -30px;
	padding: 40px 20px 38px;
	width: 100%;
}

.p-news__item {
	display: block;
}

.p-news__item:not(:last-child) {
	margin-bottom: 14px;
}

.p-news__info {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.p-news__info-time {
	border: 1px solid #e61264;
	color: #e61264;
	font-size: 0.75rem;
	font-weight: 500;
	padding: 6px 20px;
}

.p-news__info-date {
	color: #888;
	font-size: 0.875rem;
	font-weight: 500;
}

.p-news__title {
	border-bottom: 1px solid #ddd;
	color: #1a1a1a;
	font-size: 0.875rem;
	font-weight: 700;
	margin-top: 16px;
	padding-bottom: 30px;
	text-align: left;
	transition: all 0.3s ease;
}

.p-news__title:hover {
	opacity: 0.6;
}

.p-news__title:not(:last-child) {
	margin-bottom: 16px;
}

.p-news__title:nth-child(3) {
	margin-bottom: 30px;
}

.p-news__box .p-news__item:nth-of-type(3) .p-news__title {
	padding-bottom: 50px;
}

.p-mv {
	margin-left: 39px;
	min-height: 25rem;
	position: relative;
	z-index: 1;
}

.p-mv__title-wrap {
	color: #fff;
	display: grid;
	flex-wrap: wrap;
	gap: 7px;
	left: 136px;
	line-height: 1;
	position: absolute;
	text-align: center;
	top: 81%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

.p-mv__main-title {
	background-color: #fff;
	color: #023e78;
	font-size: 2.1875rem;
	font-style: italic;
	min-height: 48px;
	padding: 3px 0px;
	text-align: justify;
	width: 9.6875rem;
}

.p-mv__main-title:nth-child(2) {
	width: 9.375rem;
}

.p-mv__main-title:nth-child(3) {
	width: 13.125rem;
}

.p-mv__title-area {
	display: inline-block;
}

.p-mv__sub-title {
	background-color: #023e78;
	color: #fff;
	font-size: 1rem;
	margin-top: 8px;
	padding: 4px 0px;
	width: 20rem;
}

.p-mv__swiper,
.p-mv__swiper .swiper-img,
.p-mv__swiper .swiper-img img {
	height: inherit;
	min-height: inherit;
}

.p-mv__swiper .swiper-img img {
	height: 37.8125rem;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-header {
	background-color: #fff;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* オプション：ヘッダーに影を追加して浮き上がる効果を */
	height: 60px;
	left: 0;
	padding: 10px 14px;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000; /* ヘッダーが他の要素の上に表示されるようにするため */
}

.p-header__inner {
	display: flex;
	justify-content: space-between;
}

.p-header__logo {
	font-size: 1.75rem;
	max-width: 4.625rem;
	width: 100%;
}

.p-header__logo a {
	align-items: center;
	color: #023e78;
	display: flex;
	font-style: italic;
	height: 36px;
	letter-spacing: -1px;
	width: 280px;
}

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

.p-header__nav {
	display: none;
	height: inherit;
}

.p-header__nav-items {
	display: flex;
	height: inherit;
}

.p-header__nav-item {
	height: inherit;
	transition: all 0.3s ease;
}

.p-header__nav-item:hover {
	opacity: 0.7;
}

.p-header__nav-item:not(:first-child)::before {
	content: "／";
	margin-left: 13px;
	position: absolute;
	top: 52px;
	transform: translateY(-50%);
}

.p-header__nav-item--box {
	background: #fff;
	border: 1px solid #023e78;
	color: #023e78;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 500;
	padding: 23px 32px;
	position: relative;
	right: -508px;
	top: -115px;
	transition: color 0.3s, background-color 0.3s; /* カラーの変化をアニメーション化 */
}

.p-header__nav-item--box:hover {
	background-color: #023e78;
	color: #fff;
}

.box__contact {
	background: #023e78;
	color: #fff;
	margin-left: 4px;
	padding: 23px 46px;
}

.box__contact:hover {
	background: #002a52;
}

.p-header__nav-item a {
	color: #333;
	display: flex;
	font-size: 0.875rem;
	font-weight: 500;
	height: inherit;
	line-height: 1;
	text-transform: uppercase;
}

.p-header__nav-item:not(:first-child) a {
	margin-left: 46px;
}

.p-header__nav-item.p-header__nav-item--contact a {
	background-color: #023e78;
	color: #fff;
	padding: 24px 32px;
	position: relative;
}

.p-header__hamburger {
	background-color: #fff;
	border: none;
	cursor: pointer;
	height: inherit;
	margin: 0;
	margin-top: 3px;
	outline: none;
	padding: 0;
	position: relative;
	transition: 0.3s;
	width: 2.5rem;
	z-index: 999;
}

.p-header__hamburger.is-open {
	background-color: transparent;
}

.p-header__hamburger span {
	background-color: #023e78;
	display: block;
	height: 2px;
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	transition: 0.5s;
	width: 1.6875rem;
}

.p-header__hamburger span:nth-of-type(1) {
	top: -0.375rem;
}

.p-header__hamburger span:nth-of-type(2) {
	top: 0;
}

.p-header__hamburger span:nth-of-type(3) {
	top: 0.375rem;
}

.p-header__hamburger.is-open span:nth-of-type(1) {
	top: 4px;
	transform: translateX(-50%) rotate(45deg);
}

.p-header__hamburger.is-open span:nth-of-type(2) {
	opacity: 0;
}

.p-header__hamburger.is-open span:nth-of-type(3) {
	top: 0;
	transform: translateX(-50%) rotate(-45deg);
}

.p-header__drawer {
	background-color: #023e78;
	bottom: 0;
	display: none;
	height: 100vh;
	left: 0;
	overflow-y: scroll;
	padding: 3.75rem 0;
	position: absolute;
	right: 0;
	scrollbar-width: none;
	top: 60px;
	width: 100%;
	z-index: 900;
}

.p-header__drawer::-webkit-scrollbar {
	display: none;
}

.p-header__drawer-item:not(:first-child):not(:last-child) {
	margin-top: 48px;
}

.p-header__drawer-item a {
	color: #fff;
	display: block;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	transition: all 0.3s ease;
}

.p-header__drawer-item a:hover {
	opacity: 0.7;
}

.p-header__drawer-item--contact,
.p-header__drawer-item--dl {
	border: 1px solid #fff;
	max-width: 295px;
	padding: 24px 78px;
}

.p-header__drawer-item--dl {
	margin: 43px auto;
	width: -moz-max-content;
	width: max-content;
}

.p-header__drawer-item--contact {
	background: #fff;
	margin: 33px auto;
}

.p-header__drawer-item--contact a {
	color: #023e78;
}

.no-scroll {
	height: 100%;
	overflow: hidden;
}

.p-header__drawer.open {
	display: block;
}

.p-global__bg {
	transform: skewY(-10deg);
}

.p-global__img {
	bottom: -20px;
	max-height: 470px;
	position: absolute;
	right: 0;
	width: 80%;
	z-index: -1;
}

.p-global__img img {
	height: 77%;
	min-height: 360px;
	width: 100%;
}

.p-footer-boxes {
	padding-top: 135px;
}

.p-footer-box__dl {
	height: 265px;
	position: relative;
}

.p-footer-box__dl::before {
	background: rgba(0, 82, 162, 0.8);
	content: ""; /* 要素を生成 */
	height: 100%; /* 親要素と同じ高さ */
	left: 0; /* 左端に配置 */
	position: absolute; /* 要素を絶対配置に設定 */
	top: 0; /* 上端に配置 */
	width: 100%; /* 親要素と同じ幅 */
}

.p-footer-box__contact {
	height: 265px;
	position: relative;
}

.p-footer-box__contact::before {
	background: #023e78;
	content: ""; /* 要素を生成 */
	height: 100%; /* 親要素と同じ高さ */
	left: 0; /* 左端に配置 */
	opacity: 0.8;
	position: absolute; /* 要素を絶対配置に設定 */
	top: 0; /* 上端に配置 */
	width: 100%; /* 親要素と同じ幅 */
}

.p-footer-box__content {
	padding: 40px 40px 25px;
	position: relative;
	text-align: center;
}

.p-footer-box__main {
	font-size: 2.5rem;
	font-weight: 500;
	text-transform: uppercase;
}

.p-footer-box__sub {
	font-weight: 700;
}

.p-case {
	padding: 88px 0 0;
}

.p-case__bg {
	position: absolute;
	width: 100%;
}

.p-inner__bg {
	height: auto;
	padding: 60px 20px 35px;
	position: relative;
	width: 100%;
}

.p-case__items {
	display: flex;
	flex-wrap: wrap;
	margin-top: -53px;
}

.p-case__item {
	display: block;
	position: relative;
	transition: transform 0.3s, color 0.3s; /* ホバー時の変化をアニメーション化 */
	width: 100%;
}

.p-case__item:not(:first-child) {
	margin-top: 52px;
}

.p-case__item-link svg {
	transition: transform 0.3s, fill 0.3s;
}

.p-case__item-img {
	text-align: center;
}

.p-case__item-img img {
	display: inline-block;
}

.p-case__items-name {
	color: #fff;
	font-weight: 700;
	margin-top: 9px;
}

.p-case__item-links {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-top: 7px;
}

.p-case__item-links:nth-child(4) {
	margin-top: 10px;
}

.p-case__item-intro {
	border: 1px solid #fff;
	color: #fff;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 700;
	padding: 6px 16px;
}

.p-inner__bg img {
	height: auto;
	position: relative;
	width: 100%;
}

.p-about {
	background: linear-gradient(transparent 21%, #edf3f8 6%);
	padding-bottom: 123px;
	padding-top: 63px;
	transform: skewY(10deg);
}

.p-about__items {
	margin-top: -35px;
}

.p-about__img-box {
	margin-top: 69px;
	position: relative;
}

.p-about__text {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5rem;
}

.p-service {
	background: linear-gradient(transparent 50%, #edf3f8 50%);
	padding: 88px 0 50px;
	transform: skewY(10deg);
}

.p-service__items {
	margin-top: -23px;
}

.p-service__item {
	padding-left: 15px;
	position: relative;
}

.p-service__item:nth-child(2) {
	margin-top: 72px;
}

.p-service__item:nth-child(3) {
	margin-top: 75px;
}

.p-service__item-img {
	text-align: center;
}

.p-service__item-img img {
	display: inline-block;
}

.p-service__item-number {
	position: absolute;
	right: 10px;
	top: -30px;
	z-index: 1;
}

.p-number__w {
	right: 5px;
	top: -28px;
	z-index: 0;
}

.p-service__item-title {
	bottom: 191px;
	left: 0;
	position: absolute;
}

.p-service__item-title:nth-child(2) {
	bottom: 190px;
}

.p-service__item--bottom {
	bottom: 260px;
}

.p-service__item-title__block {
	background-color: #fff;
	color: #023e78;
	font-size: 1.75rem;
	font-weight: 700;
	width: -moz-fit-content;
	width: fit-content;
}

.p-service__item-title__block:nth-child(2) {
	margin-top: 0.5rem;
}

.p-service__text {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5rem;
	margin-top: 9px;
}

.p-company-note {
	padding: 60px 0;
}

.p-company-note__content:last-child {
	margin-top: 60px;
}

.p-company-note__bg1 {
	position: relative;
	z-index: -1;
}

.p-company-note__bg1 img {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 281px;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.p-company-note__wrap {
	left: 20px;
	position: absolute;
	top: 12px;
}

.p-company-note__message {
	color: #fff;
	font-size: 3.25rem;
}

.p-company-note__lead {
	color: #fff;
	font-weight: 700;
	position: absolute;
	top: 70px;
}

.p-company-note__box {
	background: #fff;
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.16);
	margin: 0 auto;
	margin-top: -40px;
	padding: 20px 20px 18px;
	width: calc(100% - 40px); /* 100%から左右のpadding分(20px * 2)を引いた幅 */
}

.p-company-note__box-title {
	color: #023e78;
	font-size: 1.25rem;
	font-weight: 700;
	text-align: center;
}

.p-company-note__box-text {
	color: #1a1a1a;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 24px; /* 171.429% */
	margin-top: 16px;
}

.p-company-overview {
	background: url(https://corporate.web-developers.org/wp-content/themes/tokyo-corporate/assets/img/company/bg-company.jpg) center/cover no-repeat;
	padding: 58px 0 57px;
}

.p-company-overview__box {
	background: #fff;
	border: 1px solid #707070;
	padding: 40px 20px;
}

.p-company-overview__title {
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 40px;
	text-align: center;
}

.p-company-overview__dl {
	display: flex; /* Flexコンテナとして設定 */
	flex-wrap: wrap; /* 要素が横に収まりきらない場合に折り返す */
}

.p-company-overview__dt,
.p-company-overview__dd {
	font-size: 0.875rem;
	font-weight: 500;
	overflow-wrap: break-word; /* 文字が要素の幅を超えたら折り返す */
	position: relative;
}

.p-company-overview__dt {
	align-items: center;
	border-bottom: 1px solid #023e78;
	display: flex;
	width: 34%;
}

.p-company-overview__dt:first-child {
	border-top: 1px solid #023e78;
}

.p-company-overview__dd {
	border-bottom: 1px solid #e8eaec;
	padding: 15.5px 0 15px 22px;
	width: 65%;
}

.p-company-overview__dd:nth-child(2) {
	border-top: 1px solid #e8eaed;
}

.p-company-executive {
	background: linear-gradient(transparent 46%, #edf3f8 6%);
	margin-bottom: -80px;
	padding: 58px 0 100px;
	transform: skewY(10deg);
}

.p-company-executive__title {
	font-size: 24px;
	font-weight: 700;
	text-align: center;
}

.p-company-executive__item:not(:first-child) {
	padding-top: 20px;
}

.p-company-executive__img {
	padding: 41px 47px 20px;
}

.p-company-executive__img img {
	margin: 0 auto;
}

.p-company-executive__profile {
	align-items: center;
	display: flex;
	font-weight: 700;
}

区あ .p-company-executive__job {
	font-size: 14px;
}

.p-company-executive__name {
	font-size: 20px;
	padding-left: 20px;
}

.p-company-executive__text {
	font-size: 14px;
	font-weight: 500;
	line-height: 24px; /* 171.429% */
	padding: 18px 0;
}

.p-company-executive__sns-icon {
	font-size: 29px;
	transition: all 0.3s ease;
}

.p-company-executive__sns-icon:hover {
	opacity: 0.6;
}

.p-company-executive__sns-icon:not(:first-child) {
	margin-left: 25px;
}

.p-service-overview {
	padding: 60px 0;
}

.p-service-overview__foreword {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 28px; /* 140% */
	text-align: center;
}

.p-service-overview__items {
	margin-top: 60px;
}

.p-service-overview__item2 {
	padding-top: 80px;
}

.p-service-overview_item-bg {
	background: linear-gradient(transparent 6%, #edf3f8 0%);
	padding: 78px 0 0;
	transform: skewY(10deg);
}

.p-service__bg {
	transform: skewY(-10deg);
}

.p-service-overview__img {
	margin-left: auto;
	width: 51%;
}

.p-service-overview__box {
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
	margin: -150px 20px 0;
	padding: 36px 20px 1px;
	position: relative;
}

.p-service-overview__box .p-service-overview__number {
	color: #023e78;
	font-size: 4.25rem;
	position: absolute;
	top: -60px;
}

.p-service-overview__box .p-service-overview__number.--right {
	right: 20px;
}

.p-service-overview__box .p-service-overview__main-title {
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 36px; /* 128.571% */
}

.p-service-overview__box .p-service-overview__sub-title {
	color: #023e78;
	font-size: 0.875rem;
	margin-top: 5px;
}

.p-service-overview__box .p-service-overview__text {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 24px; /* 171.429% */
	margin-top: 29px;
}

.p-service-overview__box .p-service-overview__dl-area {
	font-size: 14px;
	margin: 30px 0 -10px;
}

.p-service-overview__box .p-service-overview__dl {
	align-items: center;
	border-top: 1px solid #ccc;
	display: flex;
	padding: 18px 0;
}

.p-service-overview__box .p-service-overview__dl:nth-child(2) {
	border-bottom: 1px solid #ccc;
}

.p-service-overview__box .p-service-overview__dt {
	font-weight: 700;
	white-space: nowrap;
}

.p-service-overview__box .p-service-overview__dd {
	font-weight: 500;
	line-height: 24px; /* 171.429% */
	margin-left: 52px;
}

.p-service-flow__title {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
}

.p-service-flow__items {
	margin-top: 47px;
}

.p-service-flow__item {
	align-items: center;
	display: flex;
	justify-content: center;
}

.p-service-flow__steps {
	color: #fef251;
	margin-top: 10px;
}

.p-service-flow__step {
	font-size: 1.25rem;
	margin-top: -9px;
}

.p-service-flow__number {
	font-size: 2.5rem;
	margin-top: -10px;
}

.p-service-flow__content {
	margin-left: 17px;
	max-width: 480px;
	position: relative;
	width: 100%;
}

.p-service-flow__content::after {
	border-color: currentColor transparent transparent transparent;
	border-style: solid;
	border-width: 26px 36.66667vw 0 36.66667vw;
	bottom: -25px;
	content: "";
	height: 0;
	left: 0;
	position: absolute;
	right: 0;
	width: 0;
	z-index: 1;
}

.p-service-flow__content01 {
	background: #edf3f8;
	color: #edf3f8;
	padding: 22px 20px 24px;
}

.p-service-flow__content02 {
	background: #dde8f0;
	color: #dde8f0;
	padding: 36px 20px 20px;
}

.p-service-flow__content03 {
	background: #c7dbe9;
	color: #c7dbe9;
	padding: 40px 20px 16px;
}

.p-service-flow__content04 {
	background: #b0d0e5;
	height: 196px;
	margin-left: 17px;
	max-width: 480px;
	padding: 38px 20px 0px;
	width: 100%;
}

.p-service-flow__item-title {
	color: #023e78;
	font-size: 1.125rem;
	font-weight: 700;
	text-align: center;
}

.p-service-flow__item-text {
	color: #1a1a1a;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 24px;
	margin-top: 7px;
}

.p-service-flow__item-text:last-child {
	margin-top: 6px;
}

.p-service-flow__item-text__red {
	margin-top: 2px !important;
}

.p-service-faq {
	margin-bottom: -40px;
	padding-top: 62px;
}

.p-service-faq-title {
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
}

.p-faq__list {
	margin-top: 32px;
}

.p-faq-list__item {
	border-bottom: 1px solid #ddd;
	padding: 16px 0;
}

.p-faq-list__item-question {
	cursor: pointer;
	font-weight: 700;
	padding-right: 79px;
	position: relative;
}

.p-faq-list__item-question.is-open {
	color: #e61264;
	transition: color 0.3s;
}

.p-faq-list__item-question::before,
.p-faq-list__item-question::after {
	background: #1a1a1a;
	content: "";
	height: 2px;
	position: absolute;
	right: 8px;
	top: 13px;
	transition: 0.3s;
	width: 20px;
}

.p-faq-list__item-question::after {
	transform: rotate(90deg);
}

.p-faq-list__item-question.is-open::before {
	background: #e61264;
	transform: rotate(-45deg);
}

.p-faq-list__item-question.is-open::after {
	background: #e61264;
	transform: rotate(45deg);
}

.p-faq-list__item-answer {
	display: none;
	font-size: 14px;
	font-weight: 500;
	line-height: 24px; /* 171.429% */
	margin-top: 16px;
	max-width: 630px;
}

.archive-blog {
	margin: 0 auto;
}

.archive-blog__heading {
	font-size: 20px;
	font-weight: 700;
	margin: 60px 0 18px;
	padding-left: 20px;
}

.archive-blog__inner {
	margin: auto;
	margin-bottom: -36px;
	max-width: 37.5rem;
	padding: 0 1.25rem;
	width: 100%;
}

.archive-blog__item {
	display: flex;
	flex-direction: column;
}

.archive-blog__link:not(:first-of-type) {
	margin-top: 20px;
}

.archive-blog__link {
	display: flex;
	flex-direction: row-reverse;
	min-height: 90px;
}

.archive-blog__content {
	flex-grow: 1;
	margin-left: 12px;
	width: 170%;
}

.archive-blog__meta {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: space-between;
	padding-right: 7px;
}

.archive-blog__date {
	color: #888;
	font-size: 0.875rem;
	line-height: 1;
}

.archive-blog__category {
	border: 1px solid #e61264;
	color: #fff;
	font-size: 0.75rem;
	line-height: 1;
	padding: 5px 10px;
}

.archive-blog__status {
	padding-right: 8px;
}

.archive-blog__sidebar-status {
	font-size: 14px;
}

.archive-blog__text {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 20px; /* 142.857% */
	margin-top: 4px;
	opacity: 1;
	transition: opacity 0.3s ease;
}

.archive-blog__link:hover .archive-blog__text {
	opacity: 0.5; /* 適用したい不透明度 */
}

.archive-blog__img {
	width: 100%;
}

.archive-blog__img img {
	height: 100%;
	min-width: 120px;
	width: 100%;
}

.archive-blog__sidebar {
	margin-top: 109px;
}

.archive-blog__sidebar-heading {
	font-size: 20px;
	font-weight: 700;
	padding-bottom: 17px;
}

.archive-blog__sidebar-link {
	display: flex;
	flex-direction: row-reverse;
}

.archive-blog__sidebar-link:hover .archive-blog__sidebar-text {
	opacity: 0.5; /* 適用したい不透明度 */
}

.archive-blog__sidebar-content {
	flex-grow: 1;
	margin-left: 12px;
	margin-top: 1px;
	width: 170%;
}

.archive-blog__sidebar-meta {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: space-between;
}

.archive-blog__sidebar-category {
	border: 1px solid #e61264;
	color: #fff;
	font-size: 0.75rem;
	line-height: 1;
	padding: 5px 10px;
}

.archive-blog__sidebar-text {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 20px; /* 142.857% */
	margin-top: 4px;
	opacity: 1;
	transition: opacity 0.3s ease;
}

.archive-blog__sidebar-date {
	color: #888;
	font-size: 0.875rem;
	line-height: 1;
	padding-right: 10px;
}

.archive-blog__sidebar-img {
	height: 100%;
	min-width: 120px;
	width: 100%;
}

.archive-blog__sidebar-img img {
	height: 100%;
	min-height: 90px;
}

.archive-blog__sidebar-link + .archive-blog__sidebar-link {
	margin-top: 20px;
}

.archive-blog__sidebar-paragraph {
	margin-top: 60px;
}

.archive-blog__category-link {
	border-bottom: 1px solid #ddd;
	border-top: 1px solid #ddd;
	display: block;
	font-size: 1rem;
	font-weight: 700;
	padding: 14px 40px 17px;
	position: relative;
}

.archive-blog__category-link::before {
	border-right: 2px solid #023e78;
	border-top: 2px solid #023e78;
	content: "";
	height: 10px;
	left: 18px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	transition: 0.3s;
	width: 10px;
}

.archive-blog__tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1.5rem;
}

.archive-blog__tag-link {
	font-size: 0.75rem;
	line-height: 1;
}

.p-pagenavi__inner {
	margin: auto;
	max-width: 600px;
	width: 100%;
}

.prev-link {
	margin-right: 16px !important;
}

.next-link {
	margin-left: 16px !important;
}

.p-pagenavi .wp-pagenavi {
	clear: both;
	padding-top: 47px;
	text-align: center;
}

.p-pagenavi .wp-pagenavi a.page-numbers,
.p-pagenavi .wp-pagenavi span.page-numbers {
	background-color: #f4f7f8;
	border: 1px solid #f4f7f8;
	color: #888;
	font-size: 16px;
	font-weight: 500;
	margin: 0 3px;
	padding: 8px 14px;
	transition: 0.3s;
	white-space: nowrap;
}

.p-pagenavi .wp-pagenavi a.page-numbers:hover {
	background-color: #023e78;
	border-color: #023e78;
	color: #fff;
	opacity: 1;
}

.p-pagenavi .wp-pagenavi .current {
	background-color: #023e78 !important; /* 現在のページ番号の背景色を青に変更 */
	border-color: #023e78 !important;
	color: #fff !important;
}

.p-single-blog__meta {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-top: 55px;
}

.p-single-blog__category {
	padding: 10px 12px;
}

.p-single-blog__date {
	font-size: 0.875rem;
	line-height: 1;
}

.p-single-blog__title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
	line-height: 28px; /* 140% */
	margin-top: 2px;
}

.p-single-blog__mv {
	margin-top: 22px;
	width: 101%;
}

.p-single-blog__mv img {
	width: 100%;
}

.p-single-blog__content {
	margin-top: 43px;
}

.p-single-blog__content h2 {
	background: #f8f8f8;
	color: #023e78;
	font-size: 1.25rem;
}

.p-single-blog__content h2::before {
	background-color: #023e78; /* 縦棒の色 */
	content: "";
	display: inline-block;
	height: 46px;
	margin-right: 20px; /* 縦棒とテキストの間隔 */
	vertical-align: middle; /* テキストと縦棒の垂直中央揃え */
	width: 6px;
}

.p-single-blog__content .p-single-blog__content-text {
	font-size: 14px;
	font-weight: 500;
	line-height: 24px; /* 171.429% */
	margin-top: 18px;
}

.p-single-blog__content h3 {
	border-bottom: 1px solid #023e78;
	color: #023e78;
	font-size: 1.125rem;
	font-weight: 700;
	margin-top: 37px;
	padding-bottom: 5px;
}

.p-single-blog__content h4 {
	color: #023e78;
	font-size: 1rem;
	font-weight: 700;
	margin-top: 36px;
}

.p-single-blog__content ul {
	margin-top: 35px;
}

.p-single-blog__content ul li {
	font-size: 1rem;
}

.p-single-blog__content ul li:not(:first-of-type) {
	margin-top: 15px;
}

.p-single-blog__content ul li::before {
	content: "・";
	margin-right: -3px;
}

.p-single-blog__content-quote {
	background: #f8f8f8;
	border-left: 4px solid #023e78;
	margin-top: 57px;
	padding: 12px 29px 28px;
	position: relative;
}

.p-single-blog__content-quote::before {
	background-image: url(/public/assets/images/page-case/single-pattern.png) center/cover no-repeat;
	content: "";
	height: 45px;
	left: 25px;
	position: absolute;
	top: 25px;
	width: 60px;
}

.p-single-blog__links {
	color: #023e78;
	display: flex;
	justify-content: space-between;
	margin: 40px 0 -8px;
}

.p-single-blog__link-prev,
.p-single-blog__link-next {
	border: 1px solid #023e78;
	border-radius: 4px;
	color: #023e78;
	font-size: 14px;
	font-weight: 500;
	padding: 8px 16px;
}

.p-single-blog__aside {
	margin-bottom: -39px;
}

.p-case-study {
	padding-top: 57px;
}

.p-case__menu {
	margin: 0 20px;
}

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

.p-case__menu-list {
	background: #eee;
	border-radius: 4px;
}

.p-case__menu-list:not(:first-child) {
	margin-top: 19px;
}

.p-page-case__menu-link {
	display: block;
	font-size: 14px;
	font-weight: 700;
	padding: 12px 0;
}

.p-cases1 {
	padding-top: 62px;
}

.p-cases2 {
	padding-top: 21px;
}

.p-cases3 {
	margin-bottom: -75px;
	padding-top: 23px;
}

.p-cases__title-area {
	border-left: 8px solid #023e78;
	padding-left: 10px;
}

.p-cases__main-title {
	font-size: 24px;
	font-weight: 700;
}

.p-cases__sub-title {
	color: #023e78;
	font-size: 14px;
}

.p-cases__items {
	margin: 18px 0;
}

.p-cases__item:not(:first-child) {
	margin-top: 53px;
}

.p-cases__item-top {
	align-items: center;
	background: #023e78;
	border-radius: 12px 12px 0px 0px;
	display: flex;
	justify-content: space-between;
	padding: 6px 20px;
}

.p-cases__business {
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 18px; /* 150% */
}

.p-cases__name {
	color: #fff;
	font-weight: 700;
	margin-top: 3px;
}

.p-cases__name-add {
	color: #fff;
	font-size: 14px;
	font-weight: 700;
}

.p-cases__item-icon {
	height: 15px;
	position: relative;
	top: 19px;
	width: 15px;
}

.p-cases__item-logo {
	width: 90px;
}

.p-cases__item-logo img {
	border-radius: 4px;
	box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
	display: inline-block;
}

.p-cases__item-box {
	background: #fff;
	border-radius: 0 0 12px 12px;
	box-shadow: 0px 3px 12px 0px rgba(0, 0, 0, 0.16);
	padding: 20px 20px 16px;
}

.p-cases__item-title {
	border-bottom: 1px solid #ddd;
	font-weight: 700;
	padding-bottom: 10px;
}

.p-cases__item-title-add {
	padding-left: 7px;
}

.p-cases__lists {
	padding-top: 5px;
}

.p-cases__list:first-child {
	height: 117px;
}

.p-cases__list:nth-child(2) {
	height: 117px;
	margin-top: 15px;
}

.p-cases__list:nth-child(3) {
	margin-top: 15px;
}

.p-cases__list-title {
	font-weight: 700;
	padding-left: 25px;
}

.p-cases__list-text {
	font-size: 14px;
	font-weight: 500;
	line-height: 24px; /* 171.429% */
	margin-top: 6px;
}

.p-cases__button {
	color: #023e78 !important;
	font-size: 14px;
}

.p-cases__arrow {
	left: calc(50% + 116px);
	top: 25px;
}

.p-cases__arrow2 {
	left: calc(50% + 116px);
	top: 25px;
}

.p-case__button-box {
	border: 1px solid #023e78 !important;
}

.p-case__button-box2 {
	border: 1px solid #023e78 !important;
	color: #023e78;
}

.p-case__button-box2:hover .p-cases__arrow2 {
	fill: #fff !important;
	left: calc(50% + 165px); /* 矢印を右に移動させる */
}

a:hover .p-cases__arrow {
	left: calc(50% + 140px);
	transition: left 0.3s ease;
}

.p-download {
	padding: 60px 0 0;
}

.p-download__product-title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 28px;
}

.p-download__product-img {
	margin: 28px auto 0;
	padding: 0px 18px;
}

.p-download__product-text {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 24px; /* 171.429% */
	margin-top: 27px;
}

.p-contact {
	padding: 60px 0 0;
}

.p-contact__form {
	background: #edf3f8;
	border-radius: 12px;
	margin-bottom: -35px;
	padding: 40px 20px 10px;
}

.p-contact-form-title {
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: 35px;
}

.p-contact__form-wrap:not(:first-child) {
	margin-top: 16px;
}

.p-contact__form-label {
	font-size: 0.875rem;
	font-weight: 700;
}

.p-contact__form-label span {
	background: #e61264;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	margin-left: 8px;
	padding: 2px 8px;
}

.p-contact__form-input {
	margin-top: 8px;
}

.p-contact__form-input input {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 500;
	opacity: 0.8;
	padding: 12px 14px;
	width: 100%;
}

.p-contact__form-privacy {
	margin-top: 36px;
	padding: 0 20px;
	text-align: center;
}

.p-contact__form-privacy input + span a {
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline;
}

.p-contact__form-submit input:hover,
.p-contact__form-submit input:focus {
	outline: none;
}

.p-contact__form-submit input::-moz-foucus-inner {
	border: none;
	padding: 0;
}

[type=checkbox]:checked + span::after {
	border-bottom: 2px solid #3e3e3e;
	border-left: 2px solid #3e3e3e;
	content: "";
	display: block;
	height: 12px;
	left: 8px;
	margin-top: 2px;
	position: absolute;
	top: -5px;
	transform: rotate(-45deg);
	transition: 0.3s;
	width: 22px;
}

/* チェックボックスを非表示にする */

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

[type=checkbox] + span {
	cursor: pointer;
	display: inline-block;
	margin-right: -2px;
	padding: 0 0 0 30px;
	position: relative;
	transition: all 1s ease 0s;
}

[type=checkbox] + span::before {
	background: #fff;
	border: 1px solid #808080;
	content: "";
	display: block;
	height: 28px;
	left: 0px;
	opacity: 1 !important;
	position: absolute;
	top: -6px;
	width: 28px;
}

.c-form__link-to-privacy {
	font-size: 14px;
	font-weight: 700;
	margin: 0 6px 0 8px;
	text-decoration: underline;
}

.p-contact__form-submit {
	margin: 41px auto 0;
	text-align: center;
}

.wpcf7-submit {
	background: #fff;
	border: 1px solid #023e78;
	color: #023e78;
	display: inline-block;
	display: flex;
	font-size: 14px;
	justify-content: center;
	margin: 0 auto;
	padding: 25px 0;
	text-align: center;
	transition: color 0.3s; /* テキストの色の変化を0.3秒かけて行う */
	width: 18.4375rem;
}

.wpcf7-acceptance {
	display: block;
	margin-top: 41px;
	text-align: center;
}

.wpcf7-not-valid-tip {
	margin-top: 20px;
}

.wpcf7 form .wpcf7-response-output {
	margin: 5em 0.5em 1em;
}

/* プレースホルダーのスタイルを変更 */

input::-moz-placeholder {
	font-size: 12px; /* 必要に応じてフォントサイズを調整 */
}

input::placeholder {
	font-size: 12px; /* 必要に応じてフォントサイズを調整 */
}

textarea::-moz-placeholder {
	font-size: 12px; /* 必要に応じてフォントサイズを調整 */
}

textarea::placeholder {
	font-size: 12px; /* 必要に応じてフォントサイズを調整 */
}

.p-thanks__box {
	background: #edf3f8;
	border-radius: 12px;
	margin-bottom: -35px;
	padding: 40px 20px 33px;
}

.p-thanks__box-text {
	font-size: 14px;
	font-weight: 500;
	line-height: 28px;
	padding-top: 3px;
}

.p-thanks__box-text:not(:first-child) {
	margin-top: 34px;
}

.p-thanks__box-link {
	color: #023e78;
	display: inline-block;
	font-size: 14px;
	font-weight: 500;
	margin-top: 7px;
}

.p-thanks__box-link::before {
	color: #1a1a1a;
	content: "→";
}

.p-thanks__box-link span {
	margin-left: 8px;
	text-decoration-line: underline;
}

.p-contact-us__description {
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px; /* 171.429% */
	margin-top: 60px;
	padding: 0 22px;
}

.p-contact-us__heading {
	font-size: 24px;
	font-weight: 700;
	margin-top: 60px;
	text-align: center;
}

.p-contact-us__form {
	background: #fff;
	margin-bottom: -75px;
	padding-top: 37px;
}

.p-contact-us__form-label {
	font-size: 0.875rem;
	font-weight: 700;
}

.p-contact-us__form-label span {
	background: #e61264;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	margin-left: 11px;
	padding: 4px 11px;
}

.p-contact-us__form-input {
	margin-top: 8px;
}

.p-contact-us__form-input input {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 500;
	opacity: 0.8;
	padding: 12px 14px;
	width: 100%;
}

.p-contact-us__form-input input:focus {
	outline: none;
}

.p-contact-us__form-input input::-moz-placeholder {
	color: rgba(51, 51, 51, 0.5);
}

.p-contact-us__form-input input::placeholder {
	color: rgba(51, 51, 51, 0.5);
}

.p-contact__form-textarea {
	margin-top: 13px;
}

.p-contact__form-textarea textarea {
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 0.875rem;
	font-weight: 500;
	height: 140px;
	opacity: 0.8;
	padding: 0.625rem;
	resize: none;
	width: 100%;
}

textarea::-moz-placeholder {
	color: #ccc;
	font-style: italic; /* 斜体に設定 */
}

textarea::placeholder {
	color: #ccc;
	font-style: italic; /* 斜体に設定 */
}

.p-form-select select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 5px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 500;
	margin-top: 9px;
	opacity: 0.8;
	padding: 12px 14px;
	position: relative;
	width: 100%;
}

.p-form-select select::-ms-expand {
	display: none;
}

.p-form-select select:focus {
	border: 1px solid #ccc;
	box-shadow: none;
	outline: none;
}

.p-contact-us__form-wrap:not(:first-child) {
	margin-top: 15px;
}

.p-form__label span {
	background-color: #d00000;
	color: #fff;
	display: inline-block;
	font-size: 0.75rem;
	margin-left: 0.625rem;
	padding: 0.3125rem;
}

.p-contact__arrow-i {
	font-size: 10px;
	padding-top: 27px;
	position: absolute;
	right: 34px;
	z-index: 1;
}

.p-contact-us__form-submit {
	margin-top: 39px !important;
}

.p-contact-comp {
	margin-bottom: -35px;
	padding: 0 20px;
}

.p-contact-comp__text {
	font-size: 14px;
	font-weight: 500;
	line-height: 24px; /* 171.429% */
	margin-top: 60px;
}

.p-contact-comp__link {
	margin-top: 5px;
}

.u-separate {
	margin-bottom: 24px;
	margin-top: 24px;
}

@media (prefers-reduced-motion: reduce) {

html:focus-within {
	scroll-behavior: auto;
}

*,
*::before,
*::after {
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	scroll-behavior: auto !important;
	transition-duration: 0.01ms !important;
}

}

@media screen and (min-width: 360px) {

.u-hidden-sm {
	display: none;
}

.u-img-md {
	display: none;
}

.u-link-md {
	visibility: hidden;
}

}

@media (min-width: 650px) {

.p-service-flow__content::after {
	border-width: 26px 240px 0 240px;
}

}

@media screen and (min-width: 768px) {

html {
	font-size: 1.3333333333vw;
}

body {
	margin-top: 100px;
}

.l-footer__logo {
	display: block;
}

.l-inner {
	margin: 0 auto;
	max-width: 1180px;
	padding: 0 40px;
}

.l-inner-sub {
	margin: 0 auto;
	max-width: 1180px;
}

.c-service-box__button {
	width: 28.125rem;
}

.c-common__arrow {
	left: calc(50% + 58px);
	top: 40%;
}

.c-common__arrow-service {
	left: calc(50% + 88px);
	top: 37%;
}

.c-global__link {
	bottom: 77px;
}

.c-link__more {
	font-size: 28px;
}

.c-link__position {
	max-width: 421px;
}

.c-global__arrow {
	left: 8px;
	top: -29px;
	width: 9vw;
}

.c-global__circle {
	height: 55px;
	width: 53px;
}

.c-main-title {
	font-size: 5.3125rem;
}

.c-sub-title {
	font-size: 1.25rem;
}

.c-mv-common__main {
	font-size: 60px;
}

.c-mv-common__sub-title {
	font-size: 20px;
}

.c-position-left {
	margin-right: -30px;
}

.p-news {
	background: linear-gradient(transparent 51%, #edf3f8 0%);
	padding-top: 170px;
}

.l-box__inner {
	text-align: center;
}

.p-news__box {
	display: inline-block;
}

.p-news__box {
	height: 467px;
	max-width: 768px;
	padding: 63px 36px 35px;
}

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

.p-mv__main-title {
	font-size: 30px;
	padding: 10px 0;
	position: absolute;
}

.p-mv__main-title:nth-child(1) {
	left: -164px;
	top: -78px;
	width: 14.375rem;
}

.p-mv__main-title:nth-child(2) {
	left: -20px;
	top: -78px;
	width: 12.1875rem;
}

.p-mv__main-title:nth-child(3) {
	left: -164px;
	top: -19px;
	width: 17.5rem;
}

.p-mv__sub-title {
	font-size: 1.25rem;
	left: -160px;
	margin-top: 42px;
	position: absolute;
	width: 25rem;
}

.p-header {
	height: 100px;
	padding-top: 32px;
}

.p-header__logo {
	font-size: 2.5rem;
	max-width: 6.25rem;
}

.p-header__nav-item a {
	line-height: 24px; /* 171.429% */
}

.p-header__drawer {
	top: 95px;
}

.p-header__drawer-item a {
	font-size: 16px;
}

.p-header__drawer-item--dl {
	margin-top: 48px;
}

.p-header__drawer-item--contact {
	margin-top: 48px;
}

.p-global__img {
	height: 120%;
	max-height: 650px;
	width: 46%;
}

.p-footer-boxes {
	display: flex;
	padding-top: 35px;
}

.p-footer-box__dl {
	height: auto;
	width: 100%;
}

.p-footer-box__contact {
	height: auto;
	width: 100%;
}

.p-case {
	padding-top: 20px;
}

.p-case__items {
	gap: 20px; /* アイテム間の間隔を設定 */
	justify-content: space-between; /* アイテムを均等に配置する */
}

.p-case__item {
	flex: 0 0 calc(33.33% - 20px); /* 3枚並ぶように幅を設定（間隔を考慮して計算） */
	margin-bottom: 20px; /* 下部のマージンを設定 */ /* 他のスタイル（背景色やテキストの装飾など）を適用 */
}

.p-case__item:not(:first-child) {
	margin-top: 0;
}

.p-case__item-img {
	height: auto;
	width: 100%; /* 画像を親要素に合わせて拡大表示 */
}

.p-about {
	background: linear-gradient(transparent 27%, #edf3f8 6%);
	padding-top: 180px;
}

.p-about__items {
	align-items: center;
	display: flex;
	gap: 30px;
	justify-content: space-between;
	margin-top: -65px;
}

.p-about__img-box {
	margin-top: 95px;
}

.p-about__text {
	letter-spacing: 1.2px;
	max-width: 400px;
	width: calc(70% - 20px);
}

.p-service {
	padding-top: 120px;
}

.p-service__items {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}

.p-service__item:nth-child(2) {
	margin-top: 40px;
}

.p-service__item:nth-child(3) {
	margin-top: 85px;
}

.p-service__item {
	padding-left: 0;
	width: 29.093%;
}

.p-service__item-img {
	display: inline-block;
	text-align: center;
}

.p-service__item-title:nth-child(2) {
	bottom: 340px;
}

.p-service__item-title {
	bottom: 330px;
	left: -20px;
	text-align: left;
}

.p-service__item-title:nth-child(4) {
	bottom: 290px;
}

.p-service__item--bottom {
	top: 180px;
}

.p-company-note__bg1 img {
	height: 353px;
	margin: 0 auto;
	max-width: 1100px;
}

.p-company-note__message {
	font-size: 5rem;
}

.p-company-note__lead {
	font-size: 1.5rem;
	top: 80px;
}

.p-company-note__box {
	margin-top: -60px;
	max-width: 688px;
	padding: 32px 37px 30px;
}

.p-company-note__box-title {
	font-size: 1.5rem;
}

.p-company-note__box-text {
	margin-top: 29px;
}

.p-company-overview__box {
	margin: 0 auto;
	max-width: 768px;
	padding: 60px 0 80px 40px;
}

.p-company-overview__dt,
.p-company-overview__dd {
	font-size: 16px;
}

.p-company-executive__item {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	margin-top: 60px;
}

.p-company-executive__img {
	height: 320px;
	margin-left: 40px;
	padding: 0;
	width: 240px;
}

.p-company-executive__group {
	max-width: 408px;
}

.p-company-executive__text {
	margin: 10px 0;
}

.p-service-overview {
	padding: 80px 0;
}

.p-service-overview__foreword {
	font-size: 24px;
	line-height: 40px; /* 142.857% */
}

.p-service-overview__items {
	margin-top: 280px;
}

.p-service-overview__item {
	display: flex;
	flex-direction: row-reverse;
	padding: 0px 38px 0px 35px;
}

.p-service-overview__item2 {
	margin-top: 280px;
}

.p-service-overview_item-bg {
	display: flex;
	padding: 270px 38px 0px 35px;
}

.p-service__bg {
	display: flex;
}

.p-service-overview__img {
	margin-left: -30px;
	margin-top: -70px;
	width: 90%;
}

.p-service-overview__box {
	margin: -150px 0px 0;
	padding: 36px 40px 0px;
}

.p-service-overview__box .p-service-overview__number {
	font-size: 5rem;
	left: 54px;
	top: -37px;
}

.p-service-overview__box .p-service-overview__number.--right {
	left: 330px;
	right: 0;
}

.p-service-overview__box .p-service-overview__main-title {
	font-size: 2.25rem;
}

.p-service-overview__box .p-service-overview__sub-title {
	font-size: 16px;
}

.p-service-flow__items {
	display: flex;
	margin: 55px 18px 0 -18px;
}

.p-service-flow__item {
	display: block;
	width: 25%;
}

.p-service-flow__steps {
	display: flex;
	margin-left: 18px;
}

.p-service-flow__number {
	margin-left: 3px;
}

.p-service-flow__content {
	height: 210px;
}

.p-service-flow__content::after {
	border-color: transparent transparent transparent currentColor;
	border-width: 111px 0px 102px 20px;
	left: auto;
	right: -19px;
	top: 50%;
	transform: translateY(-50%);
}

.p-service-flow__content01 {
	padding-top: 36px;
}

.p-service-flow__content02 {
	padding: 36px 10px 20px 30px;
}

.p-service-flow__content03 {
	padding: 36px 10px 20px 30px;
}

.p-service-flow__content04 {
	height: 210px;
	padding: 36px 10px 20px 30px;
}

.p-service-flow__item-title {
	font-size: 20px;
	text-align: left;
}

.p-service-flow__item-text:last-child {
	margin-top: 17px;
}

.p-service-flow__item-text {
	margin-top: 17px;
}

.p-faq__list {
	margin: 66px auto;
	max-width: 688px;
}

.p-faq-list__item {
	padding: 26px;
}

.p-faq-list__item-question {
	font-size: 20px;
}

.p-faq-list__item-answer {
	margin-left: 40px;
	margin-top: 31px;
	max-width: 590px;
}

.archive-blog__heading {
	padding-left: 25px;
}

.archive-blog__inner {
	display: flex;
	gap: 8px;
	justify-content: space-between;
	margin-bottom: 50px;
	max-width: 1100px;
	padding: 0 2.5rem;
}

.archive-blog__list {
	width: 65%;
}

.archive-blog__item {
	flex-direction: row;
}

.archive-blog__link {
	justify-content: space-between;
}

.archive-blog__content {
	flex-grow: initial;
	margin-top: 1rem;
}

.archive-blog__status {
	padding-right: 130px;
}

.archive-blog__img {
	margin-left: 0;
}

.archive-blog__sidebar {
	margin-top: -40px;
	width: 32%;
}

.archive-blog__sidebar-content {
	flex-grow: initial;
	height: 70px;
	overflow: hidden;
}

.archive-blog__sidebar-img {
	min-width: 101px;
	width: 37%;
}

.archive-blog__sidebar-img img {
	height: 70px;
}

.p-pagenavi .wp-pagenavi a.page-numbers,
.p-pagenavi .wp-pagenavi span.page-numbers {
	margin: 0 5px;
}

.p-single-blog {
	padding-top: 100px;
}

.p-single-blog-main {
	margin-top: -96px;
	width: 65%;
}

.p-case__menu-lists {
	display: flex;
	gap: 16px;
}

.p-case__menu-list:not(:first-child) {
	margin-top: 0;
}

.p-page-case__menu-link {
	padding: 12px 30px;
}

.p-cases3 {
	margin-bottom: 0;
	padding-bottom: 50px;
}

.p-cases__business {
	font-size: 14px;
}

.p-cases__name {
	font-size: 24px;
}

.p-cases__name-add {
	font-size: 16px;
}

.p-cases__item-icon {
	top: 24px;
}

.p-cases__item-logo {
	width: 120px;
}

.p-cases__item-box {
	padding: 30px 30px 36px;
}

.p-cases__item-title {
	font-size: 16px;
}

.p-cases__list:first-child {
	height: 97px;
}

.p-cases__list:nth-child(2) {
	margin-top: 0;
}

.p-cases__list:nth-child(3) {
	margin-top: 0;
}

.p-cases__list-title {
	font-size: 20px;
}

.p-cases__arrow {
	left: calc(50% + 114px);
	top: 37%;
}

.p-cases__arrow2 {
	left: calc(50% + 114px);
	top: 37%;
}

.p-case__button-box {
	max-width: 300px;
	width: 28.125rem;
}

.p-case__button-box2 {
	width: 28.125rem;
}

.p-case__button-box2:hover {
	background: #023e78;
	color: #fff !important;
}

.p-download-items {
	display: flex;
	justify-content: space-between;
}

.p-download__product {
	width: 47%;
}

.p-download__product-img {
	max-width: 295px;
	width: 18.4375rem;
}

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

.p-contact__form {
	margin: auto;
	width: 100%;
}

.p-contact__form-submit input:hover {
	opacity: 0.8;
}

.c-form__link-to-privacy {
	display: inline-block;
	font-size: 16px;
	margin: 0 10px;
}

.p-thanks__box {
	height: 550px;
	margin: auto;
}

.p-thanks-items {
	gap: 30px;
}

.p-thanks__product {
	width: 100%;
}

.p-contact-us {
	margin: 0 auto 63px;
	max-width: 688px;
}

.p-contact-us__description {
	display: flex;
	justify-content: center;
}

.p-contact-us__form {
	padding: 40px 0;
}

.p-contact-us__form-label {
	font-size: 16px;
}

.p-form__wrap {
	align-items: center;
	display: flex;
}

.p-contact-us__form-wrap:not(:first-child) {
	margin-top: 22px;
}

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

.p-contact__arrow-i {
	font-size: 14px;
	left: calc(50% + 300px);
}

.p-contact-comp {
	margin: 0 auto;
	margin-bottom: 50px;
	max-width: 687px;
}

.u-hidden-xl {
	display: none;
}

.u-hidden-sm {
	display: block;
}

.u-img-sm {
	display: none;
}

.u-img-md {
	display: block;
}

.u-link-sm {
	visibility: hidden;
}

.u-link-md {
	margin-top: -35px;
	visibility: visible;
}

}

@media screen and (min-width: 1000px) {

::-moz-placeholder {
	font-size: 18px; /* ここで希望するフォントサイズを指定 */
}

::placeholder {
	font-size: 18px; /* ここで希望するフォントサイズを指定 */
}

.l-page-top {
	bottom: 40px;
	right: 20px;
}

.c-common-box__button:hover .c-footer__arrow {
	fill: black;
	left: calc(50% + 118px); /* 矢印を右に移動させる */
}

.c-service-box__button:hover .c-footer__arrow {
	fill: black;
	left: calc(50% + 118px); /* 矢印を右に移動させる */
}

a:hover .c-common__arrow {
	left: calc(50% + 70px);
	transition: left 0.3s ease;
}

.c-common__arrow {
	top: 38%;
}

.c-common__arrow-service {
	left: calc(50% + 98px);
	top: 38%;
}

.c-global__link {
	bottom: 89px;
}

.c-global__arrow {
	left: 8px;
	width: 80px;
}

.c-global__arrow::before {
	height: 17px;
	right: 7px;
}

a:hover .c-global__arrow {
	left: 38px;
	width: 110px;
}

.breadcrumb {
	padding: 12px 88px 0;
}

.p-news__item:not(:last-child) {
	margin-bottom: 20px;
}

.p-news__box .p-news__item:nth-of-type(3) .p-news__title {
	padding-bottom: 34px;
}

.p-mv__main-title:nth-child(1) {
	width: 11.875rem;
}

.p-mv__main-title:nth-child(2) {
	width: 9.375rem;
}

.p-mv__main-title:nth-child(3) {
	width: 13.4375rem;
}

.p-header__logo a {
	min-width: 310px;
}

.p-global__img {
	height: 130%;
	max-height: 770px;
}

.p-global__img img {
	height: 100%;
}

.p-case {
	position: relative;
}

.p-case__bg img {
	width: 100%;
}

.p-inner__bg {
	padding: 100px 90px 0;
}

.p-case__items {
	gap: 0;
	margin-top: -6px;
}

.p-case__item:hover .p-case__item-link svg {
	transform: translateX(5px); /* ホバー時に右に5px移動 */
}

.p-case__item:hover svg path {
	transition: transform 0.3s, fill 0.3s;
	fill: #fef251; /* 好きな色に変更してください */
}

.p-inner__bg img {
	padding: 0;
}

.p-about__img {
	width: 570px;
}

.p-about__text {
	width: calc(80% - 20px);
}

.p-service {
	padding: 234px 0 0;
}

.p-service__item--bottom {
	top: 240px;
}

.p-company-note__content:last-child {
	margin-top: 120px;
}

.p-company-note__wrap {
	left: 100px;
}

.p-company-note__lead {
	top: 100px;
}

.p-company-overview {
	padding: 78px 0 83px;
}

.p-company-overview__title {
	margin-bottom: 60px;
	margin-right: 40px;
}

.p-company-executive__item:not(:first-child) {
	padding-top: 0;
}

.p-service-overview__box .p-service-overview__number {
	top: -47px;
}

.p-service-overview__box .p-service-overview__number.--right {
	left: 430px;
}

.archive-blog {
	margin-bottom: -5px;
	max-width: 1100px;
}

.archive-blog__heading {
	font-size: 2rem;
	margin-top: 78px;
	padding-left: 40px;
}

.archive-blog__inner {
	gap: 0;
}

.archive-blog__category {
	font-size: 14px;
	padding: 10px 23px;
}

.archive-blog__img img {
	width: 99%;
}

.archive-blog__sidebar {
	margin-top: -57px;
	width: 27%;
}

.archive-blog__sidebar-heading {
	margin-bottom: 0;
}

.p-pagenavi .wp-pagenavi {
	padding-top: 77px;
}

.p-pagenavi .wp-pagenavi a.page-numbers,
.p-pagenavi .wp-pagenavi span.page-numbers {
	padding: 13px 19px;
}

.p-single-blog {
	padding-top: 125px;
}

.p-single-blog-main {
	width: 69%;
}

.p-single-blog__meta {
	margin-top: 42px;
}

.p-single-blog__mv {
	margin-top: 39px;
}

.p-cases2 {
	margin-top: 58px;
}

.p-cases3 {
	margin-top: 54px;
	padding-bottom: 80px;
}

.p-cases__title-area {
	align-items: center;
	display: flex;
	gap: 20px;
	margin-left: 20px;
}

.p-cases__main-title {
	font-size: 1.75rem;
}

.p-cases__sub-title {
	font-size: 16px;
}

.p-cases__items {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	justify-content: space-between;
	margin: 10px 0;
	padding: 0 20px;
}

.p-cases__item:not(:first-child) {
	margin-top: 55px;
}

.p-cases__item {
	margin-top: 56px;
	width: 31.25rem;
}

.p-cases__item-top {
	height: 100px;
	padding: 0px 21px 0px 42px;
}

.p-cases__item-icon {
	top: 33px;
}

.p-cases__item-icon img {
	max-width: 134%;
}

.p-cases__item-logo {
	position: relative;
	width: 160px;
}

.p-cases__item-logo img {
	border-radius: 12px;
}

.p-cases__list:first-child {
	height: 108px;
}

.p-cases__list:nth-child(2) {
	height: 112px;
}

.p-cases__list-title {
	font-size: 18px;
	margin-top: 15px;
	padding-left: 30px;
}

.p-cases__button {
	padding-top: 10px;
}

.p-cases__arrow {
	left: calc(50% + 112px);
	top: 25px;
}

.p-cases__arrow2 {
	left: calc(50% + 138px);
	top: 33%;
}

.p-case__button-box {
	font-size: 16px;
	margin-top: 40px !important;
	padding: 25px 0;
}

.p-case__button-box2 {
	font-size: 16px;
	margin-top: 39px !important;
	max-width: 400px;
	padding: 25px 0;
}

.p-download {
	margin-bottom: -9px;
	padding: 20px 0 34px;
}

.p-download-items {
	margin-bottom: 60px;
	padding: 0 20px;
}

.p-download__product {
	padding: 60px 0 0 0;
}

.p-download__product-title {
	font-size: 1.75rem;
	line-height: 40px; /* 142.857% */
}

.p-download__product-img {
	margin-top: 34px;
	padding: 0;
	width: 295px;
}

.p-contact {
	padding: 60px 0 0;
	width: 31.25rem;
}

.p-contact__form {
	padding: 40px 40px 10px;
}

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

.p-contact__form-wrap:not(:first-child) {
	margin-top: 28px;
}

.p-contact__form-label {
	font-size: 1.125rem;
}

.p-contact__form-label span {
	font-size: 12px;
	margin-left: 9px;
	padding: 3px 8px;
}

.p-contact__form-input {
	margin: 12px 0 30px;
}

.p-contact__form-input input {
	font-size: 16px;
	padding: 10px 14px;
}

.p-contact__form-privacy {
	margin-top: 40px;
}

.p-contact__form-privacy input + span a {
	font-size: 16px;
}

[type=checkbox]:checked + span::after {
	border-bottom: 4px solid #3e3e3e;
	border-left: 4px solid #3e3e3e;
	height: 15px;
	left: 6px;
	top: -2px;
	width: 25px;
}

[type=checkbox] + span {
	margin-left: -1px;
	padding: 0 0 0 28px;
}

[type=checkbox] + span::before {
	height: 32px;
	left: -5px;
	top: -4px;
	transform: rotate(0deg) !important;
	width: 32px;
}

.p-contact__form-submit {
	margin-top: 46px;
}

.wpcf7-submit {
	font-size: 1rem;
	width: 21rem;
}

.wpcf7-acceptance {
	margin-top: 40px;
}

input::-moz-placeholder {
	font-size: 15px;
	letter-spacing: 1.5;
}

input::placeholder {
	font-size: 15px;
	letter-spacing: 1.5;
}

textarea::-moz-placeholder {
	font-size: 15px;
	letter-spacing: 1.5;
}

textarea::placeholder {
	font-size: 15px;
	letter-spacing: 1.5;
}

.p-download-thanks {
	padding-bottom: 30px;
}

.p-thanks__box {
	height: 780px;
	padding: 40px 40px;
}

.p-thanks__product {
	width: 50%;
}

.p-thanks__box-text {
	padding-top: 0;
}

.p-contact-us__description {
	justify-content: left;
	margin-top: 80px;
	padding: 0 0;
}

.p-contact-us__heading {
	margin-top: 80px;
}

.p-contact-us__form {
	padding: 58px 0 27px;
}

.p-contact-us__form-label {
	align-items: center;
	display: flex;
	font-size: 1.125rem;
}

.p-contact__form-textarea textarea {
	height: 240px;
}

.p-contact-us__form-wrap:not(:first-child) {
	margin-top: 32px;
}

.p-contact__arrow-i {
	left: calc(50% + 314px);
}

.p-contact-us__submit input {
	width: 206px;
}

.p-contact__submit-box {
	margin-top: 43px;
	max-width: 208px;
}

.p-contact-us__form-margin {
	margin-top: 35px;
}

.p-contact-us__form-item {
	margin: 0;
}

.p-contact-comp {
	margin-bottom: 105px;
	padding: 20px 0;
}

}

@media screen and (min-width: 1000px) and (min-width: 768px) {

.c-common-box__button:hover {
	background: #fef251;
	color: #1a1a1a;
}

.c-service-box__button:hover {
	background: #023e78;
	color: #fff;
}

}

@media (min-width: 1200px) {

html {
	font-size: 16px;
}

}

@media screen and (min-width: 1280px) {

.l-footer {
	padding: 116px 0 13px;
}

.l-footer__logo {
	font-size: 2.75rem;
}

.l-footer__copy-right {
	font-size: 17px;
	margin-top: 53px;
}

.c-common-box__button {
	font-size: 22px;
	padding: 28px 0px;
	width: 315px;
}

.c-service-box__button {
	font-size: 16px;
	margin: 49px auto;
	padding: 22px 0px;
	width: 305px;
}

a:hover .c-common__arrow {
	left: calc(50% + 110px);
}

.c-common__arrow {
	left: calc(50% + 98px);
	top: 33%;
}

.c-common__arrow-service {
	left: calc(50% + 98px);
	top: 33%;
}

.c-global__link {
	bottom: 104px;
}

.c-link__more {
	font-size: 32px;
}

.c-global__arrow {
	left: 8px;
	top: -34px;
	width: 103px;
}

a:hover .c-global__arrow {
	width: 133px;
}

.c-global__circle {
	top: 39px;
}

.c-main-title {
	font-size: 6.25rem;
}

.c-sub-title {
	font-size: 1.5rem;
}

.c-mv-common__img-company::before {
	left: -410px;
}

.c-mv-common__wrap {
	left: 220px;
	top: 60px;
}

.c-mv-service__wrap {
	top: 160px;
}

.c-breadcrumbs {
	margin: 0 auto;
	max-width: 1110px;
}

.c-breadcrumbs__list {
	padding-left: 0;
}

.c-position-left {
	margin-right: -55px;
}

.p-news {
	background: linear-gradient(transparent 60%, #edf3f8 0%);
	height: 990px;
	margin-bottom: 5px;
}

.l-box__inner {
	padding: 30px 260px;
}

.p-news__info-time {
	padding: 8px 27px;
}

.p-news__title {
	padding-bottom: 30px;
}

.p-mv {
	margin-left: 91px;
}

.p-mv__main-title {
	font-size: 3.375rem;
	position: absolute;
}

.p-mv__main-title:nth-child(1) {
	left: 15px;
	top: -100px;
	width: 15.6875rem;
}

.p-mv__main-title:nth-child(2) {
	left: 261px;
	top: -100px;
	width: 14.375rem;
}

.p-mv__main-title:nth-child(3) {
	left: 9px;
	top: -13px;
	width: 20rem;
}

.p-mv__sub-title {
	left: 20px;
	position: relative;
	top: 41px;
	width: 25rem;
}

.p-mv__swiper .swiper-img img {
	height: 43.75rem;
}

.p-header {
	padding-top: 30px;
}

.p-header__inner {
	height: 100px;
}

.p-header__logo a {
	letter-spacing: -2.5px;
}

.p-header__nav {
	display: block;
}

.p-header__nav {
	min-width: 873px;
}

.p-header__nav-items {
	padding-top: 10px;
}

.p-header__hamburger {
	display: none;
}

.p-global__img {
	bottom: 11px;
	height: 113%;
	max-height: 800px;
	width: 39%;
}

.p-footer-box__content {
	padding: 45px 40px 12px;
}

.p-footer-box__main {
	font-size: 3.75rem;
}

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

.p-case__bg img {
	height: 1171px;
}

.p-inner__bg {
	height: 1167px;
}

.p-case__item {
	flex: 0 0 calc(33.33% - 45px); /* 3枚並ぶように幅を設定（間隔を考慮して計算） */
	margin-bottom: 20px; /* 下部のマージンを設定 */
}

.p-case__item:nth-child(-n+3) {
	margin-bottom: 70px;
}

.p-case__items-name {
	margin-top: 14px;
}

.p-case__item-link {
	margin-right: 5px;
	margin-top: 3px;
}

.p-about {
	background: linear-gradient(transparent 39%, #edf3f8 6%);
	padding-bottom: 21px;
	padding-top: 253px;
}

.p-about__items {
	margin-top: -163px;
}

.p-about__img {
	margin-top: 15px;
	width: 681px;
}

.p-about__text {
	margin-top: -5px;
	max-width: 380px;
}

.p-service__items {
	margin-top: 10px;
}

.p-service__item:nth-child(2) {
	margin-top: 60px;
}

.p-service__item:nth-child(3) {
	margin-top: 115px;
}

.p-service__item-title {
	bottom: 379px;
	left: -32px;
}

.p-service__item-title:nth-child(2) {
	bottom: 380px;
}

.p-service__item-title:nth-child(4) {
	bottom: 319px;
}

.p-service__item--bottom {
	top: 310px;
}

.p-service__text {
	margin-top: 5px;
	max-width: 380px;
}

.p-service__text:nth-child(2) {
	margin-top: 9px;
}

.service-text__xl {
	margin-top: 11px !important;
}

.p-company-note {
	padding: 81px 0 120px;
}

.p-company-note__wrap {
	left: calc(50% - 540px);
	top: 5px;
}

.p-company-note__message {
	font-size: 100px;
}

.p-company-note__lead {
	left: 10px;
	top: 130px;
}

.p-company-overview__dt {
	padding-left: 30px;
	width: 29%;
}

.p-company-overview__dd {
	padding: 23.5px 0px 24px 24px;
}

.p-company-executive {
	background: linear-gradient(transparent 60%, #edf3f8 6%);
	margin-bottom: -8px;
	padding: 120px 0 158px;
}

.p-service-overview__foreword {
	font-size: 28px;
}

.p-service-overview__items {
	margin-top: 60px;
}

.p-service-overview__item {
	padding: 72px 58px 50px 149px;
}

.p-service-overview__item2 {
	margin-top: 104px;
}

.p-service-overview_item-bg {
	background: linear-gradient(transparent 12%, #edf3f8 0%);
	padding: 215px 48px 77px 48px;
}

.p-service-overview__img {
	margin-left: -71px;
	margin-top: 60px;
}

.p-service-overview__img:nth-child(3) {
	margin-right: auto;
}

.p-service-overview__img img {
	min-height: 301px;
}

.p-service-overview__box {
	height: 875px;
	margin: 0;
	max-width: 590px;
	padding: 45px 45px 0px 32px;
}

.p-service-overview__box .p-service-overview__number {
	font-size: 6.25rem;
	left: 45px;
	top: -67px;
}

.p-service-overview__box .p-service-overview__main-title {
	font-size: 40px;
	margin-top: 45px;
}

.p-service-overview__box .p-service-overview__sub-title {
	margin-top: 10px;
}

.p-service-overview__box .p-service-overview__text {
	margin-top: 59px;
}

.p-service-overview__box .p-service-overview__dl-area {
	margin: 57px 0 0px;
	padding-bottom: 8px;
}

.p-service-overview__box .p-service-overview__dl {
	padding: 30px 0;
}

.p-service-flow {
	margin-top: 40px;
	padding-bottom: 114px;
}

.p-service-flow__step {
	margin-top: 9px;
}

.p-service-flow__content::after {
	border-width: 104.5px 0 104.5px 20px;
}

.p-service-flow__content01 {
	padding: 45px 29px 0px 45px;
}

.p-service-flow__content02 {
	padding: 42px 27px 0px 50px;
}

.p-service-flow__content03 {
	padding: 42px 19px 16px 53px;
}

.p-service-flow__content04 {
	padding: 42px 20px 0px 53px;
}

.p-service-faq {
	margin-bottom: 123px;
	margin-top: 99px;
}

.p-faq-list__item {
	padding: 28px 0;
}

.p-faq-list__item:nth-child(3) {
	padding: 31px 0;
}

.p-faq-list__item:nth-child(4) {
	padding: 32px 0;
}

.p-faq-list__item:nth-child(4) p {
	padding-right: 0;
}

.p-faq-list__item:nth-child(5),
.p-faq-list__item:nth-child(6) {
	padding: 31px 0;
}

.p-faq-list__item-question:nth-child(4) {
	padding-right: 0;
}

.p-faq-list__item-question::before,
.p-faq-list__item-question::after {
	right: 14px;
	top: 13px;
}

.p-faq-list__item-question__long::before,
.p-faq-list__item-question__long::after {
	right: -98px;
	top: 18px;
}

.archive-blog {
	max-width: 1180px;
}

.archive-blog__inner {
	margin-bottom: 140px;
	padding: 0;
}

.archive-blog__list {
	width: 72%;
}

.archive-blog__link:not(:first-of-type) {
	margin-top: 40px;
}

.archive-blog__content {
	margin: 12px 40px 0 16px;
	width: 61%;
}

.archive-blog__status {
	padding-right: 250px;
}

.archive-blog__text {
	font-size: 1rem;
	line-height: 28px; /* 175% */
	margin-top: 15px;
}

.archive-blog__img {
	height: 156px;
	width: 32%;
}

.archive-blog__sidebar {
	margin-top: -67px;
}

.archive-blog__sidebar-content {
	height: 100px;
	margin: 0 0 0 7px;
}

.archive-blog__sidebar-category {
	padding: 7px 12px;
}

.archive-blog__sidebar-text {
	height: 60px;
	margin-top: 10px;
	overflow: hidden;
}

.archive-blog__sidebar-date {
	margin-left: 32px;
}

.archive-blog__sidebar-img img {
	height: 100px;
	width: 100px;
}

.archive-blog__sidebar-link + .archive-blog__sidebar-link {
	margin-top: 16px;
}

.archive-blog__sidebar-paragraph {
	margin-top: 80px;
}

.p-single-blog {
	padding-top: 146px;
}

.p-single-blog__meta {
	margin-top: 28px;
}

.p-single-blog__title {
	font-size: 1.5rem;
	line-height: 32px; /* 133.333% */
	margin-top: 26px;
}

.p-single-blog__content ul {
	margin-top: 28px;
	padding-left: 40px;
}

.p-single-blog__content-quote {
	margin-left: 40px;
	margin-top: 37px;
	padding: 14px 30px 31px;
	width: 646px;
}

.p-case-study {
	padding-top: 77px;
}

.p-page-case__menu-link {
	padding: 12px 0;
	width: 208px;
}

.p-cases1 {
	padding-top: 83px;
}

.p-cases__item {
	width: 510px;
}

.p-cases__item-box {
	padding: 40px 49px 37px 40px;
	width: 510px;
}

.p-cases__arrow {
	left: calc(50% + 128px);
}

.p-cases__arrow2 {
	left: calc(50% + 158px);
}

.p-case__button-box {
	font-size: 16px;
	max-width: 500px;
	padding: 25px 0;
	width: 20.9375rem;
}

.p-case__button-box2 {
	font-size: 16px;
	max-width: 500px;
	padding: 25px 0;
	width: 24.375rem;
}

.p-download__product {
	width: 510px;
}

.p-contact {
	width: 550px;
}

.p-thanks__box {
	height: 897px;
}

}

@media screen and (min-width: 1280px) and (min-width: 1280px) {

.p-service-overview__img img {
	height: 896px;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}


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