@charset "UTF-8";
/* style.scss */
/* normalize.scss */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Corrects `block` display not defined in IE6/7/8/9 & FF3.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
	display: block;
}

/*
 * Corrects `inline-block` display not defined in IE6/7/8/9 & FF3.
 */
audio,
canvas,
video {
	display: inline-block;
}

/*
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS5 devices.
 */
audio:not([controls]) {
	display: none;
	height: 0;
}

/*
 * Addresses styling for `hidden` attribute not present in IE7/8/9, FF3, S4.
 * Known issue: no IE6 support.
 */
[hidden] {
	display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/*
 * 1. Corrects text resizing oddly in IE6/7 when body `font-size` is set using
 *    `em` units.
 * 2. Prevents iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
	font-size: 100%;
	/* 1 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
	-ms-text-size-adjust: 100%;
	/* 2 */
}

/*
 * Addresses `font-family` inconsistency between `textarea` and other form
 * elements.
 */
/*
 * Addresses margins handled incorrectly in IE6/7.
 */
body {
	margin: 0;
}

img {
	vertical-align: top;
}

/* ==========================================================================
   Links
   ========================================================================== */
/*
 * Addresses `outline` inconsistency between Chrome and other browsers.
 */
/*a:focus {
    outline: thin dotted;
}*/
/*
 * Improves readability when focused and also mouse hovered in all browsers.
 * people.opera.com/patrickl/experiments/keyboard/test
 */
/*a:active,
a:hover {
    outline: 0;
}*/
/* ==========================================================================
   Typography
   ========================================================================== */
/*
 * Addresses font sizes and margins set differently in IE6/7.
 * Addresses font sizes within `section` and `article` in FF4+, Chrome, S5.
 */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 1em;
	font-weight: normal;
	margin: 0;
	padding: 0;
}

/*
 * Addresses styling not present in IE7/8/9, S5, Chrome.
 */
abbr[title] {
	border-bottom: 1px dotted;
}

/*
 * Addresses style set to `bolder` in FF3+, S4/5, Chrome.
 */
b,
strong {
	font-weight: bold;
}

blockquote {
	margin: 1em 40px;
}

/*
 * Addresses styling not present in S5, Chrome.
 */
dfn {
	font-style: italic;
}

/*
 * Addresses styling not present in IE6/7/8/9.
 */
mark {
	background: #ff0;
	color: #000;
}

/*
 * Addresses margins set differently in IE6/7.
 */
p,
pre {
	margin: 0;
	padding: 0;
}

/*
 * Corrects font family set oddly in IE6, S4/5, Chrome.
 * en.wikipedia.org/wiki/User:Davidgothberg/Test59
 */
code,
kbd,
pre,
samp {
	font-family: monospace, serif;
	_font-family: "courier new", monospace;
	font-size: 1em;
}

/*
 * Improves readability of pre-formatted text in all browsers.
 */
pre {
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

/*
 * Addresses CSS quotes not supported in IE6/7.
 */
q {
	quotes: none;
}

/*
 * Addresses `quotes` property not supported in S4.
 */
q:before,
q:after {
	content: "";
	content: none;
}

small {
	font-size: 75%;
}

/*
 * Prevents `sub` and `sup` affecting `line-height` in all browsers.
 * gist.github.com/413930
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

/* ==========================================================================
   Lists
   ========================================================================== */
/*
 * Addresses margins set differently in IE6/7.
 */
dl,
menu,
ol,
ul {
	margin: 0;
}

dd {
	margin: 0;
}

/*
 * Addresses paddings set differently in IE6/7.
 */
menu,
ol,
ul {
	padding: 0;
}

/*
 * Corrects list images handled incorrectly in IE7.
 */
ul,
ol {
	list-style: none;
	list-style-image: none;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
/*
 * 1. Removes border when inside `a` element in IE6/7/8/9, FF3.
 * 2. Improves image quality when scaled in IE7.
 *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */
img {
	border: 0;
	/* 1 */
	-ms-interpolation-mode: bicubic;
	/* 2 */
	margin: 0;
	padding: 0;
}

/*
 * Corrects overflow displayed oddly in IE9.
 */
svg:not(:root) {
	overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/*
 * Addresses margin not present in IE6/7/8/9, S5, O11.
 */
figure {
	margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/*
 * Corrects margin displayed oddly in IE6/7.
 */
form {
	margin: 0;
}

/*
 * Define consistent border, margin, and padding.
 */
fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

/*
 * 1. Corrects color not being inherited in IE6/7/8/9.
 * 2. Corrects text not wrapping in FF3.
 * 3. Corrects alignment displayed oddly in IE6/7.
 */
legend {
	border: 0;
	/* 1 */
	padding: 0;
	white-space: normal;
	/* 2 */
}

/*
 * 1. Corrects font size not being inherited in all browsers.
 * 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome.
 * 3. Improves appearance and consistency in all browsers.
 */
button,
input,
select,
textarea {
	font-size: 100%;
	/* 1 */
	margin: 0;
	/* 2 */
	vertical-align: baseline;
	/* 3 */
}

/*
 * Addresses FF3/4 setting `line-height` on `input` using `!important` in the
 * UA stylesheet.
 */
button,
input {
	line-height: normal;
}

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Removes inner spacing in IE7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	/* 2 */
	cursor: pointer;
	/* 3 */
}

/*
 * Re-set default cursor for disabled elements.
 */
button[disabled],
input[disabled] {
	cursor: default;
}

/*
 * 1. Addresses box sizing set to content-box in IE8/9.
 * 2. Removes excess padding in IE8/9.
 * 3. Removes excess padding in IE7.
 *    Known issue: excess padding remains in IE6.
 */
input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	/* 1 */
	padding: 0;
	/* 2 */
}

/*
 * 1. Addresses `appearance` set to `searchfield` in S5, Chrome.
 * 2. Addresses `box-sizing` set to `border-box` in S5, Chrome (include `-moz`
 *    to future-proof).
 */
input[type="search"] {
	-webkit-appearance: textfield;
	/* 1 */
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	/* 2 */
	box-sizing: content-box;
}

/*
 * Removes inner padding and search cancel button in S5, Chrome on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/*
 * Removes inner padding and border in FF3+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

/*
 * 1. Removes default vertical scrollbar in IE6/7/8/9.
 * 2. Improves readability and alignment in all browsers.
 */
textarea {
	overflow: auto;
	/* 1 */
	vertical-align: top;
	/* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells.
 */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ==========================================================================
   hr
   ========================================================================== */
hr {
	visibility: hidden;
}

/* ==========================================================================
   hr
   ========================================================================== */
a {
	outline: none;
}

a,
a:link {
	outline: none;
}

a:visited {
	outline: none;
}

/* module.scss */
* {
	margin: 0;
	padding: 0;
}

:root {
	--browser-width: 0px;
	/* ブラウザの幅を格納するCSS変数 */
	--element-x: 0px;
	/* 要素のx座標を格納するCSS変数 */
	--difference: 0px;
	/* ブラウザの幅と要素のx座標の差を格納するCSS変数 */
	--header-height: 16vw;
}

html {
	scroll-behavior: smooth;
	overflow-x: hidden;
}

body {
	color: #121314;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
	font-size: 4vw;
	line-height: 2;
	font-weight: 500;
	margin: 0;
	padding: 0;
	position: relative;
	width: 100%;
	overflow-x: hidden;
	visibility: hidden;
}
@media screen and (min-width: 769px) {
	body {
		font-size: 16px;
		line-height: 1.8;
		min-width: 1300px;
	}
}
@media screen and (min-width: 769px) and (max-width: 1299px) {
	body {
		width: 1300px;
	}
}
body p {
	letter-spacing: -0.05vw;
}
@media screen and (min-width: 769px) {
	body p {
		letter-spacing: initial;
	}
}

figure,
picture {
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	/* スマホ */
	.pc_only {
		display: none !important;
	}
}
/* End MQ */
@media screen and (min-width: 769px) {
	/* Tablet, PC */
	.sp_only {
		display: none !important;
	}
}
/* End MQ */
a {
	color: #000;
	transition: 0.2s;
	text-decoration: none;
}
a:hover {
	opacity: 0.3;
}

a:hover {
	opacity: 0.85;
	transition: 0.2s;
}

.nodeco {
	text-decoration: none;
}

#screen {
	position: relative;
	text-align: left;
}

#container {
	margin: 0 auto;
	clear: both;
	position: relative;
}

#container.page_bg {
	background: url("../images/top/bg01.jpg") no-repeat;
	background-position: right top;
	background-size: 175%;
	padding: 4vw 0;
}
@media screen and (min-width: 769px) {
	#container.page_bg {
		padding: 30px 0 50px;
		background-size: auto;
	}
}

section,
.section {
	clear: both;
	text-align: left;
	margin: 0;
}

section p,
section ul,
.section p,
.section ul {
	text-align: left;
}

/* ------------------------------------------------
メインイメージ
------------------------------------------------ */
.keyvisual {
	position: relative;
	width: auto;
	height: 175vw;
	margin: auto;
	overflow: hidden;
}
@media screen and (min-width: 769px) {
	.keyvisual {
		margin-top: 0;
		min-width: 1300px;
		height: 840px;
	}
}
.keyvisual::after {
	background: #172f4b;
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 75.6vw;
	z-index: -1;
}
@media screen and (min-width: 769px) {
	.keyvisual::after {
		height: 290px;
	}
}
.keyvisual .key_slider img {
	width: 100%;
	height: 161.73vw;
	object-fit: cover;
	object-position: center;
}
@media screen and (min-width: 769px) {
	.keyvisual .key_slider img {
		height: 840px;
	}
}
.keyvisual img {
	width: 100%;
	height: auto;
}
.keyvisual .slide_number {
	position: absolute;
	z-index: 6;
	right: 49px;
	top: 325px;
	font-family: "Vollkorn", serif;
	color: #fff;
	font-size: 20px;
}
.keyvisual .slide_number .inafter {
	position: absolute;
	top: 136px;
}
.keyvisual .slick-prev {
	right: -1vw;
	top: -17.5vw;
	z-index: 7;
	width: 4.53vw;
	height: 3.73vw;
	opacity: 0;
}
@media screen and (min-width: 769px) {
	.keyvisual .slick-prev {
		right: -5px;
		top: 0;
		width: 34px;
		height: 28px;
	}
}
.keyvisual .slick-next {
	right: -1vw;
	top: 6.5vw;
	z-index: 7;
	width: 4.53vw;
	height: 3.73vw;
	opacity: 0;
}
@media screen and (min-width: 769px) {
	.keyvisual .slick-next {
		right: -5px;
		top: 155px;
		width: 34px;
		height: 28px;
	}
}
.keyvisual .dots-bar {
	position: absolute;
	right: 6.5vw;
	top: 64vw;
	z-index: 7;
}
@media screen and (min-width: 769px) {
	.keyvisual .dots-bar {
		right: 70px;
		top: 340px;
	}
}
.keyvisual .dots-bar li {
	position: absolute;
	pointer-events: none;
}
.keyvisual .dots-bar li button {
	position: relative;
	border: 0;
	font-size: 0;
}
.keyvisual .dots-bar li button::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 0.53vw;
	height: 17vw;
	z-index: 2;
	background: rgba(255, 255, 255, 0.2);
}
@media screen and (min-width: 769px) {
	.keyvisual .dots-bar li button::after {
		width: 2px;
		height: 88px;
	}
}
.keyvisual .dots-bar li button::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 0.53vw;
	height: 17vw;
	background: rgba(255, 255, 255, 0.2);
}
@media screen and (min-width: 769px) {
	.keyvisual .dots-bar li button::before {
		width: 2px;
		height: 88px;
	}
}
.keyvisual .dots-bar .slick-active button:after {
	background: #fff;
	animation: progress 5s linear forwards;
}
.keyvisual .dots-bar .slick-active-first button:after {
	background: #fff;
	animation: progress 4s linear forwards !important;
}
.keyvisual .control-area {
	position: absolute;
	right: 4.5vw;
	top: 82vw;
	z-index: 7;
	color: #fff;
}
@media screen and (min-width: 769px) {
	.keyvisual .control-area {
		right: 58px;
		top: 315px;
	}
}
.keyvisual .key_slider {
	width: calc(100% - 10.66vw);
	margin-left: 10.66vw;
}
@media screen and (min-width: 769px) {
	.keyvisual .key_slider {
		width: calc(100% - 120px);
		margin-left: 120px;
	}
}
.keyvisual .count-num span {
	right: 0;
	position: absolute;
	font-family: "Vollkorn", serif;
	color: #fff;
	font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
	.keyvisual .count-num span {
		font-size: 20px;
	}
}
.keyvisual .count-num span::before {
	content: "0";
}
@media screen and (max-width: 768px) {
	.keyvisual .count-num .current {
		top: -18.66vw;
	}
}
.keyvisual .count-num .total {
	top: 5vw;
}
@media screen and (min-width: 769px) {
	.keyvisual .count-num .total {
		top: 150px;
	}
}

@keyframes progress {
	0% {
		height: 17vw;
	}
	5% {
		height: 0px;
	}
	100% {
		height: 17vw;
	}
}
@media screen and (min-width: 769px) {
	@keyframes progress {
		0% {
			height: 88px;
		}
		5% {
			height: 0px;
		}
		100% {
			height: 88px;
		}
	}
}
.figure01 {
	position: absolute;
	left: 1.33vw;
	top: 55.33vw;
	z-index: 2;
	mix-blend-mode: overlay;
	width: 53.6vw;
}
.figure01 img {
	width: 100%;
	height: auto;
}
@media screen and (min-width: 769px) {
	.figure01 {
		left: 34px;
		top: 316px;
		width: 403px;
	}
}
@media screen and (min-width: 1920px) {
	.figure01 {
		top: 350px;
	}
}

.top_title {
	position: absolute;
	z-index: 2;
	left: 15vw;
	top: 69.5vw;
	max-width: 71.33vw;
}
@media screen and (min-width: 769px) {
	.top_title {
		left: 200px;
		top: 400px;
		max-width: 571px;
	}
}
@media screen and (min-width: 1920px) {
	.top_title {
		top: 436px;
	}
}
.top_title img {
	width: 100%;
	height: auto;
	margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
	.top_title img {
		width: 100%;
	}
}
.top_title .sub_text {
	margin-left: 2vw;
	font-size: 4.26vw;
	font-family: "Vollkorn", serif;
	color: #fff;
	line-height: 1;
	font-weight: 500;
	text-shadow: 0 0 9px rgba(7, 23, 40, 0.85);
}
@media screen and (min-width: 769px) {
	.top_title .sub_text {
		margin-left: 15px;
		font-size: 24px;
	}
}

.bottom_title {
	position: absolute;
	z-index: 5;
	right: 2vw;
	top: 146.5vw;
	font-size: 18.13vw;
	font-family: "Vollkorn", serif;
	font-weight: 500;
	color: #fff;
	mix-blend-mode: difference;
	text-align: center;
	white-space: nowrap;
	pointer-events: none;
}
@media screen and (min-width: 769px) {
	.bottom_title {
		font-size: 184px;
		top: 660px;
		right: 15px;
	}
}

.scroll_down {
	position: relative;
	top: -15vw;
	left: 1.8vw;
	z-index: 6;
	width: 6vw;
}
@media screen and (min-width: 769px) {
	.scroll_down {
		left: 30px;
		width: 50px;
		top: 2vw;
	}
}

.scroll_down:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 80%;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0.8) 80%, rgba(255, 255, 255, 0.8) 100%);
}

.scroll_down a {
	display: inline-block;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	width: 1.73vw;
	padding: 1.33vw 1.33vw 14.13vw;
	color: #fff;
	font-size: 2.93vw;
	font-family: "Vollkorn", serif;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	writing-mode: vertical-lr;
	transition: 0.2s;
	margin: auto;
}
@media screen and (min-width: 769px) {
	.scroll_down a {
		font-size: 12px;
		padding: 10px 10px 106px;
	}
}
.scroll_down a p {
	left: -0.6vw;
	position: relative;
	z-index: 5;
	line-height: 1;
}
@media screen and (min-width: 769px) {
	.scroll_down a p {
		left: 6px;
	}
}

.scroll_down a:before {
	content: "";
	position: absolute;
	bottom: -9vw;
	left: 50%;
	width: 2px;
	height: 20.8vw;
	background: #ddd;
}
@media screen and (min-width: 769px) {
	.scroll_down a:before {
		width: 1px;
		height: 100px;
		bottom: 0;
		left: 23px;
	}
}

