@charset "UTF-8";

/* base
------------------------------------------------------------ */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{overflow:visible;box-sizing:content-box;height:0}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;transition:0.3s all;}abbr[title]{text-decoration:none;-webkit-text-decoration:none dotted;text-decoration:none dotted;border-bottom:none}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;vertical-align:baseline;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{white-space:normal;color:inherit;display:table;box-sizing:border-box;max-width:100%;padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}*,::after,::before{box-sizing:border-box}html{font-size:62.5%}blockquote,button,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,ol,p,pre,td,th,ul{margin:0;padding:0}li{list-style:none}table{border-spacing:0;border-collapse:collapse}b,em,strong{font-style:normal}strong{font-weight:inherit}small{font-size:inherit}a{text-decoration:none;color:#333}a:not([class]){text-decoration:none}img{vertical-align:top;width:auto;max-width:100%;height:auto}input[type=button],input[type=image],input[type=submit],input[type=text],textarea{border-radius:0;-webkit-appearance:none}



/* font
------------------------------------------------------------ */

@font-face {
	font-family: "AP-OTF-A1GothicStd";
	font-style: normal;
	font-weight: 300;
	src: url("/assets/fonts/AP-OTF-A1GothicStd-Light.woff2") format('woff2'),
		url("/assets/fonts/AP-OTF-A1GothicStd-Light.woff") format('woff');
}

@font-face {
	font-family: "AP-OTF-A1GothicStd";
	font-style: normal;
	font-weight: 400;
	src: url("/assets/fonts/AP-OTF-A1GothicStd-Regular.woff2") format('woff2'),
		url("/assets/fonts/AP-OTF-A1GothicStd-Regular.woff") format('woff');
}

@font-face {
	font-family: "AP-OTF-A1GothicStd";
	font-style: normal;
	font-weight: 500;
	src: url("/assets/fonts/AP-OTF-A1GothicStd-Medium.woff2") format('woff2'),
		url("/assets/fonts/AP-OTF-A1GothicStd-Medium.woff") format('woff');
}

@font-face {
	font-family: "AP-OTF-A1GothicStd";
	font-style: normal;
	font-weight: 700;
	src: url("/assets/fonts/AP-OTF-A1GothicStd-Bold.woff2") format('woff2'),
		url("/assets/fonts/AP-OTF-A1GothicStd-Bold.woff") format('woff');
}




/* common
------------------------------------------------------------ */
body {
	color: #333;
  font-family: "AP-OTF-A1GothicStd", Roboto,Noto Sans JP,"ヒラギノ角 Pro W3","Hiragino Kaku Pro W3","メイリオ",Meiryo,"MS Pゴシック","MS PGothic",sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
	font-weight: 400;
  line-height: 1.875;
	min-width: 320px;
}
body * {
	box-sizing: border-box;
}
main {
	overflow: hidden;
	padding-top: 77px;
}
@media (min-width: 769px) {
	main, footer {
		min-width: 1280px;
	}
	a:hover {
		opacity: .5;
	}
	.u-only-sp {
		display: none !important;
	}
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media (max-width: 768px) {
	main {
		padding-top: 60px;
	}
	.u-only-pc {
		display: none !important;
	}
}



/* header
------------------------------------------------------------ */
.str-header-kirin {
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	height: 77px;
	padding-left: 18px;
	width: 100%;
	z-index: 1000;
}
.str-header-kirin__inner {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	height: 100%;
}
.str-header-kirin-logo {
	line-height: 1;
	width: 345px;
}
.str-header-kirin-menu__navigation > ul > li {
	font-weight: 500;
}
.str-header-kirin-menu__entry > a {
	background: #F00000;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.7rem;
	font-weight: 500;
	height: 77px;
	line-height: 1;
  letter-spacing: 0.06em;
	padding-inline: 20px;
	text-align: center;
}
.str-header-kirin-menu__entry .text-and {
	font-family: "Montserrat", sans-serif;
	font-size: 2.1rem;
	line-height: 1;
	margin-inline: 6px;
}
@media (min-width: 769px) {
	.str-header-kirin-menutrigger {
		display: none;
	}
	.str-header-kirin-menu,
	.str-header-kirin-menu__navigation > ul {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-end;
		align-items: center;
	}
	.str-header-kirin-menu__logo,
	.str-header-kirin-menu__close {
		display: none;
	}
	.str-header-kirin-menu__navigation > ul > li {
		margin-right: 30px;
	}
	.str-header-kirin-menu__navigation > ul > li a.is-current {
		color: #f00000;
	}
	.str-header-kirin-menu__entry > a.is-current > span {
		border-bottom: 2px solid #fff;
		padding-block: 5px;
	}
}
@media (min-width: 769px) and (max-width: 1020px) {
	.str-header-kirin-logo {
		width: 250px;
	}
	.str-header-kirin-menu__navigation > ul > li {
		font-size: 1.3rem;
		margin-right: 15px;
	}
	.str-header-kirin-menu__entry > a {
		font-size: 1.4rem;
		padding-inline: 16px;
	}
	.str-header-kirin-menu__entry .text-and {
		font-size: 1.7rem;
		margin-inline: 4px;
	}
}
@media (max-width: 768px) {
	.str-header-kirin {
		height: 60px;
		padding-left: 10px;
	}
	.str-header-kirin-logo {
		width: 259px;
	}
	.str-header-kirin-menutrigger {
		background: #f00000;
		cursor: pointer;
		height: 60px;
		position: absolute;
		top: 0;
		right: 0;
		width: 95px;
		z-index: 1;
	}
	.str-header-kirin-menutrigger span {
		background: #fff;
		height: 2.5px;
		left: 20px;
		transform: translateY(-50%);
		position: absolute;
	}
	.str-header-kirin-menutrigger .top-bar {
		top: calc(50% - 10px);
		width: 47px;
	}
	.str-header-kirin-menutrigger .middle-bar {
		top: 50%;
		width: 38px;
	}
	.str-header-kirin-menutrigger .bottom-bar {
		top: calc(50% + 10px);
		width: 54px;
	}
	.str-header-kirin-menu {
		background: #fff;
		height: 100vh;
		height: 100dvh;
		overflow-y: auto;
		padding: 0 32px 48px;
    position: fixed;
    top: 0;
    left: 0;
    transform: translateY(-100vh);
    transition: 0.3s all;
    width: 100vw;
    z-index: 1001;
	}
	header.is-open .str-header-kirin-menu {
    transform: translateY(0);
	}
	.str-header-kirin-menu__logo {
		height: 60px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		line-height: 1;
		margin-inline: -32px;
		padding-left: 18px;
	}
	.str-header-kirin-menu__logo img {
		width: 250px;
	}
	.str-header-kirin-menu__close {
		background: #f00000;
		cursor: pointer;
		height: 60px;
		position: absolute;
		top: 0;
		right: 0;
		width: 95px;
		z-index: 1;
	}
	.str-header-kirin-menu__close span {
		background: #fff;
		height: 2.5px;
		position: absolute;
		width: 40px;
	}
	.str-header-kirin-menu__close .top-bar {
		left: 55px;
		top: 16px;
		transform: translateX(-50%) rotate(45deg);
		transform-origin: left top;
	}
	.str-header-kirin-menu__close .bottom-bar {
		top: 30px;
    right: 6px;
		transform: translateX(-50%) rotate(-45deg);
	}
	.str-header-kirin-menu__navigation {
		border-top: 1px solid #262626;
		margin-top: 30px;
	}
	.str-header-kirin-menu__navigation > ul > li {
		border-bottom: 1px solid #262626;
	}
	.str-header-kirin-menu__navigation > ul > li a {
		display: block;
		line-height: 1.5;
		padding: 14px 34px 14px 0;
		position: relative;
	}
	.str-header-kirin-menu__navigation > ul > li a:after {
		background-image: url(/assets/images/icon-arrow-right-04.svg);
		background-repeat: no-repeat;
		background-position: left top;
		background-size: 100% auto;
		content: "";
		height: 20px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 0;
		width: 20px;
	}
	.str-header-kirin-menu__entry {
		margin-top: 30px;
	}
	.str-header-kirin-menu__entry > a {
		border-radius: 5px;
		font-size: 1.4rem;
		height: 47px;
	}
	.str-header-kirin-menu__entry .text-and {
		font-size: 1.5rem;
		margin-inline: 3px;
	}
}





/* footer
------------------------------------------------------------ */
.str-footer-kirin {
	background: #F4F5E5;
	margin-top: 190px;
	padding: 115px 60px 85px;
}
.str-footer-kirin__inner {
	margin-inline: auto;
	max-width: 1160px;
	position: relative;
}
.str-footer-kirin-page-top {
	font-family: "Montserrat", sans-serif;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	position: absolute;
	right: 0;
	top: -160px;
}
.str-footer-kirin-page-top__link {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	height: 23px;
	padding-right: 34px;
	position: relative;
}
.str-footer-kirin-page-top__link:after {
	background-image: url(/assets/images/icon-arrow-pagetop.svg);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;
	content: "";
	height: 23px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	width: 23px;
}
.str-footer-kirin-logo {
	width: 254px;
}
.str-footer-kirin-upper,
.str-footer-kirin-lower {
	margin-top: 70px;
}
.str-footer-kirin-information {
	font-weight: 500;
}
.str-footer-kirin-menu .text-heading {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.3;
}
.str-footer-kirin-menu .list-secondary {
	margin-top: 24px;
}
.str-footer-kirin-menu .list-secondary > li {
	line-height: 1.3;
}
.str-footer-kirin-menu .list-secondary > li:nth-of-type(n+2) {
	margin-top: 10px;
}
.str-footer-kirin-menu .list-secondary > li a {
	display: inline-block;
	padding-left: 18px;
	position: relative;
}
.str-footer-kirin-menu .list-secondary > li a:before {
	background: #F00000;
	content: "";
	height: 1px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	transition:0.3s all;
	width: 6px;
}
.str-footer-kirin-links > ul > li {
	font-size: 1.3rem;
	font-weight: 500;
}
.str-footer-kirin-copyright {
	color: #898989;
	font-size: 1.1rem;
	font-weight: 500;
}
@media (min-width: 769px) {
	.str-footer-kirin-upper,
	.str-footer-kirin-lower {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
	}
	.str-footer-kirin-lower {
		align-items: center;
	}
	.str-footer-kirin-menu {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-end;
	}
	.str-footer-kirin-menu__item {
		padding-right: 40px;
	}
	.str-footer-kirin-menu__item:nth-last-of-type(1) {
		padding-right: 0;
	}
	.str-footer-kirin-menu .list-secondary > li a:hover {
		color: #F00000;
		opacity: 1;
	}
	.str-footer-kirin-menu .list-secondary > li a:hover:before {
		width: 13px;
	}
	.str-footer-kirin-links > ul {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
	}
	.str-footer-kirin-links > ul > li:nth-of-type(n+2) {
		margin-left: 30px;
	}
}
@media (max-width: 768px) {
	.str-footer-kirin {
		margin-top: 160px;
		padding: 48px 32px;
	}
	.str-footer-kirin-page-top {
		top: -110px;
	}
	.str-footer-kirin-page-top__link {
		height: 30px;
		padding-right: 44px;
	}
	.str-footer-kirin-page-top__link:after {
		height: 30px;
		width: 30px;
	}
	.str-footer-kirin-upper,
	.str-footer-kirin-lower {
		margin-top: 30px;
	}
	.str-footer-kirin-information {
		font-size: 1.3rem;
	}
	.str-footer-kirin-menu,
	.str-footer-kirin-menu__item:nth-of-type(n+2) {
		margin-top: 30px;
	}
	.str-footer-kirin-menu .text-heading {
		font-size: 1.8rem;
	}
	.str-footer-kirin-menu .list-secondary {
		margin-top: 16px;
	}
	.str-footer-kirin-menu .list-secondary > li:nth-of-type(n+2) {
		margin-top: 6px;
	}
	.str-footer-kirin-menu .list-secondary > li a {
		display: inline-block;
		padding-left: 18px;
		position: relative;
	}
	.str-footer-kirin-menu .list-secondary > li a:before {
		background: #F00000;
		content: "";
		height: 1px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		transition:0.3s all;
		width: 6px;
	}
	.str-footer-kirin-links > ul > li:nth-of-type(n+2) {
		margin-top: 12px;
	}
	.str-footer-kirin-copyright {
		color: #333;
		font-size: 0.9rem;
		margin-top: 30px;
	}
}


/* main
------------------------------------------------------------ */
main > *:first-child {
	margin-top: 100px;
}
@media (max-width: 768px) {
	main > *:first-child {
		margin-top: 32px;
	}
}



/* component
------------------------------------------------------------ */

/* section */
.l-section {
  padding-inline: 60px;
  position: relative;
}
.l-section__inner {
	margin-inline: auto;
  max-width: 1160px;
}
@media (max-width: 768px) {
  .l-section {
    padding-inline: 32px;
  }
}


/* heading */
.c-heading-02 {
	font-size: 3.6rem;
	font-weight: 500;
	line-height: 1;
}
.c-heading-02 .text-english {
	color: #F00000;
	display: table;
	font-family: "Montserrat", sans-serif;
	font-size: 1.5rem;
	line-height: 1.2;
	margin-bottom: 16px;
	padding-left: 16px;
	position: relative;
}
.c-heading-02 .text-english:before {
	background: #F00000;
	border-radius: 50%;
	content: "";
	height: 10px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
}
.c-heading-02 .text-main {
	display: block;
	line-height: 1.3;
}
.c-heading-02[data-align="center"] {
	text-align: center;
}
.c-heading-02[data-align="center"] .text-english {
	margin-inline: auto;
}
@media (max-width: 768px) {
	.c-heading-02 {
		font-size: 2.4rem;
	}
	.c-heading-02 .text-english {
		font-size: 1.2rem;
		margin-bottom: 10px;
		padding-left: 10px;
	}
	.c-heading-02 .text-english:before {
		height: 7px;
		width: 7px;
	}
}



/* text */
.u-align-left {
	text-align: left !important;
}
.u-align-center {
	text-align: center !important;
}
.u-align-right {
	text-align: right !important;
}


/* margin */
.u-mt-none {
	margin-top: 0 !important;
}



/* button */
.c-button {
	display: table;
	max-width: 100%;
	margin-top: 40px;
	width: 324px;
}
.c-button[data-align="center"] {
	margin-inline: auto;
}
.c-button + .c-button {
	margin-top: 20px;
}
.c-button a {
	background: #f00000;
	border-radius: 5px;
	color: #fff;
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.6;
	padding: 10px 48px 10px 12px;
	position: relative;
	text-decoration: none !important;
}
.c-button a:after {
	background-image: url(/assets/images/icon-arrow-right-01.svg);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;
	content: "";
	height: 23px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 12px;
	width: 23px;
}
.c-button--viewmore {
	margin-top: 30px;
	width: 178px;
}
.c-button--viewmore a {
	border-radius: 3px;
	font-size: 1rem;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	padding-block: 13px;
}
@media (min-width: 769px) {
}
@media (max-width: 768px) {
}



/* banner */
.c-banner {
	margin-inline: auto;
	max-width: 1160px;
	overflow: hidden;
	position: relative;
}
.c-banner a {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
  height: 100%;
	padding-inline: 60px;
	position: relative;
	width: 100%;
}
.c-banner a:before {
	background: #262626;
	content: "";
	opacity: 0.25;
	mix-blend-mode: multiply;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: -1;
}
.c-banner .image-background img {
	object-fit: cover;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transition: 0.3s all;
	width: 100%;
	z-index: -2;
}
.c-banner .text-title {
	color: #fff;
	font-weight: 500;
	line-height: 1;
}
.c-banner .text-title span {
	position: relative;
}
.c-banner .text-title span:after {
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.c-banner .text-english {
	color: #fff;
	display: block;
	font-family: "Montserrat", sans-serif;
  font-size: 2.1rem;
  font-weight: 500;
	line-height: 1;
	position: relative;
}
.c-banner--factory {
	border-radius: 15px;
	height: 196px;
}
.c-banner--factory .text-title {
	font-size: 3.6rem;
}
.c-banner--factory .text-title span:after {
	background-image: url(/assets/images/icon-arrow-right-02.svg);
	height: 37px;
	right: -47px;
	width: 37px;
}
.c-banner--recruit {
	margin-top: 150px;
	max-width: 1280px;
	height: 280px;
}
.c-banner--recruit .text-title {
	font-size: 5rem;
}
.c-banner--recruit .text-title span:after {
	background-image: url(/assets/images/icon-arrow-right-03.svg);
	height: 37px;
	right: -47px;
	width: 37px;
}
.c-banner--entry {
	border-radius: 15px;
	margin-top: 150px;
	height: 196px;
}
.c-banner--entry a {
	background: #f00000;
	color: #fff; 
}
.c-banner--entry a:before {
	display: none;
}
.c-banner--entry .text-english {
  font-size: 1.5rem;
	margin-bottom: 20px;
	padding-left: 16px;
}
.c-banner--entry .text-english:before {
	background: #fff;
	border-radius: 50%;
	content: "";
	height: 10px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
}
.c-banner--entry .text-title {
	font-size: 3.6rem;
}
.c-banner--entry .text-title span:after {
	background-image: url(/assets/images/icon-arrow-right-02.svg);
	height: 37px;
	right: -47px;
	width: 37px;
}
.c-banner--training {
	border-radius: 10px;
	height: 280px;
	margin-top: 150px;
}
.c-banner--training .text-english {
  font-size: 1.5rem;
	margin-bottom: 20px;
	padding-left: 16px;
}
.c-banner--training .text-english:before {
	background: #fff;
	border-radius: 50%;
	content: "";
	height: 10px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
}
.c-banner--training .text-title {
	font-size: 3.6rem;
}
.c-banner--training .text-title span:after {
	background-image: url(/assets/images/icon-arrow-right-03.svg);
	height: 37px;
	right: -47px;
	width: 37px;
}
@media (min-width: 769px) {
	.c-banner a:hover {
		opacity: 1;
	}
	.c-banner a:hover .image-background img {
		transform: translate(-50%,-50%) scale(1.1);
	}
	.c-banner--recruit .text-english {
		font-size: 2.1rem;
	}
	.c-banner--entry a:hover {
		opacity: .5;
	}
}
@media (max-width: 768px) {
	.c-banner a {
		padding-inline: 32px;
	}
	.c-banner .text-title span:after {
		height: calc(20 / 393 * 100vw) !important;
		right: calc(-28 / 393 * 100vw) !important;
		width: calc(20 / 393 * 100vw) !important;
	}
	.c-banner .text-english {
		font-size: calc(12 / 393 * 100vw);
	}
	.c-banner--factory {
		border-radius: 10px;
		height: calc(127 / 393 * 100vw);
		margin-top: 150px;
		margin-inline: 32px;
	}
	.c-banner--factory a {
		justify-content: center;
	}
	.c-banner--factory .text-title {
		font-size: calc(20 / 393 * 100vw);
	}
	.c-banner--recruit {
		margin-top: 50px;
		height: calc(143 / 393 * 100vw);
	}
	.c-banner--recruit .text-title {
		font-size: calc(24 / 393 * 100vw);
	}
	.c-banner--entry {
		border-radius: 10px;
		margin-inline: auto;
		max-width: calc(100vw - 64px);
		margin-top: 50px;
		height: 143px;
	}
	.c-banner--entry a {
		padding-inline: 24px;
	}
	.c-banner--entry .text-english {
		font-size: 1.2rem;
		margin-bottom: 10px;
		padding-left: 10px;
	}
	.c-banner--entry .text-english:before {
		height: 7px;
		width: 7px;
	}
	.c-banner--entry .text-title {
		font-size: 2.4rem;
	}
	.c-banner--training {
		height: 143px;
		margin-top: 50px;
		margin-inline: auto;
		max-width: calc(100vw - 64px);
	}
	.c-banner--training a {
		padding-inline: 24px;
	}
	.c-banner--training .text-english {
		font-size: 1.2rem;
		margin-bottom: 10px;
		padding-left: 10px;
	}
	.c-banner--training .text-english:before {
		height: 7px;
		width: 7px;
	}
	.c-banner--training .text-title {
		font-size: 2.4rem;
	}
}


/* breadcrumb */
.l-breadcrumb {
  margin-inline: auto;
  max-width: 1160px;
}
.l-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.l-breadcrumb__list li {
  font-size: 1.2rem;
  position: relative;
}
.l-breadcrumb__list li:nth-of-type(n+2) {
  margin-left: 4px;
  padding-left: 14px;
}
.l-breadcrumb__list li:nth-of-type(n+2):before {
  content: "＞";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  .l-breadcrumb {
		margin-inline: 32px;
	}
  .l-breadcrumb__list {
    flex-wrap: nowrap;
    overflow-x: scroll;
    word-break: keep-all;
    white-space: nowrap;
  }
}



/* c-pagetitle */
.c-pagetitle {
	margin-top: 32px;
	margin-bottom: 100px;
	min-height: 320px;
	position: relative;
	z-index: 0;
}
.c-pagetitle h1,
.c-pagetitle__keyvisual {
  margin-inline: auto;
  max-width: 1160px;
}
.c-pagetitle h1 {
	font-size: 5.3rem;
	font-weight: 500;
	line-height: 1;
}
.c-pagetitle h1 .text-english {
	color: #F00000;
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 2rem;
	line-height: 1.2;
	margin-bottom: 16px;
	padding-left: 18px;
	position: relative;
}
.c-pagetitle h1 .text-english:before {
	background: #F00000;
	border-radius: 50%;
	content: "";
	height: 12px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
}
.c-pagetitle__keyvisual {
	margin-top: 115px;
	border-radius: 20px;
	overflow: hidden;
}
.c-pagetitle__keyvisual img {
	width: 100%;
}
.c-pagetitle__flowText {
	overflow: hidden;
	pointer-events: none;
	white-space: nowrap;
	box-sizing: border-box;
	height: 180px;
	margin-inline: auto;
	position: absolute;
	top: 30px;
	left: 0;
	right: 0;
	width: 100%;
	z-index: -2;
}
.c-pagetitle__flowText_inner {
	display: inline-block;
	white-space: nowrap;
	animation: marquee 60s linear infinite;
}
.c-pagetitle__flowText_inner > span {
	color: #F4F5E5;
	display: inline-block;
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
	font-size: 16.7rem;
	line-height: 1;
	padding-right: 50px;
}
@keyframes marquee {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}
.c-pagetitle__line {
	pointer-events: none;
	position: absolute;
	top: -165px;
	left: 50%;
	transform: translateX(-50%);
	width: 1431px;
	z-index: -1;
}
@media (max-width: 768px) {
	.c-pagetitle {
		margin-top: 20px;
		margin-bottom: 30px;
		min-height: 170px;
	}
	.c-pagetitle h1,
	.c-pagetitle__keyvisual {
		margin-inline: 32px;
	}
	.c-pagetitle h1 {
		font-size: 2.8rem;
	}
	.c-pagetitle h1 .text-english {
		font-size: 1.3rem;
		margin-bottom: 12px;
		padding-left: 12px;
	}
	.c-pagetitle h1 .text-english:before {
		height: 9px;
		width: 9px;
	}
	.c-pagetitle__keyvisual {
		margin-top: 54px;
		border-radius: 10px;
	}
	.c-pagetitle__flowText {
		height: 85px;
		top: 35px;
	}
	.c-pagetitle__flowText_inner > span {
		font-size: 8rem;
		padding-right: 20px;
	}
	.c-pagetitle__line {
		top: 10px;
		margin-left: -40px;
		min-width: 501px;
		width: calc(501 / 393 * 100vw);
	}
}


/* c-anchorlink */
.c-anchorlink {
	background: #fff;
	margin-top: -10px;
	position: relative;
	transition: 0.3s all;
	z-index: 100;
}
.c-anchorlink.is-fixed {
	padding-top: 0;
	position: fixed;
	top: 87px;
	left: 0;
	width: 100vw;
}
.c-anchorlink.is-hidden {
	opacity: 0;
	pointer-events: none;
}
.c-anchorlink > ul {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-inline: auto;
	max-width: 1160px;
}
.c-anchorlink > ul li {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-top: 10px;
	position: relative;
	text-align: center;
}
.c-anchorlink > ul li:after {
	background: #f00000;
	content: "";
	height: 1px;
	opacity: 0;
	margin-inline: auto;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	transition: 0.3s all;
	width: 100%;
	z-index: 1;
}
.c-anchorlink > ul li.is-current:after {
	opacity: 1;
}
.c-anchorlink > ul li a {
	display: block;
	font-weight: 500;
	height: 100%;
	line-height: 1.5;
	padding: 5px 10px;
  width: 100%;
}
@media (min-width: 769px) {
	.c-anchorlink {
		border-bottom: 1px solid #262626;
	}
}
@media (max-width: 768px) {
	.c-anchorlink {
		height: auto;
		padding-inline: 32px;
	}
	.c-anchorlink.is-fixed {
		top: 70px;
	}
	.c-anchorlink > ul {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.c-anchorlink > ul li:after {
		background: #262626;
		opacity: 1;
	}
	.c-anchorlink > ul li.is-current:after {
		background: #f00000;
	}
	.c-anchorlink > ul li a {
		font-size: 1.4rem;
	}
}


/*  */
@media (min-width: 769px) {
}
@media (max-width: 768px) {
}



/*  */
@media (min-width: 769px) {
}
@media (max-width: 768px) {
}



/*  */
@media (min-width: 769px) {
}
@media (max-width: 768px) {
}



/*  */
@media (min-width: 769px) {
}
@media (max-width: 768px) {
}





/* swiper */
.swiper-pagination-container {
	margin-top: 10px;
}
.swiper-pagination-container .swiper-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: auto;
	position: static;
}
.swiper-pagination-container .swiper-pagination-bullet {
	background-color: transparent;
	border-style: solid;
	border-width: 1px;
	border-radius: 50%;
	height: 16px;
	margin: 0 5px !important;
	opacity: 1 !important;
	width: 16px;
}
@media (min-width: 769px) {
}
@media (max-width: 768px) {
}





/* animation
------------------------------------------------------------ */
.c-animation-fadein {
  opacity: 0;
	transition: 0.6s all;
}
.c-animation-fadein.is-animated {
  opacity: 1;
}
.c-animation-svg {
	pointer-events: none;
}
.c-animation-svg svg {
	height: auto;
	width: 100%;
}
.c-animation-svg .animate-path {
	fill: none;
	stroke: #f00000;
	stroke-width: 6;
	stroke-linecap: round;
	stroke-miterlimit: 10;
	visibility: hidden;
	stroke-dasharray: 1000 1000;
}
@media (min-width: 768px) {
	.c-animation-svg .animate-path {
		stroke-width: 10;
	}
}
@media (min-width: 769px) {
}
@media (max-width: 768px) {
}



