@charset "utf-8";

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

html { height:100%; font-size:16px; }
	
body { font-family: YakuHanJP,"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif; font-weight:400; font-style:normal; color:#555; 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;*/ }

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

#wrapper { background-image: linear-gradient(#f4f7f8, #e7edf3 85%, #8ca8ce); overflow:hidden; }


	@media screen and (max-width: 767px) {
		#wrapper { background-image: linear-gradient(#f4f7f8, #e7edf3 70%, #8ca8ce); }
		#home #wrapper { background-image: linear-gradient(#f4f7f8, #e7edf3 85%, #8ca8ce); }
	}


/* ----------------------------------------------------
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');
}

.ac { font-family:"acumin-pro", sans-serif; }

.bold { font-weight:600; }
.semi { font-weight:500; }

/* ----------------------------------------------------
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:#809fc9; text-decoration:none; transition:0.3s; }

.btn_more { text-align:center; margin:80px 0; opacity:0; transform: translateY(100px); transition: all 0.6s ease-out; }
.btn_more a { display:inline-block; border:2px solid #c5d7ef; color:#7797c2; padding:10px 50px 7px; font-size:13px; letter-spacing:0.06em; transition:0.3s; position:relative; font-family: 'dxglitar'; border-radius:30px; }

	.btn_more a:hover { background:#7797c2; color:#fff; }

.btn_more.dark a { background:#7797c2; color:#fff; border:2px solid #7797c2; }
	.btn_more.dark a:hover { background:#fff; color:#7797c2; }

	.btn_more.is-active { animation: fadein02 0.5s ease 0s 1 forwards; }

.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 40px 40px; font-family:"acumin-pro", sans-serif; }

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

	@media only screen and (min-width: 768px) {	
		#header.scroll { position:fixed; z-index:11; background:rgba(250,248,238,0.25); transition:0.3s; opacity:0; animation:scroll-anim linear; animation-timeline:scroll(); padding:15px 40px 15px; }
		
	}

	@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:space-between; 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:230px; height:auto; background:url(../img/common/img_logo.png) no-repeat top left; color:#000; display:flex; align-items:center; justify-content:flex-end; font-weight:400; text-indent:-99999px; }
#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:#8ca8ce; 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:36px; height:36px; transition:0.3s; }
.sp_menu_list .sns_btn li.instagram a { margin-right:15px; }
.sp_menu_list .sns_btn li.facebook a { }
	.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% - 18px); width:36px; height:36px; background-image:url(../img/common/ico_instagram.png); }
	.sp_menu_list li.facebook a:before { top:calc(50% - 9.5px); left:calc(50% - 17.5px); width:35px; height:35px; background-image:url(../img/common/ico_fb.png); }


#pc_nav ul { display:flex; justify-content:flex-end; align-items:center; /*width:66.41%; margin-top:0;*/ }
#pc_nav ul li { line-height:1; font-size:16px; margin:0 20px; text-align:center; letter-spacing:0.025em; }
#pc_nav ul li:last-child { margin-right:0; }
#pc_nav ul li a { font-weight:normal; color:#313131; }
#pc_nav ul span { display:block; margin-top:8px; font-size:11px; }
#pc_nav ul li a:hover { color:#809fc9; }

.is-hidden { visibility:hidden; opacity:0; }


	@media only screen and (max-width:1024px) {
		#pc_nav ul li { font-size:14px; margin: 0 10px; }
		
		.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:30px 5% 30px; }
		#h_nav h1:after { right:-25px; }
		
		.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; }
		
		body.open .menu-btn span { display:none; }
		
		.sp_menu_inner { flex-wrap:wrap; }
		.sp_menu_listwrap { width:100%; }
		.sp_menu_people { display:none; }
	}
	
	@media only screen and (max-width:500px) {
		.menu-btn { top:10px; }
	}
	

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

#top_main { padding:140px 7% 8%; color:#555; letter-spacing:0.05em; line-height:2; position:relative; mix-blend-mode:multiply; }
	#top_main:before { content:"STATEMENT"; font-size:128px; font-size:clamp(4.375rem, 0.769rem + 7.51vw, 8rem); font-weight:500; line-height:0.75; color:#cbd7e6; position:absolute; top:43%; left:0; height:50%; width:5.5%; writing-mode: vertical-rl; letter-spacing:0.075em; font-family:"acumin-pro", sans-serif; opacity:0; transform: translateX(-50px); transition: all 0.6s ease-out; }
	#top_main:after { content:""; position:absolute; top:13%; right:-38%; width:78%; height:auto; padding:39% 0; background:url(../img/common/bg_and.png) no-repeat center center / contain; opacity:0; transform:translateX(150px); transition: all 0.6s ease-out; }
