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


/* font
=========================================== */

@font-face {/*NotoSansJP*/
  font-family: 'NotoSansJP';
  src: url('../fonts/font/NotoSansJP-Regular.otf');
  src:
  url('../fonts/font/NotoSansJP-Regular.woff2') format('woff2'),
  url('../fonts/font/NotoSansJP-Regular.woff') format('woff'),
  url('../fonts/font/NotoSansJP-Regular.ttf') format('TrueType');
	font-weight: 400;
}

@font-face {/*NotoSansJP*/
  font-family: 'NotoSansJP';
  src: url('../fonts/font/NotoSansJP-Medium.otf');
  src:
  url('../fonts/font/NotoSansJP-Medium.woff2') format('woff2'),
  url('../fonts/font/NotoSansJP-Medium.woff') format('woff'),
  url('../fonts/font/NotoSansJP-Medium.ttf') format('TrueType');
	font-weight: 500;
}

@font-face {/*NotoSansJP*/
  font-family: 'NotoSansJP';
  src: url('../fonts/font/NotoSansJP-Bold.otf');
  src:
  url('../fonts/font/NotoSansJP-Bold.woff2') format('woff2'),
  url('../fonts/font/NotoSansJP-Bold.woff') format('woff'),
  url('../fonts/font/NotoSansJP-Bold.ttf') format('TrueType');
	font-weight: 700;
}


@font-face {/*Roboto*/
  font-family: 'Roboto';
  src: url('../fonts/font/Roboto-Light.otf');
  src:
  url('../fonts/font/Roboto-Light.woff2') format('woff2'),
  url('../fonts/font/Roboto-Light.woff') format('woff'),
  url('../fonts/font/Roboto-Light.ttf') format('TrueType');
	font-weight: 300;
}

@font-face {/*Roboto*/
  font-family: 'Roboto';
  src: url('../fonts/font/Roboto-Regular.otf');
  src:
  url('../fonts/font/Roboto-Regular.woff2') format('woff2'),
  url('../fonts/font/Roboto-Regular.woff') format('woff'),
  url('../fonts/font/Roboto-Regular.ttf') format('TrueType');
	font-weight: 400;
}

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

