@charset "UTF-8";
/** -----------------------------------------------
	共通
------------------------------------------------**/
body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.75;
	letter-spacing: 0.02em;
	color: #2f2f2c;
	background-color:#fff;
}

.message, .work, .recruit {
	padding: 0 120px;
}

.message, .work, .recruit {
	padding-top: 140px;
	padding-bottom: 140px;
}

.section_inner {
	max-width: 1200px;
	height: auto;
	margin: 0 auto
}

.section_cta {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
	padding-top: 72px;
}

.col3 {
	display: flex;
	flex-wrap: wrap;
	max-width: 1200px;
	justify-content: space-between;
}

.pc-only {
	display: block;
}

.sp-only {
	display: none;
}

/* ----- スマホ ----- */
@media screen and (max-width:640px){
	.body {
		font-size: 15px;
	}

	.message, .work, .recruit {
		padding: 0 20px;
	}

	.message, .work, .recruit {
		padding-top: 108px;
		padding-bottom: 108px;
	}

	.section_inner {
		max-width: 100% ;
		padding: 0 20px;
		height: auto;
		margin: 0 auto;
	}

	.section_cta {
		gap: 16px;
		padding-top: 48px;
	}

	.section_cta img{
		max-width: 60px;
		max-height: 60px;
	}

	.col3 {
		flex-direction: column;
		gap: 24px;
		margin-right: auto;
		margin-left: auto;
	}

	.pc-only {
		display: none;
	}

	.sp-only {
		display: block;
	}
}

/* ----- PCとSP共通 ----- */
img {
	max-width: 100%;
}

li {
	list-style: none;
}

a  {
	text-decoration: none;
	color: #2f2f2c;
}

a:hover {
	text-decoration: underline;
	font-weight: 500;
}

.sp5 {
	margin-left: 5px;
}

.sp20 {
	margin-left: 20px;
}

/** -----------------------------------------------
	テキスト 
------------------------------------------------**/
h1 {
	padding-bottom: 48px;
	font-size: 32px;
	font-weight: 700;
	text-align: center;
}

h2 {
	padding-bottom: 108px;
	font-size: 20px;
	font-weight: 400;
	text-align: center;
}

h2 span {
	display: block;
}

p.large {
	font-size: 24px;
	font-weight: 500;
	text-align: center;
}

p.medium {
	font-size: 18px;
	font-weight: 400;
}

/*----- スマホ ----- */
@media screen and (max-width:640px){
	h1 {
		font-size: 22px;
		padding-bottom: 36px;
	}
	h2 {
		padding-bottom: 56px;
		font-size: 18px;
		text-align: left;
	}

	h2 span {
		display: inline;
	}

	p.large {
		font-size: 20px;
		font-weight: 500;
	}

	p.medium {
		font-size: 16px;
	}
}

/** -----------------------------------------------
	ボタン
------------------------------------------------**/
.floating_entry {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 15px;
	padding: 6px 40px;
	z-index: 9999;
}

@media screen and (max-width: 640px) {
	.floating_entry {
		width: 80px;
		height: 80px;
		bottom: 20px;
		right: 10px;
		padding: 0;
	}
}

/**--------------------------------------------
	ヘッダー～私たちについての背景
------------------------------------------------**/
.bg-wrapper {
	background-image: url(../images/fv_bg_image1920.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center top;
	position: relative;
	z-index: 0;    
}

/* ----- スマホ ----- */
@media screen and (max-width:640px){
	.bg-wrapper {
		background-image: url(../images/fv_sp_image640.png);
		background-repeat: no-repeat;
		background-size: 100%;
		background-position: center top;
		position: relative;
		z-index: 0;    
	}
}

/** -----------------------------------------------
	ヘッダー 
------------------------------------------------**/
.header {
	width: 100%;
	height: 120px;
	position: fixed;
	top: 0;	
	background: transparent;
	z-index: 9999;
	transition: all 0.3s ease;
}

.header.is-scrolled {
	background-color: #fff;
	box-shadow: 0 2px 8px #2f2f2c0D;
}

.header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 15px;
}

.header_logo {
	display: flex;
	flex-direction: column;
	width: 340px;
	height: 80px;
	padding: 11px 43px 11px 43px;
	background-color: #FFFFFFB3;
	border-radius: 25px;
}

.header_logo_text {
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
}

.header_pc_menu {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 795px;
	height: 80px;
	padding: 9px 10px 9px 10px;
	background-color: #FFFFFFB3;
	border-radius: 25px;
}

