@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700&family=Rozha+One&display=swap');


.sp{display: none;}
.pc{display: block;}

.cover{
 position: absolute;
 display: block;
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
 z-index: 2;
}

.robo {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
}
.flex{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}

.section.page-header{
	padding: 105px 0 0 0;
}
section.banner{
	margin: 105px 0 0 0;
}

.breadSection + section.banner {
    margin-top: 0 !important;
}



/*ヘッダー*/

header{
 font-family: "Noto Sans Japanese";
 padding: 25px 50px;
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 z-index: 9999;
 min-height: 106px;
 display: flex;
 align-items: center;
 background-color: #000;
}
header.logo_only {
    position: absolute;
}
header.entry-header{
 background-color: #fff;
 padding: 0;
}
.fat-nav{
 display: none;
}
.logo {
 width: 405px;
}
.logo img{
 height: 32px;
 width: auto;
}
.header--insert{
 width: 100%;
 margin: 0 auto;
 display: flex;
 justify-content:space-between;
 align-items: center;
}
nav ul {
 display: flex;
 justify-content: space-between;
 margin: 0;
 padding: 0;
}
nav ul li{
 margin: 0!important;
 padding: 0!important;
 list-style-type: none;
}
nav ul li span{
 color: #fff;
 font-size: 16px;
 font-weight: 700;
 display: block;
 padding: 20px 15px;
 line-height: 1;
}

.rGroup{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:0 10px;
}
.bt-contact{
	width: 230px;
}
.bt-contact a{
	display: flex;
	 align-items: center;
	 justify-content: center;
}
.bt-contact span{
	display: block;
	width: 100%;
	height: 32px;
	background-color: #fff;
	 border-radius: 100px;
	 color: #000;
	 text-align: center;
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 gap:0 7px;
	 transition: all .3s ease-in-out;
}
.bt-contact img{
	height: 20px;
	width: auto;
}
.bt-contact span:hover{
	opacity: 0.8;
}
.lang{
 width: 210px;
 height: 32px;
 border: 1px solid #fff;
 border-radius: 100px;
 display: flex;
 align-items: center;
 justify-content: center;
 
 font-family: "Noto Sans Japanese";
font-size: 18px;
font-weight: 200;
}
.lang .select{
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 0 0;
 line-height: 1;
}
.lang .select .ctry {
 line-height: 1;
}
.lang .select .icon {
 line-height: 1;
 margin: 0 5px 0 0;
}
.lang .select .icon img{
 height: 20px;
 width: 20px;
}
.lang .select .active a{
 text-decoration: underline;
}
.lang .select .ctry + .ctry::before {
    content: '|';
    margin: 0 6px;
    color: #fff;
}

.lang aside{
 display: flex;
 text-transform:capitalize;
}
.lang aside > input.weglot_choice{
 display: none;
}
.lang aside ul{
 display: flex;
}
.lang aside ul::before {
    content: '|';
    margin: 0 3px;
    line-height: 180%;
    font-size:18px!important;
}
.lang aside label span{text-decoration: underline;}

.mega{
 position: relative;
}
.menu-group{
 display: flex;
 align-items: center;
 justify-content: space-between;
 position: relative;
}
.menu-group .menulist{
 display: flex;
 justify-content: space-between;
}
.menu-group .menulist .menu{
 margin: 0 0 0 30px;
}
.menu-group .menulist .menu:first-child{
 margin: 0;
}
.menu-group > .menulist > .menu > a >span{
 font-weight: 600;
 font-size: 16px;
 display: block;
 padding: 41px 0;
}

.menu-dir{
 position: absolute;
 width: 550px;
 background-color: rgba(0,0,0,0.85);
 left: 15px;
 top: 40px;
 opacity: 0;
 z-index: 0;
 transition: all .2s ease-in-out;
 pointer-events: none;
}
.mega:hover .menu-dir{
 top: 50px;
 opacity: 1;
 transition: all .2s ease-in-out;
 pointer-events: all;
}
.menu-dir .menu-dir-insert{
 margin: 0 auto;
 padding:0px 0 0px 0;
 padding: 20px;
 text-align: left;
}

