@charset "UTF-8";

.p-main-structure{
	&:not(.of-openCampus){
		--bgi-structure-left-to-right:none;
		--bgi-structure-right-to-left:none;

		font-family:var(--font-mincho);
	}

	&:not(.of-type-2){
		--bg-structure-inner:#1c1a1a;

		background-color:#1c1a1a;
		color:#fff;
	}

	&.of-type-2{
		--bg-structure-inner:#fff;

		padding-top:0;
		margin-top:0;
		background-color:#fff;
	}
}

.p-main-structure__offset{
	position:relative;
	z-index:1;
	max-width:1040px;
	padding:0 0 90px 0;
	margin-inline:auto;
	pointer-events:auto;
}

.p-main-structure__offset.of-oc-bottom{
	padding:80px 0 90px 0;
}

.p-title{
	font-weight:500;
	font-size:2.4rem;
	line-height:180%;
	text-align:center;
	margin-top:20px;
}

.p-title.of-type-2{
	padding-top:60px;
}

.p-title__text{
	position:relative;
}

.of-type-2 .p-title__text{
	padding:0 14px 0 8px;
}

.p-title__text::before{
	content:"";
	position:absolute;
	top:20px;
	left:-30px;
	width:18px;
	height:16px;
	background-image:url("../img/index_decoration_04.svg");
  background-size:cover;
  background-position:center;
}

.p-title__text::after{
	content:"";
	position:absolute;
	top:-6px;
	right:-16px;
	width:13px;
	height:18px;
	background-image:url("../img/index_decoration_05.svg");
  background-size:cover;
  background-position:center;
}

.p-main-kv{
	z-index:2;
	position:relative;
}

.p-lead{
	margin:8px;
	padding:2px;
	position:relative;

	.p-decoration{
		position:absolute;
		width:44px;
		height:44px;
	}
	:nth-child(1 of .p-decoration){
		top:0;
		left:0;
	}
	:nth-child(2 of .p-decoration){
		top:0;
		right:0;
	}
	:nth-child(3 of .p-decoration){
		bottom:0;
		right:0;
		transform:rotate(180deg);
	}
	:nth-child(4 of .p-decoration){
		bottom:0;
		left:0;
		transform:rotate(180deg);
	}
}

.p-lead::before{
	content:"";
	position:absolute;
	top:50%;
  left:50%;
  transform:translate(-50%, -50%);
	width:calc(100% - 4px);
	height:calc(100% - 4px);
	border:1px solid transparent;
  border-image:linear-gradient(to right, 
      transparent 40px, #B7996D 40px, #B7996D calc(100% - 40px), transparent calc(100% - 40px)
  ) 1;
}

.p-lead::after{
	content:"";
	position:absolute;
	top:50%;
  left:50%;
  transform:translate(-50%, -50%);
	width:calc(100% - 4px);
	height:calc(100% - 4px);
	border:1px solid transparent;
	border-image:linear-gradient(to bottom, 
			transparent 40px, #B7996D 40px, #B7996D calc(100% - 40px), transparent calc(100% - 40px)
	) 1;
}

.p-lead__inner{
	position:relative;
	padding:35px 40px 50px;
	margin:4px;
	background-color:rgba(183, 153, 109, .05);
}

.p-lead__inner::before{
	content:"";
	position:absolute;
	top:0%;
  left:0%;
	width:100%;
	height:100%;
	border:2px solid transparent;
  border-image:linear-gradient(to right, 
      transparent 30px, #B7996D 30px, #B7996D calc(100% - 30px), transparent calc(100% - 30px)
  ) 1;
}

.p-lead__inner::after{
	content:"";
	position:absolute;
	top:0%;
  left:0%;
	width:100%;
	height:100%;
	border:2px solid transparent;
	border-image:linear-gradient(to bottom, 
			transparent 30px, #B7996D 30px, #B7996D calc(100% - 30px), transparent calc(100% - 30px)
	) 1;
}

.p-lead__text{
	text-align:center;
	font-weight:500;
	font-size:1.4rem;
	line-height:322%;
	color:#FFFFFF;
}

.p-lead__text-wide{
	font-size:3.2rem;
}