.scroll_down a:after {
	content: "";
	position: absolute;
	bottom: -9vw;
	left: 50%;
	width: 2px;
	height: 20.8vw;
	background: #172f4b;
}
@media screen and (min-width: 769px) {
	.scroll_down a:after {
		height: 100px;
		bottom: 0;
		left: 23px;
	}
}

.scroll_down a:hover {
	opacity: 0.5;
}

#type01 a:after {
	animation: sdl01 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl01 {
	0% {
		transform: scale(1, 0);
		transform-origin: 0 0;
	}
	50% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}
	50.1% {
		transform: scale(1, 1);
		transform-origin: 0 100%;
	}
	100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}
.top_news {
	position: absolute;
	right: 0;
	top: 146vw;
	z-index: 2;
	width: 71.4vw;
}
@media screen and (min-width: 769px) {
	.top_news {
		top: 690px;
		width: 440px;
	}
}
.top_news a {
	width: 100%;
	height: 26.26vw;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	line-height: 1;
	position: absolute;
	z-index: 6;
	right: 0;
	bottom: 0;
	background: rgba(18, 19, 20, 0.8);
	box-sizing: border-box;
	color: #fff;
	padding: 3.33vw;
}
@media screen and (min-width: 769px) {
	.top_news a {
		flex-direction: row;
		align-items: center;
		height: 100px;
		width: 64%;
		min-width: 440px;
		max-width: 98px;
		padding: 20px 25px;
	}
}
.top_news a::before {
	content: "";
	width: 7.46vw;
	height: 7.46vw;
	border-radius: 7.46vw;
	border: solid 1px #fff;
	position: absolute;
	right: 5.33vw;
	top: 9vw;
	bottom: 0;
	margin: auto;
}
@media screen and (min-width: 769px) {
	.top_news a::before {
		width: 32px;
		height: 32px;
		border-radius: 32px;
		right: 33px;
		top: 0;
	}
}
.top_news a::after {
	content: "";
	width: 1.06vw;
	height: 1.06vw;
	border-radius: 1.06vw;
	background: #fff;
	position: absolute;
	right: 8.7vw;
	top: 9vw;
	bottom: 0;
	margin: auto;
}
@media screen and (min-width: 769px) {
	.top_news a::after {
		width: 6px;
		height: 6px;
		border-radius: 6px;
		right: 48px;
		top: 0;
	}
}
.top_news h2 {
	font-size: 4.26vw;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 700;
	font-family: "Vollkorn", serif;
	line-height: 1.5;
	padding-right: 24px;
	margin-bottom: 4vw;
	position: relative;
}
@media screen and (max-width: 768px) {
	.top_news h2::after {
		background: #fff;
		width: 7.46vw;
		height: 0.26vw;
		position: absolute;
		left: 0;
		bottom: -1.25vw;
		margin: auto;
		content: "";
		transition: all 0.2s;
	}
}
@media screen and (min-width: 769px) {
	.top_news h2 {
		margin-bottom: initial;
		font-size: 22px;
		border-right: solid 1px #fff;
	}
}
.top_news div {
	position: relative;
}
@media screen and (min-width: 769px) {
	.top_news div {
		margin-left: 24px;
	}
}
.top_news div p:first-of-type {
	font-family: "Vollkorn", serif;
	margin-bottom: 2.4vw;
	font-size: 2.93vw;
}
@media screen and (min-width: 769px) {
	.top_news div p:first-of-type {
		margin-bottom: 12px;
		font-size: 14px;
	}
}
.top_news div p:last-of-type {
	font-size: 2.93vw;
}
@media screen and (min-width: 769px) {
	.top_news div p:last-of-type {
		font-size: 13px;
	}
}