.mega-link > span{
 display: block;
 position: relative;
}
.mega-link > span > a{
 display: none;
}
.mega-link:hover > span > a{
 display: block;
 position: absolute;
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 z-index: 1;
}
.mega-link > a{pointer-events: none;}
.mega-link:hover > a{pointer-events: auto;}


.menu-dir-insert .md{
 border-bottom: 1px solid #fff;
 
 width: 100%;
 font-weight: 600;
 font-size: 18px;
 margin: 0 0 15px 0;
 padding: 0 0 5px 0!important;
}
.menu-dir-insert .md img{
 width: 20px;
 height: 20px;
}
.menu-dir-insert .md a{
 display: flex;
 align-items: center;
 justify-content: flex-start;
 gap:0 7px;
 font-weight: normal!important;
 color: #fff!important;
}
.menu-dir-insert .menu-group.col2{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 align-items: flex-start;
}
.menu-dir-insert .menu-group.col2 .blk{
 width: 50%;
}
.menu-dir-insert .menu-group.col2 .blk p{
 font-weight: 600;
 line-height: 1;
 font-size: 16px;
 color: #00a8e7;
 margin: 0 0 7px 0;
}
.menu-dir-insert .menu-group .btn{
 padding: 0!important;
 text-align: left!important;
 font-weight: normal!important;
 display: block!important;
 color: #fff!important;
 border: none!important;
 font-size: 15px!important;
 border-radius: 0!important;
 line-height: 1.5!important;

}
.menu-dir-insert .menu-group .btn span{
 padding: 5px 20px;
 font-size: 15px;
 position: relative;
 font-weight: normal;
 line-height: 1.25;
} 
.menu-dir-insert .menu-group .btn span::before{
 content: '';
 display: inline-block;
 position: absolute;
 left: 0;
 top: 12px;
 width: 12px;
 height: 1px;
 background-color: #fff;
}
.menu-dir-insert .menu-group .newtab span::after {
	content: '';
	height: 12px;
	width: 12px;
	background: url("../icon/newtab.svg") no-repeat center center;
	background-size: contain;
	display: inline-block;
	margin-left: 5px;
}

.country-selector.weglot-dropdown {
    background: none!important;
    color: #fff;
}
.country-selector.weglot-dropdown .wgcurrent a,
.country-selector.weglot-dropdown .wgcurrent span {
    padding-right: 0px;
}
.country-selector.weglot-dropdown .wgcurrent {
    border: none;
}
.country-selector.weglot-dropdown a,
.country-selector.weglot-dropdown span {
    display:inline-block;
    height: auto;
    line-height: 180%;
    font-size:18px;
    padding: 0 0px;
    width: auto;
    min-width: 54px;
    font-weight: 200;
    color: #fff;
}
.country-selector.weglot-dropdown .wgcurrent:after{
 display: none;
}
.country-selector.weglot-dropdown ul {
    position: relative;
    min-width: 100%;
    border: none;
    background: none;
    left: auto;
    top: auto;
    display:flex;
    padding: 0;
}
.weglot-flags.flag-2.ja>a:before,
.weglot-flags.flag-2.ja>span:before{
 display: none;
}
.weglot-flags.flag-2.en>a:before,
.weglot-flags.flag-2.en>span:before{
 display: none;
}



/* フッター */


footer{
 font-family: "Noto Sans Japanese";
 font-weight: 200;
 background-color: #000;
 padding: 100px;
 position: relative;
 z-index: 2;
 color: #fff;
}

