@charset "UTF-8";
/*
	setting
-----------------------------------------------------------------------------------------------*/
html{
	color: var(--color-txt);
	font-size: 62.5%;
	letter-spacing: .1rem;
	margin: 0;
	padding: 0;
}
body{
	margin: 0 auto;
	padding: 0;
	font-family: YakuHanJP, 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', YuGothic, Meiryo, sans-serif;
	font-size: 1.5em;
	font-weight: 400;
	overflow-wrap: break-word;
	word-break: break-all;
}
h1, h2, h3, h4, h5, h6, p,figure,ul,ol,li,dl,dt,dd{
	line-height: 1.5;
	margin: 0;
	padding: 0;
}
p{
	line-height: 180%;
}
*,*::before,*::after{
	box-sizing: border-box;
}
header,footer,section,aside,nav,article,main{
	display: block;
}
ul li,ol li{
	list-style: none;
}
img {
	border: none;
	margin: 0;
	max-width: 100%;
	padding: 0;
	pointer-events: none;
	vertical-align: top;
}
a{
	text-decoration: none;
	line-height: 1.2;
}
a:link {
	color: var(--color-txt);
}
a:visited {
	color: var(--color-txt);
}
/* a:hover{
	text-decoration: none;
} */
::selection {
	background: rgb(83 197 240 / 55%);
}
/* button初期化 */
button{
	-webkit-appearance: none;
	appearance: none;
	background: none;
	border: none;
	font-family: inherit;
	margin: 0;
	outline: none;
}
button:hover{
	cursor: pointer;
}
@media screen and (750px <= width){
	/* iPad背景切れ対策 */
	body{
		min-width:1200px;
	}
	/* tel pcのみ無効 */
	a[href^="tel:"]{
		pointer-events: none;
	}
}
/* 表示切替 */
.switch{
	visibility: hidden;
}
.sp{
	display: none;
}
/*
	common
-----------------------------------------------------------------------------------------------*/
:root{
	/* background
	============================== */
	--background-blue: #F0F3F5;
	/* border-radius
	============================== */
	--bdrs-20: 20px;
	/* color
	============================== */
	--color-blue: #1B439A;
	--color-red: #CC0000;
	--color-lightBlue: #0099DB;
	--color-orange: #FFA500;
	--color-green: #07BF39;
	--color-txt: #222;
	--hover-lightBlue: #0076DB;
	--hover-orange: #FF7F00;
	--hover-green: #00B90E;
	/* rgb */
	--color-blue-rgb: 27 67 154;
	/* font-family
	============================== */
	--ff-en: "Oswald", sans-serif;
	/* font-weight
	============================== */
	--light: 300;
	--regular: 400;/* デフォルトの太さ */
	--medium: 500;
	--bold: 600;
	--black: 800;
	/* 	height
	============================== */
	--header-height: 100px;
	/* width
	============================== */
	--width: 1090px;
}
/* box
============================== */
#wrapper{
	margin-top: var(--header-height);
	overflow: hidden;
	position: relative;
}
.container{
	margin: 0 auto;
	max-width: var(--width);
	padding: 130px 33px;
	position: relative;
}
/* head
============================== */
.section__head{
	font-size: 4.5rem;
	font-weight: var(--bold);
	line-height: 100%;
	margin-bottom: 60px;
	text-align: center;
}
[class$="--en"]{
	display: block;
	font-size: 1.6rem;
	font-weight: var(--bold);
	line-height: 100%;
}
.section__head--en{
	color: var(--color-blue);
	font-size: 2.0rem;
	margin-top: 18px;
}
/* button
============================== */
/* ●> */
a[class*="__button"],
p[class*="__button"]{
	position: relative;
}
a[class*="__button"]::before,
a[class*="__button"]::after,
p[class*="__button"]::before,
p[class*="__button"]::after{
	content: '';
	position: absolute;
}
/* ● */
a[class*="__button"]::before,
p[class*="__button"]::before{
	border-radius: 20px;
	height: 40px;
	right: 0;
	top: 50%;
	transform: translate(0, -50%);
	width: 40px;
}
/* > */
a[class*="__button"]::after,
p[class*="__button"]::after{
	height: 8px;
	transform: rotate(45deg);
	width: 8px;
}
a[class^="page__button"],
p[class^="page__button"]{
	align-items: center;
	display: inline-flex;
	height: 40px;
	padding-right: 58px;
	text-align: center;
}
a[class^="page__button"]::after,
p[class^="page__button"]::after{
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	right: 17px;
}
.page__button--txt{
	font-size: 1.8rem;
	font-weight: var(--bold);
}
/* 青 */
a.page__button--blue,
p.page__button--blue{
	color: var(--color-blue);
}
a.page__button--blue::before,
p.page__button--blue::before{
	background: var(--color-blue);
	border: 2px solid var(--color-blue);
}
/* 赤 */
a.page__button--red,
p.page__button--red{
	color: var(--color-red);
}
a.page__button--red::before,
p.page__button--red::before{
	background: var(--color-red);
	border: 2px solid var(--color-red);
}
/* text
============================== */
a[class*="txtlink"]{
	text-decoration: none;
}
@media (hover: hover) and (pointer: fine){
	a[class^="page__button"]::before,
	a[class^="page__button"]::after{
		transition: .6s;
	}
	a[class^="page__button"]:hover::before{
		background: transparent;
		transition: .3s;
	}
	/* 青 */
	a.page__button--blue:hover::after{
		border-right: 2px solid var(--color-blue);
		border-top: 2px solid var(--color-blue);
		transition: .3s;
	}
	/* 赤 */
	a.page__button--red:hover::after{
		border-right: 2px solid var(--color-red);
		border-top: 2px solid var(--color-red);
		transition: .3s;
	}
	a[class*="txtlink"]:hover{
		text-decoration: underline;
	}
}
/*
	header
-----------------------------------------------------------------------------------------------*/
#header{
	align-items: center;
	background: rgb(255 255 255 / 100%);
	box-shadow: 0 3px 6px rgb(0 0 0 / 16%);
	display: flex;
	height: var(--header-height);
	justify-content: space-between;
	left: 0;
	/* min-width: 1200px; */
	padding-inline: 20px 0;
	position: fixed;
	top: 0;
	transition: .5s;
	width: 100%;
	z-index: 8888;
}
#header.scroll-nav{
	background: rgb(255 255 255 / 80%);
	transition: .5s;
}
#header::before{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(5px);
	left: 0;
	top: 0;
	z-index: -1;
}
.header__logo{
	display: block;
	height: 66px;
	width: 225px;
}
.header__nav{
	align-items: center;
	display: flex;
	margin-left: 30px;
}
.header__link{
	align-items: center;
	cursor: pointer;
	display: flex;
	/* font-size: 1.6rem; */
	font-size: clamp(1.3rem, 1.5vw, 1.6rem);
	font-weight: var(--bold);
	height: 100px;
	justify-content: center;
	white-space: nowrap;
}
/* メニューボタン
============================== */
@media print, screen and (min-width:813px){
	#header__button{
		display: none;
	}
}
/* メニュー　大カテゴリ
============================== */
@media print, screen and (min-width:813px){
	.header__list{
		display: flex;
		gap: 0 30px;
		margin-right: 50px;
	}
	.header__item{
		align-items: center;
		display: flex;
		justify-content: center;
	}
}
/* entry
============================== */
.entry{
	position: relative;
}
.entry__button,
a[class^="entry__button"]{
	align-items: center;
	color: #fff;
	display: flex;
	/* font-size: 1.8rem; */
	font-size: clamp(1.4rem, 1.5vw, 1.8rem);
	font-weight: var(--bold);
	height: 55px;
	line-height: 100%;
	max-width: 205px;
	position: relative;
	width: 16vw;
}
.entry__button{
	background: var(--color-blue);
	border-radius: 5px 0 0 5px;
	justify-content: center;
}
.entry__button--txt{
	padding-right: 13px;
	position: relative;
}
.entry__button--txt::before{
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	content: '';
	height: 7px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: rotate(45deg);
	transform-origin: right;
	transition: .3s ease-out;
	width: 7px;
}
/* active時のエントリーボタン */
.active.entry__button{
	border-radius: 5px 0 0 0;
}
.active.entry__button .entry__button--txt::before{
	top: 42%;
	transform: rotate(495deg);
	transition: .3s ease-out;
}
/* active時に出てくるボタン */
@media print, screen and (min-width:812px){
	.entry__list{
		opacity: 0;
		position: absolute;
		right: -205px;
		top: 55px;
		transition: opacity .2s, right 0s .2s;
	}
	.active ~ .entry__list{
		opacity: 1;
		right: 0;
		transition: opacity .2s;
	}
}
/* 一番下のボタンの左下だけ角丸 */
.entry__item:last-child{
	border-radius: 0 0 0 5px;
	overflow: hidden;
}
a[class^="entry__button"]{
	height: 50px;
	padding: 0 24px;
}
a[class^="entry__button"]::before{
	content: none;
}
a[class^="entry__button"]::after{
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	right: 22px;
}
.entry__list .entry__button--txt{
	width: 100%;
}
/* 青 */
.entry__button--blue{
	background: var(--color-lightBlue);
}
/* オレンジ */
.entry__button--orange{
	background: var(--color-orange);
}
/* 緑 */
.entry__button--green{
	background: var(--color-green);
}
@media (hover: hover) and (pointer: fine){
	.header__logo,
	.header__logo:hover,
	.entry__button,
	[class^="entry__button--"],
	[class^="entry__button--"]:hover,
	a[class^="entry__button"]::after{
		transition: .3s;
	}
	.header__logo:hover{
		opacity: .7;
	}
	.header__link,
	.header__link:hover{
		transition: color .3s;
	}
	.header__link:hover{
		color: var(--color-blue);
	}
	.entry__button:hover{
		opacity: .85;
		transition: .3s;
	}
	.entry__button:hover.active{
		opacity: 1;
	}
	/* 青 */
	.entry__button--blue:hover{
		background: var(--hover-lightBlue);
	}
	/* オレンジ */
	.entry__button--orange:hover{
		background: var(--hover-orange);
	}
	/* 緑 */
	.entry__button--green:hover{
		background: var(--hover-green);
	}
	a[class^="entry__button"]:hover::after{
		right: 19px;
		transition: .3s;
	}
}
/*
	NISSEIで働く人々
-----------------------------------------------------------------------------------------------*/
.people__swiper .swiper-wrapper{
	margin-bottom: 50px;
}
.people__button,
.people__button > *{
	display: block;
	line-height: 100%;
	text-align: center;
}
.people__button--photo{
	border-radius: 117px;
	height: 234px;
	margin: 0 auto;
	overflow: hidden;
	width: 234px;
}
.people__button--caption{
	font-size: 2.4rem;
	font-weight: var(--bold);
	margin: 18px 0 8px;
}
.people__button--paren{
	font-size: 1.3rem;
	font-weight: var(--bold);
	letter-spacing: 0;
}
.people__button--guide{
	color: #707F89;
	font-size: 1.2rem;
	margin-top: 15px;
}
#people .page__button{
	text-align: center;
}
@media (hover: hover) and (pointer: fine){
	.people__button--img,
	.people__button--guide{
		transition: .3s;
	}
	.people__button:hover .people__button--img{
		transform: scale(1.06);
		transition: .3s;
	}
	.people__button:hover .people__button--guide{
		color: var(--color-blue);
		transition:  .3s;
	}
}
/*
	第2階層
-----------------------------------------------------------------------------------------------*/
/* ヘッダー
============================== */
#page-head{
	align-items: center;
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: nowrap;
	gap: 0 33px;
	justify-content: flex-end;
	margin-bottom: 78px;
}
#page-head.container{
	height: 30vw;
	min-height: 344px;
	padding-block: 0;
	position: static;
}
.page-head__kv{
	min-width: 370px;
	position: absolute;
	right: 0;
	top: 0;
	width: calc(51% - 33px);
}
.page-head__img{
	border-radius: 0 0 0 30px;
	overflow: hidden;
}
.page-head__head{
	/* font-size: 4.5rem; */
	font-size: clamp(3.0rem, 3.5vw, 4.5rem);
	font-weight: var(--bold);
	/* width: 35%; */
}
.page-head__head--en{
	color: var(--color-blue);
	font-size: 2.0rem;
	margin-top: 8px;
}
/* パンくず
============================== */
#breadcrumb{
	align-items: center;
	background: var(--background-blue);
	display: flex;
	gap: 0 5px;
	height: 60px;
	padding: 0 62px;
}
a.breadcrumb__txtlink{
	font-size: 1.2rem;
	padding-left: 13px;
	position: relative;
}
.breadcrumb__item:first-child a.breadcrumb__txtlink{
	padding: 0;
}
.breadcrumb__item:last-child a.breadcrumb__txtlink{
	text-decoration: none;
	pointer-events: none;
}
.breadcrumb__item:not(:first-child) a.breadcrumb__txtlink::before{
	content: '>';
	left: 0;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
}
/* NISSEIを知る
============================== */
#company{
	background: var(--background-blue);
}
.company-container{
	display: flex;
	gap: 0 32px;
}
a[class^="company__button"]{
	border-radius: 15px;
	color: #fff;
	display: flex;
	flex-direction: column;
	font-size: 2.3rem;
	font-weight: var(--bold);
	height: 180px;
	justify-content: center;
	letter-spacing: .3rem;
	line-height: 100%;
	mix-blend-mode: multiply;
	overflow: hidden;
	position: relative;
	width: calc((100% - 64px) / 3);
}
.company__button--works{
	background: url(../images/bg_company_01.png) no-repeat center / cover;
}
.company__button--number{
	background: url(../images/bg_company_02.png) no-repeat center / cover;
}
.company__button--people{
	background: url(../images/bg_company_03.png) no-repeat center / cover;
}
.company__button--movie{
	background: url(../images/bg_company_04.png) no-repeat center / cover;
}
a[class^="company__button"]::before{
	background: #fff;
	border: 2px solid #fff;
	right: 26px;
}
a[class^="company__button"]::after{
	border-right: 2px solid #707F89;
	border-top: 2px solid #707F89;
	right: 43px;
	top: 48.6%;
}
.company__button--box{
	padding: 26px;
}
.company__button--box::before{
	background: rgb(0 0 0 /45%);
	content: '';
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}
.company__button--en{
	font-size: 1.4rem;
	margin-top: 20px;
}
@media (hover: hover) and (pointer: fine){
	a[class^="company__button"]::before,
	a[class^="company__button"]::after,
	.company__button--box::before{
		transition: .3s;
	}
	a[class^="company__button"]{
		background-position: center;
		background-size: 100%;
		transition: .3s;
	}
	a[class^="company__button"]:hover{
		background-size: 103%;
		transition: .3s;
	}
	a[class^="company__button"]:hover::before{
		background: transparent;
		transition: .3s;
	}
	a[class^="company__button"]:hover::after{
		border-right: 2px solid #fff;
		border-top: 2px solid #fff;
		transition: .3s;
	}
	a[class^="company__button"]:hover .company__button--box::before{
		background: rgb(0 0 0 /32%);
		transition: .3s;
	}
}
/*
	aside
-----------------------------------------------------------------------------------------------*/
/* other
============================== */
#aside-include{
	background: #fff;
}
#aside-include .container{
	padding-bottom: 30px;
}
.other__list{
	display: flex;
	gap: 0 33px;
}
.other__item{
	width: calc((100% - 66px)/3);
}
a[class^="other__button--"]{
	align-items: center;
	border-radius: 14px;
	color: #fff;
	display: flex;
	font-size: 2.4rem;
	font-weight: var(--bold);
	height: 185px;
	padding: 24px;
	position: relative;
	width: 100%;
}
a[class^="other__button--"]::before{
	background: #fff;
	border: 2px solid #fff;
	right: 24px;
	top: 50%;
}
a[class^="other__button--"]::after{
	right: 41px;
	top: 48%;
}
/* 青 */
.other__button--blue{
	background: var(--color-lightBlue);
}
.other__button--blue::after{
	border-top: 2px solid var(--color-lightBlue);
	border-right: 2px solid var(--color-lightBlue);
}
/* オレンジ */
.other__button--orange{
	background: var(--color-orange);
}
.other__button--orange::after{
	border-top: 2px solid var(--color-orange);
	border-right: 2px solid var(--color-orange);
}
/* 緑 */
.other__button--green{
	background: var(--color-green);
}
.other__button--green::after{
	border-top: 2px solid var(--color-green);
	border-right: 2px solid var(--color-green);
}
/* cremia
============================== */
#cremia{
	padding-top: 30px;
}
.cremia__button{
	display: block;
	position: relative;
}
.cremia__button::before,
.cremia__button::after{
	content: '';
	position: absolute;
}
.cremia__button::before{
	background: #753F2F;
	border: 2px solid #753F2F;
	right: 24px!important;
	top: 58%!important;
}
.cremia__button::after{
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	right: 41px!important;
	top: 57%!important;
}
@media (hover: hover) and (pointer: fine){
	a[class^="other__button--"],
	a[class^="other__button--"]::before,
	a[class^="other__button--"]::after,
	.cremia__button,
	.cremia__button::before,
	.cremia__button::after{
		transition: .3s;
	}
	a[class^="other__button--"]:hover{
		letter-spacing: .2rem;
	}
	a[class^="other__button--"]:hover::before{
		background: transparent;
		transition: .3s;
	}
	a[class^="other__button--"]:hover::after{
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}
	/* 青 */
	.other__button--blue:hover{
		background: var(--hover-lightBlue);
	}
	/* オレンジ */
	.other__button--orange:hover{
		background: var(--hover-orange);
	}
	/* 緑 */
	.other__button--green:hover{
		background: var(--hover-green);
	}
	.cremia__button:hover{
		transform: scale(1.02);
		transition: .4s cubic-bezier(.25,2.5,.69,.45);
	}
	.cremia__button:hover::before{
		background: transparent;
		transition: .3s;
	}
	.cremia__button:hover::after{
		border-color: #753F2F;
		transition: .3s;
	}
}
/* briefing
============================== */
.briefing__thumb{
	width: 100%;
}
.briefing__thumb:hover{
	cursor: pointer;
}
.briefing__thumb img{
	display: flex;
	width: 100%;
	transition: all .4s;
}
.briefing__noto{
	margin-top: 5px;
	font-size: 12px;
    color: var(--color-red);
	padding-left: 1rem;
    text-indent: -1rem;
}
.briefing__noto::before{
	content:"※";
}
@media (hover: hover) and (pointer: fine){
	.briefingThumbBtn:hover .briefing__thumb img{
		transform: scale(1.02);
		transition: .4s cubic-bezier(.25, 2.5, .69, .45);
	}
}
/* movie
============================== */
.bg__white{
	background-color: #fff;
}
.container:has(#movie){
	padding-top: 0;
}
.movie__thumb{
	width: 100%;
}
.movie__thumb:hover{
	cursor: pointer;
}
.movie__thumb img{
	display: flex;
	width: 100%;
	transition: all .4s;
}
@media (hover: hover) and (pointer: fine){
	.movieThumbBtn:hover .movie__thumb img{
		transform: scale(1.02);
		transition: .4s cubic-bezier(.25, 2.5, .69, .45);
	}
}
/* modal */
.modal_box{
	display: none;
	width: 90%;
	max-width: 1000px;
	margin: 0;
	position: fixed;
	z-index: 10000;
}
.modal__ctsArea{
	max-height: calc(100svh - 20px);
	padding: 50px;
	background-color: #fff;
	border-radius: 10px;
	overflow-y: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.modal__ctsArea iframe{
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}
/* modal 背景 */
.modal_bg{
	display: none;
	width: 100%;
	height: 120%;
	background-color: rgba(0, 0, 0, .7);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	opacity: 0.98;
	cursor: zoom-out;
}
/* close btn */
.modal_close{
	width: 55px;
	height: 55px;
	background-color: #000;
	border-radius: 50%;
	position: absolute;
	top: -20px;
	right: -20px;
	cursor: zoom-out;
	transition: all 0.3s;
}
.modal_close:hover{
	opacity: 0.7;
	transition: all 0.3s;
}
.modal_close::before,
.modal_close::after{
	content: '';
	width: 1px;
	height: 20px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}
.modal_close::after{
	transform: translate(-50%, -50%) rotate(-45deg);
}
/*
	footer
-----------------------------------------------------------------------------------------------*/
#footer{
	background: var(--color-blue);
	min-width: 1200px;
}
.footer-container{
	margin: 0 auto;
	padding: 0 62px;
}
.footer-nav{
	align-items: center;
	display: flex;
	gap: 0 75px;
	padding: 95px 0 85px;
}
.footer__logo{
	height: 61px;
	width: 205px;
}
.footer__list{
	display: flex;
	flex-flow: column wrap;
	flex-wrap: wrap;
	gap: 25px 75px;
	height: 53px;
	width: 327px;
}
a.footer__link{
	color: #fff;
	display: block;
	font-size: 1.4rem;
	line-height: 100%;
	min-width: 125px;
}
/* target="_blank"の場合、後ろにアイコンが付く */
[target="_blank"] .footer__link--txt{
	padding-right: 20px;
	position: relative;
}
[target="_blank"] .footer__link--txt::after{
	background: url(../images/ico_link01.svg) no-repeat center / 100%;
	content: '';
	height: 12px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0, -50%);
	width: 14px;
}
.credit{
	align-items: center;
	border-top: 1px solid #fff;
	color: #fff;
	display: flex;
	/* font-size: 1.2rem; */
	font-size: clamp(.8rem, 1.0vw, 1.1rem);
	height: 65px;
	justify-content: space-between;
}
.credit__list{
	display: flex;
	gap: 0 32px;
}
a.credit__txtlink{
	color: #fff;
}
@media (hover: hover) and (pointer: fine){
	a.footer__link,
	a.footer__link:hover{
		transition: opacity .3s;
	}
	a.footer__link:hover{
		opacity: .6;
	}
}
/*
	pageTop
-----------------------------------------------------------------------------------------------*/
#pageTop{
	background: rgb(210 218 230 / 80%);
	bottom: 20px;
	border-radius: 25px;
	display: inline-block;
	height: 50px;
	opacity: .6;
	position: fixed;
	transition: .2s;
	right: 20px;
	width: 50px;
	z-index: 999;
}
#pageTop::before{
	border-right: 2px solid var(--color-blue);
	border-top: 2px solid var(--color-blue);
	bottom: 19px;
	content: '';
	height: 8px;
	position: absolute;
	right: 21px;
	transform: rotate(-45deg);
	width: 8px;
}
#pageTop:hover{
	opacity: 1;
	transition: .2s;
}
@media screen and (max-width: 812px){
	/*
		setting
	-----------------------------------------------------------------------------------------------*/
	body{
		text-size-adjust:100%;
	}
	img{
		width: 100%;
	}
	p{
		line-height: 1.5;
	}	
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}
	/*
		common
	-----------------------------------------------------------------------------------------------*/
	:root{
		/* border-radius
		============================== */
		--bdrs-20: 20px;
		/* 	height
		============================== */
		--header-height: 65px;
		/* width
		============================== */
		--width: 100%;
	}
	/* box
	============================== */
	#wrapper{
		overflow: hidden;
	}
	.container{
		padding: 80px 20px;
	}
	/* head
	============================== */
	.section__head{
		font-size: 2.5rem;
		margin-bottom: 32px;
	}
	[class$="--en"]{
		font-size: 1.3rem;
	}
	.section__head--en{
		font-size: 1.3rem;
		margin-top: 14px;
	}
	/* button
	============================== */
	/* ●> */
	/* ● */
	a[class*="__button"]::before,
	p[class*="__button"]::before{
		height: 28px;
		width: 28px;
	}
	/* > */
	a[class*="__button"]::after,
	p[class*="__button"]::after{
		height: 6px;
		width: 6px;
	}
	a[class^="page__button"],
	p[class^="page__button"]{
		height: 30px;
		padding-right: 35px;
	}
	a[class^="page__button"]::after,
	p[class^="page__button"]::after{
		right: 12px;
	}
	.page__button--txt{
		font-size: 1.4rem;
	}
	/*
		header
	-----------------------------------------------------------------------------------------------*/
	#header{
		padding-inline: 16px;
	}
	.header__logo{
		height: 48px;
		position: relative;
		width: 160px;
		z-index: 999;
	}
	.header__list{
		width: 100%;
	}
	/* メニュー展開時に背景を固定
	============================== */
	body.jsScrollLock{
		overflow: hidden;
	}
	/* メニューボタン
	============================== */
	.header__link{
		height: 80px;
		justify-content: flex-start;
		padding: 0 15px;
		position: relative;
	}
	.header__link::before,
	.header__link::after{
		content: '';
		position: absolute;
		top: 50%;
		transform: translate(0, -50%);
	}
	.header__link::before{
		background: #000;
		border-radius: 13px;
		height: 26px;
		right: 15px;
		width: 26px;
	}
	.header__link::after{
		border-right: 2px solid #fff;
		border-top: 2px solid #fff;
		height: 6px;
		transform: rotate(45deg);
		right: 26px;
		top: 46%;
		width: 6px;
	}
	.header__item{
		border-bottom: 1px solid #CDD6DD;
	}
	#header__button{
		background: var(--color-blue);
		height: var(--header-height);
		position: fixed;
		right: 0;
		top: 0;
		width: var(--header-height);
		z-index: 2;
	}
	#header__button::before,
	#header__button::after,
	.header__button--deco::before{
		background: #fff;
		content: '';
		display: block;
		height: 2px;
		left: 50%;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
		transition: all 0.4s;
		width: 27px;
	}
	#header__button::before{
		margin-top: -7px;
	}
	#header__button::after{
		margin-top: 0;
	}
	.header__button--deco::before{
		margin-top: 7px;
	}
	#header__button.jsOpen::before{
		margin-top: 0;
		transform: translate(-50%, -50%) rotate(135deg);
	}
	#header__button.jsOpen::after,
	.jsOpen .header__button--deco::before{
		margin-top: 0;
		transform: translate(-50%, -50%) rotate(-135deg);
	}
	.jsOpen .header__button--deco::before{
		opacity: 0;
	}
	/* メニュー　大カテゴリ
	============================== */
	.header__nav{
		backdrop-filter: blur(5px);
		background: rgb(255 255 255 / 88%);
		box-shadow: inset 0 3px 6px rgb(0 0 0 / 16%);
		flex-direction: column;
		height: calc(110vh - var(--header-height));
		left: 0;
		margin-left: 0;
		opacity: 0;
		overflow-y: scroll;
		position: fixed;
		top: -100%;
		transition: all .3s, top 0s ease .5s;
		width: 100%;
	}
	.jsOpen.header__nav{
		opacity: 1;
		pointer-events: all;
		top: var(--header-height);
		transition: all .4s, top 0s;
	}
	/* entry
	============================== */
	.entry{
		width: 100%;
	}
	.entry__list{
		display: flex;
		flex-direction: column;
		padding: 15px 15px 40px;
	}
	.entry__item:not(:first-child){
		margin-top: 15px;
	}
	#entry__button{
		justify-content: center;
		padding-inline: 20px;
	}
	.entry__button{
		display: none;
	}
	a[class^="entry__button"]{
		border-radius: 8px;
		font-size: 1.6rem;
		height: 70px;
		max-width: 100%;
		padding: 20px;
		width: 100%;
	}
	a[class^="entry__button"]::before{
		border-radius: 13px;
		background: #fff;
		content: '';
		height: 26px;
		right: 20px;
		width: 26px;
	}
	a[class^="entry__button"]::after{
		right: 31px;
	}
	a.entry__button--blue::after{
		border-color: var(--color-lightBlue);
	}
	a.entry__button--orange::after{
		border-color: var(--color-orange);
	}
	a.entry__button--green::after{
		border-color: var(--color-green);
	}
	/*
		NISSEIで働く人々
	-----------------------------------------------------------------------------------------------*/
	.people__swiper .swiper-wrapper{
		margin-bottom: 40px;
	}
	.people__button,
	.people__button > *{
		display: block;
		line-height: 100%;
		text-align: center;
	}
	.people__button--photo{
		aspect-ratio: 1 / 1;
		height: auto;
		width: 100%;
	}
	.people__button--caption{
		font-size: 1.6rem;
		margin: 9px 0 6px;
	}
	.people__button--paren{
		font-size: .8rem;
		letter-spacing: 0;
	}
	.people__button--guide{
		font-size: 1.1rem;
		margin-top: 9px;
	}
	/*
		第2階層
	-----------------------------------------------------------------------------------------------*/
	/* ヘッダー
	============================== */
	#page-head{
		align-items: flex-start;
		flex-direction: column;
		gap: 0;
		justify-content: flex-start;
		margin-bottom: 70px;
		padding-bottom: 40px;
		position: relative;
		width: 100%;
	}
	#page-head.container{
		height: auto;
		min-height: auto;
		padding: 0;
	}
	.page-head__kv{
		height: auto;
		margin: 0 0 28px auto;
		min-width: calc(100% - 20px);
		position: static;
		width: calc(100% - 20px);
	}
	.page-head__img{
		border-radius: 0 0 0 13px;
		overflow: hidden;
	}
	.page-head__head{
		font-size: 2.7rem;
		padding: 0 20px;
		width: 100%;
	}
	.page-head__head--en{
		font-size: 1.2rem;
		margin-top: 8px;
	}
	/* パンくず
	============================== */
	#breadcrumb{
		gap: 0 5px;
		height: 35px;
		overflow-x: scroll;
		padding: 0 15px;
	}
	a.breadcrumb__txtlink{
		font-size: 1.0rem;
		white-space: nowrap;
	}
	.breadcrumb__item:first-child a.breadcrumb__txtlink{
		padding: 0;
	}
	.breadcrumb__item:last-child a.breadcrumb__txtlink{
		text-decoration: none;
		pointer-events: none;
	}
	.breadcrumb__item:not(:first-child) a.breadcrumb__txtlink::before{
		content: '>';
		left: 0;
		position: absolute;
		top: 50%;
		transform: translate(0, -50%);
	}
	/* NISSEIを知る
	============================== */
	.company-container{
		flex-direction: column;
		/* gap: 20px; */
		gap: 0;
	}
	a[class^="company__button"]{
		border-radius: 8px;
		font-size: 2.0rem;
		height: 170px;
		margin-bottom: 20px;
		width: 100%;
	}
	a[class^="company__button"]:last-child{
		margin-bottom: 0;
	}
	a[class^="company__button"]::before{
		height: 35px;
		right: 20px;
		width: 35px;
	}
	a[class^="company__button"]::after{
		right: 35px;
	}
	.company__button--box{
		padding: 20px;
	}
	.company__button--en{
		font-size: 1.0rem;
		letter-spacing: .2rem;
		margin-top: 12px;
		opacity: .8;
	}
	/*
		aside
	-----------------------------------------------------------------------------------------------*/
	/* other
	============================== */
	.other__list{
		flex-direction: column;
		/* gap: 13px; */
		gap: 0;
	}
	.other__item{
		margin-bottom: 13px;
		width: 100%;
	}
	.other__item:last-child{
		margin-bottom: 0;
	}
	a[class^="other__button--"]{
		border-radius: 8px;
		font-size: 1.8rem;
		height: 92px;
		padding: 20px;
		width: 100%;
	}
	a[class^="other__button--"]::before{
		right: 20px;
	}
	a[class^="other__button--"]::after{
		right: 32px;
		top: 47%;
	}
	/* cremia
	============================== */
	#cremia{
		padding-top: 10px;
	}
	.cremia__button::before{
		height: 28px!important;
		right: 15px!important;
		top: 58%!important;
		width: 28px!important;
	}
	.cremia__button::after{
		height: 7px!important;
		right: 27px!important;
		top: 55.5%!important;
		width: 7px!important;
	}
	/* movie
	============================== */
	/* modal */
	.modal__ctsArea{
		padding: 15px;
	}
	/* close btn */
	.modal_close{
		width: 50px;
        height: 50px;
        top: -25px;
        right: -15px;
	}
	/*
		footer
	-----------------------------------------------------------------------------------------------*/
	#footer{
		min-width: 100%;
	}
	.footer-container{
		padding: 25px 15px 20px;
	}
	.footer-nav{
		gap: 0;
		justify-content: center;
		padding: 0 0 21px;
	}
	.footer__logo{
		height: 50px;
		width: 165px;
	}
	.footer__list{
		display: none;
	}
	a.footer__link{
		color: #fff;
		display: block;
		font-size: 1.4rem;
		line-height: 100%;
		min-width: 125px;
	}
	/* target="_blank"の場合、後ろにアイコンが付く */
	[target="_blank"] .footer__link--txt{
		padding-right: 20px;
		position: relative;
	}
	[target="_blank"] .footer__link--txt::after{
		background: url(../images/ico_link01.svg) no-repeat center / 100%;
		content: '';
		height: 12px;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translate(0, -50%);
		width: 14px;
	}
	.credit{
		flex-direction: column;
		font-size: 1.0rem;
		height: auto;
	}
	.credit__list{
		flex-direction: column;
		gap: 0;
		margin: 20px 0 18px;
		text-align: center;
	}
	.credit__item:not(:first-child){
		margin-top: 7px;
	}
	/*
		pageTop
	-----------------------------------------------------------------------------------------------*/
	#pageTop{
		bottom: 15px;
		right: 15px;
	}
}