@keyframes fadeInText {
	0% {
		transform: translateY(120%);
		opacity: 1;
	}
	50% {
		transform: translateY(120%);
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}
@keyframes zoom {
	0% {
		transform: scale(1.3);
	}
	100% {
		transform: scale(1);
		/* 拡大率 */
	}
}
/* -----------------------------------------------------------------------------------------------------------------------
幅
----------------------------------------------------------------------------------------------------------------------- */
.w10 {
	width: 10% !important;
}

.w20 {
	width: 20% !important;
}

.w30 {
	width: 30% !important;
}

.w40 {
	width: 40% !important;
}

.w50 {
	width: 50% !important;
}

.w60 {
	width: 60% !important;
}

.w70 {
	width: 70% !important;
}

.w80 {
	width: 80% !important;
}

.w90 {
	width: 90% !important;
}

.w100 {
	width: 100% !important;
}

/*▼▼▼　ＰＣ＆タブ　▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
@media screen and (min-width: 769px) {
	.pc_w10 {
		width: 10% !important;
	}

	.pc_w20 {
		width: 20% !important;
	}

	.pc_w30 {
		width: 30% !important;
	}

	.pc_w40 {
		width: 40% !important;
	}

	.pc_w50 {
		width: 50% !important;
	}

	.pc_w60 {
		width: 60% !important;
	}

	.pc_w70 {
		width: 70% !important;
	}

	.pc_w80 {
		width: 80% !important;
	}

	.pc_w90 {
		width: 90% !important;
	}

	.pc_w100 {
		width: 100% !important;
	}
}
/*▼▼▼　スマホ　▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
@media screen and (max-width: 768px) {
	.sp_w10 {
		width: 10% !important;
	}

	.sp_w20 {
		width: 20% !important;
	}

	.sp_w30 {
		width: 30% !important;
	}

	.sp_w40 {
		width: 40% !important;
	}

	.sp_w50 {
		width: 50% !important;
	}

	.sp_w60 {
		width: 60% !important;
	}

	.sp_w70 {
		width: 70% !important;
	}

	.sp_w80 {
		width: 80% !important;
	}

	.sp_w90 {
		width: 90% !important;
	}

	.sp_w100 {
		width: 100% !important;
	}
}
/* -----------------------------------------------------------------------------------------------------------------------
文字配置
----------------------------------------------------------------------------------------------------------------------- */
.textc {
	text-align: center !important;
}

.textr {
	text-align: right !important;
}

.textl {
	text-align: left !important;
}

.textj {
	text-align: justify !important;
}

/*▼▼▼　ＰＣ＆タブ　▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
@media screen and (min-width: 769px) {
	.pc_textc {
		text-align: center !important;
	}

	.pc_textr {
		text-align: right !important;
	}

	.pc_textl {
		text-align: left !important;
	}

	.pc_textj {
		text-align: justify !important;
	}
}
/*▼▼▼　スマホ　▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
@media screen and (max-width: 768px) {
	.sp_textc {
		text-align: center !important;
	}

	.sp_textr {
		text-align: right !important;
	}

	.sp_textl {
		text-align: left !important;
	}

	.sp_textj {
		text-align: justify;
	}
}
/* -----------------------------------------------------------------------------------------------------------------------
余白微調整
----------------------------------------------------------------------------------------------------------------------- */
.mr20 {
	margin-right: 20px;
}

.mr30 {
	margin-right: 30px;
}

.no_margin {
	margin: 0 !important;
}

.mra {
	margin-right: auto !important;
}

.mla {
	margin-left: auto !important;
}

.mt0 {
	margin-top: 0px !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mt90 {
	margin-top: 90px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mb0 {
	margin-bottom: 0px !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mb85 {
	margin-bottom: 85px !important;
}

.mb90 {
	margin-bottom: 90px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

.mb120 {
	margin-bottom: 120px !important;
}

.mb140 {
	margin-bottom: 140px !important;
}

.mb160 {
	margin-bottom: 160px !important;
}

.mb180 {
	margin-bottom: 180px !important;
}

.mb200 {
	margin-bottom: 200px !important;
}

.mb240 {
	margin-bottom: 240px !important;
}

.mb300 {
	margin-bottom: 300px !important;
}

.pdlr0 {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.pt0 {
	padding-top: 0px !important;
}

.pb0 {
	padding-bottom: 0px !important;
}

.pa10_all {
	padding: 10px !important;
}

.no_pa {
	padding: 0px !important;
}

.pt0 {
	padding-top: 0px !important;
}

.pb0 {
	padding-bottom: 0px !important;
}

.pa10_all {
	padding: 10px !important;
}

.no_pa {
	padding: 0px !important;
}

/*▼▼▼　タブ　▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
@media screen and (min-width: 751px) {
	.tb_mr20 {
		margin-right: 20px !important;
	}

	.tb_mt0 {
		margin-top: 0px !important;
	}

	.tb_mt5 {
		margin-top: 5px !important;
	}

	.tb_mt10 {
		margin-top: 10px !important;
	}

	.tb_mt15 {
		margin-top: 15px !important;
	}

	.tb_mt20 {
		margin-top: 20px !important;
	}

	.tb_mt30 {
		margin-top: 30px !important;
	}

	.tb_mt40 {
		margin-top: 40px !important;
	}

	.tb_mt50 {
		margin-top: 50px !important;
	}

	.tb_mt60 {
		margin-top: 60px !important;
	}

	.tb_mt70 {
		margin-top: 70px !important;
	}

	.tb_mt80 {
		margin-top: 80px !important;
	}

	.tb_mt90 {
		margin-top: 90px !important;
	}

	.tb_mt100 {
		margin-top: 100px !important;
	}

	.tb_mb0 {
		margin-bottom: 0px !important;
	}

	.tb_mb5 {
		margin-bottom: 5px !important;
	}

	.tb_mb10 {
		margin-bottom: 10px !important;
	}

	.tb_mb15 {
		margin-bottom: 15px !important;
	}

	.tb_mb20 {
		margin-bottom: 20px !important;
	}

	.tb_mb30 {
		margin-bottom: 30px !important;
	}

	.tb_mb40 {
		margin-bottom: 40px !important;
	}

	.tb_mb50 {
		margin-bottom: 50px !important;
	}

	.tb_mb60 {
		margin-bottom: 60px !important;
	}

	.tb_mb70 {
		margin-bottom: 70px !important;
	}

	.tb_mb80 {
		margin-bottom: 80px !important;
	}

	.tb_mb90 {
		margin-bottom: 90px !important;
	}

	.tb_mb100 {
		margin-bottom: 100px !important;
	}

	.tb_mb120 {
		margin-bottom: 120px !important;
	}

	.tb_mb140 {
		margin-bottom: 140px !important;
	}

	.tb_mb170 {
		margin-bottom: 170px !important;
	}

	.tb_mb200 {
		margin-bottom: 200px !important;
	}

	.tb_mb300 {
		margin-bottom: 300px !important;
	}
}
/*▼▼▼　ＰＣ　▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
@media screen and (min-width: 1160px) {
	.pc_mr20 {
		margin-right: 20px !important;
	}

	.pc_mt0 {
		margin-top: 0px !important;
	}

	.pc_mt5 {
		margin-top: 5px !important;
	}

	.pc_mt10 {
		margin-top: 10px !important;
	}

	.pc_mt15 {
		margin-top: 15px !important;
	}

	.pc_mt20 {
		margin-top: 20px !important;
	}

	.pc_mt30 {
		margin-top: 30px !important;
	}

	.pc_mt40 {
		margin-top: 40px !important;
	}

	.pc_mt50 {
		margin-top: 50px !important;
	}

	.pc_mt60 {
		margin-top: 60px !important;
	}

	.pc_mt70 {
		margin-top: 70px !important;
	}

	.pc_mt80 {
		margin-top: 80px !important;
	}

	.pc_mt90 {
		margin-top: 90px !important;
	}

	.pc_mt100 {
		margin-top: 100px !important;
	}

	.pc_mb0 {
		margin-bottom: 0px !important;
	}

	.pc_mb5 {
		margin-bottom: 5px !important;
	}

	.pc_mb10 {
		margin-bottom: 10px !important;
	}

	.pc_mb15 {
		margin-bottom: 15px !important;
	}

	.pc_mb20 {
		margin-bottom: 20px !important;
	}

	.pc_mb30 {
		margin-bottom: 30px !important;
	}

	.pc_mb40 {
		margin-bottom: 40px !important;
	}

	.pc_mb50 {
		margin-bottom: 50px !important;
	}

	.pc_mb60 {
		margin-bottom: 60px !important;
	}

	.pc_mb70 {
		margin-bottom: 70px !important;
	}

	.pc_mb80 {
		margin-bottom: 80px !important;
	}

	.pc_mb90 {
		margin-bottom: 90px !important;
	}

	.pc_mb100 {
		margin-bottom: 100px !important;
	}

	.pc_mb120 {
		margin-bottom: 120px !important;
	}

	.pc_mb130 {
		margin-bottom: 130px !important;
	}

	.pc_mb140 {
		margin-bottom: 140px !important;
	}

	.pc_mb170 {
		margin-bottom: 170px !important;
	}

	.pc_mb180 {
		margin-bottom: 180px !important;
	}

	.pc_mb200 {
		margin-bottom: 200px !important;
	}

	.pc_mb220 {
		margin-bottom: 220px !important;
	}

	.pc_mb340 {
		margin-bottom: 340px !important;
	}
}
/*▼▼▼　スマホ　▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼*/
@media screen and (max-width: 768px) {
	.sp_mt0 {
		margin-top: 0px !important;
	}

	.sp_mt5 {
		margin-top: 5px !important;
	}

	.sp_mt10 {
		margin-top: 10px !important;
	}

	.sp_mt15 {
		margin-top: 15px !important;
	}

	.sp_mt20 {
		margin-top: 20px !important;
	}

	.sp_mt30 {
		margin-top: 30px !important;
	}

	.sp_mt40 {
		margin-top: 40px !important;
	}

	.sp_mt50 {
		margin-top: 50px !important;
	}

	.sp_mt60 {
		margin-top: 60px !important;
	}

	.sp_mt70 {
		margin-top: 70px !important;
	}

	.sp_mt80 {
		margin-top: 80px !important;
	}

	.sp_mt90 {
		margin-top: 90px !important;
	}

	.sp_mt100 {
		margin-top: 100px !important;
	}

	.sp_mb0 {
		margin-bottom: 0px !important;
	}

	.sp_mb5 {
		margin-bottom: 5px !important;
	}

	.sp_mb10 {
		margin-bottom: 10px !important;
	}

	.sp_mb15 {
		margin-bottom: 15px !important;
	}

	.sp_mb20 {
		margin-bottom: 20px !important;
	}

	.sp_mb30 {
		margin-bottom: 4vw !important;
	}

	.sp_mb40 {
		margin-bottom: 5.33vw !important;
	}

	.sp_mb50 {
		margin-bottom: 50px !important;
	}

	.sp_mb60 {
		margin-bottom: 8vw !important;
	}

	.sp_mb70 {
		margin-bottom: 70px !important;
	}

	.sp_mb80 {
		margin-bottom: 80px !important;
	}

	.sp_mb90 {
		margin-bottom: 90px !important;
	}

	.sp_mb100 {
		margin-bottom: 100px !important;
	}

	.sp_mb120 {
		margin-bottom: 120px !important;
	}

	.sp_mb125 {
		margin-bottom: 125px !important;
	}

	.sp_mb130 {
		margin-bottom: 130px !important;
	}

	.sp_mb150 {
		margin-bottom: 150px !important;
	}

	.sp_mb200 {
		margin-bottom: 200px !important;
	}
}
/*◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆

【　６　】　部分的に特別なデザインやレイアウトが必要な場合

◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆*/
/* -----------------------------------------------------------------------------------------------------------------------
FLEX　個別設定
----------------------------------------------------------------------------------------------------------------------- */
.flex {
	display: flex;
}

.justify-between {
	justify-content: space-between !important;
}

.justify-around {
	justify-content: space-around !important;
}

.justify-center {
	justify-content: center !important;
}

.justify-start {
	justify-content: flex-start !important;
}

.justify-end {
	justify-content: flex-end !important;
}

.align-center {
	align-items: center !important;
}

.align-start {
	align-items: flex-start !important;
}

.align-end {
	align-items: flex-end !important;
}

.flex1 {
	flex: 1;
}

@media screen and (max-width: 767px) {
	.sp_flex {
		display: flex;
	}

	.sp_align-end {
		align-items: flex-end !important;
	}

	.sp_column-reverse {
		flex-flow: column-reverse !important;
	}

	.sp_column {
		flex-flow: column !important;
	}

	.sp_row {
		flex-flow: row !important;
	}

	.sp_row-reverse {
		flex-flow: row-reverse !important;
	}

	.sp_justify-center {
		justify-content: center !important;
	}
}
.sp_justify-end {
	justify-content: flex-end !important;
}

@media screen and (min-width: 769px) {
	.pc_flex {
		display: flex;
	}

	.pc_column-reverse {
		flex-flow: column-reverse !important;
	}

	.pc_column {
		flex-flow: column !important;
	}

	.pc_row {
		flex-flow: row !important;
	}

	.pc_row-reverse {
		flex-flow: row-reverse !important;
	}

	.pc_justify-between {
		justify-content: space-between !important;
	}

	.pc_justify-around {
		justify-content: space-around !important;
	}

	.pc_justify-center {
		justify-content: center !important;
	}

	.pc_justify-start {
		justify-content: flex-start !important;
	}

	.pc_justify-end {
		justify-content: flex-end !important;
	}

	.pc_align-center {
		align-items: center !important;
	}

	.pc_align-start {
		align-items: flex-start !important;
	}

	.pc_align-end {
		align-items: flex-end !important;
	}
}
/* ------------------------------------------------
TOPページ
------------------------------------------------ */
.bg01 {
	background: #172f4b;
	padding: 13.3vw 0 4vw;
	position: relative;
}
@media screen and (min-width: 769px) {
	.bg01 {
		padding: 140px 0 0;
		background-size: auto;
	}
}

.roop_text01 {
	color: #3e6082;
	font-weight: 600;
	font-family: "Vollkorn", serif;
	white-space: nowrap;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 5;
	line-height: 0.9;
	opacity: 0.5;
	width: calc(1382px * 3) !important;
	pointer-events: none;
	mix-blend-mode: exclusion;
}
.roop_text01 p {
	white-space: nowrap;
	position: relative;
	font-size: 18.13vw;
}
@media screen and (min-width: 769px) {
	.roop_text01 p {
		font-size: 184px;
	}
}

.top_contents01 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: calc(100% - 10.6vw);
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
	flex-flow: column;
	margin-bottom: 8vw;
}
@media screen and (min-width: 769px) {
	.top_contents01 {
		width: calc(100% - 100px);
		flex-flow: row;
		justify-content: space-between;
		align-items: flex-start;
		margin-bottom: 110px;
	}
}
.top_contents01 .inner_left {
	position: relative;
}
@media screen and (max-width: 768px) {
	.top_contents01 .inner_left {
		width: 100%;
		height: 80vw;
		margin-bottom: 10vw;
	}
}
.top_contents01 .inner_left picture {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	padding: 0 2.4vw;
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	.top_contents01 .inner_left picture {
		width: 596px;
		height: 596px;
		padding: 0;
	}
}
.top_contents01 .inner_left picture img {
	width: 100%;
	height: auto;
}
.top_contents01 .inner_left picture.illust01 {
	z-index: 2;
}
.top_contents01 .inner_left picture.illust02 {
	z-index: 1;
}
.top_contents01 .inner_left picture.illust03 {
	z-index: 3;
}
.top_contents01 .inner_right {
	width: 100%;
	box-sizing: border-box;
	color: #fff;
}
@media screen and (min-width: 769px) {
	.top_contents01 .inner_right {
		width: 524px;
	}
}
.top_contents01 .inner_right h2 {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
	font-size: 6.4vw;
	font-weight: 600;
	line-height: 1.6;
	margin-bottom: 6vw;
}
@media screen and (min-width: 769px) {
	.top_contents01 .inner_right h2 {
		font-size: 40px;
		margin-bottom: 30px;
	}
}
.top_contents01 .inner_right p {
	margin-bottom: 12.66vw;
	line-height: 1.8;
	font-size: 4vw;
}
@media screen and (min-width: 769px) {
	.top_contents01 .inner_right p {
		margin-bottom: 60px;
		font-size: 16px;
	}
}
.top_contents01 .inner_right .link_type01 {
	justify-content: flex-start;
}
.top_contents01 .inner_right .link_type01 a {
	border: solid 1px #fff;
	color: #fff;
	margin-inline: 0;
}
.top_contents01 .inner_right .link_type01 a::after {
	background: #fff;
}
@media screen and (min-width: 769px) {
	.top_contents01 .inner_right .link_type01 a:hover {
		width: 242px;
	}
	.top_contents01 .inner_right .link_type01 a:hover::after {
		background: url("../images/common/icon_arrow_white.svg") no-repeat;
		background-size: contain;
		width: 30px;
		height: 6px;
	}
}

.bg02 {
	background: url("../images/top/bg02.jpg") repeat;
	position: relative;
}
.bg02::after {
	background: #fff;
	width: 100%;
	height: 100px;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.figure02 {
	position: absolute;
	right: 20px;
	top: -20px;
	z-index: 2;
}
.figure02 img {
	width: 30vw;
	height: auto;
}
@media screen and (min-width: 769px) {
	.figure02 img {
		width: 225px;
	}
}

.top_contents02 {
	position: relative;
	background: url("../images/top/bg_works_pc.jpg") no-repeat;
	background-size: cover;
	padding: 16vw 0 18.66vw;
}
@media (width > 769px) {
	.top_contents02 {
		padding: 100px 0 120px;
	}
}
.top_contents02::before {
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 2px;
	height: 11.73vw;
	background: #003c97;
	z-index: 2;
	content: "";
	position: absolute;
}
@media screen and (min-width: 769px) {
	.top_contents02::before {
		height: 72px;
	}
}
.top_contents02 .top_works_list {
	width: 86.66vw;
	margin-inline: auto;
	margin-bottom: 12.66vw;
}
@media screen and (min-width: 769px) {
	.top_contents02 .top_works_list {
		width: 650px;
		margin-bottom: 60px;
	}
}
.top_contents02 .top_works_list .slick-carousel {
	width: 86.66vw;
	margin: 0 auto;
}
@media screen and (min-width: 769px) {
	.top_contents02 .top_works_list .slick-carousel {
		width: 650px;
	}
}
.top_contents02 .top_works_list .slick-list {
	overflow: visible;
}
.top_contents02 .top_works_list .slick-slide {
	width: 86.66vw;
	margin: 0 1.33vw;
}
@media screen and (min-width: 769px) {
	.top_contents02 .top_works_list .slick-slide {
		width: 650px;
		margin: 0 8px;
	}
}
.top_contents02 .top_works_list .slick-slide img {
	display: block;
	width: 100%;
	height: auto;
}

.top_contents03 {
	position: relative;
}
@media screen and (max-width: 768px) {
	.top_contents03 {
		margin-bottom: 3px;
	}
}
.top_contents03 ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-flow: column;
}
@media screen and (min-width: 769px) {
	.top_contents03 ul {
		flex-flow: row;
	}
}
.top_contents03 ul li {
	width: 100%;
	height: 97.2vw;
	position: relative;
}
@media screen and (max-width: 768px) {
	.top_contents03 ul li:first-of-type {
		border-bottom: solid 2px #fff;
	}
}
@media screen and (min-width: 769px) {
	.top_contents03 ul li {
		width: 50%;
		height: 681px;
	}
}
.top_contents03 ul li a {
	width: 100%;
	height: 97.2vw;
	position: relative;
	transition: 0.5s ease;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column;
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	.top_contents03 ul li a {
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		height: 681px;
	}
}
.top_contents03 ul li a:hover {
	transition: 0.5s ease;
	opacity: 1;
}
.top_contents03 ul li a:hover img {
	transition: 0.5s ease;
}
.top_contents03 ul li a .inner_wrap {
	margin-inline: auto;
	padding: 0 5.33vw;
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	.top_contents03 ul li a .inner_wrap {
		max-width: 550px;
		margin-top: 140px;
		padding: 0;
	}
}
.top_contents03 ul li a .inner_wrap .inner_btn {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border: solid 1px #fff;
	width: 48.53vw;
	height: 12vw;
	border-radius: 12vw;
	color: #fff;
	position: relative;
	font-weight: 700;
	padding-left: 6vw;
	box-sizing: border-box;
	letter-spacing: 1px;
	line-height: 1;
	transition: all 0.2s;
}
@media screen and (min-width: 769px) {
	.top_contents03 ul li a .inner_wrap .inner_btn {
		border: solid 1px #fff;
		width: 218px;
		height: 54px;
		border-radius: 54px;
		padding-left: 30px;
	}
	.top_contents03 ul li a .inner_wrap .inner_btn:hover {
		width: 242px;
		transition: all 0.2s;
	}
	.top_contents03 ul li a .inner_wrap .inner_btn:hover::after {
		background: url("../images/common/icon_arrow_white.svg") no-repeat;
		background-size: contain;
		width: 30px;
		height: 6px;
	}
}
.top_contents03 ul li a .inner_wrap .inner_btn::after {
	background: #fff;
	width: 1.06vw;
	height: 1.06vw;
	border-radius: 1.06vw;
	position: absolute;
	right: 5vw;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	transition: all 0.2s;
}
@media screen and (min-width: 769px) {
	.top_contents03 ul li a .inner_wrap .inner_btn::after {
		width: 6px;
		height: 6px;
		border-radius: 6px;
		right: 25px;
	}
}
.top_contents03 ul li a .inner_wrap > p {
	color: #fff;
	position: relative;
	z-index: 2;
	line-height: 1.8;
	margin-bottom: 10vw;
	font-size: 4vw;
	letter-spacing: -0.1vw;
}
@media screen and (min-width: 769px) {
	.top_contents03 ul li a .inner_wrap > p {
		font-size: 16px;
		margin-bottom: 60px;
		letter-spacing: initial;
	}
}
.top_contents03 ul li a .inner_title {
	position: relative;
	z-index: 2;
	color: #fff;
	margin-bottom: 6vw;
}
@media screen and (min-width: 769px) {
	.top_contents03 ul li a .inner_title {
		margin-bottom: 40px;
	}
}
.top_contents03 ul li a .inner_title h2 {
	font-size: 4.26vw;
	font-weight: 700;
	letter-spacing: 1px;
}
@media screen and (min-width: 769px) {
	.top_contents03 ul li a .inner_title h2 {
		font-size: 18px;
	}
}
.top_contents03 ul li a .inner_title p {
	font-size: 11.73vw;
	line-height: 1;
	font-weight: 600;
	font-family: "Vollkorn", serif;
}
@media screen and (min-width: 769px) {
	.top_contents03 ul li a .inner_title p {
		font-size: 88px;
	}
}
.top_contents03 ul picture {
	overflow: hidden;
	width: 100%;
	height: 97.2vw;
	position: absolute;
	top: 0;
	left: 0;
}
@media screen and (min-width: 769px) {
	.top_contents03 ul picture {
		height: 681px;
	}
}
.top_contents03 ul picture img {
	width: 100%;
	height: 97.2vw;
	transition: 0.5s ease;
	object-fit: cover;
}
@media screen and (min-width: 769px) {
	.top_contents03 ul picture img {
		height: 681px;
	}
}

.figure03 {
	justify-content: flex-start;
	position: absolute;
	left: 0;
	bottom: 0;
}
.figure03 img {
	width: 58.26vw;
	height: auto;
}
@media screen and (min-width: 769px) {
	.figure03 img {
		width: 494px;
	}
}

.top_contents04 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: calc(100% - 10.6vw);
	max-width: 1060px;
	margin-left: auto;
	margin-right: auto;
	flex-flow: column;
	margin-bottom: 17.3vw;
}
@media screen and (min-width: 769px) {
	.top_contents04 {
		flex-flow: row;
		justify-content: space-between;
		margin-bottom: 65px;
	}
}
@media screen and (max-width: 768px) {
	.top_contents04 .access_left {
		margin-bottom: 4vw;
		width: 100%;
	}
}
.top_contents04 .access_left > p {
	margin-bottom: 1.33vw;
}
@media screen and (min-width: 769px) {
	.top_contents04 .access_left > p {
		margin-bottom: 12px;
	}
}
.top_contents04 .access_left dl {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
@media screen and (min-width: 769px) {
	.top_contents04 .access_left dl {
		margin-bottom: 5px;
	}
}
.top_contents04 .access_left dl dt {
	color: #111f30;
	font-weight: 600;
	line-height: 1;
	width: 9.33vw;
}
@media screen and (min-width: 768px) {
	.top_contents04 .access_left dl dt {
		width: 48px;
	}
}
.top_contents04 .access_left dl dd {
	font-weight: 500;
}
.top_contents04 .access_left .map_text {
	margin-top: 15px;
}
.top_contents04 .access_left .map_text a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	text-decoration: underline;
}
.top_contents04 .access_left .map_text a:hover {
	text-decoration: none;
}
.top_contents04 .access_left .map_text a figure {
	margin-left: 2vw;
}
@media screen and (min-width: 769px) {
	.top_contents04 .access_left .map_text a figure {
		margin-left: 10px;
	}
}
@media screen and (max-width: 768px) {
	.top_contents04 .access_left .map_text a figure img {
		width: 3.2vw;
		height: auto;
	}
}
.top_contents04 .ggmap {
	width: 100%;
	height: 66.6vw;
	position: relative;
}
@media screen and (min-width: 768px) {
	.top_contents04 .ggmap {
		height: 350px;
		width: 690px;
	}
}
.top_contents04 .ggmap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
}

.title_type01 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.title_type01 p {
	font-family: "Vollkorn", serif;
	color: #003c97;
	font-size: 11.73vw;
	line-height: 1;
	font-weight: 600;
}
@media screen and (min-width: 769px) {
	.title_type01 p {
		font-size: 88px;
		margin-bottom: 5px;
	}
}
.title_type01 h2 {
	font-size: 4.26vw;
	font-weight: 700;
	margin-bottom: 8vw;
}
@media screen and (min-width: 769px) {
	.title_type01 h2 {
		font-size: 18px;
		margin-bottom: 50px;
	}
}

.title_type02 {
	color: #fff;
}
.title_type02 h2 {
	font-family: #111f30;
	font-size: 6.4vw;
	font-weight: 900;
	line-height: 1;
	margin-bottom: 4vw;
}
@media screen and (min-width: 769px) {
	.title_type02 h2 {
		font-size: 48px;
		margin-bottom: 36px;
	}
}
.title_type02 h3 {
	font-size: 4.8vw;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
	font-weight: 600;
	line-height: 2;
	margin-bottom: 4vw;
}
@media screen and (min-width: 769px) {
	.title_type02 h3 {
		margin-bottom: 36px;
		font-size: 32px;
	}
}
.title_type02 > p {
	font-size: 3.46vw;
	font-weight: 500;
	padding-left: 18.6vw;
	position: relative;
	box-sizing: border-box;
	margin-bottom: 2vw;
}
@media screen and (min-width: 769px) {
	.title_type02 > p {
		font-size: 18px;
		margin-bottom: 15px;
		padding-left: 140px;
	}
}
.title_type02 > p::before {
	content: "";
	width: 17vw;
	height: 1px;
	background: #fff;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
@media screen and (min-width: 769px) {
	.title_type02 > p::before {
		width: 128px;
	}
}
.title_type02 + .link_type01 a {
	color: #fff;
}

.title_type03 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
	padding-left: 24px;
	box-sizing: border-box;
}
.title_type03 p {
	font-family: "Vollkorn", serif;
	color: #003c97;
	font-size: 9.6vw;
	line-height: 1;
	font-weight: 600;
}
@media screen and (min-width: 769px) {
	.title_type03 p {
		font-size: 56px;
		margin-bottom: 5px;
	}
}
.title_type03 p::before {
	width: 12px;
	height: 12px;
	border-radius: 12px;
	background: #003c97;
	content: "";
	position: absolute;
	left: 0;
	top: 18px;
}
.title_type03 h2 {
	font-size: 4vw;
	font-weight: 700;
}
@media screen and (min-width: 769px) {
	.title_type03 h2 {
		font-size: 18px;
	}
}

.title_type04 {
	text-align: center;
	position: relative;
}
.title_type04 p {
	text-align: center;
	color: #111f30;
	font-size: 6.4vw;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 1.6vw;
}
@media screen and (min-width: 769px) {
	.title_type04 p {
		font-size: 40px;
		margin-bottom: 8px;
	}
}
.title_type04 h2 {
	font-size: 3.46vw;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
	font-style: normal;
	font-weight: 700;
	line-height: 1;
	position: relative;
}
@media screen and (min-width: 769px) {
	.title_type04 h2 {
		font-size: 14px;
	}
}
.title_type04 h2::before {
	background: #d9d9d9;
	width: 13.33vw;
	height: 1px;
	position: absolute;
	right: 0;
	left: -40vw;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	transition: all 0.2s;
}
@media screen and (min-width: 769px) {
	.title_type04 h2::before {
		width: 130px;
		left: -235px;
	}
}
.title_type04 h2::after {
	background: #d9d9d9;
	width: 13.33vw;
	height: 1px;
	position: absolute;
	left: 0;
	right: -40vw;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	transition: all 0.2s;
}
@media screen and (min-width: 769px) {
	.title_type04 h2::after {
		width: 130px;
		right: -235px;
	}
}

.link_type01 {
	display: flex;
	justify-content: center;
	align-items: center;
}
.link_type01 a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border: solid 2px #003c97;
	width: 48.53vw;
	height: 12vw;
	border-radius: 12vw;
	color: #003c97;
	position: relative;
	font-weight: 700;
	padding-left: 6vw;
	box-sizing: border-box;
	letter-spacing: 1px;
	line-height: 1;
}
@media screen and (min-width: 769px) {
	.link_type01 a {
		border: solid 1px #003c97;
		width: 218px;
		height: 54px;
		border-radius: 54px;
		padding-left: 30px;
	}
	.link_type01 a:hover {
		width: 242px;
	}
	.link_type01 a:hover::after {
		background: url("../images/common/icon_arrow_blue.svg") no-repeat;
		background-size: contain;
		width: 30px;
		height: 6px;
	}
}
.link_type01 a::after {
	background: #003c97;
	width: 1.06vw;
	height: 1.06vw;
	border-radius: 1.06vw;
	position: absolute;
	right: 5vw;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	transition: all 0.2s;
}
@media screen and (min-width: 769px) {
	.link_type01 a::after {
		width: 6px;
		height: 6px;
		border-radius: 6px;
		right: 25px;
	}
}
.link_type01 > p {
	color: #003c97;
	position: relative;
	z-index: 2;
	line-height: 1.8;
	margin-bottom: 60px;
}

.more {
	text-align: center;
	font-family: #111f30;
	font-size: 1.4rem;
	font-style: italic;
	text-decoration: underline;
}
@media screen and (min-width: 769px) {
	.more {
		font-size: 2rem;
	}
}

/* ------------------------------------------------
下層共通ページ
------------------------------------------------ */
.page_keyvisual {
	position: relative;
	padding-left: 8vw;
	box-sizing: border-box;
	background: #172f4b;
}
@media screen and (min-width: 769px) {
	.page_keyvisual {
		padding-left: 80px;
	}
}
.page_keyvisual::before {
	top: 0;
	left: 0;
	width: 100%;
	height: 48vw;
	background: #fff;
	content: "";
	position: absolute;
	z-index: 2;
}
@media screen and (min-width: 769px) {
	.page_keyvisual::before {
		height: 275px;
	}
}
.page_keyvisual picture {
	width: 100%;
	position: relative;
	z-index: 3;
}
.page_keyvisual picture img {
	width: 100%;
	height: 73.2vw;
	object-fit: cover;
}
@media screen and (min-width: 769px) {
	.page_keyvisual picture img {
		height: 549px;
	}
}

.breadcrumbs {
	margin: auto;
	width: 100%;
	height: 14.66vw;
	margin-right: 6vw;
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	line-height: 1;
	white-space: nowrap;
	font-weight: 500;
	background: #172f4b;
	margin-left: auto;
	padding: 4vw 5.33vw;
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	.breadcrumbs {
		width: calc(100% - 45px);
		height: 140px;
		margin-right: 45px;
		padding: 30px 40px;
	}
}
.breadcrumbs a {
	color: #fff;
}
.breadcrumbs p {
	color: #fff;
	font-size: 2.93vw;
}
@media screen and (min-width: 769px) {
	.breadcrumbs p {
		font-size: 12px;
	}
}
.breadcrumbs p:last-of-type {
	text-underline-offset: 4px;
	text-decoration: underline;
}
.breadcrumbs i {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
@media screen and (max-width: 768px) {
	.breadcrumbs i {
		top: 0.53vw;
	}
}
.breadcrumbs i img {
	width: 5.33vw;
	height: auto;
}
@media screen and (min-width: 769px) {
	.breadcrumbs i img {
		width: 20px;
	}
}
.breadcrumbs i.arrow {
	margin: 0 3vw;
}
@media screen and (min-width: 769px) {
	.breadcrumbs i.arrow {
		margin: 0 20px;
	}
}
.breadcrumbs i.arrow img {
	width: auto;
	height: 1.6vw;
}
@media screen and (min-width: 769px) {
	.breadcrumbs i.arrow img {
		height: 10px;
	}
}

.page_main_title {
	line-height: 1;
	position: absolute;
	z-index: 4;
	left: 14vw;
	top: 40vw;
}
@media screen and (min-width: 769px) {
	.page_main_title {
		left: 150px;
		top: 300px;
	}
}
.page_main_title p {
	font-size: 13.86vw;
	color: #fff;
	font-weight: 600;
	margin-bottom: 2vw;
	font-family: "Vollkorn", serif;
}
@media screen and (min-width: 769px) {
	.page_main_title p {
		font-size: 112px;
		margin-bottom: 20px;
	}
}
.page_main_title h1 {
	font-size: 4vw;
	font-weight: 700;
	color: #fff;
}
@media screen and (min-width: 769px) {
	.page_main_title h1 {
		font-size: 32px;
	}
}

.trial_form {
	width: calc(100% - 50px);
	max-width: 1160px;
	margin-left: auto;
	margin-right: auto;
}
.trial_form h2 {
	text-align: center;
	font-size: 2.6rem;
	line-height: 3.9rem;
	font-family: "YuMincho", "Yu Mincho", sans-serif;
	font-weight: 500;
	margin-bottom: 70px;
}
.trial_form .form_flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-flow: column;
}
@media screen and (min-width: 769px) {
	.trial_form .form_flex {
		margin-bottom: 40px;
	}
}
@media screen and (min-width: 1160px) {
	.trial_form .form_flex {
		flex-flow: row;
		margin-bottom: 80px;
	}
}
.trial_form .form_flex dl {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-flow: column;
	width: 100%;
	margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
	.trial_form .form_flex dl {
		align-items: center;
		flex-flow: row;
		border-bottom: solid 1px #000;
		padding-bottom: 10px;
	}
}
@media screen and (min-width: 1160px) {
	.trial_form .form_flex dl {
		width: 501px;
		margin-bottom: 0;
	}
}
.trial_form .form_flex dl dt {
	width: 100%;
	color: #818181;
}
@media screen and (min-width: 769px) {
	.trial_form .form_flex dl dt {
		width: 23%;
	}
}
.trial_form .form_flex dl dd {
	width: 100%;
}
@media screen and (min-width: 769px) {
	.trial_form .form_flex dl dd {
		width: 76%;
	}
}
@media screen and (max-width: 767px) {
	.trial_form .form_flex dl dd {
		border-bottom: solid 1px #000;
		margin-top: 15px;
		padding-bottom: 10px;
	}
}
.trial_form .form_flex dl dd input {
	border: none !important;
	width: 100%;
	padding: 10px;
	box-sizing: border-box;
}
.trial_form .check_textarea {
	width: 100%;
	margin-bottom: 20px;
}
@media screen and (min-width: 1160px) {
	.trial_form .check_textarea {
		width: 501px;
	}
}
.trial_form .check_textarea dt {
	width: 100%;
	padding-bottom: 10px;
	margin-bottom: 10px;
	color: #818181;
	font-size: 1.5rem;
}
.trial_form .check_textarea dd {
	width: 100%;
	border-bottom: solid 1px #000;
	padding-bottom: 10px;
}
.trial_form .check_textarea dd input {
	border: none !important;
	width: 100%;
	padding: 10px;
	box-sizing: border-box;
}
.trial_form .check_list {
	margin-bottom: 40px;
}
@media screen and (min-width: 1160px) {
	.trial_form .check_list {
		margin-bottom: 60px;
	}
}
.trial_form .check_list dt {
	color: #818181;
	margin-bottom: 20px;
	position: relative;
	cursor: pointer;
}
@media screen and (max-width: 767px) {
	.trial_form .check_list dt {
		padding-bottom: 10px;
		border-bottom: solid 1px #000;
	}
	.trial_form .check_list dt::after {
		background: url("../images/trial-lesson/arrow.svg") no-repeat;
		background-size: contain;
		width: 14px;
		height: 8px;
		position: absolute;
		right: 10px;
		top: 10px;
		content: "";
		transition: all 0.2s;
	}
}
.trial_form .check_list dd {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-flow: column;
}
@media screen and (max-width: 767px) {
	.trial_form .check_list dd {
		display: none;
	}
}
@media screen and (min-width: 769px) {
	.trial_form .check_list dd {
		flex-flow: row;
	}
}
.trial_form .check_list dd div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	flex-flow: column;
}
@media screen and (min-width: 769px) {
	.trial_form .check_list dd div {
		flex-flow: row;
		flex-wrap: wrap;
		width: 501px;
	}
}
.trial_form .check_list dd div label {
	width: 100%;
	letter-spacing: 0.25rem;
	display: inline-block;
	margin-bottom: 10px;
}
@media screen and (min-width: 769px) {
	.trial_form .check_list dd div label {
		margin-bottom: 30px;
	}
}
@media screen and (min-width: 1160px) {
	.trial_form .check_list dd div label {
		width: 48%;
	}
}
.trial_form .check_list dd div label input {
	margin-right: 10px;
}
.trial_form .trial_botton {
	margin-bottom: 110px;
}
@media screen and (min-width: 769px) {
	.trial_form .trial_botton {
		margin-bottom: 0;
	}
}
.trial_form .trial_botton input {
	background: #b3beaa;
	width: 148px;
	height: 34px;
	display: flex;
	border-radius: 0 !important;
	justify-content: center;
	align-items: center;
	font-size: 1.3rem;
	color: #fff;
	border: none !important;
	font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-weight: 500;
	transition: all 0.2s;
}
@media screen and (min-width: 769px) {
	.trial_form .trial_botton input {
		width: 297px;
		height: 68px;
		font-size: 2rem;
	}
}
.trial_form .trial_botton input:hover {
	opacity: 0.85;
	transition: all 0.2s;
}

/* ------------------------------------------------
事業内容ページ
------------------------------------------------ */
.business_illust {
	position: absolute;
	left: calc(var(--element-x) + 890px);
	top: -50px;
	z-index: 2;
}

.business_contents01 {
	padding: 16vw 0 19.2vw 5.33vw;
	width: 100%;
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	.business_contents01 {
		padding: 105px 0 120px 50px;
		padding-left: calc(var(--element-x));
	}
}
.business_contents01 .inner {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-bottom: 8.66vw;
	flex-direction: column;
	padding-right: 5.33vw;
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	.business_contents01 .inner {
		margin-bottom: 80px;
		flex-direction: row;
		align-items: center;
		padding-right: initial;
	}
}
.business_contents01 .inner h2 {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
	font-size: 6.4vw;
	font-weight: 700;
	margin-bottom: 4.66vw;
	line-height: 1.6;
}
@media screen and (min-width: 769px) {
	.business_contents01 .inner h2 {
		font-size: 32px;
		margin-right: 80px;
		margin-bottom: 0;
	}
}
.business_contents01 .inner p {
	line-height: 1.8;
	font-size: 4vw;
}
@media (width > 769px) {
	.business_contents01 .inner p {
		font-size: 16px;
	}
}
.business_contents01 .img_list {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	flex-direction: column;
	width: 100%;
}
@media screen and (min-width: 769px) {
	.business_contents01 .img_list {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
}
.business_contents01 .img_list picture {
	width: 100%;
}
@media screen and (min-width: 769px) {
	.business_contents01 .img_list picture {
		width: 50%;
	}
}
.business_contents01 .img_list picture img {
	width: 100%;
	height: auto;
}

.business_contents02 {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	background: #f4f6fa;
	padding: 16vw 0;
}
@media screen and (min-width: 769px) {
	.business_contents02 {
		padding: 120px 0;
	}
}
.business_contents02 .number {
	font-size: 4.26vw;
	font-weight: 600;
	font-family: "Vollkorn", serif;
	color: #003c97;
	margin-bottom: -1.33vw;
	margin-left: 2.66vw;
}
@media screen and (min-width: 769px) {
	.business_contents02 .number {
		font-size: 24px;
		margin-bottom: 0;
		margin-left: initial;
	}
}
.business_contents02 h3 {
	color: #003c97;
	font-size: 5.33vw;
	font-weight: 700;
	margin-bottom: 5.33vw;
	margin-left: 2.66vw;
}
@media screen and (min-width: 769px) {
	.business_contents02 h3 {
		font-size: 32px;
		margin-bottom: 40px;
		margin-left: initial;
	}
}
.business_contents02 .inner_contents {
	width: calc(100% - 40px);
	max-width: 1180px;
	margin-inline: auto;
	margin-bottom: 10vw;
}
@media screen and (min-width: 769px) {
	.business_contents02 .inner_contents {
		margin-bottom: 80px;
	}
}
.business_contents02 .inner_contents .inner_block {
	background: #fff;
	padding: 8vw 5.33vw;
	box-sizing: border-box;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}
@media screen and (min-width: 769px) {
	.business_contents02 .inner_contents .inner_block {
		flex-direction: row;
		justify-content: space-between;
		padding: 60px;
	}
}
.business_contents02 .inner_contents .inner_block picture {
	width: 100%;
	margin-bottom: 7vw;
}
@media screen and (min-width: 769px) {
	.business_contents02 .inner_contents .inner_block picture {
		width: 386px;
		margin-bottom: 0;
	}
}
.business_contents02 .inner_contents .inner_block picture img {
	width: 100%;
	height: auto;
}
.business_contents02 .inner_contents .inner_block p {
	flex: 1;
	width: 100%;
	font-size: 4vw;
	line-height: 1.8;
}
@media screen and (min-width: 769px) {
	.business_contents02 .inner_contents .inner_block p {
		width: 594px;
		font-size: 16px;
	}
}

/* ------------------------------------------------
実績一覧ページ
------------------------------------------------ */
.works_content {
	padding: 13.33vw 0;
	box-sizing: border-box;
	background: #f4f6fa;
}
@media screen and (min-width: 769px) {
	.works_content {
		padding: 100px 0 120px;
	}
}
.works_content .title_type03 {
	width: calc(100% - 10.66vw);
	max-width: 1180px;
	margin-inline: auto;
	margin-bottom: 60px;
}
.works_content ul.inner {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	width: calc(100% - 10.66vw);
	max-width: 1180px;
	margin-inline: auto;
}
@media screen and (min-width: 769px) {
	.works_content ul.inner {
		grid-column-gap: 24px;
		grid-template-columns: repeat(3, 1fr);
	}
}
.works_content ul.inner li {
	width: 100%;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	margin-bottom: 6.4vw;
}
@media screen and (min-width: 769px) {
	.works_content ul.inner li {
		margin-bottom: 20px;
	}
}
.works_content ul.inner li > div {
	background: #fff;
	padding: 5.33vw 4.39vw 4.39vw;
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	.works_content ul.inner li > div {
		padding: 30px;
	}
}
.works_content ul.inner li > div .tag {
	background: #4c4f54;
	padding: 1.6vw 3vw;
	box-sizing: border-box;
	display: inline-block;
	color: #fff;
	font-size: 3.2vw;
	margin-bottom: 1.5vw;
	font-weight: 700;
}
@media screen and (min-width: 769px) {
	.works_content ul.inner li > div .tag {
		font-size: 12px;
		margin-bottom: 10px;
		padding: 8px 12px;
	}
}
.works_content ul.inner li > div .tag p {
	line-height: 1;
}
.works_content ul.inner li > div > p {
	font-size: 4.8vw;
	font-weight: 700;
}
@media screen and (min-width: 769px) {
	.works_content ul.inner li > div > p {
		font-size: 20px;
	}
}
.works_content ul.inner li img {
	width: 100%;
	height: auto;
}

/* ------------------------------------------------
会社案内ページ
------------------------------------------------ */
.company_contents01 {
	width: 100%;
	padding: 16vw 0 19.2vw;
	box-sizing: border-box;
	width: calc(100% - 5.33vw);
	max-width: 1180px;
	margin-inline: auto;
}
@media screen and (min-width: 769px) {
	.company_contents01 {
		padding: 100px 0 120px;
	}
}
.company_contents01 .title_type03 {
	margin-left: 2.66vw;
	margin-bottom: 6vw;
}
@media screen and (min-width: 769px) {
	.company_contents01 .title_type03 {
		margin-bottom: 50px;
		margin-left: initial;
	}
}
.company_contents01 .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: column-reverse;
	background: #f9f6ed;
	position: relative;
	min-height: 533px;
	padding: 0 5.33vw 10.13vw;
	margin-top: 34vw;
}
@media screen and (min-width: 769px) {
	.company_contents01 .inner {
		margin-top: 0;
		flex-direction: row;
		padding: 0 70px;
	}
}
@media screen and (min-width: 769px) {
	.company_contents01 .inner .left {
		width: 594px;
	}
}
.company_contents01 .inner .left h3 {
	font-size: 6.4vw;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 5vw;
}
@media screen and (min-width: 769px) {
	.company_contents01 .inner .left h3 {
		font-size: 32px;
		margin-bottom: 30px;
	}
}
.company_contents01 .inner .left p {
	line-height: 1.8;
	margin-bottom: 50px;
	font-size: 4vw;
}
@media screen and (min-width: 769px) {
	.company_contents01 .inner .left p {
		font-size: 16px;
	}
}
.company_contents01 .inner .left figure {
	justify-content: flex-start;
}
.company_contents01 .inner .left figure img {
	width: 50.13vw;
	height: auto;
}
@media screen and (min-width: 769px) {
	.company_contents01 .inner .left figure img {
		width: 214px;
	}
}
.company_contents01 .inner .right {
	width: 66.93vw;
	margin-bottom: 5.5vw;
}
@media screen and (min-width: 769px) {
	.company_contents01 .inner .right {
		width: 386px;
		margin-bottom: 0;
	}
}
.company_contents01 .inner .right picture {
	position: relative;
	margin-top: -28vw;
}
@media screen and (min-width: 769px) {
	.company_contents01 .inner .right picture {
		top: -100px;
		margin-top: initial;
	}
}
.company_contents01 .inner .right img {
	width: 100%;
	height: auto;
}

.company_contents02 {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	background: #f4f6fa;
	padding: 16vw 0 19.2vw;
}
@media screen and (min-width: 769px) {
	.company_contents02 {
		padding: 100px 0 120px;
	}
}
.company_contents02 .inner {
	width: calc(100% - 40px);
	max-width: 1180px;
	margin-inline: auto;
}
.company_contents02 .title_type03 {
	margin-bottom: 50px;
}
.company_contents02 .company_table {
	border: solid 1px #d0d9e3;
	border-bottom: solid 0 #d0d9e3;
	box-sizing: border-box;
	width: 100%;
	max-width: 1060px;
	margin-inline: auto;
}
.company_contents02 .company_table dl {
	border-bottom: solid 1px #d0d9e3;
	box-sizing: border-box;
	display: flex;
	justify-content: flex-start;
	line-height: 1.8;
	font-size: 4vw;
}
@media screen and (min-width: 769px) {
	.company_contents02 .company_table dl {
		font-size: 18px;
	}
}
.company_contents02 .company_table dl dt {
	background: #ecf0f5;
	border-right: solid 1px #d0d9e3;
	padding: 3vw;
	box-sizing: border-box;
	width: 26.66vw;
	font-weight: 700;
}
@media screen and (min-width: 769px) {
	.company_contents02 .company_table dl dt {
		width: 240px;
		padding: 20px;
	}
}
.company_contents02 .company_table dl dd {
	padding: 3vw;
	box-sizing: border-box;
	background: #fff;
	width: calc(100% - 25vw);
}
@media screen and (min-width: 769px) {
	.company_contents02 .company_table dl dd {
		padding: 20px;
		width: calc(100% - 240px);
	}
}
.company_contents02 h3 {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
	font-size: 4.8vw;
	font-weight: 600;
	line-height: 2;
	margin-bottom: 4vw;
}
@media screen and (min-width: 769px) {
	.company_contents02 h3 {
		font-size: 26px;
		margin-bottom: 45px;
		line-height: 1;
	}
}
.company_contents02 h3 br {
	display: block;
}
@media screen and (min-width: 769px) {
	.company_contents02 h3 br {
		display: none;
	}
}
.company_contents02 .ceo {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-top: 4vw;
}
@media (width > 768px) {
	.company_contents02 .ceo {
		margin-top: 40px;
	}
}
.company_contents02 .ceo p {
	margin-right: 15px;
	line-height: 1;
	position: relative;
	top: 2px;
}
.company_contents02 .ceo figure img {
	width: 20.4vw;
	height: auto;
}
@media screen and (min-width: 769px) {
	.company_contents02 .ceo figure img {
		width: auto;
	}
}

.company_contents03 {
	background: #172f4b;
	width: 100%;
	padding: 100px 0 120px;
	box-sizing: border-box;
}
@media screen and (max-width: 768px) {
	.company_contents03 {
		display: flex;
		flex-direction: column;
		padding: 14.66vw 5.33vw 18.66vw;
	}
}
.company_contents03 .title_type03 {
	color: #fff;
}
.company_contents03 .title_type03 p {
	color: #fff;
}
.company_contents03 .title_type03 p::before {
	background: #fff;
}
.company_contents03 .inner {
	width: calc(100% - 40px);
	max-width: 1180px;
	margin-inline: auto;
	display: contents;
	justify-content: flex-start;
	align-items: stretch;
}
@media screen and (min-width: 769px) {
	.company_contents03 .inner {
		display: flex;
		flex-direction: column;
	}
}
.company_contents03 .title_type03 {
	margin-bottom: 5.33vw;
	order: 1;
}
@media screen and (min-width: 769px) {
	.company_contents03 .title_type03 {
		margin-bottom: 50px;
	}
}

.inner_top {
	display: contents;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: column;
}
@media screen and (min-width: 769px) {
	.inner_top {
		display: flex;
		flex-direction: row;
	}
}

.gmap {
	position: relative;
	width: 100%;
	height: 66.6vw;
	margin-right: auto;
	overflow: hidden;
	order: 2;
	margin-bottom: 5vw;
}
@media screen and (min-width: 769px) {
	.gmap {
		height: 466px;
		margin-bottom: 0;
	}
}
.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.gmap_text {
	order: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	color: #fff;
}
@media screen and (min-width: 769px) {
	.gmap_text {
		margin-left: auto;
		justify-content: flex-start;
		align-items: flex-end;
		flex-direction: row;
	}
}
.gmap_text div {
	margin-bottom: 6vw;
}
@media screen and (min-width: 769px) {
	.gmap_text div {
		margin-right: 40px;
		margin-bottom: 0;
	}
}
.gmap_text div p:first-of-type {
	line-height: 1.8;
	font-weight: 700;
	font-size: 4.26vw;
	margin-bottom: 2.33vw;
}
@media screen and (min-width: 769px) {
	.gmap_text div p:first-of-type {
		font-size: 18px;
		margin-bottom: 5px;
	}
}
.gmap_text div p:last-of-type {
	font-size: 3.73vw;
	line-height: 1.8;
}
@media screen and (min-width: 769px) {
	.gmap_text div p:last-of-type {
		font-size: 14px;
	}
}
.gmap_text a {
	color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 52.26vw;
	height: 12vw;
	border: solid 1px #fff;
	border-radius: 12vw;
	box-sizing: border-box;
	padding: 0 5.33vw;
	line-height: 1;
	font-size: 4vw;
}
@media screen and (min-width: 769px) {
	.gmap_text a {
		width: 223px;
		height: 54px;
		padding: 0 25px;
		border-radius: 54px;
		margin-bottom: 8px;
		font-size: 16px;
	}
}
.gmap_text:hover {
	text-decoration: none;
}
.gmap_text i {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-left: 8px;
}
.gmap_text i img {
	width: 2.8vw;
	height: auto;
}
@media screen and (min-width: 769px) {
	.gmap_text i img {
		width: auto;
	}
}

/* ------------------------------------------------
採用情報ページ
------------------------------------------------ */
.recruit_block01 {
	position: relative;
	margin-block: 13.33vw 27vw;
}
@media screen and (min-width: 769px) {
	.recruit_block01 {
		height: 685px;
		margin-block: 100px 140px;
	}
}
.recruit_block01 .inner_wrap {
	position: relative;
	width: calc(100% - 10.66vw);
	max-width: 1180px;
	margin-inline: auto;
}
.recruit_block01 .inner_wrap .left {
	position: relative;
	margin-bottom: 8vw;
}
@media screen and (min-width: 769px) {
	.recruit_block01 .inner_wrap .left {
		width: 672px;
		padding-top: 30px;
		margin-bottom: initial;
	}
}
.recruit_block01 .inner_wrap .left h2 {
	font-size: 6.4vw;
	font-weight: 700;
	margin-bottom: 6vw;
	line-height: 1.6;
	letter-spacing: 0.1rem;
}
@media screen and (min-width: 769px) {
	.recruit_block01 .inner_wrap .left h2 {
		font-size: 32px;
		margin-bottom: 20px;
	}
}
.recruit_block01 .inner_wrap .left p {
	line-height: 1.8;
	margin-bottom: 2vw;
}
@media screen and (min-width: 769px) {
	.recruit_block01 .inner_wrap .left p {
		margin-bottom: 16px;
	}
}
.recruit_block01 .inner_wrap .left .inner_photo {
	position: absolute;
	left: 0;
	top: 192vw;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
	z-index: 2;
}
@media screen and (min-width: 769px) {
	.recruit_block01 .inner_wrap .left .inner_photo {
		left: 0;
		top: 450px;
		flex-direction: row;
	}
}
.recruit_block01 .inner_wrap .left .inner_photo picture {
	width: 75.6vw;
}
@media screen and (min-width: 769px) {
	.recruit_block01 .inner_wrap .left .inner_photo picture {
		width: 440px;
	}
}
@media screen and (max-width: 768px) {
	.recruit_block01 .inner_wrap .left .inner_photo picture:first-of-type {
		margin-bottom: 3vw;
	}
}
@media screen and (min-width: 769px) {
	.recruit_block01 .inner_wrap .left .inner_photo picture:first-of-type {
		margin-right: 15px;
	}
}
.recruit_block01 .inner_wrap .left .inner_photo picture img {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 768px) {
	.recruit_block01 .inner_wrap .right {
		width: 68.133vw;
		margin-left: auto;
	}
}
@media screen and (min-width: 769px) {
	.recruit_block01 .inner_wrap .right {
		position: absolute;
		right: 0;
		top: 0;
		width: 400px;
	}
}
.recruit_block01 .inner_wrap .right picture img {
	width: 100%;
	height: auto;
}

.roop_text02 {
	color: rgba(71, 145, 255, 0.2);
	font-weight: 600;
	font-family: "Vollkorn", serif;
	white-space: nowrap;
	position: absolute;
	bottom: -26vw;
	left: 0;
	z-index: 5;
	line-height: 0.9;
	opacity: 0.5;
	width: calc(1382px * 3) !important;
	pointer-events: none;
	mix-blend-mode: multiply;
}
@media screen and (min-width: 769px) {
	.roop_text02 {
		bottom: -250px;
	}
}
.roop_text02 p {
	white-space: nowrap;
	position: relative;
	font-size: 24.53vw;
}
@media screen and (min-width: 769px) {
	.roop_text02 p {
		font-size: 184px;
	}
}

.recruit_block02 {
	padding: 13.33vw 0 16vw;
	background: #f4f6fa;
}
@media screen and (min-width: 769px) {
	.recruit_block02 {
		padding: 100px 0 120px;
	}
}
.recruit_block02 .title_type03 {
	width: calc(100% - 5.33vw);
	max-width: 1180px;
	margin-inline: auto;
	margin-bottom: 60px;
}
.recruit_block02 .not_recruiting {
	background: #d8e2ee;
	width: calc(100% - 5.33vw);
	max-width: 1200px;
	margin-inline: auto;
	height: 37vw;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 769px) {
	.recruit_block02 .not_recruiting {
		height: 109px;
	}
}

.recruit_contents {
	width: calc(100% - 5.33vw);
	max-width: 1180px;
	margin-inline: auto;
	position: relative;
}
.recruit_contents .recruit_table {
	border: solid 1px #d0d9e3;
	border-bottom: solid 0 #d0d9e3;
	box-sizing: border-box;
	width: 100%;
	max-width: 1060px;
	margin-inline: auto;
	margin-bottom: 10.66vw;
}
@media screen and (min-width: 769px) {
	.recruit_contents .recruit_table {
		margin-bottom: 60px;
	}
}
.recruit_contents .recruit_table dl {
	border-bottom: solid 1px #d0d9e3;
	box-sizing: border-box;
	display: flex;
	justify-content: flex-start;
	line-height: 1.8;
	font-size: 4vw;
}
@media screen and (min-width: 769px) {
	.recruit_contents .recruit_table dl {
		font-size: 18px;
	}
}
.recruit_contents .recruit_table dl dt {
	background: #ecf0f5;
	border-right: solid 1px #d0d9e3;
	padding: 3vw;
	box-sizing: border-box;
	width: 26.66vw;
	font-weight: 700;
}
@media screen and (min-width: 769px) {
	.recruit_contents .recruit_table dl dt {
		width: 240px;
		padding: 20px;
	}
}
.recruit_contents .recruit_table dl dd {
	padding: 3vw;
	overflow-wrap: break-word;
	box-sizing: border-box;
	background: #fff;
	width: calc(100% - 26.66vw);
}
@media screen and (min-width: 769px) {
	.recruit_contents .recruit_table dl dd {
		padding: 20px;
		width: calc(100% - 240px);
	}
}
.recruit_contents .recruit_table + div {
	margin-bottom: 60px;
}

.recruit_block03 {
	width: calc(100% - 10.66vw);
	max-width: 1180px;
	margin-inline: auto;
	margin-block: 13.33vw 16vw;
}
@media screen and (min-width: 769px) {
	.recruit_block03 {
		margin-block: 100px 120px;
	}
}
.recruit_block03 .inner_wrap:last-of-type .left::before {
	content: none !important;
}
.recruit_block03 .title_type03 {
	margin-bottom: 60px;
}
.recruit_block03 .inner_wrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: column;
	margin-inline: auto;
	padding-bottom: 7vw;
}
@media screen and (min-width: 769px) {
	.recruit_block03 .inner_wrap {
		width: 881px;
		padding-bottom: initial;
		margin-bottom: 45px;
		flex-direction: row;
		align-items: center;
	}
}
.recruit_block03 .inner_wrap .left {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	position: relative;
	margin-bottom: 4vw;
}
@media screen and (min-width: 769px) {
	.recruit_block03 .inner_wrap .left {
		align-items: center;
		margin-bottom: initial;
	}
}
.recruit_block03 .inner_wrap .left::before {
	position: absolute;
	content: "";
	width: 0.53vw;
	height: 68vw;
	left: 6.7vw;
	top: 12vw;
	z-index: -1;
	background: #6591d2;
}
@media screen and (min-width: 769px) {
	.recruit_block03 .inner_wrap .left::before {
		width: 3px;
		height: 150px;
		left: 44px;
		top: 20px;
	}
}
.recruit_block03 .inner_wrap .left .number {
	position: relative;
}
@media screen and (max-width: 768px) {
	.recruit_block03 .inner_wrap .left .number {
		width: 13.86vw;
	}
}
.recruit_block03 .inner_wrap .left .number img {
	width: 100%;
	height: auto;
}
@media screen and (min-width: 769px) {
	.recruit_block03 .inner_wrap .left .number img {
		width: auto;
	}
}
.recruit_block03 .inner_wrap .left > div {
	margin-left: 5.33vw;
	flex: 1;
	margin-top: 2.5vw;
}
@media screen and (min-width: 769px) {
	.recruit_block03 .inner_wrap .left > div {
		margin-left: 60px;
		margin-top: initial;
	}
}
.recruit_block03 .inner_wrap .left > div h2 {
	font-size: 4.26vw;
	font-weight: 700;
	margin-bottom: 2vw;
}
@media screen and (min-width: 769px) {
	.recruit_block03 .inner_wrap .left > div h2 {
		font-size: 24px;
		margin-bottom: 10px;
	}
}
.recruit_block03 .inner_wrap .left > div p {
	line-height: 1.8;
}
@media screen and (max-width: 768px) {
	.recruit_block03 .inner_wrap .right {
		margin-left: 20vw;
	}
	.recruit_block03 .inner_wrap .right figure {
		width: 29.46vw;
		height: 20.66vw;
	}
	.recruit_block03 .inner_wrap .right figure img {
		width: 100%;
		height: auto;
	}
}