.footer--insert{
 display: flex;
 justify-content: space-between;
 width: 1200px;
 margin: 0 auto;
}
.footer--insert .info{
 width: 400px;
}
.logo-btm img{
 height: 40px;
 width: auto;
}
.footer--insert p.addr{
 font-size: 14px;
 line-height: 150%;
 margin: 10px 0 40px 0;
}
.footer--insert .sitemap{
 width: calc(100% - 500px);
}
.social {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin: 0 0 50px 0;
}
.social .sns{
 position: relative;
}
.social .sns .icon{
}
.social .sns .icon img{
 height: 75px;
 width: auto;
}
.social .sns p{
 width: calc(100% - 85px);
 font-size: 13px;
 line-height: 150%;
 letter-spacing: 0;
}
.sitemap--insert {
 gap:30px 0;
}
.sitemap--insert .list {
    width: auto;
    margin: 0px;
    display: block;
    padding: 0px;
    list-style-type: none;
    list-style-position: outside;
	width:25%;
}
.sitemap--insert .list:nth-child(2) {
	width:fit-content;
}
.sitemap--insert .list .robo{
 font-size: 14px;
 display: flex;
 align-items: center;
 line-height: 1;
 margin: 0 0 7px 0;
}
.sitemap--insert .list .robo::after{
 content: '';
 display: inline-block;
 width: 20px;
 height: 20px;
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.1643 12.0001L12.9572 5.79297L11.543 7.20718L16.3359 12.0001L11.543 16.793L12.9572 18.2072L19.1643 12.0001ZM13.5144 12.0001L7.30728 5.79297L5.89307 7.20718L10.686 12.0001L5.89307 16.793L7.30728 18.2072L13.5144 12.0001Z' fill='rgba(255,255,255,1)'%3E%3C/path%3E%3C/svg%3E");
}
.sitemap--insert .list .robo a{
 font-weight: 700;
 color: #fff;
}
.sitemap--insert .list ul{
 padding: 0!important;
 margin: 0!important;
}
.sitemap--insert .list ul li{
 line-height: 150%;
 list-style-type: none;
 margin: 2px 0;
}
.sitemap--insert .list ul li span{
 font-size: 14px;
 color: #fff;
}
.sitemap--insert .list ul li.newtab span::after {
	content: '';
	height: 12px;
	width: 12px;
	background: url("../icon/newtab.svg") no-repeat center center;
	background-size: contain;
	display: inline-block;
	margin-left: 5px;
}
footer .sb{
 display: flex;
 justify-content: space-between;
 font-size: 12px;
 margin: 80px 0 0 0;
}
footer .sb span a{color: #fff;}
.copyright {
    font-size:100%;
}
header img,
footer img {
    max-width: none!important;
}


@media screen and (max-width: 800px) {

.sp{display: block!important;}
.pc{display: none!important;}


.section.page-header {
    padding: 60px 0 0 0;
}

/*header*/
.lang {
 margin: 0 50px 0 0;
 width: auto;
}
.lang .select {
   /* padding: 3px 10px;*/
}
.lang .select .ctry{
 font-size: 1.3rem;
}
.lang .select .icon img {
    height: 16px;
    width: 16px;
}
.lang aside ul::before {
    margin: 0 2px 0 0;
}
header {
    padding: 20px 20px;
    font-size: 16px;
    min-height: 62px;
}
header nav{
 display: none;
}
.header--insert {
    min-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.logo {
    width: auto;
    text-align: center;
 line-height: 1;
}
.logo img{
 width: auto;
 height: 22px;
}
.rGroup{
	display: none;
}
#menuRight{
 display: block;
	position: fixed;
	top:12px;
	right: 5px;
	width: 50px;
	height: 50px;
	z-index: 1000;
}
.fat-nav.active .header--insert {
	justify-content: flex-start;
}
body.no-scroll .rGroup{
	display: flex;
	position: fixed;
	flex-direction:column;
	gap:10px;
	bottom: 0px;
	left: 0;
	z-index: 9999;
	background-color: #000;
	width: 100%;
	padding: 20px 20px 40px;
}
body.no-scroll .rGroup .bt-contact {
    width: 100%;
}
body.no-scroll .rGroup .lang {
    width: 100%;
    margin: 0;
}
body.no-scroll #page_top{
	display: none;
}

/*.hamburger{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	width: 100%;
	z-index:1;
	text-align: center;
	vertical-align: middle;
}*/
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 25px;
	height: 20px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #fff;
	border-radius: 0px;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 6px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 6px;
}
.menu-trigger span:nth-of-type(4) {
	bottom: 0;
}

