
/* === common.css === */
@charset "utf-8";

/* ////////////////////////////////////////////////////////////
	File Name	common.css
*/

@font-face {
	font-family: 'Montserrat';
	src: url('images/fonts/Montserrat-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/*============================================================
	RESET
*/
* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background-color: transparent;
	background-image: none;
	background-position: 0 0;
	background-repeat: no-repeat;
	text-decoration: none;
	text-indent: 0;
	text-transform: none;
	font-style: normal;
	font-size: inherit;
	font-family: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
}
html, body {
	width: 100%;
	height: 100%;
}
body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smoothing: antialiased;
}
ul {
	list-style-type: none;
}
table {
	border-collapse: collapse;
}
a,
button {
	cursor: pointer;
}
button:disabled {
	cursor: default;
}
input,
select,
textarea,
button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
	background-image: none;
	border: 0;
	border-radius: 0;
	outline: 0;
	resize: none;
}
img {
	display: block;
	width: 100%;
}

/*============================================================
	ICON
*/
@font-face {
	font-family: 'icon';
	src: url('images/fonts/icon.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}
[class^="icon-"], [class*=" icon-"] {
	font-family: 'icon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.icon-arrow-down:before {
  content: "\e900";
}
.icon-arrow-next:before {
  content: "\e901";
}
.icon-arrow-prev:before {
  content: "\e902";
}
.icon-arrow-thin-down:before {
  content: "\e903";
}
.icon-arrow-thin-next:before {
  content: "\e904";
}
.icon-arrow-thin-prev:before {
  content: "\e905";
}
.icon-arrow-thin-up:before {
  content: "\e906";
}
.icon-arrow-up:before {
  content: "\e907";
}
.icon-blank:before {
  content: "\e908";
}
.icon-close:before {
  content: "\e909";
}

/*============================================================
	HTML
*/
body {
	font-family: 'TazuganeGothicStdN-Regular', sans-serif;
	font-size: 15px;
	line-height: 1.8;
}
h2, h3, h4, .bold {
	font-weight: 700;
	font-family: 'TazuganeGothicStdN-Bold', sans-serif;
}
.normal {
	font-weight: 400;
	font-family: 'TazuganeGothicStdN-Regular', sans-serif;
}
.en {
	font-weight: 700;
	font-family: 'Montserrat', sans-serif;
}
/*.punctuation {*/
.punc {
	display: inline-block;
	margin-right: -0.5em;
	text-indent: -0.5em;
}
.punc-block {
	margin-right: -0.5em;
	text-indent: -0.5em;
}
.punc-out {
	display: inline-block;
	margin-right: -0.5em;
}
.punc-in {
	display: inline-block;
	text-indent: -0.5em;
}
/* SP */
@media screen and (max-width: 767px) {
	body {
		font-size: 14px;
	}
}

/*============================================================
	ANCHOR WALL
*/
.anchor-wall {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	background-color: #fff;
}
.anchor-access .anchor-wall {
	display: block;
}

/*============================================================
	BODY
*/
.body {
	overflow: hidden;
	padding: 100px 0 0 0;
}
.body.no-margin {
	padding: 0;
}
/* SP */
@media screen and (max-width: 767px) {
	.body {
		padding: 76px 0 0 0;
	}
}

/*============================================================
	SUP / SUB
*/
.lead sup {
	position: relative;
	top: -0.2em;
	vertical-align: middle;
	font-size: 10px;
}
.lead sub {
	position: relative;
	top: 0.16em;
	vertical-align: middle;
	font-size: 10px;
}

/*============================================================
	VISIBLE
*/
.visible-pc {
	display: block;
}
.visible-tb {
	display: none;
}
.visible-sp {
	display: none;
}
/* TB */
@media screen and (max-width: 979px) {
	.visible-pc {
		display: none;
	}
	.visible-tb {
		display: block;
	}
	.visible-sp {
		display: none;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.visible-pc {
		display: none;
	}
	.visible-tb {
		display: none;
	}
	.visible-sp {
		display: block;
	}
}

/*============================================================
	HIDDEN
*/
/* PC */
@media screen and (min-width: 980px) {
	.hidden-pc {
		display: none;
	}
}
/* TB */
@media screen and (min-width: 768px) and (max-width: 979px) {
	.hidden-tb {
		display: none;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.hidden-sp {
		display: none;
	}
}

/*============================================================
	FX
*/
.fx-fade,
.fxi-fade {
	opacity: 0;
	transition: opacity 0.8s linear 0s;
}
.active .fx-fade,
.fx-fade.active {
	opacity: 1 !important;
}
.fx-fade-bottom,
.fxi-fade-bottom {
	opacity: 0;
	transform: translateY(30px);
	transition: transform 0.8s cubic-bezier(0, 0.55, 0.45, 1) 0s, opacity 0.8s linear 0s;
}
.active .fx-fade-bottom,
.fx-fade-bottom.active {
	opacity: 1 !important;
	transform: translateY(0px) !important;
}
.fx-fade-right {
	opacity: 0;
	transform: translateX(30px);
	transition: transform 0.8s cubic-bezier(0, 0.55, 0.45, 1) 0s, opacity 0.8s linear 0s;
}
.active .fx-fade-right,
.fx-fade-right.active {
	opacity: 1 !important;
	transform: translateX(0px) !important;
}
.fx-heading > span,
.fxi-heading > span {
	display: block;
	overflow: hidden;
}
.fx-heading > span > span,
.fxi-heading > span > span {
	display: block;
	transform: translateY(90%);
	transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1) 0s;
}
.fx-heading > span:nth-child(2) > span,
.fxi-heading > span:nth-child(2) > span {
	transition-delay: 0.3s;
}
.fx-heading > span:nth-child(3) > span,
.fxi-heading > span:nth-child(3) > span {
	transition-delay: 0.6s;
}
.active .fx-heading > span > span,
.fx-heading.active > span > span {
	transform: translateY(0%) !important;
}

/*============================================================
	CONTENT
*/
.content {
	position: relative;
	background-color: #f5ebdd;
}

/*============================================================
	CONTAINER
*/
.container {
	position: relative;
	margin: 0 auto;
	padding-left: 50px;
	padding-right: 50px;
	max-width: 1100px;
}
/* SP */
@media screen and (max-width: 767px) {
	.container {
		padding-left: 15px;
		padding-right: 15px;
	}
}

/*============================================================
	HEADER
*/
#header {
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
}
#header h1 {
	position: absolute;
	top: 0;
	left: 0;
	width: 344px;
	height: 100px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
}
#header h1 a {
	top: 50%;
	left: 29px;
	display: flex;
	align-items: flex-end;
}
#header h1 .logo {
	display: block;
	width: 160px;
}
#header h1 .logo span {
	display: block;
	overflow: hidden;
	padding: 31.25% 0 0 0;
	height: 0;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
}
#header h1 .en {
	display: block;
	margin: 0 0 0 20px;
	font-size: 11px;
	line-height: 1.36;
	letter-spacing: 1px;
}
#header .nav-entry {
	display: flex;
	position: absolute;
	top: 30px;
	right: 93px;
	height: 40px;
	text-align: center;
}
#header .nav-entry .nav-entry-block {
	display: flex;
}
#header .nav-entry > ul {
	display: flex;
}
#header .nav-entry .nav-control-opener {
	padding: 0 13px;
	height: 40px;
	position: relative;
	z-index: 1001;
	font-size: 17px;
	line-height: 40px;
	cursor: default;
}
#header .nav-entry .nav-year {
	visibility: hidden;
	transform: translateY(-10px);
	opacity: 0;
	transition: all 0.4s;
	font-size: 15px;
	line-height: 1.6;
}
#header .nav-entry .nav-year a {
	display: block;
}
#header .nav-entry .show .nav-year {
	visibility: visible;
	transform: translateY(-4px);
	opacity: 1;
}
#header .nav-entry .internship {
	padding: 0 17px 0 0;
}
#header .nav-entry .internship a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0 0 0.3em;
	width: 130px;
	height: 40px;
	border: 1px solid #000;
	border-radius: 999px;
	background-color: #fff;
	font-size: 14px;
}
#header .nav-entry .sns {
	display: flex;
	margin: 2px 8px 0 0;
	gap: 4px;
}
#header .nav-entry .sns a {
	display: block;
}
#header .nav-entry .sns img {
	width: 36px;
}
#header .megamenu-toggle {
	position: absolute;
	top: 20px;
	right: 20px;
	display: block;
	width: 60px;
	height: 60px;
	background-color: #000;
	border-radius: 12px;
	text-align: center;
	font-size: 11px;
	line-height: 1;
	color: #fff;
}
#header .megamenu-toggle i {
	position: absolute;
	top: 21px;
	left: 12px;
	width: 36px;
}
#header .megamenu-toggle i::before,
#header .megamenu-toggle i::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background-color: #fff;
	height: 2px;
	transition: all 0.3s;
}
#header .megamenu-toggle i::before {
	margin: -5px 0 0 0;
	width: 100%;
}
#header .megamenu-toggle i::after {
	margin: 5px 0 0 0;
	width: 23px;
}
#header .megamenu-toggle > span {
	display: block;
	position: absolute;
	bottom: 12px;
	left: 0;
	width: 100%;
}
#header .megamenu-toggle > span span {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	transition: opacity 0.3s;
}
#header .megamenu-toggle > span span:last-child {
	opacity: 0;
}
/**/
.megamenu-opened #header .megamenu-toggle i::before,
.megamenu-opened #header .megamenu-toggle i::after {
	margin: 0;
	width: 100%;
}
.megamenu-opened #header .megamenu-toggle i::before {
	transform: rotate(-20deg);
}
.megamenu-opened #header .megamenu-toggle i::after {
	transform: rotate(20deg);
}
.megamenu-opened #header .megamenu-toggle > span span:first-child {
	opacity: 0;
}
.megamenu-opened #header .megamenu-toggle > span span:last-child {
	opacity: 1;
}
/* HOVER */
.os-pc #header .nav-entry ul a {
	transition: opacity 0.3s ease;
}
.os-pc #header .nav-entry ul a:hover {
	opacity: 0.5;
}
.os-pc #header .nav-entry .internship a {
	transition: background-color 0.3s ease, color 0.3s ease;
}
.os-pc #header .nav-entry .internship a:hover {
	background-color: #000;
	color: #fff;
}
.os-pc #header .nav-entry .sns a {
	transition: opacity 0.3s ease;
}
.os-pc #header .nav-entry .sns a:hover {
	opacity: 0.5;
}
.os-pc #header .megamenu-toggle {
	transition: background-color 0.3s ease;
}
.os-pc #header .megamenu-toggle:hover {
	background-color: #444;
}

@media screen and (max-width: 880px) {
	#header .nav-entry {
		display: none;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	#header h1 {
		height: 66px;
	}
	#header h1 a {
		top: 55%;
		left: 15px;
	}
	#header h1 .logo {
		width: 106px;
	}
	#header h1 .en {
		margin: 0 0 0 20px;
		font-size: 14px;
		transform: scale(0.5);
		transform-origin: 0 50%;
	}
	#header .megamenu-toggle {
		top: 10px;
		right: 10px;
		width: 56px;
		height: 56px;
		border-radius: 8px;
		font-size: 12px;
	}
	#header .megamenu-toggle i {
		top: 19px;
		left: 12px;
		width: 32px;
	}
	#header .megamenu-toggle i::before {
		margin: -4px 0 0 0;
	}
	#header .megamenu-toggle i::after {
		margin: 5px 0 0 0;
		width: 20px;
	}
	#header .megamenu-toggle > span {
		bottom: 11px;
		transform: scale(0.9);
	}
}

/*============================================================
	MEGAMENU
*/
#megamenu {
	overflow: hidden;
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
}
.megamenu-active #megamenu {
	height: calc(var(--vh, 1vh) * 100);
}
#megamenu .bg {
	position: absolute;
	left: 0;
	top: -10px;
	bottom: -10px;
	width: 100%;
}
#megamenu .bg svg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#megamenu .bg .bg-mask1 {
	fill: #e94829;
}
#megamenu .bg .bg-mask2 {
	fill: #1bb8ce;
}
#megamenu .bg .bg-mask3 {
	fill: #fff;
}
#megamenu .scroll {
	height: 100%;
}
#megamenu .ornament {
}
#megamenu .ornament::before,
#megamenu .ornament::after {
	content: '';
	display: block;
	position: absolute;
}
#megamenu .ornament::before {
	top: 50%;
	left: 50%;
	margin: -270px 0 0 480px;
	width: 280px;
	height: 140px;
}
#megamenu .ornament::after {
	top: 50%;
	right: 50%;
	margin: 200px 470px 0 0;
	width: 240px;
	height: 140px;
}
@media screen and (max-width: 1360px) {
	#megamenu .ornament::after {
		right: auto;
		left: -30px;
		margin: 200px 0 0 0;
	}
}
#megamenu .container {
	display: flex;
	align-items: center;
	padding: 30px;
	max-width: 1060px;
	height: 100%;
}
#megamenu .outer {
	width: 100%;
}
#megamenu .nav-entry {
	display: none;
}
#megamenu .nav-content {
	display: table;
	width: 100%;
}
#megamenu .nav-content .block {
	display: table-cell;
}
#megamenu .nav-content .block .heading {
	margin: 0 0 18px 0;
}
#megamenu .nav-content .block .heading h2 {
	font-size: 20px;
}
#megamenu .nav-content .block .heading h3 {
	margin: 4px 0 0 0;
	font-size: 13px;
}
#megamenu .nav-content .block ul {
	font-size: 14px;
	color: #c8c8c8;
}
#megamenu .nav-content .block ul li {
	margin: 0 0 6px 0;
}
#megamenu .nav-content .block ul li a {
	color: #787878;
}
#megamenu .nav-content .block ul li a i {
	padding: 0 0 0 0.3em;
}
#megamenu .news-sp {
	display: none;
}
#megamenu .news-pc {
	margin: 20px 0 0 0;
	padding: 28px 0 0 0;
	border-top: 1px solid #d2d2d2;
}
#megamenu .news-pc h3 {
	margin: 0 0 10px 0;
	font-size: 26px;
	line-height: 1;
}
#megamenu .news-pc dl {
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 13px;
	line-height: 1.3;
}
#megamenu .news-pc dl dt {
	margin: 0 15px 0 0;
}
#megamenu .news-pc dl dd a {
	text-decoration: underline;
}
#megamenu .news-pc .slider {
	width: 100%;
}
#megamenu .news-pc .slider .slick-dots {
	display: table;
	margin: 10px 0 0 -5px;
}
#megamenu .news-pc .slider .slick-dots li {
	display: table-cell;
	vertical-align: top;
}
#megamenu .news-pc .slider .slick-dots li button {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	background-color: transparent;
	border: 0;
	border-radius: 0;
	outline: 0;
	color: transparent;
	font-size: 0;
	line-height: 0;
	width: 20px;
	height: 20px;
}
#megamenu .news-pc .slider .slick-dots li button::before {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #cbcbcb;
}
#megamenu .news-pc .slider .slick-dots li.slick-active button::before {
	width: 9px;
	height: 9px;
	background-color: #000;
}
#megamenu .news-pc .slider .slick-track .slick-slide {
	transition: opacity 0.4s ease !important;
	opacity: 0 !important;
}
#megamenu .news-pc .slider .slick-track .slick-slide.block-current {
	opacity: 1 !important;
}
#megamenu .nav-entry .foot {
	display: none;
}
/* HOVER */
.os-pc #megamenu .nav-content a {
	transition: opacity 0.3s ease;
}
.os-pc #megamenu .nav-content a:hover {
	opacity: 0.5;
}
.os-pc #megamenu .news-pc .ctr a {
	transition: all 0.3s ease;
}
.os-pc #megamenu .news-pc .ctr a:hover {
	background-color: #000;
	color: #fff;
}
@media screen and (min-width: 980px) {
	#megamenu .news-pc dl dd {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}
/* TB */
@media screen and (max-width: 979px) {
	#megamenu .ornament {
		display: none;
	}
	#megamenu .container {
		display: block;
		padding: 100px 0 0 0;
	}
	#megamenu .nav-content {
		display: block;
		padding: 0 20px;
	}
	#megamenu .nav-content .block {
		display: block;
		border-top: 1px solid #d2d2d2;
	}
	#megamenu .nav-content .block:last-child {
		border-bottom: 1px solid #d2d2d2;
	}
	#megamenu .nav-content .block .heading {
		display: flex;
		margin: 0;
		padding: 20px 0 10px 0;
	}
	#megamenu .nav-content .block .heading h3 {
		padding: 0 0 0 15px;
	}
	#megamenu .nav-content .block ul {
		display: flex;
		flex-wrap: wrap;
		padding: 0 0 10px 0;
	}
	#megamenu .nav-content .block ul li {
		margin: 0 30px 10px 0;
	}
	#megamenu .news-pc {
		overflow: hidden;
		position: relative;
		margin: 0;
		padding: 20px 20px 40px 20px;
		border-top: 0;
		min-height: 140px;
	}
	#megamenu .news-pc .slider .slick-dots {
		margin: 0 auto;
		margin-top: 10px;
	}
	#megamenu .news-pc::before,
	#megamenu .news-pc::after {
		content: '';
		display: block;
		position: absolute;
	}
	#megamenu .news-pc::before {
		bottom: 0;
		right: -70px;
		width: 130px;
		height: 65px;
		background-size: contain;
	}
	#megamenu .news-pc::after {
		bottom: 0;
		left: -50px;
		width: 110px;
		height: 64px;
		background-size: contain;
	}
}
@media screen and (min-width: 768px) {
	#megamenu .nav-content .block .list {
		height: auto !important;
	}
}
@media screen and (max-width: 880px) {
	#megamenu .outer {
		padding: 0 0 140px 0;
	}
	#megamenu .nav-entry {
		display: none;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		background-color: #fff;
		font-family: 'Montserrat', sans-serif;
		opacity: 0;
	}
	.megamenu-active #megamenu .nav-entry {
		display: flex;
	}
	#megamenu .nav-entry ul {
		display: flex;
		flex: 1;
		font-size: 14px;
		line-height: 1.3;
	}
	#megamenu .nav-entry ul li {
		flex-basis: 25%;
	}
	#megamenu .nav-entry ul li a {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 55px;
		background-color: #1bb8ce;
		line-height: 1.2;
		border-right: 1px solid #fff;
		text-align: center;
		font-weight: 700;
		color: #fff;
	}
	#megamenu .nav-entry ul li:nth-child(1) a,
	#megamenu .nav-entry ul li:nth-child(2) a {
		background-color: #e94829;
	}
	#megamenu .nav-entry ul li a span {
		display: block;
		font-weight: 700;
	}
	#megamenu .nav-entry ul li a span .en {
		font-size: 15px;
	}
	#megamenu .nav-entry ul li:last-child a {
		border-right: 0;
	}
	#megamenu .nav-entry .foot {
		display: flex;
		align-items: center;
		padding: 0 15px;
		border-top: 1px solid #ccc;
	}
	#megamenu .nav-entry .internship {
		flex: 1;
		padding-right: 15px;
	}
	#megamenu .nav-entry .internship a {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 0 0 0.3em;
		min-width: 140px;
		height: 36px;
		border: 1px solid #000;
		border-radius: 999px;
		font-size: 14px;
	}
	#megamenu .nav-entry .sns {
		display: flex;
		gap: 8px;
	}
	#megamenu .nav-entry .sns a {
		display: block;
	}
	#megamenu .nav-entry .sns img {
		width: 36px;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	#megamenu .container {
		padding: 84px 0 0 0;
	}
	#megamenu .outer {
		padding: 0 0 160px 0;
	}
	#megamenu .nav-content {
		padding: 0 25px;
	}
	#megamenu .nav-content .block:last-child {
		border-bottom: 1px solid #d2d2d2;
	}
	#megamenu .nav-content .block .heading {
		display: block;
		position: relative;
		padding: 15px 0;
	}
	#megamenu .nav-content .block .heading h3 {
		padding: 0;
	}
	#megamenu .nav-content .block .heading i {
		display: block;
		position: absolute;
		top: 50%;
		right: 0;
		margin: -8px 0 0 0;
		width: 17px;
		height: 17px;
	}
	#megamenu .nav-content .block .heading i::before,
	#megamenu .nav-content .block .heading i::after {
		content: '';
		display: block;
		position: absolute;
		background-color: #000;
	}
	#megamenu .nav-content .block .heading i::before {
		top: 8px;
		left: 0;
		width: 100%;
		height: 1px;
	}
	#megamenu .nav-content .block .heading i::after {
		top: 0;
		left: 8px;
		width: 1px;
		height: 100%;
	}
	#megamenu .nav-content .block.opened .heading i::after {
		display: none;
	}
	#megamenu .nav-content .block .list {
		overflow: hidden;
		height: 0;
	}
	#megamenu .nav-content .block ul {
		display: block;
		padding: 0 0 10px 0;
	}
	#megamenu .news-pc {
		display: none;
	}
	#megamenu .news-sp {
		position: relative;
		display: block;
		margin: 0 0 25px 0;
		padding: 15px 25px 20px 25px;
		background-color: #f5ebdd;
	}
	#megamenu .news-sp .base {
		display: none;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	#megamenu .news-sp.news-more .base {
		display: block;
	}
	#megamenu .news-sp .single {
		position: relative;
		pointer-events: none;
	}
	#megamenu .news-sp .single i {
		display: none;
		position: absolute;
		top: 50%;
		right: 0;
		margin: -8px 0 0 0;
		width: 17px;
		height: 17px;
	}
	#megamenu .news-sp.news-more .single i {
		display: block;
	}
	#megamenu .news-sp .single i::before,
	#megamenu .news-sp .single i::after {
		content: '';
		display: block;
		position: absolute;
		background-color: #000;
	}
	#megamenu .news-sp .single i::before {
		top: 8px;
		left: 0;
		width: 100%;
		height: 1px;
	}
	#megamenu .news-sp .single i::after {
		top: 0;
		left: 8px;
		width: 1px;
		height: 100%;
	}
	#megamenu .news-sp .list {
		overflow: hidden;
		height: 0;
		pointer-events: none;
	}
	#megamenu .news-sp h3 {
		font-size: 22px;
	}
	#megamenu .news-sp dl {
		display: flex;
		padding-right: 25px;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 500;
		font-size: 13px;
	}
	#megamenu .news-sp dl a {
		pointer-events: auto;
	}
	#megamenu .news-sp dl dt {
		width: 86px;
	}
	#megamenu .news-sp dl dd {
		flex: 1;
	}
	.megamenu-active #megamenu .nav-entry {
		display: block;
	}
	#megamenu .nav-entry .foot {
		padding: 10px 15px;
		border-top: 0;
	}
	#megamenu .nav-entry .internship a {
		height: 46px;
	}
}

