/********************************
* インナー
********************************/

/********************************
* フォント
********************************/

/********************************
* カラー
********************************/

/* ふわふわアニメーションここから */

/* 縦のふわふわ指定 */

.fuwafuwa01 {
	-webkit-animation: fuwafuwa 3s infinite ease-in-out;
	        animation: fuwafuwa 3s infinite ease-in-out;
	-webkit-animation-delay: 0s;
	        animation-delay: 0s;
}

.fuwafuwa02 {
	-webkit-animation: fuwafuwa 3s infinite ease-in-out;
	        animation: fuwafuwa 3s infinite ease-in-out;
	-webkit-animation-delay: 0.5s;
	        animation-delay: 0.5s; /* 0.5秒遅らせる */
}

.fuwafuwa03 {
	-webkit-animation: fuwafuwa 3s infinite ease-in-out;
	        animation: fuwafuwa 3s infinite ease-in-out;
	-webkit-animation-delay: 1s;
	        animation-delay: 1s; /* 1秒遅らせる */
}

.fuwafuwa04 {
	-webkit-animation: fuwafuwa 3s infinite ease-in-out;
	        animation: fuwafuwa 3s infinite ease-in-out;
	-webkit-animation-delay: 1.5s;
	        animation-delay: 1.5s; /* 1.5秒遅らせる */
}

/* 横のふわふわ指定 */

/* 縦のふわふわの動き */

/* ふわふわアニメーションここまで */

.p-fv__txt.matrix .bg-wrap,
.p-fv__txt.matrix .bg-wrap .inn {
	display: block;
}

.p-fv__txt.matrix .bg-wrap {
	opacity: 0;
	overflow: hidden;
}

.p-fv__txt.matrix .bg-wrap .inn.large {
	font-size: 0; /* テキストサイズの初期値をリセット */
}

.p-fv__txt.matrix .bg-wrap .inn img {
	display: block;
	height: auto;
	width: 100%;
}

.p-fv__txt.matrix .bg-wrap .inn {
	opacity: 0;
	-webkit-transform: matrix(1, 0, 0, 1, 0, 100);
	        transform: matrix(1, 0, 0, 1, 0, 100);
	-webkit-transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
	transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.p-fv__txt.matrix.is-animated .bg-wrap {
	opacity: 1;
}

.p-fv__txt.matrix.is-animated .bg-wrap .inn {
	opacity: 1;
	-webkit-transform: matrix(1, 0, 0, 1, 0, 0);
	        transform: matrix(1, 0, 0, 1, 0, 0);
}

html {
	font-size: 16px;
}

body {
	background-color: #ffffff;
	color: #000000;
	font-family: "Noto Sans JP", sans-serif;
}

/* link */

/* ============================================ */

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

a:hover {
	opacity: 0.8;
}

/* img */

/* ============================================ */

img {
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
	width: 100%;
}

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

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */

/* ============================================ */

*,
::before,
::after {
	border-style: solid;
	border-width: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

/* Document */

/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
	-webkit-text-size-adjust: 100%; /* 2 */
	-webkit-tap-highlight-color: transparent; /* 3*/
	line-height: 1.15; /* 1 */
}

/* Sections */

/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
	display: block;
	overflow: hidden;
}

/* Vertical rhythm */

/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0;
}

/* Headings */

/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
}

h1.wp-block-heading {
	font-size: 1.5rem;
	font-weight: revert;
	margin: 0;
}

h2.wp-block-heading {
	font-size: 1.5rem;
	font-weight: revert;
	margin: 0;
}

h3.wp-block-heading {
	font-size: 1.4rem;
	font-weight: revert;
	margin: 0;
}

h4.wp-block-heading {
	font-size: 1.3rem;
	font-weight: revert;
	margin: 0;
}

h5.wp-block-heading {
	font-size: 1.2rem;
	font-weight: revert;
	margin: 0;
}

h6.wp-block-heading {
	font-size: 1.1rem;
	font-weight: revert;
	margin: 0;
}

/* Lists (enumeration) */

/* ============================================ */

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

/* Lists (definition) */

/* ============================================ */

dt {
	font-weight: bold;
}

dd {
	margin-left: 0;
}

/* Grouping content */

/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
	border-top-width: 1px;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box; /* 1 */
	clear: both;
	color: inherit;
	height: 0; /* 1 */
	margin: 0;
	overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: inherit; /* 2 */
}

address {
	font-style: inherit;
}

/* Text-level semantics */

/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
	background-color: transparent;
	color: inherit;
	text-decoration: none;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Replaced content */

/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

svg,
img,
embed,
object,
iframe {
	vertical-align: bottom;
}

/* Forms */

/* ============================================ */

/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */

button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none; /* 1 */
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border-radius: 0;
	color: inherit;
	font: inherit;
	margin: 0;
	padding: 0;
	text-align: inherit;
	text-transform: inherit; /* 2 */
	vertical-align: middle;
}

/**
 * Correct cursors for clickable elements.
 */

button,
[type=button],
[type=reset],
[type=submit] {
	cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
	cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */

:-moz-focusring {
	outline: auto;
}

select:disabled {
	opacity: inherit;
}

/**
 * Remove padding
 */

option {
	padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
	margin: 0;
	min-width: 0;
	padding: 0;
}

legend {
	padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
	overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * Correct the outline style in Safari.
 */

[type=search] {
	outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */

[type=number] {
	-moz-appearance: textfield;
}

/**
 * Clickable labels
 */

label[for] {
	cursor: pointer;
}

/* Interactive */

/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable]:focus {
	outline: auto;
}

/* Tables */

/* ============================================ */

/**
1. Correct table border color inheritance in all Chrome and Safari.
*/

table {
	border-collapse: collapse;
	border-color: inherit; /* 1 */
}

caption {
	text-align: left;
}

td,
th {
	padding: 0;
	vertical-align: top;
}

th {
	font-weight: bold;
	text-align: left;
}

.js-accordion-summary {
	cursor: pointer;
}

#opv-wrap {
	position: relative;
}

.movie__btn {
	bottom: 2.5rem;
	position: absolute;
	right: 2.5rem;
	z-index: 10;
}

.js-video-button {
	background: url("../video/volume-off@2x.png") no-repeat center center;
	background-size: contain;
	border: none;
	cursor: pointer;
	height: 50px;
	width: 50px;
}

.js-video-button.muted {
	background: url("../video/volume-on@2x.png") no-repeat center center;
	background-size: contain;
}

/* スライダー */

#volume-slider {
	-webkit-appearance: none; /* Webkit ベースのブラウザでデフォルトのスタイルをリセット */
	-moz-appearance: none;
	appearance: none;
	background: #ccc; /* スライダーの背景色 */
	border-radius: 5px; /* スライダーの角を丸く */
	height: 0.375rem; /* スライダーの高さ */
	outline: none; /* フォーカス時のアウトラインを削除 */
	position: relative;
	width: 10rem; /* スライダーの幅 */
}

/* スライダーの進行部分 */

#volume-slider::-webkit-slider-runnable-track {
	background: #ccc; /* トラックの色 */
	border-radius: 5px; /* トラックの角を丸く */
	height: 0.25rem; /* トラックの高さ */
}

/* スライダーの背後のバー */

#volume-slider::-webkit-slider-runnable-track {
	background: #ccc;
}

.l-body {
	padding-bottom: 6.25rem;
	padding-top: 3.875rem;
}

.l-column {
	grid-gap: 2.75rem;
	display: -ms-grid;
	display: grid;
	gap: 2.75rem;
	-ms-grid-columns: 1fr 13.625rem;
	grid-template-columns: 1fr 13.625rem;
	margin-block: 2rem 5.4375rem;
	margin-inline: auto;
	max-width: 1200px;
	padding-inline: 20px;
}

.l-header {
	position: relative;
}

.l-header__top {
	padding-bottom: 0.5625rem;
	padding-top: 1.6875rem;
}

.l-header__bottom {
	height: 3.125rem;
	width: 100%;
}

