/* ==========================================================
# foundation
========================================================== */

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

/* reset css
----------------------------------------------- */

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

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

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
}

/* change colours to suit your needs */

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

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

/* change border colour to suit your needs */

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input,
select {
	vertical-align: middle;
}

img {
	vertical-align: bottom;
}

html,
body {
	font-size: 62.5%;
}

body {
	width: 100%;
}

* {
	box-sizing: border-box;
}

/* form */

body {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	color: #333;
}

.hidden {
	overflow: hidden;
}

.sp {
	display: none;
}

.tb {
	display: none;
}

.pc {
	display: block;
}

/* ==========================================================
# layout
========================================================== */

/* ==========================================================================
//
// お問い合わせ
//
========================================================================== */

.l-contact {
	padding-bottom: 8rem;
}

/* ==========================================================================
//
// フッター
//
========================================================================== */

.l-footer {
	padding-top: 6rem;
}

/* 会社情報ページ
---------------------------------------------------------- */

.page-id-24 .l-footer {
	margin-top: -2.5rem;
}

/* 採用LP
---------------------------------------------------------- */

.page-id-30 .l-footer {
	margin-top: -3rem;
}

.l-inner {
	max-width: 134.6rem;
	width: 100%;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	margin: 0 auto;
}

/* ==========================================================================
//
// トップページ 事業紹介
//
========================================================================== */

.l-top-business {
	padding-block: 2rem 8rem;
}

/* ==========================================================================
//
// トップページ 会社情報
//
========================================================================== */

.l-top-company {
	padding-block: 0 8rem;
}

/* ==========================================================================
//
// 導入
//
========================================================================== */

.l-top-intro {
	padding-block: 0 5rem;
}

/* ==========================================================================
//
// トップページ 採用情報
//
========================================================================== */

.l-top-recruit {
	padding-block: 6rem;
}

/* ==========================================================
# component
========================================================== */

/* ==========================================================================
//
// パンくずリスト
//
========================================================================== */

.c-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.2rem;
}

.c-breadcrumb__item {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333;
}

.c-breadcrumb__item a {
	color: #333;
}

.c-breadcrumb__item:not(:first-child)::before {
	content: "";
	width: 0.6rem;
	height: 0.6rem;
	flex-shrink: 0;
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	border-radius: 50%;
}

.c-breadcrumb__item:last-child {
	color: #323f7e;
}

/* ==========================================================================
//
// ボタン01 (ヘッダー)
//
========================================================================== */

.c-btn01 {
	padding: 2.1rem;
	width: 100%;
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
	color: #fff;
	background-color: #04459f;
	border: 1px solid #04459f;
	border-radius: 5rem;
}

/* ボタン01 緑
---------------------------------------------------------- */

.c-btn01--green {
	background-color: #039cbf;
	border: 1px solid #039cbf;
}

/* ==========================================================================
//
// ボタン02 (中ボタン)
//
========================================================================== */

.c-btn02 {
	padding: 1px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	border-radius: 10rem;
}

.c-btn02__inner {
	padding: 1.1rem 1.1rem 1.1rem 2.4rem;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #fff;
	background-color: transparent;
	border-radius: 10rem;
	transition: all 0.3s;
}

.c-btn02__arrow {
	width: 3rem;
	height: 3rem;
	flex-shrink: 0;
	position: relative;
	line-height: 1;
	background: #fff;
	border-radius: 50%;
	vertical-align: middle;
	transition: all 0.3s;
}

.c-btn02__arrow::before {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-40%, -50%) rotate(45deg);
	border: 1px solid #323f7e;
	border-left: 0;
	border-bottom: 0;
}

.c-btn02__arrow::after {
	content: "";
	width: 1.1rem;
	height: 1px;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #323f7e;
}

/* ボタン02 白
---------------------------------------------------------- */

.c-btn02--white {
	background: #fff;
}

.c-btn02--white .c-btn02__inner {
	color: #323f7e;
	background-color: #fff;
}

.c-btn02--white .c-btn02__arrow {
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
}

.c-btn02--white .c-btn02__arrow::before {
	border-color: #fff;
}

.c-btn02--white .c-btn02__arrow::after {
	background-color: #fff;
}

/* ==========================================================================
//
// ボタン02 (お問い合わせボタン)
//
========================================================================== */

.c-btn02--contact {
	padding: 0;
	border: 1px solid #fff;
	border-radius: 7rem;
}

.c-btn02--contact .c-btn02__inner {
	padding: 1.2rem 1.5rem 1.2rem 3rem;
	font-size: 1.8rem;
	letter-spacing: 0.03em;
	border-radius: 7rem;
}

.c-btn02--contact .c-btn02__arrow {
	width: 3.6rem;
	height: 3.6rem;
}

.c-btn02--contact .c-btn02__arrow::before {
	border: 1px solid #323f7e;
	border-left: 0;
	border-bottom: 0;
}

/* ボタン02 (お問い合わせボタン) 白
---------------------------------------------------------- */

.c-btn02--white.c-btn02--contact {
	border: 1px solid #323f7e;
}

.c-btn02--white.c-btn02--contact .c-btn02__arrow::before {
	border-color: #fff;
}

/* ==========================================================================
//
// ボタン03 (小ボタン)
//
========================================================================== */

.c-btn03 {
	padding: 1.1rem 1.3rem 1.1rem 2.3rem;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #fff;
	background-color: transparent;
	border: 1px solid #fff;
	border-radius: 10rem;
}

.c-btn03__arrow {
	width: 3rem;
	height: 3rem;
	flex-shrink: 0;
	position: relative;
	line-height: 1;
	background: #fff;
	border-radius: 50%;
	vertical-align: middle;
	transition: all 0.3s;
}

.c-btn03__arrow::before {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-40%, -50%) rotate(45deg);
	border: 1px solid #323f7e;
	border-left: 0;
	border-bottom: 0;
}

.c-btn03__arrow::after {
	content: "";
	width: 1.1rem;
	height: 1px;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #323f7e;
}

/* ==========================================================================
//
// ボタン04 (インスタグラム)
//
========================================================================== */

.c-btn04 {
	padding: 1px;
	width: 100%;
	display: block;
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	border-radius: 5rem;
}

.c-btn04__inner {
	padding: 1.5rem 1rem;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
	color: #fff;
	background-color: transparent;
	border-radius: 5rem;
	transition: all 0.3s;
}

/* ==========================================================================
//
// カード01
//
========================================================================== */

.c-card01 {
	padding-bottom: 4rem;
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	border-bottom: 1px solid #dddddd;
}

.c-card01__content {
	width: 100%;
}

.c-card01__title {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.c-card01__title::before {
	content: "";
	width: 5rem;
	height: 5rem;
	flex-shrink: 0;
}

.c-card01__title span {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.c-card01__text {
	margin-top: 1.6rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.c-card01__image {
	width: 100%;
}

.c-card01__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 320/226;
	border-radius: 1rem;
}

/* ==========================================================================
//
// カード02
//
========================================================================== */

.c-card02 {
	padding: 3rem 2rem;
	background-color: #fff;
	border-radius: 1.6rem;
	box-shadow: 0px 0px 2rem 0px rgba(87, 151, 171, 0.3);
}

.c-card02__head {
	padding-bottom: 1.6rem;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	border-bottom: 1px solid #dddddd;
}

.c-card02__image {
	width: 9rem;
}

.c-card02__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 110/110;
	border-radius: 50%;
}

.c-card02__head-content {
	width: 60.5263157895%;
}

.c-card02__name {
	display: flex;
	flex-flow: column;
	gap: .5rem;
	font-family: "Montserrat", sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #048ef1;
}

.c-card02__name span {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	color: #333;
}

.c-card02__position {
	margin-top: 1rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
}

.c-card02__job {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
}

.c-card02__content {
	padding-top: 1.6rem;
}

.c-card02__text {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
}

.c-card02__tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 1rem;
}

.c-card02__tag {
  background-color: #04459F;
  color: #ffffff;
  font-size: 1.1rem;
	font-weight: 400;
  padding: .5rem 1.2rem;
  border-radius: 100px;
}

.c-card02__title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.45;
  margin-bottom: 1rem;
}

.c-card02__text {
  font-size: 1.6rem;
	font-weight: 400;
  line-height: 1.6;
  margin-bottom: 1.8rem;
}

.c-card02__box-wrap {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 8px;
  margin-bottom: 1.5rem;
}

.c-card02__box {
  border: 1.5px dashed rgba(4, 69, 159, 0.4);
  border-radius: 12px;
  padding: 1rem 1.5rem;
}

[class^="c-card02__box__title--"] {
  color: #04459F;
  font-weight: 700;
  font-size: 1.4rem;
  margin-bottom: .5rem;
  display: flex;
  align-items: center;
  gap: 4px;
}