/*============================================================
	FOOTER
*/
#footer {
	padding: 80px 0 100px 0;
	border-top: 1px solid #d2d2d2;
	background-color: #fff;
	line-height: 1.2;
}
#footer .container {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	max-width: 1220px;
}
#footer .corporation {
	flex-basis: 280px;
}
#footer .corporation h2 {
	display: flex;
	margin: 0 0 20px 0;
}
#footer .corporation h2 a {
	display: block;
}
#footer .corporation h2 .logo {
	display: block;
	margin: 0 0 8px -2px;
	width: 160px;
}
#footer .corporation h2 .logo span {
	display: block;
	overflow: hidden;
	padding: 31.25% 0 0 0;
	height: 0;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
}
#footer .corporation h2 .en {
	display: block;
	font-size: 14px;
	line-height: 1.36;
}
#footer .nav-entry {
	display: flex;
	flex-wrap: wrap;
}
#footer .nav-entry .nav-entry-block {
	display: flex;
}
#footer .nav-entry .internship {
	margin: 0 0 15px 0;
	padding: 5px 0 0 0;
}
#footer .nav-entry .internship a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0 0 0.3em;
	width: 118px;
	height: 36px;
	border: 1px solid #000;
	border-radius: 999px;
	font-size: 13px;
}
#footer .nav-entry .sns {
	display: flex;
	gap: 6px;
	margin: 5px 0 0 15px;
}
#footer .nav-entry .sns a {
	display: block;
}
#footer .nav-entry .sns img {
	width: 36px;
}
#footer .nav-entry > ul {
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	flex-basis: 100%;
}
#footer .nav-entry > ul > li {
	display: flex;
	align-items: center;
	margin: 0 0 5px 0;
}
#footer .nav-control-opener {
	width: 90px;
	font-size: 19px;
	opacity: 1 !important;
	cursor: initial;
	pointer-events: none;
}
#footer .nav-entry .nav-year {
	display: flex;
	font-size: 15px;
	line-height: 1.2;
}
#footer .nav-entry .nav-year li {
	position: relative;
	padding: 0 12px 0 13px;
}
#footer .nav-entry .nav-year li::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.1em;
	bottom: 0.2em;
	left: 0;
	width: 1px;
	background-color: #000;
}
#footer .nav-entry .nav-year li:first-child::before {
	content: none;
}
#footer .nav-corporate {
	margin: 20px 0 0 0;
}
#footer .nav-corporate ul {
	font-size: 11px;
}
#footer .nav-corporate ul li {
	margin: 0 0 10px 0;
}
#footer .nav-corporate .credit {
	margin: 35px 0 10px 0;
}
#footer small {
	display: block;
	margin: 20px 0 0 0;
	font-size: 11px;
}
#footer .nav-content {
	display: flex;
	padding: 10px 0 0 0;
}
#footer .nav-content .block {
	padding: 0 0 0 35px;
}
#footer .nav-content .block .heading {
	margin: 0 0 18px 0;
}
#footer .nav-content .block .heading h2 {
	font-size: 17px;
}
#footer .nav-content .block .heading h3 {
	margin: 4px 0 0 0;
	font-size: 11px;
}
#footer .nav-content .block ul {
	font-size: 11px;
}
#footer .nav-content .block ul li {
	margin: 0 0 10px 0;
	color: #c8c8c8;
}
#footer .nav-content .block ul li a {
	color: #787878;
}
#footer .nav-content .block ul li a i {
	padding: 0 0 0 0.3em;
}
#footer footer {
	padding: 25px 0;
	background-color: #ababab;
}
#footer footer small {
	display: block;
	width: 400px;
}
/* HOVER */
.os-pc #footer .nav-entry ul a,
.os-pc #footer .nav-corporate a,
.os-pc #footer .nav-content a {
	transition: opacity 0.3s ease;
}
.os-pc #footer .nav-entry ul a:hover,
.os-pc #footer .nav-corporate a:hover,
.os-pc #footer .nav-content a:hover {
	opacity: 0.5;
}
.os-pc #footer .nav-entry .internship a {
	transition: background-color 0.3s ease, color 0.3s ease;
}
.os-pc #footer .nav-entry .internship a:hover {
	background-color: #000;
	color: #fff;
}
.os-pc #footer .nav-entry .sns a {
	transition: opacity 0.3s ease;
}
.os-pc #footer .nav-entry .sns a:hover {
	opacity: 0.5;
}
/**/
@media screen and (min-width: 769px) and (max-width: 1160px) {
	#footer .nav-entry > ul > li {
		display: block;
	}
	#footer .nav-entry .nav-year {
		margin: 5px 0 5px -13px;
	}
}
/**/
@media screen and (max-width: 1059px) {
	#footer .nav-content {
		display: block;
		flex: 1;
		margin: 0 -20px 0 0;
	}
	#footer .nav-content .block {
		padding: 0 0 20px 20px;
	}
	#footer .nav-content .block .heading {
		display: flex;
		margin: 0 0 15px 0;
	}
	#footer .nav-content .block .heading h3 {
		padding: 0 0 0 20px;
	}
	#footer .nav-content .block ul {
		display: flex;
		flex-wrap: wrap;
	}
	#footer .nav-content .block ul li {
		margin: 0 20px 10px 0;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	#footer {
		padding: 45px 0 50px 0;
	}
	#footer .container {
		display: block;
		padding: 0 25px;
	}
	#footer .nav-content {
		display: none;
	}
}

/*============================================================
	PAGETOP
*/
#pagetop {
	position: fixed;
	z-index: 100;
	bottom: 40px;
	right: 0;
	width: 80px;
}
#pagetop .in {
	transition: transform 0.4s ease;
	transform: translateX(80px);
}
#pagetop a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0 0.1em 0;
	width: 50px;
	height: 50px;
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 999px;
	font-size: 18px;
	color: #000;
}
.pagetop-active #pagetop .in {
	transform: translateX(0px);
}
/* HOVER */
.os-pc #pagetop a {
	transition: all 0.3s ease;
}
.os-pc #pagetop a:hover {
	background-color: #000;
	color: #fff;
}
/* SP */
@media screen and (max-width: 767px) {
	#pagetop {
		bottom: 25px;
		width: 55px;
	}
	#pagetop .in {
		transform: translateX(75px);
	}
	#pagetop a {
		width: 40px;
		height: 40px;
		font-size: 16px;
	}
}

/*============================================================
	BUTTON
*/
.cmn-btn-primary {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 40px;
	height: 70px;
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 999px;
	font-weight: 700;
	font-family: 'TazuganeGothicStdN-Bold', sans-serif;
	font-size: 18px;
	color: #000;
}
.cmn-btn-primary.spacing {
	padding: 0;
}
.cmn-btn-primary::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	font-size: 14px;
	font-family: 'icon';
	content: "\e904";
}
.cmn-btn-primary[target="_blank"]::after {
	content: "\e908";
}
.cmn-btn-primary:hover {
	background-color: #000;
	color: #fff;
}
/* HOVER */
.os-pc .cmn-btn-primary {
	transition: all 0.3s ease;
}
.os-pc .cmn-btn-primary:hover {
	background-color: #000;
	color: #fff;
}
/* SP */
@media screen and (max-width: 767px) {
	.cmn-btn-primary {
		height: 60px;
		font-size: 15px;
	}
	.cmn-btn-primary::after {
		right: 20px;
		font-size: 15px;
	}

}

/*============================================================
	MORE NAV
*/
.cmn-more-nav {
	text-align: center;
}
.cmn-more-nav h2 {
	padding: 0 0 10px 0;
	font-size: 27px;
	line-height: 1.3;
}
.cmn-more-nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -10px;
}
.cmn-more-nav ul li {
	flex-basis: 440px;
	margin: 20px 0 0 0;
	padding: 0 10px;
}
/* TB */
@media screen and (max-width: 979px) {
	.cmn-more-nav ul {
		display: block;
		margin: 0 auto;
		max-width: 420px;
	}
	.cmn-more-nav ul li {
		margin: 20px 0 0 0;
		padding: 0;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.cmn-block + .cmn-more-nav {
		margin-top: 30px;
	}
	.cmn-more-nav h2 {
		margin: 0 0 10px 0;
		font-size: 16px;
		line-height: 1.5;
	}
	.cmn-more-nav ul {
		max-width: 100%;
	}
	.cmn-more-nav ul li {
		margin: 10px 0 0 0;
	}
}

/*============================================================
	HERO
*/
.cmn-hero {
	overflow: hidden;
	position: relative;
	display: flex;
	align-items: center;
	height: 460px;
	background-color: #fff;
	text-align: center;
}
.cmn-hero::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: 50% 50%;
	background-size: cover;
}
.cmn-hero .headline {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 140px;
	font-size: 45px;
	line-height: 1.3;
	color: #fff;
}
.cmn-hero .headline::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
}
.cmn-hero .headline h2 {
	overflow: hidden;
	position: relative;
}
.cmn-hero .headline h2 > span {
	display: block;
}
.cmn-hero .headline h2 > span > span {
	display: block;
}
.cmn-hero .headline h2.sp {
	display: none;
}
.cmn-hero .caption {
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 0 15px 15px 0;
	font-size: 12px;
	line-height: 1.2;
	color: #fff;
}
/* ANIM */
.cmn-hero::before {
	opacity: 0;
	transform: scale(1.1);
	transition: transform 1s cubic-bezier(0.65, 0, 0.35, 1) 0s, opacity 1s linear 0s;
}
.dom-loaded .cmn-hero::before {
	opacity: 1;
	transform: scale(1);
}
.cmn-hero .headline::before {
	opacity: 0;
	transform: scale(0.2);
	transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) 0s, opacity 0.8s ease 0s;
}
.dom-loaded .cmn-hero .headline::before {
	opacity: 1;
	transform: scale(1);
}
.cmn-hero .headline h2 > span > span {
	transform: translateY(100%);
	transition: transform 1s cubic-bezier(0.65, 0, 0.35, 1) 0s;
}
.dom-loaded .cmn-hero .headline h2 span {
	transform: translateY(0%);
}
/* SP */
@media screen and (max-width: 767px) {
	.cmn-hero {
		height: 230px;
	}
	.cmn-hero .headline {
		height: 70px;
		font-size: 22px;
	}
	.cmn-hero .headline h2.pc {
		display: none;
	}
	.cmn-hero .headline h2.sp {
		display: block;
	}
	.cmn-hero .caption {
		padding: 0 10px 10px 0;
		font-size: 10px;
	}
}

/*============================================================
	MAIN
*/
.cmn-main-special {

}
.cmn-main-special .heading {
	text-align: center;
}
.cmn-main-special .heading h2 {
	font-size: 18px;
	line-height: 1;
}
.cmn-main-special .heading h3 {
	display: flex;
	justify-content: center;
	margin: 20px 0 0 0;
	font-size: 36px;
	line-height: 1.2;
}
.cmn-main-special .heading h3 span {
	display: block;
	position: relative;
	padding: 0 50px;
}
.cmn-main-special .heading h3 span::before,
.cmn-main-special .heading h3 span::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	width: 40px;
	height: 40px;
	background-size: contain;
}
.cmn-main-special .heading h3 span::before {
	left: 0;
}
.cmn-main-special .heading h3 span::after {
	right: 0;
}
/**/
.cmn-main-special .heading {
	transform: scale(0.4);
	opacity: 0;
	transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) 0s, opacity 0.8s ease 0s;
}
.cmn-main-special.active .heading {
	transform: scale(1);
	opacity: 1;
}
/* SP */
@media screen and (max-width: 767px) {
	.cmn-main-special .heading h2 {
		font-size: 14px;
	}
	.cmn-main-special .heading h3 {
		margin: 12px 0 0 0;
		font-size: 25px;
	}
	.cmn-main-special .heading h3 span {
		padding: 0 36px;
	}
	.cmn-main-special .heading h3 span::before,
	.cmn-main-special .heading h3 span::after {
		bottom: -6px;
		width: 30px;
		height: 30px;
	}
}

/*============================================================
	BREADCRUMBS
*/
.cmn-breadcrumbs {
	position: absolute;
	z-index: 5;
	top: 0;
	left: 0;
	padding: 20px 0 0 30px;
	font-size: 16px;
	line-height: 1.3;
}
.cmn-breadcrumbs h3 {
	margin: 10px 0 0 0;
	font-size: 30px;
}
/* SP */
@media screen and (max-width: 767px) {
	.cmn-breadcrumbs {
		padding: 10px 0 0 15px;
		font-size: 12px;
	}
	.cmn-breadcrumbs h3 {
		margin: 5px 0 0 0;
		font-size: 20px;
	}
}

/*============================================================
	BEGINNING
*/
.cmn-beginning {
	padding: 70px 0;
	text-align: center;
	background-color: #fff;
}
.cmn-beginning h2 {
	font-size: 45px;
	line-height: 1.4;
}
.cmn-beginning h2 > span {
	display: block;
	overflow: hidden;
}
.cmn-beginning h2 > span > span {
	display: block;
}
.cmn-beginning .sp,
.cmn-beginning .tb {
	display: none;
}
.cmn-beginning .pc {
	display: block;
}
.cmn-beginning .lead {
	margin: 20px 0 0 0;
	font-size: 17px;
	line-height: 1.8;
}
/* ANIM */
.cmn-beginning h2 > span > span {
	transform: translateY(90%);
	transition: transform 1s cubic-bezier(0.65, 0, 0.35, 1) 0s;
}
.cmn-beginning h2 > span:nth-child(2) > span {
	transition-delay: 0.3s;
}
.cmn-beginning h2 > span:nth-child(3) > span {
	transition-delay: 0.6s;
}
.cmn-beginning.active h2 > span > span {
	transform: translateY(0%);
}
.cmn-beginning .lead {
	opacity: 0;
	transition: opacity 1s linear 0.6s;
}
.cmn-beginning .lead.fx-delay2 {
	transition-delay: 0.9s;
}
.cmn-beginning.active .lead {
	opacity: 1;
}
/* TB */
@media screen and (max-width: 979px) {
	.cmn-beginning .sp,
	.cmn-beginning .pc {
		display: none;
	}
	.cmn-beginning .tb {
		display: block;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.cmn-beginning {
		padding: 40px 25px;
	}
	.cmn-beginning h2 {
		font-size: 25px;
	}
	.cmn-beginning .tb,
	.cmn-beginning .pc {
		display: none;
	}
	.cmn-beginning .sp {
		display: block;
	}
	.cmn-beginning .lead {
		margin: 15px 0 0 0;
		text-align: left;
		font-size: 15px;
	}
	.cmn-beginning .lead br {
		display: none;
	}
}

/*============================================================
	ANCHOR
*/
.cmn-nav-anchor {
	padding: 40px 0 10px 0;
	background-color: #ebdcc3;
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: 0.06em;
}
.cmn-nav-anchor ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	margin: 0 auto;
}
.cmn-nav-anchor ul li {
	padding: 0 15px 20px 15px;
}
.cmn-nav-anchor ul li a {
	display: block;
}
.cmn-nav-anchor ul li a i {
	display: block;
	margin: 3px 0 0 0;
}
/* HOVER */
.os-pc .cmn-nav-anchor ul li a {
	transition: opacity 0.3s ease;
}
.os-pc .cmn-nav-anchor ul li a:hover {
	opacity: 0.5;
}
/* SP */
@media screen and (max-width: 767px) {
	.cmn-nav-anchor {
		padding: 30px 0 10px 0;
		font-size: 14px;
	}
	.cmn-nav-anchor ul li {
		padding: 0 15px 15px 15px;
	}
}