.recruit_block04 {
	width: calc(100% - 10.66vw);
	max-width: 1180px;
	margin-inline: auto;
	margin-block: 10.66vw 18.66vw;
}
@media screen and (min-width: 769px) {
	.recruit_block04 {
		margin-block: 100px;
	}
}
.recruit_block04 a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.recruit_block04 .entry_title {
	position: absolute;
	z-index: 2;
	color: #fff;
	top: 12vw;
}
@media screen and (min-width: 769px) {
	.recruit_block04 .entry_title {
		top: 80px;
	}
}
.recruit_block04 .entry_title h2 {
	color: #fff;
	font-size: 4.26vw;
	margin-bottom: 0;
	font-weight: 700;
	text-align: center;
}
@media screen and (min-width: 769px) {
	.recruit_block04 .entry_title h2 {
		font-size: 24px;
	}
}
.recruit_block04 .entry_title p {
	font-size: 11.73vw;
	text-align: center;
	line-height: 1;
	color: #fff;
	font-weight: 700;
	font-family: "Vollkorn", serif;
}
@media screen and (min-width: 769px) {
	.recruit_block04 .entry_title p {
		font-size: 72px;
	}
}
.recruit_block04 .dots {
	width: 12vw;
	height: 12vw;
	border-radius: 12vw;
	display: flex;
	justify-content: center;
	align-items: center;
	border: solid 2px #fff;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10.66vw;
	margin: auto;
}
@media screen and (min-width: 769px) {
	.recruit_block04 .dots {
		border: solid 1px #fff;
		width: 54px;
		height: 54px;
		border-radius: 54px;
		bottom: 80px;
	}
}
.recruit_block04 .dots::before {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 1.06vw;
	height: 1.06vw;
	border-radius: 1.06vw;
	background: #fff;
}
@media screen and (min-width: 769px) {
	.recruit_block04 .dots::before {
		width: 6px;
		height: 6px;
		border-radius: 6px;
	}
}
.recruit_block04 img {
	width: 100%;
	height: auto;
}

