/*共通*/
body{ font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif; color:#555; padding:0; margin:0;}
input , textarea , select{ color:#555; font-size:14px;}
a { color:#333;}
a:hover{ color:#FFBF00;}
.mt80 { margin-top: 80px !important; }
.mb8 { margin-bottom: 8px !important; }
.mb12 { margin-bottom: 12px !important; }
.mb16 { margin-bottom: 16px !important; }
.mb24 { margin-bottom: 24px !important; }
.mb32 { margin-bottom: 32px !important; }
.mb48 { margin-bottom: 48px !important; }
.m8 { margin: 8px !important; }
.m12 { margin: 12px !important; }
.m16 { margin: 16px !important; }
.m24 { margin: 24px !important; }
.m48 { margin: 48px !important; }

/*头部*/
.header{ width:100%; margin:0px auto; position:fixed; height:90px; background:rgba(0, 0, 0,.65); z-index:99;}
.header .head{ margin:0px 24px; width:calc(100% - 48px); height:90px; display:flex; text-align:left; position:relative;align-items: center;}
.head .logo{ width:171px; height:62px; }
.head .logo img{ width:171px; height:62px; vertical-align:top;}
.head .nav_m{ width:930px; margin-left: auto;}
.head .lang { margin-left: auto;}
.head .nav{ width:100%; text-align:right;}
.head .nav li{ display:inline-block; *display:inline; zoom:1; height:90px; position:relative; vertical-align:top; margin-left:10px;}
.head .nav li a{ font-size:14px; font-weight: 900;width:110px; height:32px; text-align:center; line-height:32px; color:#2699FB; display:inline-block; *display:inline; zoom:1; vertical-align:top; margin-top:27px; border-radius: 9999px;border: 1px solid #0000; transition:all 350ms;}
.head .nav li.now a{ color:#FFF; background-color: #FB8026; }
.head .nav li:hover a{ color:#FFF; border-color: #2699FB; }
.nav_m .n_icon{ display:inline-block; *display:inline; zoom:1; height:18px; line-height:18px; color:#333; padding-left:25px; background:url(../images/nav_ico.png) no-repeat left center; position:absolute; right:0; top:37px; z-index:9999; cursor:pointer;display:none;}
.floatmenu { position: fixed; z-index: 1000;}
.floatbg { background-color: #00000080; position: fixed; width: 100%; height: 100%; top: 0; left: 0; transition: all 550ms;}
.floatbg.hide {background-color: transparent; visibility: hidden;}
.ml_float { position: fixed; right: 0; top: 0; background: white; width: 220px; height: 100%; transition: all 550ms;}
.ml_float ul { padding: 8px 0; }
.ml_float li { padding: 16px 16px; }
.ml_float li a { display: flex; justify-content: flex-start; align-items: center; font-size: 12px; font-weight: 900; color:#000000bb; }
.ml_float svg { width: 22px; height: 22px; margin-right: 30px; }
.ml_float svg path { fill: #00000077; }
.ml_float .now { background-color: #2699FB; }
.ml_float .now a{ color: #fff; }
.ml_float .now svg path { fill: #fff; }
.ml_float.hide {right: -220px;}

/* footer */
.f_bg{ width:100%; padding:15px 0 10px; background:#414244;}
.foot{ width:1200px; margin:0px auto; text-align:center; font-size:13px; color:#FFF;}
.foot span{ display:inline-block; *display:inline; zoom:1; vertical-align:top; margin:0 5px 5px;}
/* footer */

/*主画面用*/
.mainvideo { right: 0; bottom: 0; z-index: -10; position: fixed; min-width: 100vw; min-height: 100vh;}
.mainvisual::before { top: 0; left: 0; width: 100vw; height: 100vh; content: ""; position: absolute; background-color: rgba(0, 0, 0, 0.44); }
.mainvisual { display: flex; min-height: 100vh; align-items: center; justify-content: center; width: 100%; box-sizing: border-box; margin-left: auto; margin-right: auto; padding-left: 16px; padding-right: 16px; }
.mainbox { color: #fff; text-align: center; z-index: 999; }
.mainbox h2 { font-size: 4rem; line-height: 1.4; }
.mainbox h3 { font-size: 3.5rem; font-weight: 100; line-height: 1.4; }
.mainbox .showdetail { display: flex; margin-top: 40px; justify-content: center; }
.mainbox a { color: #fff; margin: 0 4px; padding: 9px 24px 7px 24px; min-width: 7rem; border-color: #FB8026; border-radius: 9999px; text-transform: capitalize; background-color: #FB8026; }
/*主画面用*/

/*业务画面共通用*/
.banner { width: 100%; display: flex; flex-wrap: wrap; box-sizing: border-box; color: #FFF; height: 100vh; position: relative;  flex-wrap: nowrap; align-items: center; background-size: cover; }
.banner_fg { padding-top: 90px; display: flex; flex-direction: column; box-sizing: border-box; align-items: center; justify-content: center; }
.banner_content { width: 100%; display: flex; box-sizing: border-box; justify-content: center; align-items: center; z-index: 1;}
.banner_content .info { text-align: center;}
.banner_content .info h1 { font-size: 3vmin; }
.banner_content .info p { font-size: 2.0vmin; line-height: 2.4vmin; }
.banner_content .imgs img{ width: 100%;}
.banner_content .imgs img{ width: 100%;}
.banner_overlay { top: 0; left: 0; width: 100%; height: 100%; position: absolute; background-color: rgba(0, 0, 0, 0.44);}
.arraw { cursor: pointer; fill: #fff; width: 8%; height: 8%; display: inline-block; font-size: 1.5rem; transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; user-select: none; color: white; bottom: 0; z-index: 1; position: absolute; animation: jump_icon 3.6s ease infinite; margin-bottom: 50px; transform-origin: 50% 50%; animation-duration: 1.5s; animation-iteration-count: infinite;}
.info button { cursor: pointer; border: 1px solid #FB8026; border-radius: 100px; padding: 4px 32px; margin-top: 2vh; background-color: transparent; font-size: min(16px, 1.2vmin); color: #fff;}
@keyframes jump_icon { 0% { transform: translateY(0); } 11% { transform: translateY(0); } 22% { transform: translateY(-15px); } 27% { transform: translateY(0); } 33% { transform: translateY(-15px); } 44% { transform: translateY(0); } 100% { transform: translateY(0); }}
.section { padding-top: 80px; padding-bottom: 80px; text-align: center; }
.i_m { width:1100px; margin:0px auto; }
.i_m h3 { color: #008AFF; font-size: 3.5rem; line-height: 4rem;}
.i_m p { font-size: 1.2rem; line-height: 2rem;}
/*业务画面共通用*/

/*Service画面用*/
.service h3 { font-size: 2rem; }
.service .banner { display: flex; flex-direction: row; }
.service .banner .i_m { flex: 1; }
.service .banner .banner_fg1 { background: url('../images/banner-japan.jpg') no-repeat; height: 100%; background-size: cover; background-position: center; }
.service .banner .banner_fg2 { background: url('../images/banner-japan2.jpg') no-repeat; height: 100%; background-size: cover; background-position: center; }
.service .banner_content .info { text-align: left; padding-left: 2%; flex: 1; }
.service .banner_content .imgs { flex: 1; }
/* .service .banner .i_m:hover { flex: 1.2; } */
.service .info button { background-color: #FB8026; }
.service .title svg { width: 24px; height: 24px; fill: #008AFF; }
.service .tu, .service .tu img { width:340px; height:auto; vertical-align:top; }
.service .banner_overlay:nth-child(2) { top: 100%; }
.service .title { display: flex; align-items:center; justify-content: center; padding-bottom: 12px; }
.service .title svg { padding-right: 4px;}
.service .title div { padding-top: 4px; font-size: 16px; }
.service .des { text-align: left; text-indent: 1rem; }
.service .tu img { border-radius: 16px; }
#section2 { background-color: rgba(0, 0, 0, 0.02); }
.service .arraw { margin-left: 46%; }
.service .arraw1 { display: none; bottom: 50%;}
/*Service画面用*/

/*採用情報画面用*/
.join .banner { background: url('../images/banner-join.jpg') no-repeat; background-size: cover; background-position: center; }
.join .banner_overlay { background-color: rgba(0, 0, 0, 0.24); }
.join .banner_content { justify-content: left; }
.join .banner_content .info { text-align: left; }
.flex_3 { display:flex; justify-content: space-between; align-items: top; }
.flex_2 { display:flex; justify-content: space-between; align-items: top; }
.tu, .tu img { width:350px; height:auto; vertical-align:top;}
.join .tu img { border-radius: 16px; }
.flex_2 .tu, .f2 .tu img { width:49%; height:auto; vertical-align:top;}
.join .i_l { font-size: 1rem; line-height: 1.2rem; }
.hire { background-color: #e6f4ff; border-radius: 8px; }
.hire_content h2 { font-size: 2rem; }
.hire_content hr { width: 96px; color: #2699FB; border: 2px solid; background: #2699FB; }
.hire_content h3 { font-size: 1.3rem; color: black; text-align: left; }
.hire_content li { font-size: 0.8rem; font-weight: 100; color: black; text-align: left; line-height: 2; padding-left: 1.8rem;}
.hire_content li::before { color: #008AFF; width: 4px; border: 2px solid #008AFF; height: 4px; content: ''; display: inline-block; position: absolute; transform: translate(0, 100%); font-weight: bold; margin-left: -1.5em; border-radius: 50%;}
/*採用情報画面用*/


/*企業情報画面用*/
.company .banner { background: url('../images/banner-company.jpg') no-repeat; background-size: cover; background-position: center; }
.company .banner_overlay { background-color: rgba(0, 0, 0, 0.54); }
.company .banner_content { justify-content: left; }
.company .banner_content .info { text-align: left; }
.company .flex_onehand { display: flex; flex-direction: column; }
.company .flex_onehand .tu { display: flex; flex-direction: row; width: 100%; gap: 24px; align-items: center; border-top: 1px solid #D5DDEB; border-bottom: 1px solid #D5DDEB; padding: 40px 0; }
.company .tu + .tu { margin-top: -1px; }
.company .t_label { width: 30%; padding: 24px auto; font-size: 20px; font-weight: 900; text-align: left;}
.company .t_note { width: 70%; padding: 24px auto; text-align: left;}
.company .t_note p { font-size: 16px; line-height: 26px;}
/*企業情報画面用*/

/*チーム画面用*/
.team .banner { background: url('../images/banner-team.jpg') no-repeat; background-size: cover; background-position: center; }
.team .banner_overlay { background-color: rgba(0, 0, 0, 0.38); }
.team .banner_content .info { text-align: left; }
.team #type { border-right: 1px solid #008AFF; }
.team .flex_onehand { display: flex; flex-direction: column;}
.team .flex_onehand .tu { display: flex; flex-direction: row; width: 80%; gap: 24px; align-items: center; }
.team .p_img { border: 3px solid #2699FB; border-radius: 50%; }
.team .p_img img { border: 8px solid #fff; border-radius: 50%; width: 260px; height: 260px; }
.team .p_note { display: flex; flex-direction: column; align-items: flex-start;}
.team .p_note .name{ font-size: 2vmin; font-weight: 900; }
.team .p_note .title{ font-size: 1vmin; font-weight: 900; }
.team .p_note .mail, .team .p_note .chat { width: 24px; fill: gray; }
.team hr { width: 96px; color: #2699FB; border: 2px solid; background: #2699FB; margin-left: 0; margin-bottom: 16px; }
.team .p_note .m .mail { fill: #259afb; }
.team .p_note .c .chat { fill: #259afb; }
/*チーム画面用*/

/*お問い合わせ画面用*/
.contact .banner { background: url('../images/banner-desk.jpg') no-repeat; background-size: cover; background-position: center; }
.contact .banner_overlay { background-color: rgba(0, 0, 0, 0.58); }
.contact .banner_content .info { text-align: left; }
.contact #section1 { height: 120vh; }
/*お問い合わせ画面用*/

@font-face {
	font-family:'SF Pro JP'; src:  url('../fonts/SFProJP_regular.woff2') format('woff2');
}

@font-face {
	font-family:'SF Pro Text'; src:  url('../fonts/sf-pro-text_regular.woff2') format('woff2');
}

@font-face {
	font-family:'SF Pro Display'; src:  url('../fonts/sf-pro-display_regular.woff2') format('woff2');
}

@font-face {
	font-family:'SF Pro Icons'; src:  url('../fonts/sf-pro-icons_regular.woff2') format('woff2');
}


/*Partners画面用*/
.partners { background-color: #DBDBDB; padding: 10px 0; }
.partners_title { color: #333; font-size: 1.5rem; font-weight: 700; text-align: center; margin-bottom: 10px; }
.partners_logos { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.partners_item { width: 50%; display: flex; justify-content: center; align-items: center; padding: 5px; box-sizing: border-box; }
.partners_item img { max-width: 160px; max-height: 60px; width: 100%; height: auto; object-fit: contain; filter: grayscale(30%); transition: filter 0.3s; }
.partners_item img:hover { filter: grayscale(0%); }
/*Partners画面用*/