/*============================================================
	TAB
*/
.cmn-nav-tab {
}
.cmn-nav-tab ul {
	display: flex;
	justify-content: center;
	margin: 0 -10px;
	font-size: 25px;
	line-height: 1.3;
}
.cmn-nav-tab.tab-head ul {
	padding: 0 0 30px 0;
}
.cmn-nav-tab.tab-foot ul {
	padding: 30px 0 0 0;
}
.cmn-nav-tab ul li {
	padding: 0 10px;
}
.cmn-nav-tab ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 10px 0;
	min-height: 70px;
	background-color: #fff;
	border: 1px solid #fff;
	transition: all 0.3s ease;
}
.cmn-nav-tab.tab-border ul li a {
	border-color: #000;
}
.cmn-nav-tab ul li a.current {
	background-color: #000;
	border-color: #000;
	color: #fff;
	cursor: default;
}
.cmn-nav-tab ul li a.current::before {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	margin: 0 0 0 -15px;
	width: 0;
	height: 0;
	border-style: solid;
}
.cmn-nav-tab.tab-head ul li a.current::before {
	top: 100%;
	border-width: 20px 15px 0 15px;
	border-color: #000 transparent transparent transparent;
}
.cmn-nav-tab.tab-foot ul li a.current::before {
	bottom: 100%;
	border-width: 0 15px 20px 15px;
	border-color: transparent transparent #000 transparent;
}
/* HOVER */
.os-pc .cmn-nav-tab ul li a:hover {
	background-color: #000;
	border-color: #000;
	color: #fff;
}
/* SP */
@media screen and (max-width: 767px) {
	.cmn-nav-tab ul {
		margin: 0 -5px;
		font-size: 15px;
	}
	.cmn-nav-tab.tab-head ul {
		padding: 0 0 15px 0;
	}
	.cmn-nav-tab.tab-foot ul {
		padding: 15px 0 0 0;
	}
	.cmn-nav-tab ul li {
		padding: 0 5px;
	}
	.cmn-nav-tab ul li a {
		padding: 5px 0;
	}
	.cmn-nav-tab ul li a.current::before {
		margin: 0 0 0 -9px;
	}
	.cmn-nav-tab.tab-head ul li a.current::before {
		border-width: 12px 9px 0 9px;
	}
	.cmn-nav-tab.tab-foot ul li a.current::before {
		border-width: 0 9px 12px 9px;
	}
}

/*============================================================
	HEADING
*/
/* 下線飾りあり */
.cmn-heading h2 {
	text-align: center;
	font-size: 40px;
	line-height: 1.3;
}
.cmn-heading h2::after {
	content: '';
	display: block;
	margin: 20px auto 0 auto;
	width: 150px;
	height: 6px;
	background-size: contain;
}
.cmn-heading h2 > span {
	display: block;
}
.cmn-heading h2 > span > span {
	display: block;
}

/* 横線飾りあり */
.cmn-heading-frontline h2 {
	position: relative;
	padding: 0 0 0 18px;
	font-size: 40px;
	line-height: 1.2;
}
.cmn-heading-frontline h2::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	margin: -20px 0 0 0;
	width: 6px;
	height: 40px;
	background-size: cover;
}
.cmn-heading-frontline h2 > span {
	display: block;
}
.cmn-heading-frontline h2 > span > span {
	display: block;
}
/* 背景2重ライン */
.cmn-heading-doubleline h2 {
	position: relative;
	display: flex;
	justify-content: center;
	font-size: 40px;
	line-height: 1.2;
}
.cmn-heading-doubleline h2::before,
.cmn-heading-doubleline h2::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #000;
}
.cmn-heading-doubleline h2::before {
	margin: -4px 0 0 0;
}
.cmn-heading-doubleline h2::after {
	margin: 2px 0 0 0;
}
.cmn-heading-doubleline h2 > span {
	overflow: hidden;
	position: relative;
	z-index: 1;
	display: block;
	padding: 0 1em;
	background-color: #f5ebdd;
}
.cmn-heading-doubleline h2 > span > span {
	display: block;
}
/* 枠囲み */
.cmn-heading-border h2 {
	display: flex;
	justify-content: center;
	font-size: 40px;
	line-height: 1.3;
}
.cmn-heading-border h2 > span {
	display: block;
	position: relative;
	overflow: hidden;
	padding: 15px 30px;
}
.cmn-heading-border h2 > span::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	border: 2px solid #000;
}
.cmn-heading-border h2 > span > span {
	display: block;
	position: relative;
}
/* カギ括弧 */
.cmn-heading-brackets h2 {
	position: relative;
	text-align: center;
	font-size: 38px;
	line-height: 1.4;
}
.cmn-heading-brackets h2::before,
.cmn-heading-brackets h2::after {
	content: '';
	display: block;
	position: absolute;
	width: 38px;
	height: 38px;
	background-size: contain;
}
.cmn-heading-brackets h2::before {
	top: 0.2em;
	left: 0;
}
.cmn-heading-brackets h2::after {
	bottom: 0.2em;
	right: 0;
}
.cmn-heading-brackets h2 > span {
	display: block;
}
.cmn-heading-brackets h2 > span > span {
	display: block;
}
.cmn-heading-brackets .tb,
.cmn-heading-brackets .sp {
	display: none;
}
/* TB */
@media screen and (max-width: 979px) {
	/* カギ括弧 */
	.cmn-heading-brackets .pc {
		display: none;
	}
	.cmn-heading-brackets .tb {
		display: block;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	/* 下線飾りあり */
	.cmn-heading h2 {
		font-size: 26px;
	}
	.cmn-heading h2::after {
		margin: 15px auto 0 auto;
		width: 105px;
		height: 5px;
	}
	/* 横線飾りあり */
	.cmn-heading-frontline h2 {
		padding: 0 0 0 14px;
		font-size: 26px;
	}
	.cmn-heading-frontline h2::before {
		margin: -14px 0 0 0;
		width: 4px;
		height: 28px;
	}
	/* 背景2重ライン */
	.cmn-heading-doubleline h2 {
		font-size: 24px;
	}
	.cmn-heading-doubleline h2 span {
		padding: 0 0.6em;
	}
	.cmn-heading-doubleline h2::before,
	.cmn-heading-doubleline h2::after {
		height: 1px;
	}
	.cmn-heading-doubleline h2::before {
		margin: -2px 0 0 0;
	}
	.cmn-heading-doubleline h2::after {
		margin: 2px 0 0 0;
	}
	/* 枠囲み */
	.cmn-heading-border h2 {
		font-size: 20px;
	}
	.cmn-heading-border h2 span {
		padding: 10px 15px;
		border-width: 1px;
	}
	/* カギ括弧 */
	.cmn-heading-brackets h2 {
		font-size: 23px;
	}
	.cmn-heading-brackets h2::before,
	.cmn-heading-brackets h2::after {
		width: 23px;
		height: 23px;
	}
	.cmn-heading-brackets .tb {
		display: none;
	}
	.cmn-heading-brackets .sp {
		display: block;
	}
}

/*============================================================
	BLOCK
*/
.cmn-block {
	margin: 0 0 20px 0;
	padding: 40px;
	border-radius: 15px;
}
.cmn-block:last-child {
	margin: 0;
}
.cmn-block .row {
	display: flex;
	margin: 0 -20px;
}
.cmn-block .row .col {
	flex-basis: 50%;
	padding: 0 20px;
}
.cmn-block .image-list p {
	margin: 10px 0 0 0;
	font-size: 12px;
	line-height: 1.3;
}
/* SP */
@media screen and (max-width: 767px) {
	.cmn-block {
		margin: 0 0 10px 0;
		padding: 25px 20px;
	}
	.cmn-block .row {
		display: block;
		margin: 0;
	}
	.cmn-block .row .col {
		padding: 0;
	}
}

/*============================================================
	MODAL
*/
.cmn-modal-window {
	overflow: hidden;
	display: block;
	position: fixed;
	z-index: 9990;
	top: 0;
	left: 200vw;
	width: 100%;
	height: 0;
}
.cmn-modal-window .overlay {
	position: fixed;
	z-index: 9997;
	top: 0;
	left: 200vw;
	width: 100%;
	height: 0;
	background-color: rgba(256,256,256,0.9);
}
.cmn-modal-window.opened,
.cmn-modal-window.opened .overlay {
	left: 0;
	height: calc(var(--vh, 1vh) * 100);
}
.cmn-modal-window .scroll {
	position: relative;
	overflow-y: scroll;
	height: 100%;
}
.cmn-modal-window .ps__rail-x,
.cmn-modal-window .ps__rail-y {
	opacity: 0 !important;
}
.cmn-modal-window .wrapper {
	position: relative;
	z-index: 9999;
	margin: 0 auto;
	padding: 50px 50px;
	pointer-events: none;
}
.cmn-modal-window .frame {
	position: relative;
	margin: 0 auto;
	padding: 80px 40px 60px 40px;
	max-width: 900px;
	border: 1px solid #000;
	border-radius: 30px;
	background-color: #fff;
	box-shadow: 10px 10px 0px 0px #e94829;
	pointer-events: auto;
}
.cmn-modal-window .block {
	padding: 0 0 0 0;
}
.cmn-modal-window .block .in {
	margin: 0 auto;
	max-width: 700px;
}
.cmn-modal-window .block .foot {
	position: relative;
	margin: 30px 0 0 0;
}
.cmn-modal-window .block .foot a {
	margin: 0 auto;
	width: 300px;
	height: 60px;
}
.cmn-modal-window .close {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 17px;
	line-height: 1.2;
}
.cmn-modal-window .close span {
	display: block;
}
.cmn-modal-window .close i {
	display: block;
	padding: 0 0 0 0.5em;
	font-size: 94%;
}
.cmn-modal-window .close-head {
	position: absolute;
	top: 20px;
	right: 20px;
}
.cmn-modal-window .ctr-foot {
	display: flex;
	justify-content: center;
	margin: 25px -25px 0 -25px;
}
.cmn-modal-window .ctr-foot a {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 25px;
	font-size: 17px;
	line-height: 1.2;
}
.cmn-modal-window .ctr-foot i {
	display: block;
	padding: 0 0.5em;
	font-size: 94%;
}
.cmn-modal-window .ctr-foot .prev {
	flex-direction: row-reverse;
}
/* HOVER */
.os-pc .cmn-modal-window .close,
.os-pc .cmn-modal-window .ctr-foot a {
	transition: opacity 0.3s ease;
}
.os-pc .cmn-modal-window .close:hover,
.os-pc .cmn-modal-window .ctr-foot a:hover {
	opacity: 0.5;
}
/* SP */
@media screen and (max-width: 767px) {
	.cmn-modal-window .wrapper {
		padding: 20px 15px;
	}
	.cmn-modal-window .frame {
		padding: 50px 0 40px 0;
		border-radius: 15px;
		overflow: hidden;
		box-shadow: 5px 5px 0px 0px #e94829;
	}
	.cmn-modal-window .block .in {
		max-width: 100%;
	}
	.cmn-modal-window .block .foot {
		margin: 25px 0 0 0;
	}
	.cmn-modal-window .block .foot a {
		width: 100%;
	}
	.cmn-modal-window .close {
		font-size: 14px;
	}
	.cmn-modal-window .close i {
		padding: 0 0 0 0.5em;
		font-size: 15px;
	}
	.cmn-modal-window .close-head {
		top: 15px;
		right: 15px;
	}
}

/*============================================================
	MODAL MOVIE
*/
.cmn-modal-movie-window {
	overflow: hidden;
	display: block;
	position: fixed;
	z-index: 9990;
	top: 0;
	left: 200vw;
	width: 100%;
	height: 0;
}
.cmn-modal-movie-window .overlay {
	position: fixed;
	z-index: 9997;
	top: 0;
	left: 200vw;
	width: 100%;
	height: 0;
	background-color: rgba(256,256,256,0.9);
}
.cmn-modal-movie-window.opened,
.cmn-modal-movie-window.opened .overlay {
	left: 0;
	height: calc(var(--vh, 1vh) * 100);
}
.cmn-modal-movie-window .scroll {
	position: relative;
	overflow-y: scroll;
	height: 100%;
}
.cmn-modal-movie-window .ps__rail-x,
.cmn-modal-movie-window .ps__rail-y {
	opacity: 0 !important;
}
.cmn-modal-movie-window .wrapper {
	position: relative;
	z-index: 9999;
	margin: 0 auto;
	padding: 70px 50px;
	pointer-events: none;
}
.cmn-modal-movie-window .modal-movie {
	position: relative;
	margin: 0 auto;
	max-width: 900px;
	pointer-events: auto;
}
.cmn-modal-movie-window .player {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 56.25%;
}
.cmn-modal-movie-window .player iframe {
	outline: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.cmn-modal-movie-window .close {
	position: absolute;
	top: -60px;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 999px;
	font-size: 18px;
	color: #000;
}

/* HOVER */
.os-pc .cmn-modal-movie-window .close {
	transition: all 0.3s ease;
}
.os-pc .cmn-modal-movie-window .close:hover {
	background-color: #000;
	color: #fff;
}
/* SP */
@media screen and (max-width: 767px) {
	.cmn-modal-movie-window .wrapper {
		padding: 20px 0;
	}
	.cmn-modal-movie-window .frame {
		padding: 0 0 30px 0;
		border-radius: 15px;
		overflow: hidden;
		box-shadow: 5px 5px 0px 0px #e94829;
	}
	.cmn-modal-movie-window .block {
		padding: 60px 0 30px 0;
	}
	.cmn-modal-movie-window .block .in {
		max-width: 100%;
	}
	.cmn-modal-movie-window .close {
		right: 10px;
	}
}


/* === perfect-scrollbar.css === */
/*
 * Container style
 */
.ps {
  overflow: hidden !important;
  overflow-anchor: none;
  -ms-overflow-style: none;
  touch-action: auto;
  -ms-touch-action: auto;
}

/*
 * Scrollbar rail styles
 */
.ps__rail-x {
  display: none;
  opacity: 0 !important;
  transition: background-color .2s linear, opacity .2s linear;
  -webkit-transition: background-color .2s linear, opacity .2s linear;
  height: 15px;
  /* there must be 'bottom' or 'top' for ps__rail-x */
  bottom: 0px;
  /* please don't change 'position' */
  position: absolute;
}

.ps__rail-y {
  display: none;
  opacity: 0 !important;
  transition: background-color .2s linear, opacity .2s linear;
  -webkit-transition: background-color .2s linear, opacity .2s linear;
  width: 15px;
  /* there must be 'right' or 'left' for ps__rail-y */
  right: 0;
  /* please don't change 'position' */
  position: absolute;
}

.ps--active-x > .ps__rail-x,
.ps--active-y > .ps__rail-y {
  display: block;
}

.ps--active-y > .ps__rail-y::before {
  content: '';
  position: absolute;
  top: 0;
  right: 3px;
  display: block;
  width: 1px;
  height: 100%;
  background-color: #ccc;
}

/*
 * Scrollbar thumb styles
 */
.ps__thumb-x {
  background-color: #999;
  height: 6px;
  /* there must be 'bottom' for ps__thumb-x */
  bottom: 2px;
  /* please don't change 'position' */
  position: absolute;
}

.ps__thumb-y {
  background-color: #999;
  width: 7px;
  /* there must be 'right' for ps__thumb-y */
  right: 0;
  /* please don't change 'position' */
  position: absolute;
}

/* MS supports */
@supports (-ms-overflow-style: none) {
  .ps {
    overflow: auto !important;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ps {
    overflow: auto !important;
  }
}

/* === slick.css === */
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

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

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
	outline: 0;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/* === index.css === */
@charset "utf-8";

/* ////////////////////////////////////////////////////////////
	File Name	index.css
*/
body {
	overflow-y: scroll;
}
.body {
	position: fixed;
	top: 0;
	left: 0;
	padding: 0;
	width: 100%;
	height: calc(var(--vh, 1vh) * 100);
}
.active-content .body {
	position: relative;
	height: auto;
}
/* CONTENT */
.content {
	position: relative;
	overflow: hidden;
}

/*============================================================
	HEADER
*/
#header {
	transform: translateY(-100px);
	transition: all 0.6s;
}
.animation-ready #header {
	transform: translateY(0px);
}

/*============================================================
	FIRSTVIEW
*/
.firstview {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(var(--vh, 1vh) * 100);
}

/*============================================================
	MOTIONPATH
*/
.motionpath {
	position: fixed;
	top: 0;
	left: 50%;
	visibility: hidden;
}
.animation-ready .motionpath {
	transition: all 0.6s;
	visibility: visible;
}
.change .motionpath {
	position: absolute;
	height: 0;
}
.motionpath div {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 1;
}
.motionpath div img,
.motionpath div svg {
	display: block;
	transition: all 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) 1.6s;
}
.motionpath .base {
	display: block;
	position: relative;
	height: 0;
	opacity: 0;
}
.motionpath .base img {
	position: absolute;
	top: 0;
	left: 0;
}
.motionpath img,
.motionpath svg {
	/*transform: scale(0) !important;*/
}
.change .motionpath .p-h {
	opacity: 0;
}
.motionpath .p-s {
	opacity: 0;
}

/* PC */
.motionpath-pc {
	width: 1800px;
	margin-left: -900px;
}
.motionpath-pc .base {
	padding-top: 1200px;
}
.motionpath-pc .p-pc-a01 svg { transform: scale(0) rotate(-40deg) !important; }
.motionpath-pc .p-pc-a02 svg { transform: scale(0) rotate(40deg) !important; }
.motionpath-pc .p-pc-a03 svg { transform: scale(0) rotate(-30deg) !important; }
.motionpath-pc .p-pc-a04 svg { transform: scale(0) rotate(30deg) !important; }
.motionpath-pc .p-pc-a05 svg { transform: scale(0) rotate(20deg) !important; }
.motionpath-pc .p-pc-a06 svg { transform: scale(0) rotate(-30deg) !important; }
.motionpath-pc .p-pc-a07 svg { transform: scale(0) rotate(10deg) !important; }
.motionpath-pc .p-pc-a08 svg { transform: scale(0) rotate(20deg) !important; }
.motionpath-pc .p-pc-a09 svg { transform: scale(0) rotate(-30deg) !important; }
.motionpath-pc .p-pc-a10 svg { transform: scale(0) rotate(40deg) !important; }
.motionpath-pc .p-pc-h01 img { transform: scale(0) rotate(50deg) !important; }
.motionpath-pc .p-pc-h02 img { transform: scale(0) rotate(30deg) !important; }
.motionpath-pc .p-pc-h03 img { transform: scale(0) rotate(-40deg) !important; }
.motionpath-pc .p-pc-h04 img { transform: scale(0) rotate(20deg) !important; }
.motionpath-pc .p-pc-h05 img { transform: scale(0) rotate(40deg) !important; }
.motionpath-pc .p-pc-h06 img { transform: scale(0) rotate(30deg) !important; }
.motionpath-pc .p-pc-h07 img { transform: scale(0) rotate(-40deg) !important; }