.table_type02 .year {
	color: #7e8388;
	font-size: 5.6vw;
	font-weight: 700;
	line-height: 1.4;
}
@media screen and (min-width: 769px) {
	.table_type02 .year {
		font-size: 26px;
	}
}
.table_type02 dl {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	border-bottom: solid 1px #d9d9d9;
	box-sizing: border-box;
}
.table_type02 dl:first-of-type {
	border-top: solid 1px #d9d9d9;
}
.table_type02 dl dt {
	padding: 4.8vw 0;
	font-weight: 700;
	width: 26vw;
	box-sizing: border-box;
	color: #7e8388;
}
@media screen and (min-width: 769px) {
	.table_type02 dl dt {
		width: 215px;
		padding: 32px 0 32px 35px;
	}
}
.table_type02 dl dd {
	padding: 4.8vw 0;
	width: calc(100% - 26vw);
	font-weight: 500;
}
@media screen and (min-width: 769px) {
	.table_type02 dl dd {
		width: calc(100% - 215px);
		padding: 32px 0;
	}
}
.table_type02 dl dd b {
	display: block;
	margin-bottom: 6px;
}
.table_type02 dl dd ul {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-flow: column;
}
@media screen and (min-width: 769px) {
	.table_type02 dl dd ul {
		flex-flow: row;
	}
}
.table_type02 dl dd ul li {
	margin-right: 40px;
}
@media screen and (max-width: 768px) {
	.table_type02 dl dd ul li:first-of-type {
		margin-bottom: 4.66vw;
	}
}
.table_type02 .link_type01 {
	text-align: center;
	margin-top: 12vw;
	margin-bottom: 15.3vw;
}
@media screen and (min-width: 769px) {
	.table_type02 .link_type01 {
		margin-top: 60px;
		margin-bottom: 100px;
	}
}
.table_type02 .mark_img img {
	width: 34.6vw;
	height: auto;
}
@media screen and (min-width: 769px) {
	.table_type02 .mark_img img {
		width: 260px;
	}
}