[class^="c-card02__box__title--"]::before {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.c-card02__box__title--01::before { background-image: url("../img/icon_recruit_member_01.svg"); }
.c-card02__box__title--02::before { background-image: url("../img/icon_recruit_member_02.svg"); }
.c-card02__box__title--03::before { background-image: url("../img/icon_recruit_member_03.svg"); }
.c-card02__box__title--04::before { background-image: url("../img/icon_recruit_member_04.svg"); }
.c-card02__box__title--05::before { background-image: url("../img/icon_recruit_member_05.svg"); }
.c-card02__box__title--06::before { background-image: url("../img/icon_recruit_member_06.svg"); }

.c-card02__box__text {
  font-size: 1.4rem;
	font-weight: 400;
  line-height: 1.4;
}

.c-card02__box02 {
  background-color: #EBF3F6;
  border-radius: 12px;
  padding: 2rem 1.5rem;
}

.c-card02__box02__title {
  color: #04459F;
  font-weight: 700;
  font-size: 1.4rem;
  margin-bottom: .8rem;
}

.c-card02__box02__text {
  font-size: 1.4rem;
	font-weight: 400;
  line-height: 1.6;
}

/* ==========================================================================
//
// お問い合わせフロー
//
========================================================================== */

.c-contact-flow {
	width: fit-content;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	gap: 2rem;
}

.c-contact-flow::before {
	content: "";
	width: 100%;
	height: 1px;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: repeating-linear-gradient(90deg, #1a5eb7 0px, #048ef1 0.6rem, transparent 0.6rem, transparent 1.2rem);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 100% 0.2rem;
}

.c-contact-flow-item {
	width: 7.5rem;
	height: 7.5rem;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	border-radius: 50%;
}

.c-contact-flow-item::before {
	content: "";
	width: 98%;
	height: 98%;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	border-radius: 50%;
}

.c-contact-flow-number {
	position: relative;
	z-index: 1;
	font-family: "Montserrat", sans-serif;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	-webkit-background-clip: text; /* テキストで切り抜く */
	-webkit-text-fill-color: transparent; /* 切り抜いた部分は背景を表示 */
}

.c-contact-flow-text {
	padding-bottom: 0.5rem;
	position: relative;
	z-index: 1;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	-webkit-background-clip: text; /* テキストで切り抜く */
	-webkit-text-fill-color: transparent; /* 切り抜いた部分は背景を表示 */
}

.c-contact-flow-item.current::before {
	content: none;
}

.c-contact-flow-item.current .c-contact-flow-number,
.c-contact-flow-item.current .c-contact-flow-text {
	-webkit-text-fill-color: #fff;
}

/* エントリー
---------------------------------------------------------- */

.p-contact--entry .c-contact-flow::before {
	background: repeating-linear-gradient(90deg, #04459f 0px, #04459f 0.6rem, transparent 0.6rem, transparent 1.2rem);
}

.p-contact--entry .c-contact-flow-item {
	background: #04459f;
}

.p-contact--entry .c-contact-flow-number {
	background: #04459f;
	-webkit-background-clip: text; /* テキストで切り抜く */
	-webkit-text-fill-color: transparent; /* 切り抜いた部分は背景を表示 */
}

.p-contact--entry .c-contact-flow-text {
	background: #04459f;
	-webkit-background-clip: text; /* テキストで切り抜く */
	-webkit-text-fill-color: transparent; /* 切り抜いた部分は背景を表示 */
}

/* ==========================================================================
//
// お電話でのお問い合わせ
//
========================================================================== */

.c-contact-tel {
	padding: 2rem 2.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	background-color: #f7f7f7;
	border-radius: 1rem;
}

.c-contact-tel__head-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.c-contact-tel__head-title::before {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	flex-shrink: 0;
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	border-radius: 50%;
}

.c-contact-tel__head-text {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	text-align: center;
}

.c-contact-tel__head-text span {
	display: none;
}

.c-contact-tel__content a {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 1rem;
	font-family: "Roboto", sans-serif;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #323f7e;
}

.c-contact-tel__content a::before {
	content: "";
	width: 2.374rem;
	height: 2.374rem;
	flex-shrink: 0;
	background: url("../img/icon_tel_01.png") no-repeat center center/contain;
}

/* ==========================================================================
//
// CTA
//
========================================================================== */

.c-cta {
	padding-block: 6rem;
	background-color: #ebf3f6;
}

/* TOPページ CTA
---------------------------------------------------------- */

.home .c-cta {
	margin-top: -3rem;
}

.home .c-cta {
	padding-block: 8rem 6rem;
}

/* 会社情報ページ CTA
---------------------------------------------------------- */

.page-id-24 .c-cta {
	padding-bottom: 8rem;
}

/* 採用LP CTA
---------------------------------------------------------- */

.page-id-30 .c-cta {
	position: relative;
}

.c-cta__inner {
	max-width: 145rem;
}

.c-cta__wrapper {
	padding: 4rem 2rem 4.5rem;
	background-color: #fff;
	border-radius: 1rem;
	box-shadow: 0px 0px 3rem 0px rgba(87, 151, 171, 0.3);
}

.c-cta__head {
	display: flex;
	flex-direction: column;
}

.c-cta__text {
	margin-top: 2rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.c-cta__content {
	margin-top: 4rem;
}

.c-cta__list {
	display: grid;
	gap: 3rem;
}

.c-cta__item:nth-child(2) {
	padding-bottom: 3rem;
	border-bottom: 1px solid #dddddd;
}

.c-cta__item-title {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1;
}

.c-cta__item-title::before {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	flex-shrink: 0;
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	border-radius: 50%;
}

.c-cta__item-btn {
	width: 100%;
	max-width: 37.6rem;
	margin-top: 1.6rem;
}

.c-cta__item-tel {
	margin-top: 1.6rem;
}

.c-cta__item-tel a {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-family: "Roboto", sans-serif;
	font-size: 3.5rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #323f7e;
}

.c-cta__item-tel a::before {
	content: "";
	width: 2.374rem;
	height: 2.374rem;
	flex-shrink: 0;
	background: url("../img/icon_tel_01.png") no-repeat center center/contain;
}

.c-cta__item-text {
	margin-top: 1rem;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
}

/* ==========================================================================
//
// Instagram(ページ共通)
//
========================================================================== */

.c-instagram {
	padding-block: 6rem;
	background-color: #fff;
}

.c-instagram__inner {
	display: flex;
	flex-direction: column;
}

.c-instagram__head {
	display: contents;
}

.c-instagram__title {
	order: 1;
}

.c-instagram__btn {
	margin-inline: auto;
	width: 18.9rem;
	order: 3;
}

.c-instagram__content {
	order: 2;
}

/* 宮古イノベーション
---------------------------------------------------------- */

.page-id-20 .c-instagram {
	padding-top: 0;
}

.page-id-20 .c-instagram__content {
  position: relative;
	margin-top: 5rem;
}

.page-id-20 .c-instagram-swiper {
  overflow: hidden;
	padding: 0 30px;
  margin: 0 -30px;
}

.page-id-20 .c-instagram-swiper .swiper-slide {
  height: auto;
}

.page-id-20 .c-instagram-card {
  display: block;
  overflow: hidden;
  border-radius: 1.6rem;
  text-decoration: none;
}

.page-id-20 .c-instagram-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 303 / 303;
  object-fit: cover;
  transition: transform 0.3s;
}

.page-id-20 .c-instagram-card:hover img {
  transform: scale(1.04);
}

.page-id-20 .c-instagram-swiper__pagination {
  bottom: 0 !important;
}

.page-id-20 .c-instagram-swiper__prev,
.page-id-20 .c-instagram-swiper__next {
  width: 5rem;
  height: 5rem;
  margin-top: -2rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.12);
}

.page-id-20 .c-instagram-swiper__prev::after,
.page-id-20 .c-instagram-swiper__next::after {
  font-size: 2rem;
  color: #323F7E;
  font-weight: bold;
}

.page-id-20 .c-instagram-swiper__prev {
  left: 10px;
}

.page-id-20 .c-instagram-swiper__next {
  right: 10px;
}

@media screen and (max-width: 767px) {
  .page-id-20 .c-instagram-swiper {
    padding: 0 15px;
		margin: 0 -15px;
  }

	.page-id-20 .c-instagram-swiper__prev {
		left: 5px;
	}

	.page-id-20 .c-instagram-swiper__next {
		right: 5px;
	}
}

/* ==========================================================================
//
// 採用タイトル
//
========================================================================== */

.c-recruit-title01 {
	display: flex;
	flex-direction: column;
}

.c-recruit-title01--center {
	align-items: center;
}

.c-recruit-title01::before {
	content: attr(data-en);
	margin-bottom: 1rem;
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 3.6rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #04459f;
	text-transform: uppercase;
}

.c-recruit-title01 span {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.03em;
}

.c-recruit-title01 span::before {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	flex-shrink: 0;
	background-color: #048ef1;
	border-radius: 50%;
}

/* ==========================================================================
//
// タイトル01
//
========================================================================== */

.c-title01 {
	display: flex;
	align-items: flex-start;
	gap: 0.8rem;
}

.c-title01::before {
	content: "";
	width: 1.7rem;
	height: 3rem;
	flex-shrink: 0;
	background: url("../img/icon_title_01.png") no-repeat center center/contain;
}

.c-title01 span {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
}

.c-title01 span::before {
	content: attr(data-en);
	margin-left: -0.5rem;
	margin-bottom: 0.5rem;
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 3.6rem;
	font-weight: 500;
	line-height: 1;
	text-transform: capitalize;
}

/* 下層ページタイトル
---------------------------------------------------------- */

.c-title01--page::before {
	width: 2.6rem;
	height: 3.6rem;
}

.c-title01--page span {
	font-size: 1.6rem;
}

.c-title01--page span::before {
	font-size: 3.2rem;
}

/* MVタイトル
---------------------------------------------------------- */

.c-title01--mv::before {
	width: 2.3rem;
	height: 3.9rem;
}

.c-title01--mv span {
	font-size: 1.6rem;
}

.c-title01--mv span::before {
	font-size: 4.2rem;
}

/* ==========================================================
# project
========================================================== */

/* ==========================================================================
//
// 沿革
//
========================================================================== */

.p-company-history__wrapper {
	display: flex;
	flex-direction: column;
}

.p-company-history__list {
	margin-top: 4rem;
}

.p-company-history__item {
	display: grid;
	align-items: flex-start;
	grid-template-columns: 10rem 1fr;
	position: relative;
}

.p-company-history__item:not(:last-child) {
	padding-bottom: 2.8rem;
}

.p-company-history__item:not(:last-child)::before {
	content: "";
	width: 1px;
	height: 100%;
	display: block;
	position: absolute;
	top: 1.5rem;
	left: 31%;
	background: repeating-linear-gradient(180deg, #1a5eb7 0px, #048ef1 0.6rem, transparent 0.6rem, transparent 1.2rem);
	background-position: right top;
	background-repeat: repeat-y;
	background-size: 0.2rem 100%;
}

.p-company-history__year {
	width: fit-content;
	font-family: "Inter", sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: 0.03em;
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	-webkit-background-clip: text; /* テキストで切り抜く */
	-webkit-text-fill-color: transparent; /* 切り抜いた部分は背景を表示 */
}

.p-company-history__text {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.p-company-history__text span {
	content: "";
	width: 1.6rem;
	height: 1.6rem;
	flex-shrink: 0;
	position: relative;
	background-color: #cbdeea;
	border-radius: 50%;
	transform: translateY(0.3rem);
}

.p-company-history__text span::before {
	content: "";
	width: 0.914rem;
	height: 0.914rem;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	border-radius: 50%;
}

/* ==========================================================================
//
// メンバー紹介
//
========================================================================== */

.p-company-member {
  background-color: #ebf3f6;
}

.p-company-member__list {
  margin-top: 4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.p-company-member__item {
  width: 100%;
}

/* カード */
.c-member-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2rem;
  width: 100%;
  min-height: auto;
  padding: 2rem;
  border: none;
  border-radius: 2rem;
  background: #fff;
  box-shadow: 0px 0px 3rem 0px rgba(87, 151, 171, 0.3);
  text-align: left;
  cursor: pointer;
  transition: all 0.3s ease;
}

.c-member-card__image {
  flex: 0 0 8.8rem;
  width: 8.8rem;
  height: 8.8rem;
  border-radius: 50%;
  overflow: hidden;
  background: #f2f2f2;
}

.c-member-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.c-member-card__content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.c-member-card__position {
  margin: 0 0 .8rem;
  color: #048EF1;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
}

.c-member-card__name {
  margin: 0;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
}

.c-member-card__name-en {
  margin: .4rem 0 0;
  color: #999;
  font-family: "Montserrat", sans-serif;
  font-size: 1.4rem;
  line-height: 1.3;
}

.c-member-card__more {
  margin-top: 1.5rem;
  align-self: flex-end;
  display: flex;
  align-items: center;
  gap: .8rem;
  color: #04459F;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
}

.c-member-card__plus {
  display: inline-grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #1A5EB7, #048EF1);
  color: #fff;
  font-size: 1.3rem;
}

/* モーダル */
body.is-fixed {
  overflow: hidden;
}

.c-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.c-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.c-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.c-modal.is-open .c-modal__overlay {
  opacity: 1;
}

.c-modal__content {
  position: relative;
  width: calc(100% - 20px);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  margin: 10px auto;
  padding: 40px 20px 24px;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 1.6rem 3.6rem rgba(38, 79, 135, 0.16);
  z-index: 10001;
  opacity: 0;
  transform: translateY(2rem) scale(0.96);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.c-modal.is-open .c-modal__content {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.c-modal__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 4rem;
  height: 4rem;
  border: none;
  background: transparent;
  cursor: pointer;
  z-index: 10002;
}
@media screen and (min-width: 768px) {
	.c-modal__close {
	top: 2rem;
	right: 2rem;
	width: 4rem;
	height: 4rem;
	}
}


.c-modal__close::before,
.c-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.8rem;
  height: .2rem;
  background: #04459F;
  transform-origin: center;
}

.c-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.c-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.c-modal__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-bottom: 2.5rem;
  text-align: center;
}

.c-modal__image {
  flex: 0 0 9.6rem;
  width: 9.6rem;
  height: 9.6rem;
  border-radius: 50%;
  overflow: hidden;
  background: #f2f2f2;
}

.c-modal__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.c-modal__position {
  margin: 0 0 .8rem;
  color: #048EF1;
  font-size: 1.6rem;
  font-weight: 500;
}

.c-modal__name {
  margin: 0;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
}

.c-modal__name-en {
  margin: .6rem 0 0;
  color: #999;
  font-family: "Montserrat", sans-serif;
  font-size: 1.4rem;
}

.c-modal__section {
  margin-bottom: 1.2rem;
}

.c-modal__section-title {
  position: relative;
  margin: 0 0 1.2rem;
  padding-left: 1.5rem;
  font-size: 1.6rem;
  font-weight: 700;
}

.c-modal__section-title::before {
  position: absolute;
  top: .5rem;
  left: 0;
  width: .8rem;
  height: .8rem;
  background-color: #048EF1;
  border-radius: 50%;
  content: "";
}

.c-modal__section-text {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
}

.c-modal-box {
  display: grid;
  grid-template-columns: 2rem 1fr;
  align-items: center;
  column-gap: .5rem;
  margin-top: 1rem;
  padding: 1rem 1.5rem;
  border: 1px dashed rgba(4, 69, 159, 0.4);
  border-radius: 12px;
}

.c-modal-box__image {
  grid-column: 1;
  width: 2rem;
}

.c-modal-box__image img {
  width: 100%;
  display: block;
}

.c-modal-box__content {
  display: contents;
}

.c-modal-box__title {
  grid-column: 2;
  margin-bottom: 0;
  color: #04459F;
  font-size: 1.4rem;
  font-weight: 700;
}

.c-modal-box__text {
  grid-column: 1 / -1;
  margin-top: .5rem;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 400;
}

/* ==========================================================================
//
// 代表挨拶
//
========================================================================== */

.p-company-message {
	padding-bottom: 6rem;
}

.p-company-message__image {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.p-company-message__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 375/203;
}

.p-company-message__wrapper {
	margin-top: 3rem;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.p-company-message__content {
	width: 100%;
}

.p-company-message__catch {
	font-family: "Montserrat", sans-serif;
	font-size: 3.8rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #323f7e;
}

.p-company-message__sub-catch {
	margin-block: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.p-company-message__text {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.p-company-message__text + p:not(.p-company-message__name) {
	margin-top: 1.6rem;
}

.p-company-message__list {
	margin-block: 2rem;
	display: grid;
	gap: 0.8rem;
}

.p-company-message__item {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.p-company-message__item::before {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	flex-shrink: 0;
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	border-radius: 50%;
}

.p-company-message__name {
	margin-top: 3.2rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: right;
}

.p-company-message__name-image {
	margin-top: 1.6rem;
	width: 12.6rem;
	margin-left: auto;
}

.p-company-message__name-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 150/33;
}

/* ==========================================================================
//
// 会社概要
//
========================================================================== */

.p-company-overview {
	background-color: #ebf3f6;
	border-radius: 3rem;
}

.p-company-overview__wrapper {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.p-company-overview__item {
	display: grid;
	position: relative;
}

.p-company-overview__item::after {
	content: "";
	width: 100%;
	height: 0.2rem;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(to right, #04459f 0% 18%, #dddddd 18% 100%);
}

.p-company-overview__item dt {
	padding: 2rem 1.2rem 0.5rem 1.2rem;
	display: flex;
	align-items: center;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
}

.p-company-overview__item dd {
	padding: 0.5rem 1.2rem 2rem 1.2rem;
}

.p-company-overview__text {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.p-company-overview__map {
	margin-top: 2rem;
	width: 100%;
}

.p-company-overview__map iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 634/448;
}

.p-company-overview__text-list {
	display: grid;
	gap: 0.4rem;
}

.p-company-overview__text-item {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.p-company-overview__text-item::before {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	flex-shrink: 0;
	background-color: #039cbf;
	border-radius: 50%;
	transform: translateY(-0.2rem);
}

.p-company-overview__image {
	margin-top: 2rem;
	width: 15rem;
}

.p-company-overview__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 151/116;
}

/* アクセス
---------------------------------------------------------- */

.p-company-overview__item--access dt {
	align-items: flex-start;
}

/* 事業許可等
---------------------------------------------------------- */

/* 銀行
---------------------------------------------------------- */

/* ボタン
---------------------------------------------------------- */

.p-company-overview__btn {
	margin: 4rem auto 0;
	width: 29rem;
}

/* ==========================================================================
//
// 会社情報
//
========================================================================== */

.p-company__link {
	padding-bottom: 6rem;
}

.p-company__link-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.6rem 2rem;
}

.p-company__link-item a {
	padding-bottom: 1.6rem;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	border-bottom: 1px solid #d9d9d9;
}

.p-company__link-item a span:not(.p-company__link-arrow) {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333;
}

.p-company__link-arrow {
	width: 2rem;
	height: 2rem;
	flex-shrink: 0;
	position: relative;
	line-height: 1;
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	border: 1px solid #fff;
	border-radius: 50%;
	vertical-align: middle;
	transition: all 0.3s;
}

.p-company__link-arrow::before {
	content: "";
	width: 0.4rem;
	height: 0.4rem;
	position: absolute;
	top: 60%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(135deg);
	border: 1px solid #fff;
	border-left: 0;
	border-bottom: 0;
}

.p-company__link-arrow::after {
	content: "";
	width: 1px;
	height: 0.7rem;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #fff;
}

/* 会社概要
---------------------------------------------------------- */

.p-company__overview {
	padding-block: 6rem;
}

/* 沿革
---------------------------------------------------------- */

.p-company__history {
	padding-block: 6rem;
}

/* メンバー紹介
---------------------------------------------------------- */

.p-company__member {
	padding-block: 5rem 6rem;
}

/* ==========================================================================
//
// 画像 スライダー
//
========================================================================== */

.p-company__slide {
	display: flex;
	overflow: hidden;
}

.p-company-slide__list {
	display: flex;
	animation: scroll-left 20s infinite linear 0.5s both;
}

.p-company-slide__item {
	width: 43.4782608696vw;
}

.p-company-slide__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 320/320;
}

/* ==========================================================================
//
// SES事業
//
========================================================================== */

.p-consultant__head-image {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.p-consultant__head-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 21%;
	aspect-ratio: 375/203;
}

.p-consultant__head-text {
	margin-top: 3rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.p-consultant__head-text + p {
	margin-top: 1.6rem;
}

/* 強み
---------------------------------------------------------- */

.p-consultant__strength {
	padding-block: 5rem 2rem;
}

.p-consultant__strength-wrapper {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.p-consultant__strength-list {
	display: grid;
	gap: 4rem;
}

.p-consultant__strength-item:last-child {
	border-bottom: none;
}

.p-consultant__strength-item:first-child .c-card01__title::before {
	background: url("../img/icon_consultant_card_01.png") no-repeat center center/contain;
}

.p-consultant__strength-item:nth-child(2) .c-card01__title::before {
	background: url("../img/icon_consultant_card_02.png") no-repeat center center/contain;
}

.p-consultant__strength-item:nth-child(3) .c-card01__title::before {
	background: url("../img/icon_consultant_card_03.png") no-repeat center center/contain;
}

/* 取引実績
---------------------------------------------------------- */

.p-consultant__clients {
	padding-bottom: 5rem;
}

.p-consultant__clients-container {
	padding: 4rem 2rem;
	background-color: #f8f8f8;
	border-radius: 1rem;
}

.p-consultant__clients-wrapper {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.p-consultant__clients-title.c-title01--page {
	margin-top: 0;
}

.p-consultant__clients-content {
	width: 100%;
}

.p-consultant__clients-list {
	display: grid;
	gap: 1.6rem;
}

.p-consultant__clients-item {
	display: flex;
	align-items: baseline;
	gap: 0.55rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.05em;
}

.p-consultant__clients-item::before {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	flex-shrink: 0;
	transform: translateY(-0.2rem);
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	border-radius: 50%;
}

.p-consultant__clients-text {
	margin-top: 1rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
	text-align: right;
}

/* ==========================================================================
//
// お問い合わせ
//
========================================================================== */

textarea {
	resize: none;
}

input,
select,
textarea {
	cursor: pointer;
}

::placeholder {
	color: #bbbbbb;
}

:-ms-input-placeholder { /* Internet Explorer 10〜11用 */
	color: #bbbbbb;
}

::-ms-input-placeholder { /* Microsoft Edge用 */
	color: #bbbbbb;
}

.p-contact__form-answer-select .p-contact__form-answer {
	color: #bbbbbb;
}

.p-contact__text {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.p-contact__tel-wrapper {
	margin: 2rem auto 0;
}

.p-contact__flow {
	margin: 4.8rem auto 0;
}

/* フォーム
---------------------------------------------------------- */

.p-contact__form {
	padding-top: 4.8rem;
}

.p-contact__form-item {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-contact__form-item + .p-contact__form-item {
	margin-top: 2rem;
}

.p-contact__form-label {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
}

.p-contact__form-label::before {
	padding: 0.3rem 0.6rem 0.4rem 0.6rem;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.05em;
	text-align: center;
	border: 1px solid #323f7e;
	border-radius: 0.3rem;
}

.p-contact__form-label.required::before {
	content: "必須";
	color: #fff;
	background-color: #323f7e;
}

.p-contact__form-label.optional::before {
	content: "任意";
	color: #323f7e;
	background-color: #fff;
}

.p-contact__form-answer-wrapper span:not(.wpcf7-not-valid-tip) {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
	color: #333;
}

.p-contact__form-answer-wrapper textarea {
	height: 36rem;
}

.p-contact__form-answer {
	padding: 0.5rem 1.5rem;
	width: 100%;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
	color: #333;
	background-color: #fff;
	border: 1px solid #bbbbbb;
	border-radius: 0.5rem;
}

.p-contact__form-item-text {
	margin-top: 4rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.p-contact__form-item-text a {
	color: #323f7e;
	position: relative;
}

.p-contact__form-item-text a::before {
	content: "";
	width: 100%;
	height: 1px;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #323f7e;
}

.p-contact__form-item--confirm {
	margin-top: 2rem;
	flex-direction: row;
	justify-content: center;
	gap: 0.5rem;
}

.p-contact__form-item--confirm .p-contact__form-label {
	width: unset;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
	cursor: pointer;
}

.p-contact__form-answer-confirm {
	appearance: none;
	width: 1.8rem;
	height: 1.8rem;
	position: relative;
	background-color: #fff;
	border: 1px solid #bbbbbb;
	border-radius: 0.2rem;
}

.p-contact__form-answer-confirm::after {
	content: "";
	width: 1.2rem;
	height: 0.6rem;
	position: absolute;
	top: 0.1rem;
	left: 0.1rem;
	border-bottom: 2px solid #323f7e;
	border-left: 2px solid #323f7e;
	transform: rotate(-45deg);
	opacity: 0;
	transition: all 0.3s;
}

.p-contact__form-answer-confirm:checked::after {
	opacity: 1;
}

.p-contact__form-btn-wrapper {
	margin: 1rem;
}

.p-contact__form-btn {
	margin: 2rem auto 0;
	width: 22.2rem;
}

.p-contact__form-btn .c-btn02__inner {
	padding: 0;
	justify-content: flex-start;
	position: relative;
}

.p-contact__form-btn input {
	padding: 1.6rem 1.1rem 1.6rem 2.4rem;
	width: 100%;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: left;
	color: #fff;
	background-color: transparent;
	border: none;
}

.p-contact__form-btn input:disabled {
	cursor: not-allowed;
}

.p-contact__form-btn .c-btn02__arrow {
	position: absolute;
	top: 50%;
	right: 1.2rem;
	transform: translateY(-50%);
	pointer-events: none;
}

.p-contact__thanks-btn {
	margin: 4rem auto 0;
}

/* ==========================================================================
//
// 採用エントリー
//
========================================================================== */

.p-contact--entry {
	position: relative;
}

.p-contact--entry::before {
	content: "";
	width: 100%;
	height: 49.9rem;
	display: block;
	position: absolute;
	bottom: -5rem;
	left: 0;
	z-index: -1;
}

.webp .p-contact--entry.lazyloaded::before {
	background: url("../img/bg_entry.webp") no-repeat top left/cover;
}

.no-webp .p-contact--entry.lazyloaded::before {
	background: url("../img/bg_entry.png") no-repeat center left/cover;
}

.p-contact__form-answer-wrapper-select {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	position: relative;
}

.p-contact__form-answer-select {
	position: relative;
}

.p-contact__form-answer-select::before {
	content: "";
	width: 0.6rem;
	height: 0.6rem;
	position: absolute;
	top: 50%;
	right: 1.3rem;
	z-index: 10;
	transform: translateY(-50%) rotate(135deg);
	border-top: 2px solid #04459f;
	border-right: 2px solid #04459f;
	pointer-events: none;
}

.p-contact__form--confirm .p-contact__form-answer-select::before {
	content: none;
}

.p-contact__form-answer-wrapper select {
	-webkit-appearance: none;
	appearance: none; /* デフォルトの矢印を非表示 */
}

.p-contact__form-item--birthday .p-contact__form-answer-wrapper {
	display: flex;
	gap: 2rem;
}

.p-contact__form-item--birthday .p-contact__form-answer-select {
	width: 7.5rem;
}

.p-contact__form-answer-wrapper--radio {
	display: flex;
	align-items: center;
	gap: 2.4rem;
}

.p-contact__form-answer-wrapper--radio label {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.p-contact__form-answer-wrapper--radio input {
	margin: 0;
	width: 1.8rem;
	height: 1.8rem;
	position: relative;
	appearance: none;
	background-color: #fff;
	border: 1px solid #bbbbbb;
	border-radius: 50%;
}

.p-contact__form-answer-wrapper--radio input::before {
	content: "";
	width: 1rem;
	height: 1rem;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #04459f;
	border-radius: 50%;
	opacity: 0;
	transition: all 0.3s;
}

.p-contact__form-answer-wrapper--radio input:checked::before {
	opacity: 1; /* 要素を表示する */
}

.p-contact__form-answer-wrapper--radio .wpcf7-list-item {
	margin: 0;
}

.p-contact__form-answer-radio {
	display: flex;
	align-items: center;
	gap: 2.4rem;
}

.p-contact__form-answer-wrapper-row {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.p-contact__form-answer-wrapper-row + .p-contact__form-answer-wrapper-row {
	margin-top: 1rem;
}

.p-contact__form-answer-wrapper-container {
	display: flex;
	align-items: center;
	gap: 2.5rem;
	position: relative;
}

.p-contact__form-answer-wrapper-container .p-contact__form-answer {
	width: 8.2rem;
}

.p-contact__form-answer-wrapper-container::before {
	content: "";
	width: 1rem;
	height: 1px;
	display: block;
	position: absolute;
	top: 50%;
	left: 27%;
	transform: translateY(-50%);
	background-color: #333;
}

.p-contact__form--confirm .p-contact__form-answer-wrapper-container::before {
	left: 10%;
}

.p-contact__form-item--address .p-contact__form-answer-select {
	width: 18rem;
}

.p-contact__form-answer-wrapper-btn button {
	margin-left: -1rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #04459f;
	background-color: transparent;
	border: none;
}

#entry-your-file.p-contact__form-answer {
  display: none;
}

.p-contact__form-file-upload-area {
  display: block;
  border: 1px dashed #bbb;
  border-radius: 0.5rem;
  padding: 2.5rem 1.5rem;
  text-align: center;
  background-color: #F7F7F7;
  cursor: pointer;
  transition: background-color 0.3s;
}

.p-contact__form-file-upload-area:hover {
  background-color: #f0f4f9;
  border-color: #04459F;
}

.p-contact__form-file-upload-content {
  display: block;
  text-align: center;
}

.p-contact__form-icon-upload {
  display: block;
  margin: 0 auto;
  background: url("../img/icon_upload.svg") no-repeat center;
  background-size: contain;
  width: 3.4rem;
  height: 3.4rem;
}

.p-contact__form-upload-text {
  display: inline;
  color: #9C9C9C !important;
  font-size: 1.4rem !important;
}

.p-contact__form-upload-button-fake {
  display: inline-block;
  margin-left: 8px;
  vertical-align: middle;
  background-color: #04459F;
  color: #fff !important;
  padding: 3px 10px;
  border-radius: 4px;
	font-size: 1.2rem !important;
  font-weight: bold;
}

/* ==========================================================================
//
// フッター
//
========================================================================== */

.p-footer {
	background-color: #04459f;
	border-radius: 3rem 3rem 0 0;
}

.p-footer__inner.l-inner {
	padding-inline: 3rem;
}

.p-footer__wrapper {
	padding-bottom: 6rem;
	display: flex;
	flex-direction: column;
	gap: 5rem;
}

.p-footer__logo {
	width: 17.5rem;
}

.p-footer__logo a {
	width: 100%;
	display: block;
}

.p-footer__logo a img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 175/23;
}

.p-footer__info {
	margin-top: 3rem;
}

.p-footer__info__text {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
	color: #fff;
}

.p-footer__sns {
	margin-top: 3rem;
}

.p-footer__sns-list {
	display: flex;
	align-items: center;
	gap: 2rem;
}

.p-footer__sns-item {
	width: 4rem;
}

.p-footer__sns-item a {
	display: block;
	width: 100%;
}

.p-footer__sns-item a img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 40/40;
}

.p-footer__nav-list {
	display: grid;
	gap: 2.4rem;
}

.p-footer__nav-item a {
	display: block;
	width: 100%;
	font-family: "Montserrat", sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1;
	text-transform: capitalize;
	color: #fff;
}

.p-footer__nav-sub-list {
	margin-top: 1rem;
}

.p-footer__nav-sub-item a {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.3;
	letter-spacing: 0.05em;
	color: #dddddd;
}

.p-footer__bottom {
	padding: 2rem;
	border-top: 1px solid #dddddd;
}

.p-footer__bottom small {
	display: block;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1;
	color: #fff;
	text-align: center;
}

/* 採用LP
---------------------------------------------------------- */

.page-id-30 .p-footer {
	position: relative;
	z-index: 10;
}

.page-id-30 .p-footer__nav {
	display: none;
}

.page-id-30 .p-footer__bottom {
	padding-block: 3rem;
	padding-inline: initial;
}

.page-id-30 .p-footer__bottom-inner {
	display: flex;
	flex-direction: column-reverse;
	gap: 3rem;
}

.p-footer__bottom-nav {
	display: none;
}

.page-id-30 .p-footer__bottom-nav {
	display: block;
}

.page-id-30 .p-footer__bottom-nav-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.page-id-30 .p-footer__bottom-nav-item a {
	width: 100%;
	display: block;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1;
	color: #fff;
}

/* ==========================================================================
//
// FV
//
========================================================================== */

.p-fv {
	height: 61rem;
	position: relative;
	overflow: hidden;
}

.p-fv__video {
	position: relative;
}

.p-fv__video:not(.p-fv__video-center)::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: radial-gradient(50% 90.86% at 50% 50%, rgba(255, 255, 255, 0) 0%, #ffffff 100%);
}

/* 共通 */

.p-fv__video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 動画① */

.p-fv__video-first {
	position: absolute;
	inset: 0;
	z-index: 1;
	transition: opacity 1.2s;
}

/* 動画② */

.p-fv__second {
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	z-index: 2;
	opacity: 0;
	transition: opacity 1.2s;
}

/* 表示切替 */

.is-show-second .p-fv__video-first {
	opacity: 0;
}

.is-show-second .p-fv__second {
	opacity: 1;
}

.p-fv__video-bg {
	width: 100%;
	height: 100%;
}

/* 中央動画 */

.p-fv__video-center {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(1.1);
	z-index: 3;
	mix-blend-mode: multiply;
}

.p-fv__video-center video {
	aspect-ratio: 290/290;
	object-position: 97%;
}

/* 背景画像 */

.p-fv__overlay-bg {
	width: 15rem;
	height: 13rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	background: url("../img/bg_fv_01.png") no-repeat center center/contain;
	opacity: 0;
	transition: opacity 1s;
}

/* テキスト */

.p-fv__text {
	width: 100%;
	position: absolute;
	left: 0;
	opacity: 0;
	transition: all 1s;
}

.p-fv__text--left {
	top: 9.5rem;
	font-family: "Montserrat", sans-serif;
	font-size: 3.4rem;
	font-weight: 400;
	line-height: 1.3;
	text-align: center;
	text-shadow: 0px 0px 3rem #ffffff;
}

.p-fv__text--right {
	bottom: 14.2rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-align: center;
	text-shadow: 0px 0px 3rem #ffffff;
}

/* 表示後 */

.is-animate .p-fv__overlay-bg {
	opacity: 1;
}

.is-animate .p-fv__text {
	opacity: 1;
}

/* スクロール
---------------------------------------------------------- */

.p-fv__scroll {
	position: absolute;
	bottom: 3.4rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 100;
	opacity: 0;
	transition: opacity 0.6s ease;
}

/* 表示用 */

.is-show .p-fv__scroll {
	opacity: 1;
}

.p-fv__scroll-text {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-family: "Montserrat", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	color: #04459f;
	text-transform: capitalize;
	transform: rotate(90deg);
}

.p-fv__scroll-text::after {
	content: "";
	margin-bottom: 0.1rem;
	width: 0.5rem;
	height: 0.5rem;
	flex-shrink: 0;
	background-color: #04459f;
	border-radius: 50%;
	animation: scrollDot 1.8s ease-in-out infinite;
}

/* ==========================================================================
//
// ヘッダー
//
========================================================================== */

.p-header {
	width: 100%;
	height: 6rem;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9998;
	background-color: transparent;
	transition: all 0.3s;
}

.p-header.colored::before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(2rem);
	box-shadow: 0px 0.2rem 2rem 0px rgba(64, 104, 175, 0.15);
}

.p-header__inner {
	padding-inline: 1.5rem;
	height: inherit;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

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

.p-header__logo-wrapper {
	height: inherit;
	display: flex;
	align-items: center;
	gap: 1.3rem;
}

.p-header__logo {
	width: 13.2rem;
	height: inherit;
	position: relative;
	z-index: 9999;
}

.p-header__logo a {
	width: 100%;
	height: 100%;
	display: block;
}

.p-header__logo a img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 175/24;
}

.p-header__nav-wrapper {
	padding: 8rem 4.65rem 3rem;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 100%;
	z-index: 9997;
	background-color: #fff;
	transition: all 0.3s;
	overflow-y: auto;
}

.p-header__nav-wrapper.is-active {
	left: 0;
}

.p-header__nav-list {
	display: flex;
	flex-direction: column;
	position: relative;
}

.p-header__nav-item a {
	padding: 2rem 1.5rem 2rem 1rem;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: "Montserrat", sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1;
	text-transform: capitalize;
	color: #333;
}

.p-header__nav-item:not(:first-child) a:not(.p-header__nav-sub-item a) {
	border-top: 1px solid #dddddd;
}

.p-header__nav-item:last-child a {
	border-bottom: 1px solid #dddddd;
}

.p-header__nav-item a.js-accordion {
	position: relative;
}

.p-header__nav-item a.js-accordion::before,
.p-header__nav-item a.js-accordion::after {
	content: "";
	width: 1.3rem;
	height: 1px;
	position: absolute;
	top: 50%;
	right: 1.5rem;
	transform: translateY(-50%);
	background: #04459f;
	transition: 0.3s;
}

.p-header__nav-item a.js-accordion::after {
	transform: translateY(-50%) rotate(90deg);
}

.p-header__nav-item.is-open .js-accordion::after {
	opacity: 0;
}

.p-header__nav-item a span:not(.p-header__nav-sub-item-text-arrow,
.p-header__nav-item-arrow) {
	margin-top: 0.5rem;
	padding-left: 1rem;
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
	color: rgba(50, 63, 126, 0.8);
}

.p-header__nav-item-arrow {
	width: 1.5rem;
	height: 1px;
	display: inline-block;
	vertical-align: middle;
	color: #04459f;
	line-height: 1;
	position: relative;
	background: currentColor;
	flex-shrink: 0;
}

.p-header__nav-item-arrow::before {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	position: absolute;
	top: 50%;
	right: 0.1rem;
	transform: translateY(-45%) rotate(45deg);
	border: 1px solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
}

.p-header__nav-sub-list {
	display: grid;
	gap: 0.7rem;
}

.p-header__nav-sub-list:not(.p-header__nav-sub-list--mega-menu) {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.3s ease;
}

.p-header__nav-item.is-open .p-header__nav-sub-list {
	margin-bottom: 2.3rem;
}

.p-header__nav-sub-item a {
	padding: 0 1.3rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.p-header__nav-sub-list--mega-menu-wrapper {
	display: none;
}

.p-header__nav-sub-list--mega-menu .p-header__nav-sub-item-text-arrow::before {
	content: "";
	width: 0.6rem;
	height: 0.6rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-40%, -50%) rotate(45deg);
	border: 1px solid #fff;
	border-left: 0;
	border-bottom: 0;
}

.p-header__nav-sub-list--mega-menu .p-header__nav-sub-item-text-arrow::after {
	content: "";
	width: 0.9rem;
	height: 1px;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #fff;
}

.p-header__btn-wrapper {
	margin-top: 5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
}

.p-header__btn {
	width: 28.2rem;
}

.p-header__hamburger {
	padding: 0;
	width: 3rem;
	height: 3rem;
	position: relative;
	z-index: 9999;
	border: none;
	background-color: transparent;
	border-radius: 0.5rem;
	cursor: pointer;
}

.p-header__hamburger span {
	width: 100%;
	height: 2px;
	display: block;
	background-color: #04459f;
	position: relative;
	transition: 0.3s;
}

.p-header__hamburger span:nth-child(2) {
	margin: 0.7rem 0;
}

.p-header__hamburger.is-active span:nth-child(1) {
	transform: translate(0, 0.8rem) rotate(-45deg);
}

.p-header__hamburger.is-active span:nth-child(2) {
	background-color: transparent;
}

.p-header__hamburger.is-active span:nth-child(3) {
	transform: translate(0, -1rem) rotate(45deg);
}

/* ハンバーガーメニュー展開時、背景を固定 */

body.active {
	height: 100%;
	overflow: hidden;
}

/* 採用LP ヘッダー
---------------------------------------------------------- */

.page-id-30 .p-header__nav {
	display: none;
}

.p-header__nav--recruit {
	display: none;
}

.page-id-30 .p-header__nav--recruit {
	display: block;
}

.p-header__text {
	display: none;
}

.page-id-30 .p-header__text {
	display: block;
	position: relative;
	z-index: 9999;
	font-family: "Montserrat", sans-serif;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #323f7e;
	text-transform: uppercase;
}

.page-id-30 .p-header__wrapper {
	gap: 2rem;
}

.page-id-30 .p-header__nav-item a {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
}

.page-id-30 .p-header__btn-wrapper {
	display: none;
}

.page-id-30 .p-header__btn-wrapper--recruit {
	display: flex;
}

.p-header__btn-wrapper--recruit {
	display: none;
}

.p-header__btn-wrapper--recruit .p-header__btn .c-btn04__inner {
	padding: 2.4rem;
}

/* ==========================================================================
//
// MV
//
========================================================================== */

.p-mv {
	padding-top: 12rem;
	height: 29rem;
	position: relative;
}

.p-mv::before {
	content: "";
	width: 46rem;
	height: 19rem;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	pointer-events: none;
}

.webp .p-mv::before {
	background: url("../img/bg_mv_01.webp") no-repeat center right/contain;
	opacity: 0.3;
}

.no-webp .p-mv::before {
	background: url("../img/bg_mv_01.png") no-repeat center right/contain;
}

.p-mv__title-text {
	margin-top: 0.7rem;
	margin-bottom: 1rem;
	padding-left: 3rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #323f7e;
}

.p-mv__breadcrumb {
	margin-top: 6rem;
}

/* SES事業/宮古イノベーション事業
---------------------------------------------------------- */

.page-id-18 .p-mv,
.page-id-20 .p-mv {
	padding-top: 7rem;
}

.page-id-18 .p-mv__breadcrumb,
.page-id-20 .p-mv__breadcrumb {
	margin-top: 4rem;
}

/* エントリー
---------------------------------------------------------- */

.page-id-32 .p-mv::before {
	width: 100%;
	height: 100%;
	top: 0;
	right: unset;
	left: 0;
}

.webp .page-id-32 .p-mv::before {
	background: url("../img/bg_mv_entry.webp") no-repeat top right/cover;
}

.no-webp .page-id-32 .p-mv::before {
	background: url("../img/bg_mv_entry.png") no-repeat top right/cover;
}

/* ==========================================================================
//
// ページトップ
//
========================================================================== */

.p-page-top {
	padding: 0;
	width: 5rem;
	height: 5rem;
	position: fixed;
	bottom: 2rem;
	right: 1rem;
	z-index: 9999;
	background-color: #fff;
	border: none;
	border-radius: 50%;
	box-shadow: 0px 0px 1.5rem 0px rgba(50, 63, 126, 0.2);
	opacity: 0;
	transition: all 0.3s;
}

.p-page-top.is-show {
	opacity: 1;
}

.p-page-top__arrow {
	width: 100%;
	height: 100%;
	display: inline-block;
	position: relative;
	line-height: 1;
	vertical-align: middle;
	transition: all 0.3s;
}

.p-page-top__arrow::before {
	content: "";
	width: 0.9rem;
	height: 0.9rem;
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
	border: 1px solid #323f7e;
	border-left: 0;
	border-bottom: 0;
}

.p-page-top__arrow::after {
	content: "";
	width: 1px;
	height: 1.8rem;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #323f7e;
}

/* ==========================================================================
//
// 採用LP 私たちについて
//
========================================================================== */

.p-recruit-about {
	position: relative;
}

.p-recruit-about__wrapper {
	display: flex;
	flex-direction: column;
	gap: 4.8rem;
}

.p-recruit-about__catch {
	margin-top: 4.8rem;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.p-recruit-about__text {
	margin-top: 3rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.p-recruit-about__text + p {
	margin-top: 2rem;
}

.p-recruit-about__image img {
	width: 100%;
	height: auto;
}

/* ==========================================================================
//
// 採用LP 募集要項
//
========================================================================== */

.p-recruit-application {
	position: relative;
	z-index: 10;
	background-color: #ebf3f6;
	border-radius: 4rem;
}

.p-recruit-application__content {
	margin-top: 3rem;
}

.p-recruit-application__item {
	display: grid;
	position: relative;
}

.p-recruit-application__item::after {
	content: "";
	width: 100%;
	height: 0.2rem;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(to right, #048ef1 0% 18%, #dddddd 18% 100%);
}

.p-recruit-application__item dt {
	padding: 2rem 1.2rem 0.5rem 1.2rem;
	display: flex;
	align-items: center;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
}

.p-recruit-application__item--start dt {
	align-items: flex-start;
}

.p-recruit-application__item dd {
	padding: 0.5rem 1.2rem 2rem 1.2rem;
}

.p-recruit-application__text {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.p-recruit-application__text-wrapper {
	margin-top: 3rem;
	text-indent: -1.6em;
	padding-left: 1.6em;
}

.p-recruit-application__text-wrapper p + p {
	margin-top: 0;
}

.p-recruit-application__text + p {
	margin-top: 1rem;
}

.p-recruit-application__text-list {
	display: grid;
	gap: 1.2rem;
}

.p-recruit-application__text-list--row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 4rem;
}

.p-recruit-application__text-item {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.p-recruit-application__text-item::before {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	flex-shrink: 0;
	background-color: #04459f;
	border-radius: 50%;
}

/* ==========================================================================
//
// 採用LP キャリアパス
//
========================================================================== */

.p-recruit-career__list {
  list-style: none;
  padding: 0;
  margin: 4rem 0 0;
}

.p-recruit-career__item {
  background-color: #F7F7F7;
  border-radius: 15px;
  padding: 2rem 1.5rem;
  margin-bottom: 2rem;
}

.p-recruit-career__item-image {
	text-align: center;
	margin-bottom: 1.5rem;
}

.p-recruit-career__item-image img {
	max-width: 100%;
	height: auto;
}

.p-recruit-career__item-title {
	font-size: 1.6rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
	line-height: 1.3;
}

.p-recruit-career__item-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 1.2rem;
  color: #04459F;
  font-weight: 500;
  font-size: 1.4rem;
  margin-bottom: 16px;
}

.p-recruit-career__item-info::before {
  content: "";
  display: inline-block;
  width: 1.8rem;
  height: 1.8rem;
  background: url("../img/icon_recruit_career_01.svg") no-repeat center center / contain;
  margin-right: -4px;
}

.p-recruit-career__item-text {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
	margin: 0 0 2.5rem;
}

.p-recruit-career__item__step-title {
  color: #04459F;
	font-family: "Montserrat", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  margin-bottom: 1.6rem;
}

.p-recruit-career__item__step-title::after {
  content: "";
  flex-grow: 1;
  height: 1px;
  background-color: #ddd;
  margin-left: 1rem;
}

.p-recruit-career__item__step-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.p-recruit-career__item__step-box,
.p-recruit-career__item__step-box--current {
  background: #fff;
  border-radius: 6px;
  padding: 1.5rem;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  color: #04459F;
  box-shadow: 0 2px 4px rgba(0,0,0,0.04);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
	line-height: 1.2;
}

.p-recruit-career__item__step-box--current {
  background-color: #04459F;
  color: #fff;
	font-weight: 400;
}

.p-recruit-career__item__step-box:not(:last-child)::after,
.p-recruit-career__item__step-box--current:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 2rem;
	height: 0.9rem;
	background: linear-gradient(to bottom, #1A5EB7, #048EF1);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

/* ==========================================================================
//
// 採用LP 教育・制度
//
========================================================================== */

.p-recruit-education {
	border-radius: 4rem 4rem 0 0;
	background-color: #ebf3f6;
}

.p-recruit-education__inner {
	padding-bottom: 5rem;
	position: relative;
}

.p-recruit-education__inner::before {
	content: "";
	width: 90%;
	height: 1px;
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background-color: #dddddd;
}

.p-recruit-education__head {
	margin: 0 auto;
	padding: 1.5rem 1rem;
	width: fit-content;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
	color: #04459f;
	background-color: #fff;
	border-radius: 6rem;
}

.p-recruit-education__head span {
	font-size: 1.2rem;
}

.p-recruit-education__title {
	margin-top: 2rem;
}

.p-recruit-education__text {
	margin-top: 3rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.p-recruit-education__list {
	margin-top: 3rem;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.p-recruit-education__item {
	padding: 2rem 2rem 2.5rem;
	background-color: #fff;
	border-radius: 1.6rem;
}

.p-recruit-education__item-head {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.p-recruit-education__item-image {
	flex: 0 0 8.655rem;
	width: 8.655rem;
}

.p-recruit-education__item-image img {
	width: 100%;
	height: auto;
}

.p-recruit-education__item-title {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
}

.p-recruit-education__item-title--em {
	color: #04459F;
	font-style: unset;
}

.p-recruit-education__item-text {
	margin-top: 1.6rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.7;
}

/* ==========================================================================
//
// 採用LP 募集要項・エントリー
//
========================================================================== */

.p-recruit-entry {
	position: relative;
	z-index: 0;
}

.webp .p-recruit-entry.lazyloaded {
	background: url("../img/bg_recruit_entry_01_sp.webp") no-repeat center center/cover;
}

.no-webp .p-recruit-entry.lazyloaded {
	background: url("../img/bg_recruit_entry_01_sp.png") no-repeat center center/cover;
}

.p-recruit-entry__text {
	margin-top: 3rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.p-recruit-entry__btn {
	margin: 3rem auto 0;
}

.p-recruit-entry__btn .c-btn02 {
	border-radius: 1.6rem;
}

.p-recruit-entry__btn .c-btn02__inner {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	padding-block: 2rem;
	font-size: 2rem;
	border-radius: 1.6rem;
}

.c-btn02__inner-content {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

.c-btn02__inner-text {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
}

/* ==========================================================================
//
// 採用LP よくある質問
//
========================================================================== */

.p-recruit-faq__list {
	margin-top: 3rem;
	display: grid;
	gap: 2rem;
}

.p-recruit-faq__item {
	background-color: #f7f7f7;
	border-radius: 1rem;
}

.p-recruit-faq__item-question-wrapper {
	position: relative;
	padding: 2rem 5rem 2rem 2rem;
}

.p-recruit-faq__item-question-wrapper::before {
	content: "";
	width: 1.94rem;
	height: 2px;
	display: block;
	position: absolute;
	top: 50%;
	right: 2.5rem;
	transform: translateY(-50%);
	background-color: #048ef1;
}

.p-recruit-faq__item-question-wrapper::after {
	content: "";
	width: 1.94rem;
	height: 2px;
	display: block;
	position: absolute;
	top: 50%;
	right: 2.5rem;
	transform: translateY(-50%) rotate(90deg);
	background-color: #048ef1;
	transition: all 0.3s;
}

.p-recruit-faq__item-question-wrapper.is-open::after {
	transform: translateY(-50%) rotate(0);
}

.p-recruit-faq__item-question {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
}

.p-recruit-faq__item-question::before {
	content: "Q";
	width: 3.6rem;
	height: 3.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-family: "Montserrat", sans-serif;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: #fff;
	background-color: #048ef1;
	border-radius: 0.4rem;
}

.p-recruit-faq__item-answer-wrapper {
	height: 0;
	overflow: hidden;
}

.p-recruit-faq__item-answer {
	padding: 0 5rem 2rem 2rem;
	display: flex;
	align-items: flex-start;
	gap: 1.6rem;
}

.p-recruit-faq__item-answer::before {
	content: "A";
	width: 3.6rem;
	height: 3.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-family: "Montserrat", sans-serif;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: #048ef1;
	background-color: #fff;
	border-radius: 0.4rem;
}

.p-recruit-faq__item-answer {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
}

/* ==========================================================================
//
// 採用LP メンバー紹介
//
========================================================================== */

.p-recruit-member {
	background-color: #ebf3f6;
	border-radius: 4rem;
}

.p-recruit-member__list {
	margin-top: 3rem;
	display: grid;
	gap: 2rem;
}

/* ==========================================================================
//
// 採用LP MV
//
========================================================================== */

.p-recruit-mv {
	position: relative;
}

.p-recruit-mv__content {
	position: absolute;
	top: 52%;
	left: 1.5rem;
}

.p-recruit-mv__title {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-shadow: 0px 0px 3rem #ffffff;
}

.p-recruit-mv__title::before {
	content: "professional growth";
	margin-bottom: 0.5rem;
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #323f7e;
	text-shadow: 0px 0px 3rem #ffffff;
	text-transform: uppercase;
}

.p-recruit-mv__text {
	margin-top: 2rem;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	text-shadow: 0px 0px 3rem #ffffff;
}

.p-recruit-mv__btn {
	margin-top: 3.5rem;
	margin-inline: auto;
	width: 28.2rem;
}

.p-recruit-mv__btn .c-btn02__inner {
	padding: 1.3rem 1.4rem 1.3rem 3rem;
	font-size: 1.8rem;
}

.p-recruit-mv__image {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.p-recruit-mv__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 375/891;
}

/* ==========================================================================
//
// 採用LP スケジュール
//
========================================================================== */

.p-recruit-schedule {
	background-color: #ebf3f6;
	border-radius: 0 0 4rem 4rem;
}

.p-recruit-schedule__wrapper {
	margin-top: 4rem;
	display: flex;
	flex-direction: column-reverse;
	gap: 3rem;
}

.p-recruit-schedule__content-title {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #04459f;
}

.p-recruit-schedule__content-list {
	margin-top: 2rem;
	display: grid;
	gap: 1rem;
}

.p-recruit-schedule__content-item {
	display: flex;
	align-items: center;
	gap: 1.6rem;
}

.p-recruit-schedule__content-item-image {
	width: 6rem;
	flex-shrink: 0;
}

.p-recruit-schedule__content-item-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 80/80;
	border-radius: 0.8rem;
}

.p-recruit-schedule__content-item-text {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.p-recruit-schedule__content-sub-text {
	margin-top: 1rem;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.8571428571;
	letter-spacing: 0.05em;
	color: #777777;
}

.p-recruit-schedule__content-text {
	margin-top: 1.6rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.p-recruit-schedule__content-text + p {
	margin-top: 1rem;
}

.p-recruit-schedule__example {
	border-radius: 1.6rem;
}

.p-recruit-schedule__example-title {
	padding: 1.5rem;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
	color: #fff;
	background-color: #1a5eb7;
	border-radius: 1.6rem 1.6rem 0 0;
}

.p-recruit-schedule__example-content {
	padding: 2rem 2rem 1rem;
	background-color: #fff;
	border-radius: 0 0 1.6rem 1.6rem;
}

.p-recruit-schedule__example-item {
	padding-bottom: 2.1rem;
	display: grid;
	grid-template-columns: 6.8rem 1fr;
	align-items: flex-start;
	position: relative;
	z-index: 10;
}

.p-recruit-schedule__example-item:not(:last-child)::before {
	content: "";
	width: 1px;
	height: 100%;
	display: block;
	position: absolute;
	top: 0.7rem;
	left: 3rem;
	z-index: -1;
	background-image: repeating-linear-gradient(180deg, #048ef1, #048ef1 4px, transparent 4px, transparent 8px);
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 1px 100%;
}

.p-recruit-schedule__example-item-title {
	padding: 0.7rem 0.5rem 0.5rem;
	width: 6rem;
	font-family: "Montserrat", sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
	color: #fff;
	background-color: #048ef1;
	border-radius: 5rem;
}

.p-recruit-schedule__example-item-content {
	padding-top: 0.4rem;
}

.p-recruit-schedule__example-item-content-title {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
}

.p-recruit-schedule__example-item-content-text {
	margin-top: 1rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.625;
	letter-spacing: 0.05em;
}

/* ==========================================================================
//
// 採用LP
//
========================================================================== */

.p-recruit {
	overflow: hidden;
}

/* 私たちについて
---------------------------------------------------------- */

.p-recruit__about {
	margin-top: -5rem;
	padding-bottom: 6rem;
}

/* 教育・制度
---------------------------------------------------------- */

.p-recruit__education {
	padding-block: 6rem 0;
}

/* スケジュール
---------------------------------------------------------- */

.p-recruit__schedule {
	padding-block: 5rem 6rem;
}

/* キャリアパス
---------------------------------------------------------- */

.p-recruit__career {
	padding-block: 5rem;
}

/* メンバー紹介
---------------------------------------------------------- */

.p-recruit__member {
	padding-block: 6rem;
}

/* よくある質問
---------------------------------------------------------- */

.p-recruit__faq {
	padding-block: 5rem 6rem;
}

/* 募集要項
---------------------------------------------------------- */

.p-recruit__application {
	padding-block: 6rem;
}

/* 募集要項・エントリー
---------------------------------------------------------- */

.p-recruit__entry {
	margin-top: -3rem;
	padding-block: 10rem 8rem;
}

/* ==========================================================================
//
// トップページ 事業紹介
//
========================================================================== */

.p-top-business__title-wrapper {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.p-top-business__title-text {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.p-top-business__list {
	margin-top: 4rem;
	display: grid;
	gap: 3rem;
}

.p-top-business__item {
	padding: 3rem 2rem 4.8rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	background-color: #048ef1;
	border-radius: 1rem;
	box-shadow: 0px 0px 3rem 0px rgba(87, 151, 171, 0.3);
}

.p-top-business__item:nth-child(2) {
	background-color: #1a5eb7;
}

.p-top-business__item-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 378/334;
}

.p-top-business__item-title {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #fff;
}

.p-top-business__item-title::after {
	content: attr(data-en);
	margin-top: 1.2rem;
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	text-transform: capitalize;
	color: #fff;
}

.p-top-business__item-text {
	margin-top: 2.5rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #fff;
}

.p-top-business__item-text + p {
	margin-top: 1rem;
}

.p-top-business__item-btn {
	margin-top: 3rem;
	width: 100%;
}

/* ==========================================================================
//
// トップページ 会社情報
//
========================================================================== */

.p-top-company {
	overflow: hidden;
}

.p-top-company__wrapper {
	border-top: 1px solid #dddddd;
	padding-top: 5rem;
	display: flex;
	flex-direction: column;
}

.p-top-company__content {
	display: contents;
}

.p-top-company__title {
	order: 1;
}

.p-top-company__text {
	margin-top: 3rem;
	order: 2;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.p-top-company__btn {
	margin-top: 4rem;
	margin-inline: auto;
	width: 22.2rem;
	order: 4;
}

.p-top-company__image {
	width: 100%;
	order: 3;
}

.p-top-company__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 804/505;
}

/* ==========================================================================
//
// 導入
//
========================================================================== */

.p-top-intro__wrapper {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.p-top-intro__content {
	width: 100%;
}

.p-top-intro__catch {
	font-family: "Montserrat", sans-serif;
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.05em;
	color: #323f7e;
}

.p-top-intro__sub-catch {
	margin-top: 2rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.05em;
}

.p-top-intro__text {
	margin-top: 3rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.p-top-intro__text + p {
	margin-top: 2rem;
}

.p-top-intro__image {
	margin: 0 auto;
	width: 80%;
}

.p-top-intro__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 674/505;
}

/* ==========================================================================
//
// トップページ 採用情報
//
========================================================================== */

.p-top-recruit {
	position: relative;
	border-radius: 3rem;
	overflow: hidden;
}

.webp .p-top-recruit.lazyloaded {
	background: url("../img/bg_top_recruit.webp") no-repeat center center/cover;
}

.no-webp .p-top-recruit.lazyloaded {
	background: url("../img/bg_top_recruit.png") no-repeat center center/cover;
}

.p-top-recruit__title.c-title01::before {
	background: url("../img/icon_title_01_white.png") no-repeat center center/contain;
}

.p-top-recruit__title.c-title01 span {
	color: #fff;
}

.p-top-recruit__title.c-title01 span::before {
	color: #fff;
}

.p-top-recruit__catch {
	margin-top: 3rem;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #fff;
}

.p-top-recruit__text {
	margin-top: 3rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #fff;
}

.p-top-recruit__btn {
	margin-top: 3rem;
	margin-inline: auto;
	width: 22.2rem;
}

.p-top-recruit__image-container {
	margin-top: 4rem;
}

.p-top-recruit__image-wrapper {
	width: 100%;
	height: 16rem;
	display: flex;
	align-items: center;
}

.p-top-recruit__image-wrapper + .p-top-recruit__image-wrapper {
	margin-top: 1.6rem;
}

.p-top-recruit__image-list {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	animation: scroll-right 20s infinite linear 0.5s both;
}

.p-top-recruit__image-wrapper:nth-child(2) .p-top-recruit__image-list {
	animation: scroll-left 20s infinite linear 0.5s both;
}

.p-top-recruit__image-list + ul {
	margin-left: 1.6rem;
}

.p-top-recruit__image-item {
	width: 16rem;
}

.p-top-recruit__image-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0.6rem;
	aspect-ratio: 1/1;
}

/* ==========================================================================
//
// 宮古イノベーション事業
//
========================================================================== */

.p-workcation__head-image {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}

.p-workcation__head-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 375/203;
}

.p-workcation__head-text {
	margin-top: 3rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.05em;
}

.p-workcation__head-text + p {
	margin-top: 1.6rem;
}

/* 強み
---------------------------------------------------------- */

.p-workcation__strength {
	padding-block: 5rem 2rem;
	overflow: hidden;
}

.p-workcation__strength-container {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.p-workcation__strength-link {
	padding: 7.5rem 2rem;
	background-color: #ebf3f6;
	border-radius: 1rem;
}

.p-workcation__strength-link-wrapper {
	margin: 0 auto;
	width: 20rem;
	height: 20rem;
	position: relative;
}

.p-workcation__strength-link-content {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 200;
	border: solid rgb(255, 255, 255) 1.74px;
	border-radius: 50%;
	animation: Rotate 25s linear infinite;
}

.p-workcation__strength-link-content-item {
	width: 10rem;
	height: 10rem;
	position: absolute;
	z-index: 200;
	background-color: #fff;
	border-radius: 50%;
}

.p-workcation__strength-link-content-item:first-child {
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
}

.p-workcation__strength-link-content-item:nth-child(2) {
	top: 78%;
	right: 0;
	transform: translate(50%, -50%);
}

.p-workcation__strength-link-content-item:nth-child(3) {
	bottom: 22%;
	left: 0;
	transform: translate(-50%, 50%);
}

.p-workcation__strength-link-content-item a {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
	position: relative;
	background-color: #fff;
	box-shadow: 0px 0px 2rem 0px rgba(0, 64, 184, 0.2) inset;
	border-radius: 50%;
	animation: Rotate-reverse 25s linear infinite;
}

.p-workcation__strength-link-content-item-image {
	width: 4rem;
}

.p-workcation__strength-link-content-item-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: 1/1;
}

.p-workcation__strength-link-content-item-text {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.05em;
	text-align: center;
	color: #323f7e;
}

.p-workcation__strength-link-center {
	width: 16rem;
	height: 16rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 100;
	background: linear-gradient(0.06deg, #4398ff 0.05%, #004bc0 107.94%);
	border-radius: 50%;
}

.p-workcation__strength-link-center-inner {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background: linear-gradient(0.06deg, #4398ff 0.05%, #004bc0 107.94%);
	border-radius: 50%;
	box-shadow: 0px 0px 30px 0px rgba(0, 48, 138, 0.4) inset;
}

.p-workcation__strength-link-text {
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
	color: #fff;
}

.p-workcation__strength-link-text span {
	margin-top: 1rem;
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	text-transform: capitalize;
}

/* アニメーション
---------------------------------------------------------- */

.p-workcation__strength-list {
	margin-top: 6.6rem;
	display: grid;
	gap: 4rem;
}

.p-workcation__strength-item:last-child {
	border-bottom: none;
}

.p-workcation__strength-item:first-child .c-card01__title::before {
	background: url("../img/icon_workcation_card_01.png") no-repeat center center/contain;
}

.p-workcation__strength-item:nth-child(2) .c-card01__title::before {
	background: url("../img/icon_workcation_card_02.png") no-repeat center center/contain;
}

.p-workcation__strength-item:nth-child(3) .c-card01__title::before {
	background: url("../img/icon_workcation_card_03.png") no-repeat center center/contain;
}

/* ==========================================================
# utility
========================================================== */

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

a,
button {
	transition: 0.3s;
}

a:hover,
button:hover {
	opacity: 0.7;
	cursor: pointer;
}

.l-contact {
	padding-bottom: 14rem;
}

.l-footer {
	padding-top: 10rem;
}

.page-id-30 .l-footer {
	margin-top: -4.7rem;
	padding-top: 8rem;
}

.l-top-business {
	padding-block: 9rem 14rem;
}

.l-top-company {
	padding-block: 0 7rem;
}

.l-top-intro {
	padding-block: 11.8rem;
}

.l-top-recruit {
	padding-block: 0;
}

.c-breadcrumb__list {
	justify-content: flex-end;
}

.c-btn01 {
	padding: 1.8rem;
}

.c-btn01:hover {
	opacity: 1;
	color: #04459f;
	background-color: #fff;
}

.c-btn01--green:hover {
	color: #039cbf;
}

.c-btn02__inner {
	padding: 1.1rem 1.1rem 1.1rem 2.4rem;
}

.c-btn02:hover {
	opacity: 1;
}

.c-btn02:hover .c-btn02__inner {
	color: #323f7e;
	background-color: #fff;
}

.c-btn02:hover .c-btn02__arrow {
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
}

.c-btn02:hover .c-btn02__arrow::before {
	border-color: #fff;
}

.c-btn02:hover .c-btn02__arrow::after {
	background-color: #fff;
}

.c-btn02--white:hover {
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
}

.c-btn02--white:hover .c-btn02__inner {
	color: #fff;
	background-color: transparent;
}

.c-btn02--white:hover .c-btn02__arrow {
	background: #fff;
}

.c-btn02--white:hover .c-btn02__arrow::before {
	border-color: #323f7e;
}

.c-btn02--white:hover .c-btn02__arrow::after {
	background-color: #323f7e;
}

.c-btn02--contact:hover {
	border: 1px solid #323f7e;
}

.c-btn02--contact .c-btn02__inner {
	padding: 1.7rem 1.5rem 1.7rem 4rem;
	font-size: 2rem;
}

.c-btn02--contact .c-btn02__arrow {
	width: 4.2rem;
	height: 4.2rem;
}

.c-btn02--contact .c-btn02__arrow::before {
	width: 0.9rem;
	height: 0.9rem;
}

.c-btn02--contact .c-btn02__arrow::after {
	width: 1.5rem;
}

.c-btn02--white.c-btn02--contact:hover {
	border: 1px solid #fff;
}

.c-btn03:hover {
	color: #323f7e;
	background-color: #fff;
	opacity: 1;
}

.c-btn03:hover .c-btn03__arrow {
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
}

.c-btn03:hover .c-btn03__arrow::before {
	border-color: #fff;
}

.c-btn03:hover .c-btn03__arrow::after {
	background-color: #fff;
}

.c-btn04__inner {
	padding: 1.8rem 1rem;
}

.c-btn04:hover {
	opacity: 1;
}

.c-btn04:hover .c-btn04__inner {
	color: #323f7e;
	background-color: #fff;
}

.c-card01 {
	padding-bottom: 5.5rem;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.c-card01__content {
	width: 59.0909090909%;
}

.c-card01__title {
	gap: 2rem;
}

.c-card01__title::before {
	width: 6rem;
	height: 6rem;
}

.c-card01__title span {
	font-size: 2.4rem;
}

.c-card01__text {
	margin-top: 2rem;
}

.c-card01__image {
	width: 36.3636363636%;
}

.c-card02 {
	padding: 3.2rem 2.8rem;
	box-shadow: 0px 0px 3rem 0px rgba(87, 151, 171, 0.3);
}

.c-card02__head {
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.c-card02__content {
  display: grid;
  grid-template-rows: auto auto 1fr auto auto;
  gap: 0;
}

.c-card02__image {
	width: 11rem;
}

.c-card02__head-content {
	padding-top: 1rem;
	width: 63.0681818182%;
}

.c-card02__name {
	flex-flow: row;
	align-items: center;
	gap: 1.8rem;
}

.c-card02__name span {
	line-height: 1.8571428571;
}
.c-card02__box-wrap {
  grid-template-columns: repeat(2, 1fr);
}

.c-card02__box {
	min-height: 10rem;
}

[class^="c-card02__box__title--"] {
  font-size: 1.2rem;
}

.c-card02__box__text {
  font-size: 1.3rem;
}

.c-card02__box02 {
	min-height: 16rem;
}

.c-card02__box02__title {
  font-size: 1.3rem;
}

.c-card02__box02__text {
  font-size: 1.4rem;
}

.c-contact-flow {
	gap: 6rem;
}

.c-contact-flow-item {
	width: 9rem;
	height: 9rem;
}

.c-contact-flow-text {
	font-size: 1.8rem;
}

.c-contact-tel {
	padding: 2.8rem 4rem;
	width: 72.7rem;
	flex-direction: row;
	justify-content: space-between;
}

.c-contact-tel__head {
	width: 50.8500772798%;
}

.c-contact-tel__head-title {
	justify-content: initial;
	font-size: 2rem;
}

.c-contact-tel__head-text {
	margin-top: 0.3rem;
	margin-left: 1.5rem;
	text-align: left;
}

.c-contact-tel__head-text span {
	display: inline;
}

.c-contact-tel__content {
	width: 42.5038639876%;
}

.c-contact-tel__content a {
	font-size: 3.5rem;
}

.c-cta {
	padding-block: 11.1rem 8rem;
}

.home .c-cta {
	padding-block: 11.1rem 8rem;
}

.page-id-24 .c-cta {
	padding-bottom: 13rem;
}

.page-id-30 .c-cta {
	margin-top: -5rem;
	padding-block: 8rem;
}

.c-cta__wrapper {
	padding: 9rem 11rem 8rem;
}

.c-cta__head {
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.c-cta__title.c-title01::before {
	width: 5.4rem;
	height: 7.4rem;
}

.c-cta__title.c-title01 span {
	font-size: 2.2rem;
}

.c-cta__title.c-title01 span::before {
	margin-bottom: 1.5rem;
	font-size: 8rem;
}

.c-cta__text {
	width: 42.7118644068%;
}

.c-cta__content {
	margin-top: 10rem;
}

.c-cta__list {
	grid-template-columns: 36.3rem 33.4rem 37.6rem;
	gap: 5.5rem;
}

.c-cta__item:nth-child(2) {
	padding: initial;
	border-bottom: initial;
	border-right: 1px solid #dddddd;
}

.c-cta__item-title {
	font-size: 1.6rem;
}

.c-cta__item-btn {
	width: 37.6rem;
}

.c-cta__item-tel {
	margin-top: 2.7rem;
}

.c-instagram {
	padding-block: 10.5rem;
}

.c-instagram__inner {
	display: block;
}

.c-instagram__head {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.c-instagram__title {
	order: initial;
}

.c-instagram__btn {
	margin-top: 1rem;
	margin-inline: initial;
	order: initial;
}

.c-instagram__content {
	order: initial;
}

.page-id-20 .c-instagram {
	padding-top: 0;
}

.c-recruit-title01::before {
	margin-bottom: 1.5rem;
	font-size: 5.2rem;
}

.c-recruit-title01 span {
	font-size: 1.8rem;
}

.c-recruit-title01 span::before {
	width: 1.2rem;
	height: 1.2rem;
}

.c-title01::before {
	width: 3.9rem;
	height: 5.4rem;
}

.c-title01 span {
	font-size: 1.8rem;
}

.c-title01 span::before {
	margin-bottom: 1rem;
	font-size: 6rem;
}

.c-title01--page::before {
	width: 2.6rem;
	height: 3.6rem;
}

.c-title01--page span {
	font-size: 1.6rem;
}

.c-title01--page span::before {
	margin-bottom: 1.6rem;
	font-size: 4.2rem;
}

.c-title01--mv::before {
	width: 5.406rem;
	height: 7.485rem;
}

.c-title01--mv span {
	font-size: 2.2rem;
}

.c-title01--mv span::before {
	margin-bottom: 1.7rem;
	font-size: 8rem;
}

.p-company-history__wrapper {
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.p-company-history__title.c-title01 {
	margin-top: 2.3rem;
}

.p-company-history__list {
	margin-top: initial;
	width: 67.9012345679%;
}

.p-company-history__item {
	grid-template-columns: 12.5rem 1fr;
	align-items: center;
}

.p-company-history__item:not(:last-child) {
	padding-bottom: 4.7rem;
}

.p-company-history__item:not(:last-child)::before {
	left: 15%;
}

.p-company-history__year {
	font-size: 2.4rem;
}

.p-company-history__text {
	align-items: center;
	gap: 3rem;
}

.p-company-history__text span {
	transform: unset;
}

.p-company-member__list {
	gap: 4rem 2rem;
}

.p-company-member__item {
	width: calc((100% - 4rem) / 3);
}

.c-member-card {
	min-height: 16.8rem;
}

.c-member-card__image {
	flex: 0 0 13rem;
	width: 13rem;
	height: 13rem;
}

.c-member-card__position {
	font-size: 1.5rem;
}

.c-member-card__name-en {
	font-size: 1.3rem;
}

.c-member-card__more {
	font-size: 1.6rem;
}

.c-modal__content {
	width: min(976px, calc(100% - 32px));
	margin: 2.4rem auto;
	padding: 3.2rem 6rem 5.6rem;
}

.c-modal__head {
	flex-direction: row;
	text-align: left;
	gap: 3rem;
}

.c-modal__image {
	flex: 0 0 14.2rem;
	width: 14.2rem;
	height: 14.2rem;
}

.c-modal__name {
	font-size: 2.4rem;
}

.c-modal__section {
	margin-bottom: 2.8rem;
}

.c-modal__section-text {
	line-height: 1.8;
}

.c-modal-box {
	display: flex;
	grid-template-columns: none;
	margin-top: 2rem;
	padding: 2rem;
	border-color: #04459F;
	border-radius: 1.8rem;
}

.c-modal-box__image {
	flex: 0 0 5rem;
	width: 5rem;
}

.c-modal-box__content {
	display: block;
	margin-left: 2rem;
}

.c-modal-box__title {
	margin-bottom: .8rem;
	font-size: 1.6rem;
}

.c-modal-box__text {
	margin-top: 0;
	font-size: 1.6rem;
}

.p-company-message {
	padding-bottom: 14rem;
}

.p-company-message__image {
	margin: initial;
	width: 100%;
}

.p-company-message__image img {
	aspect-ratio: 1296/500;
	border-radius: 1rem;
}

.p-company-message__wrapper {
	margin-top: 8.5rem;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.c-title01--page {
	margin-top: 1rem;
}

.p-company-message__content {
	width: 67.9012345679%;
}

.p-company-message__catch {
	font-size: 5.2rem;
}

.p-company-message__sub-catch {
	margin-block: 2.7rem 6rem;
}

.p-company-message__text + p:not(.p-company-message__name) {
	margin-top: 2.8rem;
}

.p-company-message__list {
	margin-block: 4rem;
}

.p-company-message__name {
	margin-top: 4.3rem;
	font-size: 1.8rem;
}

.p-company-message__name-image {
	margin-top: 2.2rem;
	width: 15rem;
}

.p-company-overview__wrapper {
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	gap: unset;
}

.p-company-overview__content {
	margin-top: -1rem;
	width: 67.9012345679%;
}

.p-company-overview__item {
	grid-template-columns: 18.5227272727% 1fr;
}

.p-company-overview__item dt {
	padding: 3rem 0 3rem 2rem;
}

.p-company-overview__item dd {
	padding: 3rem 2.6rem 3rem 5.7rem;
}

.p-company-overview__text {
	line-height: 1.75;
}

.p-company-overview__map {
	margin-top: 2.3rem;
}

.p-company-overview__text-list {
	gap: 1rem;
}

.p-company-overview__text-item {
	align-items: center;
	line-height: 1.75;
}

.p-company-overview__text-item::before {
	transform: unset;
}

.p-company-overview__image {
	margin-top: initial;
	width: 15.1rem;
}

.p-company-overview__item--business dd {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.p-company-overview__item--bank dd .p-company-overview__text-list {
	grid-template-columns: 21rem 1fr;
}

.p-company-overview__btn {
	margin-top: 6.5rem;
}

.p-company-overview__btn .c-btn02__arrow {
	width: 3rem;
	height: 3rem;
}

.p-company__link {
	padding-block: 4rem 8rem;
}

.p-company__link-list {
	grid-template-columns: repeat(4, 1fr);
	gap: unset;
}

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

.p-company__link-item a {
	padding: initial;
	justify-content: center;
	border-bottom: none;
	border-left: 1px solid #d9d9d9;
}

.p-company__link-item:last-child a {
	border-right: 1px solid #d9d9d9;
}

.p-company__link-item a span:not(.p-company__link-arrow) {
	font-weight: bold;
}

.p-company__link-arrow {
	width: 3rem;
	height: 3rem;
}

.p-company__link-arrow::before {
	width: 0.5rem;
	height: 0.5rem;
}

.p-company__link-arrow::after {
	height: 1.1rem;
}

.p-company__link-item a:hover {
	opacity: 1;
}

.p-company__link-item a:hover .p-company__link-arrow {
	background: #fff;
	border: 1px solid #323f7e;
}

.p-company__link-item a:hover .p-company__link-arrow::before {
	border-color: #323f7e;
}

.p-company__link-item a:hover .p-company__link-arrow::after {
	background-color: #323f7e;
}

.p-company__overview {
	padding-block: 15rem 16.5rem;
}

.p-company__history {
	padding-block: 13.5rem 13.5rem;
}

.p-company__member {
	padding-block: 11rem 14rem;
}

.p-company-slide__list {
	animation: scroll-left 30s infinite linear 0.5s both;
}

.p-company-slide__item {
	width: 20vw;
}

.p-consultant__head-image {
	margin: initial;
	width: 100%;
}

.p-consultant__head-image img {
	aspect-ratio: 1296/500;
	border-radius: 1rem;
}

.p-consultant__head-text {
	margin-top: 6rem;
}

.p-consultant__head-text + p {
	margin-top: 2.7rem;
}

.p-consultant__strength {
	padding-block: 10rem 4.5rem;
}

.p-consultant__strength-wrapper {
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.p-consultant__strength-title {
	margin-top: 1.8rem;
}

.p-consultant__strength-list {
	width: 67.9012345679%;
	gap: 5.6rem;
}

.p-consultant__clients {
	padding-bottom: 14rem;
}

.p-consultant__clients-inner {
	max-width: 145rem;
}

.p-consultant__clients-container {
	padding: 7.8rem 5.2rem 4.5rem;
}

.p-consultant__clients-wrapper {
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.p-consultant__clients-content {
	padding-block: 1.4rem;
	width: 67.9012345679%;
}

.p-consultant__clients-list {
	width: 91%;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.7rem 8rem;
}

.p-consultant__clients-item {
	align-items: center;
	line-height: 1;
}

.p-consultant__clients-item::before {
	transform: unset;
}

.p-consultant__clients-text {
	margin-top: 3rem;
}

.p-contact__inner {
	max-width: 90.6rem;
}

.p-contact__head--thanks .p-contact__text {
	text-align: center;
}

.p-contact__tel-wrapper {
	margin-top: 6.5rem;
}

.p-contact__flow {
	margin-top: 8rem;
}

.p-contact__form {
	padding-top: 8rem;
}

.p-contact__form-item {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

.p-contact__form-item--textarea {
	align-items: flex-start;
}

.p-contact__form-item + .p-contact__form-item {
	margin-top: 4rem;
}

.p-contact__form-label {
	width: 30.7242990654%;
}

.p-contact__form-answer-wrapper {
	width: 64.6028037383%;
}

.p-contact__form-answer-wrapper textarea {
	height: 30rem;
}

.p-contact__form-answer {
	padding-inline: 2rem;
}

.p-contact__form-item-text {
	text-align: center;
}

.p-contact--entry .p-contact__form-item-text {
	margin-top: 7rem;
}

.p-contact__form-item--confirm {
	margin-top: 3rem;
	justify-content: center;
	gap: 1rem;
}

.p-contact__form-btn-wrapper {
	margin-top: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
}

.p-contact__form-btn-wrapper .p-contact__form-btn {
	margin-inline: 0;
}

.p-contact__form-btn {
	margin-top: 4rem;
}

.p-contact__form-btn input {
	padding: 1.9rem 1.1rem 1.9rem 2.4rem;
}

.p-contact__form-btn .c-btn02__arrow {
	width: 3rem;
	height: 3rem;
}

.p-contact__form-btn .c-btn02:hover input {
	color: #323f7e;
}

.p-contact__thanks-btn {
	margin-top: 8rem;
	width: 22.2rem;
}

.webp .p-contact--entry.lazyloaded::before {
	background: url("../img/bg_entry.webp") no-repeat top center/cover;
}

.no-webp .p-contact--entry.lazyloaded::before {
	background: url("../img/bg_entry.png") no-repeat center top/cover;
}

.p-contact__form-item--birthday .p-contact__form-answer-text .p-contact__form-answer {
	width: 10rem;
}

.p-contact__form-answer-wrapper--radio {
	gap: 2.4rem;
}

.p-contact__form-item--address {
	align-items: flex-start;
}

.p-contact__form-answer-wrapper-container {
	gap: 3rem;
}

.p-contact__form-answer-wrapper-container .p-contact__form-answer {
	width: 14rem;
}

.p-contact__form--confirm .p-contact__form-answer-wrapper-container::before {
	left: 7%;
}

.p-contact__form-item--address .p-contact__form-answer-select {
	width: 22rem;
}

.p-contact__form-file-upload-area {
	padding: 3rem 1.5rem;
}

.p-contact__form-file-upload-content {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.p-contact__form-icon-upload {
	display: inline-block;
	margin: 0;
	width: 3.2rem;
	height: 2.5rem;
}

.p-contact__form-upload-text {
	display: inline-block;
}

.p-contact__form-upload-button-fake {
	padding: 5px 10px;
	margin-left: 0;
	line-height: 1.4 !important;
}

.p-footer__inner.l-inner {
	padding-inline: 2.5rem;
}

.p-footer__wrapper {
	padding-bottom: 14rem;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.p-footer__head {
	width: 30.0925925926%;
}

.p-footer__nav {
	width: 47.0679012346%;
}

.p-footer__nav-list {
	grid-template-columns: 1fr 16.5rem 1fr 1fr;
	gap: 3rem;
}

.p-footer__nav-item a {
	font-size: 2rem;
}

.p-footer__nav-sub-list {
	margin-top: 2rem;
}

.p-footer__nav-sub-item a {
	font-size: 1.4rem;
}

.page-id-30 .p-footer__wrapper {
	padding-bottom: 8rem;
}

.page-id-30 .p-footer__bottom {
	padding: 1.3rem;
}

.page-id-30 .p-footer__bottom-inner {
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.page-id-30 .p-footer__head {
	display: contents;
}

.page-id-30 .p-footer__sns {
	margin-top: initial;
}

.page-id-30 .p-footer__bottom-nav-list {
	flex-direction: row;
	align-items: center;
	gap: 2.5rem;
}

.page-id-30 .p-footer__bottom-nav-item a {
	font-size: 1.3rem;
}

.p-fv {
	height: 90rem;
}

.p-fv__video:not(.p-fv__video-center) video {
	aspect-ratio: 1600/900;
}

.p-fv__video-center {
	transform: translate(-50%, -50%) scale(0.4);
}

.p-fv__overlay-bg {
	width: 24.3rem;
	height: 22.9rem;
}

.p-fv__text {
	width: fit-content;
	top: 50%;
	transform: translateY(-50%);
}

.p-fv__text--left {
	left: 10rem;
	transform: translateY(-50%);
	font-size: 6.5rem;
	text-align: left;
}

.p-fv__text--right {
	bottom: unset;
	left: unset;
	right: 14.5rem;
	font-size: 2.4rem;
	text-align: left;
}

.p-fv__scroll {
	top: 50%;
	bottom: unset;
	left: unset;
	right: 0;
	transform: translateY(-50%);
}

.c-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.c-overlay.is-show {
  opacity: 1;
  visibility: visible;
}

.p-header {
	height: 10rem;
}

.p-header.colored::before {
	display: none;
}

.p-header__inner {
	padding-inline: 4rem;
}

.p-header__wrapper {
	flex-grow: 1;
}

.p-header__logo-wrapper {
	gap: 3.3rem;
}

.p-header__logo {
	width: 17.5rem;
}

.p-header__nav-wrapper {
	padding: initial;
	min-width: 94rem;
	width: 61.8421052632%;
	height: unset;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: unset;
	background-color: transparent;
	overflow: visible;
}

.p-header__nav {
	padding-left: 0.2rem;
	width: 40.4255319149%;
	max-width: 38rem;
}

.p-header__nav-list {
	padding-inline: 3rem;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	background-color: rgba(255, 255, 255, 0.8);
	border: 1px solid rgba(64, 104, 175, 0.15);
	border-radius: 6rem;
	backdrop-filter: blur(2rem);
	box-shadow: 0 2px 20px rgba(64, 104, 175, 0.15);
}

.p-header__nav-item a {
	padding: 2rem 1rem;
	font-size: 1.6rem;
	display: block;
}

.p-header__nav-item:has(.p-header__nav-sub-list--mega-menu-wrapper) a:not(.p-header__nav-sub-item a) {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.3rem;
}

.p-header__nav-item:has(.p-header__nav-sub-list--mega-menu-wrapper) a::after {
	content: "";
	width: 2rem;
	height: 2.2rem;
	background: url("../img/icon_arrow_01.png") no-repeat center center/contain;
	transform: rotate(180deg);
}

.p-header__nav-item:has(.p-header__nav-sub-list--mega-menu-wrapper):hover a::after {
	transform: rotate(0deg);
}

.p-header__nav-item:not(:first-child) a:not(.p-header__nav-sub-item a) {
	border-top: none;
}

.p-header__nav-item:last-child a {
	border-bottom: none;
}

.p-header__nav-item a.js-accordion::before,
.p-header__nav-item a.js-accordion::after {
	position: unset;
}

.p-header__nav-item a.js-accordion::before {
	content: none;
}

.p-header__nav-item a span:not(.p-header__nav-sub-item-text-arrow,
.p-header__nav-item-arrow) {
	display: none;
}

.p-header__nav-item-arrow {
	display: none;
}

.p-header__nav-sub-list {
	display: none;
}

.p-header__nav-sub-item a {
	padding: 1rem 4rem;
	font-size: 1.8rem;
}

.p-header__nav-sub-list--mega-menu-wrapper {
	padding-top: 1rem;
	min-width: 51.8rem;
	position: absolute;
	top: 100%;
	left: 0;
	display: block;
	border-radius: 1.6rem;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s;
}

.p-header__nav-item:hover .p-header__nav-sub-list--mega-menu-wrapper {
	opacity: 1;
	visibility: visible;
}

.p-header__nav-sub-list--mega-menu {
	padding: 2.4rem;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	background-color: #fff;
	border-radius: 1.6rem;
}

.p-header__nav-sub-list--mega-menu .p-header__nav-sub-item {
	width: 47.8723404255%;
}

.p-header__nav-sub-list--mega-menu .p-header__nav-sub-item a {
	padding: initial;
}

.p-header__nav-sub-list--mega-menu .p-header__nav-sub-item-image {
	width: 100%;
}

.p-header__nav-sub-list--mega-menu .p-header__nav-sub-item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 225/123;
	border-radius: 1rem;
}

.p-header__nav-sub-list--mega-menu .p-header__nav-sub-item-text {
	margin-top: 0.7rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
}

.p-header__nav-sub-list--mega-menu .p-header__nav-sub-item-text-arrow {
	width: 2.4rem;
	height: 2.4rem;
	flex-shrink: 0;
	position: relative;
	line-height: 1;
	background: linear-gradient(90deg, #1a5eb7 0%, #048ef1 100%);
	border-radius: 50%;
	vertical-align: middle;
}

.p-header__btn-wrapper {
	margin: initial;
	width: 39rem;
	flex-direction: row;
	justify-content: space-between;
}

.p-header__btn {
	width: 18.9rem;
}

.p-header__hamburger {
	display: none;
}

.page-id-30 .p-header {
	height: 9rem;
}

.page-id-30 .p-header.colored::before {
	display: block;
}

.page-id-30 .p-header__text {
	font-size: 1.8rem;
}

.page-id-30 .p-header__wrapper {
	gap: 3.3rem;
}

.page-id-30 .p-header__nav-wrapper {
	width: 67.6973684211%;
}

.page-id-30 .p-header__nav {
	width: fit-content;
	max-width: unset;
}

.page-id-30 .p-header__nav-list {
	padding-inline: initial;
	background-color: transparent;
	border: none;
	backdrop-filter: none;
	box-shadow: none;
}

.page-id-30 .p-header__nav-item a {
	padding-inline: 1.4rem;
	letter-spacing: 0.03em;
}

.page-id-30 .p-header__btn-wrapper--recruit {
	width: 18.9rem;
}

.p-header__btn-wrapper--recruit .p-header__btn .c-btn04__inner {
	padding: 1.8rem 1rem;
}

.p-mv {
	padding-top: 19rem;
	height: 49.9rem;
}

.p-mv::before {
	width: 67.8rem;
	height: 40.7rem;
}

.webp .p-mv::before {
	background: url("../img/bg_mv_01.webp") no-repeat center center/contain;
	opacity: 1;
}

.no-webp .p-mv::before {
	background: url("../img/bg_mv_01.png") no-repeat center center/contain;
}

.p-mv__title-text {
	margin-top: initial;
	margin-bottom: 3rem;
	padding-left: 6.3rem;
	font-size: 2.2rem;
}

.p-mv__breadcrumb {
	margin-top: 11.3rem;
}

.page-id-18 .p-mv,
.page-id-20 .p-mv {
	padding-top: 18rem;
}

.page-id-18 .p-mv__breadcrumb,
.page-id-20 .p-mv__breadcrumb {
	margin-top: 7.2rem;
}

.webp .page-id-32 .p-mv::before {
	background: url("../img/bg_mv_entry.webp") no-repeat top center/cover;
}

.no-webp .page-id-32 .p-mv::before {
	background: url("../img/bg_mv_entry.png") no-repeat top center/cover;
}

.p-page-top {
	right: 2rem;
}

.p-recruit-about__wrapper {
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.p-recruit-about__content {
	width: 40.5864197531%;
}

.p-recruit-about__catch {
	margin-top: 8.5rem;
	margin-left: -1.6rem;
}

.p-recruit-about__text {
	margin-top: 4rem;
}

.p-recruit-about__text + p {
	margin-top: 3rem;
}

.p-recruit-about__image {
	margin-top: -0.5rem;
	width: 54.7839506173%;
}

.p-recruit-about__image img {
	aspect-ratio: 710/560;
}

.p-recruit-application__inner {
	max-width: 90.6rem;
}

.p-recruit-application__content {
	margin-top: 5.3rem;
}

.p-recruit-application__item {
	grid-template-columns: 18.5227272727% 1fr;
}

.p-recruit-application__item dt {
	padding: 3rem 0 3rem 2rem;
	font-size: 1.6rem;
}

.p-recruit-application__item dd {
	padding: 3rem 2.6rem 3rem 6.2rem;
}

.p-recruit-application__text {
	line-height: 1.75;
}

.p-recruit-application__text-wrapper {
	text-indent: 0;
	padding-left: 0;
}

.p-recruit-application__text + p {
	margin-top: 3rem;
}

.p-recruit-application__text-list--row {
	align-items: center;
	gap: 3rem;
}

.p-recruit-application__text-item {
	line-height: 1.75;
}

.p-recruit-career__inner {
	max-width: 130rem;
}

.p-recruit-career__list {
	margin-top: 5.3rem;
	gap: 3.2rem;
}

.p-recruit-career__item {
	display: flex;
	margin-bottom: 4rem;
	padding: 4rem 5rem;
	flex-direction: row;
	align-items: flex-start;
	gap: 30px;
}

.p-recruit-career__item-image {
	flex: 0 0 20rem;
	width: 20rem;
}

.p-recruit-career__item-image img {
	width: 100%;
	height: auto;
}

.p-recruit-career__item-title {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 15px;
	line-height: 1.3;
}

.p-recruit-career__item__step-container {
	flex-direction: row;
	gap: 20px;
}

.p-recruit-career__item__step-box,
.p-recruit-career__item__step-box--current {
	flex: 1;
	min-height: 85px;
}

.p-recruit-career__item__step-box:not(:last-child)::after,
.p-recruit-career__item__step-box--current:not(:last-child)::after {
	border: none;
  background: linear-gradient(to bottom, #048EF1, #1A5EB7);
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  top: 50%;
  right: -15px;
	left: unset;
	bottom: unset;
  transform: translateY(-50%);
  width: 9px;
  height: 20px;
}

.p-recruit-education__inner {
	padding-bottom: 10rem;
}

.p-recruit-education__inner::before {
	width: 100%;
}

.p-recruit-education__head {
	padding: 1.8rem 3rem;
	font-size: 2.4rem;
	gap: unset;
}

.p-recruit-education__head span {
	font-size: 1.4rem;
}

.p-recruit-education__title {
	margin-top: 2.7rem;
}

.p-recruit-education__text {
	margin-top: 4rem;
	text-align: center;
}

.p-recruit-education__list {
	margin-top: 4rem;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 3rem;
}

.p-recruit-education__item {
	padding: 2rem;
	width: calc((100% - 60px) / 3);
}

.p-recruit-education__item-image {
	flex: 0 0 10.5rem;
	width: 10.5rem;
}

.p-recruit-education__item-image img {
	width: 100%;
	height: auto;
}

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

.webp .p-recruit-entry.lazyloaded {
	background: url("../img/bg_recruit_entry_01.webp") no-repeat center center/cover;
}

.no-webp .p-recruit-entry.lazyloaded {
	background: url("../img/bg_recruit_entry_01.png") no-repeat center center/cover;
}

.p-recruit-entry__text {
	margin-top: 4.2rem;
	text-align: center;
}

.p-recruit-entry__btn {
	margin-top: 4rem;
	width: 107.6rem;
}

.p-recruit-entry__btn .c-btn02__inner {
	padding: 3.5rem 6rem;
	flex-direction: row;
	align-items: center;
	font-size: 2.4rem;
}

.c-btn02__inner-content {
	width: fit-content;
	gap: 4rem;
}

.c-btn02__inner-text {
	font-size: 1.8rem;
}

.c-btn02__arrow {
	width: 4.2rem;
	height: 4.2rem;
}

.p-recruit-faq__inner {
	max-width: 90.6rem;
}

.p-recruit-faq__list {
	margin-top: 5rem;
	gap: 3rem;
}

.p-recruit-faq__item {
	border-radius: 1.6rem;
}

.p-recruit-faq__item-question-wrapper {
	padding: 3.2rem 7rem 3.2rem 4rem;
	cursor: pointer;
}

.p-recruit-faq__item-question-wrapper::before {
	right: 4rem;
}

.p-recruit-faq__item-question-wrapper::after {
	right: 4rem;
}

.p-recruit-faq__item-question {
	gap: 2.4rem;
}

.p-recruit-faq__item-answer {
	padding: 0 10rem 2.8rem 4rem;
	gap: 2.4rem;
}

.p-recruit-member__title {
	align-items: flex-start;
}

.p-recruit-member__list {
	margin-top: 5.5rem;
	grid-template-columns: repeat(3, 1fr);
	gap: 3.6rem;
}

.p-recruit-member__item {
	display: grid;
  grid-template-rows: auto 1fr;
}

.p-recruit-mv__inner {
	max-width: 147.6rem;
}

.p-recruit-mv__content {
	top: 19%;
	left: 8.7rem;
}

.p-recruit-mv__title {
	font-size: 6.2rem;
}

.p-recruit-mv__title::before {
	margin-bottom: 1rem;
	font-size: 2.4rem;
}

.p-recruit-mv__text {
	margin-top: 3.5rem;
	font-size: 2.4rem;
}

.p-recruit-mv__btn {
	margin-top: 5.5rem;
	margin-inline: initial;
	width: 37.6rem;
}

.p-recruit-mv__btn .c-btn02__inner {
	padding: 1.7rem 1.5rem 1.7rem 4rem;
	font-size: 2rem;
	letter-spacing: 0.03em;
}

.p-recruit-mv__btn .c-btn02__arrow {
	width: 4.2rem;
	height: 4.2rem;
}

.p-recruit-mv__image img {
	object-position: unset;
	aspect-ratio: unset;
}

.p-recruit-schedule__title {
	align-items: flex-start;
}

.p-recruit-schedule__wrapper {
	margin-top: 5.7rem;
	flex-direction: row-reverse;
	align-items: flex-start;
	justify-content: space-between;
}

.p-recruit-schedule__content {
	width: 48.1481481481%;
}

.p-recruit-schedule__content-list {
	margin-top: 3.5rem;
	gap: 2rem;
}

.p-recruit-schedule__content-item {
	gap: 2.4rem;
}

.p-recruit-schedule__content-item-image {
	width: 8rem;
}

.p-recruit-schedule__content-item-text {
	font-size: 1.8rem;
}

.p-recruit-schedule__content-sub-text {
	margin-top: 1.7rem;
}

.p-recruit-schedule__content-text {
	margin-top: 2rem;
}

.p-recruit-schedule__content-text + p {
	margin-top: 3rem;
}

.p-recruit-schedule__example {
	width: 48.1481481481%;
}

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

.p-recruit-schedule__example-content {
	padding: 4rem 4rem 2rem;
}

.p-recruit-schedule__example-item {
	grid-template-columns: 11.2rem 1fr;
}

.p-recruit-schedule__example-item:not(:last-child)::before {
	left: 4.3rem;
}

.p-recruit-schedule__example-item-title {
	width: 8.8rem;
}

.p-recruit__about {
	margin-top: 10rem;
	padding-bottom: 12rem;
}

.p-recruit__education {
	padding-block: 10rem 0;
}

.p-recruit__schedule {
	padding-block: 10rem;
}

.p-recruit__career {
	padding-block: 10rem;
}

.p-recruit__member {
	padding-block: 10rem;
}

.p-recruit__faq {
	padding-block: 11rem 10rem;
}

.p-recruit__application {
	padding-block: 10rem 12.7rem;
}

.p-recruit__entry {
	padding-block: 11.3rem 14.5rem;
}

.p-top-business__title-wrapper {
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.p-top-business__title-text {
	margin-top: 0.5rem;
	width: 59.4135802469%;
}

.p-top-business__list {
	margin-top: 8.5rem;
	gap: 8rem;
}

.p-top-business__item {
	padding: 6rem 8rem 6rem 6.9rem;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.p-top-business__item-image {
	width: 32.9555361813%;
}

.p-top-business__item-content {
	width: 61.7262423714%;
}

.p-top-business__item-title {
	font-size: 3.2rem;
}

.p-top-business__item-title::after {
	margin-top: 1.8rem;
}

.p-top-business__item-text {
	margin-top: 3rem;
}

.p-top-business__item-text + p {
	margin-top: 2.5rem;
}

.p-top-business__item-btn {
	margin-top: 4rem;
	margin-left: auto;
	width: 18.9rem;
}

.p-top-company__wrapper {
	padding-top: 6.8rem;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.p-top-company__content {
	margin-top: 8rem;
	width: 38.7345679012%;
	display: block;
	flex-shrink: 0;
}

.p-top-company__title {
	order: unset;
}

.p-top-company__text {
	margin-top: 6.2rem;
	order: unset;
}

.p-top-company__btn {
	margin-top: 6rem;
	margin-inline: initial;
	order: unset;
}

.p-top-company__btn .c-btn02__arrow {
	width: 3rem;
	height: 3rem;
}

.p-top-company__image {
	width: 80.4rem;
	order: unset;
	flex-shrink: 0;
	transform: translateX(7rem);
}

.p-top-intro__wrapper {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

.p-top-intro__content {
	width: 41.4351851852%;
}

.p-top-intro__catch {
	font-size: 5.2rem;
}

.p-top-intro__sub-catch {
	line-height: 1;
}

.p-top-intro__text {
	margin-top: 6rem;
}

.p-top-intro__text + p {
	margin-top: 3rem;
}

.p-top-intro__image {
	margin: initial;
	width: 52.0061728395%;
}

.p-top-recruit__inner {
	padding-right: 1.5rem;
	padding-left: 3.5rem;
	max-width: 136.8rem;
}

.p-top-recruit__wrapper {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
}

.p-top-recruit__content {
	padding-top: 14.7rem;
	width: 42.7162367223%;
}

.p-top-recruit__catch {
	margin-top: 6.5rem;
	font-size: 3.2rem;
}

.p-top-recruit__text {
	margin-top: 4rem;
	font-weight: 500;
	line-height: 1.75;
}

.p-top-recruit__btn {
	margin-top: 6rem;
	margin-inline: initial;
}

.p-top-recruit__btn .c-btn02__arrow {
	width: 3rem;
	height: 3rem;
}

.p-top-recruit__image-container {
	margin: initial;
	width: 50.8345978756%;
	height: 87.1rem;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.p-top-recruit__image-wrapper {
	margin: initial;
	width: 47.7611940299%;
	display: block;
}

.p-top-recruit__image-wrapper + .p-top-recruit__image-wrapper {
	margin-top: initial;
}

.p-top-recruit__image-list {
	display: block;
	animation: scroll-up 30s infinite linear 0.5s both;
}

.p-top-recruit__image-wrapper:nth-child(2) .p-top-recruit__image-list {
	animation: scroll-down 30s infinite linear 0.5s both;
}

.p-top-recruit__image-list + ul,
.p-top-recruit__image-item + li {
	margin-top: 3rem;
}

.p-top-recruit__image-list + ul {
	margin-left: initial;
}

.p-top-recruit__image-item {
	width: 100%;
}

.p-top-recruit__image-item img {
	border-radius: 1rem;
}

.p-top-recruit__image-wrapper:nth-child(1) .p-top-recruit__image-list .p-top-recruit__image-item:first-child img {
	aspect-ratio: 320/427;
}

.p-top-recruit__image-wrapper:nth-child(1) .p-top-recruit__image-list .p-top-recruit__image-item:nth-child(2) img {
	aspect-ratio: 320/267;
}

.p-top-recruit__image-wrapper:nth-child(1) .p-top-recruit__image-list .p-top-recruit__image-item:nth-child(3) img {
	aspect-ratio: 320/333;
}

.p-top-recruit__image-wrapper:nth-child(2) .p-top-recruit__image-list .p-top-recruit__image-item:first-child img {
	aspect-ratio: 320/246;
}

.p-top-recruit__image-wrapper:nth-child(2) .p-top-recruit__image-list .p-top-recruit__image-item:nth-child(2) img {
	aspect-ratio: 320/276;
}

.p-top-recruit__image-wrapper:nth-child(2) .p-top-recruit__image-list .p-top-recruit__image-item:nth-child(3) img {
	aspect-ratio: 320/288;
}

.p-top-recruit__image-wrapper:nth-child(2) .p-top-recruit__image-list .p-top-recruit__image-item:nth-child(4) img {
	aspect-ratio: 320/427;
}

.p-workcation__head-image {
	margin: initial;
	width: 100%;
}

.p-workcation__head-image img {
	aspect-ratio: 1296/500;
	border-radius: 1rem;
}

.p-workcation__head-text {
	margin-top: 6rem;
}

.p-workcation__head-text + p {
	margin-top: 2.7rem;
}

.p-workcation__strength {
	padding-block: 10rem 8.5rem;
}

.p-workcation__strength-container {
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.p-workcation__strength-title {
	margin-top: 1.8rem;
}

.p-workcation__strength-wrapper {
	width: 67.9012345679%;
}

.p-workcation__strength-link {
	padding: 15.5rem 17rem;
}

.p-workcation__strength-link-wrapper {
	width: 34.1rem;
	height: 34.1rem;
}

.p-workcation__strength-link-content-item {
	width: 19.7rem;
	height: 19.7rem;
}

.p-workcation__strength-link-content-item a {
	padding-top: 3.5rem;
	justify-content: flex-start;
	gap: 1rem;
}

.p-workcation__strength-link-content-item:first-child a {
	padding-top: 2.5rem;
}

.p-workcation__strength-link-content-item-image {
	width: 7.1rem;
}

.p-workcation__strength-link-content-item-text {
	font-size: 2.017rem;
	line-height: 1;
}

.p-workcation__strength-link-center {
	width: 30.8rem;
	height: 30.8rem;
}

.p-workcation__strength-link-text {
	margin-bottom: 1.4rem;
	font-size: 3.851rem;
}

.p-workcation__strength-link-text span {
	margin-top: 1.5rem;
	font-size: 2.017rem;
}

.p-workcation__strength-list {
	margin-top: 6.6rem;
	gap: 3.8rem;
}

}

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

.hover {
	transition: all 0.3s;
}

.hover:hover {
	opacity: 0.7;
	transition: all 0.3s;
}

}

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

.c-card02__head-content {
	width: 58%;
}

.c-cta__list {
	grid-template-columns: 34rem 32rem 34.5rem;
	justify-content: center;
	gap: 2rem;
}

.c-cta__item-btn {
	width: 100%;
}

.p-company-history__item:not(:last-child)::before {
	left: 13.2rem;
}

.p-consultant__clients-list {
	width: 97%;
	gap: 1.6rem;
}

.p-footer__nav {
	width: 61%;
}

.page-id-30 .p-header__nav-wrapper {
	min-width: unset;
	width: 73%;
}

.page-id-30 .p-header__nav-item a {
	font-size: 1.3rem;
	padding-inline: 1rem;
}

.p-top-company__image {
	width: 70rem;
	transform: unset;
}

.p-recruit-career__inner {
	max-width: 112.6rem;
}

}

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

.c-card02__head-content {
	width: 63.0681818182%;
}

.c-cta__list {
	grid-template-columns: 36.3rem 33.4rem 37.6rem;
	justify-content: flex-start;
	gap: 5.5rem;
}

.c-cta__item-btn {
	width: 37.6rem;
}

.p-company-history__item:not(:last-child)::before {
	left: 15%;
}

.p-consultant__clients-list {
	width: 91%;
	gap: 2.7rem 8rem;
}

.p-footer__nav {
	width: 47.0679012346%;
}

.page-id-30 .p-header__nav-item a {
	font-size: 1.4rem;
}

.p-top-company__image {
	width: 80.4rem;
	transform: translateX(7rem);
}

}

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

.page-id-30 .p-header__nav-wrapper {
	width: 67.6973684211%;
}

.page-id-30 .p-header__nav-item a {
	padding-inline: 1.4rem;
	letter-spacing: 0.03em;
	font-size: 1.6rem;
}

}

@media (min-width: 1920px) {

.webp .page-id-32 .p-mv::before {
	background: url("../img/bg_mv_entry.webp") no-repeat bottom center/cover;
}

.no-webp .page-id-32 .p-mv::before {
	background: url("../img/bg_mv_entry.png") no-repeat bottom center/cover;
}

}

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

html,
body {
	font-size: 0.625vw;
}

}

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

html,
body {
	font-size: 2.6666666667vw;
}

.tb {
	display: none;
}

.pc {
	display: none;
}

.sp {
	display: block;
}

.l-inner {
	max-width: 100%;
	width: 100%;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

}

@keyframes scroll-left {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-100%);
}

}

@keyframes scrollDot {

0% {
	transform: translateY(0);
	opacity: 0;
}

20% {
	opacity: 1;
}

80% {
	transform: translateX(20px);
	opacity: 1;
}

100% {
	transform: translateX(30px);
	opacity: 0;
}

}

@keyframes scroll-up {

from {
	transform: translateY(0);
}

to {
	transform: translateY(-100%);
}

}

@keyframes scroll-down {

from {
	transform: translateY(-100%);
}

to {
	transform: translateY(0);
}

}

@keyframes scroll-right {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-100%);
}

}

@keyframes scroll-left {

from {
	transform: translateX(-100%);
}

to {
	transform: translateX(0);
}

}

@keyframes Rotate {

from {
	transform: rotate(0deg);
}

to {
	transform: rotate(360deg);
}

}

@keyframes Rotate-reverse {

from {
	transform: rotate(360deg);
}

to {
	transform: rotate(0deg);
}

}

  /* セキュリティ方針 */
  .p-security-policy{
	padding-top: 8rem;
	padding-bottom: 12rem;
  }
.p-security-policy .security-dl {
  display: block;
}
.p-security-policy .security-dt {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 4px;
  line-height: 1.75;
}
.p-security-policy .security-dd {
	width: auto;
	border-bottom: none;
	margin-bottom: 5rem;
	font-size: 1.6rem;
	line-height: 1.75;
	font-weight: 400;
}
.security-date{
  text-align: right;
  font-size: 1.6rem;
  margin-top: 4rem;
  line-height: 1.5;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
	.p-security-policy{
	padding-bottom: 15rem;
  }
	.p-security-policy .security-dt {
  font-size: 2rem;
}
.p-security-policy .security-dd {
	font-size: 1.6rem;
}
.security-date{
  font-size: 1.6rem;
  margin-top: 6rem;
}

}
/* セキュリティ方針 */