.motionpath-pc .p-pc-a01 { width: calc((694 / 1800) * 100%); }
.motionpath-pc .p-pc-a02 { width: calc((738 / 1800) * 100%); }
.motionpath-pc .p-pc-a03 { width: calc((498 / 1800) * 100%); }
.motionpath-pc .p-pc-a04 { width: calc((612 / 1800) * 100%); }
.motionpath-pc .p-pc-a05 { width: calc((208 / 1800) * 100%); }
.motionpath-pc .p-pc-a06 { width: calc((176 / 1800) * 100%); }
.motionpath-pc .p-pc-a07 { width: calc((234 / 1800) * 100%); }
.motionpath-pc .p-pc-a08 { width: calc((154 / 1800) * 100%); }
.motionpath-pc .p-pc-a09 { width: calc((270 / 1800) * 100%); }
.motionpath-pc .p-pc-a10 { width: calc((288 / 1800) * 100%); }
.motionpath-pc .p-pc-h01 { width: calc((272 / 1800) * 100%); }
.motionpath-pc .p-pc-h02 { width: calc((156 / 1800) * 100%); }
.motionpath-pc .p-pc-h03 { width: calc((172 / 1800) * 100%); }
.motionpath-pc .p-pc-h04 { width: calc((352 / 1800) * 100%); }
.motionpath-pc .p-pc-h05 { width: calc((96 / 1800) * 100%); }
.motionpath-pc .p-pc-h06 { width: calc((226 / 1800) * 100%); }
.motionpath-pc .p-pc-h07 { width: calc((246 / 1800) * 100%); }
.motionpath-pc .p-pc-s01 { width: calc((78 / 1800) * 100%); }
.motionpath-pc .p-pc-s02 { width: calc((288 / 1800) * 100%); }
.motionpath-pc .p-pc-s03 { width: calc((88 / 1800) * 100%); }
.motionpath-pc .p-pc-s04 { width: calc((82 / 1800) * 100%); }
.motionpath-pc .p-pc-s05 { width: calc((248 / 1800) * 100%); }
.motionpath-pc .p-pc-s06 { width: calc((94p / 1800) * 100%); }

/* SP */
.motionpath-sp {
	display: none;
}
.motionpath-sp .base {
	padding-top: 117.86vw;
}

