@charset "UTF-8";

/* Foundation */
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*, ::before, ::after {
	box-sizing: border-box;
	border-style: solid;
	border-width: 0;
}

/* 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 {
	line-height: 1.15;
	/* 1 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
	-webkit-tap-highlight-color: transparent;
	/* 3*/
}

/* Sections */
/* ============================================ */
/** Remove the margin in all browsers. */
body {
	margin: 0;
}

/** Render the `main` element consistently in IE. */
main {
	display: block;
}

/* Vertical rhythm */
/* ============================================ */
p, table, blockquote, address, pre, iframe, form, figure, dl {
	margin: 0;
}

/* Headings */
/* ============================================ */
h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 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 {
	box-sizing: content-box;
	/* 1 */
	height: 0;
	/* 1 */
	overflow: visible;
	/* 2 */
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit;
}

/** 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;
	text-decoration: none;
	color: inherit;
}

/** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] {
	text-decoration: underline;
	/* 2 */
	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;
}

/* Embedded content */
/* ============================================ */
/** Prevent vertical alignment issues. */
img, embed, object, iframe {
	vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/** Reset form fields to make them styleable */
button, input, optgroup, select, textarea {
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	outline: 0;
	border-radius: 0;
	text-align: inherit;
}

/** Reset radio and checkbox appearance to preserve their look in iOS. */
[type="checkbox"] {
	appearance: checkbox;
}

[type="radio"] {
	appearance: radio;
}

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button, input {
	/* 1 */
	overflow: visible;
}

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button, select {
	/* 1 */
	text-transform: none;
}

/** Correct the inability to style clickable types in iOS and Safari. */
button, [type="button"], [type="reset"], [type="submit"] {
	cursor: pointer;
	appearance: none;
}

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

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/** Remove arrow in IE10 & IE11 */
select::-ms-expand {
	display: none;
}

/** Remove padding */
option {
	padding: 0;
}

/** Reset to invisible */
fieldset {
	margin: 0;
	padding: 0;
	min-width: 0;
}

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend {
	color: inherit;
	/* 2 */
	display: table;
	/* 1 */
	max-width: 100%;
	/* 1 */
	padding: 0;
	/* 3 */
	white-space: normal;
	/* 1 */
}

/** 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;
}

/** 1. 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. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	/* 1 */
	font: inherit;
	/* 2 */
}

/** 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] {
	outline: none;
}

/* Table */
/* ============================================ */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption {
	text-align: left;
}

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

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

/* Misc */
/* ============================================ */
/** Add the correct display in IE 10+. */
template {
	display: none;
}

/** Add the correct display in IE 10. */
[hidden] {
	display: none;
}

@keyframes bar {
	0% {
		width: 0%;
	}

	100% {
		width: 100%;
	}
}

/* レスポンシブ */
/* フォントサイズ */
* {
	box-sizing: border-box;
}

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

html {
	font-size: 62.5%;
	font-family: "YuMincho", "Yu Mincho", serif;
}

body {
	background-color: #ffffff;
	box-sizing: border-box;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.89;
	letter-spacing: 0.05em;
	color: #000000;
	margin: 0 auto;
}

.is-open {
	overflow: hidden;
}

span {
	font-weight: bold;
}

h1 {
	font-weight: bold;
}

h2 {
	font-size: 3.6rem;
	font-weight: bold;
}

h3 {
	font-size: 2.6rem;
}

@media screen and (max-width: 780px) {
	h3 {
		font-size: 2rem;
	}
}

p {
	line-height: 1.89;
}

a {
	display: inline-block;
	text-decoration: none;
	color: #000000;
}

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

input, select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

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

input[type="submit"] {
	-webkit-appearance: none;
}

input, textarea {
	font-size: 1.7rem;
	line-height: 2;
	font-weight: 700;
	background-color: #ffffff;
	border: #000000 solid 1px;
	border-radius: 5px;
}

input, select {
	height: 36px;
}

.select-wrap {
	position: relative;
	padding-right:30px;
	background-color: #ffffff;
	border: #000000 solid 1px;
	border-radius:5px;
}
.selct-wrap select{
	background:rgba(255,255,255,0);
	border:none
}
.select-wrap::before {
	font-family: "Font Awesome 5 Free";
	content: "\f107";
	font-weight: 900;
	position: absolute;
	z-index: 2;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}

ol {
	list-style-type: decimal-leading-zero;
	padding-left: 55px;
}

ol li::marker {
	font-weight: bold;
	font-size: 2.5rem;
}

/* Layout */
.l-header {
	width: 100%;
	margin: 0 auto;
	position: fixed;
	overflow-x: hidden;
	top: 0;
	left: 0;
	z-index: 10;
}

.l-main {
	margin: 170px auto 0;
}

@media screen and (max-width: 780px) {
	.l-main {
		margin: 150px auto 0;
		width: 100%;
	}
}

.l-content {
	position: relative;
	width: 100%;
}

