@charset "utf-8";
/* CSS Document */

/* font
=========================================== */
@font-face {/*Zen Kaku Gothic New*/
  font-family: "Zen Kaku Gothic New";
  src: url('../fonts/font/ZenKakuGothicNew-Regular.ttf');
  src:
  url('../fonts/font/ZenKakuGothicNew-Regular.woff2') format('woff2'),
  url('../fonts/font/ZenKakuGothicNew-Regular.woff') format('woff'),
  url('../fonts/font/ZenKakuGothicNew-Regular.ttf') format('truetype');
	font-weight: 400;
}
@font-face {/*Zen Kaku Gothic Newミディアム*/
  font-family: "Zen Kaku Gothic New";
  src: url('../fonts/font/ZenKakuGothicNew-Medium.ttf');
  src:
  url('../fonts/font/ZenKakuGothicNew-Medium.woff2') format('woff2'),
  url('../fonts/font/ZenKakuGothicNew-Medium.woff') format('woff'),
  url('../fonts/font/ZenKakuGothicNew-Medium.ttf') format('truetype');
	font-weight: 500;
}
@font-face {/*Zen Kaku Gothic Newボールド*/
  font-family: "Zen Kaku Gothic New";
  src: url('../fonts/font/ZenKakuGothicNew-Bold.ttf');
  src:
  url('../fonts/font/ZenKakuGothicNew-Bold.woff2') format('woff2'),
  url('../fonts/font/ZenKakuGothicNew-Bold.woff') format('woff'),
  url('../fonts/font/ZenKakuGothicNew-Bold.ttf') format('truetype');
	font-weight: 700;
}
@font-face {/*Zen Kaku Gothic Newブラック*/
  font-family: 'Zen Kaku Gothic New';
  src: url('../fonts/font/ZenKakuGothicNew-Black.ttf');
  src:
  url('../fonts/font/ZenKakuGothicNew-Black.woff2') format('woff2'),
  url('../fonts/font/ZenKakuGothicNew-Black.woff') format('woff'),
  url('../fonts/font/ZenKakuGothicNew-Black.ttf') format('truetype');
	font-weight: 900;
}

/* Link
=========================================== */

a:link, a:visited {
	color: #000000;text-decoration: none;
}
a:hover, a:active {
	color: #000000;text-decoration: underline;
}
a {
	outline: none;transition: 0.3s;
}
a img {transition: 0.3s;}

:focus { outline: none;}

/* LAYOUT
=========================================== */
html.showPage,
html.showPage body{min-width: 1200px;margin: 0 auto;}

body {
	color: #000000;
	background: #FFFFFF;
	font-size:16px;
	line-height:1.5;
	font-family: YakuHanJP,"Zen Kaku Gothic New","メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 500;
    font-style: normal;
	max-width:1920px;
	overflow: hidden;
	margin:0 auto;
}

h1,h2,h3,h4,h5,h6 {font-weight:700;}
body,li,th,td,p,dt,dd{}
body#tinymce{min-width:inherit!important;}

p {}
.wrap {width: 1100px;margin:0 auto;position:relative;}
table {width:100%;}
img {max-width:100%;height:auto;}