.hamburger.active .menu-trigger {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}
.hamburger.active .menu-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(6px) rotate(-45deg);
	transform: translateY(6px) rotate(-45deg);
}
.hamburger.active .menu-trigger span:nth-of-type(2) {
	-webkit-transform: translateY(0) rotate(45deg);
	transform: translateY(0) rotate(45deg);
}
.hamburger.active .menu-trigger span:nth-of-type(3) {
	opacity: 0;
}
.hamburger.active .menu-trigger span:nth-of-type(4) {
	opacity: 0;
}
.globalmenu dl{
 margin: 0;
 padding: 0;
}
.globalmenu dt {
  padding: 0;
  margin: 0;
  cursor: pointer;
  position: relative;
  border: none!important;
}
.globalmenu dt:before {
display: block;
content: "";
position: absolute;
background-image: url(../img/down.png);
background-size: cover;
top: 10px;
right: 0;
width: 22px;
height: 22px;
z-index: 2;
}
.globalmenu dt.active:before{
 background-image: url(../img/up.png);
}
.globalmenu dd {
  padding: 0 0 15px 0;
  display: none;
  border: none;
}
.globalmenu dd a{color: #fff;}
.globalmenu dd .md{
 font-size: 17px;
}
.globalmenu dd .md a{
 font-weight: 200;
}
.globalmenu ul li{
 border-bottom: 1px solid #fff;
 margin: 0;
 padding: 0;
}
.globalmenu ul li:last-child{
 border: none;
}
.globalmenu ul li span{
 display: block;
 font-size: 18px;
 line-height: 180%;
 padding: 8px 0;
 color: #fff;
}
.globalmenu .blk .md{
 margin: 0 0 10px 0;
 font-weight: 600;
}
.globalmenu .blk:last-child{
 margin: 15px 0 0 0;
}
.globalmenu .blk p{
 font-weight: 600;
 font-size: 15px;
 color: #00a8e7;
 margin: 3px 0 5px 0;
}
.globalmenu .blk .btn{
 display: block;
 font-weight: 200;
 color: #fff;
 text-align: left;
 background: none;
 border: none;
 padding: 0;
 font-size: 14px;
 line-height: 180%;
 border-radius: 0;
 margin: 2px 0;
}
.globalmenu .blk .btn span{
 font-size: 14px;
 padding: 0 0 0 20px;
 position: relative;
}
.globalmenu .blk .btn span::before{
 content: '';
 position: absolute;
 display: inline-block;
 width: 12px;
 height: 1px;
 background-color: #fff;
 left: 0;
 top: 14px;
}
.globalmenu .blk .newtab span::after {
    content: '';
    height: 12px;
    width: 12px;
    background: url("../icon/newtab.svg") no-repeat center center;
    background-size: contain;
    display: inline-block;
    margin-left: 5px;
}

.country-selector.weglot-dropdown a,
.country-selector.weglot-dropdown span {
    font-size: 16px;
}
.lang {
    position:relative;
    right: auto;
    top: auto;
    width: initial;
    width: auto;
    display: inline-block;
    top: auto;
    -webkit-transform:inherit;
    transform: inherit;
}

/*footer*/

footer {
    padding: 50px 20px;
    font-size: 16px;
}
.logo-btm{
 text-align: center;
}
.logo-btm img{
 height: 30px;
 width: auto;
}

.footer--insert {
    display: block;
    width: auto;
}
.footer--insert p.addr {
    font-size: 11px;
    text-align: center;
    line-height: 150%;
    margin: 14px 0 30px 0;
}
.footer--insert .info {
    width: auto;
}
.social {
    flex-wrap: wrap;
    margin: 0 auto 45px;
    width: 250px;
    gap:35px 0;
}
.social .sns{
 width: 30%;
 text-align: center;

}
/*.social .sns .icon{
 width: 45px;
}*/
.social .sns .icon img {
 width: auto;
    height: 55px;
}
.social .sns p {
    width: calc(100% - 55px);
    font-size: 12px;
}
.footer--insert .sitemap {
    width: auto;
    margin: 50px 0 0 0;
}
.sitemap--insert .list ul li span {
    font-size: 14px;
}
.sitemap--insert .list .robo {
    font-size: 14px;
    margin: 0 0 7px 0;
}
footer .sb {
    display: block;
    font-size: 13px;
    margin: 40px 0 0 0;
}
footer .sb span{
 display: block;
 line-height: 1;
 margin: 10px 0;
}
.copyright{
 margin: 20px 0 0 0;
 font-size: 11px;
}

.sitemap--insert .list{
 width: 25%!important;
}
.sitemap--insert .list-about{
 width: 50%!important;
}
.sitemap--insert .list-business{
 width: 50%!important;
}
.sitemap--insert .list-research{
 width: 50%!important;
}
.sitemap--insert::after{
 content: '';
 display: block;
 width: 25%!important;
}
.sitemap--insert .list .robo {
    font-size: 12px;
    margin: 0 0 5px 0;
}
.sitemap--insert .list ul li span {
    font-size: 10px;
}
.sitemap--insert .list ul li {
    margin: 0;
}

/*body.scrolled .menu-trigger span {
    background-color: #000;
}*/

section.banner{
	margin: 62px 0 0 0!important;
}


/*---------------------------------------------------------------------------------------------------------------------------------------- 800px */
}