.l-footer {
	width: 100%;
	background: #000000;
}

@media screen and (max-width: 780px) {
	.l-footer {
		min-width: auto;
	}
}

.l-aside {
	flex-shrink: 0;
	width: 250px;
	padding: 80px 50px 80px 0;
}

@media screen and (max-width: 780px) {
	.l-aside {
		width: 100%;
		padding: 0 4vw;
	}
}

/* Object */
.c-btn {
	position: relative;
	display: block;
	cursor: pointer;
	width: 400px;
	height: 70px;
	line-height: 70px;
	text-align: center;
	border: solid 2px #ffffff;
	color: #ffffff;
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: 0.5em;
	transition: opacity 0.3s;
}

@media screen and (max-width: 780px) {
	.c-btn {
		width: 80%;
		height: 60px;
		line-height: 60px;
		font-size: 2rem;
	}
}

.c-btn:hover {
	opacity: 0.7;
}

.c-btn--gray {
	background: #d2d2d0;
	border: none;
	color: #000000 !important;
	letter-spacing: 0;
}



@media screen and (max-width: 780px) {
	.c-btn--gray {
		font-size: 2rem;
	}
}

.c-btn--fontSmall {
	font-size: 2rem;
}

@media screen and (max-width: 780px) {
	.c-btn--fontSmall {
		font-size: 1.4rem;
	}
}

.c-btn--red {
	background: #a31a30;
	letter-spacing: 0;
	font-size: 2rem;
	letter-spacing: 0.05em;
	border: none;
}

@media screen and (max-width: 780px) {
	.c-btn--red {
		font-size: 1.4rem;
	}
}

.c-btn--black {
	border: solid 2px #000000;
	color: black;
}

.c-btn--col {
	padding-top: 5px;
	padding-bottom: 5px;
	font-size: 2rem;
	line-height: 30px;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 780px) {
	.c-btn--col {
		font-size: 1.4rem;
		line-height: 25px;
	}
}

.c-btn--col span {
	font-size: 2.5rem;
}

@media screen and (max-width: 780px) {
	.c-btn--col span {
		font-size: 2rem;
	}
}

.c-btn--center {
	margin: 0 auto;
}

.c-btn--full {
	width: 100%;
}

.c-btn i {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}

.c-box {
	border: solid 1px #000000;
	text-align: center;
	width: 47%;
	height: 70px;
	line-height: 70px;
	font-size: 2rem;
}

@media screen and (max-width: 780px) {
	.c-box {
		font-size: 1.4rem;
		width: 80%;
		height: 60px;
		line-height: 60px;
	}
}

.c-fadein {
	opacity: 0.1;
	transition: all 0.7s ease-out;
	transform: translateY(-25px);
}

.c-fadein__active {
	opacity: 1;
	transform: translateY(0);
}

.c-hide {
	display: none;
}

@media screen and (max-width: 780px) {
	.c-hide {
		display: block;
	}
}

.c-hide-pc {
	display: block;
}

@media screen and (max-width: 780px) {
	.c-hide-pc {
		display: none;
	}
}

.c-img {
	width: 275px;
}

.c-img img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: 20px;
}

@media screen and (max-width: 780px) {
	.c-img {
		width: 48%;
	}
}

.c-icon {
	position: relative;
	padding-left: 55px;
	line-height: 40px;
}

.c-icon::before {
	position: absolute;
	top: 0;
	left: 5px;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	width: 40px;
	height: 40px;
	line-height: 40px;
	color: #ffffff;
	border-radius: 50%;
	text-align: center;
	background: #404040;
}

.c-icon--salary::before {
	content: "\f157";
	padding-left: 2px;
}

.c-icon--qual::before {
	content: "\f2bb";
}

.c-list {
	list-style: none;
	padding-left: 0;
}

.c-list__item {
	position: relative;
	margin-top: 40px;
	font-weight: bold;
	font-size: 2.5rem;
	border-left: solid 1px #ffffff;
	padding-left: 20px;
	margin-left: 70px;
}

@media screen and (max-width: 780px) {
	.c-list__item {
		font-size: 1.6rem;
		margin-left: 40px;
	}
}

.c-list__item--black {
	border-left: solid 1px #404040;
}

.c-list__item span {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: -70px;
	font-size: 3.5rem;
}

@media screen and (max-width: 780px) {
	.c-list__item span {
		font-size: 2rem;
		left: -40px;
	}
}

.c-list__item--small {
	font-size: 1.6rem;
	margin-left: 40px;
}

.c-list__item--small span {
	font-size: 2rem;
	left: -40px;
}

.c-map {
	width: 100vw;
	max-width: 1120px;
	height: 500px;
	margin: 0 calc(50% - 50vw);
}

@media screen and (max-width: 780px) {
	.c-map {
		height: 300px;
	}
}

.c-map iframe {
	width: 100%;
	height: 100%;
}