.l-inner {
	margin: 0 auto;
	max-width: 1040px;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

.l-inner.l-inner--header {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	max-width: 1480px;
}

.l-inner.l-inner--recruit {
	max-width: 1480px;
}

.c-btn-txt {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	color: #1C264A;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	gap: 0.625rem;
	height: 2.1875rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding-right: 0.875rem;
}

.c-btn-txt.c-btn-txt--topics {
	color: #0067B0;
	margin-left: auto;
	padding-inline: 0;
}

.c-btn-txt span {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.c-btn-txt span img {
	height: 0.375rem;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 2.3125rem;
}

.c-kv {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 23.3333333333vw;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	max-height: 350px;
	width: 100%;
}

.c-kv hgroup {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	    -ms-flex-direction: column-reverse;
	        flex-direction: column-reverse;
	gap: 1rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.c-kv__ttl-ja {
	color: #ffffff;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.4285714286;
}

.c-kv__ttl-en {
	color: #ffffff;
	font-family: "Noto Serif JP", serif;
	font-size: 4.75rem;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1.2;
}

.c-kv--topics {
	background: url("../images/topics/topics-kv@2x.png") no-repeat center center/cover;
}

.c-kv--company {
	background: url("../images/company/company-kv@2x.png") no-repeat center center/cover;
}

.c-kv--facility {
	background: url("../images/facility/facility-kv@2x.png") no-repeat center center/cover;
}

.c-kv--works {
	background: url("../images/works/works-kv@2x.png") no-repeat center center/cover;
}

.c-kv--contact {
	background: url("../images/contact/contact-kv@2x.png") no-repeat center center/cover;
}

/* Dialogリセットスタイル */

dialog {
	border: none;
	border-radius: 8px;
	-webkit-box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
	        box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
	max-width: 90%;
	padding: 1rem;
	width: 600px;
}

dialog::-ms-backdrop {
	background: rgba(0, 0, 0, 0.5);
}

dialog::backdrop {
	background: rgba(0, 0, 0, 0.5);
}

.youtube {
	aspect-ratio: 16/9;
	width: 100%;
}

.youtube iframe {
	height: 100%;
	width: 100%;
}

.modal-video {
	background-color: rgba(0, 0, 0, 0.9) !important;
}

.c-text {
	font-style: normal;
	font-weight: 600;
	line-height: 1.875;
}

.c-text--indent {
	padding-left: 1em;
	text-indent: -1em;
}

.c-text--indent2 {
	padding-left: 2em;
	text-indent: -2em;
}

.c-text--up {
	margin-top: 1.875rem;
}

.c-text--up2 {
	margin-top: 1.875rem;
}

.c-ttl {
	color: #1C264A;
	font-family: "Lusitana", serif;
	font-weight: 400;
	position: relative;
}

.c-ttl.c-ttl--topics {
	font-size: 2.1875rem;
	letter-spacing: 0.015em;
	line-height: 1.2571428571;
}

.c-ttl.c-ttl--works {
	font-size: 6.75rem;
	letter-spacing: 0.015em;
	line-height: 1.3888888889;
	-webkit-transform: translateX(-0.9375rem);
	        transform: translateX(-0.9375rem);
}

.c-ttl.c-ttl--other {
	font-size: 3.5rem;
	letter-spacing: 0.01em;
	line-height: 1.25;
	margin-top: 0.5rem;
}

.c-ttl.c-ttl--recruit {
	color: #0071BC;
	font-size: 3.5rem;
	letter-spacing: 0.01em;
	line-height: 1.25;
	margin-top: 1.5rem;
}

.p-comming {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #ffffff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	height: 60dvh;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	position: relative;
	text-align: center;
	width: 100%;
}

.p-comming__contact {
	width: 100%;
}

.p-company {
	background: #000;
}

.p-company__message {
	padding-bottom: 12.1875rem;
	padding-top: 6.875rem;
}

.p-company__message-ttl {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1.75rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2;
	text-align: center;
}

.p-company__message-txt {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2.1875;
	margin-top: 2.5rem;
	text-align: center;
}

.p-company__message-img {
	margin-inline: auto;
	margin-top: 5rem;
	max-width: 38rem;
	width: 100%;
}

.p-company__greeting {
	padding-top: 7.5rem;
}

.p-company__greeting-box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 2.25rem;
	margin-top: 4.5rem;
}

.p-company__ttl {
	border-bottom: 1px solid #1C264A;
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.3571428571;
	padding-bottom: 1rem;
	text-align: center;
}

.p-company__greeting-box-left-txt {
	color: #000000;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 2.2142857143;
	text-align: left;
}

.p-company__greeting-box-left {
	max-width: 34.5rem;
	width: 100%;
}

.p-company__greeting-box-right {
	width: calc(100% - 34.5rem);
}

.p-company__message-name {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	color: #000000;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1.6875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.8888888889;
	margin-top: 2.5rem;
	text-align: left;
}

.p-company__message-name-ttl {
	color: #000000;
	display: inline-block;
	font-family: "Noto Serif JP", serif;
	font-size: 1.1875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2.6842105263;
	padding-right: 1.5rem;
}

.p-company__overview {
	margin-top: 13.375rem;
}

.p-company__overview-box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 2.25rem;
	margin-top: 4.5rem;
}

.p-company__overview-box-left {
	width: calc((100% - 2.25rem) / 2);
}

.p-company__overview-box-right {
	width: calc((100% - 2.25rem) / 2);
}

.p-company__overview-table {
	border-bottom: 1px solid #1C264A;
	width: 100%;
}

.p-company__overview-table tr {
	border-top: 1px solid #1C264A;
	width: 100%;
}

.p-company__overview-table th {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2;
	padding-block: 1rem;
	padding-left: 0.5rem;
	text-align: left;
	width: 8.25rem;
}

.p-company__overview-table td {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2;
	padding-block: 1rem;
	text-align: left;
	width: calc(100% - 8.25rem);
}

.p-company__base {
	padding-bottom: 11.25rem;
	padding-top: 8.75rem;
}

.p-company__base-box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 2.25rem;
	margin-top: 4.5rem;
}

.p-company__base-box-left {
	width: 23.125rem;
}

.p-company__base-box-right {
	width: calc(100% - 23.125rem);
}

.p-company__base-box-sub {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2;
	margin-top: 1.875rem;
	text-align: center;
}

.p-company__base-box-sub address {
	display: inline;
}

.p-contact {
	padding-bottom: 12.1875rem;
	padding-top: 7.5rem;
}

.p-contact__message {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1.75rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2;
	text-align: center;
}

.p-contact__table-message {
	margin-inline: auto;
	margin-top: 3.75rem;
	text-align: center;
}

.p-contact__table-message-txt {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5625;
}

.p-contact__body {
	margin-top: 5.5rem;
}

.p-contact__body__inner {
	border-top: 1px solid #1A2548;
	margin: 0 auto;
	max-width: 1000px;
}

.p-contact__table {
	margin-top: 2.25rem;
	width: 100%;
}

.p-contact__table tr {
	margin-block: 0.5rem;
}

.p-contact__table th {
	font-weight: bold;
	padding-block: 0.875rem;
	width: 10.3125rem;
}

.p-contact__table th p {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 1rem;
	height: 3.125rem;
}

.p-contact__table td {
	padding-block: 0.875rem;
}

.p-contact__table td .wpcf7-form-control-wrap {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	position: relative;
}

.p-contact__table td .wpcf7-list-item.first {
	margin: 0;
}

.p-contact__table td .wpcf7-not-valid-tip {
	margin-top: 0.5rem;
}