/* ------------------------------------------------
NEWSページ
------------------------------------------------ */
.news_block {
	width: calc(100% - 10.66vw);
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
	padding: 12.6vw 0 17.3vw;
}
@media screen and (min-width: 769px) {
	.news_block {
		padding: 105px 0 100px;
	}
}
.news_block .title_type03 {
	margin-bottom: 50px;
}
.news_block .news_list ul li {
	background: #f4f6fa;
	padding: 5.33vw;
	box-sizing: border-box;
	margin-bottom: 2.66vw;
}
@media screen and (min-width: 769px) {
	.news_block .news_list ul li {
		margin-bottom: 20px;
		padding: 60px 50px 60px 65px;
	}
}
.news_block .news_list ul li .date {
	color: #003c97;
	font-size: 4.26vw;
	font-weight: 500;
	font-family: "Vollkorn", serif;
}
@media screen and (min-width: 769px) {
	.news_block .news_list ul li .date {
		font-size: 16px;
		margin-bottom: 10px;
	}
}
.news_block .news_list ul li h3 {
	font-weight: 700;
	font-size: 5.33vw;
	margin-bottom: 3.33vw;
	line-height: 1.6;
}
@media screen and (min-width: 769px) {
	.news_block .news_list ul li h3 {
		font-size: 24px;
		margin-bottom: 15px;
	}
}
.news_block .news_list ul li p {
	overflow-wrap: break-word;
	line-height: 1.8;
}

.news_detail_block {
	position: relative;
	margin-bottom: 80px;
	margin-top: 120px;
	margin-left: auto;
	margin-right: auto;
	width: calc(100% - 60px);
}
@media screen and (min-width: 1140px) {
	.news_detail_block {
		width: 1140px;
		box-sizing: border-box;
		padding-right: 200px;
		margin-top: 200px;
		margin-bottom: 100px;
	}
}
.news_detail_block .news_inner {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	background: #fff;
	box-sizing: border-box;
	margin-bottom: 50px;
	font-size: 1.5rem;
}
@media screen and (min-width: 1140px) {
	.news_detail_block .news_inner {
		margin-bottom: 100px;
	}
}
.news_detail_block .news_inner .date {
	font-size: 1.3rem;
	font-family: "Jost", sans-serif;
	color: #878787;
	border-bottom: solid 1px #e6e6e6;
	padding-bottom: 30px;
	margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
	.news_detail_block .news_inner .date {
		padding-bottom: 40px;
		margin-bottom: 40px;
		margin-right: 40px;
	}
}
.news_detail_block .news_inner .h1_title {
	font-size: 2rem;
	line-height: 3.5rem;
	letter-spacing: 0.3rem;
	margin-bottom: 20px;
	font-weight: 500;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
}
@media screen and (min-width: 769px) {
	.news_detail_block .news_inner .h1_title {
		font-size: 2.5rem;
		line-height: 5rem;
		margin-bottom: 10px;
	}
}
.news_detail_block .news_inner .h2_title {
	font-size: 1.8rem;
	line-height: 4rem;
	letter-spacing: 0.2rem;
	margin-bottom: 25px;
	color: #111f30;
	padding-bottom: 5px;
	box-sizing: border-box;
	text-underline-offset: 10px;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: #111f30;
	font-weight: 400;
	margin-top: 40px;
}
@media screen and (min-width: 769px) {
	.news_detail_block .news_inner .h2_title {
		font-size: 2rem;
		line-height: 4rem;
		margin-bottom: 30px;
	}
}
.news_detail_block .news_inner .h3_title {
	font-size: 1.6rem;
	line-height: 2.8rem;
	letter-spacing: 0.2rem;
	margin-bottom: 25px;
	color: #111f30;
	font-weight: 400;
	margin-top: 40px;
}
@media screen and (min-width: 769px) {
	.news_detail_block .news_inner .h3_title {
		font-size: 1.8rem;
		line-height: 3.5rem;
	}
}
.news_detail_block .news_inner blockquote {
	font-weight: 400;
	font-style: italic;
	margin: 0;
}
.news_detail_block .news_inner ol {
	counter-reset: listnum;
	list-style: none;
	padding-left: 2rem;
	text-indent: -2rem;
	box-sizing: border-box;
	margin-bottom: 50px;
}
.news_detail_block .news_inner ol li {
	margin-bottom: 5px;
	font-weight: 400;
	box-sizing: border-box;
}
.news_detail_block .news_inner ol li::before {
	counter-increment: listnum;
	content: counter(listnum) ".";
	padding-right: 4px;
}
.news_detail_block .news_inner ul {
	list-style: none;
	padding-left: 2rem;
	text-indent: -2rem;
	box-sizing: border-box;
	margin-bottom: 50px;
}
.news_detail_block .news_inner ul li {
	margin-bottom: 5px;
	font-weight: 400;
	box-sizing: border-box;
}
.news_detail_block .news_inner ul li::before {
	content: "■ ";
	color: #111f30;
	padding-right: 4px;
}
.news_detail_block .news_inner .inner_content p {
	font-weight: 400;
	margin-bottom: 40px;
	line-height: 2;
}
.news_detail_block .news_inner .inner_content img {
	margin-bottom: 20px;
	width: 100%;
	max-width: 600px;
	height: auto;
}

.bold {
	font-weight: 700 !important;
}

.table_type01 {
	width: 100%;
	border-left: solid 1px #b8b8b8;
	border-top: solid 1px #b8b8b8;
	margin-bottom: 40px;
}
.table_type01 tr {
	border-bottom: solid 1px #b8b8b8;
}
.table_type01 th {
	background: #f4f6fa;
	border-right: solid 1px #b8b8b8;
	height: 40px;
	box-sizing: border-box;
}
.table_type01 td {
	border-right: solid 1px #b8b8b8;
	height: 40px;
	box-sizing: border-box;
}

.italic {
	font-style: italic;
}

.underline {
	text-decoration: underline;
}

.strike_through {
	display: inline-block;
}

.brown {
	color: #111f30;
	font-weight: 500;
	text-decoration: underline;
}
.brown:hover {
	text-decoration: none;
}

.video_wrap {
	width: 100%;
	height: 100vh;
	position: relative;
	overflow: hidden;
}
.video_wrap video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.video_wrap::after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	background: rgba(0, 91, 52, 0.31);
}

/* -------------------------------------------------------------------------------
POLICYページ
---------------------------------------------------------------------------------- */
.privacy_block {
	width: calc(100% - 10.66vw);
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
	padding: 13.3vw 0 9.06vw;
	line-height: 1.8;
}
@media (width > 768px) {
	.privacy_block {
		padding: 100px 0 80px;
	}
}
.privacy_block .privacy_title h2 {
	font-size: 4.8vw;
	font-weight: 600;
	padding-bottom: 1.5vw;
	margin-bottom: 4vw;
	position: relative;
	color: #003c97;
	border-bottom: solid 1px #003c97;
}
@media screen and (min-width: 769px) {
	.privacy_block .privacy_title h2 {
		font-size: 32px;
		padding-bottom: 10px;
		margin-bottom: 28px;
	}
}
.privacy_block .privacy_title h3 {
	font-size: 4.8vw;
	font-weight: 600;
	border: solid 1px #003c97;
	padding: 1vw 2.5vw;
	box-sizing: border-box;
	margin-bottom: 3.4vw;
	color: #003c97;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 769px) {
	.privacy_block .privacy_title h3 {
		padding: 4px 10px;
		font-size: 20px;
		margin-bottom: 25px;
	}
}
.privacy_block .privacy_title h4 {
	font-size: 4.8vw;
	font-weight: 600;
	box-sizing: border-box;
	margin-bottom: 3.4vw;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 769px) {
	.privacy_block .privacy_title h4 {
		font-size: 16px;
		margin-bottom: 15px;
	}
}
.privacy_block p {
	margin-bottom: 6.66vw;
}
@media screen and (min-width: 769px) {
	.privacy_block p {
		margin-bottom: 45px;
	}
}
.privacy_block ul {
	margin-top: -8.53vw;
	margin-bottom: 8.53vw;
}
@media screen and (min-width: 769px) {
	.privacy_block ul {
		margin-bottom: 50px;
		margin-top: -40px;
	}
}
.privacy_block .privacy_table {
	margin-bottom: 8vw;
}
@media screen and (min-width: 769px) {
	.privacy_block .privacy_table {
		margin-bottom: 80px;
	}
}
.privacy_block .privacy_table dl {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 709px;
}
.privacy_block .privacy_table dl:last-of-type {
	border-bottom: 1px solid #d0d9e3;
}
.privacy_block .privacy_table dl dt {
	padding: 2.13vw 3.66vw;
	box-sizing: border-box;
	border: 1px solid #dadada;
	border-bottom: 0 solid #d0d9e3;
	border-right: 0 solid #d0d9e3;
	font-weight: 700;
	width: 25.3vw;
	background: #f4f6fa;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
@media screen and (min-width: 769px) {
	.privacy_block .privacy_table dl dt {
		width: 241px;
		padding: 16px 30px;
		border-right: 1px solid #d0d9e3;
	}
}
.privacy_block .privacy_table dl dd {
	padding: 2.13vw 4vw;
	box-sizing: border-box;
	border: 1px solid #dadada;
	border-bottom: 0 solid #dadada;
	width: calc(100% - 25.3vw);
}
@media screen and (min-width: 769px) {
	.privacy_block .privacy_table dl dd {
		width: calc(100% - 241px);
		border-left: 0 solid #dadada;
		padding: 16px 20px;
	}
}

/* -------------------------------------------------------------------------------
お問い合わせページ
---------------------------------------------------------------------------------- */
.contact_wrapper {
	width: calc(100% - 10.66vw);
	max-width: 1060px;
	margin-left: auto;
	margin-right: auto;
	padding: 13.33vw 0 19vw;
}
@media screen and (min-width: 769px) {
	.contact_wrapper {
		padding: 100px 0 120px;
	}
}
.contact_wrapper .contact_contents01.contact_confirm p {
	text-align: left;
	max-width: 824px;
	width: 100%;
	margin-inline: auto;
}
.contact_wrapper .contact_contents01 {
	text-align: center;
	margin-bottom: 13.3vw;
	font-weight: 500;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .contact_contents01 {
		margin-bottom: 70px;
	}
}
.contact_wrapper .contact_contents01 h2 {
	font-size: 5.33vw;
	text-align: center;
	font-weight: 700;
	margin-bottom: 2.66vw;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .contact_contents01 h2 {
		font-size: 32px;
		margin-bottom: 20px;
	}
}
.contact_wrapper .contact_contents01 p {
	text-align: center;
}
@media screen and (max-width: 768px) {
	.contact_wrapper .contact_contents01 p {
		margin-bottom: 5.33vw;
	}
}
.contact_wrapper .contact_contents01 .tel {
	margin-bottom: 2vw;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .contact_contents01 .tel {
		margin-bottom: 20px;
	}
}
.contact_wrapper .contact_contents01 .tel a {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 8vw;
	font-weight: 600;
	line-height: 1;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .contact_contents01 .tel a {
		font-size: 48px;
	}
}
.contact_wrapper .contact_contents01 .tel a figure {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 4vw;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .contact_contents01 .tel a figure {
		margin-right: 30px;
	}
}
.contact_wrapper .contact_contents01 .tel a figure img {
	width: 6.13vw;
	height: auto;
	position: relative;
	top: 3px;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .contact_contents01 .tel a figure img {
		width: 39px;
	}
}
.contact_wrapper .contact_contents02 {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column;
	margin-bottom: 12vw;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .contact_contents02 {
		margin-bottom: 60px;
	}
}
.contact_wrapper .contact_contents02 a {
	color: #111f30;
	text-decoration: underline;
}
.contact_wrapper .contact_contents02 a:hover {
	text-decoration: none;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .contact_contents02 p {
		text-align: center;
	}
}
.contact_wrapper .contact_contents02 .title_type04 {
	margin-bottom: 6.66vw;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .contact_contents02 .title_type04 {
		margin-bottom: 45px;
	}
}
.contact_wrapper .contact_contents02 .title_type04 h2::before {
	left: -50vw;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .contact_contents02 .title_type04 h2::before {
		left: -290px;
	}
}
.contact_wrapper .contact_contents02 .title_type04 h2::after {
	right: -50vw;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .contact_contents02 .title_type04 h2::after {
		right: -290px;
	}
}
@media screen and (max-width: 768px) {
	.contact_wrapper .contact_contents02 .title_type01 {
		margin-bottom: 5.33vw;
	}
}
.contact_wrapper .confirmation {
	text-align: center;
	margin-bottom: 9.33vw;
	position: relative;
	z-index: 2;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .confirmation {
		margin-bottom: 80px;
	}
}
.contact_wrapper .confirmation ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	width: 45.3vw;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .confirmation ul {
		width: 280px;
	}
}
.contact_wrapper .confirmation ul::after {
	content: "";
	position: absolute;
	width: 39.4vw;
	height: 1px;
	background: #989898;
	left: 0;
	right: 0;
	top: 1.2vw;
	margin: auto;
	z-index: -1;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .confirmation ul::after {
		top: 6px;
		width: 257px;
	}
}
.contact_wrapper .confirmation ul li {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column;
	width: 3.46vw;
	text-align: center;
	color: #989898;
	font-weight: 700;
	white-space: nowrap;
	background: none;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .confirmation ul li {
		width: 26px;
	}
}
.contact_wrapper .confirmation ul li figure {
	width: 2.3vw;
	height: 2.3vw;
	background: #989898;
	border-radius: 2.3vw;
	margin-bottom: 2.66vw;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .confirmation ul li figure {
		width: 11px;
		height: 11px;
		border-radius: 11px;
		margin-bottom: 10px;
	}
}
.contact_wrapper .confirmation ul li.active {
	color: #003c97;
}
.contact_wrapper .confirmation ul li.active figure {
	background: #003c97;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.contact_wrapper .confirmation ul li.active figure span {
	position: absolute;
	left: -1.5vw;
	top: -1.5vw;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 5.33vw;
	height: 5.33vw;
	background: #ccd8ea;
	border-radius: 5.33vw;
	z-index: -1;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .confirmation ul li.active figure span {
		width: 27px;
		height: 27px;
		border-radius: 27px;
		left: -8px;
		top: -8px;
	}
}
.contact_wrapper .link_type01 a {
	white-space: nowrap;
	width: 48.53vw;
}
@media screen and (min-width: 769px) {
	.contact_wrapper .link_type01 a {
		width: 225px;
	}
}