.motionpath-sp .p-sp-a01 svg { transform: scale(0) rotate(-40deg) !important; }
.motionpath-sp .p-sp-a02 svg { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-a03 svg { transform: scale(0) rotate(-30deg) !important; }
.motionpath-sp .p-sp-a04 svg { transform: scale(0) rotate(30deg) !important; }
.motionpath-sp .p-sp-a05 svg { transform: scale(0) rotate(30deg) !important; }
.motionpath-sp .p-sp-a06 svg { transform: scale(0) rotate(-40deg) !important; }
.motionpath-sp .p-sp-a07 svg { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-h01 img { transform: scale(0) rotate(-30deg) !important; }
.motionpath-sp .p-sp-h02 img { transform: scale(0) rotate(-40deg) !important; }
.motionpath-sp .p-sp-h03 img { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-h04 img { transform: scale(0) rotate(-30deg) !important; }
.motionpath-sp .p-sp-h05 img { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-h06 img { transform: scale(0) rotate(30deg) !important; }
.motionpath-sp .p-sp-h07 img { transform: scale(0) rotate(-40deg) !important; }
.motionpath-sp .p-sp-h08 img { transform: scale(0) rotate(-30deg) !important; }
.motionpath-sp .p-sp-h09 img { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-h10 img { transform: scale(0) rotate(-40deg) !important; }
.motionpath-sp .p-sp-h11 img { transform: scale(0) rotate(30deg) !important; }
.motionpath-sp .p-sp-h12 img { transform: scale(0) rotate(-40deg) !important; }
.motionpath-sp .p-sp-h13 img { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-h14 img { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-h15 img { transform: scale(0) rotate(-30deg) !important; }
.motionpath-sp .p-sp-h16 img { transform: scale(0) rotate(30deg) !important; }
.motionpath-sp .p-sp-h17 img { transform: scale(0) rotate(-40deg) !important; }

.motionpath-sp .p-sp-a01 { width: calc((550 / 560) * 100%); }
.motionpath-sp .p-sp-a02 { width: calc((294 / 560) * 100%); }
.motionpath-sp .p-sp-a03 { width: calc((262 / 560) * 100%); }
.motionpath-sp .p-sp-a04 { width: calc((212 / 560) * 100%); }
.motionpath-sp .p-sp-a05 { width: calc((120 / 560) * 100%); }
.motionpath-sp .p-sp-a06 { width: calc((112 / 560) * 100%); }
.motionpath-sp .p-sp-a07 { width: calc((100 / 560) * 100%); }
.motionpath-sp .p-sp-h01 { width: calc((70 / 560) * 100%); }
.motionpath-sp .p-sp-h02 { width: calc((122 / 560) * 100%); }
.motionpath-sp .p-sp-h03 { width: calc((100 / 560) * 100%); }
.motionpath-sp .p-sp-h04 { width: calc((64 / 560) * 100%); }
.motionpath-sp .p-sp-h05 { width: calc((88 / 560) * 100%); }
.motionpath-sp .p-sp-h06 { width: calc((150 / 560) * 100%); }
.motionpath-sp .p-sp-h07 { width: calc((66 / 560) * 100%); }
.motionpath-sp .p-sp-h08 { width: calc((46 / 560) * 100%); }
.motionpath-sp .p-sp-h09 { width: calc((74 / 560) * 100%); }
.motionpath-sp .p-sp-h10 { width: calc((44 / 560) * 100%); }
.motionpath-sp .p-sp-h11 { width: calc((56 / 560) * 100%); }
.motionpath-sp .p-sp-h12 { width: calc((44 / 560) * 100%); }
.motionpath-sp .p-sp-h13 { width: calc((116 / 560) * 100%); }
.motionpath-sp .p-sp-h14 { width: calc((88 / 560) * 100%); }
.motionpath-sp .p-sp-h15 { width: calc((52 / 560) * 100%); }
.motionpath-sp .p-sp-s01 { width: calc((62 / 560) * 100%); }
.motionpath-sp .p-sp-s02 { width: calc((128 / 560) * 100%); }

/* TB */
@media screen and (max-width: 979px) {
	.motionpath-pc {
		display: none;
	}
	.motionpath-sp {
		display: block;
		width: 149.4vw;
		margin-left: -74.7vw;
	}
}

.animation-ready .motionpath img,
.animation-ready .motionpath svg {
	transform: scale(1) rotate(0deg) !important;
}

/*============================================================
	MAIN
*/
.main {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.main .title {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -30px 0 0 0;
	width: 800px;
	transform: translate(-50%, -50%);
}
.main .title span {
	display: block;
}
.main .title > span {
	position: relative;
	margin: 0 0 40px 0;
	padding-top: calc(84 / 800 * 100%);
}
.main .title span span {
	overflow: hidden;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 0;
	transition: all 1s cubic-bezier(0.77, 0, 0.175, 1) 0.6s;
}
.main .title img {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}
/**/
.animation-ready .main .title span span {
	height: 100%;
}
.main {
	transition: all 0.6s;
}
.change-main .main {
	opacity: 0;
}
.active-content .main {
	display: none;
}
/* TB */
@media screen and (max-width: 979px) {
	.main .title {
		top: 50%;
		margin: 0;
		width: 88%;
	}
	.main .title > span {
		margin: 0 0 5vw 0;
	}
}

/*============================================================
	MAIN SCROLL
*/
.main-scroll {
	position: fixed;
	z-index: 101;
	left: 50%;
	bottom: 34px;
	font-size: 18px;
	line-height: 1;
	opacity: 0;
	transform: translateX(-50%);
	cursor: pointer;
}
.main-scroll span {
	display: block;
	margin: 0 0 5px 0;
}
.main-scroll::after {
	content: '';
	display: block;
	margin: 0 auto;
	width: 14px;
	height: 14px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
}
/**/
.active-content .main-scroll {
	overflow: hidden;
	height: 0;
}
/* SP */
@media screen and (max-width: 767px) {
	.main-scroll {
		bottom: 25px;
	}
}

/*============================================================
	MAIN BANNER
*/
.main-banner {
	position: fixed;
	z-index: 900;
	bottom: 20px;
	right: 20px;
	opacity: 0;
}
.main-banner a {
	position: relative;
	z-index: 900;
	display: block;
	width: 185px;
	overflow: hidden;
	border-radius: 14px;
	background-color: #fff;
}
.main-banner a:first-child {
	margin-bottom: 15px;
}
.main-banner a span {
	transition: opacity 0.3s;
}
.os-pc .main-banner a:hover span {
	opacity: 0.7;
}
/**/
.active-content .main-banner {
	display: none;
}
/* SP */
@media screen and (max-width: 767px) {
	.main-banner {
		bottom: 15px;
		right: 10px;
	}
	.main-banner a {
		width: 134px;
		border-radius: 10px;
	}
	.main-banner a:first-child {
		margin-bottom: 10px;
	}
}

/*============================================================
	MAIN NEWS
*/
.main-news {
	display: flex;
	flex-wrap: wrap;
	position: fixed;
	z-index: 100;
	left: 35px;
	right: 50%;
	bottom: 30px;
	padding: 0 40px 0 0;
	opacity: 0;
}
.main-news h3 {
	flex-basis: 100%;
	margin: 0 0 10px 0;
	font-size: 26px;
	line-height: 1;
}
.main-news dl {
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 13px;
	line-height: 1.3;
}
.main-news dl dt {
	margin: 0 15px 0 0;
}
.main-news dl dd a {
	text-decoration: underline;
}
.main-news .slider {
	width: 100%;
}
.main-news .slider .slick-dots {
	display: table;
	margin: 10px 0 0 -5px;
}
.main-news .slider .slick-dots li {
	display: table-cell;
	vertical-align: top;
}
.main-news .slider .slick-dots li button {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	background-color: transparent;
	border: 0;
	border-radius: 0;
	outline: 0;
	color: transparent;
	font-size: 0;
	line-height: 0;
	width: 20px;
	height: 20px;
}
.main-news .slider .slick-dots li button::before {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #cbcbcb;
}
.main-news .slider .slick-dots li.slick-active button::before {
	width: 9px;
	height: 9px;
	background-color: #000;
}
.main-news .slider .slick-track .slick-slide {
	transition: opacity 0.4s ease !important;
	opacity: 0 !important;
}
.main-news .slider .slick-track .slick-slide.block-current {
	opacity: 1 !important;
}
/**/
.animation-ready .main-news {
	opacity: 1;
}
/**/
.main-news {
	transition: all 0.6s;
}
.change-main .main-news {
	opacity: 0;
}
.active-content .main-news {
	overflow: hidden;
	height: 0;
}
/* HOVER */
.os-pc .main-news .ctr a {
	transition: opacity 0.3s ease;
}
.os-pc .main-news .ctr a:hover {
	opacity: 0.5;
}
@media screen and (max-width: 1100px) {
	.main-news dl {
		display: block;
	}
}
@media screen and (min-width: 768px) {
	.main-news dl dd {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.main-news {
		display: none;
	}
}

/*============================================================
	BEGINNING
*/
.beginning {
	position: relative;
	padding: 60px 0 120px 0;
	color: #fff;
	opacity: 0;
	transition: all 0.6s;
}
.change-content .beginning {
	opacity: 1;
}
.beginning .wrapper {
	margin: 0 auto;
	max-width: 880px;
}
.beginning h2 {
	padding: 10% 0 120px 0;
	font-size: 65px;
	line-height: 1.48;
}
.beginning .lead {
	padding: 0 0 0 38%;
	font-size: 20px;
	line-height: 2.2;
}
/* TB */
@media screen and (max-width: 979px) {
	.beginning {
		padding: 22vw 0 28vw 0;
	}
	.beginning .wrapper {
		padding: 0 0 0 8%;
		max-width: 100%;
	}
	.beginning h2 {
		padding: 0 0 9.2vw 0;
		font-size: 7.68vw;
		line-height: 1.48;
	}
	.beginning .lead {
		padding: 0 0 0 3%;
		font-size: 3.8vw;
		line-height: 2.3;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.beginning {
		padding: 22vw 0 13vw 0;
	}
}

/*============================================================
	SECTION
*/
.sections {
	transition: all 0.6s;
	opacity: 0;
}
.active-content .sections {
	opacity: 1;
}
.section {
	position: relative;
}
.section .section-container {
	position: relative;
	margin: 0 auto;
}
.section .parts {
	position: absolute;
}
.section .parts-sp {
	display: none;
}
.section .section-header {
	position: relative;
}
.section .section-header h2 {
	font-size: 60px;
	line-height: 1.14;
}
.section .section-header h3 {
	margin: 10px 0 30px 0;
	font-size: 20px;
	line-height: 1.2;
	white-space: nowrap;
}
.section .section-header .lead {
	font-size: 17px;
	line-height: 1.88;
}
.section .ctr {
	display: flex;
}
.section .ctr > div {
	padding: 0 10px;
}
.section .ctr a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	border: 1px solid #000;
	border-radius: 50%;
	background-color: #fff;
	font-size: 18px;
}
.section .ctr-pc {
	margin: 15px 0 0 0;
}
.section .ctr-sp {
	display: none;
	justify-content: center;
}
.section .section-menu {
	text-align: left;
}
.section .section-menu .block .box {
	display: block;
	outline: 0;
}
.section .section-menu .thumb {
	position: relative;
	z-index: 1;
	border-radius: 40px;
	overflow: hidden;
}
.section .section-menu .thumb span {
	position: relative;
	display: block;
}
.section .section-menu .thumb i {
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 20px;
	font-size: 12px;
	line-height: 1.2;
	color: #fff;
}
.section .section-menu .title {
	margin: 15px 0 0 0;
	font-size: 21px;
	line-height: 1.2;
}
.section .section-menu .title i {
	padding: 0 0 0 0.5em;
	font-size: 82%;
}
.section .section-menu-slider-sp {
	overflow: hidden;
	height: 0;
}
.section-welcome .parts-pc.parts01 {
	width: 408px;
}
.section-welcome .parts-pc.parts02 {
	width: 194px;
}
.section-welcome .parts-pc.parts03 {
	width: 224px;
}
.section-business .parts-pc.parts01 {
	width: 456px;
}
.section-business .parts-pc.parts02 {
	width: 184px;
}
.section-meet .parts-pc.parts01 {
	width: 390px;
}
.section-meet .parts-pc.parts02 {
	width: 260px;
}
/* HOVER */
.os-pc .section .ctr a {
	transition: all 0.3s ease;
}
.os-pc .section .ctr a:hover {
	background-color: #000;
	color: #fff;
}
.os-pc .section .section-menu a .thumb span {
	transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.os-pc .section .section-menu a:hover .thumb span {
	transform: scale(1.1);
}
/* PC */
@media screen and (min-width: 980px) {
	.sections .section .section-container {
		display: flex;
		align-items: center;
		padding: 0 50px;
		min-height: 620px;
		max-width: 1220px;
	}
	.sections .section:nth-child(even) .section-header {
		left: 50%;
		padding-left: 140px;
	}
	.sections .section .section-menu-wrap {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	.sections .section .section-menu-slider-pc {
		width: 1320px;
	}
	.sections .section:nth-child(odd) .section-menu-wrap {
		left: 50%;
		margin-left: -60px;
	}
	.sections .section:nth-child(odd) .ctr-pc {

	}
	.sections .section:nth-child(even) .section-menu-wrap {
		right: 50%;
		margin-right: -60px;
	}
	.sections .section:nth-child(even) .ctr-pc {
		justify-content: flex-end;
	}
	.sections .section .section-menu-slider-pc .block {
		width: 440px;
	}
	.sections .section .section-menu-slider-pc .block .box {
		margin: 0 10px;
		transition: all 0.3s ease;
		transform: scale(0.9);
	}
	.sections .section .section-menu-slider-pc .block.block-current .box {
		transform: scale(1);
	}
	.section-welcome .parts-pc.parts01 {
		bottom: 60px;
		left: -20px;
	}
	.section-welcome .parts-pc.parts02 {
		top: 10px;
		left: 520px;
	}
	.section-welcome .parts-pc.parts03 {
		bottom: 0;
		right: 70px;
	}
	.section-business .parts-pc.parts01 {
		bottom: -40px;
		right: -40px;
	}
	.section-business .parts-pc.parts02 {
		bottom: 0;
		left: 0;
	}
	.section-meet .parts-pc.parts01 {
		bottom: 40px;
		left: -30px;
	}
	.section-meet .parts-pc.parts02 {
		bottom: 0;
		right: 60px;
	}
}
/* TB */
@media screen and (max-width: 979px) {
	.section .section-menu-slider-pc {
		overflow: hidden;
		height: 0;
	}
	.section .ctr-pc {
		display: none;
	}
	.section .section-menu-slider-sp {
		overflow: visible;
		height: auto;
	}
	.sections .section-menu-slider-sp .slick-list {
		overflow: visible;
	}
	.section .ctr-sp {
		display: flex;
	}
}
@media screen and (min-width: 768px) and (max-width: 979px) {
	.section {
		margin: 80px 0 0 0;
	}
	.section .section-header {
		margin: 0 0 40px 0;
		text-align: center;
	}
	.section .section-header h2 br {
		display: none;
	}
	.sections .section-menu-slider-sp {
		margin: 0 auto;
		width: 740px;
	}
	.section .section-menu-slider-sp .block {
		padding: 0 25px;
	}
	.section .ctr-sp {
		margin: 40px 0 0 0;
	}
	.section-welcome .parts-pc.parts01 {
		top: 60px;
		left: 50%;
		margin: 0 0 0 40px;
	}
	.section-welcome .parts-pc.parts02 {
		top: -70px;
		right: 50%;
		margin: 0 300px 0 0;
	}
	.section-welcome .parts-pc.parts03 {
		bottom: -600px;
		left: 50%;
		margin: 0 0 0 200px;
	}
	.section-business .parts-pc.parts01 {
		top: -70px;
		right: 50%;
		margin: 0 100px 0 0;
	}
	.section-business .parts-pc.parts02 {
		bottom: -160px;
		left: 50%;
		margin: 0 0 0 160px;
	}
	.section-meet .parts-pc.parts01 {
		top: -40px;
		left: 50%;
		margin: 0 0 0 100px;
	}
	.section-meet .parts-pc.parts02 {
		bottom: -100px;
		right: 50%;
		margin: 0 140px 0 0;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.section {
		margin: 26vw 0 0 0;
	}
	.sections .section .section-container {
		padding: 0 25px;
	}
	.section .parts-pc {
		display: none;
	}
	.section .parts-sp {
		display: block;
	}
	.section-welcome .section-header,
	.section-meet .section-header {
		text-align: left;
	}
	.section-business .section-header {
		text-align: right;
	}
	.section-business .section-header .lead {
		margin: 0 -0.5em 0 0;
	}
	.section .section-header h2 {
		font-size: 11.2vw;
	}
	.section .section-header h3 {
		margin: 2.6vw 0 3.2vw 0;
		font-size: 5.4vw;
	}
	.section .section-header .lead {
		font-size: 4vw;
		line-height: 1.7;
	}
	.section .section-menu .thumb {
		border-radius: 6.4vw;
	}
	.section .section-menu .thumb i {
		padding: 3vw;
	}
	.section .section-menu .title {
		margin: 3vw -3vw 0 0;
		font-size: 4.4vw;
	}
	.section .section-menu-slider-sp {
		margin: 7.8vw 0 0 0;
	}
	.section .section-menu-slider-sp .block {
		padding: 0 3.333vw;
	}
	.section .ctr-sp {
		margin: 3.6vw 0 0 0;
	}
	.section-welcome .parts-sp.parts01 {
		top: 13vw;
		right: 3vw;
		width: 65vw;
	}
	.section-welcome .parts-sp.parts02 {
		top: -16vw;
		left: -10vw;
		width: 35vw;
	}
	.section-welcome .parts-sp.parts03 {
		bottom: 0;
		right: -14vw;
		width: 41vw;
	}
	.section-business .parts-sp.parts01 {
		top: -7vw;
		left: -2vw;
		width: 51vw;
	}
	.section-business .parts-sp.parts02 {
		bottom: 0;
		left: -10vw;
		width: 34vw;
	}
	.section-meet .parts-sp.parts01 {
		top: -11vw;
		right: 4vw;
		width: 58vw;
	}
	.section-meet .parts-sp.parts02 {
		bottom: -4vw;
		right: -10vw;
		width: 48vw;
	}
}

/*============================================================
	CULTURE
*/
.section-culture {
	margin: 120px 0 0 0;
	text-align: center;
}
.section-culture .parts-pc {
	top: 50px;
	left: 50%;
	margin: 0 0 0 -700px;
	width: 1400px;
}
.section-culture .parts-sp {
	display: none;
}
.section-culture .section-menu-pc {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 60px 0 0 0;
	padding: 0 30px;
}
.section-culture .section-menu-pc .block {
	margin: 0 0 50px 0;
	padding: 0 20px;
	width: 360px;
}
/* TB */
@media screen and (max-width: 979px) {
	.section-culture .section-menu-pc {
		display: none;
	}
}
@media screen and (min-width: 768px) and (max-width: 979px) {
	.section-culture .parts-pc {
		top: -40px;
	}
	.section-culture .section-menu-slider-sp {
		margin: 0 auto;
		width: 740px;
	}
	.section-culture .section-menu-slider-sp .slick-list {
		overflow: visible;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.section-culture {
		margin: 26vw 0 0 0;
	}
	.section-culture .parts-pc {
		display: none;
	}
	.section-culture .parts-sp {
		display: block;
		top: -14vw;
		left: 0;
		width: 100vw;
	}
	.section-culture .section-container {
		padding: 0 25px 0 0;
	}
	.section-culture .section-header {
		text-align: right;
	}
	.section-culture .section-header .lead {
		margin: 0 -0.5em 0 0;
	}
}

/*============================================================
	RECRUIT
*/
.section-recruit {
	margin: 100px 0 0 0;
	padding: 0 0 140px 0;
	text-align: center;
}
.section-recruit .section-container {
	max-width: 1220px;
}
.section-recruit .parts-pc {
	top: -40px;
	left: 50%;
	margin: 0 0 0 -700px;
	width: 1400px;
}
.section-recruit .parts-sp {
	display: none;
}
.section-recruit .section-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 80px -25px 0 -25px;
}
.section-recruit .section-menu .block {
	margin: 0 0 50px 0;
	padding: 0 25px;
	width: 390px;
	text-align: center;
	font-size: 21px;
	line-height: 1.2;
}
.section-recruit .section-menu .block .box {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 150px;
	border-radius: 40px;
	background-color: #fff;
	color: #c8c8c8;
}
.section-recruit .section-menu .block .box span {
	display: block;
	margin: 15px 0 -5px 0;
	font-size: 15px;
	color: #000;
}
.section-recruit .section-menu .block a.box {
	color: #000;
}
/* HOVER */
.os-pc .section-recruit .section-menu .block a.box {
	transition: all 0.3s ease;
}
.os-pc .section-recruit .section-menu .block a.box:hover {
	background-color: #000;
	color: #fff;
}
/* SP */
@media screen and (max-width: 767px) {
	.section-recruit {
		margin: 24vw 0 0 0;
		padding: 0 0 10vw 0;
	}
	.section-recruit .parts-pc {
		display: none;
	}
	.section-recruit .parts-sp {
		display: block;
		top: -20vw;
		left: 0;
		width: 100vw;
	}
	.section-recruit .section-container {
		padding: 0 25px;
	}
	.section-recruit .section-header {
		text-align: left;
	}
	.section-recruit .section-menu {
		display: block;
		margin: 5vw 0 0 0;
	}
	.section-recruit .section-menu .block {
		margin: 0 0 3vw 0;
		padding: 0;
		width: 100%;
		font-size: 5.6vw;
	}
	.section-recruit .section-menu .block .box {
		height: 26vw;
		border-radius: 6.4vw;
	}
	.section-recruit .section-menu .block .box span {
		margin: 2.4vw 0 -0.6vw 0;
		font-size: 3.8vw;
	}
}

/**/
.section .parts {
	opacity: 0;
	transition: opacity 0.8s linear 0s;
}
.section.active .parts {
	opacity: 1;
}
.section .section-header,
.section .section-menu-outer {
	opacity: 0;
	transform: translateY(30px);
	transition: transform 0.8s cubic-bezier(0, 0.55, 0.45, 1) 0s, opacity 0.8s linear 0s;
}
.section.active .section-header,
.section.active .section-menu-outer {
	opacity: 1;
	transform: translateY(0px);
}

/*============================================================
	BANNER
*/
.section-banner {
	position: relative;
	z-index: 10;
	display: flex;
	justify-content: center;
	gap: 60px;
	padding: 60px 40px 80px 40px;
}
.section-banner a {
	overflow: hidden;
	display: block;
	border-radius: 30px;
	max-width: 453px;
	background-color: #fff;
}
.section-banner img {
	transition: opacity 0.3s;
}
.os-pc .section-banner a:hover img {
	opacity: 0.7;
}
@media screen and (max-width: 980px) {
	.section-banner {
		display: block;
		padding: 18vw 25px 8vw 25px;
	}
	.section-banner > div {
		margin-bottom: 40px;
	}
	.section-banner > div:last-child {
		margin-bottom: 0;
	}
	.section-banner a {
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	.section-banner > div {
		margin-bottom: 10vw;
	}
	.section-banner a {
		border-radius: 6.4vw;
	}
}

/*============================================================
	SWIPE LP OVERRIDE
*/
:root {
	--swipe-header-height: 64px;
	--swipe-section-height: calc(100dvh - var(--swipe-header-height));
	--color-base: #FFF9ED;
	--color-main: #17324D;
	--color-accent: #FFC928;
}

html.swipe-mode-root,
body.swipe-mode {
	height: 100%;
	overflow: hidden;
}

body.swipe-mode {
	background-color: var(--color-base);
}

body.swipe-mode #header {
	transform: translateY(0);
}

body.swipe-mode .body {
	position: relative;
	top: auto;
	left: auto;
	width: 100%;
	height: 100dvh;
	padding: var(--swipe-header-height) 0 0 0;
	overflow-x: hidden;
	overflow-y: hidden;
	scroll-snap-type: none;
	scroll-padding-top: var(--swipe-header-height);
	overscroll-behavior-y: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	background-color: var(--color-base);
}

body.swipe-mode .body::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

body.swipe-mode .content {
	overflow: visible;
}

body.swipe-mode .swipe-section {
	position: relative;
	width: 100%;
	min-height: var(--swipe-section-height);
	max-height: var(--swipe-section-height);
	overflow: hidden;
	scroll-snap-align: none;
	scroll-snap-stop: normal;
	touch-action: none;
}

body.swipe-mode .swipe-section.is-long-section {
	height: var(--swipe-section-height);
	min-height: var(--swipe-section-height);
	max-height: var(--swipe-section-height);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior-y: contain;
	scroll-snap-stop: normal;
	touch-action: pan-y;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

body.swipe-mode .swipe-section.is-long-section::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

body.miyazaki-lp.swipe-mode.is-video-intro-current #header {
	opacity: 0;
	pointer-events: none;
	transform: translateY(-100%);
}

body.swipe-mode .lp-video-intro.swipe-section {
	position: relative;
	display: flex;
	width: 100%;
	height: 100dvh;
	min-height: 100dvh;
	max-height: 100dvh;
	margin-top: calc(var(--swipe-header-height) * -1);
	overflow: hidden;
	background-color: #000;
	touch-action: none;
}

body.swipe-mode .lp-video-intro__media {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

body.swipe-mode .lp-video-intro__cue {
	position: absolute;
	right: 0;
	bottom: max(26px, env(safe-area-inset-bottom));
	left: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 9px;
	color: rgba(255, 249, 237, 0.86);
	font-family: 'Montserrat', sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.18em;
	pointer-events: none;
}

body.swipe-mode .lp-video-intro__cue i {
	display: block;
	width: 12px;
	height: 12px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	animation: lp-video-cue 1.6s ease-in-out infinite;
}

@keyframes lp-video-cue {
	0%,
	100% {
		opacity: 0.42;
		transform: translateY(0) rotate(45deg);
	}
	50% {
		opacity: 1;
		transform: translateY(7px) rotate(45deg);
	}
}

body.swipe-mode .firstview {
	position: relative;
	top: auto;
	left: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f5ebdd;
}

body.swipe-mode .motionpath {
	position: absolute;
	top: 50%;
	visibility: visible;
	pointer-events: none;
	transform: translateY(-50%) !important;
}

body.swipe-mode .motionpath-pc {
	display: none;
}

body.swipe-mode .motionpath-sp {
	display: block;
	width: min(149.4vw, 717px);
	margin-left: calc(min(149.4vw, 717px) / -2);
}

body.swipe-mode .motionpath .p-s,
body.swipe-mode .motionpath .p-h {
	opacity: 1;
}

body.swipe-mode .motionpath img,
body.swipe-mode .motionpath svg {
	transform: scale(1) rotate(0deg) !important;
}

body.swipe-mode .main {
	position: relative;
	z-index: 2;
	display: block !important;
	width: 100%;
	height: auto;
	opacity: 1 !important;
}

body.swipe-mode .main .title {
	position: relative;
	top: auto;
	left: auto;
	width: 88%;
	margin: 0 auto;
	transform: none;
}

body.swipe-mode .main .title > span {
	margin: 0 0 5vw 0;
}

body.swipe-mode .main .title span span {
	height: 100%;
}

body.swipe-mode .main-scroll,
body.swipe-mode .main-news,
body.swipe-mode .main-banner,
body.swipe-mode #pagetop {
	display: none !important;
}

body.swipe-mode .beginning {
	display: flex;
	align-items: center;
	padding: 0;
	opacity: 1;
}

body.swipe-mode .beginning .wrapper {
	width: 100%;
	padding: 0 8%;
}

body.swipe-mode .beginning h2 {
	padding: 0 0 clamp(26px, 3.9dvh, 34px) 0;
}

body.swipe-mode .beginning .lead {
	padding: 0;
	font-size: clamp(13px, 2.1dvh, 16px);
	line-height: 2.05;
}

body.swipe-mode .sections {
	opacity: 1;
}

body.swipe-mode .section {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
}

body.swipe-mode .section .section-container {
	width: 100%;
	padding: 0 8%;
}

body.miyazaki-lp.swipe-mode .lp-difference .section-container {
	padding-left: 0;
	padding-right: 0;
}

body.swipe-mode .section .section-header,
body.swipe-mode .section .section-menu-outer,
body.swipe-mode .section.active .section-header,
body.swipe-mode .section.active .section-menu-outer {
	opacity: 1;
	transform: none;
}

body.swipe-mode .section .section-header h2 {
	font-size: 24px;
	line-height: 1.08;
}

body.swipe-mode .beginning h2,
body.swipe-mode .section .section-header h3 {
	margin: clamp(8px, 1.2dvh, 12px) 0 clamp(10px, 1.5dvh, 14px) 0;
	font-size: clamp(34px, 5.1dvh, 44px);
	font-weight: 700;
	line-height: 1.42;
	white-space: nowrap;
}

body.swipe-mode .section .section-header .lead {
	font-size: clamp(13px, 2.1dvh, 16px);
	line-height: 1.65;
}

body.miyazaki-lp.swipe-mode .lp-point .section-header h3 {
	font-size: 24px;
}

body.miyazaki-lp.swipe-mode .lp-reason .section-header h3,
body.miyazaki-lp.swipe-mode .lp-difference .section-header h3,
body.miyazaki-lp.swipe-mode .lp-job .section-header h3 {
	font-size: clamp(32px, 3.1dvh, 40px);
}

body.swipe-mode .section .section-menu-slider-pc,
body.swipe-mode .section .ctr-pc,
body.swipe-mode .section-culture .section-menu-pc {
	overflow: hidden;
	height: 0;
}

body.swipe-mode .section .section-menu-slider-sp {
	overflow: visible;
	height: auto;
	margin: 5.6vw 0 0 0;
}

body.swipe-mode .section .section-menu-slider-sp .block {
	padding: 0 3.333vw;
}

body.swipe-mode .section .section-menu .thumb {
	border-radius: 6.4vw;
}

body.swipe-mode .section .section-menu .title {
	margin: 2.6vw -3vw 0 0;
	font-size: clamp(16px, 4.2vw, 21px);
}

body.swipe-mode .section .ctr-sp {
	display: flex;
	margin: 3vw 0 0 0;
}

body.swipe-mode .section .parts {
	opacity: 1;
	pointer-events: none;
}

body.swipe-mode .section .parts-pc {
	display: none;
}

body.swipe-mode .section .parts-sp {
	display: block;
}

body.swipe-mode .section-banner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8vw;
	padding: 25px;
}

body.swipe-mode .section-banner > div {
	margin: 0;
}

body.swipe-mode .section-banner a {
	max-width: 100%;
	border-radius: 6.4vw;
}

body.swipe-mode .section-culture {
	text-align: center;
}

body.swipe-mode .section-culture .section-container,
body.swipe-mode .section-recruit .section-container {
	padding: 0 8%;
}

body.swipe-mode .section-culture .section-menu-slider-sp {
	margin-top: 6vw;
}

body.swipe-mode .section-recruit .section-menu {
	display: block;
	margin: 6vw 0 0 0;
}

body.swipe-mode .section-recruit .section-menu .block {
	width: 100%;
	margin: 0 0 3vw 0;
	padding: 0;
	font-size: clamp(22px, 5.6vw, 28px);
}

body.swipe-mode .section-recruit .section-menu .block .box {
	height: 24vw;
	max-height: 128px;
	border-radius: 6.4vw;
}

body.swipe-mode #footer.swipe-section {
	padding: 45px 0 50px 0;
	background-color: #fff;
}

body.swipe-mode #footer .container {
	padding: 0 25px;
}

body.swipe-mode #footer .nav-content {
	display: block;
	padding: 0;
}

body.swipe-mode #footer .nav-content .block {
	margin: 0 0 24px 0;
	padding: 0;
}

/*============================================================
	YAMASHIRO LP
*/
body.miyazaki-lp #header h1 {
	position: static;
	display: flex;
	left: 0;
	width: auto;
	height: 64px;
	background-image: none;
}

body.miyazaki-lp #header h1 a {
	top: 50%;
	left: 0;
	align-items: center;
}

body.miyazaki-lp #header h1 .logo-text {
	display: block;
	width: auto;
	font-size: 40px;
	line-height: 1;
	letter-spacing: 0.06em;
}

body.miyazaki-lp #header h1 .logo-text.en {
	font-size: 28px;
}

body.miyazaki-lp #header {
	height: 64px;
}

body.miyazaki-lp #header h1 {
	left: 0;
}

body.miyazaki-lp #header .nav-entry {
	display: flex;
	align-items: center;
	top: 50%;
	right: 25px;
	height: auto;
	transform: translateY(-50%);
	text-align: center;
}

body.miyazaki-lp #header .nav-entry > .header-actions {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 8px;
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.4;
}

body.miyazaki-lp #header .nav-entry > .header-actions li {
	display: block;
	margin: 0;
	padding: 0;
	flex: 0 0 auto;
}

body.miyazaki-lp #header .nav-entry .header-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto;
	height: auto;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 6px 14px;
	border: 1px solid #000;
	border-radius: 999px;
	background-color: #fff;
	color: #000;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
	flex: 0 0 auto;
	transition: background-color 0.3s ease, color 0.3s ease;
}

body.miyazaki-lp #header .nav-entry .header-cta:hover {
	background-color: #000;
	color: #fff;
}

body.miyazaki-lp #header .megamenu-toggle {
	display: none;
}

@media screen and (max-width: 380px) {
	body.miyazaki-lp #header h1 {
		left: 0;
	}
	body.miyazaki-lp #header .nav-entry {
		right: 20px;
	}
	body.miyazaki-lp #header h1 .logo-text {
		font-size: 40px;
	}
}

body.miyazaki-lp .lp-kicker {
	position: relative;
	z-index: 2;
	margin: 0 0 18px 0;
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.06em;
}

body.miyazaki-lp .lp-hero {
	padding: 0 25px;
}

body.miyazaki-lp .lp-hero .main {
	color: #000;
}