/*共通設定*/
.btn01 {display: inline-block;margin-top: 40px;}
.btn01 a {display: inline-flex;align-items: center;}
.btn01 a .arrow {display: inline-block;width: 64px;height: 64px;background-image: url("../img/common/btn_arrow.svg");background-repeat: no-repeat;background-position: center;background-size: 14px;position: relative;}
.btn01 a .arrow::before {content: "";display: block;width: 100%;height: 100%;border: 1px solid #0085FE;box-sizing: border-box;border-radius: 50%;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);transition: 0.3s;}
.btn01 a .btn-text {font-size: 16px;font-weight: 700;margin-left: 16px;}
.btn01 a:hover {text-decoration: none;}
.btn01 a:hover .arrow::before {width: 44px;height: 44px;}

.title01 {text-align: center;position: relative;margin-bottom: 60px;}
.title01 .bg-text {display: block;font-size: 110px;color: #4AB2E6;line-height:1.1;font-weight: 900;letter-spacing: 0.06em;opacity: 0.2;}
.title01 .title {display: block;font-size:30px;line-height:1.33;position: absolute;top: 60px;left: 50%;transform: translateX(-50%);z-index: 1;}

.title02 {color: #FFFFFF;font-weight: 700;}
.title02 .en {display: block;font-size: 80px;line-height:1.125;font-weight: 900;letter-spacing: 0.06em;}
.title02 .ja {display: block;font-size:30px;line-height:1.33;margin-top: 20px;}

.tel_box {font-weight: 700;text-align: center;}
.tel_box .tel {}
.tel_box .tel .num {font-size: 40px;line-height: 1;}
.tel_box .tel-text {font-size: 14px;line-height: 1.43;margin-top: 10px;}

.grad {background: linear-gradient(90deg, rgba(32, 156, 255, 1) 0%, rgba(104, 224, 207, 1) 50%, rgba(32, 156, 255, 1) 100%);background-size: 200% 100%;background-position: left center;transition: background-position 0.5s ease;}
a.grad:hover {background-position: right center;}

.under-cont > section {padding: 120px 0;}
.under-cont > section:first-child {padding-top: 110px;}
.under-cont > section:nth-child(2n) {background: #F2FAFF;}

/*ウェブフォント*/
.normal{font-weight: 400;}
.bold{font-weight: 700;}
.black{font-weight: 900;}

.common_text {line-height: 2.25;}

.text_uppercase {text-transform: uppercase;}

.tcenter {text-align: center;}
.tleft {text-align: left;}
.tright {text-align: right;}

.tate {writing-mode: vertical-rl;white-space: pre;letter-spacing: -0.3em;}
.tate .tate-line {display: inline-block;writing-mode: horizontal-tb;letter-spacing: 0;transform: rotate(90deg);margin: 10px 0 -5px;}
.safari .tate {letter-spacing: 0.1em;}
.safari .tate .tate-line {margin: 5px 0;}
@-moz-document url-prefix(){
    .tate {letter-spacing: 0.1em;}
	.tate .tate-line {margin: 5px 0;}
}

/*色*/
.shiro {color:#fff;}
.mizu {color: #0085FE;}

.flex{width: 100%;
    margin: 0 ;
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

/*タイトル表示アニメーション*/
.title-inviewIn {
    clip-path: polygon(0% -5%, 100% -5%, 100% -5%, 0% -5%);
	transition: ease-in-out 0.4s !important;
}
.title-inviewIn.title-in {
    clip-path: polygon(0% 105%, 100% 105%, 100% -5%, 0% -5%);
}

/* header */
/*-------------------------------------------*/
#header {width:100%;height: 80px;min-width:1100px;max-width: 1920px;position:fixed;transition: 0.3s;left:0;right: 0;top:0;margin: auto;z-index: 100;}
.fixed #header {background: #FFFFFF;}
#header .header_inner {height: 100%;justify-content: space-between;align-items: center;flex-wrap: nowrap;}
#header .header_inner .logo_box {width: 310px;margin-left: 42px;position: relative;z-index: 1;}
#header .header_inner .logo {width: 100%;}
#header .header_inner .logo a {display: block;width: 100%;}
#header .header_inner .logo a:hover {text-decoration: none;opacity: 0.7;}

#header .header_inner .right {height: 100%;justify-content: flex-end;padding-right: 194px;box-sizing: border-box;position: relative;}

#header .header_inner .right .contact_btn {width: 156px;height: 100px;position: absolute;top: 0;right: 0;}
#header .header_inner .right .contact_btn a {display: flex;justify-content: center;align-items: center;flex-direction: column;width: 100%;height: 100%;border-bottom-left-radius: 10px;text-align: center;}
#header .header_inner .right .contact_btn a img.icon {width: 33px;}
#header .header_inner .right .contact_btn a .btn-text {color: #FFFFFF;margin-top: 2px;}
#header .header_inner .right .contact_btn a:hover {text-decoration: none;}

/*gnav*/
.gnav {height: 100%;}
.gnav > ul.flex {width:auto;height: 100%;align-items: center;flex-wrap: nowrap;}
.gnav > ul > li {margin-right: 20px;}
.gnav > ul > li:last-child {margin-right: 0;}
.gnav > ul > li > a {display: block;font-weight: 700;white-space: nowrap;}
.gnav > ul > li > a:hover {text-decoration: none;opacity: 0.3;}

/* main */
/*-------------------------------------------*/
#main.home_main {width: 100%;padding-top: 180px;box-sizing: border-box;position: relative;z-index: 1;}
#main.home_main .text_box {width: 1400px;justify-content: space-between;align-items: flex-start;margin: 0 auto 90px;position: relative;}
#main.home_main .text_box::before {content: "";display: block;width: 992px;height: 1041px;background: url("../img/main/main_bg.png") no-repeat center;background-size: contain;position: absolute;top: -180px;left: 47px;z-index: -1;}
#main.home_main .text_box .main_title {width: 650px; font-size: 20px;line-height: 1.45;margin-bottom: 24px;}
#main.home_main .text_box .main_title > span {font-size: 66px;line-height: 1.3;}
#main.home_main .text_box .main_title > span .big {font-size: 70px;}
#main.home_main .text_box .main_title > span.flex {width: auto;align-items: center;margin-bottom: 20px;}
#main.home_main .text_box .main_title > span.flex img {width: auto;height: 90px;}
#main.home_main .text_box .main_title > span.flex img.img01 {margin-right: -5px;}
#main.home_main .text_box .main_title > span.flex img.img02 {margin: 0 8px 0 3px;}
#main.home_main .text_box .main_title > span.flex .big {letter-spacing: -0.14em;}
#main.home_main .text_box .main_text {width: 220px;font-size: 20px;line-height: 2;margin-top: 20px;}

#main.home_main .main_img_box {width: 100%;height: 668px;position: relative;}
#main.home_main .main_img_box .anchor_btn {width: 146px;height: 146px;background: #FFFFFF;border-radius: 50%;padding: 8px;box-sizing: border-box;position: absolute;top: -73px;left: 1420px;}
#main.home_main .main_img_box .anchor_btn a {display: block;width: 100%;height: 100%;border: 2px solid #0085FE;box-sizing: border-box;border-radius: 50%;position: relative;overflow: hidden;}
#main.home_main .main_img_box .anchor_btn a .arrow {width: 21px;height: 29px;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
#main.home_main .main_img_box .anchor_btn a .arrow img {position: absolute;top: 0;left: 0;transition: all 0.3s ease;}
#main.home_main .main_img_box .anchor_btn a .arrow img.arrow01 {opacity: 1;transform: translateY(0);}
#main.home_main .main_img_box .anchor_btn a .arrow img.arrow02 {opacity: 0;transform: translateY(-100%);}
#main.home_main .main_img_box .anchor_btn a:hover {text-decoration: none;}
#main.home_main .main_img_box .anchor_btn a:hover .arrow img.arrow01 {opacity: 0;transform: translateY(100%);}
#main.home_main .main_img_box .anchor_btn a:hover .arrow img.arrow02 {opacity: 1;transform: translateY(0);transition: all 0.3s ease 0.3s;}
#main.home_main .main_img_box .main_img {width: 100%;height: 100%;background: url("../img/main/main_img.jpg") no-repeat center;background-size: cover;}

#main.home_main .news_box {width: 1060px;align-items: center;padding: 20px 40px 20px 50px;box-sizing: border-box;background: #FFFFFF;border-top-right-radius: 10px;position: absolute;bottom: 0;left: 0;z-index: 1;}
#main.home_main .news_box h3 {width: 126px;font-size: 24px;line-height: 1;}
#main.home_main .news_box .top-news01 { width: calc(100% - 358px); }
#main.home_main .news_box .top-news01 a { display: flex; align-items: center;width: 100%; }
#main.home_main .news_box .top-news01 a .time { width: 100px; }
#main.home_main .news_box .top-news01 a .text { width: calc(100% - 100px); display: -webkit-box; overflow: hidden; -webkit-line-clamp: 1; -webkit-box-orient: vertical; transition: 0.3s; }
#main.home_main .news_box .top-news01 a:hover { text-decoration: none; }
#main.home_main .news_box .top-news01 a:hover .text { color: #0085FE; }
#main.home_main .news_box .btn01 {width: 136px;height: 40px;margin-top: 0;margin-left: 96px;}
#main.home_main .news_box .btn01 a {width: 100%;justify-content: space-between;}
#main.home_main .news_box .btn01 a .arrow {width: 40px;height: 40px;background-size: 10px;}
#main.home_main .news_box .btn01 a .btn-text {margin-left: 0;}
#main.home_main .news_box .btn01 a:hover .arrow::before {width: 22px;height: 22px;}

/* 下層 main */
/*-------------------------------------------*/
#main.kasou {width: 100%;}
#main.kasou .wrap {padding-top: 200px;height: 440px;box-sizing: border-box;}
#main.kasou .wrap::before {content: "";display: block;width: 1273px;height: 440px;background: url("../img/main/main_bg_kasou.png") no-repeat center;background-size: contain;position: absolute;top: 0;left: 103px;z-index: -1;}
#main.kasou .main_title {margin-bottom: 50px;}
#main.kasou .main_title .en {display: block;font-size: 94px;line-height: 1.28;letter-spacing: 0.06em;font-weight: 900;color: #0085FE;margin-bottom: 30px;}
#main.kasou .main_title .ja {display: block;font-size:24px;line-height:1.67;}
#main.kasou .main_img {width: 94%;height: 412px;background-image: url("../img/main/kasou_img01.jpg");background-repeat: no-repeat;background-position: center left;background-size: cover;margin: 0 0 0 auto;}

body.page-business #main.kasou .main_img {background-image: url("../img/main/kasou_img02.jpg");}
body.page-developmentpolicy #main.kasou .main_img {background-image: url("../img/main/kasou_img03.jpg");}
body.page-flow #main.kasou .main_img {background-image: url("../img/main/kasou_img04.jpg");}
body.page-company #main.kasou .main_img {background-image: url("../img/main/kasou_img05.jpg");}
body.page-recruit #main.kasou .main_img {background-image: url("../img/main/kasou_img06.jpg");}
body.archive #main.kasou .main_img {background-image: url("../img/main/kasou_img07.jpg");}

/*パンくず*/
div#bread {width: 100%;padding-top: 8px;}
ul.bread-list {font-size:13px;justify-content: flex-start;}
ul.bread-list li {line-height: 19px;}
ul.bread-list li a {text-decoration:none;line-height: 19px;}
ul.bread-list li a:hover {text-decoration:underline;}
ul.bread-list li::after{content:"＞";margin: 0 8px;}
ul.bread-list li:last-child::after{display: none;}

body.single div#bread {margin-top: 112px;}

/* TOPへ戻る・追従 */
/*-------------------------------------------*/
#fixed_trigger {position: absolute;left: 0;top:116px;z-index: -100;}

/* footer */
/*-------------------------------------------*/
#contact-sec {width: 100%;height: 440px;}
#contact-sec > a {display: block;width: 100%;height: 100%;}
#contact-sec > a:hover {text-decoration: none;}
#contact-sec > a:hover .arrow::before {width: 90px;height: 90px;}
#contact-sec > a .wrap {display: flex;justify-content: space-between;align-items: center;height: 100%;}
#contact-sec > a .arrow {display: block;width: 120px;height: 120px;position: relative;}
#contact-sec > a .arrow::before {content: "";display: block;width: 100%;height: 100%;border: 1px solid #FFFFFF;box-sizing: border-box;border-radius: 50%;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);transition: 0.3s;}
#contact-sec > a .arrow img {display: block;width: 26px;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}

#map-sec { width: 100%; height: 465px; position: relative; }
#map-sec iframe { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

#footer {padding: 120px 0;}
#footer .footer_box {justify-content: space-between;flex-wrap: nowrap;flex-direction: row-reverse;margin-bottom: 80px;}
#footer .footer_box .left {width: 420px;}
#footer .footer_box .left .logo {width: 414px;margin-bottom: 40px;}
#footer .footer_box .left .logo a {display: block;width: 100%;}
#footer .footer_box .left .logo a:hover {text-decoration: none;opacity: 0.7;}
#footer .footer_box .left .info_box .tel_box {text-align: left;}
#footer .footer_box .left .info_box .tel_box .tel .num {font-size: 18px;line-height: 1.33;padding-left: 16px;box-sizing: border-box;position: relative;}
#footer .footer_box .left .info_box .tel_box .tel .num::before {content: "";display: block;width: 12px;height: 12px;background: url("../img/common/icon_tel.svg") no-repeat center;background-size: contain;position: absolute;top: 8px;left: 0;}
#footer .footer_box .left .info_box .tel_box .tel-text {margin-top: 0;}
#footer .footer_box .left .info_box .address {line-height: 1.75;margin-top: 24px;}

#footer .footer_box .navs-list {display: flex;width: calc(100% - 500px);justify-content: flex-end;}
.navs-list > ul.navs-list01 {margin-right: 54px;}
.navs-list > ul.navs-list00 > li {margin-bottom: 12px;}
.navs-list > ul.navs-list00 > li:last-child {margin-bottom:0;}
.navs-list > ul.navs-list00 > li a {font-weight: 700;}
.navs-list > ul.navs-list00 > li a:hover {text-decoration: none;opacity: 0.3;}

#footer .bottom_box {justify-content: space-between;align-items: center;flex-direction: row-reverse;}
#footer .bottom_box .link_list {width: auto;}
#footer .bottom_box .link_list li {margin-right: 20px;}
#footer .bottom_box .link_list li:last-child {margin-right: 0;}
#footer .bottom_box .link_list li a {font-size: 14px;line-height: 1.7;font-weight: 700;}
#footer .bottom_box .link_list li a:hover {text-decoration: none;opacity: 0.3;}
#footer .bottom_box .copyright {font-size: 14px;line-height: 1.7;font-weight: 700;}

/* wideWrap
=========================================== */
section{width:100%;}

aside,footer{position:relative;}

/* CLEARFIX
=========================================== */

.cf:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
	overflow: hidden;
	font-size: 0.1em;
	line-height: 0;
}
.cf {
	min-height: 1px;
}
* html .cf {
	height: 1px;/*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}

.no-pc{display: inline-block;pointer-events: none;text-decoration: none!important;}

.sp{display:none!important;}