.link_type01.thanks a {
	width: 51.46vw;
}
@media screen and (min-width: 769px) {
	.link_type01.thanks a {
		width: 225px;
		padding-left: 25px;
	}
	.link_type01.thanks a:hover {
		width: 242px;
	}
}

@media screen and (max-width: 768px) {
	.contact_table.entry_table table td {
		width: calc(100% - 13vw);
	}
}
.contact_table table {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 12.6vw;
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	.contact_table table {
		margin-bottom: 70px;
		max-width: 824px;
	}
}
.contact_table table tbody {
	position: relative;
}
.contact_table table tr {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-flow: column;
	margin-bottom: 5vw;
	padding-bottom: 4vw;
	width: 100%;
	position: relative;
	border-bottom: solid 1px #b7b7b7;
}
@media screen and (min-width: 769px) {
	.contact_table table tr {
		margin-bottom: 40px;
		padding-bottom: 30px;
	}
}
.contact_table table tr:last-of-type {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: solid 0 #b7b7b7;
}
.contact_table table th {
	width: 100%;
	box-sizing: border-box;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 0;
	font-weight: 700;
	margin-bottom: 2vw;
}
@media screen and (min-width: 769px) {
	.contact_table table th {
		margin-bottom: 18px;
	}
}
.contact_table table td {
	width: 100%;
	padding: 0;
	box-sizing: border-box;
	position: relative;
}
.contact_table table td input::placeholder,
.contact_table table td textarea::placeholder {
	color: #a0a0a0;
	font-weight: 400;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
}
.contact_table table td input[type="text"],
.contact_table table td input[type="tel"],
.contact_table table td input[type="email"] {
	width: 100%;
	padding: 0.66vw 2vw;
	height: 14.9vw;
	background: #f0f0f0;
	box-sizing: border-box;
	border-radius: 0;
	border: solid 0 #fff;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
}
@media screen and (min-width: 769px) {
	.contact_table table td input[type="text"],
	.contact_table table td input[type="tel"],
	.contact_table table td input[type="email"] {
		height: 64px;
		margin-bottom: 15px;
		padding: 5px 20px;
	}
}
.contact_table table td .post_icon {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.contact_table table td .post_icon figure {
	width: 9vw;
	position: relative;
	top: -0.2vw;
}
@media screen and (min-width: 769px) {
	.contact_table table td .post_icon figure {
		width: 40px;
		top: -4px;
	}
}
.contact_table table td .explanation {
	position: absolute;
	font-size: 2.93vw;
	left: 51vw;
	top: 1vw;
	line-height: 1.8;
	text-indent: -2.93vw;
}
@media screen and (min-width: 769px) {
	.contact_table table td .explanation {
		text-indent: initial;
		font-size: 14px;
		left: 340px;
		top: -8px;
	}
}
.contact_table table td .explanation02 {
	position: relative;
	font-size: 2.93vw;
	left: 2.93vw;
	line-height: 1.8;
	text-indent: -2.93vw;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
@media screen and (min-width: 769px) {
	.contact_table table td .explanation02 {
		position: absolute;
		text-indent: initial;
		font-size: 14px;
		left: 295px;
		top: -6px;
		bottom: 0;
		margin: auto;
		height: 60px;
	}
}
.contact_table table td small {
	font-size: 2.93vw;
	display: block;
	line-height: 1.6;
	text-indent: -2.93vw;
	width: 100%;
	padding-left: 2.93vw;
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	.contact_table table td small {
		font-size: 13px;
		text-indent: -13px;
		padding-left: 13px;
		width: 100%;
	}
}
.contact_table table td .number {
	width: 37.3vw !important;
}
@media screen and (min-width: 769px) {
	.contact_table table td .number {
		width: 280px !important;
	}
}
@media screen and (max-width: 768px) {
	.contact_table table td .w100 {
		width: 100% !important;
	}
}
.contact_table table td label {
	width: 100% !important;
	height: 14.9vw;
	background: #fff;
	box-sizing: border-box;
	border-radius: 0;
	border: solid 0 #fff;
	margin-bottom: 2.66vw;
}
@media screen and (min-width: 769px) {
	.contact_table table td label {
		height: 64px;
		margin-bottom: 10px;
	}
}
.contact_table table td .file_text {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-bottom: 20px;
	align-items: center;
}
.contact_table table td .file_text label {
	margin-bottom: 0;
}
.contact_table table td .file_text div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	flex: 1;
}
@media screen and (min-width: 769px) {
	.contact_table table td .file_text div {
		width: calc(100% - 240px);
	}
}
.contact_table table td .file_text.small-window.file-selected {
	align-items: flex-start;
	flex-flow: column;
}
.contact_table table td .file_text.small-window.file-selected div {
	margin-top: 4vw;
}
.contact_table table td .file_text.small-window.file-selected div .select-image {
	margin-left: 0;
}
.contact_table table td .file {
	color: #000;
	height: 14.9vw;
	width: 52vw !important;
	background: #f0f0f0;
	padding: 5px 20px;
	border: solid 0 #fff;
	box-sizing: border-box;
	border-radius: 14.9vw;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #003c97;
	cursor: pointer;
	transition: all 0.2s;
}
@media screen and (min-width: 769px) {
	.contact_table table td .file {
		height: 64px;
		border-radius: 64px;
		width: 223px !important;
	}
}
.contact_table table td .file:hover {
	opacity: 0.7;
	transition: all 0.2s;
}
.contact_table table td #form-image {
	display: none;
}
.contact_table table td .select-image {
	font-size: 3.06vw;
	margin-left: 4vw;
	width: 45vw;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
@media screen and (min-width: 769px) {
	.contact_table table td .select-image {
		font-size: 13px;
		width: 180px;
		margin-left: 15px;
	}
}
.contact_table table td .delete-image {
	width: 5.6vw;
	height: 5.6vw;
	background: #f0f0f0;
	border-radius: 5.6vw;
	color: #111f30;
	border: none !important;
}
@media screen and (min-width: 769px) {
	.contact_table table td .delete-image {
		width: 20px;
		height: 20px;
		border-radius: 20px;
	}
}
.contact_table table td .radio_list {
	margin: 20px 0 0;
	width: 100%;
	position: relative;
}
@media screen and (min-width: 769px) {
	.contact_table table td .radio_list {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
}
.contact_table table td .radio_list div {
	margin-bottom: 40px;
	width: 100%;
}
@media screen and (min-width: 769px) {
	.contact_table table td .radio_list div {
		margin-bottom: 0;
		margin-right: 70px;
		width: auto;
	}
}
.contact_table table td .radio_list label {
	position: relative;
	cursor: pointer;
	display: inline-block;
	padding-left: 20px;
}
.contact_table table td .radio_list label::before,
.contact_table table td .radio_list label::after {
	content: "";
	display: block;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}
.contact_table table td .radio_list label::before {
	background-color: #fff;
	border: 1px solid #a9a9a9;
	width: 24px;
	height: 24px;
	left: 0;
}
.contact_table table td .radio_list label::after {
	background-color: #111f30;
	opacity: 0;
	width: 12px;
	height: 12px;
	left: 7px;
	border-radius: 50%;
}
.contact_table table td .radio_list label .space {
	display: inline-block;
	padding: 0 12px;
}
.contact_table table td .radio_list input:checked + label::after {
	opacity: 1;
}
.contact_table table td .radio_list .visually-hidden {
	position: absolute;
	white-space: nowrap;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
}
.contact_table table td select {
	width: 100%;
	padding: 0.66vw 2vw;
	height: 14.9vw;
	border: none;
	box-sizing: border-box;
	background: #f4f4f4;
	appearance: none;
	position: relative;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
}
@media screen and (min-width: 769px) {
	.contact_table table td select {
		height: 65px;
		width: 280px;
	}
}
.contact_table table td .select_arrow {
	position: relative;
	width: 100%;
}
@media screen and (min-width: 769px) {
	.contact_table table td .select_arrow {
		max-width: 280px;
	}
}
.contact_table table td .select_arrow::after {
	background: url("../images/contact/select_arrow.svg") no-repeat;
	background-size: contain;
	width: 11px;
	height: 7px;
	position: absolute;
	content: "";
	right: 2.66vw;
	top: 0;
	bottom: 0;
	margin: auto;
}
@media screen and (min-width: 769px) {
	.contact_table table td .select_arrow::after {
		width: 11px;
		height: 7px;
		right: 20px;
	}
}
.contact_table table td option {
	padding: 5px 20px !important;
	box-sizing: border-box;
}
.contact_table table td p {
	margin-top: 10px;
}
@media screen and (min-width: 769px) {
	.contact_table table td p {
		margin-top: 20px;
	}
}
.contact_table table td select::-ms-expand {
	display: none;
}
.contact_table table td textarea {
	width: 100%;
	padding: 20px;
	box-sizing: border-box;
	font-size: 3.46vw;
	height: 50.26vw;
	background: #f0f0f0;
	border-radius: 0;
	border: solid 0 #fff;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
}
@media screen and (min-width: 769px) {
	.contact_table table td textarea {
		height: 264px;
		padding: 20px;
		font-size: 16px;
	}
}
.contact_table table td label {
	display: block;
}
.contact_table .link_type01 {
	text-align: center;
}
@media screen and (min-width: 769px) {
	.contact_table .link_type01 a {
		border: solid 1px #003c97;
		width: 218px;
		height: 54px;
		border-radius: 54px;
		padding-left: 30px;
	}
	.contact_table .link_type01 a:hover {
		width: 242px;
	}
	.contact_table .link_type01 a:hover::after {
		background: url("../images/common/icon_arrow_blue.svg") no-repeat;
		background-size: contain;
		width: 30px;
		height: 6px;
	}
}

.contact_table02 table {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 13.3vw;
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	.contact_table02 table {
		margin-bottom: 120px;
		max-width: 824px;
	}
}
.contact_table02 table tbody {
	position: relative;
}
.contact_table02 table tr {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-flow: column;
	margin-bottom: 4.66vw;
	padding-bottom: 2vw;
	width: 100%;
	position: relative;
	border-bottom: solid 1px #b7b7b7;
}
@media screen and (min-width: 769px) {
	.contact_table02 table tr {
		margin-bottom: 35px;
		padding-bottom: 35px;
		flex-direction: row;
	}
}
.contact_table02 table tr:last-of-type {
	margin-bottom: 0;
}
.contact_table02 table th {
	width: 100%;
	box-sizing: border-box;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 0;
	font-weight: 700;
	margin-bottom: 2vw;
}
@media screen and (min-width: 769px) {
	.contact_table02 table th {
		margin-bottom: initial;
		width: 200px;
	}
}
.contact_table02 table td {
	width: 100%;
	padding: 0;
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	.contact_table02 table td {
		width: calc(100% - 200px);
	}
}
.contact_table02 table td input::placeholder,
.contact_table02 table td textarea::placeholder {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
	color: #a0a0a0;
	font-weight: 400;
}
.contact_table02 table td p {
	margin-top: 10px;
}
@media screen and (min-width: 769px) {
	.contact_table02 table td p {
		margin-top: 20px;
	}
}
.contact_table02 table td label {
	display: block;
}
.contact_table02 .link_type01 {
	text-align: center;
}

.contact_back {
	text-align: center;
	margin-top: 13.3vw;
}
@media screen and (min-width: 769px) {
	.contact_back {
		margin-top: 50px;
	}
}
.contact_back a {
	font-weight: 700;
	color: #575757;
	text-align: center;
	text-decoration: underline;
}
.contact_back a:hover {
	text-decoration: none;
}

.hisu {
	width: 8vw;
	height: 4.53vw;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #b61024;
	text-align: center;
	font-size: 2.93vw;
	border: solid 1px #b61024;
	margin-right: 2.66vw;
	font-weight: 700;
}
@media screen and (min-width: 769px) {
	.hisu {
		font-size: 13px;
		margin-right: 10px;
		width: 38px;
		height: 21px;
	}
}

.nini {
	width: 8vw;
	height: 4.53vw;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #575757;
	text-align: center;
	font-size: 2.93vw;
	border: solid 1px #575757;
	margin-right: 2.66vw;
	font-weight: 700;
}
@media screen and (min-width: 769px) {
	.nini {
		font-size: 13px;
		margin-right: 10px;
		width: 38px;
		height: 21px;
	}
}

.contact_bottom_text {
	margin-bottom: 50px;
	margin-left: auto;
	margin-right: auto;
	max-width: 600px;
}
.contact_bottom_text p {
	margin-bottom: 0;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 700;
}
.contact_bottom_text p a {
	color: #003d99;
	font-weight: 700;
	text-align: center;
	text-decoration: underline;
	margin-left: 8px;
}
.contact_bottom_text p a:hover {
	text-decoration: none;
}
.contact_bottom_text p + p {
	padding-right: 10.3vw;
}
@media screen and (min-width: 769px) {
	.contact_bottom_text p + p {
		padding-right: 56px;
	}
}
.contact_bottom_text input {
	position: relative;
	top: -2px;
}

.contact_submit {
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.contact_submit div {
	width: 280px;
	height: 50px;
	position: relative;
	border-radius: 50px;
	box-sizing: border-box;
	background: #111f30;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (min-width: 769px) {
	.contact_submit div {
		width: 260px;
		height: 60px;
	}
}
.contact_submit div:hover {
	background: #111f30;
	color: #fff;
}
.contact_submit div:hover::after {
	background: url("../images/common/arrow_right_w.svg") no-repeat;
	background-size: contain;
}
.contact_submit div::after {
	background: url("../images/common/arrow_right.svg") no-repeat;
	background-size: contain;
	width: 7px;
	height: 13px;
	position: absolute;
	right: 25px !important;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	transition: all 0.2s;
}
@media screen and (min-width: 769px) {
	.contact_submit div::after {
		right: 25px;
	}
}
.contact_submit input[type="submit"] {
	width: 280px;
	height: 50px;
	border-radius: 50px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column;
	position: relative;
	border: solid 1px #111f30;
	transition: all 0.2s;
	box-sizing: border-box;
	background: #fff;
	color: #111f30;
	font-size: 1.4rem;
	margin-left: auto;
	margin-right: auto;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", yu-gothic-pr6n, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
	transition: all 0.2s;
}
@media screen and (min-width: 769px) {
	.contact_submit input[type="submit"] {
		width: 260px;
		height: 60px;
		border-radius: 60px;
	}
}
.contact_submit input[type="submit"]:hover {
	background: #111f30;
	color: #fff;
}

#sec01,
#sec02,
#sec03,
#sec04,
#sec05,
#sec06,
#sec07,
#sec08,
#sec09,
#sec10,
#sec11,
#sec12 {
	margin-top: -9vw;
	padding-top: 9vw;
}
@media screen and (min-width: 769px) {
	#sec01,
	#sec02,
	#sec03,
	#sec04,
	#sec05,
	#sec06,
	#sec07,
	#sec08,
	#sec09,
	#sec10,
	#sec11,
	#sec12 {
		margin-top: -10px;
		padding-top: 10px;
	}
}

/* header.scss */
.header {
	position: absolute;
	top: 0;
	height: 104px;
	z-index: 999;
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-width: 1300px;
	width: 100%;
}
@media screen and (max-width: 768px) {
	.header {
		height: 18.13vw;
		position: fixed;
		z-index: 9;
	}
}
.header .h_logo a {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	width: 305px;
	height: 105px;
	transition: all 0.2s;
}
@media screen and (max-width: 768px) {
	.header .h_logo a {
		height: 18.13vw;
		width: 47.19vw;
	}
}
.header .h_logo a:hover {
	opacity: 1;
	transition: all 0.2s;
}
.header .h_logo a:hover img {
	transition: all 0.2s;
	opacity: 0.85;
}
.header .h_logo figure img {
	width: 38.66vw;
	height: auto;
}
@media screen and (min-width: 769px) {
	.header .h_logo figure img {
		width: 100%;
	}
}
.header .header_inner {
	height: 16vw;
	width: 100%;
	top: 0;
	z-index: 2;
	display: none;
	justify-content: flex-end;
	align-items: center;
}
@media screen and (min-width: 769px) {
	.header .header_inner {
		display: flex;
		height: 104px;
	}
}
.header .header_inner nav ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: 16vw;
}
@media screen and (min-width: 769px) {
	.header .header_inner nav ul {
		height: 104px;
	}
}
.header .header_inner nav ul li {
	margin-right: 28px;
}
.header .header_inner nav ul li:last-of-type a {
	border-right: 0;
	padding-right: 0;
}
.header .header_inner nav ul li a {
	line-height: 1;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column;
	position: relative;
	line-height: 1;
	font-weight: 700;
	padding-right: 28px;
	border-right: solid 1px #fff;
}
.header .header_inner .h_mail a {
	background: #003c97;
	width: 147px;
	height: 104px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: #fff;
	font-weight: 700;
}
.header .header_inner .h_mail a figure {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 10px;
}
.header .header_inner .h_mail a figure img {
	width: 48px;
	height: 23px;
}