.c-marker {
	background: linear-gradient(transparent 70%, rgba(163, 26, 48, 0.5) 0%);
}

.c-marker--l {
	font-size: 2.5rem;
}

.c-marker--l br {
	display: none;
}

@media screen and (max-width: 780px) {
	.c-marker--l {
		font-size: 2rem;
	}

	.c-marker--l br {
		display: block;
	}
}

.c-title {
	position: relative;
	margin-bottom: 70px;
	z-index: 2;
	font-size: 4rem;
	line-height: 1;
}

@media screen and (max-width: 780px) {
	.c-title {
		margin-bottom: 50px;
		font-size: 2.5rem;
	}
}

.c-title span {
	position: absolute;
	bottom: -25px;
	left: 10px;
	font-size: 2rem;
}

@media screen and (max-width: 780px) {
	.c-title span {
		font-size: 1.8rem;
	}
}

.c-title--white {
	color: #ffffff;
}

.c-flex {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.c-flex--center {
	align-items: center;
	justify-content: center;
}

.c-flex--center2 {
	align-items: center;
	justify-content: center;
}

@media screen and (max-width: 780px) {
	.c-flex--center2 {
		flex-direction: column;
	}
}

.c-flex--start {
	align-items: flex-start;
}

@media screen and (max-width: 780px) {
	.c-flex--start {
		flex-direction: column;
		align-items: center;
	}
}

.c-flex--start2 {
	align-items: flex-start;
}

@media screen and (max-width: 780px) {
	.c-flex--start2 {
		flex-direction: column;
	}
}

.c-flex--wrap {
	flex-wrap: wrap;
}

.c-flex--column {
	flex-direction: column;
	align-items: center;
}

.c-white {
	color: #ffffff;
}

.c-white a {
	color: #ffffff;
}

.c-sub-title {
	position: relative;
	font-size: 3rem;
}

@media screen and (max-width: 780px) {
	.c-sub-title {
		font-size: 2.3rem;
	}
}

.c-sub-title span {
	position: relative;
	z-index: 2;
	background: #ffffff;
	padding-right: 14px;
}

.c-sub-title::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	height: 1px;
	background: #404040;
}

.c-text-center {
	text-align: center;
}

.c-tel {
	position: relative;
	width: 220px;
	height: 46px;
	border-radius: 10px;
	background: #e06e6a;
	line-height: 46px;
	padding-left: 55px;
	color: #ffffff;
	font-weight: bold;
	letter-spacing: 0.1em;
}

.c-tel a {
	color: #ffffff;
}

.c-tel::before {
	content: "TEL";
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #ffffff;
	color: #e06e6a;
	font-size: 1.2rem;
	text-align: center;
	line-height: 34px;
}

.c-top {
	background: #ffffff;
}