#top_main h2 { font-size:90px; font-size:clamp(2.5rem, -0.609rem + 6.48vw, 5.625rem); letter-spacing:0.25em; padding:140px 0; color:#6f8cb4; line-height:1.5;     font-weight:500; }
#top_main h3 { font-size:23px; font-size:clamp(1.25rem, 1.063rem + 0.39vw, 1.438rem); margin-bottom:140px; letter-spacing:0.2em; line-height:2.1; opacity:0; transform:translateY(10px); transition:opacity 0.8s ease, transform 0.8s ease;@ }
#top_main p { font-size:21px; font-size:clamp(1.125rem, 0.938rem + 0.39vw, 1.313rem); letter-spacing:0.2em; line-height:2.1; opacity:0; transform:translateY(10px); transition:opacity 0.8s ease, transform 0.8s ease; }


#top_main h2 { display:inline-block;@}
#top_main h2 span { opacity:0; display:inline-block; animation:fadeInUp 0.5s ease forwards;}

	@keyframes fadeInUp {
	  from { opacity:0; transform:translateY(0.4em); }
	  to { opacity:1; transform:translateY(0); }
	}

#top_main h3.is-show,
#top_main p.is-show { opacity: 1; transform: translateY(0); }

#top_main.is-active:before { animation:fadein01 1s ease 2.5s 1 forwards; }
#top_main.is-active:after { animation:fadein01 2s ease 1.5s 1 forwards; }

.top_content { margin:100px auto 0; }

.top_content h2 { text-align:center; font-size:14px; margin-bottom:70px; }
.top_content h2 span { display:block; font-size:25px; letter-spacing:0.16em; }
.top_content h3 { font-size:31px; text-align:center; }

.news_top .content_main { display:flex; justify-content:space-between; align-items:flex-start; }
	
	.news_top.top_content { opacity:0; transform: translateY(100px); transition: all 0.6s ease-out; }
	.is-active.news_top.top_content { animation: fadein02 0.5s ease 0s 1 forwards; }
	
	
