@charset "utf-8";

* { margin:0; padding:0; /*-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;*/ }

html { /*overflow-x:hidden;*/ height:100%; font-size:16px; }
	
body { font-family:YakuHanJP,"Zen Kaku Gothic Antique", sans-serif; font-weight:400; font-style:normal; background:#e3eae0; color:#364443; line-height:1.7; letter-spacing:0.025em; display:none; overflow-x:hidden; height:100%; }

	@keyframes body_fadein {
	    0% { opacity:0; }
	    100% { opacity:1; }
	}


body,html { /*position:relative;*/ }

/*
.scroll_off { overflow:hidden; }
.scroll_off section,
.scroll_off #footer { opacity:0; visibility:hidden; }
.open { opacity:1; }*/

body.open { /*overflow:hidden;*/ }


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

@font-face {
	font-family: 'dxglitar';
	src: url("../font/dxglitar/dxglitar-free-font.eot") format('embedded-opentype'),
	url('../font/dxglitar/dxglitar-free-font.woff2') format('woff2'),
	url('../font/dxglitar/dxglitar-free-font.woff') format('woff');
}
.dx { font-family:'dxglitar', "Zen Kaku Gothic Antique", sans-serif; }


/* ----------------------------------------------------
library
---------------------------------------------------- */

h1,h2,h3,h4,h5 { font-weight:normal; }

img { max-width:100%; width:100%; }
img.w_auto { width:auto; }
img.w_150 { width:150px; }

a { color:#3a190a; text-decoration:none; transition:0.3s; }

.btn_more a { display:inline-block; border:1px solid #42400c; color:#42400c; padding:13px 60px 10px; font-size:15px; letter-spacing:0.06em; transition:0.3s; position:relative; font-family: 'dxglitar'; text-indent:-0.5em;  /*line-height:45px;*/ }
	.btn_more a::before { content:""; position:absolute; width:11%; height:auto; padding:8% 0 0; background:url(../img/common/ico_arrow_more.png) no-repeat center left / contain; top:17px; right:34px; }
	.btn_more a:hover { background:#42400c; color:#fff; }

.btn_more.big a { padding:23px 110px 19px; }
.btn_more.big a::before { width:9%; padding:9% 0 0; top:21px; right:73px; }


.btn_solid { border-radius:30px; border:1px solid #29b597; padding:13px 50px; font-size:16px; font-weight:bold; color:#29b597; letter-spacing:0.085em; transition:0.3s; }
.btn_solid.active { background:#29b597; color:#fff; }

.block { display:block; }
.inline { display:inline; }
.inline_block { display:inline-block; }

.centerText { text-align:center; }
.leftText { text-align:left; }
.rightText { text-align:right; }

.centerBlock { margin-right:auto; margin-left:auto; display:block; text-align:center; }
.fleft { float:left; }
.fright { float:right; }

.flex { display:flex; }
.flex_wrap { flex-wrap:wrap; }
.item_center { align-items:center; }
.flex_center { justify-content:center; }
.flex_left { justify-content:flex-start; }
.flex_auto { justify-content:space-between; }

.bg_white { background:#fff; }

.red { color:#cf1225; }
.white { color:#fff; }

.xs { font-size:10px; }

.lead_txt { font-size:16px; }

.shorten { letter-spacing:-0.0025em; }

.relative { position:relative; z-index:1; }
.fixed { position:fixed; width:100%; }

.w_100 { margin-left:calc(-50vw + 50%); margin-right:calc(-50vw + 50%); }

.disable-auto-tel { color:inherit; text-decoration:none; pointer-events:none; }

	@media only screen and (min-width: 768px) {
		.onlySp { display: none!important; }
	}
	@media screen and (max-width: 1024px) {
	}
	
	@media screen and (max-width: 767px) {
		.onlyPc { display: none!important; }
		.btn_more.big a { padding:15px 0 11px; width:100%; }
		.btn_more.big a::before { top:10px; }
	}
	
	@media screen and (max-width:500px) {
	}
	
	/* mobile only */
	@media (hover: none) and (pointer: coarse) {
	}

/* ----------------------------------------------------
header
---------------------------------------------------- */

#header { font-size:14px; padding:0 20px 0 0; /**/position:absolute; top:0; left:0; z-index:10; width:100%; padding:40px 5.64% 40px; /*background:rgba(250,248,238,0.25);*/ }
	/*#home #header #h_nav .logo, #home #header .h_nav_menu  { display:none; }*/


	#home #header.scroll #h_nav .logo  { display:block; }
	#home #header.scroll .h_nav_menu { display:flex; }

	
#header.scroll { position:fixed; z-index:5; background:rgba(250,248,238,0.25); transition:0.3s; opacity:0; animation:scroll-anim linear; animation-timeline:scroll(); }


	@keyframes scroll-anim {
		0% { opacity:0; translate:0 -20px; }
		10% { opacity:0; translate:0 -20px; }
		20% { opacity:1; translate:0 0; }
		100% { opacity:1;}
	}/**/


#h_nav { display:flex; justify-content:flex-start; align-items:center; flex-wrap:wrap; }
#h_nav a { text-decoration:none; font-weight:bold; color:#fff; }

#h_nav h1 { position:relative; }
#h_nav h1.logo a { width:300px; height:56px; background:url(../img/common/img_logo.png) no-repeat top left / contain; /*text-indent:-9999px;*/  color:#000; display:flex; align-items:center; justify-content:flex-end; font-weight:400; }
#h_nav h1.logo a span { position:absolute; top:calc(50% - 13px); right:13px; font-size:14px; letter-spacing:0.14em; }

	#people #h_nav h1.logo a { background:url(../img/common/img_logo_white.png) no-repeat top left / contain; }
	#people #h_nav h1.logo a span { color:#fff; }

.menu-btn { position:fixed; top:50px; right:6%; z-index:11; width:165px; height:50px; display:flex; justify-content:center; align-items:center; color:#fff; cursor:pointer; }
.menu-btn:after { content:"MENU"; position:absolute; top:6px; right:0; font-size:18px; color:#3e4437; font-weight:600; letter-spacing:0.24em; }
.menu-btn.white:after { color:#fff; }
.open .menu-btn,
.menu-btn.is-active { background:none; }

.menu-btn a { display:block; text-decoration:none; }

	.menu-btn span { display:block; position:absolute; left:0%; width:85px; height:1px; background:#3e4437; border-radius:4px; transition:all .5s; }
		.menu-btn span:nth-child(1) { top:15px; }
		.menu-btn span:nth-child(2) { top:31px; }
		
		.menu-btn.white span { background:#fff; }
		
		.open .menu-btn:after { content:"CLOSE"; color:#fff; }
		
		.open .menu-btn span,
		.menu-btn.is-active span { background:none; }
		.open .menu-btn span:nth-child(1),
		.menu-btn.is-active span:nth-child(1) { transform: translateY(5px) rotate(315deg); }
		.open .menu-btn span:nth-child(2),
		.menu-btn.is-active span:nth-child(2) { transform: translate(0, -6px) rotate(45deg); }

.sp_menu { position:fixed; top:0; left:0; z-index:10; width:100vw; height:100vh; color:#5f2f10; opacity:0; visibility:hidden; transition:opacity .6s ease, visibility .6s ease; }
	
	.open .sp_menu,
	.sp_menu.is-active { visibility:visible; opacity:1; overflow-y:auto; overflow-x: hidden; height:100vh; }
	
	.sp_menu a { color:#fff; }

	.open .sp_menu:after,
	.sp_menu.is-active:after,
	.is-active .sp_menu:after { content:""; position:absolute; top:-2.5%; left:-2.5%; width:105%; height:105%; background:url(../img/top/img_main01.jpg) no-repeat center center / cover; z-index:-1; }
	
.sp_menu_inner { display:flex; justify-content:space-between; /*align-items:center;*/ height:100%; }
.sp_menu_people { width:61.39%; display:flex; align-items:center; justify-content:center; }
.sp_menu_people ul { width:100%; height:100%; }
.sp_menu_people ul li { height:33.3%; display:flex; align-items:flex-end; position:relative; }
.sp_menu_people ul li:nth-child(1) { background:url(../img/common/bg_menu02.jpg) no-repeat top right / cover; }
.sp_menu_people ul li:nth-child(2) { background:url(../img/common/bg_menu01.jpg) no-repeat top right / cover; }
.sp_menu_people ul li:last-child { height:33.4%; background:url(../img/common/bg_menu03.jpg) no-repeat top right / cover; }
.sp_menu_people a { padding:0 8.35% 50px; width:100%; height:100%; /*display:block; position:absolute; bottom:0;*/ display:flex; align-items:flex-end; flex-wrap:wrap; }
.staff_info_box { }
.staff_ttl, .staff_role { font-size:14px; width:100%; }
.staff_name { font-size:38px; }
.staff_name span { font-size:18px; }

.sp_menu_logo p:after { content:""; position:absolute; top:50px; left:65px; width:95px; height:40px; background:url(../img/common/img_logo_s.png) no-repeat center center / contain; }
.sp_menu_listwrap { width:38.61%; background:url(../img/common/bg_menu.jpg) no-repeat top right / cover; display:flex; align-items:center; flex-wrap:wrap; justify-content:center; }
.sp_menu .entry_btn { width:100%; }

.sp_menu .entry_btn { display:flex; justify-content:flex-start; align-items:center; margin:50px 0; }
.sp_menu .entry_btn li a { border:1px solid #fff; padding:15px 30px 12px; font-family: 'dxglitar'; line-height:1; display:inline-block; font-size:15px; }
.sp_menu .entry_btn li:first-child { margin-right:20px; }
.sp_menu .entry_btn li a:hover { background:rgba(255,255,255,0.25); }

.sp_menu_list ul.sp_menu_box, .sp_menu_list p { width:100%; }
.sp_menu_list ul.sp_menu_box { margin:0 0 40px; font-size:20px; }
.sp_menu_list ul.sp_menu_box li { margin-bottom:20px; }
.sp_menu_list ul.sp_menu_box span { font-size:12px; color:#fff; /*width:9em;*/ padding-left:20px; display:inline-block; }
.sp_menu_list .copyright { line-height:2; color:#fff; font-size:13px; }
.sp_menu_list .copyright a { display:block; }
.sp_menu_list a { color:#fff; }


.sp_menu_list .sns_btn { display:flex; justify-content:flex-start; align-items:center; margin-top:50px; }
.sp_menu_list .sns_btn li a { position:relative; display:inline-block; text-indent:-9999px; width:50px; height:50px; border:1px solid #fff; border-radius:50%; transition:0.3s; }
.sp_menu_list .sns_btn li.instagram a { /*width:22px; height:22px;*/ margin-right:25px; }
.sp_menu_list .sns_btn li.youtube a { /*width:27px; height:19px;*/ }
	.sp_menu_list a:before { content:""; position:absolute; background-repeat:no-repeat; background-position:center center; background-size:contain; }
	.sp_menu_list li.instagram a:before { top:calc(50% - 11px); left:calc(50% - 11px); width:22px; height:22px; background-image:url(../img/common/ico_instagram.png); }
	.sp_menu_list li.youtube a:before { top:calc(50% - 9.5px); left:calc(50% - 12.5px); width:27px; height:19px; background-image:url(../img/common/ico_youtube.png); }

#entry_btn_bottom { position:fixed; bottom:0; left:0; z-index:6; width:100%; background:rgba(0,0,0,0.25); display:none; }
#entry_btn_bottom .entry_btn { display:flex; justify-content:space-between; align-items:center; margin:15px 20px; }
#entry_btn_bottom .entry_btn li { width:47%;  }
#entry_btn_bottom .entry_btn li a { border:1px solid #fff; padding:15px 0 12px; font-family: 'dxglitar'; line-height:1; display:block; font-size:12px; color:#fff; text-align:center; }
#entry_btn_bottom .entry_btn li:first-child { margin-right:20px; }
#entry_btn_bottom .entry_btn li a:hover { background:rgba(255,255,255,0.25); }
.is-hidden { visibility:hidden; opacity:0; }

	
	@media only screen and (max-width:1240px) {
	
	}

	@media only screen and (max-width:1024px) {
		.sp_menu_logo { width:20%; }
		.sp_menu_listwrap { width:80%; }
		.sp_menu_logo p { display:none; }
	}
	
	@media only screen and (max-width:767px) {
		#header { padding:20px 5% 20px; background:none; }
		#h_nav { width:60%; }
		#h_nav h1 { width:100%;  max-width:300px; }
		#h_nav h1.logo a { width:100%; height:auto; padding:9% 0; color:#212221; }
		#h_nav h1.logo a span { font-size:10px; top:calc(50% - 10px); left:70%; }
		#home #h_nav h1.logo a { background: url(../img/common/img_logo_white.png) no-repeat top left / contain; }
		#home #h_nav h1.logo a { color:#fff; }
		
		#h_nav h1:after { right:-25px; }
		/*#h_nav h2 { margin-left:50px; }*/
		
		.menu-btn { top:2%; width:110px; width:50px; right:20px; }
		.menu-btn:after { top:14px; font-size:14px; display:none; }
		body.open .menu-btn:after { display:block; }
		.menu-btn span { width:50px; }
		.menu-btn span:nth-child(1) { top:20px; }
		.menu-btn span:nth-child(2) { top:31px; }
		.sp_menu_list ul.sp_menu_box { font-size:16px; }
		.sp_menu .entry_btn li a { font-size:13px; }
		
		#home #main .menu-btn span { }

		/*.sp_menu_list ul { margin:0 0 30px; font-size:22px; }
		.sp_menu_list ul li { margin-bottom:10px; }
		.sp_menu_list ul ul { margin:10px 0 10px 0px; font-size:18px; }*/
		
		.sp_menu_inner { flex-wrap:wrap; }
		.sp_menu_listwrap { width:100%; }
		.sp_menu_people { display:none; }
	}
	
	@media only screen and (max-width:500px) {
		/*.sp_menu_logo { width:10%; }
		.sp_menu_listwrap { width:90%; }*/
		.menu-btn { top:10px; }
	}
	
	
/* ----------------------------------------------------
top main 
---------------------------------------------------- */	
#main { width:100%; /*height:calc(100vh + 140px);*/ height:725px; overflow:hidden; position:relative;/**/ margin-top:140px; }
.main_slider { /*position:relative; margin-top:140px; background:#000;*/ }
.main_slide { height:100vh; /*opacity:0; transform:translateY(-100px);*/ }
.img00 { background:url(../img/top/img_main.png?20251126) no-repeat center center / cover; }
.img01 { background:url(../img/people/monma/img_main.png?20251126) no-repeat center center / cover; }
.img02 { background:url(../img/people/hamasaki/img_main.png) no-repeat center center / cover; }
.img03 { background:url(../img/people/goto/img_main.png) no-repeat center center / cover; } /**/
	#main .slick-active .main_slide { animation:zoom-small 4s ease forwards; /*animation: fadein_bg 1.0s ease 0.5s 1 forwards;*/ }
	
	@keyframes zoom-small {
	  0% { transform: scale(1.1); }
	  100% { transform: scale(1); }
	}

.main_content { position:absolute; top:0; left:0; width:100%; height:100%; color:#fff; display:flex; justify-content:center; align-items:center; }
	
	/*.is-active .main_content h2:before { animation:fadein_blur 1.5s ease 0.5s 1 forwards; }
	
	@keyframes fadein_blur {
	    0% { opacity:0; filter:blur(10px); transform: scale(2.0,2.0); }
	    50% { opacity:0.5; transform: translateY(10px); }
	    100% { opacity:1; transform: translate(0); filter: blur(0px); }
	}*/
	
	
.main_content h2 { font-size:26px; line-height:1.69; letter-spacing:0.1em; opacity:0; text-align:center; }
	.is-active .main_content h2 { animation:fadein_blur2 1.5s ease 0.75s 1 forwards; }
	
		@keyframes fadein_blur2 {
		    0% { opacity:0; filter:blur(10px); transform: scale(1.5,1.5); }
		    50% { opacity:0.5; transform: translateY(10px); }
		    100% { opacity:1; transform: translate(0); filter: blur(0px); }
		}
	
.main_content em { font-size:12px; letter-spacing:0.1em; display:block; margin-bottom:40px; opacity:0; }
	.is-active .main_content em { animation:fadein_blur2 1.5s ease 1s 1 forwards; }

.slick-num { text-align:center; width:200px; font-size:13px; margin:30px auto 0; }
.nowcnt { display:inline-block; position:relative; left:5px; }
.nowcnt:before { content:"0"; position:absolute; top:0; left:-8px; }

.dots_wrap { display:flex; justify-content:center; /*width:200px;*/ }
.dots_wrap li { width:15px; height:2px; position:relative; }
.dots_box li { display:inline-block; width:10px; height:10px; margin:0 5px; padding:0; cursor:pointer; }
.dots_box li button { font-size:0px; line-height:0px; display:block; width:10px; height:10px; padding:5px; cursor:pointer; border:0; outline:none; background:none; /*background:transparent; color:transparent;*/ }
.dots_box li button:before { font-size:6px; line-height:20px; position:absolute; top:15px; left:0; width:10px; border-radius:50%; height:10px; content:''; text-align:center; border:1px solid #fff; opacity:1; transition:0.3s; }
.dots_box .slick-active button:before { height:10px; background:#fff; }

.main_slide_nav { position:absolute; top:70%; left:calc(50% - 100px); }

#main .slick-dotted.slick-slider { margin-bottom:0; }


	
/* ----------------------------------------------------
slider transition
---------------------------------------------------- */

.slider_wrap { position:relative; top:0; height:100%; /*border:1px solid red;*/ }
.overlay { position:absolute; width:100%; height:50%; background:black; z-index:2; transition:transform 0.6s ease; pointer-events:none; }
.overlay.top { top:-1px; height:calc(50% + 1px); transform:translateY(-100%); }
.overlay.bottom { bottom:0; transform:translateY(100%); }
.slider_wrap.transition .overlay.top { transform:translateY(0%); }
.slider_wrap.transition .overlay.bottom { transform:translateY(0%); }





/* ----------------------------------------------------
---------------------------------------------------- */

	@media only screen and (max-width:767px) {
		#wrapper { overflow-x:hidden; }
		#main { margin-top:0; height:100vh; }
		.main_content { padding:0 5%; }
		.main_content h2 { writing-mode:vertical-rl; font-size:clamp(1.125rem, 0.946rem + 0.89vw, 1.375rem); margin-top:-60px; line-height:1; margin-left:-7px; }
		.main_content h2 span { text-combine-upright:all; line-height:0; }
		.main_slide_nav { top:88%; }
		.slick-num { font-size:11px; margin:20px auto 0; }
		.dots_box li button { width:7px; height:7px; padding:3.5px; }
		.dots_box li button:before { width:7px; height:7px; }
		.dots_box .slick-active button:before { height:7px; }
		
		.img03 { background:url(../img/people/goto/img_main.png) no-repeat 40% 0% / cover; }
		
		/*.main_content h2:before { width:13%; height:auto; padding-top:13%; top:-160%; }
		.main_content h3 { font-size:5.95vw; line-height: 2.36; }
		.main_content em { font-size:10px; margin-bottom:20px; }
		.slick-num { width:calc(35% - 10px); font-size:10px; }
		.dots_wrap { width:35%; }
		.dots_box li { width:80%; height:5px; margin: 0 5px; }
		.dots_box li button { width:80%; }
		.dots_box li button:before { width:80%; top:10px; }
		.dots_box .slick-active button:before { height:2px; }*/
	}
	
	@media only screen and (max-width:600px) {
		.main_content h2:before { top:-110%; }
	}
	
	@media only screen and (max-width:500px) {
		.main_content h2:before { top:-70%; }
	}



/* ----------------------------------------------------
common layout 
---------------------------------------------------- */
#contents { position:relative; }
.content_inner { padding:0 5.56%; padding:0 4.86%; }

.message_top { margin:100px auto 0; position:relative; }
.message_top .content_inner { position:relative; z-index:-1; }
.message_top h2 { text-align:center; font-size:14px; margin-bottom:70px; }
.message_top h2 span { display:block; font-size:25px; letter-spacing:0.16em; }
.message_top h3 { font-size:31px; text-align:center; }
.message_top_bg { background:url(../img/top/bg_sea.png?20251126) no-repeat bottom left / cover; width:100vw; margin:140px calc(50% - 50vw) 0; padding:0 9.6%; color:#fff; position:relative; z-index:-2;/**/ }

.img_sea { position:absolute; top:109px; left:calc(50% - 170px); width:340px; height:411px; padding:0; z-index:-1; clip-path:ellipse(50% 50% at 50% 50%);  /*background:rgba(255,255,255,0.5); mix-blend-mode:overlay; */  opacity:0; transform:translateY(100px); }
	.img_sea:before { content:""; position:absolute; top:0; left:0; width:100%; height:53.5%; background:url(../img/top/img_sea.png) no-repeat top center / 100% auto; z-index:1;  opacity:0; transform:translateY(0); }

.img_sea2 { position:absolute; /*top:109px; left:calc(50% - 170px); width:340px; height:411px; padding:0;*/ z-index:1; clip-path:ellipse(50% 50% at 50% 50%); /* opacity:0; transform:translateY(100px); */  width:22.07%; height:auto; padding:28% 0 0; left:calc(50% - 11.035%); top:calc(50% - 40%) }
	.img_sea2:before { content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:url(../img/top/img_sea.png) no-repeat top center / cover; z-index:1; /* opacity:0; transform:translateY(0);*/ }

.bg_sea { width:100vw; margin:0 calc(50% - 50vw) 0; border:1px solid red; position:absolute; top:34%; left:0; height:calc(100% - 34%); background:url(../img/top/bg_sea.png?20251126) no-repeat bottom left / cover; z-index:-1; }
	
	.message_top.is-active .img_sea { animation: bg01 1.0s ease 0.25s 1 forwards; }
	.message_top.is-active .img_sea:before { animation: fadein01 0.5s ease 1.5s 1 forwards; }
	
		@keyframes fadein01 {
		    0% { opacity:0; }
		    100% { opacity:1; transform: translate(0); }
		}
		@keyframes bg01 {
			0% { opacity:0; }
		    100% { opacity:1; background:rgba(255,255,255,0.5); mix-blend-mode:overlay; transform: translate(0); }
		}
		
	
.message_top_bg_inner { display:flex; justify-content:center; width:100%; padding:17% 0 10%; }
	/*.message_top_bg_inner:after { content:""; position:absolute; width:100vw; margin:0 calc(50% - 50vw) 0; position:absolute; top:34%; left:0; height:calc(100% - 34%); background:url(../img/top/bg_sea.jpg) no-repeat bottom left / cover; z-index:-1; }*/
.message_top_bg_inner p { width:50%; line-height:2.18; letter-spacing:0.05em; z-index:2; color:#fff; font-size:18px; }
.message_top_bg_inner p:last-child { padding-left:0%; }


.people_top { margin:50px auto 70px; position:relative; }

#member_intro { position:relative; }
	#member_intro:after { content:""; position:absolute; top:80px; left:3%; width:96.6%; height:auto; padding:20% 0 0; background:url(../img/top/ttl_people.png) no-repeat top left / contain; z-index:-1; }
	#member_intro.in-view:after { position:fixed; left:2.3%; left:3%; }

.people_top h2 { font-size:15px; margin-bottom:17%; }
.people_top h2 span { display:inline-block; font-size:33px; letter-spacing:0.24em; margin-right:25px; }

.people_box { padding:0 0 65%; position:relative; min-height:600px; }
.people_name { /*text-align:right;*/ display:flex; justify-content:center; align-items:baseline; flex-direction:row-reverse; flex-wrap:wrap; width:23%; width:300px; z-index:5; height:550px; }
.people_name_job { font-size:12px; line-height:3; writing-mode:vertical-rl; letter-spacing:0.24em; display:block; }
.people_name_en { font-size:64px; line-height:1.4; writing-mode:vertical-rl; letter-spacing:0.04em; }
.people_name_en .break { display:block; }
.people_name_jp { font-size:21px; writing-mode:vertical-rl; letter-spacing:0.07em; color:#42400c; }
.people_name_copy { font-size:25px; writing-mode:vertical-rl; letter-spacing:0.15em; position:relative; top:90px; /*line-height:3;*/ }
	.people_name_copy:before,.people_name_copy:after { content:""; position:absolute; width:9px; height:7px; background:url(../img/common/ico_colon.png) no-repeat top left; }
	.people_name_copy:before { top:-10px; right:0; }
	.people_name_copy:after { bottom:-10px; left:0; transform:rotate(180deg); }

.people_name .btn_more { position:relative; }
.people_name .btn_more a { padding:10px 50px 5px; font-size:13px; position:relative; }
.people_name .btn_more a::before { top:13px; right:30px; }

.people_pic { position:absolute; height:auto; background-repeat:no-repeat; background-position:center center; background-size:contain; }

	.people_pic {
	  /*transition: top 0.1s ease-out, left 0.1s ease-out, right 0.1s ease-out;*/
	}

#chou .people_name { position:absolute; top:3%; left:34.67%; }
#chou .people_name_job { text-indent:-1em; }
#chou .people_name .btn_more { top:50px; left:38px; }
.people_pic.chou01 { background-image:url(../img/top/img_people01_1.jpg); width:26.05%; padding:30% 0 0; top:0%; left:4.9%; }
.people_pic.chou02 { background-image:url(../img/top/img_people01_2.jpg); width:22.40%; padding:29% 0 0; top:12%; left:61.5%; }
.people_pic.chou03 { background-image:url(../img/top/img_people01_3.jpg); width:19.12%; padding:25% 0 0; top:0%; right:0%; }

#hamasaki.people_box { padding:0 0 75%; }
#hamasaki .people_name { position:absolute; top:3%; left:4.6%; width:340px; }
#hamasaki .people_name_job { line-height:6; }
#hamasaki .people_name_en { line-height:1; }
#hamasaki .people_name_en .break { margin-top:50%; }
#hamasaki .people_name_jp { position:relative; right:40px; }
#hamasaki .people_name .btn_more { top:110px; left:88px; }
.people_pic.hamasaki01 { background-image:url(../img/top/img_people02_1.jpg); width:26.05%; padding:30% 0 0; top:0%; right:0%; }
.people_pic.hamasaki02 { background-image:url(../img/top/img_people02_2.jpg); width:22.40%; padding:29% 0 0; top:26%; left:34.89%; }
.people_pic.hamasaki03 { background-image:url(../img/top/img_people02_3.jpg); width:19.12%; padding:25% 0 0; top:0%; left:51.89%; z-index:1; }


#goto .people_name { position:absolute; top:-13%; right:-3%; width:310px; }
#goto .people_name_job { line-height:4; }
#goto .people_name_en { line-height:1; }
#goto .people_name_en .break { margin-top:35%; }
#goto .people_name_jp { position:relative; top:120px; right:38px; }
#goto .people_name .btn_more a { top:150px; left:18px; }
#goto .people_name_copy { top:190px; }
.people_pic.goto01 { background-image:url(../img/top/img_people03_1.jpg); width:27.51%; padding:31% 0 0; top:0%; left:46.71%; }
.people_pic.goto02 { background-image:url(../img/top/img_people03_2.jpg); width:22.40%; padding:29% 0 0; top:12%; left:5.6%; }
.people_pic.goto03 { background-image:url(../img/top/img_people03_3.jpg); width:19.12%; padding:25% 0 0; top:0%; left:25.18%; }



.works_pic_box { position:relative; padding:41% 0 0; }
.works_pic { position:absolute; height:auto; background-repeat:no-repeat; background-position:center center; background-size:contain; opacity:0; transform:translateY(100px); }
.works_pic.pic01 { background-image:url(../img/top/img_people_pic01.png); width:33.55%; padding:25% 0 0; top:29%; left:-2.5%; }
.works_pic.pic02 { background-image:url(../img/top/img_people_pic02.png); width:32.84%; padding:24% 0 0; top:0%; left:23%; }
.works_pic.pic03 { background-image:url(../img/top/img_people_pic03.png); width:27.18%; padding:20% 0 0; bottom:-4%; right:15%; }
.works_pic.pic04 { background-image:url(../img/top/img_people_pic04.png); width:21.43%; padding:32% 0 0; top:5%; right:0; }

	.works_pic_box.is-active .works_pic.pic01 { animation:bg02 1.0s ease 0.25s 1 forwards; }
	.works_pic_box.is-active .works_pic.pic02 { animation:bg02 1.0s ease 0.5s 1 forwards; }
	.works_pic_box.is-active .works_pic.pic03 { animation:bg02 1.0s ease 0.75s 1 forwards; }
	.works_pic_box.is-active .works_pic.pic04 { animation:bg02 1.0s ease 1s 1 forwards; }


.works_box { text-align:center; color:#605d3b; max-width:70%; margin:10% auto 0; }
.works_box #works_ttl { font-size:57px; font-weight:500; letter-spacing:-0.2em; margin-bottom:15%; }
.works_box h3 { font-size:26px; font-weight:bold; letter-spacing:0.12em; position:relative; padding-top:16%; }
	.works_box h3:before { content:""; position:absolute; top:30%; left:calc(50% - 24px); width:48px; height:71px; background:url(../img/top/ico_flower.png) no-repeat top center; }
	.works_box h3:after { content:""; position:absolute; top:-45%; left:calc(50% - 31.4%); width:62.80%; height:auto; padding:50% 0 0; background:url(../img/top/ttl_works.png) no-repeat top center / contain; opacity:0; transform:translateY(100px); }
.works_box p { font-size:15px; font-weight:500; line-height:2.06; letter-spacing:0.12em; margin:7% 0 5%; }

	.works_box.is-active h3:after { animation: bg02 1.0s ease 0s forwards; }


.voice_top { position:relative; color:#fff; padding:15% 0 10%; }
	.voice_top:after { content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:url(../img/top/bg_voice.jpg) no-repeat top center / cover; z-index:-2; }
	.voice_top:before { content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:url(../img/common/bg_noise.png) repeat 0 0 / 50% auto; z-index:-1; opacity:0.1; mix-blend-mode:overlay; animation:noise 8s steps(10) infinite; }
	

	
	@keyframes noise {
	  to { background-position:0 0; }
	  10% { background-position:-5% -10%; }
	  20% { background-position:-15% 5%; }
	  30% { background-position:7% -25%; }
	  40% { background-position:20% 25%; }
	  50% { background-position:-25% 10%; }
	  60% { background-position:15% 5%; }
	  70% { background-position:0 15%; }
	  80% { background-position:25% 35%; }
	  90% { background-position:-10% 10%; }
	}
	
.voice_top .bg_line { position:absolute; top:0; left:-50%; width:200%; height:100%; background:url(../img/common/bg_line.png) repeat 0 0 / cover;  z-index:-1; mix-blend-mode:overlay; animation:noise 8s steps(5) infinite; }

.voice_top h2 { font-size:21px; position:relative; padding:10% 0 5%; }
	.voice_top h2:before { content:""; position:absolute; top:0; left:0; width:65%; height:auto; padding:20% 0 0; background:url(../img/top/ttl_voice.png) no-repeat top center / contain; mix-blend-mode:overlay; opacity:0; transform:translateX(-100px); }
.voice_top h2 span { position:absolute; bottom:0; left:19%; }
	
	.voice_top.is-active h2:before { animation: bg02 1.0s ease 0.25s 1 forwards; }
	
.voice_slider { margin:70px auto 80px auto; width:70%; }
.voice_head { margin-bottom:30px; line-height:1.5; }
.voice_lead { font-size:13px; line-height:2; }

.arrow_box { display:flex; align-items:center; justify-content:flex-start; margin:20px auto 0; position:relative; width:70%; }

.prev-arrow,.next-arrow { display:block; width:146px; height:50px; line-height:50px; transition:all .3s ease; cursor:pointer; position:relative; border:1px solid #fff; text-align:center; padding:0 5px; font-size:13px; letter-spacing:0.2em; }
.prev-arrow { border-right:none; text-indent:1em; }
.next-arrow { text-indent:-1em; }

.prev-arrow::before,.next-arrow::before { content:""; position:absolute; width:25px; height:10px; background:url(../img/common/ico_arrow.png) no-repeat center left; top:18px; margin:0; }

.prev-arrow::before { transform:scale(-1, 1); left:25px; }
.next-arrow::before { right:25px; }

.prev-arrow:hover, .next-arrow:hover { background:rgba(255,255,255,0.25); }


.vision_top { position:relative; padding:10% 0 15%; text-align:center; }
	.vision_top:after { content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:url(../img/top/bg_vision.png) no-repeat top center / 100% auto; z-index:-1; }
	
.vision_top .content_inner { margin:0 40px; }
.vision_top h2 { font-size:15px; margin-bottom:50px; }
.vision_top h3 { font-size:40px; position:relative; padding:4.5% 0; letter-spacing:0.05em; }

	@media print, screen and (min-width:768px) {
		.vision_top h3 { position:relative; left:-1.0%; }
	}

	.vision_top h3:before, .vision_top h3:after { content:""; position:absolute; height:auto; z-index:-1;  }
	.vision_top h3:before { top:calc(50% - 47%); left:0%; width:40%; height:auto; padding:6.5% 0; background:url(../img/top/ttl_our.png) no-repeat top left / contain; opacity:0; transform:translateY(100px); }
	.vision_top h3:after { top:calc(50% - 47%); right:0; width:60%; padding:6.5% 0; background:url(../img/top/ttl_vision.png) no-repeat top left / contain; opacity:0; transform:translateY(-100px); }
.vision_top p { line-height:2.17; font-size:17px; margin-bottom:50px; }

	.vision_top.is-active h3:before { animation: bg02 1.0s ease 0.25s 1 forwards; }
	.vision_top.is-active h3:after { animation: bg02 1.0s ease 0.5s 1 forwards; }


.recruit_top { background:#fff; padding:10% 0 10%; }

.entry_box { border:1px solid #aba96b; margin:-17% 9.6% 10%; }
.entry_box_ttl { background:#ede9dd; padding:60px 50px; text-align:center; }
.entry_box_ttl h2 { font-size:33px; margin-bottom:10px; letter-spacing:0.056em; }
.entry_box_ttl p { font-size:15px; }
.entry_box_btn { background:#fff; padding:50px; display:flex; justify-content:space-between; }
.entry_box_btn_inner { width:50%; text-align:center; position:relative; font-size:15px; }
.entry_box_btn_inner:last-child:after { content:""; position:absolute; top:-20px; left:0; width:1px; height:calc(100% + 40px); border-left:1px dotted #364443; }
.btn_entry { margin-top:10px; }
.btn_entry a { border:1px solid #364443; padding:13px 0 9px; width:220px; display:inline-block; font-family: 'dxglitar'; font-size:15px; }
.btn_entry a:hover { background:#364443; color:#fff; }

.recruit_top .content_inner { padding:0 9.6%; }
.recruit_top_ttl { display:flex; justify-content:space-between; align-items:center; margin-bottom:10%; }
.recruit_top_ttl h2 { font-size:58px; letter-spacing:0.08em; }
.recruit_top_news li { border-bottom:1px solid #a0a49f; padding:20px 0; margin-bottom:20px; position:relative; }
	.recruit_top_news li:after { content:""; position:absolute; top:5%; right:10px; width:4%; height:auto; padding:5% 0 0; background:url(../img/common/ico_arrow_big.png) no-repeat center center / contain; }
.recruit_top_news li a { display:flex; justify-content:flex-start; align-items:center; }
.recruit_top_news li span { color:#a0a49f; font-size:12px; width:12%; margin-right:20px; }
.recruit_top_news li p { font-size:21px; width:88%; letter-spacing:0.14em; }




	@media print, screen and (max-width:1366px) {
	}
	
	
	@media print, screen and (max-width:1024px) {
		.entry_box_btn { flex-wrap:wrap; }
		.entry_box_btn_inner { width:100%; }
		.entry_box_btn_inner:last-child { margin-top:50px;  }
		.entry_box_btn_inner:last-child:after { top:-20px; left:0; width:100%; height:1px; border-left:none; border-top: 1px dotted #364443; }
		
		.recruit_top_news li span { width:20%; }
		.recruit_top_news li p { width:80%; }
	}
	
	
	@media print, screen and (max-width:767px) {
		.message_top { margin:50px auto 0; }
		.message_top h2 { margin-bottom:0; }
		.message_top h3 { font-size:clamp(1.375rem, 1.107rem + 1.34vw, 1.75rem); position:relative; top:80px; }
		.message_top_bg_inner { flex-wrap:wrap; padding:20% 0; font-size:15px; }
		.message_top_bg_inner p { width:100%; }
		.message_top_bg_inner p:last-child { padding-left:0; }
		.img_sea { top:89px; left:calc(50% - 150px); width:300px; height:363px; }
		.img_sea:before { height:52.5%; }
		.message_top_bg { margin-top:170px; /*margin:170px calc(50% - 50vw) 0;*/ }
		
		.people_top:after { top:100px; left:3%; }
		.people_box { padding:0 0 133%; min-height:auto; }
		.people_name { width:250px; height:auto; }
		
		.people_name_job { line-height:1; }
		.people_name_en { font-size:clamp(1.875rem, 0.98rem + 4.47vw, 3.125rem); }
		.people_name_jp { font-size:16px; }
		.people_name_copy { font-size:clamp(1.125rem, 0.946rem + 0.89vw, 1.375rem); }
		
		
		#chou .people_name { top:-10%; left:auto; right:-4%; }
		#chou .people_name_jp { position:relative; right:-4%; }
		#chou .people_name .btn_more { top:135px; left:20px; }
		
		.people_pic.chou01 { width:54.05%; padding:62% 0 0; top:0%; left:0%; z-index:2; }
		.people_pic.chou02 { width:31.08%; padding:41% 0 0; top:55%; left:0%; }
		.people_pic.chou03 { width:27.02%; padding:36% 0 0; top:50%; right:auto; left:27%; }
		
		#hamasaki.people_box { padding:0 0 133%; }
		#hamasaki .people_name { top:-3%; left:0%; width:250px; }
		#hamasaki .people_name_job { line-height:3; }
		#hamasaki .people_name_jp { right:53px; top:85px; }
		#hamasaki .people_name .btn_more a { top:102px; left:5px; }
		#hamasaki .people_name .btn_more { position:static; margin-top:45px; }
		
		.people_pic.hamasaki01 { width:54.05%; padding:62% 0 0; top:0%; right:0%; z-index:2; }
		.people_pic.hamasaki02 { width:31.35%; padding:41% 0 0; top:56%; left:auto; right: 0; }
		.people_pic.hamasaki03 { width:26.62%; padding:35% 0 0; top:50%; left:auto; right:27.5%; }
		
		
		#goto .people_name { top:5%; right:-4%; width:250px; }
		#goto .people_name_job { line-height:2; }
		#goto .people_name_jp { top:90px; right:45px; }
		#goto .people_name_en .break { margin-top:25%; }
		#goto .people_name_copy { top:100px; }
		
		.people_pic.goto01 { width:54.05%; padding:62% 0 0; top:0%; left:0; z-index:2; }
		.people_pic.goto02 { width:31.48%; padding:41% 0 0; top:55%; left:0; }
		.people_pic.goto03 { width:27.02%; padding:36% 0 0; top:50%; left:27%; }
		
		.works_pic_box { padding:70% 0; margin:30% 0 0; }
		.works_pic.pic01 { width:63.91%; padding:48% 0 0; top:18%; left:-11%; }
		.works_pic.pic02 { width:63.91%; padding:48% 0 0; top:0%; left:auto; right:-8%;}
		.works_pic.pic03 { width:56.35%; padding:42% 0 0; bottom:9%; right:25%; }
		.works_pic.pic04 { width:46.48%; padding:69% 0 0; top:39%; right:-8%; }
		
		.works_box { max-width:90%; margin:25% auto 0; }
		.works_box h3 { font-size:20px; }
		.works_box h3:before { top:3%; left:calc(50% - 7.5%); width:15%; height:auto; padding-top:15%; background-size:contain; }
		.works_box h3:after { top:-70%; left:calc(50% - 45%); width:90%; padding:44% 0 0; }
		.works_box p { text-align:left; margin:30px 0 50px; }
		
		
		.voice_top h2 { padding:11% 0; }
		.voice_top h2:before { width:100%; padding:18% 0 0; }
		.voice_top h2 span { bottom:-47%; left:5%; font-size:20px; }
		.voice_slider { margin:70px 5% 50px 5%; width:90%; }
		.arrow_box { width:90%; }
		.arrow_box .prev-arrow, .arrow_box .next-arrow { text-indent:-9999px; width:56px; }
		.arrow_box .prev-arrow::before { left:15px; } 
		.arrow_box .next-arrow::before { right:15px; }
		
		.vision_top { padding:15% 0 25%; }
		.vision_top .content_inner { margin:0 10px; }
		.vision_top h2 { margin-bottom:0; }
		.vision_top h3 { font-size:24px; margin-bottom:40px; padding:3.5% 0; }
		.vision_top h3:before { top:-62%; left:calc(50% - 27%); width:100%; padding:10% 0; }
		.vision_top h3:after { bottom:-50%; top:auto; right:calc(50% - 47%); width:100%; padding:10% 0 }
		.vision_top p {line-height: 2.17; font-size:15px; }
		
		.vision_top h3:after { background:url(../img/top/ttl_vision.png) no-repeat top right / contain; }
		
		.entry_box { margin:-22% 9.6% 15%; }
		.entry_box_ttl { padding:30px 30px; }
		.entry_box_btn { padding:30px 30px 40px; }
		.entry_box_ttl h2 { font-size:24px; }
		
		.recruit_top_ttl { margin-bottom:2.5%; }
		.recruit_top_ttl h2 { font-size:clamp(1rem, -0.521rem + 7.61vw, 3.125rem); font-size:24px; }
		.recruit_top_news li { padding:10px 25px 20px 0;  margin-bottom:0px; }
		.recruit_top_news li a { flex-wrap:wrap; }
		.recruit_top_news li span, .recruit_top_news li p { width:100%; line-height:1.5;  margin-top:10px; }
		.recruit_top_news li:after { top:calc(50% - 2.5%); right:10px; width:5%; padding:5% 0 0; }
		.recruit_top_news li p { font-size:16px; }
		.recruit_top .btn_more { margin-top:50px; }
		
	}
	
	
	
	@media print, screen and (max-width:500px) {
		.people_name { width:51%; height:350px; }
		.people_name_copy:before { right:-6px; }
		
		#chou .people_name .btn_more { top:105px; left:20px; }
		
		 #hamasaki .people_name { width:55%; left:-3%; }
		 #hamasaki .people_name .btn_more { margin-top:10px; }
		 
		 #goto .people_name_copy { top:0%; right:3%; }
		 #goto .people_name_en .break { margin-top:15%; }
		 #goto .people_name_jp { position:relative; top:0; right:55px; }
		 #goto .people_name .btn_more a { top:50px; left:0; }
		 
		 #goto .people_name { width:51%; right:-10%; }
		 .people_name_copy { font-size:16px; line-height:1.5; writing-mode: vertical-rl; }
		.people_box, #hamasaki.people_box { min-height:auto; padding:0 0 140%; }
		#hamasaki .people_name_en { line-height:1; position:relative; }
		#hamasaki .people_name_copy { /*line-height:2;*/ }
		.people_name .btn_more a { padding:10px 30px 5px; font-size:12px; }
		.people_name .btn_more a::before { top:14px; right:10px; width:12%; }
	}


/* IE11 */
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .w_chance dd img { }
}

/* mobile only */
@media (hover: none) and (pointer: coarse) {}


/* for Microsoft Edge */
@supports (-ms-ime-align:auto) {}


/* ----------------------------------------------------
lower 
---------------------------------------------------- */

.lower_block { position:relative; padding:350px 0 15%; padding:30% 0 15%; width:90.77%; margin:0 auto; }
	.lower_block.flower01:after,.lower_block.flower02:after,.lower_block.flower03:after,.lower_block.flower04  { z-index:-1; }
	.lower_block.flower01:after { content:""; position:absolute; top:20%; left:0; width:35.53%; height:auto; padding:13% 0; background:url(../img/common/img_flower01.png) no-repeat top left / contain; }
	.lower_block.flower02:after { content:""; position:absolute; top:130px; right:0; width:21.38%; height:auto; padding:23% 0; background:url(../img/common/img_flower02.png) no-repeat top left / contain; }
	.lower_block.flower03:after { content:""; position:absolute; top:150px; left:-5%; width:85.28%; height:auto; padding:41% 0; background:url(../img/common/img_flower03.png) no-repeat top left / contain; }
	.lower_block.flower04:after { content:""; position:absolute; top:120px; right:-14%; width:80%; height:auto; padding:28% 0; background:url(../img/common/img_flower04.png) no-repeat top left / contain; }
	.lower_block.line01:after { content:""; position:absolute; top:15%; left:-10%; width:100%; height:auto; padding:50% 0; background:url(../img/mission/bg_line.png) no-repeat top left / contain; z-index:-1; }
	.lower_block.flower01_2:after { content:""; position:absolute; top:150px; right:-5%; width:45%; height:auto; padding:19% 0; background:url(../img/common/img_flower01.png) no-repeat top left / contain; transform: scaleX(-1); }

.flex_box { display:flex; justify-content:space-between; }

.lower_block .flex_box .content_ttl, .lower_block .flex_box .content_main { width:50%; }

.lower_block h2,.lower_block h3 { font-size:15px; letter-spacing:0.14em; }
.lower_block h2 span,.lower_block h3 span { display:block;font-size:36px; letter-spacing:0.24em; line-height:1.25; margin-bottom:5px; }

.people_list_box { margin-bottom:15%; color:#fff; }
	.people_list_box.second { margin-bottom:5%; }
.people_list_box a { display:block; width:100%; height:100%; color:#fff; position:relative; z-index:1; }
.people_list_box_bg { width:100%; height:100vh; min-height:850px; position:relative; top:0; left:0; display:flex; justify-content:center; align-items:center;  }
	.people_list_box_bg.is-active:after { animation:zoom-small2 1s ease forwards; opacity:1; }
	
	.people_list_box_bg#chou:after { background:url(../img/people/monma/img_main.png?20251126) no-repeat top center / cover; }
	.people_list_box_bg#hamasaki:after { background:url(../img/people/hamasaki/img_main.png) no-repeat top center / cover; }
	.people_list_box_bg#goto:after { background:url(../img/people/goto/img_main.png) no-repeat top center / cover; }
	
	.people_list_box_bg:after { content:""; position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; }
	
	.people_list_box_bg#chou:before { content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.05); z-index:1; }
	
		@keyframes zoom-small2 {
		  0% { transform: scale(1.2); }
		  100% { transform: scale(1); }
		}
	
.people_list_box .staff_info_box { position:absolute; bottom:8%; left:5%; z-index:2; padding-right:8%; }
	.people_list_box .staff_info_box:after { content:""; position:absolute; bottom:9%; right:0; width:15%; padding:6% 0 0; height:auto; background:url(../img/common/ico_arrow_big_white.png) no-repeat top center / contain; }
.people_list_box .staff_ttl span { display:block; font-size:64px; font-size:clamp(2.5rem, 1.012rem + 3.1vw, 4rem); letter-spacing:0.04em; line-height:1; margin-top:10px; }
.people_list_box .staff_ttl, .people_list_box .staff_role { font-size:11px; letter-spacing:0.24em; }
.people_list_box .staff_role { margin:2px 0 13px; }
.people_list_box .staff_name { font-size:64px; font-size:clamp(1.875rem, -0.234rem + 4.4vw, 4rem); line-height:1; letter-spacing:0.04em; }
.people_list_box .staff_name span { font-size:21px; }

.people_list_box h2 { writing-mode:vertical-rl; font-size:25px; letter-spacing:0.15em; position:relative; z-index:2; opacity:0;  transform:translateY(-100px); }
.people_list_box h2:before, .people_list_box h2:after { content:""; position:absolute; width:9px; height:7px; background:url(../img/common/ico_quo.png) no-repeat 0 0 / contain; line-height:1; }
.people_list_box h2:before { top:-10px; right:0; }
.people_list_box h2:after { bottom:-10px; left:0; transform:rotate(180deg); }

.people_list_box_bg.is-active h2 { animation:bg02 1.0s ease 1.0s 1 forwards; }
.people_list_box_bg#hamasaki.is-active h2 { animation:bg02 1.0s ease 1.75s 1 forwards; }
.people_list_box_bg#chou.is-active h2 { animation:bg02 1.0s ease 2s 1 forwards; }

.people_list_box .img_oval { position:absolute; top:calc(50% - 20%); left:calc(50% - 170px); width:340px; height:411px; padding:0; z-index:1; clip-path:ellipse(50% 50% at 50% 50%); opacity:0; transform:translateY(150px); }
	.people_list_box .img_oval:before { content:""; position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; opacity:0; transform:translateY(150px); }

	.people_list_box_bg#chou .img_oval:before { background:url(../img/people/monma/img_oval.png?20251126_2) no-repeat top center / contain; }
	.people_list_box_bg#hamasaki .img_oval { background:url(../img/people/hamasaki/img_oval.png) no-repeat top center / contain; }
	.people_list_box_bg#goto .img_oval { background:url(../img/people/goto/img_oval.png) no-repeat top center / contain; }

	.people_list_box_bg.is-active .img_oval { animation: bg02 1.0s ease 0.25s 1 forwards;  }
	.people_list_box_bg.is-active .img_oval:before { animation: fadein02 0.5s ease 1.5s 1 forwards; }
	
	.people_list_box_bg#hamasaki.is-active .img_oval { animation: bg02 1.0s ease 1s 1 forwards;  }
	.people_list_box_bg#chou.is-active .img_oval { animation: bg02 1.0s ease 0.75s 1 forwards;  }
	
	
		@keyframes bg02 {
			0% { opacity:0; }
		    100% { opacity:1; transform:translateY(0); }
		}
		@keyframes fadein02 {
		    0% { opacity:0; }
		    100% { opacity:1; transform: translateY(0); }
		}

#people .lower_block { margin:5% auto 15%; padding:0; }

.people_intro.flex_box { position:relative; }
.people_intro.flex_box:after { content:""; position:absolute; top:0; left:50%; height:100%; width:1px; background:#8d908b; }

.people_intro.flex_box.line_t { border-top:1px solid #8d908b; padding-top:7%; margin-top:5%; }
.people_intro.flex_box.line_t:after { top:5%; }

.people_profile,.people_interview{ width:43.89%; }
.people_profile p { font-size:14px; line-height:1.92; letter-spacing:0.15em; }
.people_profile strong { font-size:20px; letter-spacing:0.2em; line-height:1; display:block; margin-bottom:10px; }
.people_interview li { margin-bottom:50px; }
.people_interview p:nth-child(1) { font-size:22px; line-height:1.75; letter-spacing:0.15em; margin-bottom:30px; }
.people_interview p:nth-child(2) { font-size:14px; line-height:2; letter-spacing:0.19em; }

#people .content_inner { margin:10% auto; }

.people_clips h3, .people_gallery h3 { font-size:13px; line-height:1.25; margin-bottom:15px; text-align:center; }
.people_clips h3 span, .people_gallery h3 span { font-size:27px; display:block; letter-spacing:0.02em; }
.img_chou01 { background:url(../img/people/chou/img_clip01.jpg) no-repeat center center / cover; }
.img_chou02 { background:url(../img/people/chou/img_clip02.jpg) no-repeat center center / cover; }
.img_chou03 { background:url(../img/people/chou/img_clip03.jpg) no-repeat center center / cover; }
.img_chou04 { background:url(../img/people/chou/img_clip04.jpg) no-repeat center center / cover; }
.img_chou05 { background:url(../img/people/chou/img_clip05.jpg) no-repeat center center / cover; }


/**/
	.custom-slider { width:100%; margin:0 auto; text-align:center; overflow:hidden; padding:10% 0; box-sizing:border-box; position:relative; }
		.custom-slider:after { content:""; position:absolute; top:0%; left:calc(50% - 30%); width:60%; height:100%; background:#d8e1d9; z-index:-1; opacity:0; }
		.custom-slider.is-active:after { animation:scaleUp 1s ease forwards; }
		
			@keyframes scaleUp {
			  0% { transform:scale(0.5); }
			  100% { transform:scale(1); opacity:1; }
			}
		
		
	.image-slider { display:flex; justify-content:center; align-items:flex-end; gap:25px; height:auto; /*min-height:clamp(180px, 35vw, 320px);*/ transition:height 0.3s ease; /**/overflow:hidden; }
	.img-box { width:12%; aspect-ratio:1 / 1.75; background-repeat:no-repeat; background-position:center center; background-size:auto 150%; opacity:1; flex-shrink:0; transition:all 0.5s ease; /*transition: opacity 1s ease, transform 1s ease;*/  }
	.img-box.center { width:45%; /*aspect-ratio:16 / 9;*/ aspect-ratio:3/2; opacity:1; background-size:cover; }

	.text-slider { margin:-5% auto 0; /*min-height:80px;*/ width:45%; }
	.text-box { display:none; }
	.text-box.active { display:block; font-size:18px; letter-spacing:0.12em; line-height:1.88; color:#42400c; text-align:left; display:none; }

	.nav-buttons { position:relative; padding:2% 0; width:100%; }
	.nav-buttons button { padding:6% 0 0; width:15%; height:auto; background:url(../img/common/ico_arrow_big.png) no-repeat center center / 40% auto;  cursor:pointer; border:none; position:absolute; bottom:-100%; }
	.nav-buttons button#prev { transform:scaleX(-1) translateX(-100px); left:0; opacity:0; }
	.nav-buttons button#next { transform:translateX(-100px); right:0; opacity:0; }
	
	.custom-slider.is-active .nav-buttons button#prev { animation:slideIn 0.5s ease 1s forwards; }
	.custom-slider.is-active .nav-buttons button#next { animation:slideIn2 0.5s ease 1s forwards; }
	
			@keyframes slideIn {
			    0% { opacity:0; }
			    100% { opacity:1; transform:scaleX(-1) translateX(0px); }
			}
			@keyframes slideIn2 {
			    0% { opacity:0; }
			    100% { opacity:1; transform:translateX(0px); }
			}
	
	.counter { position:absolute; top:20%; right:10%; font-size:40px; letter-spacing:0.2em; }
	.counter .total { color:#a6b2a1; }
	


/**/
.people_gallery { margin:10% auto; }
.people_gallery ul { margin-top:40px; display:flex; justify-content:space-between; flex-wrap:wrap; }

.people_gallery ul::before{ content:""; display: block; width:23%; order:1; }
.people_gallery ul::after{ content:""; display: block; width:23%; }

.people_gallery ul li { width:23%; margin-bottom:30px; opacity:0; }
	.people_gallery ul li:nth-child(1) { transform:translateX(-150px); }
	.people_gallery ul li:nth-child(2) { transform:translateX(-50px); }
	.people_gallery ul li:nth-child(3) { transform:translateX(50px); }
	.people_gallery ul li:nth-child(4) { transform:translateX(150px); }
	.people_gallery ul li:nth-child(5) { transform:translateX(-150px); }
	.people_gallery ul li:nth-child(6) { transform:translateX(-50px); }
	.people_gallery ul li:nth-child(7) { transform:translateX(50px); }
	.people_gallery ul li:nth-child(8) { transform:translateX(150px); }
	
.people_gallery ul li img { display:block; }

	.people_gallery.is-active ul li { animation:slideIn2 ease 1.5s forwards; opacity:1; }
	
	
.people_nav { margin-top:10%; }

.people_nav h3 span { font-size:11px; letter-spacing:0.24em; padding-left:20px; }
.people_nav ol { border-top:1px solid #b2b7a0; margin:30px 0 10%; list-style:none; counter-reset:number; }
.people_nav ol li { border-bottom:1px solid #b2b7a0;  }
.people_nav ol li a { color:#42400c; padding:40px 10%; display:block; position:relative; }
.people_nav ol li a:before { counter-increment:number; content:counter(number); content:"0" counter(number); font-size:36px; font-size:clamp(1.875rem, 1.39rem + 1.01vw, 2.25rem); line-height:1; font-family:'dxglitar', "Zen Kaku Gothic Antique", sans-serif; letter-spacing:0.04em; text-indent:0.5em; color:#42400c; position:absolute; top:calc(50% - 6%); left:0; }
.people_nav ol li a:after { content:""; position:absolute; top:calc(50% - 12%); right:3%; padding:3% 0 0; width:6%; height:auto; background:url(../img/common/ico_arrow_big.png) no-repeat center center / contain;  }

.people_nav ol li .staff_name { font-size:36px; font-size:clamp(1.875rem, 1.39rem + 1.01vw, 2.25rem); line-height:1.25; }
.people_nav ol li .staff_name span { font-size:16px; padding-left:20px; }

#work #contents { z-index:1; }
.work_box { margin-top:15%; position:relative; }
	.work_box#family_photo:after { content:""; position:absolute; top:-10%; left:-25%; width:150%; height:115%; background:#f1f5f0; z-index:-1; }
.work_box_ttl { font-size:16px; letter-spacing:0.14em; position:relative; margin:20px 0 40px; color:#364443; padding-right:15%; }
.work_box_ttl span { display:block;font-size:87px; font-size:clamp(2.813rem, -0.583rem + 7.08vw, 5.438rem); letter-spacing:0.04em; line-height:1; }
	#family_photo .work_box_ttl { color:#6f6f4a; }
	#wedding_dress .work_box_ttl { color:#825d5d; }
.work_box_list { display:flex; justify-content:space-between; flex-wrap:wrap; }
.work_box_list li { width:30%; text-align:center; font-size:16px; color:#42400c; margin-bottom:50px; opacity:0; transform:translateY(150px); }
	.work_box_list::after{ content:""; display:block; width:30%; }
.work_box_list li img { width:80%; display:block; margin:0 auto 20px; }

	.work_box_list.is-active li { animation:bg02 1.0s ease 0.25s 1 forwards; }
	.work_box_list.is-active li:nth-child(1) { animation-delay: 0s; }
	.work_box_list.is-active li:nth-child(2) { animation-delay: 0.2s; }
	.work_box_list.is-active li:nth-child(3) { animation-delay: 0.4s; }
	.work_box_list.is-active li:nth-child(4) { animation-delay: 0.6s; }
	.work_box_list.is-active li:nth-child(5) { animation-delay: 0.8s; }
	.work_box_list.is-active li:nth-child(6) { animation-delay: 1s; }

.work_lead { line-height:2; margin:50px 0 0; }

.mission_main_bg { position:absolute; width:100%; height:100vh; /*padding-top:65%;*/ }
	.mission_main_bg:after { content:""; position:absolute; top:0; right:0; width:50%; height:100%; background:url(../img/mission/bg_main.jpg) no-repeat top left / cover; opacity:0; }
	.mission_main_bg.is-active:after { animation:zoom-small 4s ease forwards; opacity:1; }

.img_cliff { position:absolute; /*top:109px; left:calc(50% - 170px); width:340px; height:411px; padding:0;*/ z-index:1; clip-path:ellipse(50% 50% at 50% 50%);  width:22.07%; height:auto; padding:28% 0 0; left:calc(50% - 11.035%); top:calc(50% - 22%);  opacity:0; transform:translateY(100px);  }
	.img_cliff:before { content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:url(../img/mission/img_oval01.png) no-repeat top center / cover; z-index:1; opacity:0; transform:translateY(100px); }
	
	.mission_main_bg.is-active .img_cliff { animation:bg02 1.0s ease 0.25s 1 forwards; }
	.mission_main_bg.is-active .img_cliff:before { animation:fadein02 1.0s ease 1.0s 1 forwards; }
	
	.mission_main_bg .content_inner { position:absolute; top:45%; left:5%; z-index:2; }
	.mission_main_bg h2 { font-size:15px; letter-spacing:0.14em; }
	.mission_main_bg h2 span { display:block;font-size:36px; letter-spacing:0.24em; line-height:1.25; margin-bottom:5px; }

#mission .lower_block { z-index:5; padding:100vh 0 15%; }
#mission .content_main { /*padding-top:37%;*/ }

.mission_box { margin:15% 0% 10%; position:relative; padding-bottom:30%; }
.mission_box_ttl { position:relative; width:61.77%; height:auto; padding:24% 0 0; margin:0 auto; text-align:center; }
.mission_box_ttl h3 { position:absolute; top:0; left:0; z-index:1; width:100%; height:100%;  text-indent:-99999999px; font-size:0; }
	.mission_box_ttl h3:before { content:""; position:absolute; top:0; left:0; width:100%; height:auto; padding:35% 0 0;background:url(../img/mission/ttl_main.png?20251127) no-repeat top left / contain; opacity:0; transform:translateY(100px); }
	.mission_box.is-active .mission_box_ttl h3:before { animation:bg02 1.0s ease 0.25s 1 forwards; }
	.mission_box.is-active .mission_box_ttl p { animation:bg02 1.0s ease 0.5s 1 forwards; }

.mission_box_ttl p { font-size:24px; letter-spacing:0.15em; color:#42400c; line-height:1.5; opacity:0; transform:translateY(100px); }

.img_desert { position:absolute; /*top:109px; left:calc(50% - 170px); width:340px; height:411px; padding:0;*/ z-index:1; clip-path:ellipse(50% 50% at 50% 50%);   width:26.932%; height:auto; padding:34.257% 0 0; left:calc(50% - 13.705%); top:53%; opacity:0; transform:translateY(100px); }
	.img_desert:before { content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:url(../img/mission/img_oval02.png) no-repeat top center / cover; z-index:1; opacity:0; transform:translateY(100px); }
	.mission_box.is-active .img_desert { animation:bg02 1.0s ease 0.25s 1 forwards; }
	.mission_box.is-active .img_desert:before { animation:fadein02 1.0s ease 1.0s 1 forwards; }

.mission_list_wrap { display:flex; justify-content:space-between; flex-wrap:wrap; text-align:center; }
.mission_list_col { width:50%; padding:0 2% 5%; }
.mission_list_col_w { width:100%; }
.mission_list_wrap h4 { position:relative; padding:0 0 20% 0; opacity:0; transform:translateY(50px); }
.mission_list_wrap h4:before { content:""; position:absolute; top:40%; z-index:1; height:auto; }
	.mission_list_wrap h4.mission:before { left:calc(50% - 29.755%); padding-top:11%; width:59.51%; background:url(../img/mission/ttl_mission.png?20251127) no-repeat top left / contain; opacity:0; transform:translateY(100px); }
	.mission_list_wrap h4.vision:before { left:calc(50% - 24.11%); padding-top:11%; width:48.22%; background:url(../img/mission/ttl_vision.png?20251127) no-repeat top left / contain; opacity:0; transform:translateY(100px); }
	.mission_list_wrap h4.value:before { left:calc(50% - 9.555%); padding-top:7%; width:19.11%; background:url(../img/mission/ttl_value.png?20251127) no-repeat top center / contain; opacity:0; transform:translateY(100px); }
	
	/**/.mission_list_wrap .mission_list_col.is-active h4,
	.mission_list_wrap .mission_list_col.is-active h4.mission:before,
	.mission_list_wrap .mission_list_col.is-active h4.vision:before,
	.mission_list_wrap .mission_list_col_w.is-active h4.value:before { animation:bg02 1.0s ease 0.25s 1 forwards; }
	
	
.mission_list_wrap h4 span { font-size:0; visibility:hidden; }
.mission_list_wrap p { font-size:15px; line-height:2.26; opacity:0; transform:translateY(100px); }
.mission_list_wrap p strong { font-size:20px; display:block; margin-bottom:20px; color:#42400c; }

	.mission_list_wrap .mission_list_col.is-active p,
	.mission_list_wrap .mission_list_col_w.is-active p { animation:bg02 1.0s ease 0.25s 1 forwards; }

.mission_list_wrap h4.value { padding:0 0 10% 0; opacity:0; transform:translateY(50px); }
.value_list { counter-reset:listnum; list-style:none; border-top:1px solid #c3c8b6; margin:50px 0; opacity:0; transform:translateY(100px); }
.value_list li { display:flex; justify-content:space-between; align-items:center; text-align:left; border-bottom:1px solid #c3c8b6; }
.value_list li:before { counter-increment:listnum; content:counter(listnum); content:"0" counter(listnum); font-size:36px; font-family:'dxglitar', "Zen Kaku Gothic Antique", sans-serif; letter-spacing:0.04em; text-indent:0.5em; }
.value_list_ttl, .value_list_txt { width:50%; }
.value_list_ttl { padding:5% 3% 5% 3%; font-size:21px; } 
.value_list_txt { padding:5% 1% 5% 3%; font-size:15px; }
	
	.mission_list_wrap .mission_list_col_w.is-active h4.value,
	.mission_list_wrap .mission_list_col_w.is-active .value_list { animation:bg02 1.0s ease 0.25s 1 forwards; }


#company .content_inner { margin-bottom:10%; }
#company .content_inner:last-of-type { margin-bottom:0; }

.company_main_box {  margin:20% auto 0; position:relative; }
.company_main_box_ttl { position:absolute; top:0; left:0; width:62%; height:auto; padding:20% 0; margin-top:-10%; }
	.company_main_box_ttl:after { content:""; position:absolute; top: 0; left: 0; z-index:-1; width:100%; height:auto; padding:16.43% 0; background:url(../img/company/ttl_company.png) no-repeat top left / contain; }
	.company_main_box_ttl h3 { position: absolute; top:0; left:0; z-index:1; width:100%; height:auto; padding:16.43% 0; background:url(../img/company/ttl_company.png) no-repeat top left / contain; mix-blend-mode:screen;/* mix-blend-mode:multiply;*/ text-indent:-99999999px; font-size:0; transform:translate3d(0,0,0); }

.company_pic_infinity { margin:0 calc(50% - 50vw); width:100vw; position:relative; z-index:-1; }
.company_pic_wrap { display:flex; overflow:hidden; margin:10px 0; }
.company_pic_list { display:flex; list-style:none; padding:0; }
.company_pic_list--left { animation:infinity-scroll-left 80s infinite linear 0.5s both; }
.company_pic_item { width:calc(100vw / 6.5); margin:0 10px; }
.company_pic_item>img { width:100%; display:block; }

	@keyframes infinity-scroll-right {
		from {  transform: translateX(-50%);}
		  to {  transform: translateX(0%);}
	}
	@keyframes infinity-scroll-left {
		from {  transform: translateX(0%);}
		  to {  transform: translateX(-50%);}
	}
.company_pic_list_right { animation:infinity-scroll-right 50s infinite linear 0.5s both; }
.company_pic_list_left { animation:infinity-scroll-left 50s infinite linear 0.5s both; }

.company_main_box_pic { width:100%; height:auto; padding:10% 0; }
.company_main_box_pic.pic01 { background:url(../img/company/img_pic01.png) no-repeat top left / contain; top:0; }
.company_main_box_pic.pic02 { background:url(../img/company/img_pic02.png) no-repeat top left / contain;  top:20%; }

.office_box { margin:35px 0 100px; color:#42400c; }
.office_box_info { width:45.96%; border-top:1px solid #ccd3ca; padding:35px 0; }
.office_box_map { width:49.19%; }
.office_box_info_ttl img { width:69.29%; }
.office_box_info_txt { font-size:15px; margin-top:20px; }
.office_box_info_txt strong { display:block; font-size:17px; margin-bottom:10px; }

.company_box li { display:flex; justify-content:space-between; border-top:1px solid #ccd3ca; padding:15px 0; color:#42400c; }
.company_box li em { width:8em; }
.company_box li p { width:calc(100% - 9em); }

#recruit .content_main { margin-top:25%; position:relative; }
	#recruit .content_main.recruit_detail { margin-top:5%; }
.recruit_box { border-bottom:1px solid #b2b7a0; padding-bottom:50px; margin-bottom:50px; }
.recruit_box:last-of-type { border-bottom:none; padding-bottom:0; }
.recruit_box_info { width:50%; padding-left:20px; }
.recruit_box_pic { width:39.91%; position:relative; perspective:1200px; display:flex; justify-content:space-between; }
.recruit_box_pic img { width:50%; height:auto; display:block; transform-style:preserve-3d; backface-visibility:hidden; transition:transform 2s ease; }
	.recruit_box_pic img:first-child { position:relative; z-index:1; opacity:0; transform:translateX(-50px); }
	.recruit_box_pic img:last-child { position:relative; transform-origin:left center; transform:rotateY(-180deg); z-index:2; left:2%; }
	.recruit_box.is-active .recruit_box_pic img:first-child { animation:slideIn2 ease 1.0s forwards; opacity:1; }
	.recruit_box.is-active .recruit_box_pic img:last-child { transform: rotateY(0deg); }


	
	/*@keyframes rotate_anime {
	  0% { transform:rotateY(0deg); }
	  100% { transform:rotateY(180deg); }
	}	
	.recruit_box#recruit01.is-active .recruit_box_pic img:first-child,
	.recruit_box#recruit02.is-active .recruit_box_pic img:first-child,
	.recruit_box#recruit03.is-active .recruit_box_pic img:first-child { animation:rotate_anime 1s linear 0s forwards; }
	.recruit_box#recruit01.is-active .recruit_box_pic img:last-child,
	.recruit_box#recruit02.is-active .recruit_box_pic img:last-child,
	.recruit_box#recruit03.is-active .recruit_box_pic img:last-child { animation:rotate_anime 1s linear 0.25s forwards; }*/


.recruit_box_info_ttl { font-size:16px; letter-spacing:0.14em; position:relative; margin:20px 0 80px; color:#42400c; padding-right:15%; }
.recruit_box_info_ttl span { display:block;font-size:36px; letter-spacing:0.06em; line-height:1.25; margin-bottom:5px; }
	.recruit_box_info_ttl:after { content:""; position:absolute; bottom:10%; right:10px; width:14%; height:auto; padding:6% 0 0; background:url(../img/common/ico_arrow_big.png) no-repeat center center / contain; }
.recruit_box_txt { font-size:15px; line-height:2.26; }
.recruit_detail_box01 { display:flex; justify-content:space-between; align-items:flex-end; margin-top:-25%; }
.recruit_detail_ttl { width:55%; position:relative; }
.recruit_detail_pic { width:45%; margin-right:-4%; }
.recruit_detail_ttl h3 { font-size:25px; letter-spacing:0.07em; color:#42400c; position:absolute; bottom:0;  }
.recruit_detail_ttl h3 span { display:block; font-size:77px; font-size:clamp(1.875rem, -1.359rem + 6.75vw, 4.375rem); letter-spacing:0.02em; line-height:1; }

.recruit_slider {}
.recruit_slide { padding:50% 0; background-repeat:no-repeat; background-position:center center; background-size:cover; }
.pic01 { background:url(../img/recruit/img_detail01.jpg) no-repeat center center / cover; }
.pic02 { background:url(../img/recruit/img_detail02.jpg) no-repeat center center / cover; }
.pic03 { background:url(../img/recruit/img_detail03.jpg) no-repeat center center / cover; }

.recruit_slider .slick-dots { bottom:-25px; right:0; width:auto; }
.recruit_slider .slick-dots li { margin:0; }
.recruit_slider .slick-dots li button:before { content:""; font-size:40px; border:1px solid #000; border-radius: 50%; width:8px; height:8px; background:none; opacity:1; }
.recruit_slider .slick-dots li.slick-active button:before { opacity:1; background:#000; }
.recruit_slider.slick-dotted.slick-slider { margin-bottom:0px; }

.recruit_detail_lead { padding-right:53%; margin:5% 0; font-size:15px; line-height:2.26; letter-spacing:0.19em; }
.recruit_detail_list { }
.recruit_detail_list dt { border-top:1px dotted #42400c; padding:20px 0 10px; font-size:20px; font-weight:bold; letter-spacing:0.05em; color:#42400c; }
.recruit_detail_list dd { font-size:15px; line-height:2.26; letter-spacing:0.19em; padding:0 0 20px; }
.recruit_detail_list dd strong { font-size:17px; font-weight:bold; color:#42400c; display:block; }




.privacy_box { font-size:16px; letter-spacing:0.05em; border-top:1px solid #ccd3ca; color:#42400c; }
.privacy_box dt { margin-top:30px; font-weight:bold; }
.privacy_box dd { border-bottom:1px solid #ccd3ca; padding:30px 0; }
.privacy_box dd:last-child { border:none; }

.error_404 .content_main { margin:10% auto; }


	@media print, screen and (max-width:1024px) {
		.recruit_detail_lead { padding-right:0; margin-top:50px; }
		.mission_box_ttl p { margin:0 -20% 0; }
		.recruit_detail_ttl h3 { font-size:18px; }
		.recruit_detail_ttl h3 span { font-size:45px; }
	}


	@media print, screen and (max-width:767px) {
		.lower_block { padding:150px 0 15%; width: 90.77%; position: relative; }
			#mission .lower_block { padding:100vh 0 20%; width: 90.77%; position: relative; }
		.lower_block.flower01:after { top:100px; left:auto; right:0; width:50%; padding:20% 0; }
		.lower_block.flower02:after { top:100px; right:-30%; width:50%; padding:43% 0; }
		.lower_block.flower03:after { top:100px; left:-5%; width:150%; }
		.lower_block.flower04:after { top:120px; right:-20%; width:100%; padding:34% 0; }
		.flex_box { flex-wrap:wrap; }
		.lower_block .flex_box .content_ttl, .lower_block .flex_box .content_main { width:100%; }
		.lower_block .flex_box .content_ttl { margin-bottom:50px; }
		
		.lower_block h2 span { display:block; font-size:30px; }
		.lower_block h3 span { font-size:24px; }
		
		.people_list_box_bg#goto:after { background:url(../img/people/goto/img_main.png) no-repeat 40% 0% / cover; }
		
		.people_list_box { margin-bottom:30%; }
		.people_list_box_bg { min-height:100vh; }
		.people_list_box .staff_info_box { padding-right:15%; bottom:5%; }
		.people_list_box .staff_ttl, .people_list_box .staff_role { font-size:10px; }
		.people_list_box h2 { font-size:clamp(1.25rem, 1.001rem + 1.17vw, 1.563rem); margin-top:-50px; }
		.people_list_box .img_oval { top:calc(50% - 22%); left:calc(50% - 150px); width:300px; height:363px; }
		
		.people_intro.flex_box:after, .people_intro.flex_box.line_t:after { display:none; }
		.people_profile, .people_interview { width:100%; padding:5%; }
		.people_interview li { margin-bottom:30px; }
		.people_interview p:nth-child(1) { font-size:20px; margin-bottom:20px; }
		
		.people_clips h3 span, .people_gallery h3 span { font-size:24px; }
		
		.custom-slider { width:120%; margin:0 -10%; }
		.custom-slider:after { left:calc(50% - 40%); width:80%; }
		.image-slider { gap:10px; }
		.img-box { width:10%; }
		.img-box.center { width:60%; }
		.text-slider { width:60%; }
		.text-box.active { font-size:13px;}
		.counter { top:25%; right:5%; font-size:clamp(1.25rem, 0.752rem + 2.34vw, 1.875rem); }	
		.nav-buttons {  position:absolute; top:40%; }
		
		.people_gallery { margin:20% auto; }
		.people_gallery ul li { width:32%; margin-bottom:12px; }
		.people_gallery ul::after { content:""; display:block; width:32%; }
		
		.people_nav { margin-top:80px; }
		.people_nav ol { margin-top:20px; padding-bottom: 20%; }
		.people_nav ol li a { padding-left:15%; padding-right:15%; }
		.people_nav ol li a:after { top:50%; }
		.people_nav ol li a:before,
		.people_nav ol li .staff_name { font-size:clamp(1.375rem, 0.977rem + 1.87vw, 1.875rem); }
		.people_nav ol li .staff_name span { font-size:clamp(0.813rem, 0.663rem + 0.7vw, 1rem); }
		
		.work_box_ttl { padding-right:0; }
		.work_box_ttl span { font-size:24px; }
		.work_box_list li { width:45%; font-size:15px; margin-bottom:50px; }
		.work_box_list li img { width:100%; }
		.work_box#family_photo:after { top:-5%; height:105%; }
		
		.mission_main_bg { /*padding-top:150%;*/ height:100vh; }
		.mission_main_bg:after { width:100%; height:100%; }
		/*#mission .content_main { padding-top:0; }*/
		.img_cliff { top:calc(50% - 14%); left:calc(50% - 150px); width:300px; height:363px; }
		.mission_main_bg .content_inner { top:23%; left:5%; }
		.mission_main_bg h2 span { font-size:30px; }
		.mission_box { margin:20% 0% 0%; padding-bottom:250px; }
		.mission_box_ttl { width:100%; padding:30% 0 0; margin-bottom:40%; }
		.mission_box_ttl p { margin:40px 0 0; /*font-size:clamp(1.25rem, 1.071rem + 0.89vw, 1.5rem);*/ font-size:18px; }
		.img_desert { left:calc(50% - 150px); width:300px; height:363px; top:38%; }
		.mission_list_col { width:100%; padding:0 0% 20%; }
		.mission_list_wrap h4.value { padding:0 0 20% 0; }
		.mission_list_wrap h4.value:before { left: calc(50% - 24.11%); padding-top:13%; width:48.22%; }
		.value_list { margin:20px 0 50px; }
		.value_list li { flex-wrap:wrap; padding:3% 0 5%; }
		.value_list_ttl, .value_list_txt { width:100%; padding:2% 3%; }
		.value_list li:before { text-indent:0.25em; }
		.value_list_ttl { font-size:20px; }
		
		.company_main_box { margin:30% auto 0; }
		.company_main_box_ttl { width:100%; margin-top:-17%; /*isolation:isolate;*/ }
		.company_main_box_ttl::before { content:""; position:absolute; top:0; left:0; z-index: 0; width:100%; height:100%; }
		.company_main_box_ttl h3 { mix-blend-mode:overlay; background-blend-mode:multiply; }
		.company_pic_wrap { margin:5px 0; }
		.company_pic_item { width:calc(100vw / 4.5); margin:0 2.5px; }
		
		.recruit_box_info, .recruit_box_pic { width:100%; padding-left:0; }
		.recruit_box_info_ttl { margin:20px 0 20px; }
		.recruit_box_info_ttl:after { bottom:auto; top:10%; }
		.recruit_box_info_ttl span { font-size:24px; }
		.recruit_box_pic { margin-top:40px; }
		.recruit_box { padding-bottom:40px; margin-bottom:10px; }
		.recruit_box:last-of-type { padding-bottom:80px; }
		
		#recruit .content_main.recruit_detail { margin-top:100px; margin-bottom:50px; }
		.recruit_detail_box01 { flex-wrap:wrap; margin-top:0; }
		.recruit_detail_ttl, recruit_detail_pic { width:100%; }
		.recruit_detail_pic { width:100%; margin:30px 0; }
		.recruit_detail_ttl h3 { font-size:18px; position:relative; }
		.recruit_detail_ttl h3 span{ font-size:clamp(1.875rem, 1.129rem + 3.51vw, 2.813rem); }
		.recruit_detail_lead { margin-top:30px; }
		
		
		
		.office_box_info, .office_box_map { width:100%; }
		.office_box { margin: 35px 0 50px; }
		.office_box:last-of-type { margin: 35px 0 50px; }
		.company_box { margin-bottom:10%; }
		#company .lower_block .flex_box .content_ttl { margin-bottom:30px; }
	}
	
	
	@media print, screen and (max-width:600px) {
		.work_box#family_photo:after { top:-1.5%; height:101.5%; }
		.work_box_list li { width:100%; }
		.work_box_list li img { width:95%; margin:0 auto 20px; }
		.mission_list_wrap { padding-top:15%; }
	}
	
	
	
	@media print, screen and (max-width:500px) {
		.company_box li { flex-wrap:wrap; }
		.company_box li em, .company_box li p { width:100%; }
		
		.people_gallery ul li { width:48%; margin-bottom:15px; }
		.people_gallery ul::after { content:""; display:block; width:48%; }
		.people_nav ol li a { padding:20px 5% 20px 20%; }
		.people_nav ol li .staff_name span { padding-left:10px; }
	}

/* ----------------------------------------------------
entry / intern
---------------------------------------------------- */

#entry .content_main, #entry-confirm .content_main, #entry-complete .content_main,
#entry_intern .content_main, #entry_intern-confirm .content_main, #entry_intern-complete .content_main { margin-top:25%; position:relative; }

#entry_intern .lower_block { padding-bottom:0; }
#entry_intern .content_main { margin-top:10%; position:relative; }
.intern_bg { width:100vw; margin:0 calc(50% - 50vw) 10%; padding:21% 0; background:url(../img/entry/img_main.jpg) no-repeat top center / cover; }
.intern_bg2 { position:relative; margin-bottom:10%; padding:7% 0; }
	.intern_bg2:after { content:""; position:absolute; top:0; left:-11.25%; z-index:-1; width:125%; height:100%; background:url(../img/entry/img_sub.jpg) no-repeat top center / cover; }
.bg_white { position:relative; padding:10% 0; }
	.bg_white:after { content:""; position:absolute; top:0%; left:-11.25%; z-index:-1; width:125%; height:100%; background:#fff; }

#entry_intern .content_main.bg_white h2 { margin-bottom:30px; }

#entry_intern h3 { font-size:34px; letter-spacing:0.07em; margin-bottom:50px; }
#entry_intern h3 span { font-size:16px; display:block; }

.intern_outline_col { width:48%; }
.intern_outline_col dt { font-size:20px; font-weight:bold; color:#42400c; border-bottom:1px dotted #42400c; padding-bottom:20px; }
.intern_outline_col dd { font-size:15px; line-height:2.26; letter-spacing:0.1em; padding:20px 0 30px; }
.intern_outline_col dd strong { display:block; font-size:17px; font-weight:bold; margin:10px 0; color:#42400c; }

.intern_outline.second { margin-top:50px; }
.intern_bg2 .intern_outline_col { width:30%; color:#fff; }
.intern_bg2 .intern_outline_col dt { color:#fff; border:none; border-top:1px dotted #ccc; padding:20px 0 0; }
#entry_intern h4 { font-size:20px; letter-spacing:0.13em; margin-bottom:30px; color:#fff; }

.form_wrap { margin:50px 0 0; }
.form_half { width:50%; }
fieldset { padding:10px 0 20px; width:100%; }
input[type=text], input[type=email], input[type=tel] { border:0; border-bottom:1px solid #83836b; padding:20px 0; width:calc(100% - 0px); display:block; background:transparent; outline:0; }
	#entry_intern input[type=text] { border-bottom:1px solid #c6c5b6; }
	#entry_intern input.school[type=text], #entry_intern input.graduation[type=text] { width:50%; }

textarea { border:none; padding:20px 0; width:100%; height:100px; background:transparent; position:relative; outline:0; }
.textarea_wrap { border-bottom:1px solid #83836b; }
	#entry_intern .textarea_wrap { border-bottom:1px solid #c6c5b6; }
	#entry-confirm .textarea_wrap, #entry_intern-confirm .textarea_wrap { border-bottom:none; }


.select { background:#e3eae0; height:60px; width:100%; position:relative; }
	.select:after { content:''; position:absolute; width:8px; height:8px; right:10px; top:40%; transform: translateY(-50%) rotate(45deg); border-bottom:1px solid #364443; border-right:1px solid #364443; }
	#entry_intern .select { background:#fff; }
	
	#entry-confirm .select, #entry_intern-confirm .select { height:auto; }
	#entry-confirm .select:after, #entry_intern-confirm .select:after { display:none; }
	
select { width:100%; border:none; border-bottom:1px solid #83836b; background:#e3eae0; padding:20px 0; outline:0; appearance:none; -moz-appearance:none;  -webkit-appearance:none; color:#364443; }
	#entry_intern select { background:#fff; border-bottom:1px solid #c6c5b6; }
::placeholder { font-size:14px; color:#364443; opacity:0.5; }

legend { display:block; }
.radio_box { width:100%; margin:10px 0 20px; }
.radio_box li:first-child { margin-bottom:10px; }
.radio_box li { display:flex; justify-content:flex-start; align-items:center; }
.radio_box li label { width:130px; }
.radio_box li input[type=radio] { width:50px; }
.radio_box li input[type=text] { width:calc(100% - 130px); }
.box {border:none; /* border:1px solid #2d0a00; border-radius:5px;*/ box-sizing: border-box; }
label { margin-bottom:10px; display:block; }
label span { padding-left:10px; font-size:16px; position:relative; top:-3px; }
label em { font-style:normal; font-size:12px; color:#aa0000; padding:0 0 0 5px; }
.chkbox { display:block; margin-top:30px; }
	#entry-confirm .chkbox, #entry_intern-confirm .chkbox { display:none; }
.chkbox label { display:inline-block; }
.underline { text-decoration:underline; }
.underline:hover { text-decoration:none; }

.btnBox { margin:50px 0 80px; }

input[type="button"], input[type="reset"], input[type="submit"], .btnBox button { display:inline-block; background:#83836b; color:#fff; text-align:center; transition:0.3s; text-decoration:none; font-size:16px; padding:0 70px;  width:auto; height:50px; line-height:50px; margin:0 auto; text-indent:-0.5em; border:none; border-radius:50px!important; position:relative; }

input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover { opacity:0.75; }
input[type="submit"][disabled], input[type="submit"][disabled],
input[type="submit"][disabled]:hover, input[type="submit"][disabled]:hover { background:#ccc; cursor:default; color:#fff; }

input.submitBack[type="submit"], button[type="submit"] { background:#999; margin-right:20px; }

.radio_box label, .chkbox label { position:relative; cursor:pointer; padding-left:0; line-height:40px; }
.radio_box label::before,.radio_box label::after { content:""; display:block; border-radius:50%; position:absolute; transform:translateY(-50%); top:50%; }
.radio_box label::before { background:transparent; border:1px solid #523430; border-radius:50%; width:40px; height:40px; left:5px; }
.radio_box label::after { background-color:#83836b; border-radius:50%; opacity:0; width:30px; height:30px; left:11px; }
.visually-hidden { position:absolute; white-space:nowrap; border:0; clip:rect(0 0 0 0); clip-path:inset(50%); overflow:hidden; height:1px; width:1px; margin:-1px; padding:0; }
.radio_box input:checked + label::after { opacity:1; }

/*.chkbox label::before,.chkbox label::after { content:""; display:block; position:absolute; }
.chkbox label::before { background:transparent; border-radius:3px; border:1px solid #83836b; width:30px; height:30px; transform:translateY(-50%); top:44%; left:5px; }
.chkbox label::after { border-bottom:2px solid #83836b; border-left:2px solid #83836b; opacity:0; height:8px; width:18px; transform:rotate(-45deg); top:8px; left:11px; }
.chkbox input:checked + label::after { opacity:1; }*/

input[type="checkbox"] { border-radius:0; -webkit-appearance:none; -moz-appearance:none; appearance:none; }
input[type="checkbox"] { position:relative; width:30px; height:30px; border-radius:3px; border:1px solid #83836b; vertical-align:-5px; }
input[type="checkbox"]:checked:before { content:''; position:absolute; top:1px; left:10px; transform:rotate(50deg); width:8px; height:17px; border-right:2px solid #83836b; border-bottom:2px solid #83836b; }



	
	@media print, screen and (max-width:767px) {
		.form_half { width:100%; }
		input[type=text], input[type=email], input[type=tel], select { padding:10px 0; }
		.radio_box label, .chkbox label { padding-left:0; line-height:20px; }
		.radio_box label::before,
		.chkbox label::before { width:20px; height:20px; }
		.chkbox label::after { height:6px; width:11px; top:3px; left:10px; }
		.radio_box li { flex-wrap:wrap; }
		.radio_box li label { width:100px; }
		.radio_box li input[type=text] { width:100%; margin-top:10px; }
		textarea { padding:15px 0; }
		label span { padding-left:5px; font-size:14px; }
		#entry_intern input.school[type=text], #entry_intern input.graduation[type=text] { width:100%; }
		
		#entry_intern h3 { font-size:24px; margin-bottom:30px; }
		.intern_outline_col { width:100%; }
		.intern_bg2 .intern_outline_col { width:100%; }
		
		select { font-size:13px; }
		.select:after { top:35%; }
		.select { height:40px; }
	}


/* ----------------------------------------------------
footer
---------------------------------------------------- */

#footer { margin:0 auto 0; font-size:16px; color:#fff; position:relative; overflow:hidden; }
	#footer:after { content:""; position:absolute; z-index:-1; top:0; left:0; width:100%; height:auto; background:url(../img/common/bg_footer.jpg) no-repeat top center / cover; padding:25% 0; }
	
	/*#footer:before { content:""; position:absolute; z-index:0; top:0; left:0; width:100%; height:auto; background:url(/assets/img/common/bg_footer.jpg) no-repeat top center / cover; padding:25% 0; mix-blend-mode:overlay; animation:scale 10s infinite; opacity:0.25; }
	
		@keyframes scale {
			0% { transform: scale(1); }
  			50% { transform: scale(1.15); }
  			100% { transform: scale(1); }
		}*/

#footer .content_inner { display:flex; justify-content:space-between; align-items:flex-start; position:relative; margin-top:70px; padding-bottom:15%; }

.footer_info, .footer_nav { width:50%; }

#footer a { color:#fff; }

.footer_infobox .logo a { display:flex; justify-content:flex-start; align-items:center; }
.footer_infobox .logo a span { padding-left:50px; }
.footer_infobox .logo img { width:330px; height:auto; }

#footer .sns_btn { display:flex; justify-content:flex-start; align-items:center; margin-top:60px; }
#footer .sns_btn li a { position:relative; display:inline-block; text-indent:-9999px; width:50px; height:50px; border:1px solid #fff; border-radius:50%; transition:0.3s; }
#footer .sns_btn li.instagram a { /*width:22px; height:22px;*/ margin-right:25px; }
#footer .sns_btn li.youtube a { /*width:27px; height:19px;*/ }
	#footer a:before { content:""; position:absolute; background-repeat:no-repeat; background-position:center center; background-size:contain; }
	#footer li.instagram a:before { top:calc(50% - 11px); left:calc(50% - 11px); width:22px; height:22px; background-image:url(../img/common/ico_instagram.png); }
	#footer li.youtube a:before { top:calc(50% - 9.5px); left:calc(50% - 12.5px); width:27px; height:19px; background-image:url(../img/common/ico_youtube.png); }

.footer_nav .entry_btn { display:flex; justify-content:flex-end; align-items:center; margin-top:20px; }
.footer_nav .entry_btn li a { border:1px solid #fff; padding:16px 50px 10px; font-family: 'dxglitar'; line-height:1; display:inline-block; font-size:15px; }
.footer_nav .entry_btn li:first-child { margin-right:30px; }
.footer_nav .entry_btn li a:hover { background:rgba(255,255,255,0.25); }

.footer_nav nav ul { display:flex; justify-content:flex-end; align-items:center; font-size:13px; margin:60px 0 40px; }
.footer_nav nav ul li { margin:0 15px; font-family: 'dxglitar'; }
.footer_nav nav ul li:last-child { margin-right:0; }

.footer_nav .copyright { display:flex; justify-content:flex-end; align-items:center; font-size:13px; font-family: 'dxglitar'; }
.footer_nav .copyright a { margin-right:30px; }

/*
#page_top { position:fixed; right:60px; bottom:20%; z-index:10; background:url(../img/common/ico_pagetop.png) no-repeat center center / contain; width:23px; height:64px; transition: .3s ease-out; text-indent:-9999px; cursor:pointer; display: none; }
#page_top.active { bottom:20%; }*/


	@media print, screen and (max-width:1100px) {
		#footer:after { background: url(../img/common/bg_menu.jpg) no-repeat top right / cover; height:100%; }
		#footer .content_inner { flex-wrap:wrap; }
		.footer_info, .footer_nav { width:100%; }
	}
	
	@media (min-width: 768px) and (max-width: 1024px) {	
	}
	
	@media print, screen and (max-width:767px) {
		#footer:after { height:100%; }
		#footer .content_inner { flex-wrap:wrap; margin-top:50px; padding-bottom:10%; }
		#footer .content_inner:after { display:none; }
		.footer_info, .footer_nav { width:100%; }
		.footer_infobox { justify-content:flex-start; }
		.footer_infobox .logo img { width:50%; } 
		
		

	}
	@media print, screen and (max-width:600px) {
		.footer_infobox { flex-wrap:wrap; }
		.footer_infobox .logo, .footer_infobox .address { width:100%; }
		.footer_infobox .logo { margin:0 0 20px; }
		.footer_infobox .logo img { }
		.footer_infobox .logo a span { padding-left:30px; }
		#footer .sns_btn { margin-top:0; }
		#footer .sns_btn li.instagram a { margin-right:20px; }
		#footer .sns_btn { margin:20px 0; }
		
		.footer_nav .entry_btn { justify-content:flex-start; flex-wrap:wrap; }
		.footer_nav .entry_btn li { margin-bottom:20px; }
		.footer_nav .entry_btn li:first-child { margin-right:20px; }
		.footer_nav .entry_btn li a { padding:12px 30px 8px; }
		.footer_nav .entry_btn { flex-wrap:wrap; margin:0; }
		.footer_nav nav ul { flex-wrap:wrap; margin:10px 0 10px; }
		.footer_nav nav ul li { margin: 0 0 10px 0; width:100%; }
		.footer_nav .copyright { flex-wrap:wrap; justify-content:flex-start; }
		.footer_nav .copyright a { width:100%; margin-bottom:10px; }
	}
	
	@media print, screen and (max-width:500px) {
		
		
		.footer_nav nav ul { margin:20px 0; }
		.footer_nav .copyright { }
	}
	

/* ----------------------------------------------------
404 page
---------------------------------------------------- */


/* ----------------------------------------------------
animation keyframe
---------------------------------------------------- */


/* ----------------------------------------------------
reset form style :: iOS
---------------------------------------------------- */

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; 
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
input[type=text] ,input[type=email]    {
    font-size : 16px;
    -webkit-border-radius : 0;
    -webkit-appearance : none;
    -webkit-tap-highlight-color : rgba(0,0,0,0);
}