.h_sdgs {
	position: absolute;
	right: 0;
	top: 100px;
	z-index: 9;
}
@media screen and (max-width: 768px) {
	.h_sdgs {
		display: none;
	}
}

/* gnav.scss */
.toggle {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	right: 0;
	top: 0;
	width: 19.2vw;
	height: 18.13vw;
	cursor: pointer;
	z-index: 999;
	position: fixed;
	user-select: none;
	background: #003c97;
}
@media screen and (min-width: 769px) {
	.toggle {
		height: 144px;
		width: 136px;
		position: absolute;
	}
}

.toggle span {
	display: block;
	position: absolute;
	width: 9.6vw;
	border-bottom: solid 2px #fff;
	-webkit-transition: 0.35s ease-in-out;
	-moz-transition: 0.35s ease-in-out;
	transition: 0.35s ease-in-out;
	left: 4.6vw;
}

.profile .toggle span,
.faq .toggle span,
.gallery .toggle span {
	border-bottom: solid 1px #000;
}

.toggle.isWhite span {
	border-bottom: solid 1px #000;
}

.toggle span:nth-child(1) {
	top: 7.86vw;
}

.toggle span:nth-child(2) {
	top: 10vw;
}

/* 最初のspanをマイナス45度に */
.toggle.active span:nth-child(1) {
	top: 9vw;
	left: 4.5vw;
	transform: rotate(-45deg);
}

.toggle.active span:nth-child(2) {
	top: 9vw;
	transform: rotate(45deg);
}

@keyframes fadeInAnime {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeOutAnime {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@media screen and (min-width: 769px) {
	/* PC */
	.sp_menu,
	.nav_menu,
	.toggle {
		display: none;
	}
}
.nav_menu {
	display: none;
	position: fixed;
	top: 0;
	width: 100%;
	height: svh;
	right: -100%;
	z-index: 999;
}
.nav_menu::before {
	content: "";
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background: rgba(18, 19, 20, 0.5);
	transition: all 0.1s;
}
.nav_menu .nav_inner {
	background: #003c97;
	overflow-y: auto;
	width: 73vw;
	left: 27vw;
	position: relative;
}
@media screen and (min-width: 500px) {
	.nav_menu .nav_inner {
		height: 100vh;
	}
}
@media screen and (min-width: 769px) {
	.nav_menu .nav_inner {
		display: none;
	}
}
.nav_menu .nav_inner_menu {
	position: relative;
	padding: 32vw 10.66vw 10.66vw;
	box-sizing: border-box;
	height: 100vh;
}
@media screen and (max-width: 768px) {
	.nav_menu .nav_inner_menu::after {
		content: "";
		position: absolute;
		bottom: 0;
		right: 0;
		background: url("../images/common/menu_bg_sp.svg") no-repeat;
		background-size: contain;
		background-position: bottom;
		z-index: 2;
		width: 100%;
		height: 100%;
	}
}
.nav_menu .nav_inner_menu li {
	margin-bottom: 14vw;
}
.nav_menu .nav_inner_menu li a {
	color: #fff;
	font-size: 15px;
	font-style: normal;
	font-weight: 700;
	line-height: 1;
	position: relative;
	text-decoration: underline;
	text-underline-offset: 2vw;
	font-size: 4vw;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 5;
}
.nav_menu .nav_inner_menu li:last-of-type a {
	border: solid 2px #fff;
	width: 100%;
	height: 20.66vw;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-decoration: none;
}
.nav_menu .nav_inner_menu li:last-of-type a img {
	width: 8.13vw;
	height: auto;
	margin-bottom: 4vw;
}
.nav_menu .sp_contact {
	margin-bottom: 50px;
}
.nav_menu .sp_contact li {
	width: calc(100% - 40px);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
}
@media screen and (min-width: 410px) {
	.nav_menu .sp_contact li {
		width: calc(100% - 60px);
	}
}
.nav_menu .sp_contact li a {
	width: 100%;
	height: 50px;
	box-sizing: border-box;
	border: solid 1px #111f30;
	border-radius: 50px;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.4rem;
	color: #111f30;
	position: relative;
}
.nav_menu .sp_contact li a span {
	font-family: "Jost", sans-serif;
	font-size: 1.4rem;
	color: #111f30;
	display: inline-block;
	margin-left: 4px;
	top: 1px;
	position: relative;
}
.nav_menu .sp_contact li a img {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 26px;
	margin: auto;
}
@media screen and (max-width: 410px) {
	.nav_menu .sp_contact li:first-of-type a {
		padding-right: 22px;
	}
	.nav_menu .sp_contact li:first-of-type a img {
		right: 16px;
	}
}
.nav_menu .sp_contact li:last-of-type a::after {
	content: "";
	position: absolute;
	right: 26px;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 2;
	background: url("../images/common/arrow_right.svg") no-repeat;
	background-size: cover;
	width: 7px;
	height: 13px;
}

.sp_nav_bottom {
	margin: -10px 0 30px;
	font-size: 1.1rem;
}
.sp_nav_bottom a {
	display: block;
	margin-bottom: 5px;
	text-decoration: underline;
}
.sp_nav_bottom a:hover {
	text-decoration: none;
}

.nav_menu.active {
	display: block;
}

/* footer.scss */
.contact_block {
	background: url("../images/common/f_container_bg_sp.jpg") no-repeat #111f30;
	background-size: contain;
	background-position: top;
	width: 100%;
	height: 152.53vw;
	position: relative;
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	padding-top: 18.66vw;
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	.contact_block {
		padding-top: 0;
		background: url("../images/common/f_container_bg_pc.jpg") no-repeat;
		background-size: cover;
		align-items: flex-end;
		height: 481px;
	}
}
.contact_block .inner_wrap {
	width: calc(100% - 5.33vw);
	background: rgba(255, 255, 255, 0.9);
	padding: 13.33vw 0;
	backdrop-filter: blur(4px);
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 769px) {
	.contact_block .inner_wrap {
		width: calc(100% - 142px);
		height: 413px;
		padding: 0;
		top: 85px;
	}
}
.contact_block .inner_contents {
	width: calc(100% - 12vw);
	max-width: 1180px;
	margin-inline: auto;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}
@media screen and (min-width: 769px) {
	.contact_block .inner_contents {
		flex-direction: row;
		align-items: center;
		width: calc(100% - 140px);
	}
}
.contact_block .inner_contents .footer_title h2 {
	font-family: "Vollkorn", serif;
	color: #003c97;
	font-size: 11.73vw;
	line-height: 1;
	font-weight: 600;
}
@media screen and (min-width: 769px) {
	.contact_block .inner_contents .footer_title h2 {
		font-size: 88px;
		margin-bottom: 5px;
	}
}
.contact_block .inner_contents .footer_title p {
	font-size: 4.26vw;
	font-weight: 700;
	margin-bottom: 5.33vw;
}
@media screen and (min-width: 769px) {
	.contact_block .inner_contents .footer_title p {
		font-size: 18px;
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 768px) {
	.contact_block .inner_contents .left {
		margin-bottom: 9vw;
	}
}
.contact_block .inner_contents .left > p {
	font-weight: 500;
	line-height: 1.8;
	font-size: 4vw;
}
@media screen and (min-width: 769px) {
	.contact_block .inner_contents .left > p {
		font-size: 16px;
	}
}
@media screen and (min-width: 769px) {
	.contact_block .inner_contents .left {
		margin-right: 200px;
	}
}
.contact_block .inner_contents .right .contact_btn a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border: solid 1px #003c97;
	width: 68.26vw;
	height: 14.13vw;
	border-radius: 14.13vw;
	color: #003c97;
	position: relative;
	font-weight: 700;
	padding-left: 5vw;
	box-sizing: border-box;
	font-size: 4vw;
}
@media screen and (min-width: 769px) {
	.contact_block .inner_contents .right .contact_btn a {
		width: 285px;
		height: 54px;
		border-radius: 54px;
		font-size: 18px;
		border: solid 1px #003c97;
		padding-left: 25px;
	}
	.contact_block .inner_contents .right .contact_btn a:hover {
		width: 320px;
	}
	.contact_block .inner_contents .right .contact_btn a:hover::after {
		background: url("../images/common/icon_arrow_blue.svg") no-repeat;
		background-size: contain;
		width: 30px;
		height: 6px;
	}
	.contact_block .inner_contents .right .contact_btn a figure {
		margin-right: -2px;
	}
}
.contact_block .inner_contents .right .contact_btn a::after {
	background: #003c97;
	width: 1.06vw;
	height: 1.06vw;
	border-radius: 1.06vw;
	position: absolute;
	right: 5vw;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	transition: all 0.2s;
}
@media screen and (min-width: 769px) {
	.contact_block .inner_contents .right .contact_btn a::after {
		width: 6px;
		height: 6px;
		border-radius: 6px;
		right: 20px;
	}
}
.contact_block .inner_contents .right .contact_btn a img {
	width: 4vw;
	height: auto;
	margin-right: 2vw;
}
@media screen and (min-width: 769px) {
	.contact_block .inner_contents .right .contact_btn a img {
		width: 18px;
		margin-right: 8px;
	}
}
.contact_block .inner_contents .right h3 {
	font-size: 4.26vw;
	font-weight: 700;
	margin-bottom: 2vw;
}
@media screen and (min-width: 769px) {
	.contact_block .inner_contents .right h3 {
		font-size: 18px;
		margin-bottom: 10px;
	}
}
.contact_block .inner_contents .right > a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-family: "Vollkorn", serif;
	font-size: 40px;
	font-weight: 600;
	margin-bottom: 0.66vw;
}
@media screen and (min-width: 769px) {
	.contact_block .inner_contents .right > a {
		margin-bottom: 10px;
	}
}
.contact_block .inner_contents .right > a + p {
	margin-bottom: 5.33vw;
	font-size: 3.46vw;
}
@media screen and (min-width: 769px) {
	.contact_block .inner_contents .right > a + p {
		margin-bottom: 40px;
		font-size: 14px;
	}
}
.contact_block .inner_contents .right > a img {
	width: 61.06vw;
	height: auto;
}
@media screen and (min-width: 769px) {
	.contact_block .inner_contents .right > a img {
		width: 284px;
	}
}

.footer {
	background: #111f30;
	position: relative;
	box-sizing: border-box;
	font-weight: 500;
	padding-top: 16vw;
}
@media screen and (min-width: 769px) {
	.footer {
		padding-top: 85px;
	}
}
.footer .footer_top {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: calc(100% - 40px);
	max-width: 1180px;
	margin-inline: auto;
}
@media screen and (min-width: 769px) {
	.footer .footer_top {
		align-items: flex-start;
		flex-wrap: nowrap;
	}
}
.footer .footer_top nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	line-height: 1;
	flex: 1;
	width: calc(100% - 10.6vw);
	padding: 0 0 4vw;
	box-sizing: border-box;
}
@media screen and (min-width: 769px) {
	.footer .footer_top nav {
		justify-content: flex-end;
		padding: 80px 0 72px;
		width: calc(100% - 120px);
	}
}
.footer .footer_top nav div {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-flow: column;
}
@media screen and (min-width: 769px) {
	.footer .footer_top nav div {
		flex-flow: row;
		align-items: center;
	}
}
@media screen and (min-width: 769px) {
	.footer .footer_top nav div ul {
		margin-right: 48px;
	}
}
.footer .footer_top nav ul {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	padding: 0 4vw;
	box-sizing: border-box;
	display: grid;
	text-align: center;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 11.73vw;
}
@media screen and (min-width: 769px) {
	.footer .footer_top nav ul {
		padding: 0;
		gap: 0 85px;
		display: flex;
		justify-content: flex-end;
		flex-wrap: nowrap;
	}
}
@media screen and (max-width: 768px) {
	.footer .footer_top nav ul li {
		margin-bottom: 8vw;
		position: relative;
	}
	.footer .footer_top nav ul li:first-of-type {
		left: 3vw;
	}
	.footer .footer_top nav ul li:nth-child(2) {
		left: 2vw;
	}
	.footer .footer_top nav ul li:nth-child(3) {
		left: -1vw;
	}
}
.footer .footer_top nav ul li a {
	white-space: nowrap;
	font-size: 4vw;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 1px;
	color: #fff;
}
@media screen and (min-width: 769px) {
	.footer .footer_top nav ul li a {
		font-size: 16px;
	}
}
.footer .footer_middle {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: column;
	width: calc(100% - 40px);
	max-width: 1180px;
	margin-inline: auto;
	padding-bottom: 5.33vw;
	margin-bottom: 8.66vw;
	border-bottom: solid 1px rgba(255, 255, 255, 0.3);
}
@media screen and (min-width: 769px) {
	.footer .footer_middle {
		flex-direction: row;
		align-items: flex-end;
		padding-bottom: 40px;
		margin-bottom: 50px;
	}
}
.footer .footer_middle ul {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 8vw;
}
@media screen and (min-width: 769px) {
	.footer .footer_middle ul {
		margin-bottom: 0;
	}
}
.footer .footer_middle ul li {
	line-height: 1;
	margin-right: 20px;
}
.footer .footer_middle ul li:last-of-type {
	margin-right: 0;
	padding-left: 20px;
	border-left: solid 1px rgba(255, 255, 255, 0.5);
}
.footer .footer_middle ul li a {
	color: rgba(255, 255, 255, 0.7);
	font-size: 3.2vw;
}
@media screen and (min-width: 769px) {
	.footer .footer_middle ul li a {
		font-size: 13px;
	}
}
.footer .footer_middle .p_top {
	position: relative;
	margin-left: auto;
}
.footer .footer_middle .p_top #pageTop {
	line-height: 1;
	width: 28.66vw;
	height: 8.4vw;
	border-radius: 8.4vw;
	border: solid 1px #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	font-family: "Vollkorn", serif;
	color: #fff;
	font-size: 3.46vw;
	font-weight: 600;
}
@media screen and (min-width: 769px) {
	.footer .footer_middle .p_top #pageTop {
		width: 132px;
		font-size: 14px;
		height: 41px;
		border-radius: 41px;
	}
}
.footer .footer_middle .p_top #pageTop img {
	width: 3vw;
	height: auto;
	margin-left: 25px;
}
@media screen and (min-width: 768px) {
	.footer .footer_middle .p_top #pageTop img {
		width: 5px;
	}
}
.footer .footer_bottom {
	background: #111f30;
	color: #fff;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column;
}
.footer .footer_bottom picture {
	margin-bottom: 3.6vw;
}
@media screen and (min-width: 769px) {
	.footer .footer_bottom picture {
		margin-bottom: 25px;
	}
}
.footer .footer_bottom picture img {
	width: 38.66vw;
	height: auto;
}
@media screen and (min-width: 769px) {
	.footer .footer_bottom picture img {
		width: 288px;
	}
}
.footer .footer_bottom .company_text {
	text-align: center;
	line-height: 1.6;
	font-size: 3.2vw;
	margin-bottom: 6vw;
}
@media screen and (min-width: 769px) {
	.footer .footer_bottom .company_text {
		font-size: 14px;
		margin-bottom: 40px;
	}
}
.footer .footer_bottom .company_text a {
	color: #fff;
}
.footer .footer_bottom .copyright {
	color: rgba(255, 255, 255, 0.3);
	opacity: 0.3;
	font-size: 2.93vw;
	margin-bottom: 55px;
}
@media screen and (min-width: 769px) {
	.footer .footer_bottom .copyright {
		font-size: 12px;
	}
}