body.miyazaki-lp .lp-hero-title {
	position: relative;
	z-index: 3;
	display: inline-block;
	margin: 0 0 0 -12px;
	padding: clamp(44px, 6.6dvh, 45px) clamp(26px, 3.9dvh, 36px) clamp(34px, 7.65dvh, 51px) clamp(34px, 5.1dvh, 34px);
	background-image: url("images/img/miyazaki/hero-catch-bg-opt.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 108%;
	color: var(--color-main);
	font-size: clamp(31px, 4.65dvh, 50px);
	line-height: 1.22;
	letter-spacing: 0;
}

body.miyazaki-lp .lp-lead {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	width: calc(100% + 34px);
	margin: clamp(-80px, -10.35dvh, -69px) 0 0 -12px;
	padding: clamp(50px, 7.5dvh, 55px) clamp(37px, 5.55dvh, 38px) clamp(44px, 6.6dvh, 55px) clamp(44px, 8.7dvh, 58px);
	background-image: url("images/img/miyazaki/hero-lead-bg-opt.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
	color: var(--color-base);
	font-size: clamp(14px, 2.1dvh, 17px);
	line-height: 1.85;
}

body.miyazaki-lp .lp-lead p,
body.miyazaki-lp .lead p {
	margin: 0 0 0.4em 0;
}

body.miyazaki-lp .lp-hero .motionpath {
	opacity: 0.42;
}

body.miyazaki-lp .lp-hero .motionpath div {
	opacity: 1;
}

body.miyazaki-lp .lp-hero .p-sp-h17 { transform: translate(18vw, -4vw); }
body.miyazaki-lp .lp-hero .p-sp-s02 { transform: translate(72vw, 10vw); }
body.miyazaki-lp .lp-hero .p-sp-h01 { transform: translate(7vw, 46vw); }
body.miyazaki-lp .lp-hero .p-sp-h05 { transform: translate(84vw, 68vw); }
body.miyazaki-lp .lp-hero .p-sp-h13 { transform: translate(22vw, 92vw); }
body.miyazaki-lp .lp-hero .p-sp-s01 { transform: translate(64vw, 108vw); }

body.miyazaki-lp.swipe-mode .lp-hero .motionpath div img,
body.miyazaki-lp.swipe-mode .lp-hero .motionpath div svg {
	transform: none !important;
}

body.miyazaki-lp .lp-message {
	background-color: #e94829;
	color: #fff;
}

body.miyazaki-lp .lp-message .lp-kicker {
	color: #000;
}

body.miyazaki-lp.swipe-mode .lp-message h2 {
	padding: 0;
	font-size: clamp(32px, 3.1dvh, 40px);
	font-weight: 700;
	line-height: 1.42;
}

body.miyazaki-lp .lp-reason,
body.miyazaki-lp .lp-job,
body.miyazaki-lp .lp-company {
	background-color: #f5ebdd;
}

body.miyazaki-lp .lp-difference,
body.miyazaki-lp .lp-point-flow,
body.miyazaki-lp .lp-requirements {
	background-color: #ebdcc3;
}

body.miyazaki-lp .lp-point,
body.miyazaki-lp .lp-entry {
	background-color: #f5ebdd;
}

body.miyazaki-lp .section .section-header h2 {
	color: #000;
}

body.miyazaki-lp .lp-flow {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.miyazaki-lp .lp-flow li {
	display: block;
	flex-shrink: 0;
	width: min(70.4vw, 290px);
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.35;
	text-align: center;
}

body.miyazaki-lp .lp-flow-card {
	margin: 0;
}

body.miyazaki-lp .lp-flow-card img {
	display: block;
	width: 100%;
	aspect-ratio: 1.18 / 1;
	object-fit: cover;
	object-position: center;
	border-radius: clamp(28px, 5.4dvh, 42px);
	box-shadow: 0 16px 30px rgba(23, 50, 77, 0.08);
}

body.miyazaki-lp .lp-flow-card figcaption {
	margin: 12px 0 0 0;
	color: var(--color-main);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
}

body.miyazaki-lp .lp-flow-slider.swiper {
	overflow: hidden;
	width: 119.0476%;
	margin: clamp(18px, 3.2dvh, 24px) 0 0 -9.5238%;
	padding: 0 0 2px 0;
	touch-action: pan-y;
}

body.miyazaki-lp .lp-flow-slider-ui {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(14px, 3.2dvh, 24px);
	margin: 16px 0 0 0;
}

body.miyazaki-lp .lp-flow-arrow {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 2px solid var(--color-main);
	border-radius: 50%;
	background: var(--color-base);
	color: var(--color-main);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

body.miyazaki-lp .lp-flow-pagination {
	min-width: 80px;
	font-family: 'Montserrat', sans-serif;
	font-size: clamp(18px, 3dvh, 24px);
	font-weight: 700;
	line-height: 1;
	text-align: center;
	color: var(--color-main);
}

body.miyazaki-lp .lp-flow-separator {
	display: inline-block;
	margin: 0 0.25em;
	color: var(--color-accent);
}

body.miyazaki-lp .lp-caption {
	margin: clamp(14px, 2.4dvh, 22px) 0 0 0;
	font-size: clamp(13px, 3.7vw, 16px);
	line-height: 1.75;
}

body.miyazaki-lp .lp-career-list {
	margin: 8vw 0 0 0;
}

body.miyazaki-lp .lp-career-list li {
	position: relative;
	margin: 0 0 12px 0;
	padding: 15px 20px;
	border: 1px solid #000;
	background-color: #fff;
	font-size: clamp(17px, 5vw, 24px);
	line-height: 1.3;
	text-align: center;
}

body.miyazaki-lp .lp-career-list li:nth-child(2) {
	background-color: #000;
	color: #fff;
}

body.miyazaki-lp .lp-info-block {
	margin: 7vw 0 0 0;
	padding: 24px 20px;
	border-radius: 15px;
}

body.miyazaki-lp .lp-info-block dl {
	font-size: clamp(13px, 3.6vw, 16px);
	line-height: 1.55;
}

body.miyazaki-lp .lp-info-block dl div {
	display: grid;
	grid-template-columns: 32% 1fr;
	gap: 12px;
	padding: 13px 0;
	border-bottom: 1px solid #d2d2d2;
}

body.miyazaki-lp .lp-info-block dl div:last-child {
	border-bottom: 0;
}

body.miyazaki-lp .lp-info-block dt {
	color: #787878;
}

body.miyazaki-lp .lp-info-block dd {
	margin: 0;
}

body.miyazaki-lp .lp-company,
body.miyazaki-lp .lp-requirements {
	position: relative;
	justify-content: flex-start;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

body.miyazaki-lp .lp-company {
	background-image: none;
}

body.miyazaki-lp.swipe-mode .lp-company {
	overflow-y: auto;
}

body.miyazaki-lp .lp-company-visual {
	position: relative;
	flex: 1 0 220px;
	width: 100%;
	min-height: 220px;
	margin-top: clamp(20px, 3dvh, 32px);
	overflow: hidden;
}

body.miyazaki-lp .lp-company-visual img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 56% 44%;
}

body.miyazaki-lp .lp-requirements {
	background-image: url("images/img/miyazaki/recruit_bg.jpg");
}

body.miyazaki-lp .lp-requirements::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(
			180deg,
			var(--color-base) 0%,
			rgba(255, 249, 237, 0.99) 24%,
			rgba(255, 249, 237, 0.96) 48%,
			rgba(255, 249, 237, 0.82) 76%,
			rgba(255, 249, 237, 0.52) 100%
		);
}

body.miyazaki-lp .lp-company .section-container,
body.miyazaki-lp .lp-requirements .section-container {
	position: relative;
	z-index: 1;
	padding-top: clamp(16px, 4dvh, 32px);
}

body.miyazaki-lp .lp-company .section-header {
	position: relative;
	z-index: 2;
	min-height: clamp(82px, 17dvh, 128px);
	padding: clamp(20px, 4dvh, 32px) clamp(24px, 6dvh, 40px);
	background-image: url("images/img/miyazaki/company.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	text-align: center;
}

body.miyazaki-lp .lp-company .section-container {
	flex: 0 0 auto;
	padding-right: 0;
	padding-left: 0;
}

body.miyazaki-lp .lp-company .section-header h3 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

body.miyazaki-lp .lp-company .lp-info-block {
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
}

body.miyazaki-lp .lp-company .lp-info-block dl div,
body.miyazaki-lp .lp-company .lp-info-block dt,
body.miyazaki-lp .lp-company .lp-info-block dd {
	text-align: left;
}

body.miyazaki-lp .lp-requirements .section-header {
	position: relative;
	z-index: 2;
	min-height: clamp(82px, 17dvh, 128px);
	padding: clamp(20px, 4dvh, 32px) clamp(24px, 6dvh, 40px);
	background-image: url("images/img/miyazaki/recruit_title.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	text-align: center;
}

body.miyazaki-lp .lp-requirements .section-container {
	padding-right: 0;
	padding-left: 0;
}

body.miyazaki-lp .lp-requirements .section-header h3 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

body.miyazaki-lp .lp-requirements .lp-info-block {
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
}

body.miyazaki-lp .lp-requirements .lp-info-block dl div,
body.miyazaki-lp .lp-requirements .lp-info-block dt,
body.miyazaki-lp .lp-requirements .lp-info-block dd {
	text-align: left;
}

body.miyazaki-lp.swipe-mode .lp-entry {
	justify-content: flex-start;
	padding: clamp(28px, 4dvh, 40px) 0 clamp(32px, 5dvh, 48px);
}

/* A small route motif sits beside the Contact label, above the Japanese title. */
body.miyazaki-lp .lp-entry .section-header::after {
	content: "";
	position: absolute;
	top: 3px;
	right: 0;
	width: 88px;
	height: 20px;
	pointer-events: none;
	background:
		radial-gradient(circle, var(--color-accent) 0 5px, transparent 5.5px) right center / 20px 20px no-repeat,
		radial-gradient(circle, var(--color-main) 0 3px, transparent 3.5px) center / 12px 12px no-repeat,
		radial-gradient(circle, var(--color-accent) 0 3px, transparent 3.5px) left center / 12px 12px no-repeat,
		linear-gradient(90deg, rgba(23, 50, 77, .18), rgba(23, 50, 77, .18)) center / 72px 1px no-repeat;
}

body.miyazaki-lp .lp-form {
	position: relative;
	isolation: isolate;
	margin: 20px 0 0;
	padding: 20px 0 24px;
}

/* Extend only the card surface; every field stays aligned with the heading. */
body.miyazaki-lp .lp-form::before {
	content: "";
	position: absolute;
	inset: 0 -16px;
	z-index: -1;
	border: 1px solid rgba(23, 50, 77, .13);
	border-radius: 16px;
	background: linear-gradient(145deg, #fffefb, #fff8e9);
	box-shadow: 0 14px 32px -16px rgba(23, 50, 77, .22), 0 2px 6px rgba(23, 50, 77, .035);
	pointer-events: none;
}

body.miyazaki-lp .lp-form::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 56px;
	height: 3px;
	border-radius: 0 0 3px 3px;
	background: var(--color-accent);
	pointer-events: none;
}

body.miyazaki-lp .lp-form label {
	display: block;
	margin: 0 0 18px 0;
	font-size: 14px;
	line-height: 1.4;
}

body.miyazaki-lp .lp-form input,
body.miyazaki-lp .lp-form textarea,
body.miyazaki-lp .lp-form select {
	display: block;
	width: 100%;
	margin: 8px 0 0 0;
	padding: 12px 14px;
	border: 1px solid #000;
	border-radius: 0;
	background-color: #fff;
	font-size: 16px;
	line-height: 1.5;
}

body.miyazaki-lp .lp-form input:focus,
body.miyazaki-lp .lp-form textarea:focus,
body.miyazaki-lp .lp-form select:focus {
	border-color: #e94829;
	box-shadow: 0 0 0 2px #e94829 inset;
}

body.miyazaki-lp .lp-form textarea {
	min-height: 130px;
}

body.miyazaki-lp .lp-form .cmn-btn-primary {
	width: 100%;
	margin: 10px 0 0 0;
}

@media screen and (min-width: 481px) {
	body.miyazaki-lp .lp-hero .p-sp-h17 { transform: translate(86px, -20px); }
	body.miyazaki-lp .lp-hero .p-sp-s02 { transform: translate(346px, 48px); }
	body.miyazaki-lp .lp-hero .p-sp-h01 { transform: translate(34px, 221px); }
	body.miyazaki-lp .lp-hero .p-sp-h05 { transform: translate(403px, 326px); }
	body.miyazaki-lp .lp-hero .p-sp-h13 { transform: translate(106px, 442px); }
	body.miyazaki-lp .lp-hero .p-sp-s01 { transform: translate(307px, 518px); }
}

/*============================================================
	YAMASHIRO COLOR UPDATE
*/
body.miyazaki-lp,
body.miyazaki-lp.swipe-mode,
body.miyazaki-lp.swipe-mode .body,
body.miyazaki-lp.swipe-mode .firstview,
body.miyazaki-lp .lp-reason,
body.miyazaki-lp .lp-job,
body.miyazaki-lp .lp-company,
body.miyazaki-lp .lp-point,
body.miyazaki-lp .lp-entry {
	background-color: var(--color-base);
	color: var(--color-main);
}

body.miyazaki-lp.swipe-mode .lp-hero,
body.miyazaki-lp.swipe-mode .lp-reason,
body.miyazaki-lp.swipe-mode .lp-job,
body.miyazaki-lp.swipe-mode .lp-company,
body.miyazaki-lp.swipe-mode .lp-point,
body.miyazaki-lp.swipe-mode .lp-entry {
	--section-bg: var(--color-base);
}

body.miyazaki-lp.swipe-mode .lp-message {
	--section-bg: var(--color-main);
}

body.miyazaki-lp.swipe-mode .lp-difference,
body.miyazaki-lp.swipe-mode .lp-point-flow,
body.miyazaki-lp.swipe-mode .lp-requirements {
	--section-bg: var(--color-base);
}

body.miyazaki-lp #header,
body.miyazaki-lp #header h1,
body.miyazaki-lp .lp-difference,
body.miyazaki-lp .lp-point-flow,
body.miyazaki-lp .lp-requirements {
	background-color: var(--color-base);
}

body.miyazaki-lp #header,
body.miyazaki-lp #header h1 {
	background-color: #f0eae0;
}

body.miyazaki-lp #header,
body.miyazaki-lp #header a,
body.miyazaki-lp .lp-hero .main,
body.miyazaki-lp .section .section-header h2,
body.miyazaki-lp .section .section-header h3,
body.miyazaki-lp .lead,
body.miyazaki-lp .lp-caption,
body.miyazaki-lp .lp-info-block,
body.miyazaki-lp .lp-form {
	color: var(--color-main);
}

body.miyazaki-lp .lp-kicker,
body.miyazaki-lp .section .section-header h2,
body.miyazaki-lp .lp-info-block dt {
	color: var(--color-accent);
}

body.miyazaki-lp .lp-message {
	background-color: var(--color-main);
	color: var(--color-base);
}

body.miyazaki-lp .lp-message h2,
body.miyazaki-lp .lp-message .lead,
body.miyazaki-lp .lp-message .lead p {
	color: var(--color-base);
}

body.miyazaki-lp .lp-message .lp-kicker {
	color: var(--color-accent);
}

body.miyazaki-lp #header .nav-entry .header-cta,
body.miyazaki-lp .lp-flow li,
body.miyazaki-lp .lp-career-list li,
body.miyazaki-lp .lp-info-block,
body.miyazaki-lp .lp-form,
body.miyazaki-lp .lp-form input,
body.miyazaki-lp .lp-form textarea,
body.miyazaki-lp .lp-form select {
	border-color: var(--color-main);
	color: var(--color-main);
}

body.miyazaki-lp #header .nav-entry .header-cta:hover,
body.miyazaki-lp .lp-career-list li:nth-child(2),
body.miyazaki-lp .lp-form .cmn-btn-primary {
	background-color: var(--color-main);
	color: var(--color-base);
}

body.miyazaki-lp .lp-form .cmn-btn-primary {
	border-color: var(--color-main);
}

body.miyazaki-lp .lp-form input:focus,
body.miyazaki-lp .lp-form textarea:focus,
body.miyazaki-lp .lp-form select:focus {
	border-color: var(--color-accent);
	box-shadow: 0 0 0 2px var(--color-accent) inset;
	outline: 0;
}

body.miyazaki-lp .lp-info-block dl div {
	border-bottom-color: rgba(23, 50, 77, 0.22);
}

body.miyazaki-lp.swipe-mode .lp-full-bg {
	position: absolute;
	top: calc(var(--swipe-header-height) * -1);
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100dvh;
	pointer-events: none;
	background-color: var(--section-bg, var(--color-base));
}

body.miyazaki-lp.swipe-mode .lp-hero .lp-full-bg,
body.miyazaki-lp.swipe-mode .lp-reason .lp-full-bg {
	background-color: var(--color-base);
}

body.miyazaki-lp.swipe-mode .lp-message .lp-full-bg {
	background-color: var(--color-main);
}

body.miyazaki-lp .lp-hero .motionpath {
	top: calc(36dvh - var(--swipe-header-height));
	left: 42%;
	width: min(67.5dvh, 576px);
	height: 100dvh;
	margin-left: 0;
	opacity: 1;
	transform: translate(-50%, -50%) !important;
	z-index: 1;
	overflow: visible;
}

body.miyazaki-lp .lp-hero .motionpath .p-sp-h17 {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: none !important;
}

body.miyazaki-lp .lp-hero .motionpath .p-sp-h17 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transform: none !important;
}

body.miyazaki-lp .lp-hero .main {
	align-self: flex-end;
	text-align: left;
}

body.miyazaki-lp.swipe-mode .lp-hero {
	align-items: center;
	justify-content: flex-start;
	padding: 0 25px;
}

body.miyazaki-lp .section .parts-sp {
	opacity: 0.16;
}

body.miyazaki-lp .section .parts-sp img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 24px;
}

body.miyazaki-lp .section .parts-sp.parts01 {
	width: min(24.8dvh, 210px);
}

body.miyazaki-lp .section .parts-sp.parts02 {
	width: min(19.2dvh, 164px);
}

body.miyazaki-lp .section-culture .parts-sp,
body.miyazaki-lp .section-recruit .parts-sp,
body.miyazaki-lp .section-entry .parts-sp {
	width: min(45vw, 216px);
}

/* Text and photo keep their space; oversized artwork crops at the panel edges. */
body.miyazaki-lp.swipe-mode .lp-point2 {
	--point2-decor-height: clamp(120px, calc(45dvh - 184px), 360px);
	--point2-blob-size: min(64vw, 308px);
	justify-content: flex-start;
	height: var(--swipe-section-height);
}

body.miyazaki-lp.swipe-mode .lp-point2 > .section-container {
	flex: 0 0 auto;
}

body.miyazaki-lp.swipe-mode .lp-point2 .section-header {
	margin-bottom: 0;
}

body.miyazaki-lp .lp-point2-decor {
	position: relative;
	display: flex;
	flex: 1 1 0;
	min-height: 0;
	width: 100%;
	overflow: hidden;
	pointer-events: none;
}

body.miyazaki-lp .lp-point2-decor--top {
	margin-bottom: 16px;
}

body.miyazaki-lp .lp-point2-decor--bottom {
	margin-top: 24px;
}

body.miyazaki-lp .lp-point2-decor > span {
	display: block;
	width: 50%;
	background-repeat: no-repeat;
}

body.miyazaki-lp .lp-point2-decor > .lp-point2-decor__graphic {
	position: absolute;
	inset: 0 0 auto;
	width: 100%;
	height: max(70%, calc(100% - 32px));
	background-image: url("images/img/miyazaki/graphic_3.png");
	background-size: auto var(--point2-decor-height, 240px);
}

body.miyazaki-lp .lp-point2-decor__blob {
	position: absolute;
	height: 100%;
	background-image: url("images/img/miyazaki/blob-cluster-02.png");
	background-size: var(--point2-blob-size, 308px) auto;
}

body.miyazaki-lp .lp-point2-decor--top .lp-point2-decor__graphic {
	background-position: left bottom;
	transform: scaleX(-1);
}

body.miyazaki-lp .lp-point2-decor--top .lp-point2-decor__blob {
	bottom: 0;
	left: 0;
	background-position: left 20px top calc(var(--point2-blob-size, 308px) * -.27);
	transform: rotate(180deg);
}

body.miyazaki-lp .lp-point2-decor--bottom .lp-point2-decor__graphic {
	top: auto;
	bottom: 0;
	background-position: left bottom;
	transform: rotate(180deg) scaleX(-1);
}

body.miyazaki-lp .lp-point2-decor--bottom .lp-point2-decor__blob {
	top: 0;
	right: 0;
	background-position: right 12px top calc(var(--point2-blob-size, 308px) * -.27);
	transform: scaleX(-1);
}

@media (max-height: 740px) {
	body.miyazaki-lp.swipe-mode .lp-point2 {
		--point2-blob-size: 170px;
	}
}

@media (max-height: 450px) {
	body.miyazaki-lp .lp-point2-decor--top {
		margin-bottom: 8px;
	}
	body.miyazaki-lp .lp-point2-decor--bottom {
		margin-top: 8px;
	}
	body.miyazaki-lp.swipe-mode .lp-point2 .section-header h3 {
		margin-top: 4px;
		margin-bottom: 6px;
	}
	body.miyazaki-lp.swipe-mode .section-recruit.lp-point2 .lp-point2-image img {
		max-height: min(18dvh, 80px);
		object-position: center 20%;
	}
}

body.miyazaki-lp .section-recruit.lp-point .section-container,
body.miyazaki-lp .section-recruit.lp-point .section-header,
body.miyazaki-lp .section-recruit.lp-point .lead {
	position: relative;
	z-index: 2;
}

body.miyazaki-lp .section-recruit.lp-point .lead {
	z-index: 3;
}

body.miyazaki-lp .lp-point-flow .parts-sp.parts01 {
	display: block;
	top: -4dvh;
	left: -13dvh;
	width: min(41dvh, 350px);
	opacity: 1;
	z-index: 1;
}

body.miyazaki-lp .lp-point-flow .parts-sp.parts01 img {
	border-radius: 0;
}

body.miyazaki-lp .lp-career .section-header h2,
body.miyazaki-lp .lp-career .section-header h3 {
	text-align: center;
}

body.miyazaki-lp .section-entry .parts-sp {
	position: absolute;
	right: -12vw;
	bottom: 7vw;
	display: block;
	pointer-events: none;
}

body.miyazaki-lp .lp-reason .section-container {
	position: relative;
	z-index: 2;
}

body.miyazaki-lp .lp-reason .section-header {
	position: relative;
	z-index: 3;
}

body.miyazaki-lp .lp-reason-title-image,
body.miyazaki-lp .lp-job-title-image,
body.miyazaki-lp .lp-point2-image {
	display: block;
	margin: 0 0 clamp(10px, 2dvh, 16px) 0;
}

body.miyazaki-lp .lp-job-title-image {
	margin: 0 0 clamp(23px, 5dvh, 16px) 0;
}

body.miyazaki-lp .lp-reason-title-image img,
body.miyazaki-lp .lp-job-title-image img,
body.miyazaki-lp .lp-point2-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: clamp(20px, 4dvh, 30px);
}

@media screen and (max-height: 740px) {
	body.miyazaki-lp .section-recruit.lp-point .lp-point2-image img {
		max-height: min(28dvh, 210px);
	}

	body.miyazaki-lp.swipe-mode .section-recruit.lp-point .lead {
		line-height: 1.55;
	}
}

body.miyazaki-lp .lp-reason .parts-sp {
	z-index: 1;
	opacity: 1;
}

body.miyazaki-lp .lp-reason .parts-sp img {
	border-radius: 0;
}

body.miyazaki-lp .lp-reason .parts-sp.parts01 {
	top: 45vh;
	right: -23.7dvh;
	width: min(59dvh, 648px);
	opacity: 1;
}

body.miyazaki-lp .lp-difference .section-header {
	position: relative;
	z-index: 2;
}

body.miyazaki-lp .lp-difference .section-header > .lead {
	padding-left: 8%;
	padding-right: 8%;
}

body.miyazaki-lp .lp-difference .lp-works-slider {
	margin-left: 0;
	margin-right: 0;
}

body.miyazaki-lp .lp-difference .parts-sp.parts01 {
	position: relative;
	top: auto;
	left: auto;
	width: 100%;
	max-width: 156px;
	opacity: 1;
	z-index: 1;
}

body.miyazaki-lp .lp-difference .parts-sp.parts01 img {
	border-radius: 0;
	/* Match the original illustration's visible size after background extraction. */
	transform: scale(.83);
}

body.miyazaki-lp .section-meet .parts-sp.parts02 {
	right: -21dvh;
	bottom: 14dvh;
	width: min(74dvh, 492px);
	opacity: 1;
	z-index: 1;
}

body.miyazaki-lp .section-meet .parts-sp.parts02 img {
	border-radius: 0;
}

body.miyazaki-lp .lp-works-slider {
	--works-slide-gap: clamp(12px, 2.4vh, 16px);
	--works-slide-width: min(36.8vh, 331px);
	--works-slide-height: calc(var(--works-slide-width) * .75);
	position: relative;
	width: 100%;
	height: var(--works-slide-height);
	min-width: 0;
	min-height: 1px;
	overflow: hidden;
	/* Resolve the responsive gap to pixels for Swiper without affecting block layout. */
	column-gap: var(--works-slide-gap);
	margin: clamp(18px, 3.2dvh, 24px) -8% 0;
	pointer-events: none;
	touch-action: none;
	user-select: none;
}

body.miyazaki-lp .lp-message .lp-works-slider {
	width: calc(119.0476% + 4px);
	margin: clamp(18px, 3.2dvh, 24px) 0 0 calc(-9.5238% - 2px);
	padding: 0 0 8px;
}

body.miyazaki-lp .lp-works-slider-track {
	display: flex;
	width: 100%;
	height: 100%;
	gap: var(--works-slide-gap);
	box-sizing: content-box;
	will-change: transform;
	transition-property: transform;
	transition-timing-function: linear !important;
}

body.miyazaki-lp .lp-works-slider.swiper-initialized .lp-works-slider-track {
	gap: 0;
}

body.miyazaki-lp .lp-works-slide {
	flex: 0 0 var(--works-slide-width);
	width: var(--works-slide-width);
	height: var(--works-slide-height);
	overflow: hidden;
	margin: 0;
	aspect-ratio: 4 / 3;
	border-radius: clamp(22px, 5.2dvh, 34px);
	background: var(--color-main);
}

body.miyazaki-lp .lp-works-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
	user-select: none;
	-webkit-user-drag: none;
}