.p-lead__text-gold{
	background:linear-gradient(180deg, #DEC88C 0%, #9A893C 100%);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	background-clip:text;
	text-fill-color:transparent;
}

.p-chef{
	padding:0 20px;
	margin-top:60px;
}

.p-chef__profile{
	position:relative;
}

.p-chef__profile.of-reverse{
	position:relative;
}

.p-chef__profile::before{
	content:"";
	position:absolute;
	top:47%;
	left:50%;
	transform:translateX(-50%);
	width:100vw;
	aspect-ratio:375 / 104;
	background-image:url("../img/index_border_01_sp.svg");
	background-size:cover;
	background-position:center;
	z-index:-1;
}

.p-chef__profile.of-reverse::before{
	background-image:url("../img/index_border_02_sp.svg");
	top:auto;
	bottom:40%;
}

.p-chef__profile-status{
	padding-left:14px;
	border-left:#fff 1px solid;
}

.p-chef__profile-job{
	font-size:1.4rem;
	line-height:100%;
}

.p-chef__profile-name{
	margin-top:12px;
	font-size:2rem;
	line-height:100%;
	small{
		font-size:1rem;
	}
}

.p-chef__profile-image{
	position:relative;
}

.p-chef__profile-image::before{
	content:"";
	position:absolute;
	top:62.94%;
	left:-18px;
	width:12px;
	height:37px;
	background-image:url("../img/index_decoration_03.svg");
  background-size:cover;
  background-position:center;
}

.p-chef__profile-image.of-reverse::before{
	left:auto;
	right:-18px;
	transform:rotate(180deg);
}

.p-chef__profile-text-area{
	margin-top:20px;
}

.p-chef__profile-text{
	font-size:1.4rem;
	line-height:200%;
}

.p-chef__interview{
	margin-top:40px;
}

.p-chef__interview-text-area{
	margin-top:40px;
}

.p-chef__interview-text{
	margin-top:12px;
	font-size:1.4rem;
	line-height:200%;
	position:relative;
	padding-left:21px;
}

.p-chef__interview-text::before{
	position:absolute;
	left:0;
}

.p-chef__interview-text.of-question::before{
	content:"Q.";
}

.p-chef__interview-text.of-answer::before{
	content:"A.";
	background:linear-gradient(to right, #DEC88C, #9A893C);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.p-class-text{
	font-size:1.4rem;
	line-height:200%;
	text-align:center;
}

.p-class-images{
	margin-top:-50px;
	z-index:1;
	position:relative;
}

.p-class-images__inner{
	margin-inline:-20px;
}

.p-class-images__image{
	width:100%;
	height:auto;
}

.p-class-grid{
	display:grid;
	grid-template-columns:168px 1fr;
	align-items:flex-end;
}

.p-class-profile{
	grid-column:2 / 3;
	grid-row:1 / 2;
}

.p-class-profile__job{
	font-size:1.4rem;
	background:linear-gradient(180deg, #DEC88C 0%, #9A893C 100%);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	background-clip:text;
	text-fill-color:transparent;
}

.p-class-profile__name{
	font-size:2rem;
	small{
		font-size:1rem;
	}
}

.p-class-profile__text{
	margin-top:8px;
	font-size:1.4rem;
	line-height:180%;
}

.p-class-image{
	grid-column:1 / 2;
	grid-row:1 / 2;
}

.p-button{
	margin:60px auto 0;
}

.p-button__link{
	font-size:1.4rem;
	line-height:180%;
	color:#FFFFFF;
	text-align:center;
	-webkit-text-decoration:none;
	text-decoration:none;
	display:block;
}

.p-button__text{
	position:relative;
	padding-bottom:7px;
}

.p-button__text::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px; 
  background:linear-gradient(to right, #FDE9B2, #655613);
}

.p-class-total{
	margin-top:70px;
	font-size:1.4rem;
	line-height:200%;
	text-align:center;
}

.p-curriculum{
	padding-bottom:60px;
	.p-button{
		margin-top:60px;
	}
}

.p-curriculum__column{
	margin-top:40px;
}

.p-curriculum__title{
	font-size:1.6rem;
	line-height:180%;
	text-align:center;
	position:relative;
	padding-bottom:5px;
}

.p-curriculum__title::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:24px;
  height:1px;
  background:linear-gradient(to right, #FDE9B2, #655613);
  transform:translateX(-50%);
}

.p-curriculum__image-inner{
	position:relative;
}

.p-curriculum__image-inner::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  aspect-ratio:335 / 223;
  padding:1px;
  background:linear-gradient(to bottom, #DEC88C, #9A893C); 
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite:exclude;
}

.p-curriculum__text{
	font-size:1.4rem;
	line-height:200%;
	margin-top:14px;
}

.p-voice{
	margin-top:40px;
}

.p-voice__column + .p-voice__column{
	margin-top:65px;
}

.p-voice__image-inner{
	position:relative;
}

.p-voice__image-inner::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  aspect-ratio:335 / 223;
  padding:1px;
  background:linear-gradient(to bottom, #DEC88C, #9A893C); 
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite:exclude;
}

.p-voice__text{
	font-size:14px;
	line-height:180%;
	margin-top:14px;
}

.p-voice__name{
	font-size:12px;
	line-height:180%;
	color:#222222;
	margin-top:6px;
}

.p-voice .p-button{
	margin-top:25px;
	.p-button__text{
		color:#222222;
	}
}

.p-dialog__inner{
	height:480px;
}

.p-dialog__image{
	margin:4px 4px 0;
}

.p-dialog__content{
	margin:12px 12px 0;
	color:#222222;
	line-height:180%;
	font-family:var(--font-mincho);
}

.p-dialog__title{
	font-size:1.4rem;
}

.p-dialog__name{
	font-size:1rem;
	color:#222222;
}

.p-dialog__list{
	margin:0;
}

.p-dialog__heading{
	font-size:1.2rem;
	line-height:160%;
	position:relative;
	padding-left:6px;
	margin-top:20px;
}

.p-dialog__heading::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:2px;
  height:12px;
  background:linear-gradient(to bottom, #9A893C, #DEC88C);
}

.p-dialog__text{
	margin-top:9px;
	font-size:1.2rem;
	line-height:160%;
	font-weight:400;
}

@media (width > 767px){
	.p-main-structure__offset{
		padding:0 0 140px 0;
	}
	.p-main-structure__offset.of-oc-bottom{
		padding:60px 0 140px 0;
	}
	.p-title.of-type-2{
		padding-top:40px;
	} 
	.p-title{
		font-size:4.8rem;
	}
	.p-title__text::before{
		top:auto;
		bottom:-22px;
		left:-24px;
		width:33px;
		height:29px;
	}
	.p-title__text::after{
		top:-7px;
		right:-9px;
		width:24px;
		height:33px;
	}
	.p-class-text{
		font-size:1.6rem;
	}
	.p-lead{
		padding:4px;

		.p-decoration{
			position:absolute;
			width:80px;
			height:80px;
		}
	}
	.p-lead::before{
		width:calc(100% - 8px);
		height:calc(100% - 8px);
		border:1px solid transparent;
		border-image:linear-gradient(to right, 
				transparent 72px, #B7996D 72px, #B7996D calc(100% - 72px), transparent calc(100% - 72px)
		) 1;
	}
	.p-lead::after{
		width:calc(100% - 8px);
		height:calc(100% - 8px);
		border:1px solid transparent;
		border-image:linear-gradient(to bottom, 
				transparent 72px, #B7996D 72px, #B7996D calc(100% - 72px), transparent calc(100% - 72px)
		) 1;
	}
	.p-lead__inner{
		padding:60px 40px 45åpx;
		margin:9px;
		background-color:rgba(183, 153, 109, .05);
	}
	.p-lead__inner::before{
		border-image:linear-gradient(to right, 
				transparent 54px, #B7996D 54px, #B7996D calc(100% - 54px), transparent calc(100% - 54px)
		) 1;
	}
	.p-lead__inner::after{
		border-image:linear-gradient(to bottom, 
				transparent 54px, #B7996D 54px, #B7996D calc(100% - 54px), transparent calc(100% - 54px)
		) 1;
	}
	.p-lead__text{
		font-size:2rem;
		line-height:320%;
	}
	.p-lead__text-wide{
		font-size:4.8rem;
	}
	.p-chef{
		padding:0 40px 0;
		margin-top:120px;
	}
	.p-chef__profile{
		display:grid;
		grid-template-columns:1fr 1fr;
		grid-template-rows:62px 1fr;
		column-gap:40px;
		row-gap:20px;
		margin-top:40px;
	}
	.p-chef__profile::before{
		top:auto;
		bottom:0;
		aspect-ratio:1360 / 302;
		background-image:url("../img/index_border_01_pc.svg");

	}
	.p-chef__profile.of-reverse::before{
		background-image:url("../img/index_border_02_pc.svg");
		bottom:auto;
		top:47%;
	}
	.p-chef__profile-status{
		padding-left:18px;
		grid-column:2 / 3;
	}
	.p-chef__profile-status.of-reverse{
		grid-column:1 / 2;
	}
	.p-chef__profile-job{
		font-size:1.6rem;
	}
	.p-chef__profile-name{
		margin-top:15px;
		font-size:2.8rem;
		small{
			font-size:1.4rem;
		}
	}
	.p-chef__profile-image{
		grid-column:1 / 2;
		grid-row:1 / 3;
		margin-top:0;
	}
	.p-chef__profile-image.of-reverse{
		grid-column:2 / 3;
	}
	.p-chef__profile-image::before{
		position:absolute;
		top:27.6%;
		left:-25px;
		width:16px;
		height:43px;
	}
	.p-chef__profile-image.of-reverse::before{
		right:-25px;
	}
	.p-chef__profile-text{
		font-size:1.6rem;
	}
	.p-chef__interview{
		margin-top:60px;
		display:grid;
		grid-template-columns:1fr 220px;
		column-gap:40px;
	}
	.p-chef__interview.of-reverse{
		grid-template-columns:220px 1fr;
	}
	.p-chef__interview-image{
		grid-column:2 / 3;
		grid-row:1 / 3;
	}
	.p-chef__interview-image.of-reverse{
		grid-column:1 / 2;
	}
	.p-chef__interview-image-image{
		width:100%;
		height:auto;
	}
	.p-chef__interview-text-area{
		margin-top:0;
		grid-column:1 / 2;
		grid-row:1 / 3;
	}
	.p-chef__interview-text-area.of-reverse{
		grid-column:2 / 3;
	}
	.p-chef__interview-text{
		margin-top:20px;
		font-size:1.6rem;
		line-height:200%;
		position:relative;
		padding-left:26px;
	}
	.p-chef__interview-text.of-answer + .p-chef__interview-text.of-question{
		margin-top:40px;
		padding-top:40px;
		border-top:rgba(255, 255, 255, .3) 1px solid;
	} 

	.p-class-text{
		font-size:1.6rem;
	}
	.p-class-images{
		margin-top:-80px;
	}
	.p-class-images__inner{
		margin-inline:-20px;
	}
	.p-class-grid{
		grid-template-columns:265px 1fr;
	}
	.p-class-grid.of-reverse{
		grid-template-columns:1fr 265px;
	}
	.p-class-grid + .p-class-grid{
		margin-top:-60px;
	}
	.p-class-profile.of-reverse{
		grid-column:1 / 2;
	}
	.p-class-profile__job{
		font-size:1.6rem;
	}
	.p-class-profile__name{
		font-size:2.8rem;
		small{
			font-size:1.4rem;
		}
	}
	.p-class-profile__text{
		margin-top:25px;
		font-size:1.6rem;
	}
	.p-class-image.of-reverse{
		grid-column:2 / 3;
	} 
	.p-button{
		margin:120px auto 0;
	}
	.p-button__link{
		font-size:1.8rem;
	}
	.p-button__text{
		padding-bottom:15px;
	}
	.p-button__text::after{
		height:2px;
	} 
	.p-class-total{
		margin-top:100px;
		font-size:2rem;
	} 
	.p-curriculum{
		padding-bottom:70px;
		.p-button{
			margin-top:40px;
		}
	}
	.p-curriculum{
		max-width:960px;
		margin-inline:auto;
	}
	.p-curriculum__inner{
		display:grid;
		grid-template-columns:1fr 1fr 1fr;
		column-gap:40px;
	}
	.p-curriculum__title{
		font-size:2rem;
		padding-bottom:8px;
	}
	.p-curriculum__title::after{
		width:40px;
		height:2px;
	}
	.p-curriculum__image-inner::after{
		padding:2px;
	}
	.p-curriculum__text{
		font-size:1.6rem;
	}
	.p-curriculum__image{
		margin-top:20px;
	}
	.p-voice{
		margin-top:80px;
	}
	.p-voice__inner{
		display:grid;
		grid-template-columns:1fr 1fr 1fr;
		column-gap:40px;
	}
	.p-voice__column + .p-voice__column{
		margin-top:0;
	}
	.p-voice__column{
		display:flex;
		flex-direction:column;
		.p-button{
			margin-top:auto;
		}
	}
	.p-voice__column-content{
		margin-bottom:20px;
	}
	.p-voice__image-inner::after{
		padding:2px;
	}
	.p-voice__text{
		font-size:1.6rem;
	}
	.p-voice__name{
		font-size:1.4rem;
		margin-top:6px;
	}
	.p-dialog__body{
		display:grid;
		grid-template-columns:44% 50%;
		column-gap:6%;
	}
	.p-dialog__image{
		margin:0;
	}
	.p-dialog__content{
		margin:0;
	}
	.p-dialog__title{
		font-size:2rem;
	}
	.p-dialog__name{
		font-size:1.2rem;
	}
	.p-dialog__heading{
		font-size:1.6rem;
	}
	.p-dialog__heading::before{
		height:16px;
	}
	.p-dialog__text{
		font-size:1.4rem;
	}
}