.header_link ul {
	display: flex;
	gap: 20px;
	padding: 0 20px 0 0;
	font-size: 18px;
	font-weight: 400;
}

.header_btn {
	display: block;
	width: 195px;
	height: 62px;
	background-color: #d08c60;
	color: #fff;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
	align-items: center;
	border-radius: 25px;
}

/* ヘッダーの高さを確保 */
.header-space {
	height: 120px;
}

#header_sp_menu {
	display: none;
}

.sp_header_link {
	display: none;
}

/* -----スマホ----- */
@media screen and (max-width:640px){
	.header {
		width: 100%;
		height: 80px;
	}

	.header_inner {
		padding: 10px 20px;
	}

	.header_logo {
		width: 182px;
		height: 60px;
		padding: 9px 20px;
		border-radius: 15px;
	}

	.header_logo img {
		width: 154px;
		height: 19px;
	}

	.header_logo_text {
		font-size: 16px;
		font-weight: 500;
		line-height: 2.1;
	}

	.header_pc_menu {
		display: none;
	}

	#header_sp_menu {
		display: block;
		position: relative;
		width: 40px;
		height: 40px;
		z-index: 101;
	}

	.header_sp_menu_btn span {
		display: block;
		position: absolute;
		width: 100%;
		height: 2px;
		background-color: #2f2f2c;
		border-radius: 2px;
		transition: 0.4s;
	}

	/* active になったときの変化 */
	.header_sp_menu_btn.active span:nth-child(1) {
		transform: rotate(45deg);
		top: 19px; /* 真ん中に寄せる */
	}

	.header_sp_menu_btn.active span:nth-child(2) {
  		opacity: 0; /* 真ん中の線を消す */
	}

	.header_sp_menu_btn.active span:nth-child(3) {
		transform: rotate(-45deg);
		bottom: 19px; /* 真ん中に寄せる */
	}

	.header_sp_menu_btn span:nth-child(1) {
		top: 8px;
	}

	.header_sp_menu_btn span:nth-child(2) {
		top: 0;
		bottom: 0;
		margin: auto;
	}

	.header_sp_menu_btn span:nth-child(3) {
		bottom: 8px;
	}

	.sp_header_link {
		display: none;
		background-color: #ffffe9;
		width: 100VW;
		height: 650px;
		position: fixed;
		top: 0;
		left: 0;
		padding-top: 120px;
		z-index: 100;
	}

	.sp_link {
		font-size: 18px;
		font-weight: 400;
		line-height: 3;
		text-align: center;
	}
	.header-space {
		height: 80px;
	}
}
	
/** -----------------------------------------------
	ファーストビュー 
------------------------------------------------**/
.fv {
	width: 100vw;
	height: 800px;
	position: relative;
}

.fv_section_inner {
	display: flex;
	flex-direction: row;
	margin: 10px 0 0 120px;
}

.fv_section_inner_right {
	width: 182px;
	margin-top: 15px;
	margin-right: 20px;
	text-align: right;
}

.fv_section_inner_left {
	width: calc( 100% - 202px );
	text-align: right;
}

.fv_entry {
	position: absolute;
	right: 55px;
	bottom: 10px;
}

/* -----スマホ----- */
@media screen and (max-width:640px){
	.fv {
		width: 100vw;
		height: 540px;
	}

	.fv_section_inner {
		display: flex;
		flex-direction: column-reverse;
		margin: 52px 0 154px 20px;
	}

	.fv_section_inner_right {
		width: 290px;
		margin-top: 28px;
		margin-right: auto;
		margin-left: auto;
	}

	.fv_section_inner_left {
		width: auto;
		margin-right: auto;
	}
	.fv_entry {
		width: 110px;
		height: 110px;
		position: absolute;
		right: 5px;
		bottom: 20px;
	}
}

/** -----------------------------------------------
	新着情報 
------------------------------------------------**/ 
.news {
	height: 200px;
	background-color: #ffffffB3;
}

.news_title {
	font-size: 30px;
	font-weight: 400;
	text-align: center;
}

.news_inner {
	width: 850px;
	height: 120px;
	padding: 10px 40px;
	background-color: #fff;
	margin-right: auto;
	margin-left: auto;
	overflow-X: scroll;
	overflow-y: auto;
}

.news_inner_text {
	font-size: 18px;
	font-weight: 400;
	text-align: left;
}