.c-top a {
	width: 100%;
	height: 100%;
	padding: 20px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.c-top__text {
	margin-left: 20px;
	font-weight: bold;
}

.c-white-box {
	background: #ffffff;
	padding: 34px 15px 0;
}

.nav-links {
	margin-top: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.nav-links .page-numbers {
	display: flex;
	align-items: center;
}

.nav-links .page-numbers li {
	width: 40px;
	height: 40px;
	border-radius: 7px;
	border: solid 1px #000000;
	margin-right: 10px;
	margin-left: 10px;
}

.nav-links .page-numbers li a {
	display: inline-block;
	width: 100%;
	height: 100%;
	text-align: center;
	line-height: 38px;
	color: #000000;
}

.nav-links .page-numbers li span {
	height: 100%;
	width: 100%;
	justify-content: center;
}

.nav-links .page-numbers li .current {
	background: #000000;
	border-radius: 7px;
	color: #ffffff;
}

.p-accordion__item {
	cursor: pointer;
	margin-top: 60px;
}

.p-accordion__item:nth-of-type(1) {
	margin-top: 0;
}

.p-accordion__show {
	position: relative;
	background-color: #d2d2d0;
	color: #000000;
	border-radius: 10px;
	padding-left: 65px;
	padding-top: 7px;
	padding-bottom: 7px;
	padding-right: 50px;
	cursor: pointer;
	font-size: 1.8rem;
}

@media screen and (max-width: 780px) {
	.p-accordion__show {
		font-size: 16px;
	}
}

.p-accordion__show::after {
	font-family: "Font Awesome 5 Free";
	content: "\f107";
	line-height: 50px;
	position: absolute;
	width: 50px;
	font-weight: 700;
	text-align: center;
	color: #000000;
	z-index: 1;
	right: 0;
	top: 0;
}

.p-accordion__show.on::after {
	content: "\f106";
}

.p-accordion__show::before {
	content: "Q";
	position: absolute;
	background-color: #000000;
	top: 0;
	left: 0;
	z-index: 1;
	width: 48px;
	height: 48px;
	color: #ffffff;
	text-align: center;
	line-height: 48px;
	border-radius: 10px;
}

@media screen and (max-width: 780px) {
	.p-accordion__show::before {
		width: 44px;
		height: 44px;
		line-height: 44px;
	}
}

.p-accordion__hide {
	position: relative;
	display: none;
	background-color: #ffffff;
	margin-top: 30px;
	padding-top: 9px;
	padding-left: 65px;
	border-radius: 10px;
	font-size: 1.8rem;
}

@media screen and (max-width: 780px) {
	.p-accordion__hide {
		font-size: 1.6rem;
	}
}

.p-accordion__hide::before {
	content: "A";
	position: absolute;
	background-color: #a31a30;
	top: 0;
	left: 0;
	z-index: 1;
	width: 48px;
	height: 48px;
	color: #ffffff;
	text-align: center;
	line-height: 48px;
	border-radius: 10px;
}

@media screen and (max-width: 780px) {
	.p-accordion__hide::before {
		width: 44px;
		height: 44px;
		line-height: 44px;
	}
}

.p-address__title {
	font-size: 3rem;
	text-align: center;
	line-height: 1.3;
	margin-bottom: 20px;
}

.p-address__title span {
	font-size: 1.6rem;
}

.p-card {
	position: relative;
	height: 372px;
	margin-top: 80px;
	padding-left: 50px;
	padding-right: 50px;
	display: flex;
}

@media screen and (max-width: 780px) {
	.p-card {
		padding-left: 0;
		padding-right: 0;
		flex-direction: column;
		height: auto;
	}
}

@media screen and (max-width: 780px) {
	.p-card:nth-of-type(1) {
		margin-top: 0;
	}
}

.p-card--right {
	justify-content: flex-end;
}

@media screen and (max-width: 780px) {
	.p-card--right {
		flex-direction: column-reverse;
	}
}

.p-card__empty {
	width: 300px;
}

.p-card__content {
	position: relative;
	z-index: 2;
	width: 567px;
	padding-top: 60px;
}

@media screen and (max-width: 780px) {
	.p-card__content {
		width: 100%;
		padding-top: 0;
	}
}

.p-card__title {
	position: relative;
	padding: 5px 22px 5px 65px;
	font-size: 2.3rem;
	color: #ffffff;
	font-weight: bold;
	background: #000000;
	margin-bottom: 20px;
}

@media screen and (max-width: 780px) {
	.p-card__title {
		font-size: 1.8rem;
		padding-left: 55px;
	}
}

.p-card__title--num {
	position: absolute;
	top: -5px;
	left: 15px;
	font-size: 3.4rem;
}

@media screen and (max-width: 780px) {
	.p-card__title--num {
		font-size: 2.3rem;
		top: 0;
	}
}

.p-card__text {
	padding-left: 46px;
	padding-right: 22px;
	font-size: 1.7rem;
}

@media screen and (max-width: 780px) {
	.p-card__text {
		padding-left: 0;
		padding-right: 0;
		font-size: 1.4rem;
	}
}

.p-card__img {
	position: absolute;
	top: 0;
	left: 46%;
	z-index: 1;
	flex-shrink: 0;
	width: 567px;
}

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

@media screen and (max-width: 780px) {
	.p-card__img {
		position: relative;
		top: 0;
		left: 0;
		width: auto;
		margin-top: 30px;
	}
}

.p-card__img::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, #ffffff 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%);
}

@media screen and (max-width: 780px) {
	.p-card__img::before {
		opacity: 0;
	}
}

.p-card__img--left {
	left: 0;
}

.p-card__img--left::before {
	background: linear-gradient(to left, #ffffff 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%);
}

.p-footer {
	margin: 0 auto;
	display: flex;
	justify-content: center;
}

@media screen and (max-width: 780px) {
	.p-footer {
		width: 100%;
		padding: 30px 0;
		display: flex;
		justify-content: center;
	}
}

.p-footer__inner {
	padding: 50px 0;
}

@media screen and (max-width: 780px) {
	.p-footer__inner {
		padding: 20px 0;
	}
}

.p-footer__list {
	margin: 0 auto;
	display: flex;
	flex-shrink: 0;
}

.p-footer__item {
	margin-top: 30px;
	padding: 0 40px;
	border-left: solid 1px #ffffff;
}

.p-footer__item:nth-child(1) {
	border: none;
}

.p-footer__item a {
	color: #ffffff;
}

@media screen and (max-width: 780px) {
	.p-footer__item {
		padding: 0 10px;
		margin-top: 10px;
		font-size: 1.2rem;
	}
}

.p-footer__item--first {
	border: none;
}

.p-footer__bottom {
	margin-top: 75.8px;
	display: flex;
	align-items: center;
	flex-direction: column;
	color: #ffffff;
	text-align: center;
}

.p-footer__logo {
	width: 177px;
}

.p-footer__logo img {
	width: 177px;
}

.p-footer__text1 {
	margin-top: 13.2px;
	font-size: 1.2rem;
}

.p-footer__text2 {
	margin-top: 4.2px;
	font-size: 1.6rem;
}

.p-footer__text3 {
	margin-top: 6px;
	font-size: 1.6rem;
}

.p-footer__copy {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
}

.p-footer__copy-icon {
	font-size: 2rem;
}

.p-form {
	width: 100%;
	max-width: 900px;
}

.p-form span {
	width: 100%;
}

.p-form__item {
	margin-top: 20px;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
}

.p-form__sub-title {
	padding-left: 20px;
	border-left: solid 5px #a31a30;
	font-weight: bold;
	color: #000000;
}

.p-form__label span {
	font-weight: 400;
	color: #e06e6a;
}

.p-form__input, .p-form__text {
	padding: 0 10px;
	flex-shrink: 0;
	width: 100%;
}

.p-form__select {
	padding: 0 10px;
	height: 36px;
}

.p-form__btn {
	width: 100%;
	height: 64px;
	line-height: 58px;
	cursor: pointer;
	text-align: center;
	border: none;
	color: #ffffff;
	font-size: 2rem;
	font-weight: bold;
	transition: all 0.3s;
	background: #a31a30;
}

@media screen and (max-width: 780px) {
	.p-form__btn {
		font-size: 1.6rem;
	}
}

.p-form__btn:hover {
	opacity: 0.7;
}

@media screen and (max-width: 780px) {
	.p-nav {
		display: none;
	}
}
.wpcf7-spinner{
	width:auto !important;
}
.p-nav__icon-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-right: 32px;
}

.p-nav__icon-wrapper:last-child {
	margin-right: 0;
}

.p-nav__icon-wrapper--menu {
	position: relative;
	z-index: 100;
}

@media screen and (max-width: 780px) {
	.p-nav__icon-wrapper {
		margin-right: 10px;
	}
}

.p-nav__img {
	width: 32px;
}

.p-nav__img img {
	width: 32px;
}

.p-nav__icon {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 26px;
	height: 21px;
	transition: 0.1s;
}

.p-nav__icon span {
	display: inline-block;
	width: 26px;
	height: 4px;
	border-radius: 2px;
	background-color: #000000;
	transition: all 0.3s;
}

.p-nav__icon .bar__top {
	transform: translate(0, 10px) rotate(45deg);
}

.p-nav__icon .bar__mid {
	display: none;
}

.p-nav__icon .bar__bottom {
	transform: translate(0, -7px) rotate(-45deg);
}

.p-nav__icon:hover {
	cursor: pointer;
}

.p-nav__icon--active span {
	background: #ffffff;
}

.p-nav__text {
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
}

.p-nav__menu--active {
	color: #ffffff;
}

.p-nav__list-wrapper {
	position: fixed;
	z-index: 80;
	top: 0;
	right: 0;
	width: 30%;
	height: 100vh;
	padding: 0 30px;
	transform: translateX(5000px);
	background: rgba(0, 0, 0, 0.8);
	transition: all 0.5s;
}

.p-nav__list-wrapper--active {
	transform: translateX(0);
}

@media screen and (max-width: 780px) {
	.p-nav__list-wrapper {
		width: 70%;
	}
}

.p-nav__list {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	justify-content: center;
}

.p-nav__item {
	width: 100%;
	flex-shrink: 0;
	padding: 20px 30px;
	border-bottom: 1px solid #ffffff;
}

.p-nav__item:nth-child(1) {
	border-top: 1px solid #ffffff;
}

.p-nav__item a {
	width: 100%;
	color: #ffffff;
	transition: all 0.5s;
}

.p-nav__item a:hover {
	opacity: 0.5;
}

@media screen and (max-width: 780px) {
	.p-nav__item {
		padding: 10px 10px;
		font-size: 1.4rem;
	}
}

.p-nav__bottom {
	width: 100%;
	height: 40px;
	background: #000000;
}

.p-nav__bottom-list {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

.p-nav__bottom-item {
	width: 25%;
	font-weight: bold;
	border-right: solid 1px #ffffff;
}

.p-nav__bottom-item:last-child {
	border-right: none;
}

.p-nav__bottom-item a {
	width: 100%;
	color: white;
	text-align: center;
	line-height: 40px;
}

.p-header {
	background: #ffffff;
}

@media screen and (max-width: 780px) {
	.p-header {
		min-width: auto;
	}
}

.p-header__inner {
	padding: 30px 100px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #ffffff;
}

@media screen and (max-width: 780px) {
	.p-header__inner {
		flex-wrap: wrap;
		padding: 20px 20px;
		min-width: 0;
	}
}

.p-header__logo-inner {
	display: flex;
	align-items: center;
	flex-direction: column;
}

.p-header__logo {
	width: 120px;
}

.p-header__logo img {
	width: 120px;
}

.p-header__logo-text {
	display: block;
	white-space: nowrap;
	font-size: 1rem;
	line-height: 1.3;
}

@media screen and (max-width: 780px) {
	.p-header__logo-text {
		transform: scale(0.7);
	}
}

.p-info {
	width: 100%;
}

.p-info__inner {
	margin: 0 auto;
	border-bottom: 1px solid #ffffff;
}

.p-info__inner:nth-child(1) {
	border-top: 1px solid #ffffff;
}

.p-info__item {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 20px;
	transition: all 0.5s;
}

.p-info__item:hover {
	opacity: 0.8;
}

.p-info__time {
	font-size: 1.7rem;
}

@media screen and (max-width: 780px) {
	.p-info__time {
		font-size: 1.4rem;
	}
}

.p-info__title {
	font-size: 2.4rem;
}

@media screen and (max-width: 780px) {
	.p-info__title {
		font-size: 1.7rem;
	}
}

.p-info__item-inner {
	margin-right: 100px;
}

@media screen and (max-width: 780px) {
	.p-info__item-inner {
		margin-right: 50px;
	}
}

.p-content {
	width: 100%;
	padding: 80px 0;
	overflow-x: hidden;
}

@media screen and (max-width: 780px) {
	.p-content {
		padding: 40px 0;
	}
}

.p-content--gradient {
	background-image: linear-gradient(to bottom left, #f6f6f6 0%, #efefef 21%, #dedede 66%, #d4d4d4 100%);
}

.p-content--img {
	position: relative;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
}

.p-content--img::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	background: #1b3665;
	opacity: 0.5;
	width: 100%;
	height: 100%;
}

.p-content--about {
	background-image: url("../img/fv.png");
}

.p-content--origin {
	background-image: url("../img/origin.png");
}

.p-content--philosophy {
	background-image: url("../img/fv2.jpg");
}

.p-content--black {
	background: #000000;
}

.p-content--gray {
	background: #676970;
}

.p-content--gray2 {
	background: #f4f4f4;
}

.p-content--blue {
	background: rgba(122, 165, 203, 0.15);
}

.p-content--full {
	padding-left: 0;
	padding-right: 0;
}

.p-content__inner {
	width: 100%;
	max-width: 1220px;
	margin: 0 auto;
	padding-left: 50px;
	padding-right: 50px;
}

.p-content__inner--small {
	max-width: 1000px;
}

@media screen and (max-width: 780px) {
	.p-content__inner {
		padding-left: 20px;
		padding-right: 20px;
	}
}

.p-content__lead {
	position: relative;
	z-index: 2;
	font-size: 2.8rem;
	font-weight: bold;
}

@media screen and (max-width: 780px) {
	.p-content__lead {
		font-size: 1.6rem;
	}
}

.p-content__lead--normal {
	font-style: normal;
}

.p-content__text {
	position: relative;
	z-index: 2;
	font-size: 1.7rem;
}

@media screen and (max-width: 780px) {
	.p-content__text {
		font-size: 1.4rem;
	}
}

.p-content__img {
	width: 100%;
}

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

.p-program {
	display: flex;
	flex-wrap: wrap;
}

.p-program__item {
	margin-top: 20px;
	margin-right: 20px;
	display: inline-block;
	text-align: center;
	padding: 15px 17px;
	background: #404040;
	color: #ffffff;
	font-size: 2.4rem;
	font-family: "Yu Gothic", YuGothic;
	font-weight: 500;
}

@media screen and (max-width: 780px) {
	.p-program__item {
		font-size: 1.8rem;
		padding: 10px 10px;
	}
}

.p-slider {
	border: none;
	padding-top: 0;
}

.p-slider__item {
	position: relative;
}

.p-slider__img {
	width: 100%;
	height: 35vw;
	background: #7aa5cb;
}

@media screen and (max-width: 780px) {
	.p-slider__img {
		height: 450px;
	}
}

.p-slider__img--text {
	padding: 0 10vw 0 20vw;
}

@media screen and (max-width: 780px) {
	.p-slider__img--text {
		padding: 65px 0 85px;
	}
}

.p-slider__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-slider__text {
	position: absolute;
	z-index: 2;
	left: 3%;
	bottom: 50%;
	font-family: "MS Pゴシック";
	font-weight: bold;
	transform: translateY(50%);
	font-size: 6rem;
	font-size: 50px;
	font-size: 2.60417vw;
	line-height: 1.5;
	color: #ffffff;
	text-shadow: 2px 2px 10px #000000;
}

@media screen and (max-width: 780px) {
	.p-slider__text {
		font-size: 2.5rem;
		transform: translateY(0);
		bottom: 5px;
		left: 8%;
	}
}

/* 投稿記事 */
.p-single h1 {
	margin-top: 50px;
	margin-bottom: 20px;
	position: relative;
	padding-left: 10px;
	border-left: solid 5px #a31a30;
	font-size: 3rem;
	font-weight: bold;
	background-color: #f4f4f4;
}

@media screen and (max-width: 780px) {
	.p-single h1 {
		font-size: 2rem;
	}
}

.p-single h2 {
	margin-top: 50px;
	margin-bottom: 20px;
	position: relative;
	padding-left: 10px;
	border-left: solid 5px #a31a30;
	font-size: 3rem;
	font-weight: bold;
	background-color: #f4f4f4;


}

@media screen and (max-width: 780px) {
	.p-single h2 {
		font-size: 2rem;
		margin-top: 25px;
		margin-bottom: 15px;
	}
}

.p-single h3 {
	margin-top: 50px;
	margin-bottom: 20px;
	position: relative;
	padding-left: 10px;
	border-left: solid 5px #a31a30;
	font-size: 3rem;
	font-weight: bold;
}

@media screen and (max-width: 780px) {
	.p-single h3 {
		font-size: 1.6rem;
		margin-top: 25px;
		margin-bottom: 15px;
	}
}

.p-single h4 {
	margin-top: 50px;
	margin-bottom: 20px;
	position: relative;
	font-size: 2.3rem;
	border-bottom: 1px solid #a31a30;
	margin-top: 25px;
	margin-bottom: 15px;
}


@media screen and (max-width: 780px) {
	.p-single h4 {
		font-size: 1.8rem;
	}
}



.p-single h5 {
	font-weight: bold;
	font-size: 2rem;
	margin-top: 50px;
	margin-bottom: 10px;
}

@media screen and (max-width: 780px) {
	.p-single h5 {
		font-size: 1.6rem;
		margin-top: 25px;
		margin-bottom: 10px;
	}
}


.p-single p {
	margin-top: 10px;
	margin-bottom: 30px;
}

@media screen and (max-width: 780px) {
	.p-single p {
		margin-top: 20px;
		margin-bottom: 30px;
	}
}

.p-single table tr {
	border-bottom: 1px solid #000000;
	display: flex;
	align-items: flex-start;
}

.p-single table tr:nth-child(1) {
	border-top: 1px solid #000000;
}

@media screen and (max-width: 780px) {
	.p-single table tr {
		flex-direction: column;
	}
}

.p-single table th {
	width: 18%;
	padding: 20px 20px 20px 0;
}

.p-single table th strong {
	display: inline-block;
	width: 100%;
	height: 32px;
	padding: 0 20px;
	background: #a31a30;
	color: #ffffff;
	line-height: 32px;
	text-align: center;
}

@media screen and (max-width: 780px) {
	.p-single table th {
		padding: 20px 0 0;
		width: auto;
	}
}

.p-single table td {
	width: 72%;
	padding: 20px;
	line-height: 2;
}

@media screen and (max-width: 780px) {
	.p-single table td {
		padding: 20px 0;
		width: 100%;
	}
}

/* 投稿一覧 */
.p-post {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.p-post__wrapper {
	margin-bottom: 50px;
	width: 47%;
	box-shadow: rgb(99 99 99 / 20%) 0 2px 8px 0;
	padding: 40px;
}

.p-post__inner {
	display: flex;
	flex-direction: column;

}

.p-post__img {
	width: 100%;
}

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

.p-post__img img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}

.p-post__content {
	margin-top: 20px;
}

.p-post__time {
	font-size: 14px;
	color: #676970;
}

.p-post__title {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.2;

}

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


.p-post__btn a {
	margin-top: 20px;
	padding: 5px 20px;
	background: #a31a30;
	color: white;
	transition: opacity 0.3s;

}

.p-post__btn a:hover {
	opacity: 0.7;
}

.p-post__btn i {
	margin-left: 10px;
	transition: transform 0.3s;
}

.p-post__btn a:hover i {
	transform: translateX(5px);
}



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

	.p-post__wrapper {
		width: 100%;
	}

	.p-post__title {
		font-size: 2rem;
	}
}

/* サイドバー */
.p-aside__title {
	padding-left: 5px;
	border-left: 3px solid #a31a30;
}

.p-schedule {
	position: relative;
	flex-shrink: 0;
	width: 45%;
}

@media screen and (max-width: 780px) {
	.p-schedule {
		width: 100%;
		margin-top: 100px;
	}

	.p-schedule:nth-child(1) {
		margin-top: 0;
	}
}

.p-schedule::before {
	content: "";
	position: absolute;
	top: 0;
	left: -30px;
	width: 1px;
	height: 100%;
	background-color: #d2d2d0;
}

.p-schedule__title {
	text-align: center;
	color: #ffffff;
	width: 102px;
	background: #000000;
	margin-bottom: 41px;
	font-size: 3.2rem;
}

@media screen and (max-width: 780px) {
	.p-schedule__title {
		font-size: 2rem;
	}
}

.p-schedule__item {
	margin-top: 30px;
}

.p-schedule__item-inner {
	display: flex;
	align-items: flex-start;
}

.p-schedule__time {
	font-size: 2.8rem;
	margin-right: 32px;
	line-height: 36px;
}

@media screen and (max-width: 780px) {
	.p-schedule__time {
		font-size: 1.8rem;
		line-height: 24px;
	}
}

.p-schedule__do {
	font-size: 2.4rem;
	line-height: 36px;
}

@media screen and (max-width: 780px) {
	.p-schedule__do {
		font-size: 1.6rem;
		line-height: 24px;
	}
}

.p-table {
	width: 100%;
	padding-bottom: 80px;
}

.p-table__inner {
	width: 100%;
}

.p-table__row {
	position: relative;
	display: flex;
	align-items: flex-start;
	border-bottom: solid 2px #000000;
}

@media screen and (max-width: 780px) {
	.p-table__row {
		flex-direction: column;
	}
}

.p-table__header {
	padding: 20px 20px;
	text-align: left;
	width: 20%;
}

@media screen and (max-width: 780px) {
	.p-table__header {
		padding: 10px 20px;
		width: 100%;
	}
}

.p-table__text {
	padding: 20px 20px;
	width: 80%;
}

@media screen and (max-width: 780px) {
	.p-table__text {
		padding: 10px 20px;
		width: 100%;
	}
}

.p-table__text a {
	color: #7aa5cb;
}

.u-mb-34 {
	margin-bottom: 34px;
}

.u-mb-10 {
	margin-bottom: 10px;
}

.u-mb-100 {
	margin-bottom: 100px;
}

.u-mb-40 {
	margin-bottom: 40px;
}

.u-ml-15 {
	margin-left: 15px;
}

.u-mt-20 {
	margin-top: 20px;
}

.u-mt-50 {
	margin-top: 50px;
}

.u-mt-70 {
	margin-top: 70px;
}

.u-mt-100 {
	margin-top: 100px;
}

.u-wide {
	width: 100%;
}

.u-wide-archive {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;

}

.u-pb {
	padding-bottom: 100px;
}

.u-pt {
	padding-top: 100px;
}

.u-pt--s {
	padding-top: 46px;
}

.u-pt--m {
	padding-top: 78px;
}

/* Slider */
.slick-loading .slick-list {
	background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
	font-family: "slick";
	src: url("./fonts/slick.eot");
	src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
	font-weight: normal;
	font-style: normal;
}

/* Arrows */
.slick-prev, .slick-next {
	position: absolute;
	display: block;
	height: 20px;
	width: 20px;
	line-height: 0px;
	font-size: 0px;
	cursor: pointer;
	background: transparent;
	color: transparent;
	top: 50%;
	transform: translate(0, -50%);
	padding: 0;
	border: none;
	outline: none;
}

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
	outline: none;
	background: transparent;
	color: transparent;
}