a:link, a:visited {
	color: #000;text-decoration: none;
}
a:hover, a:active {
	color: #000;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;}

body {
	color: #000;
	background:#fff;
	font-size:16px;
	line-height:normal;
	font-family: 'NotoSansJP',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 400;
    font-style: normal;
	overflow:hidden;
	max-width:1920px;
	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 {width:160px;height:50px;display:table;}
.btn01 a {display:table-cell;vertical-align:middle;text-align:center;color:#fff;font-weight:bold;text-decoration:none;border:1px solid #fff;border-radius:25px;}
.btn01 a:hover {background:#fff;color:#000;}

.btn02 {width:160px;height:50px;display:table;}
.btn02 a {display:table-cell;vertical-align:middle;text-align:center;color:#000;font-weight:bold;text-decoration:none;border:1px solid #000;border-radius:25px;}
.btn02 a:hover {background:#000;color:#fff;}

.title01 {}
.title01 .eng {font-size:70px;font-family: 'Roboto';font-weight: 400;margin-bottom:17px;}
.title01 .jap {font-size:22px;}

.title01.flex {align-items: baseline;}
.title01.flex .eng {margin-bottom:0;margin-right:94px;}

.common_text {line-height:2;}
.common_text02 {line-height:1.75;}


/*ウェブフォント*/
.tcenter {text-align: center;}
.tright {text-align: right;}
.roboto {font-family: 'Roboto';}

/*色*/
.shiro {color:#fff;}
.ao {color:#00A0E9;}
.mt20 {margin-top: 20px;}

.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;
}

/* header */
/*-------------------------------------------*/
#header {width:100%;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:#1C1C1C;}
#header .header_inner {justify-content:space-between;align-items:center;padding:20px;box-sizing:border-box;}
#header .header_inner .left {width:auto;align-items:center;}
#header .header_inner .left .logo {margin-right:30px;width: 100px;}
#header .header_inner .left .p01 {font-size: 13px;line-height:18px;}
#header .header_inner .right {width:auto;align-items:center;}

/*gnav*/
.gnav {margin-right:54px;}
.gnav > ul.flex {width:auto;color:#fff;}
.gnav > ul > li {margin-right:30px;}
.gnav > ul > li:last-child {margin-right:0;}
.gnav > ul > li > a {text-decoration:none;color:#fff;}
.gnav > ul > li > .a {display:block;height:100%;transition: 0.3s;padding-right:18px;background:url("../img/common/op.svg") no-repeat right top 9px;}
.gnav > ul > li:hover > .a {background:url("../img/common/cl.svg") no-repeat right top 9px;}
.gnav > ul > li .eng {font-size:18px;display:inline-block;}
.gnav > ul > li .jap {font-size:11px;display:block;}

.gnav.gnav_on > ul.flex {color:#888;}
.gnav.gnav_on > ul > li > a {color:#888;}
.gnav > ul > li:hover > a {color:#fff!important;}
.gnav > ul > li:hover > .a {color:#fff!important;}

/*開閉部*/
.g_sub {position: absolute;background:#000;box-sizing: border-box;overflow: hidden;top: 120px;left:0;width:100%;height: 0;opacity: 0;transition: 0.3s;padding: 0 58px;}
.gnav > ul > li:hover .g_sub {overflow:visible;height:auto;position: absolute;opacity: 1;padding: 18px 58px 58px;}

.g_sub_in {justify-content:center;max-width: 1100px;margin: 0 auto;}
.g_sub_in > li {margin:40px 20px 0;}
.g_sub_in > li a {font-weight:500;color:#fff;text-decoration:none;display:inline-block;padding-left:32px;background:url("../img/common/g_sub_in.svg") no-repeat center left;}
.g_sub_in > li a:hover {background:url("../img/common/g_sub_in_h.svg") no-repeat center left;}

.overlay {background:rgba(28,28,28,0.8);position: fixed;width: 100vw;overflow: hidden;top: 160px;left:0;height:0;opacity: 0;transition: 0.3s;}
.gnav > ul > li:hover .overlay {overflow:visible;opacity: 1;transition: 0.3s;height: calc(100vh - 116px);}
/*overlayをhoverした際にナビを閉じる*/
.overlay.ov_on {overflow: hidden!important ;height:0!important;opacity: 0!important;}

/*開閉部の間を埋める*/
.g_sub li:first-child::before {content: "";position: absolute;width: 100%;height: 50px;left: 0;top: -50px;}

.h_contact {width:60px;height:60px;display:table;}
.h_contact a {display:table-cell;vertical-align:middle;text-align:center;border:1px solid #fff;border-radius:100%;}
.h_contact a:hover {background:#fff;}
.h_contact a:hover #mail01 {fill: #000;}


/* main */
/*-------------------------------------------*/
#main {}
#main.home_main {padding:235px 0 330px;background:url("../img/main/bg.png") no-repeat center bottom,#1C1C1C;background-size:797px;position:relative;box-sizing:border-box;}

@keyframes up_img {
	0% {
		background-size:797px;
	}
	100% {
		background-size:1600px;
	}
}


#main.home_main .home_main_text {justify-content:space-between;align-items:flex-end;}
#main.home_main .home_main_text h2 {font-size:80px;line-height:120px;font-weight: 300;}
#main.home_main .home_main_text h2 span {font-weight: 400;}
#main.home_main .home_main_text h3 {}

#main.home_main .scroll {position: absolute;top:190px;right:25px;width:16px;}
#main.home_main .scroll::before {content: "";height: 240px;width: 1px;background:#3D3D3D;position: absolute;top:100px;right:7px;}
#main.home_main .scroll::after {content: "";height: 6px;width: 6px;background: #fff; position: absolute;border-radius:100%;top: 100px;right:5px;animation: pathmove 2s ease-in-out infinite;}

@keyframes pathmove{
	0%{
		top:100px;
	}

	100%{
		height:0;
		top:340px;
	}
}

/* 下層 main */
/*-------------------------------------------*/
#main.kasou {height:440px;padding-top:160px;box-sizing:border-box;background:url("../img/main/kasou.png") no-repeat center;background-size:1920px;}
#main.kasou .cnt {justify-content:space-between;align-items:center;color:#fff;}
#main.kasou .cnt .left {}
#main.kasou .cnt .left .eng {font-family: 'Roboto';font-size:70px;margin-bottom:24px;}
#main.kasou .cnt .left .jap {font-size:20px;}
#main.kasou .cnt .right {width: auto;}
#main.kasou .cnt .right {padding-right:25px;}
#main.kasou .cnt .right .p01 {font-size:22px;font-weight:bold;}
#main.kasou .cnt .right .p01 span {font-size:20px;padding:1px 14px 4px;border-radius:25px;background:#00A0E9;margin:0 5px 12px 0;display:inline-block;}

/*パンくず*/
div#bread {height:0;position:relative;top:16px;z-index:3;}
ul.bread-list {}
ul.bread-list li {font-size:12px;color:#fff;}
ul.bread-list li a {color:#fff;text-decoration:underline;}
ul.bread-list li:after{content:"-";margin: 0 8px;color:#fff;}
ul.bread-list li:last-child:after{content:none;}

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

/* footer */
/*-------------------------------------------*/
#footer {background:url("../img/common/f_bg.png") no-repeat center bottom,#1C1C1C;background-size:1920px;}

.footer_area {padding:75px 0 45px;position:relative;}
.footer_area::before {content:"";background:#1C1C1C;width:640px;height:40px;position:absolute;right:0;top:-40px;}
.home .footer_area::before {content:"";background:#1C1C1C;width:340px;height:60px;position:absolute;right:0;top:-60px;}

.footer_area .cnt {align-items:center;justify-content:space-between;}
.footer_area .cnt .info {}
.footer_area .cnt .info .title01 {margin-bottom:60px;}
.footer_area .cnt .info .ul01 {width:auto;margin-bottom:30px;}
.footer_area .cnt .info .ul01 li {padding:3px 14px;font-size:12px;font-weight:500;color:#fff;background:#00A0E9;border-radius:25px;margin-right:10px;}
.footer_area .cnt .info .ul01 li:last-child {margin-right:0;}
.footer_area .cnt .info .text {}
.footer_area .cnt .img {width:502px;}

.footer_contact {padding:45px 0 60px;}
.footer_contact .wrap_in {width:calc(100% + 60px);position:relative;left:-30px;}
.footer_contact .title01 {margin-bottom:60px;}
.footer_contact .text {margin-bottom:80px;line-height: 32px;}
.footer_contact .text p {display:inline;}
.footer_contact .text p.db {display:block;}

.footer_contact .cnt {justify-content:space-between;align-items:center;}
.footer_contact .cnt .contact_btn {width:600px;height:120px;display:table;}
.footer_contact .cnt .contact_btn a {display:table-cell;vertical-align:middle;text-align:center;border:1px solid #fff;border-radius:60px;font-size:14px;font-weight:bold;color:#fff;text-decoration:none;}
.footer_contact .cnt .contact_btn a .roboto {display:block;font-weight:400;font-size:30px;margin-bottom:6px;}
.footer_contact .cnt .contact_btn a:hover {background:#fff;color:#000;}
.footer_contact .cnt .num_box {color:#fff;}
.footer_contact .cnt .num_box .num_box_in {width:auto;margin-bottom:2px;align-items:baseline;}
.footer_contact .cnt .num_box .num {font-size:20px;}
.footer_contact .cnt .num_box .num span {font-size:30px;}
.footer_contact .cnt .num_box .num.tel span {font-size:40px;}
.footer_contact .cnt .num_box .num a {color:#fff;}
.footer_contact .cnt .num_box .num_box_in .time {font-size:13px;margin-left:20px;}
.footer_contact .cnt .num_box .num_box_in .time span {font-size:14px;margin-left:8px;}

.footer {padding:60px 0 65px;}
.footer .wrap_in {width:calc(100% + 100px);position:relative;left:-50px;}
.footer .cnt {justify-content:space-between;}
.footer .cnt .left {}
.footer .cnt .left .logo_box {width:auto;align-items:center;margin-bottom:65px;}
.footer .cnt .left .logo_box .logo {margin-right:40px;}
.footer .cnt .left .logo_box .p01 {font-size:12px;line-height:17px;font-weight:500;}
.footer .cnt .left .address_list {}
.footer .cnt .left .address_list li {margin-bottom:36px;font-size:14px;}
.footer .cnt .left .address_list li:last-child {margin-bottom:0;}
.footer .cnt .left .address_list li .name {font-weight:bold;margin-bottom:10px;}
.footer .cnt .left .address_list li .address {margin-bottom:4px;}
.footer .cnt .left .address_list li .map_a {}
.footer .cnt .left .address_list li .map_a a {text-decoration:none;color:#fff;background:url("../img/common/pin.svg") no-repeat left bottom 1px;padding-left:18px;display:inline-block;}
.footer .cnt .left .address_list li .map_a a:hover {opacity:0.7;}

.footer .cnt .right {color:#fff;}
.footer .cnt .right .f_nav {display:flex;flex-wrap:wrap;justify-content:flex-end;}
.footer .cnt .right .f_nav .f_nav_in {margin-right:45px;}
.footer .cnt .right .f_nav .f_nav_in:last-child {margin-right:0;}
.footer .cnt .right .f_nav .f_nav_in li {margin-bottom:30px;font-size:14px;}
.footer .cnt .right .f_nav .f_nav_in li:last-child {margin-bottom:0;}
.footer .cnt .right .f_nav .f_nav_in li a {color:#fff;text-decoration:none;}
.footer .cnt .right .f_nav .f_nav_in li a:hover {opacity:0.7;}
.footer .cnt .right .f_nav .f_nav_in li.f_nav_mini {margin-top:20px;padding-left:10px;}
.footer .cnt .right .f_nav .f_nav_in li.f_nav_mini li {margin-bottom:12px;}
.footer .cnt .right .f_nav .f_nav_in li.f_nav_mini li:last-child {margin-bottom:0;}
.footer .cnt .right .f_nav .f_nav_in li.f_nav_mini li a {color:#888;}
.footer .cnt .right .right_in {margin-top:75px;align-items:center;justify-content:flex-end;font-size:12px;}
.footer .cnt .right .right_in .insta {width:40px;height:40px;display:table;position:relative;margin-right:30px;}
.footer .cnt .right .right_in .insta a {display:table-cell;vertical-align:middle;text-align:center;border:1px solid #2A2A2A;background:#2A2A2A;border-radius:100%;}
.footer .cnt .right .right_in .insta a img {display:block;margin: 0 auto;}
.footer .cnt .right .right_in .insta a:hover {background:#fff;}
.footer .cnt .right .right_in .insta::before {content:'';background:url("../img/common/insta_text.png") no-repeat;width:134px;height:41.5px;background-size: contain;position: absolute;top:0;bottom: 0;left:-143px;margin:auto;}

.footer .cnt .right .right_in .policy {width:auto;margin-right:30px;}
.footer .cnt .right .right_in .policy li {}
.footer .cnt .right .right_in .policy li:first-child::after {content:"｜";margin: 0 10px;}
.footer .cnt .right .right_in .policy li a {color:#fff;text-decoration:none;}
.footer .cnt .right .right_in .policy li a:hover {opacity:0.7;}
.footer .cnt .right .right_in .copyright {margin-right:30px;}
.footer .cnt .right .right_in .firm_logo {width:38px;}




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

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;}