/* -----スマホ----- */
@media screen and (max-width:640px){
	.news {
		height: 245px;
	}
	.news_title {
		font-size: 20px;
	}
	.news_inner {
		width: calc( 100% - 20px * 2);
		height: 161px;
		padding: 24px 50px;
	}
	.news_inner_text {
		font-size: 14px;
	}

	.news_inner_text span {
		display: block;
	}

	.news_inner_text li {
		margin-bottom: 1em;
	}
}

/** -----------------------------------------------
	私たちについて 
------------------------------------------------**/
.about {
	padding: 108px 120px 140px 120px;
}

.about h1 {
	margin-bottom: 60px;
}

.about_inner {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	max-width: 1200px;
	height: 765px;
	margin: 0 auto;
	position: relative;
}

.about_text {
	width: 53%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background-color: #FFFFFFB3;
	border-radius: 20px;
}

.about_text_img {
	padding-bottom: 40px;
}

.about_text_small {
	font-size: 20px;
	font-weight: 400;
	margin-bottom: 1em;
}

.about_text_large {
	font-size: 22px;
	font-weight: 500;
}

.about_image {
	width: 100%;
	height: auto;
	position: relative;
}

.about_img_pc1 {
	position: absolute;
	top: 0px;
	right: 110px;
}

.about_img_pc2 {
	position: absolute;
	bottom: 221px;
	right: 0%;
}

.about_img_pc3 {
	position: absolute;
	bottom: 0px;
	right: 225px;
}

.about_img_pc4 {
	position: absolute;
	bottom: 0px;
	right: 675px;
}

/* -----スマホ----- */
@media screen and (max-width:640px){
	.about {
		padding: 108px 20px;
	}

	.about h1 {
		margin-bottom: 20px;
	}

	.about_inner {
		display: flex;
		flex-direction: column;
		max-width: calc( 100vw - 20px *2);
		height: auto;
		position: static;
	}

	.about_text {
		width: calc( 100vw - 20px *2);
		height: auto;
		position: static;
		padding: 5px;
	}

	.about_text_img {
		height: auto;
		padding-bottom: 30px;
		text-align: center;
	}

	.about_text_small {
		font-size: 18px;
		font-weight: 400;
	}

	.about_text_large {
		font-size: 20px;
		font-weight: 500;
	}

	.about_image {
		width: calc( 100vw - 20px *2);
		height: auto;
		position: static;
		margin-right: auto;
		margin-left: auto;
		padding-top: 24px;
	}

	.header, .floating_entry {
		position: fixed;
	}
}


/** -----------------------------------------------
	事業について 
------------------------------------------------**/
.service {
	background-color: #fff;
	height: auto;
}

.service_top img {
	width: 100%;
	height: 140px;
}

.service_middle {
	width: 100vw;
	height: auto;
	padding: 0 120px;
	background-color: #ffffb34D;
}

.service_item {
	width: calc((100% - 36px * 2) / 3);
	height: auto;
	background-color: #fff;
	border: solid 1px #2f2f2c1A;
	border-radius: 50px;
	box-shadow: 0px 0px 18px 2px #2f2f2c0D;
}

.card_img {
	height: 250px;
}

.card_text {
	padding: 24px 24px 36px	24px;
	margin-right: auto;
	margin-left: auto;
}

.card_small {
	padding-top: 20px;
}

.service_bottom img {
	width: 100%;
	height: 140px;
}

/* -----スマホ----- */
@media screen and (max-width:640px){
	.service_top img {
		height: 108px;
	}

	.service_middle {
		padding: 0 ;
	}

	.service_item {
		width: auto;
		max-width: 335px;
		margin-right: auto;
		margin-left: auto;
	}

	.card_img {
		height: 228px;
	}

	.service_bottom img {
		height: 108px;
	}
}