.news_top h2 { color:#809fc9; font-size:66px; font-size:clamp(2.813rem, 1.51rem + 2.72vw, 4.125rem); line-height:1; text-align:left; margin-bottom:30px; }
.news_top .btn_more { margin:0 0; text-align:left; }
.news_top_ttl { width:20%; text-align:left; }
.news_top_list { width:80%; }
.news_top_list li { padding:15px 0; border-bottom:1px solid #ccc; }
.news_top_list li a { display:flex; justify-content:flex-start; align-items:flex-start; color:#555; }
.news_top_list li span, #news .news_article_list li span { padding-right:75px; position:relative; }
	.news_top_list li span:after, #news .news_article_list li span:after { content:""; position:absolute; top:calc(50% - 1px); right:20px; width:23px; height:6px; background:url(../img/common/ico_line.jpg) no-repeat top left; }


.service_top .service_bg_box { display:flex; justify-content:space-between; align-items:flex-start; position:relative; }
	.service_top .service_bg_box:after { content:"OUR SERVICE"; position:absolute; top:0; right:0; font-size:128px; font-size:clamp(3.75rem, -0.478rem + 8.81vw, 8rem); line-height:1;  writing-mode: vertical-rl; letter-spacing:0.075em; color:#bfcee1; font-family:"acumin-pro", sans-serif; writing-mode: sideways-lr; font-weight:600; opacity:0; transform: translateY(100px); transition: all 0.6s ease-out; }
.service_top .service_bg01 { width:53%; }
.service_top .service_bg02 { width:41%; padding-top:15%; }
.service_top .service_bg02 img { width:90%; margin:0 auto; }

	.service_top .service_bg_box .service_bg01, .service_top .service_bg_box .service_bg02 { opacity:0; transform: translateY(100px); transition: all 0.6s ease-out; }
	.service_top .is-active .service_bg01 { animation: fadein02 0.5s ease 0s 1 forwards; }
	.service_top .is-active .service_bg02 { animation: fadein02 0.5s ease 0.5s 1 forwards; }
	.service_top .is-active.service_bg_box:after { animation: fadein02 0.5s ease 1s 1 forwards; }

.service_info_wrap { margin-top:-20%; letter-spacing:0.075em; }
.service_top h2 { writing-mode: vertical-rl; color:#518ac4; margin:80px 0 50px; font-size:18px; letter-spacing: 0.5em; }
.service_info_box { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; }
.service_info { width:50%; padding-left:10%; position:relative; opacity:0; transform: translateY(100px); transition: all 0.6s ease-out; }
	.service_info:before { content:""; position:absolute; top:0; left:0; width:15%; height:auto; padding:30% 0 0; background-repeat:no-repeat; background-position:top center; background-size:contain; }
	.service_info.box01:before { background-image:url(../img/top/ico_service01.png); }
	.service_info.box02:before { background-image:url(../img/top/ico_service02.png); }
	.service_info.box03:before { background-image:url(../img/top/ico_service03.png); }
	
	.service_info.box01.is-active { animation: fadein02 0.5s ease 0s 1 forwards; }
	.service_info.box02.is-active { animation: fadein02 0.5s ease 0.25s 1 forwards; }
	.service_info.box03.is-active { animation: fadein02 0.5s ease 0.5s 1 forwards; }

.service_info.box02 { margin-top:20%; }
.service_info.box03 { margin-top:-3%; margin-left:10%; }
	
.service_info strong { display:block; color:#809fc9; font-size:45px; line-height:1; font-weight:500; margin-bottom:10px; }
.service_info p { font-size:20px; font-weight:bold; color:#777; }
.service_info .info_txt { color:#999; margin:30px 0 0; line-height:1.8; }
.service_info .info_txt span { color:#777; font-weight:bold; }


.case_study_top h2 { writing-mode: vertical-rl; color:#92b6d9; margin:80px auto; font-size:20px; letter-spacing:0.5em; opacity:0; transform: translateY(100px); transition: all 0.6s ease-out; }
	.case_study_top .content_inner.is-active h2 { animation: fadein02 0.5s ease 0s 1 forwards; }

.slick-slider.cs_slider { padding-top:50px; position:relative; opacity:0; transform:translateX(100px); }
	.slick-slider.cs_slider:after { content:"CASE STUDY"; position:absolute; top:-15%; left:calc(50% - 3em); font-size:clamp(6.25rem, 1.785rem + 9.31vw, 10.75rem); line-height:1; text-align:center; color:#cbd7e6; font-family:"acumin-pro", sans-serif; font-weight:600; opacity:0; transform: translateY(100px); transition: all 0.6s ease-out; }
	
	.is-active.slick-slider.cs_slider { animation: fadein01 1.0s ease 0s 1 forwards; }
	.is-active.slick-slider.cs_slider:after { animation:fadein02 0.5s ease 0.75s 1 forwards; }
	
.cs_slider .slick-list { margin:0 -55px; z-index:10; }

.cs_slider .slick-slide { margin:0 55px; }
.cs_slider .slick-dots { bottom:-50px; z-index:10; }
.cs_slider .slick-dots li button:before { font-size:20px; }
.cs_slider .slick-prev:before, .cs_slider .slick-next:before { color:#364443; }
.cs_slide_bg { background-repeat:no-repeat; background-position:center center; background-size:cover; width:100%; height:auto; padding:30% 0; border:5px solid #fff; margin-bottom:20px; box-shadow:0px 1px 0px #ccc; }
.cs_slider .slick-prev, .cs_slider .slick-next { z-index:11; }
.cs_slider .slick-prev { left:calc(50% - 20%); top:calc(50% - 11.5px); }
.cs_slider .slick-next { right:calc(50% - 20%); top:calc(50% - 11.5px); }
.cs_slider .slick-slide { text-align:center; }
.cs_slider .slick-slide p { color:#7797c2; font-size:24px; margin-top:10px; }
.cs_slider .slick-slide .tag_link a { color:#999; position:relative; }
.cs_slider .slick-slide .tag_link a:after { content:""; position:absolute; left:0; bottom:-5px; height:1px; width:100%; background:#ccc; }
.cs_slider .slick-prev:before, .cs_slider .slick-next:before { font-size:30px; color:#999; }
.cs_slider .slick-prev:before { content:"\21BC"; }
.cs_slider .slick-next:before { content:"\21C0"; }


.member_top {  position:relative; }
	.member_top:after { content:"MEMBER"; position:absolute; top:6%; left:-1%; font-size:149px; font-size:clamp(4.375rem, -0.537rem + 10.23vw, 9.313rem); line-height:1; text-align:left; color:#cbd7e6; font-family:"acumin-pro", sans-serif; font-weight:600; letter-spacing:0.1em; opacity:0; transform: translateY(100px); transition: all 0.6s ease-out; }

.member_top .content_main, .member_top .content_main_btm { max-width:1085px; margin:0 auto; }

.member_top h2 { text-align:left; font-size:18px; color:#92b6d9; margin-bottom:30px; opacity:0; transform: translateY(100px); transition: all 0.6s ease-out; }
.member_top p:nth-child(2) { margin: 30px 0; }
.message_box_top { display:flex; justify-content:space-between; align-items:flex-end; margin-top:0%; }
.message_box_top .message_pic { width:45%; border:5px solid #fff; box-shadow:0 1px 0 #bacce5; opacity:0; transform: translateY(100px); transition: all 0.6s ease-out; }
.message_box_top .message_pic img { display:block; }
.message_box_top .txt { width:50%; color:#737a84; opacity:0; transform: translateY(100px); transition: all 0.6s ease-out; }
.message_box_top .txt01 { font-size:30px; font-weight:bold; letter-spacing:0.075em; }
.message_box_top .txt01 span { display:block; font-size:16px; letter-spacing:0.025em; margin-bottom:5px; }
.message_box_top .txt02 { margin:30px 0; font-weight:bold; }
.message_box_top .txt03 { font-size:15px; }
.message_box_top .txt03 span { display:block; margin-bottom:30px; font-weight:bold; }
.member_top .content_main_btm { max-width:1085px; margin:0 auto;  }
.member_top .content_main_btm .btn_more { margin-right:0; margin-left:0; text-align:left; }


.message_box_top .sns_btn { display:flex; justify-content:flex-start; align-items:center; margin-top:10px; }
.message_box_top .sns_btn li a { position:relative; display:inline-block; text-indent:-9999px; width:25px; height:25px; transition:0.3s; }
.message_box_top .sns_btn li.instagram a { /*margin-right:15px;*/ }
	.message_box_top a:before { content:""; position:absolute; background-repeat:no-repeat; background-position:center center; background-size:contain; }
	.message_box_top li.instagram a:before { top:calc(50% - 12.5px); left:calc(50% - 12.5px); width:25px; height:25px; background-image:url(../img/common/ico_instagram3.png); }
	.message_box_top li.facebook a:before { top:calc(50% - 12.5px); left:calc(50% - 12.5px); width:25px; height:25px; background-image:url(../img/common/ico_fb3.png); }
	

	.member_top .is-active h2 { animation: fadein02 0.5s ease 0s 1 forwards; }
	.is-active.member_top:after { animation: fadein02 0.5s ease 0.5s 1 forwards; }
	.message_box_top.is-active .txt { animation: fadein02 0.5s ease 0.5s 1 forwards; }
	.message_box_top.is-active .message_pic { animation: fadein02 0.5s ease 1s 1 forwards; }

#company .message_box_top { margin-bottom:15%; }
#company .member_top:after { content:"MESSAGE"; }


	
	@media print, screen and (max-width:1024px) {
		.slick-slider.cs_slider:after { top:-10%; }
	}
	
	@media (min-width: 768px) and (max-width: 1366px) {	
		.news_top .btn_more a { padding: 10px 20px 7px; }
		
	}
	
	@media (min-width: 768px) and (max-width: 1024px) {	
		.message_box_top { margin-top:15%; }
		
	}
	
	
	@media print, screen and (max-width:767px) {
		#top_main { padding:100px 7% 8% 10%; }
		#top_main:before { font-size:clamp(3.75rem, -0.478rem + 8.81vw, 8rem); top:30%; line-height:0.3; }
		#top_main:after { top:18%; right:-50%; width:100%; }
		#top_main h2 { font-size:clamp(1.75rem, 0.989rem + 3.8vw, 2.813rem); padding:20px 0 50px; }
		#top_main h3 { font-size:clamp(1.063rem, 0.566rem + 1.03vw, 1.563rem); margin-bottom:50px; }
		#top_main p { font-size:clamp(1.063rem, 0.566rem + 1.03vw, 1.563rem); line-height:2; }
		#top_main p br { line-height:1; }
		
		.top_content { margin:50px auto 0; width:90.77%; }
		.news_top .content_main { display:block; }
		.news_top_ttl { width:100%; }
		.news_top_list { width:100%; }
		.news_top h2 { font-size:40px; margin-bottom:10px; }
		.news_top_list li a { display:block; }
		.news_top_list li span, #news .news_article_list li span { padding-right:55px; }
		.news_top .btn_more.onlySp { margin:50px auto 0; text-align:center; }
		
		.service_top .service_bg_box { display:block; }
		.service_top .service_bg_box:after { right:-8%; }
		.service_top .service_bg01, .service_top .service_bg02 { width:100% }
		.service_top .service_bg02{ padding-top:5%; }
		.service_info_wrap { margin-top:-10%; }
		.service_top h2 { /*margin:90px 0 30px;*/ }
		.service_info_box { display:block; }
		.service_info { width:100%; padding-left:17%; }
		.service_info:before { width:13%; }
		.service_info.box02 { margin:70px 0; }
		.service_info.box03 { margin:0; }
		.service_info strong { font-size:28px; margin-bottom:5px; }
		.service_info p { font-size:18px; }
		.service_info .info_txt { margin:20px 0 0; }
		
		.slick-slider.cs_slider:after { top:-2%; font-size:clamp(3.125rem, 1.783rem + 6.71vw, 5rem); }
		.case_study_top h2 { margin:80px auto 30px; }
		.cs_slider .slick-list { margin:0 -15px; }
		.cs_slider .slick-slide { margin:0 15px; }
		.cs_slider .slick-next { right:3%; top:48%; }
		.cs_slider .slick-prev { left:3%; top:48%; }
		.case_study_top .btn_more { margin:50px 0; }
		
		.member_top h2 { margin-bottom:10px; }
		.member_top:after { top:4%; font-size:clamp(3.75rem, 2.701rem + 4.8vw, 5rem); }
		.message_box_top { margin-top:25%; flex-wrap:wrap; }
		.message_box_top .message_pic { width:100%; order:1; margin-left:auto; }
		.message_box_top .txt { width:100%; order:2; margin-top:8%; }
		.member_top .content_main_btm .btn_more { margin-right:auto; margin-left:auto; text-align:center; }
		
		
	}
	
	
	
	@media print, screen and (max-width:500px) {
		.slick-slider.cs_slider:after { top:1%; }
	}


/* 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:15% 0 10%; width:90.77%; margin:0 auto; }

.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 { letter-spacing:0.14em; font-size:18px; color: #92b6d9; }
.lower_block h2 span { font-size:clamp(3.75rem, -0.478rem + 8.81vw, 8rem); line-height:1; letter-spacing:0.075em; color:#bfcee1; font-weight:600; display:block; }
.lower_block h3 span { display:block; font-size:36px; color:#809fc9; line-height:1.25; margin-bottom:5px; font-weight:500; }

	#company .lower_block h3 span { font-weight:600; }

.lower_block h2 { margin:50px 0 100px; }

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

#company .content_box { opacity:0; transform: translateY(150px); transition: all 0.6s ease-out; }
	#company .is-active.content_box { animation: fadein02 0.5s ease 0s 1 forwards; }

.mission_bg { position:relative; z-index:1; padding:5% 0; margin:0 auto 8%; }
.mission_bg:after { content:""; position:absolute; width:150%; height:100%; top:0; left:-25%; background:#e6ecf3; z-index:-1; }

.company_main_box { margin:10% 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); }

.company_mission { display:flex; justify-content:space-between; align-items:flex-top; margin-top:80px; }
.company_mission li { width:30%; border-top:1px solid #888; padding-top:15px; position:relative; line-height:2; }
	.company_mission li:before { content:""; position:absolute; top:-1px; right:0; width:30px; height:3px; background:#999; }
.company_mission li strong { display:block; font-size:20px; margin-bottom:20px; text-align:center; font-weight:600; }

.message_box { display:flex; justify-content:space-between; align-items:flex-start; margin-top:80px; }
.message_box .txt { width:50%; }
.message_box .message_pic { width:40%; border:5px solid #fff; box-shadow:0 1px 0 #bacce5; }
.message_box .message_pic img { display:block; }
.message_box .txt { padding-right:5%; line-height:2; }

#service .content_box { margin-top:8%; opacity:0; transform: translateY(150px); transition: all 0.6s ease-out; }
	#service .is-active.content_box { animation: fadein02 0.5s ease 0s 1 forwards; }
	
.service_ttl { font-size:24px; margin:0 0 50px; }
.service_box { display:flex; justify-content:space-between; align-items:flex-start; margin-top:50px; }
	
.service_box .txt { width:50%; }
.service_box .service_pic { width:40%; /*border:5px solid #fff; box-shadow:0 1px 0 #bacce5;*/ position:relative; }
	.service_box .service_pic:after { content:""; position:absolute; top:-5px; left:-5px; width:calc(100% + 10px); height:calc(100% + 3px); background:#fff; z-index:-1; }
.service_box .service_pic img { display:block; }
.service_box .txt { padding-right:5%; }
.service_box .txt p { margin-bottom:20px; line-height:2; }


#service .slick-dotted.slick-slider { margin-bottom:0; }
.s_slide { padding:50% 0; background-repeat:no-repeat; background-position:center center; background-size:cover; }
.s_slide .slick-dots { bottom:-25px; right:0; width:auto; }
.s_slide .slick-dots li { margin:0; }
.s_slide .slick-dots li button:before { content:""; font-size:40px; border:1px solid #000; border-radius: 50%; width:8px; height:8px; background:none; opacity:1; }
.s_slide .slick-dots li.slick-active button:before { opacity:1; background:#000; }
.s_slide.slick-dotted.slick-slider { margin-bottom:0px; }
#service .slick-dots { bottom:15px; }
#service .slick-dots li { margin:0; }
#service .slick-dots li button:before { font-size:24px; }


#case_study .content_main { margin-top:10%; opacity:0; transform: translateY(150px); transition: all 0.6s ease-out; }
.cs_box { border-bottom:1px solid #b2b7a0; padding-bottom:50px; margin:50px 0; }
	.is-active.content_main { animation: fadein02 0.5s ease 0s 1 forwards; }

	.is-active.content_main .cs_box:nth-of-type(1) { animation-delay: 0s; }
	.is-active.content_main .cs_box:nth-of-type(2) { animation-delay: 0.2s; }
	.is-active.content_main .cs_box:nth-of-type(3) { animation-delay: 0.4s; }
	.is-active.content_main .cs_box:nth-of-type(4) { animation-delay: 0.6s; }
	.is-active.content_main .cs_box:nth-of-type(5) { animation-delay: 0.8s; }
	.is-active.content_main .cs_box:nth-of-type(6) { animation-delay: 1s; }
	.is-active.content_main .cs_box:nth-of-type(7) { animation-delay: 1.2s; }
	.is-active.content_main .cs_box:nth-of-type(8) { animation-delay: 1.4s; }
	.is-active.content_main .cs_box:nth-of-type(9) { animation-delay: 1.6s; }
	.is-active.content_main .cs_box:nth-of-type(10) { animation-delay: 1.8s; }


.cs_box:last-of-type { border-bottom:none; padding-bottom:0; }
.cs_box_info { width:50%; padding-left:20px; }
.cs_box_info span a { display:inline-block; margin-bottom:20px; color:#fff; padding:5px 15px 6px; background:#809fc9; font-size:14px; }
.cs_box_pic { width:39.91%; position:relative; }
.cs_box_pic img { width:100%; height:auto; display:block; }
.cs_pic { background-repeat:no-repeat; background-position:center center; width:100%; height:auto; background-size:cover; padding:30% 0; border:5px solid #fff; box-shadow: 0px 1px 0px #ccc; }

.cs_box_info_ttl { font-size:24px; letter-spacing:0.14em; position:relative; margin:20px 0 40px; color:#555; padding-right:15%; }
.cs_box_info_ttl span { display:block;font-size:36px; letter-spacing:0.06em; line-height:1.25; margin-bottom:5px; }
	.cs_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; }
.cs_box_txt { font-size:15px; line-height:2.26; }
.cs_tag_ttl { font-size:24px; font-weight:bold; margin:50px 0; }
.cs_box_info a { color:#555; }

#case_study .content { margin-top:50px; }
#case_study.lower h3 { font-size:24px; margin-bottom:20px; }

#case_study.lower .cs_tag { font-size:16px; display:inline-block; }
#case_study.lower .cs_tag a { color:#fff; background:#809fc9; padding:5px 15px 6px; }
.cs_main_slider { margin:30px 0 50px; }
#case_study.lower .slick-dots { bottom:30px; z-index:10; }
#case_study.lower .slick-dots li button:before { font-size:20px; }

#case_study.single .content { margin-top:8%; opacity:0; transform: translateY(150px); transition: all 0.6s ease-out; }
	#case_study.single .is-active.content { animation: fadein02 0.5s ease 0s 1 forwards; }

#case_study h4 { font-size:20px; font-weight:bold; margin:0 0 10px; color:#809fc9; }
#case_study .cs_txt_wrap { margin:0 0 50px; line-height:2; }
#case_study .cs_taglist { margin:0 auto; padding:2% 0% 3%; position:relative; z-index:1; }
	#case_study .cs_taglist:after { content:""; position:absolute; width:200%; top:0; left:3%; height:100%; background:#e7edf3; z-index:-1; }
	#case_study.single .cs_taglist:after { background:#d1dce8; opacity:0.5; }

#case_study .cs_taglist .content_inner { padding: 0 5.86%; }
#case_study .cs_taglist h4 { text-align:left; font-size:12px; font-weight:normal; }
#case_study .cs_taglist h4 span { display:block; font-size:18px; font-weight:500; }
#case_study .cs_taglist ul { display:flex; justify-content:flex-start; padding:5px 0 0; }
#case_study .cs_taglist ul li { margin:0 20px 0 0; }
#case_study .cs_taglist ul li a { color:#fff; padding:5px 15px 6px; background:#809fc9; font-size:14px; display:inline-block; }
#case_study .cs_taglist ul li a.current { opacity:0.3; }

#news .news_article_list { margin:50px 0 0; }
#news .news_article_list li { padding:15px 0; border-bottom:1px solid #ccc; }
#news .news_article_list li a { color:#555; display:flex; justify-content:flex-start; align-items:flex-start; }
#news .content { margin-top:8%; opacity:0; transform: translateY(150px); transition: all 0.6s ease-out; }
	#news .is-active.content { animation: fadein02 0.5s ease 0s 1 forwards; }
	
#news .link_nav { margin:50px 0; display:flex; justify-content:space-between; }
#news.lower h3 { font-size:24px; margin-bottom:30px; }
#news.lower h3 span { font-size:16px; }
#news.lower .content img { height:auto; width:auto; }
#news.lower .content_box { margin:30px 0 0; line-height:2; }


#news .content_main { margin-top:8%; opacity:0; transform: translateY(150px); transition: all 0.6s ease-out; }
	#news.single .is-active.content_main { animation: fadein02 0.5s ease 0s 1 forwards; }
	#news .is-active.content_main { animation: fadein02 0.5s ease 0s 1 forwards; }

#privacy .lower_block h2 span { font-size:clamp(3.125rem, 1.783rem + 6.71vw, 5rem); }

#privacy .content_main  { opacity:0; transform: translateY(150px); transition: all 0.6s ease-out; }
	#privacy .is-active.content_main  { animation: fadein02 0.5s ease 0s 1 forwards; }

.privacy_box { font-size:16px; letter-spacing:0.05em; border-top:1px solid #ccd3ca; }
.privacy_box dt { margin-top:30px; font-weight:bold; color:#809fc9; }
.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; }
		
		#privacy .flex_box { flex-wrap:wrap; }
		#privacy .lower_block .flex_box .content_ttl, #privacy .lower_block .flex_box .content_main { width:100%; }
		#privacy .lower_block .flex_box .content_ttl { margin-bottom:50px; }
	}


	@media print, screen and (max-width:767px) {
		
		.lower_block { padding:130px 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 { margin:30px 0 60px; }
		.lower_block h2 span { display:block; font-size:40px; }
		.lower_block h3 span { font-size:24px; }
		
		.company_main_box { margin:30% auto 0; }
		.company_main_box_ttl { width:100%; margin-top:-17%; }
		.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; }
		
		#company .content_box { padding-top:5%; }
		.company_mission { display:block; margin:50px 0 80px; }
		.company_mission li { width:100%; }
		.company_mission li:nth-child(2) { margin:30px 0; }

		.message_box { flex-wrap:wrap; margin:50px 0 80px; }
		.message_box .message_pic { width:100%; order:1; margin-bottom:30px; }
		.message_box p { padding:0 0 8%; }
		.message_box .txt { width:100%; order:2; }
		
		.company_box li { display:block; }
		.company_box li em, .company_box li p { width:100%; }
		
		.service_box { flex-wrap:wrap; margin-top:30px; }
		.service_box .txt { width:100%; order:2; margin-bottom:50px; }
		.service_box .service_pic { width:100%; order:1; margin-bottom:30px; }
		.service_ttl { font-size: 24px; margin: 0 0 30px; }
		
		.cs_box.flex_box { display:block; }
		.cs_box_info { width:100%; padding-left:0px; margin-bottom:30px; }
		.cs_box_pic { width:100%; }
		#case_study .cs_taglist { padding:4% 0% 5%; }
		#case_study .cs_taglist .content_inner { padding:0 4.86%; }
		#case_study .cs_taglist:after { left:0; }
		#case_study .cs_taglist ul li { margin:0 5px; }
		#case_study .cs_taglist ul li a { font-size:11px; padding:5px 10px 6px; }
		
		.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; }
		
		#news .news_article_list li a { display:block; }
		
		#privacy .lower_block h2 span { font-size:40px; }
	}
	
	
	@media print, screen and (max-width:500px) {
		.company_box li { flex-wrap:wrap; }
		.company_box li em, .company_box li p { width:100%; }

	}

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

#contact .content_main, #contact-confirm .content_main, #contact-complete .content_main { margin-top:8%; position:relative; }

#contact .lower_block { padding-bottom:0; }
#contact .content_main { margin-top:10%; position:relative; opacity:0; transform: translateY(150px); transition: all 0.6s ease-out; }
	#contact .is-active.content_main { animation: fadein02 0.5s ease 0s 1 forwards; }

#contact h3 { font-size:34px; letter-spacing:0.07em; margin-bottom:50px; }
#contact 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; }
#contact 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; }
	#contact input[type=text] { border-bottom:1px solid #c6c5b6; }
	#contact input.school[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; }
	#contact .textarea_wrap { border-bottom:1px solid #c6c5b6; }
	#contact-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; }
	#contact .select { background:#fff; }
	
	#contact-confirm .select { height:auto; }
	#contact-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; 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; }
	#contact-confirm .chkbox, #contact-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:#7797c2; 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; }

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; }
		#contact input.school[type=text] { width:100%; }
		
		#contact 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; padding:25% 0; }

#footer .content_inner { display:flex; justify-content:space-between; align-items:flex-end; position:relative; margin-top:12%; padding-bottom:5%; }

.footer_info { width:25%; }
.footer_nav { width:70%; }

#footer a { color:#fff; }

.footer_infobox .logo { display:flex; justify-content:space-between; align-items:flex-end; margin:0 0 50px; }
.footer_infobox .logo img { width:134px; height:auto; }

#footer .sns_btn { display:flex; justify-content:flex-start; align-items:center; }
#footer .sns_btn li a { position:relative; display:inline-block; text-indent:-9999px; width:40px; height:40px; border-radius:50%; transition:0.3s; }
#footer .sns_btn li.instagram a { margin-right:15px; }
#footer .sns_btn li.facebook a { }
	#footer a:before { content:""; position:absolute; background-repeat:no-repeat; background-position:center center; background-size:contain; }
	#footer li.instagram a:before { top:0; left:0; width:36px; height:36px; background-image:url(../img/common/ico_instagram.png); }
	#footer li.facebook a:before { top:0; left:0; width:35px; height:35px; background-image:url(../img/common/ico_fb.png); }

.footer_infobox .address { font-size:13px; letter-spacing:0.1em; }

.footer_nav nav ul { display:flex; justify-content:flex-end; align-items:center; font-size:16px; letter-spacing:0.1em; margin:0 0 80px; font-family:"acumin-pro", sans-serif; }
.footer_nav nav ul li { margin:0 15px; text-align:center; }
.footer_nav nav ul li:last-child { margin-right:0; }
.footer_nav span { display:block; font-size:11px; }

.footer_nav .copyright { display:flex; justify-content:flex-end; align-items:center; font-size:13px; }
.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) {	
		.footer_infobox .logo { margin:0 0 20px; }
		.footer_nav nav ul { margin:40px 0; }
		.footer_nav nav ul li { font-size:12px; }
		
	}
	
	@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:100%; } 
		
		.footer_nav nav ul { flex-wrap:wrap; margin:10px 0 10px; }
		.footer_nav nav ul li { margin: 0 0 10px 0; width:100%; text-align:left; }
		.footer_nav .address { font-size:12px; }
		.footer_nav .copyright { flex-wrap:wrap; justify-content:flex-start; margin-top:20px; }
		.footer_nav .copyright a { width:100%; margin-bottom:10px; }

	}
	@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; }
		
	}
	
	@media print, screen and (max-width:500px) {
	}
	

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


/* ----------------------------------------------------
animation keyframe
---------------------------------------------------- */
	
	@keyframes fadein01 {
	    0% { opacity:0; }
	    100% { opacity:1; transform: translateX(0); }
	}

	@keyframes fadein02 {
	    0% { opacity:0; }
	    100% { opacity:1; transform: translateY(0); }
	}


/* ----------------------------------------------------
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);
}