@media screen and (min-width: 481px) {
	body.miyazaki-lp .section-entry .parts-sp {
		right: -58px;
		bottom: 34px;
	}
	body.miyazaki-lp .lp-reason .parts-sp.parts01 {
		top: 45vh;
		right: -23.7dvh;
		width: min(59dvh, 648px);
	}
	body.miyazaki-lp .section-meet .parts-sp.parts02 {
		right: -21dvh;
		bottom: 14dvh;
	}
}

/*============================================================
	TODA-LIKE SECTION MOTION
*/
body.miyazaki-lp .lp-hero .motionpath,
body.miyazaki-lp .lp-hero .lp-hero-title,
body.miyazaki-lp .lp-hero .lp-lead {
	opacity: 0;
	animation: none;
}

body.miyazaki-lp .lp-hero.is-entering .motionpath {
	animation: miyazakiHeroRoadIn 1.45s cubic-bezier(0.16, 1, 0.3, 1) both;
}

body.miyazaki-lp .lp-hero.is-entering .motionpath .p-sp-h17 img,
body.miyazaki-lp .lp-hero.has-motion-played .motionpath .p-sp-h17 img {
	animation: miyazakiHeroRoadFloat 8s ease-in-out 1.3s infinite alternate;
}

body.miyazaki-lp .lp-hero.is-entering .lp-hero-title {
	transform-origin: 8% 50%;
	animation: miyazakiCatchIn 1.05s cubic-bezier(0.16, 1, 0.3, 1) 0.12s both;
}

body.miyazaki-lp .lp-hero.is-entering .lp-lead {
	transform-origin: 20% 10%;
	animation: miyazakiLeadIn 1.15s cubic-bezier(0.16, 1, 0.3, 1) 0.34s both;
}

body.miyazaki-lp .lp-hero.has-motion-played .motionpath,
body.miyazaki-lp .lp-hero.has-motion-played .lp-hero-title,
body.miyazaki-lp .lp-hero.has-motion-played .lp-lead {
	opacity: 1;
}

body.miyazaki-lp .lp-hero.has-motion-played .lp-hero-title,
body.miyazaki-lp .lp-hero.has-motion-played .lp-lead {
	transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
}

body.miyazaki-lp .lp-message .wrapper,
body.miyazaki-lp.swipe-mode .lp-reason .section-header,
body.miyazaki-lp.swipe-mode .lp-reason .parts-sp {
	opacity: 0;
}

body.miyazaki-lp .lp-message.is-entering .wrapper {
	animation: miyazakiPanelTextIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

body.miyazaki-lp .lp-message.is-entering::before,
body.miyazaki-lp .lp-message.is-entering::after,
body.miyazaki-lp .lp-message.has-motion-played::before,
body.miyazaki-lp .lp-message.has-motion-played::after {
	content: "";
	position: absolute;
	z-index: 1;
	pointer-events: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

body.miyazaki-lp .lp-message.is-entering::before,
body.miyazaki-lp .lp-message.has-motion-played::before {
	top: 12%;
	right: -10.1dvh;
	width: min(25.9dvh, 221px);
	height: min(24dvh, 180px);
	background-image: url("images/img/miyazaki/blob-cluster-01.png");
	transform: rotate(12deg);
}

body.miyazaki-lp .lp-message.is-entering::before {
	animation: miyazakiShapePop 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both;
}

body.miyazaki-lp .lp-message.is-entering::after,
body.miyazaki-lp .lp-message.has-motion-played::after {
	left: -12.4dvh;
	bottom: -12%;
	width: min(38.2dvh, 326px);
	height: min(28dvh, 350px);
	background-image: url("images/img/miyazaki/blob-cluster-02.png");
	transform: rotate(-13deg);
}

body.miyazaki-lp .lp-message.is-entering::after {
	animation: miyazakiShapePop 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.28s both;
}

body.miyazaki-lp .lp-message .wrapper {
	position: relative;
	z-index: 2;
}

body.miyazaki-lp .lp-message.has-motion-played .wrapper {
	opacity: 1;
	transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
}

body.miyazaki-lp.swipe-mode .lp-reason.is-entering .section-header {
	animation: miyazakiSectionTextIn 0.95s cubic-bezier(0.16, 1, 0.3, 1) both;
}

body.miyazaki-lp.swipe-mode .lp-reason.is-entering .parts-sp {
	opacity: 1;
	animation: miyazakiPartsIn 0.85s cubic-bezier(0.16, 1, 0.3, 1) both;
}

body.miyazaki-lp.swipe-mode .lp-reason.has-motion-played .section-header,
body.miyazaki-lp.swipe-mode .lp-reason.has-motion-played .parts-sp {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

body.miyazaki-lp.swipe-mode .lp-difference .section-header,
body.miyazaki-lp.swipe-mode .lp-job .section-header,
body.miyazaki-lp.swipe-mode .lp-point-flow .section-header,
body.miyazaki-lp.swipe-mode .section-recruit.lp-point .section-header,
body.miyazaki-lp.swipe-mode .lp-career .section-header,
body.miyazaki-lp.swipe-mode .lp-company .section-header,
body.miyazaki-lp.swipe-mode .lp-requirements .section-header,
body.miyazaki-lp.swipe-mode .lp-entry .section-header {
	opacity: 0;
}

body.miyazaki-lp.swipe-mode .lp-difference .lead,
body.miyazaki-lp.swipe-mode .lp-job .lead,
body.miyazaki-lp.swipe-mode .section-recruit.lp-point .lead,
body.miyazaki-lp.swipe-mode .lp-caption,
body.miyazaki-lp.swipe-mode .lp-info-block,
body.miyazaki-lp.swipe-mode .lp-form {
	opacity: 0;
}

body.miyazaki-lp.swipe-mode .lp-flow-slider,
body.miyazaki-lp.swipe-mode .lp-flow-slider-ui,
body.miyazaki-lp.swipe-mode .lp-job-title-image,
body.miyazaki-lp.swipe-mode .lp-point2-image,
body.miyazaki-lp.swipe-mode .lp-career-list {
	opacity: 0;
}

body.miyazaki-lp.swipe-mode .lp-message.active .lp-works-slider,
body.miyazaki-lp.swipe-mode .lp-message.is-current .lp-works-slider,
body.miyazaki-lp.swipe-mode .lp-difference.active .lp-works-slider,
body.miyazaki-lp.swipe-mode .lp-difference.is-current .lp-works-slider {
	opacity: 1;
	transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
}

body.miyazaki-lp.swipe-mode .lp-message.active .wrapper,
body.miyazaki-lp.swipe-mode .lp-message.is-current .wrapper,
body.miyazaki-lp.swipe-mode .lp-difference.active .section-header,
body.miyazaki-lp.swipe-mode .lp-difference.is-current .section-header {
	opacity: 1;
}

body.miyazaki-lp.swipe-mode .lp-message .wrapper,
body.miyazaki-lp.swipe-mode .lp-difference .section-header {
	opacity: 1 !important;
}

body.miyazaki-lp.swipe-mode .lp-message .lp-works-slider,
body.miyazaki-lp.swipe-mode .lp-difference .lp-works-slider {
	visibility: visible !important;
	opacity: 1 !important;
	animation: none !important;
	transform: none !important;
}

body.miyazaki-lp.swipe-mode .lp-difference .parts-sp,
body.miyazaki-lp.swipe-mode .lp-job .parts-sp,
body.miyazaki-lp.swipe-mode .lp-point-flow .parts-sp,
body.miyazaki-lp.swipe-mode .section-recruit.lp-point .parts-sp,
body.miyazaki-lp.swipe-mode .lp-career .parts-sp,
body.miyazaki-lp.swipe-mode .lp-entry .parts-sp {
	opacity: 0;
}

body.miyazaki-lp.swipe-mode .lp-difference.is-entering .section-header,
body.miyazaki-lp.swipe-mode .lp-job.is-entering .section-header,
body.miyazaki-lp.swipe-mode .lp-point-flow.is-entering .section-header,
body.miyazaki-lp.swipe-mode .section-recruit.lp-point.is-entering .section-header,
body.miyazaki-lp.swipe-mode .lp-career.is-entering .section-header,
body.miyazaki-lp.swipe-mode .lp-company.is-entering .section-header,
body.miyazaki-lp.swipe-mode .lp-requirements.is-entering .section-header,
body.miyazaki-lp.swipe-mode .lp-entry.is-entering .section-header {
	animation: miyazakiRichTitleIn 0.98s cubic-bezier(0.16, 1, 0.3, 1) both;
}

body.miyazaki-lp.swipe-mode .lp-difference.is-entering .lead,
body.miyazaki-lp.swipe-mode .lp-job.is-entering .lead,
body.miyazaki-lp.swipe-mode .section-recruit.lp-point.is-entering .lead,
body.miyazaki-lp.swipe-mode .lp-point-flow.is-entering .lp-caption,
body.miyazaki-lp.swipe-mode .lp-career.is-entering .lp-caption,
body.miyazaki-lp.swipe-mode .lp-company.is-entering .lp-info-block,
body.miyazaki-lp.swipe-mode .lp-requirements.is-entering .lp-info-block,
body.miyazaki-lp.swipe-mode .lp-entry.is-entering .lp-form {
	animation: miyazakiRichCopyIn 0.94s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
}

body.miyazaki-lp.swipe-mode .lp-difference.is-entering .lp-works-slider,
body.miyazaki-lp.swipe-mode .lp-message.is-entering .lp-works-slider,
body.miyazaki-lp.swipe-mode .lp-job.is-entering .lp-job-title-image,
body.miyazaki-lp.swipe-mode .section-recruit.lp-point.is-entering .lp-point2-image {
	animation: miyazakiRichMediaIn 1.08s cubic-bezier(0.16, 1, 0.3, 1) 0.34s both;
}

body.miyazaki-lp.swipe-mode .lp-point-flow.is-entering .lp-flow-slider {
	animation: miyazakiRichMediaIn 1.08s cubic-bezier(0.16, 1, 0.3, 1) 0.34s both;
}

body.miyazaki-lp.swipe-mode .lp-point-flow.is-entering .lp-flow-slider-ui {
	animation: miyazakiRichCopyIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.48s both;
}

body.miyazaki-lp.swipe-mode .lp-career.is-entering .lp-career-list {
	animation: miyazakiRichMediaIn 1s cubic-bezier(0.16, 1, 0.3, 1) 0.22s both;
}

body.miyazaki-lp.swipe-mode .lp-difference.is-entering .parts-sp,
body.miyazaki-lp.swipe-mode .lp-job.is-entering .parts-sp,
body.miyazaki-lp.swipe-mode .lp-point-flow.is-entering .parts-sp,
body.miyazaki-lp.swipe-mode .section-recruit.lp-point.is-entering .parts-sp,
body.miyazaki-lp.swipe-mode .lp-career.is-entering .parts-sp,
body.miyazaki-lp.swipe-mode .lp-entry.is-entering .parts-sp {
	animation: miyazakiRichDecoIn 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
}

body.miyazaki-lp.swipe-mode .lp-requirements.is-entering::before {
	animation: miyazakiOverlayBreath 1.15s ease-out both;
}

body.miyazaki-lp.swipe-mode .lp-requirements.is-entering {
	animation: miyazakiBgZoomIn 1.2s cubic-bezier(0.16, 1, 0.3, 1) both;
}

body.miyazaki-lp.swipe-mode .lp-difference.has-motion-played .section-header,
body.miyazaki-lp.swipe-mode .lp-job.has-motion-played .section-header,
body.miyazaki-lp.swipe-mode .lp-point-flow.has-motion-played .section-header,
body.miyazaki-lp.swipe-mode .section-recruit.lp-point.has-motion-played .section-header,
body.miyazaki-lp.swipe-mode .lp-career.has-motion-played .section-header,
body.miyazaki-lp.swipe-mode .lp-company.has-motion-played .section-header,
body.miyazaki-lp.swipe-mode .lp-requirements.has-motion-played .section-header,
body.miyazaki-lp.swipe-mode .lp-entry.has-motion-played .section-header,
body.miyazaki-lp.swipe-mode .lp-difference.has-motion-played .lead,
body.miyazaki-lp.swipe-mode .lp-job.has-motion-played .lead,
body.miyazaki-lp.swipe-mode .section-recruit.lp-point.has-motion-played .lead,
body.miyazaki-lp.swipe-mode .lp-point-flow.has-motion-played .lp-caption,
body.miyazaki-lp.swipe-mode .lp-career.has-motion-played .lp-caption,
body.miyazaki-lp.swipe-mode .lp-company.has-motion-played .lp-info-block,
body.miyazaki-lp.swipe-mode .lp-requirements.has-motion-played .lp-info-block,
body.miyazaki-lp.swipe-mode .lp-entry.has-motion-played .lp-form,
body.miyazaki-lp.swipe-mode .lp-difference.has-motion-played .lp-works-slider,
body.miyazaki-lp.swipe-mode .lp-message.has-motion-played .lp-works-slider,
body.miyazaki-lp.swipe-mode .lp-point-flow.has-motion-played .lp-flow-slider,
body.miyazaki-lp.swipe-mode .lp-point-flow.has-motion-played .lp-flow-slider-ui,
body.miyazaki-lp.swipe-mode .lp-job.has-motion-played .lp-job-title-image,
body.miyazaki-lp.swipe-mode .section-recruit.lp-point.has-motion-played .lp-point2-image,
body.miyazaki-lp.swipe-mode .lp-career.has-motion-played .lp-career-list,
body.miyazaki-lp.swipe-mode .lp-difference.has-motion-played .parts-sp,
body.miyazaki-lp.swipe-mode .lp-job.has-motion-played .parts-sp,
body.miyazaki-lp.swipe-mode .lp-point-flow.has-motion-played .parts-sp,
body.miyazaki-lp.swipe-mode .section-recruit.lp-point.has-motion-played .parts-sp,
body.miyazaki-lp.swipe-mode .lp-career.has-motion-played .parts-sp,
body.miyazaki-lp.swipe-mode .lp-entry.has-motion-played .parts-sp {
	opacity: 1;
	transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
}

@keyframes miyazakiHeroRoadIn {
	0% {
		opacity: 0;
		transform: translate(-50%, -58%) scale(0.9) rotate(8deg);
	}
	100% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1) rotate(0deg);
	}
}

@keyframes miyazakiHeroRoadFloat {
	0% {
		transform: translate3d(-10px, -8px, 0) rotate(-1.8deg) scale(1);
	}
	100% {
		transform: translate3d(12px, 10px, 0) rotate(1.8deg) scale(1.03);
	}
}

@keyframes miyazakiCatchIn {
	0% {
		opacity: 0;
		transform: translate3d(-54px, 38px, 0) rotate(-7deg) scale(0.9);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
	}
}

@keyframes miyazakiLeadIn {
	0% {
		opacity: 0;
		transform: translate3d(34px, 52px, 0) rotate(5deg) scale(0.92);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
	}
}

@keyframes miyazakiPanelTextIn {
	0% {
		opacity: 0;
		transform: translate3d(0, 42px, 0) rotate(-2deg);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) rotate(0deg);
	}
}