.p-contact__table td.check p {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.p-contact__table td.table-box p {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 3.125rem;
}

.p-contact__table input[type=text],
.p-contact__table input[type=email],
.p-contact__table textarea {
	border: 1px solid #1A2548;
	font-size: 0.875rem;
	line-height: 1.125;
	padding: 1rem;
	width: 100%;
}

.p-contact__table input[type=radio] {
	display: none; /* ラジオボタンを非表示にする */
}

.p-contact__table label {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
}

.p-contact__table label input[type=radio] + .wpcf7-list-item-label {
	padding-left: 30px; /* ラジオボタン分のスペースを確保 */
	position: relative;
}

.p-contact__table label input[type=radio] + .wpcf7-list-item-label::before {
	background-color: white;
	border: 1px solid #000;
	content: "";
	height: 20px;
	left: 0;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	width: 20px;
}

.p-contact__table input[type=radio]:checked + .wpcf7-list-item-label::before {
	background-color: #000; /* チェックされると背景が黒になる */
}

.p-contact__table input[type=radio]:checked + .wpcf7-list-item-label::after {
	color: white; /* レ点を白色にする */
	content: "✓"; /* レ点（✔）を表示 */
	font-size: 16px;
	left: 4px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.p-contact__table label input[type=checkbox] + .wpcf7-list-item-label {
	padding-left: 30px; /* チェックボックス分のスペースを確保 */
	position: relative;
}

.p-contact__table label input[type=checkbox] + .wpcf7-list-item-label::before {
	background-color: white;
	border: 1px solid #000;
	content: "";
	height: 20px;
	left: 0;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	width: 20px;
}

.p-contact__table input[type=checkbox]:checked + .wpcf7-list-item-label::before {
	background-color: #000; /* チェックされると背景が黒になる */
}

.p-contact__table input[type=checkbox]:checked + .wpcf7-list-item-label::after {
	color: white; /* レ点を白色にする */
	content: "✓"; /* レ点（✔）を表示 */
	font-size: 16px;
	left: 4px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

#radio-19,
#checkbox-354 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	gap: 0.75rem;
}

.wpcf7-list-item label input[type=checkbox] + .wpcf7-list-item-label {
	padding-left: 30px; /* チェックボックス分のスペースを確保 */
	position: relative;
}

.wpcf7-list-item label input[type=checkbox] + .wpcf7-list-item-label::before {
	background-color: white;
	border: 1px solid #000;
	content: "";
	height: 20px;
	left: 0;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	width: 20px;
}

.wpcf7-list-item input[type=checkbox]:checked + .wpcf7-list-item-label::before {
	background-color: #000; /* チェックされると背景が黒になる */
}

.wpcf7-list-item input[type=checkbox]:checked + .wpcf7-list-item-label::after {
	color: white; /* レ点を白色にする */
	content: "✓"; /* レ点（✔）を表示 */
	font-size: 16px;
	left: 4px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

.p-contact__table-message-txt {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5625;
}

.p-contact__table-message-txt a {
	color: #0067B0;
	text-decoration: underline;
}

.p-contact__table-agree {
	margin-top: 3rem;
}

.wpcf7-form-control.wpcf7-submit,
input[type=button],
a.back {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: #0067B0;
	border-radius: 100vmax;
	color: #FFF;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.25rem;
	height: 3.75rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	letter-spacing: 0.2em;
	line-height: 1.75;
	margin-inline: auto;
	margin-top: 2.5rem;
	width: 12rem;
}

a.back {
	margin-top: 3.5rem;
}

/*確認画面と完了画面を非表示*/

.p-contact__confirm_area,
.thanks_area {
	display: none;
}

/*デフォルトのサンクスメッセージを非表示*/

.wpcf7-response-output {
	display: none;
}

input[type=button]:disabled {
	background: gray !important;
	color: #FFF !important;
}

.p-contact__confirm_area .p-contact__table tr {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.p-contact__confirm_area td {
	color: #0067B0;
	font-weight: bold;
}

.p-contact__confirm_area .button-wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.p-contact__confirm_area .button-wrap p {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 2.5rem;
	width: 25rem;
}

.p-contact__confirm_area .wpcf7-spinner {
	display: none;
}

.p-works__contact-birth-wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-weight: bold;
}

.p-works__contact-birth01 {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.p-works__contact-birth01-input {
	margin-inline: 0.75rem;
	width: 9.375rem;
}

.p-works__contact-birth02 {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.p-works__contact-birth02-input {
	margin-inline: 0.75rem;
	width: 4rem;
}

.p-works__contact-birth03 {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.p-works__contact-birth03-input {
	margin-inline: 0.75rem;
	width: 4rem;
}

.error .wpcf7-not-valid-tip {
	display: none;
}

.error .error-message {
	color: red;
	display: none;
	margin-top: 0.5rem;
}

.error:has(.wpcf7-not-valid-tip) .error-message {
	display: block;
}

.confirm_your-birth-month,
.confirm_your-birth-year,
.confirm_your-birth-day {
	text-align: center;
}

.p-facility__img01 {
	height: auto;
	margin-top: 4rem;
	width: 100%;
}

.p-facility__img-small {
	width: 32.875rem;
}

.p-facility__box-right {
	width: calc(100% - 32.875rem);
}

.p-facility__box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 3.875rem;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	margin-top: 3.75rem;
}

.p-facility__box-right-ttl {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.7083333333;
}

.p-facility__box-right-txt {
	color: #000000;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 2.2142857143;
	margin-top: 1.25rem;
}

.p-facility__box-right-list {
	grid-gap: 0.625rem;
	color: #1C264A;
	display: -ms-grid;
	display: grid;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 500;
	gap: 0.625rem;
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
	line-height: 1.6;
	margin-top: 1.5rem;
}

.p-facility__btn {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: #1C264A;
	color: #ffffff;
	color: #ffffff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1.125rem;
	font-weight: 500;
	height: 4.0625rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	letter-spacing: 0.3em;
	line-height: 2.6666666667;
	margin-top: 3.75rem;
	width: 100%;
}

.p-facility__icon {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 1.75rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin-right: 1rem;
	width: 1.75rem;
}

.movie {
	cursor: pointer;
	margin: 3.75rem auto 1.875rem;
	position: relative;
	width: 100%;
}

.movie-inner {
	aspect-ratio: 16/9;
	display: block;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.thumb {
	height: auto;
	max-width: 100%;
	width: 100%;
}

.movie-player {
	position: relative;
	z-index: 10;
}

.p-footer {
	padding-bottom: 1.25rem;
	padding-top: 2rem;
}

.p-footer__nav-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.p-footer__nav-link {
	color: #211815;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7142857143;
	padding: 0.3125rem 0.75rem;
}

.p-footer__logo {
	margin-top: 8.5rem;
	text-align: center;
}

.p-footer__logo img {
	height: auto;
	text-align: center;
	width: 20rem;
}

.p-footer__copyright {
	color: #211815;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.75;
	margin-top: 1.25rem;
	text-align: center;
}

#opv-wrap {
	display: none;
}

.p-fv {
	aspect-ratio: 1653/1177;
	background: url("../images/top/fv@2x.jpg") no-repeat center center/cover;
	display: none;
	height: calc(100dvh - 5.25rem);
	position: relative;
	width: 100%;
}

video#opv {
	aspect-ratio: 1653/1177;
	display: block;
	height: calc(100dvh - 5.25rem);
	width: 100%;
}

.p-fv__txt {
	height: 6.75rem;
	left: 50%;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	width: 63.125rem;
}

.p-header {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: #ffffff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 7.2413793103vw;
	max-height: 84px;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 10000;
}

.p-header__logo {
	height: 3.6206896552vw;
	max-height: 42px;
	max-width: 548px;
	width: 47.2413793103vw;
}

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

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

.p-header__nav {
	margin-left: auto;
}

.p-header__nav-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 1.75rem;
}

.p-header__nav-link {
	color: #1C264A;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.2068965517vw;
	font-weight: 500;
	line-height: 1.7142857143;
}

.p-header__nav-link:first-child {
	border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.header__nav-lists {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 4.375rem;
}

.header__nav-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.header__nav-list-contact {
	margin-top: 1.125rem;
}

.header__nav-link {
	display: block;
	text-align: center;
	width: 100%;
}

.header__nav-link p {
	font-size: 1rem;
	line-height: 1.75;
}

.header__nav-link span {
	font-size: 0.75rem;
	font-weight: bold;
	line-height: 1.4;
}

.header__under .header__nav-link {
	position: relative;
}

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

.p-header__hamburger {
	outline: none;
	position: relative;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	width: 40px;
}

.p-header__hamburger-line {
	height: 20px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	-webkit-transition: inherit;
	transition: inherit;
	width: 28px;
	z-index: 1002;
}

.p-header__hamburger-line {
	font-size: 0;
}

.p-header__hamburger-line,
.p-header__hamburger-line::before,
.p-header__hamburger-line::after {
	background-color: #1C264A;
	content: "";
	display: block;
	height: 0.125rem;
	position: absolute;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	width: 1.75rem;
	z-index: 100;
}

.p-header__hamburger--top .p-header__hamburger-line,
.p-header__hamburger--top .p-header__hamburger-line::before,
.p-header__hamburger--top .p-header__hamburger-line::after {
	background-color: #1C264A;
}

.p-header__hamburger-line::after {
	right: 0;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.p-header__hamburger-line::before {
	bottom: 0.25rem;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.p-header__hamburger-line::after {
	top: 0.25rem;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.p-header__hamburger-menu-txt {
	bottom: 0.5625rem;
	font-size: 0.625rem;
	position: absolute;
}

.p-header__nav-button[aria-expanded=true] .p-header__hamburger-line {
	background-color: transparent;
}

.p-header__nav-button[aria-expanded=true] .p-header__hamburger-line::before {
	bottom: 0;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}

.p-header__nav-button[aria-expanded=true] .p-header__hamburger-line::after {
	top: 0;
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
	width: 1.875rem;
}

.visuallyHidden {
	clip: rect(0 0 0 0);
	border: 0;
	-webkit-clip-path: inset(50%);
	        clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.p-recruit__fv {
	height: 64.6666666667vw;
	margin: 0 auto;
	max-width: 1500px;
	position: relative;
	width: 100vw;
}

.p-recruit__fv-sp {
	display: none;
}

.p-recruit__fv img {
	opacity: 0; /* 初期状態で非表示にする */
}

.p-recruit__kv-img01 {
	height: 16.7333333333vw;
	left: -17.1333333333vw;
	position: absolute;
	top: 0;
	width: 47.2666666667vw;
	z-index: 1;
}

.p-recruit__kv-img02 {
	height: 15.0666666667vw;
	left: 3.4666666667vw;
	position: absolute;
	top: 17.2666666667vw;
	width: 19.2vw;
}

.p-recruit__kv-img03 {
	height: 32.2vw;
	left: 16.6666666667vw;
	position: absolute;
	top: 0;
	width: 49.3333333333vw;
}

.p-recruit__kv-img04 {
	height: 16.6666666667vw;
	position: absolute;
	right: 16.6666666667vw;
	top: 0;
	width: 24.0666666667vw;
}

.p-recruit__kv-img05 {
	height: 15.0666666667vw;
	position: absolute;
	right: 24vw;
	top: 17.2666666667vw;
	width: 23.4vw;
}

.p-recruit__kv-img06 {
	height: 16.6666666667vw;
	position: absolute;
	right: 4.5333333333vw;
	top: 0;
	width: 18.8vw;
}

.p-recruit__kv-img07 {
	height: 15.0666666667vw;
	position: absolute;
	right: -17.8666666667vw;
	top: 17.2666666667vw;
	width: 47.8666666667vw;
}

.p-recruit__kv-img08 {
	height: 32.2vw;
	left: 2.5333333333vw;
	position: absolute;
	top: 32.6666666667vw;
	width: 55.8vw;
}

.p-recruit__kv-img08-box {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	color: #ffffff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	height: 32.2vw;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	left: 2.5333333333vw;
	position: absolute;
	top: 32.6666666667vw;
	width: 55.8vw;
	z-index: 2;
}

.p-recruit__kv-img08-box-inner {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	margin-left: 5.3333333333vw;
	width: 21.3333333333vw;
}

.p-recruit__kv-img08-box-ttl {
	position: relative;
}

.p-recruit__kv-img08-box-ttl {
	font-size: 5.6vw;
}

.p-recruit__kv-img08-box-ttl-ja {
	font-family: "Lusitana", serif;
	font-size: 1.2vw;
	left: 6vw;
	letter-spacing: 0.1em;
	position: absolute;
	top: 4vw;
}

.p-recruit__kv-img08-box-ttl-en {
	font-family: "Lusitana", serif;
	font-size: 3.2vw;
	letter-spacing: 0.1em;
}

.p-recruit__kv-img08-box-ttl-en::first-letter {
	font-size: 8.3333333333vw;
}

.p-recruit__kv-img08-box-txt {
	font-family: "Lusitana", serif;
	font-size: 1.375rem;
	font-size: 1.4666666667vw;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2;
}

.p-recruit__kv-img09 {
	height: 32.2vw;
	position: absolute;
	right: 12.1333333333vw;
	top: 32.6666666667vw;
	width: 42.8666666667vw;
}

.p-recruit__interview {
	padding-top: 6.75rem;
	position: relative;
}

.p-recruit__interview-ttl-ja {
	color: #1C264A;
	font-family: "Lusitana", serif;
	font-size: 1.125rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 2.6666666667;
}

.p-recruit__interview-ttl-en {
	color: #1C264A;
	font-family: "Lusitana", serif;
	font-size: 4.25rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1;
}

.p-recruit__interview-ttl-box hgroup {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	    -ms-flex-direction: column-reverse;
	        flex-direction: column-reverse;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.p-recruit__interview-list {
	grid-gap: 50px 56px;
	display: -ms-grid;
	display: grid;
	gap: 50px 56px;
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
	margin-top: 4.125rem;
}

.p-recruit__interview-list-item {
	-webkit-clip-path: polygon(21% 0%, 100% 0%, 79% 100%, 0% 100%);
	        clip-path: polygon(21% 0%, 100% 0%, 79% 100%, 0% 100%);
	width: 520px;
}

.p-recruit__interview-list-item-link {
	display: block;
	height: 100%;
	position: relative;
	width: 100%;
	z-index: 3;
}

.p-recruit__interview-list-item-box {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	bottom: 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	height: 100%;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding-left: 4.375rem;
	position: absolute;
	right: 0;
	top: 0;
	width: 16.875rem;
}

.p-recruit__interview-list-item-box--item05 {
	padding-left: 3.75rem;
}

.p-recruit__interview-list-item-box-name {
	color: #ffffff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.4375rem;
	font-weight: 500;
	line-height: 1.7391304348;
}

.p-recruit__interview-list-item-box-name span {
	font-size: 1rem;
	line-height: 1.75;
}

.p-recruit__interview-list-item-box-job {
	color: #ffffff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.75;
}

.p-recruit__interview-list-item img {
	-webkit-clip-path: polygon(21% 0%, 100% 0%, 79% 100%, 0% 100%);
	        clip-path: polygon(21% 0%, 100% 0%, 79% 100%, 0% 100%);
}

.p-recruit__interview-list-item:nth-child(even) {
	-webkit-transform: translateX(-88px);
	        transform: translateX(-88px);
}

.p-recruit__interview-list-item:nth-child(3n+1) {
	background: #2A67A9;
	position: relative;
}

.p-recruit__interview-list-item:nth-child(3n+1)::after {
	background: url("../images/recruit/circle-icon-blue.svg") no-repeat center center/cover;
	bottom: 0.8125rem;
	content: "";
	height: 1.75rem;
	position: absolute;
	right: 7rem;
	width: 1.75rem;
	z-index: 2;
}

.p-recruit__interview-list-item:nth-child(3n+2) {
	background: #E05DAA;
	position: relative;
}

.p-recruit__interview-list-item:nth-child(3n+2)::after {
	background: url("../images/recruit/circle-icon-pink.svg") no-repeat center center/cover;
	bottom: 0.8125rem;
	content: "";
	height: 1.75rem;
	position: absolute;
	right: 7rem;
	width: 1.75rem;
	z-index: 2;
}

.p-recruit__interview-list-item:nth-child(3n+3) {
	background: #8BC53F;
	position: relative;
}

.p-recruit__interview-list-item:nth-child(3n+3)::after {
	background: url("../images/recruit/circle-icon-green.svg") no-repeat center center/cover;
	bottom: 0.8125rem;
	content: "";
	height: 1.75rem;
	position: absolute;
	right: 7rem;
	width: 1.75rem;
	z-index: 2;
}

.p-recruit__interview-list-item img {
	height: 226px;
	width: 346px;
}

.p-recruit__interview-list-item-wide {
	margin-top: 5.125rem;
	position: relative;
}

.p-recruit__interview-list-item-wide-sp {
	display: none;
	margin-top: 4.25rem;
}

.p-recruit__interview-list-item-link-02 {
	background: #1C264A;
	-webkit-clip-path: polygon(11% 0%, 100% 0%, 89% 100%, 0% 100%);
	        clip-path: polygon(11% 0%, 100% 0%, 89% 100%, 0% 100%);
	color: #ffffff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 17.0625rem;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	padding-right: 5rem;
	position: relative;
	width: 100%;
}

.p-recruit__interview-list-item-wide-txt01 {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	color: #ffffff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	height: 100%;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding-left: 6.875rem;
}

.p-recruit__interview-list-item-wide-txt01-name {
	font-family: "Noto Serif JP", serif;
	font-size: 1.625rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1;
}

.p-recruit__interview-list-item-wide-txt01-job {
	font-family: "Noto Serif JP", serif;
	font-size: 1.75rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.2;
}

.p-recruit__interview-list-item-link {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.p-recruit__interview-list-item-wide-img {
	bottom: 0;
	height: 18.625rem;
	left: 11.25rem;
	position: absolute;
	width: 24.125rem;
	z-index: 2;
}

.p-recruit__interview-list-item-wide-txt02 {
	position: relative;
	z-index: 3;
}

.p-recruit__interview-list-item-wide-txt02-txt {
	font-family: "Noto Serif JP", serif;
	font-size: 1.4375rem;
	font-weight: 500;
	line-height: 1.8260869565;
	padding-top: 3rem;
}

.p-recruit__interview-list-item-wide-txt02-job {
	margin-top: 1.5rem;
}

.p-recruit__interview-list-item-wide-txt02-job {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1.3125rem;
	font-weight: 500;
	gap: 1rem;
	line-height: 1.9047619048;
	margin-left: 1rem;
}

.p-recruit__interview-list-item-wide-txt02-job span {
	font-family: "Noto Serif JP", serif;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 2.6666666667;
}

.p-recruit__interview-arrow-icon {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: auto;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 1.75rem;
}

.p-recruit__benefits {
	padding-top: 10rem;
}

.p-recruit__benefits-ttl-ja {
	color: #1C264A;
	font-family: "Lusitana", serif;
	font-size: 1.125rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 2.6666666667;
}

.p-recruit__benefits-ttl-en {
	color: #1C264A;
	font-family: "Lusitana", serif;
	font-size: 3.125rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1;
}

.p-recruit__benefits-ttl-box hgroup {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	    -ms-flex-direction: column-reverse;
	        flex-direction: column-reverse;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.p-recruit__benefits-txt {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.7083333333;
	margin-top: 4.5rem;
	text-align: center;
}

.p-recruit__benefits-list {
	grid-gap: 1rem;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	display: -ms-grid;
	display: grid;
	gap: 1rem;
	-ms-grid-columns: (1fr)[4];
	grid-template-columns: repeat(4, 1fr);
	margin-top: 2.75rem;
}

.p-recruit__benefits-list-item {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: #2A67A9;
	color: #ffffff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	min-height: 3.5rem;
	padding: 0.625rem 0.75rem;
	text-align: center;
}

.p-recruit__benefits-list-item-txt {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.3;
}

.p-recruit__benefits-licence {
	background: #DBDFED;
	margin-top: 4.25rem;
	padding: 1.375rem;
	text-align: center;
}

.p-recruit__benefits-licence-ttl {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.7083333333;
	text-align: center;
}

.p-recruit__benefits-licence-list,
.p-recruit__benefits-licence-list + p {
	color: #1C264A;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	gap: 0.1875rem 0.9375rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	line-height: 1.8571428571;
	margin-top: 1.5rem;
}

.p-recruit__benefits-licence-list + p {
	margin-top: 0;
}

.p-recruit__flow {
	margin-top: 7.5rem;
}

.p-recruit__flow-txt {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.7083333333;
	margin-top: 3.125rem;
	text-align: center;
}

.p-recruit__flow-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.8125rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin: 0 auto;
	margin-top: 2.25rem;
	max-width: 512px;
	width: 100%;
}

.p-recruit__flow-list-item {
	background: #E05DAA;
	color: #ffffff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.25;
	padding: 1.125rem;
	text-align: center;
}

.p-recruit__flow-list-item--sub {
	background: #E9D8E7;
	color: #E05DAA;
}

.p-recruit__flow-list-txt {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 2.2142857143;
	margin: 0 auto;
	margin-top: 2.25rem;
	max-width: 512px;
	width: 100%;
}

.p-recruit__banner {
	margin-bottom: 6.75rem;
	margin-top: 8.75rem;
	text-align: center;
}

.p-recruit__banner img {
	width: 22.625rem;
}

.p-top-message {
	background: #ffffff;
	padding: 5.25rem 0 2.5rem;
}

.p-top-message__txt {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 2.6666666667;
	text-align: center;
}

.p-top-other {
	background: url("../images/top/top-other-bg@2x.png") no-repeat center center/cover;
	padding-block: 5rem;
}

.p-top-other__inner {
	grid-gap: 3.5rem;
	display: -ms-grid;
	display: grid;
	gap: 3.5rem;
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
}

.p-top-other__item {
	grid-row-gap: 0.5rem;
	background: #ffffff;
	display: -ms-grid;
	display: grid;
	-ms-grid-row-span: 4;
	grid-row: span 4;
	-ms-grid-rows: subgrid;
	grid-template-rows: subgrid;
	padding: 2.5rem;
	position: relative;
	row-gap: 0.5rem;
	text-align: center;
}

.p-top-other__item::after {
	background: url("../images/top/top-other-triangle.svg") no-repeat center center/cover;
	bottom: 0;
	content: "";
	height: 5.625rem;
	position: absolute;
	right: 0;
	width: 2.6875rem;
	z-index: 1;
}

.p-top-other__item-icon01 {
	height: 3.375rem;
	width: 3.6875rem;
}

.p-top-other__item-icon02 {
	height: 3.0625rem;
	width: 6.5625rem;
}

.p-top-other__item-txt {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1.125rem;
	font-weight: 300;
	letter-spacing: 0.01em;
	line-height: 1.6666666667;
	margin-top: 0.375rem;
}

.p-top-other__item-txt-dec {
	padding-left: 1.75rem;
	position: relative;
}

.p-top-other__item-txt-dec::before {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: #1C264A;
	content: "";
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	height: 100%;
	height: 0.0625rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	left: 0;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(calc(-50% + 0.125rem));
	        transform: translateY(calc(-50% + 0.125rem));
	width: 100%;
	width: 1.625rem;
}

.p-top-recruit {
	background: #FFFF00;
	display: block;
	height: auto;
	overflow: hidden;
	padding: 6.25rem 0 8.125rem;
	position: relative;
	text-align: center;
	width: 100%;
}

.p-top-recruit__message {
	color: #0071BC;
	font-family: "Lusitana", serif;
	font-size: 1.375rem;
	letter-spacing: 0.25em;
	line-height: 1.6363636364;
}

.p-top-recruit__ttl {
	color: #0071BC;
	font-family: "Lusitana", serif;
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.75;
}

.p-top-recruit__triangle01 {
	height: 11.4vw;
	left: 3.1333333333vw;
	position: absolute;
	top: 4vw;
	width: 12.6vw;
}

.p-top-recruit__triangle02 {
	bottom: -3.3333333333vw;
	height: 19.8666666667vw;
	left: 19vw;
	position: absolute;
	width: 13.6666666667vw;
}

.p-top-recruit__triangle03 {
	bottom: 1.3333333333vw;
	height: 11.3333333333vw;
	position: absolute;
	right: 20vw;
	width: 12.6666666667vw;
}

.p-top-recruit__triangle04 {
	height: 19.8666666667vw;
	position: absolute;
	right: 4.2666666667vw;
	top: -1.6vw;
	width: 13.6666666667vw;
}

.top-slider {
	width: 100%;
}

.p-top-topics {
	background: #ffffff;
	padding: 2.5rem 0 3.75rem;
}

.p-top-topics__ttl {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0.875rem;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}

.p-top-topics__list {
	border-bottom: 0.015625rem solid #808080;
	border-top: 0.015625rem solid #808080;
	margin-top: 0.75rem;
}

.p-top-topics__item + .p-top-topics__item {
	border-top: 0.015625rem solid #808080;
}

.p-top-topics__link {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding-block: 0.625rem;
}

.p-top-topics__link-date {
	color: #000000;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 2.2142857143;
}

.p-top-topics__link-ttl {
	color: #000000;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 2.2142857143;
	margin-left: 4.5rem;
}

.p-top-works {
	padding: 5rem 0 0;
	position: relative;
}

.p-top-works__inner {
	padding-bottom: 12.5rem;
	position: relative;
}

.p-top-works__txt {
	color: #1C264A;
	font-family: "Lusitana", serif;
	font-size: 1.25rem;
	letter-spacing: 0.01em;
	line-height: 1.8;
	margin-top: 0.25rem;
	text-align: left;
}

.p-top-works__more {
	margin-top: 1.5rem;
}

.p-top-works__square {
	height: 22.75rem;
	position: absolute;
	right: -6.25rem;
	top: 0rem;
	width: 53.8125rem;
	z-index: -1;
}

.p-top-works__square-img img {
	opacity: 0; /* 初期状態で非表示にする */
}

.p-top-works__square-img01 {
	bottom: 0;
	height: 10.625rem;
	left: 0;
	position: absolute;
	width: 11.0625rem;
}

.p-top-works__square-img02 {
	aspect-ratio: 555/364;
	bottom: 0rem;
	height: 22.75rem;
	position: absolute;
	right: 12.25rem;
	top: 0;
	width: auto;
}

.p-top-works__square-img03 {
	aspect-ratio: 272/190;
	height: 11.875rem;
	position: absolute;
	right: 0rem;
	top: 0rem;
	width: 17rem;
}

.p-top-works__square-img04 {
	aspect-ratio: 264/170;
	bottom: 0rem;
	height: 10.625rem;
	position: absolute;
	right: 5.25rem;
	width: 16.5rem;
}

.p-top-works__square-sp {
	display: none;
}

.p-top-works__square-sp-link {
	bottom: 0;
	position: absolute;
	right: 0;
}

.p-topics {
	padding-bottom: 9rem;
	padding-top: 7.5rem;
}

.p-topics__message {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1.75rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2;
	text-align: center;
}

.p-topics__single-list {
	border-top: 1px solid #1C264A;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	margin-top: 6.875rem;
}

.p-topics__ttl {
	border-bottom: 1px solid #1C264A;
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 3.6875rem;
	font-weight: 400;
	letter-spacing: 0.15em;
	padding-bottom: 1.5rem;
}

.p-topics__single {
	border-bottom: 1px solid #1C264A;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 6.625rem;
	padding-block: 1rem;
	width: 100%;
}

.p-topics__single-meta {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 8.125rem;
}

.p-works__single-date {
	color: #1C264A;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7142857143;
}

.p-topics__single-ttl {
	color: #1C264A;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 1.3888888889;
	width: calc(100% - 6.625rem - 8.125rem);
}

.p-topics__pagenation {
	margin-top: 2.75rem;
	text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
	border-color: #0067B0 !important;
	color: #0067B0;
	margin: 0.375rem !important;
	padding: 0.3125rem !important;
}

.wp-pagenavi *:not(.pages,
.last) {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	height: 2.125rem !important;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 2.125rem !important;
}

.wp-pagenavi .current {
	background: #0067B0;
	color: #FFF;
}

.wp-pagenavi .pages,
.wp-pagenavi .last,
.wp-pagenavi .first {
	display: none;
}

.p-works-page {
	position: relative;
}

.p-works {
	padding-bottom: 3rem;
	padding-top: 7.5rem;
}

.p-works__message {
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 1.75rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 2;
	text-align: center;
}

.p-works__ttl {
	border-bottom: 1px solid #1C264A;
	color: #1C264A;
	font-family: "Noto Serif JP", serif;
	font-size: 3.6875rem;
	font-weight: 400;
	letter-spacing: 0.15em;
	padding-bottom: 1.5rem;
}

.p-works__live-year {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	color: #1C264A;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: bold;
	gap: 1rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	line-height: 1.3888888889;
	text-align: right;
}

.p-works__live-year span {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.p-works__live-year img {
	height: 1.25rem;
	width: 1.25rem;
}

.p-works__live-year-list {
	grid-gap: 0.5rem;
	display: -ms-grid;
	display: grid;
	gap: 0.5rem;
	-ms-grid-columns: (1fr)[12];
	grid-template-columns: repeat(12, 1fr);
	margin-top: 1.25rem;
}

.p-works__live-year-list-item-link {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #1C264A;
	color: #ffffff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: bold;
	height: 3.25rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	line-height: 1.3888888889;
}

.p-works__live-year-list-item-link.is-active {
	background-color: #0071BC;
}

.p-works__live-main {
	margin-top: 3.25rem;
}

.p-works__live-all {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	margin-top: 1.875rem;
}

.p-works__live-single {
	border-bottom: 1px solid #1C264A;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 6.625rem;
	padding-block: 1rem;
	width: 100%;
}

.p-works__live-single-meta {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width: 8.125rem;
}

.p-works__live-all-single-date {
	color: #1C264A;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7142857143;
}

.p-works__live-all-single-ttl {
	color: #1C264A;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 1.3888888889;
	width: calc(100% - 6.625rem - 8.125rem);
}

.p-works__event {
	padding-bottom: 9rem;
	padding-top: 4rem;
}

.p-works__event-list {
	grid-gap: 2.1875rem 2.5rem;
	display: -ms-grid;
	display: grid;
	gap: 2.1875rem 2.5rem;
	-ms-grid-columns: (1fr)[3];
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2.75rem;
}

.p-works__event-item-link {
	grid-row-gap: 0.5rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-row-span: 2;
	grid-row: span 2;
	-ms-grid-rows: subgrid;
	grid-template-rows: subgrid;
	row-gap: 0.5rem;
}

.p-works__event-item-link h3 {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 1.3888888889;
}

.p-works__event-meta {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0.625rem;
}

.p-works__event-date {
	color: #1C264A;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7142857143;
}

.p-works__event-cat {
	color: #1C264A;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.7142857143;
}

.p-works__contact {
	padding-bottom: 3.75rem;
	text-align: center;
}

.p-works__contact-btn-ttl-en {
	font-family: "Noto Serif JP", serif;
	font-size: 3rem;
	font-weight: 400;
	letter-spacing: 0.15em;
	line-height: 1.2;
}

.p-works__contact-btn-ttl-ja {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 1.75;
}

.p-works__contact-btn-ttl-noto {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.875rem;
}

.p-works__coming {
	color: #0071BC;
	font-size: 1.5rem;
	font-weight: bold;
}

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

.u-hidden-pc-ib {
	display: none;
}

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

.u-hidden-sp-ib {
	display: inline-block;
}

.u-hidden-pc-f {
	display: none;
}

.u-hidden-sp-f {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.u-hidden-sp-if {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display: inline-flex;
}

.u-mt-20 {
	margin-top: 1.25rem;
}

@media (hover: hover) and (pointer: fine) {

.c-btn-txt:hover > span img {
	-webkit-transform: translateX(0.5rem);
	        transform: translateX(0.5rem);
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

}

@media (-ms-high-contrast: none), (-ms-high-contrast: active) {

.c-btn-txt:hover > span img {
	-webkit-transform: translateX(0.5rem);
	        transform: translateX(0.5rem);
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

}

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

.p-header__nav-link {
	font-size: 14px;
}

}

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

.p-recruit__fv {
	height: 970px;
}

.p-recruit__kv-img01 {
	height: 251px;
	left: -257px;
	width: 709px;
}

.p-recruit__kv-img02 {
	height: 226px;
	left: 52px;
	top: 259px;
	width: 288px;
}

.p-recruit__kv-img03 {
	height: 483px;
	left: 250px;
	width: 740px;
}

.p-recruit__kv-img04 {
	height: 250.2px;
	right: 250px;
	width: 361px;
}

.p-recruit__kv-img05 {
	height: 226px;
	right: 360px;
	top: 259px;
	width: 351px;
}

.p-recruit__kv-img06 {
	height: 250px;
	right: 68px;
	top: 0;
	width: 282px;
}

.p-recruit__kv-img07 {
	height: 226px;
	right: -268px;
	top: 259px;
	width: 718px;
}

.p-recruit__kv-img08 {
	height: 483px;
	left: 38px;
	top: 490px;
	width: 837px;
}

.p-recruit__kv-img08-box {
	height: 483px;
	left: 38px;
	top: 490px;
	width: 837px;
}

.p-recruit__kv-img08-box-inner {
	margin-left: 80px;
	width: 320px;
}

.p-recruit__kv-img08-box-ttl {
	font-size: 84px;
}

.p-recruit__kv-img08-box-ttl-ja {
	font-size: 18px;
	left: 90px;
	top: 60px;
}

.p-recruit__kv-img08-box-ttl-en {
	font-size: 48px;
}

.p-recruit__kv-img08-box-ttl-en::first-letter {
	font-size: 125px;
}

.p-recruit__kv-img08-box-txt {
	font-size: 22px;
}

.p-recruit__kv-img09 {
	height: 483px;
	right: 182px;
	top: 490px;
	width: 643px;
}

}

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

html {
	font-size: 1.6vw;
}

.p-recruit__interview-list {
	gap: 4.8076923077vw 5.3846153846vw;
}

.p-recruit__interview-list-item {
	width: 50vw;
}

.p-recruit__interview-list-item-box {
	width: 25.9615384615vw;
}

.p-recruit__interview-list-item-box-name {
	font-size: 2.2115384615vw;
}

.p-recruit__interview-list-item:nth-child(even) {
	-webkit-transform: -8.4615384615vw;
	        transform: -8.4615384615vw;
}

.p-recruit__interview-list-item img {
	height: 21.7307692308vw;
	width: 33.2692307692vw;
}

}

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

html {
	font-size: 16px;
}

a {
	opacity: 1;
	opacity: initial;
}

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

.js-accordion-content {
	height: 0;
	opacity: 0;
	overflow: hidden;
}

.is-open .js-accordion-content {
	height: 100%;
	opacity: 1;
}

.p-header__nav-item-link.p-header__nav-item-link--area.js-accordion-summary {
	position: relative;
}

.p-header__nav-item-link.p-header__nav-item-link--area.js-accordion-summary::after {
	border-bottom: 1px solid #AD9B83;
	border-left: 1px solid #AD9B83;
	content: "";
	height: 0.625rem;
	position: absolute;
	right: 0.5rem;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(-45deg);
	        transform: translateY(-50%) rotate(-45deg);
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 0.625rem;
}

.is-open .p-header__nav-item-link.p-header__nav-item-link--area.js-accordion-summary::after {
	-webkit-transform: translateY(-50%) rotate(135deg);
	        transform: translateY(-50%) rotate(135deg);
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.p-header__nav-item-link.p-header__nav-item-link--area.js-accordion-summary + ul {
	display: none;
	height: 0;
}

.is-open .p-header__nav-item-link.p-header__nav-item-link--area.js-accordion-summary + ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
}

#volume-slider {
	display: none;
}

.l-body {
	padding-bottom: 4.375rem;
	padding-top: 0.75rem;
}

.l-column {
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	margin-block: 0 5rem;
	max-width: 37.5rem;
	padding-inline: 24px;
}

.l-header {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.l-header__top {
	background: #FFFEFB;
	height: 3.375rem;
	padding-block: 0;
}

.l-header__bottom {
	background: #FFF;
	height: 3.375rem;
	padding-block: 0;
}

.l-inner {
	max-width: 37.5rem;
	padding-left: 24px;
	padding-right: 24px;
}

.c-kv {
	height: 49.25vw;
	max-height: 197px;
}

.c-kv__ttl-en {
	font-size: 2.5rem;
}

.c-text--up2 {
	margin-top: 0.9375rem;
}

.c-ttl.c-ttl--works {
	font-size: 4.6875rem;
	line-height: 1.2666666667;
	-webkit-transform: translateX(0);
	        transform: translateX(0);
}

.p-company__message-ttl {
	font-size: 1.25rem;
	line-height: 1.8;
}

.p-company__message-txt {
	font-size: 0.875rem;
	line-height: 2.2857142857;
}

.p-company__greeting-box {
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	    -ms-flex-direction: column-reverse;
	        flex-direction: column-reverse;
	gap: 1.75rem;
	margin-top: 2.5rem;
}

.p-company__greeting-box-left-txt {
	letter-spacing: 0;
	line-height: 1.8571428571;
}

.p-company__greeting-box-right {
	width: 100%;
}

.p-company__message-name {
	margin-top: 1.75rem;
}

.p-company__overview {
	margin-top: 6.25rem;
}

.p-company__overview-box {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 1.75rem;
	margin-top: 2.5rem;
}

.p-company__overview-box-left {
	width: 100%;
}

.p-company__overview-box-right {
	width: 100%;
}

.p-company__base {
	padding-top: 6rem;
}

.p-company__base-box {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 1.75rem;
	margin-top: 2.5rem;
}

.p-company__base-box-left {
	width: 100%;
}

.p-company__base-box-right {
	height: 15rem;
	width: 100%;
}

.p-company__base-box-sub {
	font-size: 0.875rem;
	letter-spacing: 0;
	line-height: 1.7142857143;
	text-align: left;
}

.p-contact__message {
	font-size: 1.25rem;
	line-height: 1.8;
}

.p-contact__table tr {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.p-contact__table th {
	padding-block: 0;
}

.p-contact__table td {
	padding-block: 0.125rem;
	width: 100%;
}

.p-contact__table input[name="checkbox-354[]"] {
	width: 0;
}

.wpcf7-list-item {
	gap: 0.75rem;
	margin-bottom: 0.75rem;
	margin-left: 0 !important;
	margin-right: 0.5rem !important;
}

.wpcf7-form-control.wpcf7-submit,
input[type=button],
a.back {
	font-size: 0.875rem;
	width: 7.5rem;
}

.p-contact__confirm_area .p-contact__table tr {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.p-contact__confirm_area .button-wrap p {
	gap: 1.25rem;
	width: 21.875rem;
}

.p-works__contact-birth01-input {
	margin-inline: 0.5rem;
	width: 5rem;
}

.p-works__contact-birth02-input {
	margin-inline: 0.5rem;
	width: 3.125rem;
}

.p-works__contact-birth03-input {
	margin-inline: 0.5rem;
	width: 3.125rem;
}

.p-contact__confirm_area .p-works__contact-birth01-input {
	width: 2.5rem;
}

.p-contact__confirm_area .p-works__contact-birth02-input {
	width: 1.5625rem;
}

.p-contact__confirm_area .p-works__contact-birth03-input {
	width: 1.5625rem;
}

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

.p-facility__img-small {
	width: 100%;
}

.p-facility__box-right {
	width: 100%;
}

.p-facility__box {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 3rem;
	margin-top: 3.25rem;
}

.p-facility__box-right-ttl {
	font-size: 1.25rem;
	line-height: 1.85;
}

.p-facility__box-right-list {
	font-size: 0.9375rem;
	line-height: 1.85;
}

.p-footer__nav {
	display: none;
}

.p-footer__logo {
	margin-top: 4rem;
}

.p-fv {
	height: calc(100dvh - 4.125rem);
}

video#opv {
	height: calc(100dvh - 4.125rem);
}

.p-fv__txt {
	height: 3.75rem;
	width: 21.5rem;
}

.p-header {
	height: 4.125rem;
}

.p-header__logo {
	height: 2.875rem;
	width: 15.625rem;
}

.p-header__inner {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

.p-header__nav {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: #1C264A;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: calc(100dvh - 4.125rem) !important;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	left: 100%;
	padding-inline: 1.25rem;
	position: fixed;
	top: 4.125rem;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 100%;
	z-index: 990;
}

.p-header__nav.is-active {
	left: 0;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.p-header__nav-list {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0;
	width: 100%;
}

.p-header__nav-item {
	text-align: center;
	width: 100%;
}

.p-header__nav-link {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	color: #ffffff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 1rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding-block: 1.125rem;
}

.header__nav {
	background: rgba(40, 47, 57, 0.9);
	height: 100vh;
	left: 100%;
	overflow: auto;
	padding: 7.5rem 1.25rem;
	position: absolute;
	top: 0;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	width: 100%;
	z-index: 100;
}

.header__nav.is-active {
	left: 0;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.header__nav-lists {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0;
}

.header__nav-list {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.header__nav-link {
	padding: 1.25rem 0;
}

.header__nav-link::after {
	background: url("../images/common/icon-arrow-wt.svg") no-repeat center center/cover;
	content: "";
	height: 0.5625rem;
	position: absolute;
	right: 1.25rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	width: 0.5625rem;
}

.p-header__nav-button {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	cursor: pointer;
	display: block;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	font-size: 10px;
	height: 40px;
	width: 40px;
	z-index: 1001;
}

.p-recruit__fv {
	display: none;
}

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

.p-recruit__interview-ttl-box {
	text-align: center;
}

.p-recruit__interview-ttl-ja {
	font-size: 0.875rem;
}

.p-recruit__interview-ttl-en {
	font-size: 3.125rem;
}

.p-recruit__interview-list {
	gap: 1.75rem;
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.p-recruit__interview-list-item {
	width: 91.25vw;
}

.p-recruit__interview-list-item-box {
	padding-left: 12.5vw;
	width: 47.25vw;
}

.p-recruit__interview-list-item-box--item05 {
	padding-left: 10.5vw;
}

.p-recruit__interview-list-item-box-name span {
	font-size: 2.75vw;
}

.p-recruit__interview-list-item-box-name {
	font-size: 4vw;
}

.p-recruit__interview-list-item-box-job {
	font-size: 0.625rem;
}

.p-recruit__interview-list-item:nth-child(even) {
	-webkit-transform: translateX(0);
	        transform: translateX(0);
}

.p-recruit__interview-list-item:nth-child(3n+1)::after {
	right: 20vw;
}

.p-recruit__interview-list-item:nth-child(3n+2)::after {
	right: 20vw;
}

.p-recruit__interview-list-item:nth-child(3n+3)::after {
	right: 20vw;
}

.p-recruit__interview-list-item img {
	height: 39.5vw;
	width: 61.25vw;
}

.p-recruit__interview-list-item-wide {
	display: none;
}

.p-recruit__interview-list-item-wide-sp {
	display: block;
}

.p-recruit__benefits {
	padding-top: 5.75rem;
}

.p-recruit__benefits-ttl-ja {
	font-size: 0.875rem;
}

.p-recruit__benefits-ttl-en {
	text-align: center;
}

.p-recruit__benefits-ttl-box hgroup {
	margin-top: 1.25rem;
}

.p-recruit__benefits-txt {
	font-size: 1.25rem;
}

.p-recruit__benefits-list {
	gap: 0.75rem;
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
	-ms-grid-rows: auto;
	grid-template-rows: auto;
}

.p-recruit__benefits-list-item-txt {
	font-size: 0.875rem;
}

.p-recruit__flow-txt {
	font-size: 1.25rem;
}

.p-recruit__flow-list-item {
	font-size: 1rem;
	padding: 0.875rem;
}

.p-recruit__banner {
	margin-bottom: 0;
}

.p-top-message {
	padding: 3.75rem 0 0.75rem;
}

.p-top-message__txt {
	font-size: 1rem;
	line-height: 2.625;
}

.p-top-other__inner {
	-ms-grid-columns: (1fr)[1];
	grid-template-columns: repeat(1, 1fr);
}

.p-top-recruit {
	padding: 8.75rem 0 7.5rem;
}

.p-top-recruit__message {
	font-size: 1.25rem;
}

.p-top-recruit__triangle01 {
	bottom: -5vw;
	height: 20vw;
	left: -2.25vw;
	width: 22vw;
}

.p-top-recruit__triangle02 {
	bottom: -5vw;
	height: 35vw;
	left: 8vw;
	width: 24vw;
}

.p-top-recruit__triangle03 {
	bottom: 4.5vw;
	height: 19.75vw;
	right: 4vw;
	width: 22vw;
}

.p-top-recruit__triangle04 {
	height: 35vw;
	right: 1vw;
	top: -8vw;
	width: 23.75vw;
}

.p-top-topics {
	padding-bottom: 2.75rem;
}

.p-top-topics__link {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.p-top-topics__link-ttl {
	margin-left: 1.75rem;
}

.p-top-works {
	padding-block: 0;
}

.p-top-works__inner {
	padding-bottom: 0;
}

.p-top-works__txt {
	font-size: 0.875rem;
	line-height: 1.7857142857;
}

.p-top-works__square {
	display: none;
}

.p-top-works__square-img02 {
	aspect-ratio: 360/235;
	height: 14.6875rem;
	right: 1.75rem;
	top: 13.125rem;
	width: 22.5rem;
}

.p-top-works__square-sp {
	display: block;
	margin-bottom: 5rem;
	margin-top: 1.5rem;
	position: relative;
}

.p-topics {
	padding-top: 3.5rem;
}

.p-topics__message {
	font-size: 1.25rem;
}

.p-topics__single {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.5rem;
}

.p-topics__single-meta {
	width: 100%;
}

.p-works__single-date {
	font-size: 0.75rem;
}

.p-topics__single-ttl {
	font-size: 0.875rem;
	width: 100%;
}

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

.p-works__message {
	font-size: 1.25rem;
}

.p-works__live-year {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	text-align: center;
}

.p-works__live-year-list {
	-ms-grid-columns: (1fr)[6];
	grid-template-columns: repeat(6, 1fr);
}

.p-works__live-year-list-item-link {
	font-size: 0.875rem;
}

.p-works__live-single {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.5rem;
}

.p-works__live-single-meta {
	width: 100%;
}

.p-works__live-all-single-date {
	font-size: 0.75rem;
}

.p-works__live-all-single-ttl {
	font-size: 0.875rem;
	width: 100%;
}

.p-works__event-list {
	gap: 1.25rem 1rem;
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
}

.p-works__event-item-link h3 {
	font-size: 0.875rem;
}

.p-works__event-date {
	font-size: 0.75rem;
}

.p-works__event-cat {
	font-size: 0.75rem;
}

.p-works__contact-btn-ttl-en {
	font-size: 1.75rem;
}

.p-works__contact-btn-ttl-ja {
	font-size: 0.75rem;
}

.p-works__contact-btn-ttl-noto {
	font-size: 1rem;
}

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

.u-hidden-pc-ib {
	display: inline-block;
}

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

.u-hidden-sp-ib {
	display: none;
}

.u-hidden-pc-f {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.u-hidden-sp-f {
	display: none;
}

.u-hidden-sp-if {
	display: none;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@-webkit-keyframes fuwafuwa {

0%,100% {
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

50% {
	-webkit-transform: translateY(10px);
	        transform: translateY(10px);
}

}

@keyframes fuwafuwa {

0%,100% {
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

50% {
	-webkit-transform: translateY(10px);
	        transform: translateY(10px);
}

}