/** -----------------------------------------------
	メンバーからのメッセージ 
------------------------------------------------**/
.message {
	background-color: #fff;
	background-image: url(../images/message_bg_1920.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center 140px;
}

.col2 {
	max-width: 1200px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 72px 60px;
}

.message_img {
	text-align: center;
}

.message_text_name {
	text-align: center;
	margin-right: auto;
	margin-left: auto;
}

/* -----スマホ----- */
@media screen and (max-width:640px){
	.message {
		background-position: center;
	}

	.col2 {
		display: block;
		max-width: 100%;
	}

	.slide-arrow {
		background-color: transparent;
		bottom: 0;
		height: 0;
		margin: auto;
		position: absolute;
		top: 0;
		width: 0;
	}

	.prev-arrow {
		border-bottom: 10px solid transparent;
		border-left: 0;
		border-right: 10px solid #d08c60;
		border-top: 10px solid transparent;
		left: -25px;
	}

	.next-arrow {
		border-bottom: 10px solid transparent;
		border-left: 10px solid #d08c60;
		border-right: 0;
		border-top: 10px solid transparent;
		right: -25px;
	}

	button {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		outline: none;
		padding: 0;
	}
}

/** -----------------------------------------------
	働く環境について
------------------------------------------------**/
.work {
	background-color: #ffffb34D;
}

.col3_work {
	display: flex;
	max-width: 1200px;
	justify-content: space-between;
	padding: 42px;
	background-color: #FFF;
	border-radius: 50px;
}

.work_item {
	width: calc((100% - 42px *2) /3);
	min-height: 445px;
}

.work_text1 {
	min-height: 210px;
	padding-top: 24px;
	background-color: #fdcdb7;
	border-radius: 50px;
}

.work_text2 {
	min-height: 210px;
	padding-top: 24px;
	background-color: #ffffb3;
	border-radius: 50px;
}

.work_text3 {
	min-height: 210px;
	padding-top: 24px;
	background-color: #ccebc5;
	border-radius: 50px;
}

.work_img {
	display: flex;
	height: 214px;
	padding-top: 24px;
	justify-content: center;
	align-items: center;
}

/* -----スマホ----- */
@media screen and (max-width:640px){
	.col3_work {
		flex-direction: column;
		flex-wrap: wrap;
		align-content: center;
		width: auto;
		max-width: 100%;
		padding: 40px 16px 16px 16px;
	}
	.work_item {
		width: 100%;
		min-height: auto;
	}

	.work_text1 {
	min-height: auto;
	}

	.work_text2 {
		min-height: auto;
	}

	.work_text3 {
		min-height: auto
	}

	.work_img {
		flex-direction: column;
		justify-content: flex-start;
		height: auto;
		padding: 24px 0px;
		align-items: center;
	}
}

/** -----------------------------------------------
	募集職種
------------------------------------------------**/

.recruit {
	padding-top: 140px;
	padding-bottom: 72px;
	background-color: #FFF;
}

.recruit-col1 {
	display: grid;
	max-width: 1200px;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 72px;
}

.recruit-col2 {
	display: grid;
	max-width: 1000px;
	grid-template-columns: repeat(2, 1fr);
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 72px;
}

.recruit_img {
	margin-right: auto;
	margin-left: auto;
}

.recruit-col1 img, .recruit-col2 img{
	width: auto;
	height: 22vw;
	object-fit: cover;
}

.recruit_cta {
	display: flex;
	justify-content: center;
	gap: 100px;
	padding-top: 36px;
	z-index: 1;
}

.recruit_cta_btn {
	display: block;
	position: relative;
	width: 280px;
	height: 60px;
	background-color: #ffffb3;
	box-shadow: 0 0 20px 6px #2f2f2c0D;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-align: center;
	border-radius: 50px;
	line-height: 60px;
}

.btn_text {
	display: inline-block;
	width: 100%;
}

.btn_circle {
	display: flex;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 16px;
	width: 26px;
	height: 26px;
	background-color: #FFF;
	border-radius: 100%;
	justify-content: center;
	align-items: center;
}

.btn_allow {
	width: 8px;
	height: 8px;
	border-right: 3px solid #d08c60;
	border-bottom: 3px solid #d08c60;
	transform: rotate(-45deg);
}

/* -----スマホ----- */
@media screen and (max-width:640px){
	.recruit {
		padding-top: 108px;
		padding-bottom: 56px;
		background-color: #FFF;
	}

	.recruit-col {
		display: flex;
	}

	.recruit-col1, .recruit-col2 {
		display: grid;
		max-width: 50%;
		grid-template-columns: none;
		grid-template-rows: 1fr 1fr 1fr;
		grid-auto-flow: column;
		gap: 24px;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 56px;
	}

	.recruit-col1 img, .recruit-col2 img{
		width: auto;
		height: 38vw;
		object-fit: cover;
	}

	.recruit_cta {
		flex-direction: column;
		align-items: center;
		gap: 16px;
		padding-top: 24px;
	}

	.recruit_cta_btn {
		margin: 0 auto;
	}

	.btn_text {
		display: block;
	}
}

/** -----------------------------------------------
	エントリー
------------------------------------------------**/
.entry_top img {
	width: 100%;
	height: 140px;
}

.entry_middle {
	display: block;
	padding: 72px 120px;
	background-color: #ffffb34D;
	text-align: center;
	margin-right: auto;
	margin-left: auto;
}

.entry_cta {
	padding-top: 72px;
	z-index: 1;
}

.entry_cta_btn {
	display: block;
	position: relative;
	width: 340px;
	height: 70px;
	background-color: #d08c60;
	color: #FFF;
	box-shadow: 0 0 20px 0 #32270d1A;
	border: solid 1px #32270d1A;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-align: center;
	border-radius: 50px;
	line-height: 70px;
	margin-right: auto;
	margin-left: auto;
}

.entry_bottom {
	padding-bottom: 36px;
	z-index: 20;
}

.entry_bottom img {
	width: 100%;
	height: 140px;
}

/* -----スマホ----- */
@media screen and (max-width:640px){
	.entry_top img {
		width: 100%;
		height: 72px;
	}

	.entry_middle {
		display: block;
		padding: 48px 20px;
	}

	.entry_cta {
		padding-top: 48px;
	}

	.entry_cta_btn {
		width: 280px;
		height: 60px;
		background-color: #d08c60;
		font-size: 26px;
		font-weight: 700;
		letter-spacing: 0.02em;
		text-align: center;
		border-radius: 50px;
		line-height: 60px;
		margin-right: auto;
		margin-left: auto;
	}

	.entry_bottom {
		padding-bottom: 48px;
		z-index: 20;
	}

	.entry_bottom img {
		width: 100%;
		height: 72px;
	}
}

/** -----------------------------------------------
	フッター
------------------------------------------------**/
.footer {
	background-image: url(../images/footer_bg_pc.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center top;
	z-index: 0;
}

.footer_inner {
	padding: 48px 0;
}

.footer_inner_contents {
	height: 256px;
	background-color: #FFFFFFB3;
}

.footer_inner_contents_grid {
	display: grid;
	max-width: 1440px;
	grid-template-columns: 120px 5fr 1fr 0.5fr 1.8fr 0.45fr 1.25fr 120px;
	grid-template-rows: 80px auto;
	margin: 0 auto;
	padding: 24px 0;
}

.footer_grid_item1 {
	grid-column: 2 / span 2;
	grid-row: 1 / span 1;
}

.footer_grid_item2 {
	grid-column: 2 / span 2;
	grid-row: 2 / span 1;
}

.footer_grid_item3 {
	grid-column: 3 / span 1;
	grid-row: 2 / span 1;
}

.footer_grid_item4 {
	grid-column: 5 / span 1;
	grid-row: 2 / span 1;
}

.footer_grid_item5 {
	grid-column: 7 / span 1;
	grid-row: 2 / span 1;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	height: 100%;
}

.footer_grid_item1 img {
	width: 251px;
	height: 30px;
}

.footer_large {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.2em;
}

.footer_left_nav {
	font-size: 12px;
	font-weight: 300px;
	line-height: 2.5em;
}

.footer_left_cop {
	font-size: 14px;
	font-weight: 400;
}

.footer_right_nav {
	font-size: 14px;
	font-weight: 400;
	line-height: 2.3em;
}

.footer_rights {
	font-size: 12px;
	font-weight: 300;
}

/* -----スマホ----- */
@media screen and (max-width:640px){
	.footer {
		background-image: url(../images/footer_bg_sp.png);
		background-repeat: no-repeat;
		background-size: 100%;
		background-position: center;
		z-index: 0;
	}

	.footer_inner {
		padding: 0px 20px 10px 20px;
	}

	.footer_inner_contents {
		height: auto;
		background-color: #FFFFFFB3;
	}

	.footer_inner_contents_grid {
		display: flex;
		max-width: calc(100% - 20px * 2);
		flex-direction: column;
		margin: 0 auto;
	}

	.footer_grid_item1 {
		padding-bottom: 20px;
	}

	.footer_grid_item1 img {
		width: 68%;
	}

	.footer_large {
		font-size: 18px;
		font-weight: 400;
		line-height: 1.5em;
	}

	.footer_grid_item2 {
		padding-bottom: 32px;
	}

	.footer_grid_item5 {
		margin: 0 auto;
	}
}