@keyframes miyazakiDeadendIn {
	0% {
		opacity: 0;
		transform: translate3d(-18px, 20px, 0) rotate(-5deg) scale(0.84);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
	}
}

@keyframes miyazakiShapePop {
	0% {
		opacity: 0;
		transform: translate3d(0, 34px, 0) rotate(-8deg) scale(0.72);
	}
	100% {
		opacity: 1;
	}
}

@keyframes miyazakiSectionTextIn {
	0% {
		opacity: 0;
		transform: translate3d(-28px, 36px, 0);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes miyazakiPartsIn {
	0% {
		opacity: 0;
		transform: translate3d(0, 28px, 0) rotate(8deg) scale(0.82);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
	}
}

@keyframes miyazakiRichTitleIn {
	0% {
		opacity: 0;
		filter: blur(10px);
		transform: translate3d(-22px, 34px, 0) rotate(-3deg) scale(0.9);
	}
	58% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(4px, -3px, 0) rotate(0.8deg) scale(1.025);
	}
	100% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
	}
}

@keyframes miyazakiRichCopyIn {
	0% {
		opacity: 0;
		filter: blur(7px);
		transform: translate3d(18px, 28px, 0) rotate(1.6deg) scale(0.96);
	}
	100% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
	}
}

@keyframes miyazakiRichMediaIn {
	0% {
		opacity: 0;
		filter: blur(8px) saturate(0.86);
		transform: translate3d(0, 46px, 0) rotate(2.4deg) scale(0.88);
	}
	64% {
		opacity: 1;
		filter: blur(0) saturate(1.04);
		transform: translate3d(0, -4px, 0) rotate(-0.6deg) scale(1.018);
	}
	100% {
		opacity: 1;
		filter: blur(0) saturate(1);
		transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
	}
}

@keyframes miyazakiRichDecoIn {
	0% {
		opacity: 0;
		filter: blur(9px);
		transform: translate3d(18px, 38px, 0) rotate(13deg) scale(0.72);
	}
	68% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(-3px, -3px, 0) rotate(-1.2deg) scale(1.05);
	}
	100% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
	}
}

@keyframes miyazakiPoint2DecoIn {
	0% {
		opacity: 0;
		filter: blur(9px);
		transform: translate3d(18px, 38px, 0) rotate(-2deg) scaleX(-1) scale(0.72);
	}
	68% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(-3px, -3px, 0) rotate(-14.2deg) scaleX(-1) scale(1.05);
	}
	100% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0) rotate(-13deg) scaleX(-1) scale(1);
	}
}

@keyframes miyazakiOverlayBreath {
	0% {
		opacity: 0.38;
	}
	100% {
		opacity: 1;
	}
}

@keyframes miyazakiBgZoomIn {
	0% {
		background-position: center 56%;
	}
	100% {
		background-position: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.miyazaki-lp .lp-hero .motionpath,
	body.miyazaki-lp .lp-hero .motionpath .p-sp-h17 img,
	body.miyazaki-lp .lp-hero .lp-hero-title,
	body.miyazaki-lp .lp-hero .lp-lead,
	body.miyazaki-lp .lp-hero.is-entering .motionpath,
	body.miyazaki-lp .lp-hero.is-entering .motionpath .p-sp-h17 img,
	body.miyazaki-lp .lp-hero.is-entering .lp-hero-title,
	body.miyazaki-lp .lp-hero.is-entering .lp-lead,
	body.miyazaki-lp .lp-message.is-entering .wrapper,
	body.miyazaki-lp .lp-message.is-entering::before,
	body.miyazaki-lp .lp-message.is-entering::after,
	body.miyazaki-lp .lp-reason.is-entering .section-header,
	body.miyazaki-lp .lp-reason.is-entering .parts-sp,
	body.miyazaki-lp .lp-difference.is-entering .section-header,
	body.miyazaki-lp .lp-job.is-entering .section-header,
	body.miyazaki-lp .lp-point-flow.is-entering .section-header,
	body.miyazaki-lp .section-recruit.lp-point.is-entering .section-header,
	body.miyazaki-lp .lp-career.is-entering .section-header,
	body.miyazaki-lp .lp-company.is-entering .section-header,
	body.miyazaki-lp .lp-requirements.is-entering .section-header,
	body.miyazaki-lp .lp-entry.is-entering .section-header,
	body.miyazaki-lp .lp-difference.is-entering .lead,
	body.miyazaki-lp .lp-job.is-entering .lead,
	body.miyazaki-lp .section-recruit.lp-point.is-entering .lead,
	body.miyazaki-lp .lp-point-flow.is-entering .lp-caption,
	body.miyazaki-lp .lp-career.is-entering .lp-caption,
	body.miyazaki-lp .lp-company.is-entering .lp-info-block,
	body.miyazaki-lp .lp-requirements.is-entering .lp-info-block,
	body.miyazaki-lp .lp-entry.is-entering .lp-form,
	body.miyazaki-lp .lp-difference.is-entering .lp-works-slider,
	body.miyazaki-lp .lp-message.is-entering .lp-works-slider,
	body.miyazaki-lp .lp-point-flow.is-entering .lp-flow-slider,
	body.miyazaki-lp .lp-point-flow.is-entering .lp-flow-slider-ui,
	body.miyazaki-lp .lp-job.is-entering .lp-job-title-image,
	body.miyazaki-lp .section-recruit.lp-point.is-entering .lp-point2-image,
	body.miyazaki-lp .lp-career.is-entering .lp-career-list,
	body.miyazaki-lp .lp-difference.is-entering .parts-sp,
	body.miyazaki-lp .lp-job.is-entering .parts-sp,
	body.miyazaki-lp .lp-point-flow.is-entering .parts-sp,
	body.miyazaki-lp .section-recruit.lp-point.is-entering .parts-sp,
	body.miyazaki-lp .lp-career.is-entering .parts-sp,
	body.miyazaki-lp .lp-entry.is-entering .parts-sp,
	body.miyazaki-lp .lp-company.is-entering,
	body.miyazaki-lp .lp-requirements.is-entering,
	body.miyazaki-lp .lp-company.is-entering::before,
	body.miyazaki-lp .lp-requirements.is-entering::before {
		animation: none;
	}
	body.miyazaki-lp .lp-message .wrapper,
	body.miyazaki-lp .lp-reason .section-header,
	body.miyazaki-lp .lp-reason .parts-sp,
	body.miyazaki-lp .lp-difference .section-header,
	body.miyazaki-lp .lp-job .section-header,
	body.miyazaki-lp .lp-point-flow .section-header,
	body.miyazaki-lp .section-recruit.lp-point .section-header,
	body.miyazaki-lp .lp-career .section-header,
	body.miyazaki-lp .lp-company .section-header,
	body.miyazaki-lp .lp-requirements .section-header,
	body.miyazaki-lp .lp-entry .section-header,
	body.miyazaki-lp .lp-difference .lead,
	body.miyazaki-lp .lp-job .lead,
	body.miyazaki-lp .section-recruit.lp-point .lead,
	body.miyazaki-lp .lp-point-flow .lp-caption,
	body.miyazaki-lp .lp-caption,
	body.miyazaki-lp .lp-info-block,
	body.miyazaki-lp .lp-form,
	body.miyazaki-lp .lp-difference .lp-works-slider,
	body.miyazaki-lp .lp-message .lp-works-slider,
	body.miyazaki-lp .lp-flow-slider,
	body.miyazaki-lp .lp-flow-slider-ui,
	body.miyazaki-lp .lp-job-title-image,
	body.miyazaki-lp .lp-point2-image,
	body.miyazaki-lp .lp-career-list,
	body.miyazaki-lp .lp-difference .parts-sp,
	body.miyazaki-lp .lp-job .parts-sp,
	body.miyazaki-lp .lp-point-flow .parts-sp,
	body.miyazaki-lp .section-recruit.lp-point .parts-sp,
	body.miyazaki-lp .lp-career .parts-sp,
	body.miyazaki-lp .lp-entry .parts-sp {
		opacity: 1;
	}
}
/*============================================================
	WORKS: RESERVED HEADING COLUMNS AND TWO PHOTO ROWS
*/
body.miyazaki-lp.swipe-mode .lp-difference {
	justify-content: flex-start;
}

body.miyazaki-lp.swipe-mode .lp-difference .section-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: var(--swipe-section-height);
	/* Very short windows can scroll inside the panel instead of cropping photos. */
	min-height: 480px;
	flex-shrink: 0;
	padding-top: clamp(16px, 3dvh, 40px);
	padding-bottom: clamp(16px, 3dvh, 40px);
}

body.miyazaki-lp.swipe-mode .lp-difference .section-header {
	flex: 0 0 auto;
	margin: 0;
}

body.miyazaki-lp .lp-works-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) max-content;
	align-items: center;
	gap: 16px;
	padding: 0 8% 0 4%;
}

body.miyazaki-lp .lp-works-heading-title {
	text-align: right;
}

/* The illustration now enters with its heading, keeping the column gap intact. */
body.miyazaki-lp.swipe-mode .lp-difference .lp-works-heading .parts-sp {
	opacity: 1;
	animation: none;
	transform: none;
}

body.miyazaki-lp .lp-difference .section-header > .lead {
	margin: 0;
	text-align: right;
}

body.miyazaki-lp .lp-works-gallery {
	display: grid;
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: clamp(10px, 1.6dvh, 18px);
	flex: 0 0 var(--works-gallery-height, 280px);
	width: 100%;
	min-width: 0;
	min-height: 160px;
	max-height: 660px;
	margin-top: clamp(18px, 3dvh, 30px);
}

body.miyazaki-lp .lp-difference .lp-works-slider {
	margin: 0;
}

/*============================================================
	POINT 03: CAREER PATH AND SUPPORTING ARTWORK
*/
body.miyazaki-lp.swipe-mode .lp-career {
	justify-content: flex-start;
}

body.miyazaki-lp.swipe-mode .lp-career > .section-container {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	justify-content: center;
	gap: clamp(8px, 1.4dvh, 20px);
	height: var(--swipe-section-height);
	min-height: 0;
	padding-top: clamp(12px, 2dvh, 32px);
	padding-bottom: clamp(28px, 5dvh, 60px);
}

body.miyazaki-lp .lp-career-decor {
	position: relative;
	display: flex;
	flex: 1.4 1 0;
	align-items: center;
	justify-content: space-between;
	width: calc(100% + 32px);
	min-height: 0;
	max-height: 270px;
	margin: 0 -16px;
	container-type: size;
	pointer-events: none;
}

body.miyazaki-lp .lp-career-corner {
	position: absolute;
	left: calc(16px - min(8vw, calc(var(--site-width) * .08)) - 9dvh);
	bottom: calc(-1 * min(8px, 1dvh));
	width: min(54dvh, 470px, 100vw);
	/* Reserve room for the rotated yellow accent on narrow screens. */
	max-width: calc(min(100vw, var(--site-width)) + 9dvh - min(108px, 49.2cqh) - 12px);
	height: auto;
}

body.miyazaki-lp .lp-career-corner img {
	display: block;
	width: 100%;
	height: auto;
}

body.miyazaki-lp .lp-career-accent {
	position: absolute;
	top: 55%;
	right: calc(16px - min(8vw, calc(var(--site-width) * .08)));
	display: block;
	width: min(180px, 82cqh);
	max-width: none;
	height: auto;
	object-fit: contain;
	margin: 0;
	transform: translate(50%, -50%) rotate(12deg);
}

body.miyazaki-lp .lp-career-accent--lower {
	top: 50%;
	right: auto;
	left: calc(16px - min(8vw, calc(var(--site-width) * .08)));
	transform: translate(-50%, -50%) rotate(192deg);
}

body.miyazaki-lp.swipe-mode .lp-career .section-header {
	flex: 0 0 auto;
	margin: 0;
}

body.miyazaki-lp .lp-career .section-header h3 {
	margin-bottom: 0;
}

body.miyazaki-lp .lp-career .lp-career-list {
	--career-card-gap: 12px;
	position: relative;
	flex: 0 0 auto;
	margin: 0;
}

body.miyazaki-lp .lp-career-list::before {
	content: "";
	position: absolute;
	top: calc((100% - var(--career-card-gap) * 2) / 6);
	bottom: calc((100% - var(--career-card-gap) * 2) / 6);
	left: -12px;
	width: 1px;
	background: rgba(23, 50, 77, .24);
	pointer-events: none;
}

body.miyazaki-lp .lp-career-step-number {
	position: absolute;
	top: 50%;
	left: -22px;
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	border: 1px solid rgba(23, 50, 77, .22);
	border-radius: 50%;
	background: var(--color-base);
	color: var(--color-main);
	font-family: 'Montserrat', sans-serif;
	font-size: 9px;
	line-height: 1;
	transform: translateY(-50%);
}

body.miyazaki-lp .lp-career-list li:nth-child(2) .lp-career-step-number {
	border-color: var(--color-accent);
	background: var(--color-accent);
}

body.miyazaki-lp .lp-career .lp-career-list li:last-child {
	margin-bottom: 0;
}

body.miyazaki-lp .lp-career .lp-caption {
	flex: 0 0 auto;
	margin: 0;
	text-align: center;
}

/* The two artwork slots share only the space left after the text and cards. */
body.miyazaki-lp .lp-career-steps {
	position: relative;
	flex: 1.2 1 0;
	align-self: center;
	width: min(calc(100% + 32px), 440px);
	min-height: 0;
	max-height: 280px;
	margin: 0;
	container-type: size;
	pointer-events: none;
}

/* Enlarge the stairs and crop part of the third step beyond the panel's right edge. */
body.miyazaki-lp .lp-career-steps-art {
	position: absolute;
	right: calc(40px - min(8vw, calc(var(--site-width) * .08)));
	bottom: calc(clamp(12px, 2dvh, 32px) - clamp(28px, 5dvh, 60px));
	width: calc(min(calc(100cqw - min(108px, 49.2cqh)), 158cqh) * 1.5);
	aspect-ratio: 1.58;
	overflow: hidden;
	transform: translateX(19%);
}

body.miyazaki-lp .lp-career-steps-art img {
	position: absolute;
	top: -73%;
	left: -27.5%;
	width: 155%;
	max-width: none;
	height: auto;
}

@media (max-height: 740px) {
	body.miyazaki-lp .lp-career .lp-career-list {
		--career-card-gap: 8px;
	}
	body.miyazaki-lp .lp-career-list li {
		margin-bottom: var(--career-card-gap);
		padding-top: 9px;
		padding-bottom: 9px;
	}
}

/* On very short landscape screens, prioritize every line of copy over decoration. */
@media (max-height: 450px) {
	body.miyazaki-lp.swipe-mode .lp-career > .section-container {
		gap: 6px;
		padding-top: 6px;
		padding-bottom: 6px;
	}
	body.miyazaki-lp .lp-career-decor,
	body.miyazaki-lp .lp-career-steps {
		display: none;
	}
	body.miyazaki-lp .lp-career .lp-career-list {
		--career-card-gap: 6px;
	}
	body.miyazaki-lp .lp-career-list li {
		padding-top: 4px;
		padding-bottom: 4px;
	}
}