.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
	opacity: 1;
}

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
	opacity: 0.25;
}

.slick-prev:before, .slick-next:before {
	font-family: "slick";
	font-size: 20px;
	line-height: 1;
	color: white;
	opacity: 0.75;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.slick-prev {
	left: -25px;
}

[dir="rtl"] .slick-prev {
	left: auto;
	right: -25px;
}

.slick-prev:before {
	content: "←";
}

[dir="rtl"] .slick-prev:before {
	content: "→";
}

.slick-next {
	right: -25px;
}

[dir="rtl"] .slick-next {
	left: -25px;
	right: auto;
}

.slick-next:before {
	content: "→";
}

[dir="rtl"] .slick-next:before {
	content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
	margin-bottom: 30px;
}

.slick-dots {
	position: absolute;
	bottom: -25px;
	list-style: none;
	display: block;
	text-align: center;
	padding: 0;
	margin: 0;
	width: 100%;
}

.slick-dots li {
	position: relative;
	display: inline-block;
	height: 20px;
	width: 20px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer;
}

.slick-dots li button {
	border: 0;
	background: transparent;
	display: block;
	height: 20px;
	width: 20px;
	outline: none;
	line-height: 0px;
	font-size: 0px;
	color: transparent;
	padding: 5px;
	cursor: pointer;
}

.slick-dots li button:hover, .slick-dots li button:focus {
	outline: none;
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
	opacity: 1;
}

.slick-dots li button:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "•";
	width: 20px;
	height: 20px;
	font-family: "slick";
	font-size: 6px;
	line-height: 20px;
	text-align: center;
	color: black;
	opacity: 0.25;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
	color: black;
	opacity: 0.75;
}

/* Slider */
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-touch-callout: none;
	user-select: none;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;
	overflow: hidden;
	display: block;
	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track, .slick-slider .slick-list {
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	left: 0;
	top: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.slick-track:before, .slick-track:after {
	content: "";
	display: table;
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	float: left;
	height: 100%;
	min-height: 1px;
	display: none;
}

[dir="rtl"] .slick-slide {
	float: right;
}

.slick-slide img {
	display: block;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}

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


/*インスタバナー用CSS*/
.insta {
	display: block;
	max-width: 400px;
	margin: auto;
}

@media screen and (max-width: 780px) {
	.insta {
		width: 80%
	}
}