.sitemap--insert .list-research .longtext{ line-height: 1; margin-bottom: 3px;}

.col3-contents { display: flex; flex-direction: column; gap: 60px; margin-top: 40px; }
.col3-contents .col3-contents-detail { display: flex; gap: 15px; }
.col3-contents .heading { font-size: 32px; font-weight: 700; text-align: center; }
.col3-contents .box { flex: 3; display: flex; flex-direction: column; }
.col3-contents .box.center { flex: 2; align-items: center; justify-content: center; }
.col3-contents .box.img-center { justify-content: flex-start; margin-top: clamp(80px,13vw,200px); }
.col3-contents .box .img { margin: 20px 0 10px; }
.col3-contents .txt { font-size: 16px; font-weight: bold; padding: 30px 40px 30px 20px; background-color: #00a8e7; color: #fff; clip-path: polygon(0 20px, calc(100% - 50px) 20px, calc(100% - 50px) 0,100% 50%, calc(100% - 50px) 100%, calc(100% - 50px) calc(100% - 15px),0 calc(100% - 15px)); line-height: 1;}
.col3-contents .icon { width: 60%; margin-top: 20px; max-width: 100px;} 
.col3-contents .caption-heading { font-size: 24px; font-weight: 700; position: relative; width: 100%; text-align: center; }
.col3-contents .caption-heading .ask { position: absolute; bottom: -20px; left: 50%; transform: translateX(-50%); font-size: 14px; width: 100%; text-align: center; }

.col3-contents ul { list-style: none; padding-left: 0; margin: 10px 0 0; }
.col3-contents li { position: relative; text-align: left; font-size: 16px; margin: 0; }
.col3-contents ul li { padding-left: 20px;}
.col3-contents ul li::before { content: ''; position: absolute; left: 5px; top: 10px; width: 6px; height: 6px; background-color: #000; border-radius: 50%; }
.col3-contents .border-list { list-style: none; padding-left: 0; margin: 40px 0 0; padding: 20px; border-radius: 10px; flex: 1; border: 2px solid #000; }
.col3-contents .maintenance-list { counter-reset: degree; }
.col3-contents .maintenance-list li { counter-increment: degree; position: relative; }
.col3-contents .maintenance-list li::before { content: counter(degree, upper-roman) "："; }

@media only screen and (max-width: 576px) {
  .col3-contents { gap: 40px; margin-top: 30px;}
  .col3-contents .heading { font-size: 1.2rem; }
  .col3-contents .col3-contents-detail { flex-direction: column; gap: 20px;}
  .col3-contents .box { align-items: center; }
  .col3-contents .box img { max-width: 80%;}
  .col3-contents .box .img { margin: 10px 0 5px;}
  .col3-contents .box.center { flex-direction: column-reverse; }
  .col3-contents .icon { margin: 0 0 10px; }
  .col3-contents .box.img-center { justify-content: center; margin-top: 0; }
  .col3-contents .txt { padding: 15px 30px 30px 30px; clip-path: polygon(20px 0, calc(100% - 20px) 0, calc(100% - 20px) calc(100% - 25px), 100% calc(100% - 25px), 50% 100%, 0 calc(100% - 25px), 20px calc(100% - 25px)); }
  .col3-contents .icon { max-width: 25%; }
  .col3-contents .caption-heading { font-size: 18px; margin-bottom: 5px;}
  .col3-contents .caption-heading:has(.ask) { margin-bottom: 25px; }
  .col3-contents .caption-heading .ask { font-size: 12px; }
  .col3-contents li { font-size: 14px; }
  .col3-contents .border-list { margin: 0; padding: 15px; width: 100%;}
}