@charset "UTF-8";
/*
Theme Name:2026
Author: 2026
Description: portfolioサイトのためのテーマ
Version:1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/license/gpl-2.0.html
*/
hr{
	margin:0;
}
body{
	margin:0;
	padding:0;
	font-feature-settings: "palt" 1, "trad" 1;
	-webkit-font-smoothing: antialiased;
}
a{
	 text-decoration: none;
	 font-family:'Noto Sans JP', sans-serif;
}
h1,h2,h3,h4,h5,h6,p,span{
	font-family:'Noto Sans JP', sans-serif;
	margin:0;
}
img{
	vertical-align: top;
	width:100%;
}
.grecaptcha-badge{
	display:none !important;
}
@media all and (min-width: 1000px) {
html{
	/* scroll-behavior: smooth; */
	scroll-padding-top: 150px;
}
.sp{
	display:none;
}	
/*headerはここから*/
header{
	width:100%;
	height: 75px;
	transition: .3s;
	position:relative;
	position: absolute;
	top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	/* overflow: hidden; */
	z-index: 9999;
}
.is-animation {
   position:fixed;
   transition: .5s;
   z-index: 9999;
}
.logo{
  	overflow: hidden;
 	width:95px;
  	display: inline-block;
	float:left;
	transition: .3s;
  	position:absolute;
	top: 50%;
	left:4%;
	transform: translateY(-50%);
}
.header-menu-flex{
	position:absolute;
	top: 50%;
	right:3%;
	transform: translateY(-50%);
	display:flex;
	align-items: center;
	z-index:200;
}
.document-pc{
	display:flex;
	margin:0 3px 0 30px;
	gap:3px;
}
.document-pc a{
	display:flex;
	justify-content: center;
	align-items: center;
	font-size:13px;
	font-weight:500;
	color:white;
	background-color: #282828;
	padding:0 15px;
	height:34px;
}
.hum-menu .menu{
	display:flex;
	align-items: center;
	gap:15px;
}
.menu li {
	 list-style: none;
}
.menu li a{
	font-size:14px;
	font-weight:500;
	color:black;
}
/*共通はここから*/
.main-txt{
	font-size:15px;
	line-height: 1.75;
}
.common-width{
	max-width:1250px;
	width:90%;
	margin:0 auto;
}
.common-link-arrow{
	font-size:16px;
	font-weight:600;
	color:black;
	padding:0 0 5px 0;
	border-bottom:2px solid black;
	display: inline-flex;
	align-items: center;
	gap:10px;
}
.common-link-arrow-img{
	width:15px;
}
.common-link-arrow-img img{
	vertical-align: middle;
}
.common-scroll-link{
	display:flex;
	justify-content: space-between;
	gap:20px;
}
.common-scroll-link-s{
	background-color:#F5F5F5;
	padding:9px 0 9px 9px;
	width:50%;
	display:flex;
	align-items: center;
}
.common-scroll-link-s >p{
	background-color: #282828;
	color:white;
	display:flex;
	align-items: center;
	justify-content: center;
	padding:10px 0;
	width:140px;
	height:calc(100% - 18px);
	font-size:16px;
	letter-spacing: -0.02em;
	line-height: 1.3;
}
.marquee-wrap {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.marquee-track {
  display: inline-flex;
  animation: marquee 20s linear infinite;
}
.marquee-track span {
  font-size: 43px;
  font-weight:300;
  color: #909090;
  letter-spacing: -0.02em;
}
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.common-scroll-link>a{
	color:black;
	font-size:clamp(16px, 4.31vw, 62px);
	white-space: nowrap;
	letter-spacing: -0.02em;
	font-weight: 400;
	display:flex;
	gap:15px;
	align-items:end;
}
.common-scroll-link .csl-txt{
	border-bottom:3px solid black;
	padding:0 0 5px 0;
}
.common-scroll-link .csl-img{
	width:75px;
}
.common-scroll-link .csl-img img{
	vertical-align: bottom;
}
.common-layer-padding{
	padding-top:80px;
}
.common-layer-title{
	font-size:42px;
	font-weight:400;
	margin-bottom:42px;
}
.breadcrumbs{
	/* position: absolute;
	left:4%;
	top:100px; */
	padding:100px 3% 0 4%;
	color:#A8A8A8;
	letter-spacing: -0.01em;
	font-size:13px;
}
.breadcrumbs span{
	color:#A8A8A8;
	font-size:13px;
}
/*フロントページはここから*/
.top{
	max-width:1350px;
	width:92%;
	margin:0 auto;
	padding-top:200px;
	display:flex;
	justify-content: space-between;
	gap:50px;
}
.top h1{
	font-size: clamp(16px, 6.6vw, 95px);
	font-weight:400;
	margin-top: -25px;
	line-height: 1.35;
	white-space: nowrap;
}
.top .top-content{
	width:480px;
	display:flex;
	flex-direction: column;
	gap:40px;
}
.top-p{
	font-size:15px;
	font-weight:500;
	letter-spacing: -0.03em;
	line-height:2;
	text-align: justify;
}
.top-link{
	margin-top: auto;
	position: relative;
	top:-27px;
	display:flex;
	gap:35px;
}
.project-group{
	max-width:1350px;
	width:92%;
	margin:100px auto 0;
}
.project-group-content{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap:10px;
    grid-row-gap: 60px;
}
.project-group-thumbnail{
	color:black;
}
.project-group-thumbnail img{
	height:auto;
}
.project-group-thumbnail h3{
	font-size:19px;
	font-weight:400;
	margin-top:18px;
	letter-spacing: -0.02em;
}
.project-group-thumbnail p{
	font-size:13px;
	font-weight:500;
	letter-spacing: -0.02em;
	margin:8px 0 12px;
}
.project-group-thumbnail > div{
	display:flex;
	gap:6px;
}
.project-group-thumbnail > div span{
	font-size:13px;
	font-weight:500;
	letter-spacing: -0.02em;
	background-color: #39FF14;
	padding: 8px 14px;
}
.project-group .common-scroll-link{
	margin-top:130px;
}
.top-company{
	max-width:1350px;
	width:92%;
	margin:130px auto 0;
}
.top-company-content{
	display:flex;
	gap:85px;
	margin-top:85px;
}
.top-company-content h2{
	font-size:clamp(16px, 5.21vw, 75px);
	white-space: nowrap;
	font-weight:400;
	letter-spacing: -0.02em;
	line-height: 1.4;
}
.top-company-content>div{
	width:480px;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	gap:40px;
}
.top-company-content>div p{
	margin-top:20px;
}
.top-company-content>div .common-link-arrow{
	position: relative;
	bottom:15px;
}
.top-topic-group{
	max-width:1350px;
	width:92%;
	margin:130px auto 0;
	padding:23px 0 0 0;
	border-top:1px solid #888888;
}
.top-topic-group>h2{
	font-size:25px;
	font-weight:400;
	letter-spacing: -0.01em;
}
.topic-group-content{
	display:grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap:30px;
    grid-row-gap: 35px;
	margin-top:45px;
}
.topic-group-content a img{
	height:auto;
}
.top-topic-group .common-scroll-link{
	margin-top:85px;
}
.topic-group-content-info{
	display:flex;
	align-items: center;
	justify-content: space-between;
	gap:30px;
	margin-top:17px;
}
.topic-group-content-info time{
	font-size:13px;
	letter-spacing: -0.02em;
	color:#A4A4A4;
}
.topic-group-content-info>div{
	display:flex;
	gap:7px;
}
.topic-group-content-info>div span{
	font-size:13px;
	font-weight:500;
	letter-spacing: -0.02em;
	color:#A4A4A4;
	border:1px solid #A4A4A4;
	padding:3px 7px;
}
.topic-group-content a>h3{
	font-size:16px;
	line-height: 1.65;
	font-weight:400;
	letter-spacing: -0.02em;
	color:black;
	margin-top:13px;
}
.top-news{
	max-width:1350px;
	width:92%;
	margin:70px auto 0;
	padding:40px 0;
	background-color: #F5F5F5;
}
.top-news .common-width>h2{
	font-size:25px;
	font-weight:400;
	letter-spacing: -0.01em;
}
.top-news-group{
	display:flex;
	flex-direction: column;
	gap:25px;
	margin-top:25px;
}
.top-news-group a{
	display:flex;
	border-bottom:1px solid #DEDEDE;
	padding:0 0 15px 0;
}
.top-news-group a time{
	color:#94908E;
	font-size:16px;
	width:190px;
}
.top-news-group a p{
	color:#302D2C;
	font-size:16px;
}
.top-news-group-link{
	margin-top:25px;
	text-align: right;
}
/* サービス一覧 */
.service-group-content{
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap:70px;
    grid-row-gap: 100px;
}
.service-group-thumbnail{
	color:black;
}
.service-group-thumbnail img{
	height:auto;
}
.service-group-thumbnail h3{
	font-size:20px;
	font-weight:500;
	margin-top:18px;
	letter-spacing: -0.02em;
}
.service-group-thumbnail p{
	font-size:15px;
	font-weight:400;
	letter-spacing: -0.02em;
	line-height: 1.8;
	margin:12px 0 20px;
	text-align: justify;
}
/* 会社情報 */
.company-content{
	display:flex;
	justify-content: space-between;
}
.company-content-title{
	line-height: 1.2;
	position: relative;
	top:-15px;
	font-weight:400;
}
.company-content-title .sm{
	font-size:clamp(16px, 5.69vw, 82px);
	letter-spacing: -0.02em;
}
.company-content-title .bg{
	font-size:clamp(16px, 6.6vw, 95px);
	letter-spacing: -0.03em;
}
.company-content-txt{
	display:flex;
	flex-direction: column;
	gap:15px;;
}
.company-content p{
	width:425px;
}
.company-copy{
	margin-top:97px;
}
.company-copy-img{
	margin-bottom:49px;
	position: relative;
}
.cr-1{
	position: absolute;
	top:0;
	right:0;
	width:13%;
}
.cr-2{
	position: absolute;
	bottom:0;
	left:0;
	width:28%;
}
.company-copy .common-scroll-link-s > p{
	font-size:14px;
}
.company-copy .common-scroll-link>a{
	font-size:clamp(16px, 4.1vw, 59px);
	white-space: nowrap;
}
.company-copy .marquee-track span{
	font-size:39px;
}
.pf-info{
	margin-top:110px;
	background-color:#282828;
}
.pf-info-content{
	padding:65px 80px;
	display:flex;
	justify-content: space-between;
	gap:40px;
}
.pf-info-img{
	width:30%;
	max-width:270px;
}
.pf-info-txt{
	width:63%;
	max-width:720px;
	display:flex;
	flex-direction: column;
}
.pf-info-txt h3{
	font-size:22px;
	font-weight:500;
	color:white;
	padding:0 0 15px 0;
	border-bottom: 1px solid #545454;
}
.pf-info-txt>p{
	font-size:16px;
	color:white;
	line-height: 1.9;
	text-align: justify;
	margin-top:15px;
}
.pf-info-txt-bottom{
	display:flex;
	margin-top:auto;
	margin-left:auto;
	gap:33px;
}
.pf-info-txt-bottom-icon{
	display:flex;
	gap:16px;
}
.pf-info-txt-bottom-icon div{
	width:30px;
}
.pf-info-txt-bottom-name{
	display:flex;
	align-items: end;
	gap:10px;
}
.pf-info-txt-bottom-name p{
	font-size:13px;
	letter-spacing: -0.02em;
	color:white;
}
.pf-info-txt-bottom-name h4{
	font-size:19px;
	font-weight:500;
	letter-spacing: -0.02em;
	color:white;
}
.company-info{
	margin-top:110px;
	display:flex;
	justify-content: space-between;
	gap:40px;
}
.company-info h2{
	font-size:42px;
	font-weight:500;
}
.company-info dl{
	width:65%;
	display:flex;
	flex-direction: column;
	gap:23px;
}
.company-info dl div{
	display:flex;
	border-bottom:1px solid #D5D5D5;
	padding-bottom:10px;
}
.company-info dl dt,dd{
	font-size:17px;
	font-weight:500;
	font-family:'Noto Sans JP', sans-serif;
	margin:0;
}
.company-info dl dt{
	width:200px;
}
.company-info dl dd{
	width:calc(100% - 200px);
}
.company-info dl a{
	color:black;
}
.company-info dl iframe{
	width:100%;
	height:250px;
	margin-top:20px;
}
/* 特長 */
.feature-txt{
	display:flex;
	justify-content: space-between;
	gap:40px;
}
.feature-txt h2{
	font-size:clamp(16px, 5.69vw, 82px);
	font-weight:400;
	position: relative;
	top:-20px;
	line-height: 1.3;
}
.feature-txt>div{
	width:50%;
	display:flex;
	flex-direction: column;
	gap:20px;
}
.feature-top-img{
	display:grid;
	grid-template-columns: repeat(4, 1fr);
	gap:10px;
	margin-top:65px;
}
.feature-concept{
	margin-top:70px;
	background-color: #282828;
}
.feature-concept-content{
	display:flex;
	justify-content: space-between;
	align-items: center;
	padding:50px 55px 50px 85px;
	gap:40px;
}
.feature-concept-txt{
	width:405px;
}
.feature-concept-txt h3{
	font-size:35px;
	font-weight:400;
	color:white;
}
.feature-concept-txt p{
	font-size:15px;
	font-weight:500;
	color:white;
	line-height: 1.9;
	margin-top:30px;
	text-align: justify;
}
.feature-concept-img{
	width:55%;
}
.data-content{
	margin-top:95px;
}
.data-content h2{
	font-size:50px;
	font-weight:400;
}
.data-content-list{
	display:grid;
	grid-template-columns: repeat(4, 1fr);
	gap:40px;
	margin-top:40px;
}
.data-detail{
	border-bottom: 1px solid #D5D5D5;
	padding:0 0 30px 0;
}
.data-detail-no{
	font-family: "Roboto", sans-serif;
	font-size:120px;
	line-height: 1;
	position: relative;
}
.data-detail-no .plus{
	position: absolute;
	top:0;
	font-size:60px;
	font-family: "Roboto", sans-serif;
}
.data-detail-no .year{
	position: absolute;
	top:13px;
	font-size:30px;
	font-weight:500;
	margin:0 0 0 10px;
	/* font-family: "Roboto", sans-serif; */
}
.data-detail-no .per{
	position: absolute;
	top:10px;
	font-size:50px;
	font-weight:500;
	margin:0 0 0 5px;
	font-family: "Roboto", sans-serif;
}
.data-detail-no .kerning{
	letter-spacing: -0.08em;
	line-height: 1;
	font-family: "Roboto", sans-serif;
}
.data-detail-title{
	font-size:23px;
	font-weight:500;
	margin:10px 0 15px;
}
.data-detail-read{
	font-size:15px;
	text-align: justify;
	line-height: 1.7;
}
.feature-point{
	margin-top:110px;
	display:flex;
	justify-content: space-between;
	align-items: center;
	gap:30px;
}
.feature-point-img{
	width:470px;
}
.feature-point-txt{
	max-width:675px;
	width:60%;
}
.feature-point-txt h2{
	font-size:clamp(16px, 2.78vw, 40px);
	font-weight:400;
}
.feature-point-txt>p{
	font-size:17px;
	font-weight:500;
	background-color: #282828;
	color:white;
	text-align: center;
	padding:8px 0;
	margin:15px 0 0 0;
}
.feature-point-txt ul{
	list-style: none;
	padding:0;
	margin:25px 0 0 0;
	display:flex;
	flex-direction: column;
	gap:20px;
}
.feature-point-txt ul li{
	display:flex;
	align-items: center;
	gap:10px;
	border-bottom:1px solid #D5D5D5;
	padding:0 0 14px 0;
	font-size:17px;
	font-weight:500;
}
.feature-point-check{
	width:23px;
	position: relative;
	top:-2px;
}
.feature-point-check img{
	vertical-align: middle;
}
.feature-result{
	margin-top:95px;
}
.feature-result h2{
	font-size:50px;
	font-weight:400;
}
.feature-result-list{
	display:flex;
	flex-direction: column;
	gap:48px;
	margin-top:60px;
}
.feature-result-list>div{
	display:flex;
	justify-content: space-between;
	padding:0 0 42px 0;
	border-bottom: 1px solid #D5D5D5;
	gap:40px;
}
.feature-result-list>div h3{
	font-size:25px;
	font-weight:400;
	line-height: 1.8;
	width:37%;
	position: relative;
	top:-5px;
}
.feature-result-list>div>div{
	width:54%;
}
.feature-result-list>div p{
	font-size:15px;
	font-weight:500;
	line-height:2;
	text-align: justify;
}
.feature-result-list>div a{
	margin-top:20px;
}
.feature-result .common-scroll-link{
	margin-top:53px;
}
.feature-result.common-scroll-link-s > p{
	font-size:14px;
}
.feature-result .common-scroll-link>a{
	font-size:clamp(16px, 4.1vw, 59px);
	white-space: nowrap;
}
.feature-result .marquee-track span{
	font-size:39px;
}
/* page */
.page-tmp h2{
	font-size: 20px;
    font-weight: 500;
    margin: 30px 0 0 0;
    padding: 0 0 5px 0;
    color: #2c2c2c;
    position: relative;
}
.page-tmp h2::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #ddd;
}
.page-tmp h2::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 6.25rem;
    height: 2px;
    background-color: #0071db;
}
.page-tmp p{
	font-size:15px;
	font-weight:400;
	line-height: 1.9;
	margin:15px 0;
}
.page-tmp ol{
	font-family:'Noto Sans JP', sans-serif;
	font-size:15px;
	line-height: 1.75;
}
/* フォーム系 */
.form-content{
	display:flex;
	justify-content: space-between;
	gap:30px;
}
.form-txt{
	width:100%;
	max-width:470px;
}
.form-txt p{
	font-size:17px;
	line-height: 1.9;
}
.form-input{
	width:100%;
	max-width:640px;
	background-color:#F5F5F5;
}
/* 404 */
.no-404 p{
	font-size:17px;
	line-height: 1.8;
	margin-bottom:30px;
}
/* フッター */
.fotter-cv{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
	gap:11px;
	max-width:1350px;
	width:92%;
	margin:120px auto 0 auto;
}
.home .fotter-cv{
	margin:35px auto 0 auto;
}
.fotter-cv > div{
	background-color: #282828;
	padding:65px 50px;
}
.fotter-cv > div h3{
	color:white;
	font-size:28px;
	font-weight:400;
	letter-spacing: -0.02em;
}
.fotter-cv > div p{
	color:white;
	font-size:14px;
	font-weight:500;
	line-height: 1.8;
	letter-spacing: -0.02em;
	margin:10px 0 15px 0;
}
.fotter-link-arrow{
	font-size:16px;
	font-weight:600;
	color:white;
	padding:0 0 5px 0;
	border-bottom:1px solid white;
	display: inline-flex;
	align-items: center;
	gap:10px;
}
footer{
	max-width:1350px;
	width:92%;
	margin:85px auto 0 auto;
	padding:0 0 10px 0;
}
.f-content{
	display:flex;
	gap:90px;
}
.f-logo{
	width:216px;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
}
.f-logo p{
	font-size:16px;
	font-weight:500;
	letter-spacing: -0.02em;
}
.f-content address {
  font-style: normal;
  margin-top:15px;
  display:flex;
  flex-direction: column;
  gap:5px;
}
.f-content address p{
	font-size:14px;
	font-weight:500;
	color:black;
}
.f-content address p a{
	color:black;
}
.f-content nav ul {
  columns: 2;
  column-gap: 70px;
  list-style: none;
  padding: 0;
  margin-top:15px;
  margin-bottom:0;
}
.f-content nav ul li {
  font-size:14px;
  font-weight:500;
  color:black;
  margin-bottom:3px;
}
.f-content nav ul a {
  text-decoration: none;
  color: inherit;
}
small{
	font-size:11px;
	font-weight:500;
	border-top:1px solid #888888;
	padding:14px 0 0 0;
	margin-top:45px;
	display:block;
	font-family: "Roboto", sans-serif;
}
}