@charset "UTF-8";
/*
Theme Name: インセクトIT
*/
/*-----------------------------------------
default
-----------------------------------------*/
* {
	margin: 0;
	padding: 0;
}
html {
	font-family: "Noto Sans", sans-serif;
	color: #111111;
	font-size: 10px;
}
body {
	-webkit-text-size-adjust: 100%;
	 overflow-x: hidden !important;
}
.en {
	font-family: "Montserrat", sans-serif;
}
a {
	transition: 0.3s linear all;
	color: #111111;
}
a:hover {
	text-decoration: none;
}
li {
	list-style-type: none;
}
p, th, td, li, dt, dd {
	line-height: 1.8em;
	font-size: 16px;
}
tbody {
	-webkit-text-size-adjust: 100%;
}
img {
	border: none !important;
	max-width:100%;
	height: auto;
}

/*-----------------------------------------
size
-----------------------------------------*/
.left{ text-align:left; }
.center{ text-align:center; }
.right{ text-align:right; }
.normal{ font-weight:400; }
.medium{ font-weight:500; }
.bold{ font-weight:700; }
.black{ font-weight:900; }

.size10{ font-size:1rem; }
.size12{ font-size:1.2rem; }
.size14{ font-size:1.4rem; }
.size16{ font-size:1.6rem; }
.size18{ font-size:1.8rem; }
.size21{ font-size:2.1rem; }
.size24{ font-size:2.4rem; }
.size27{ font-size:2.7rem; }
.size30{ font-size:3.0rem; }
.size32{ font-size:3.2rem; }
.size36{ font-size:3.6rem; }
.size42{ font-size:4.2rem; }
.size48{ font-size:4.8rem; }
.size60{ font-size:6.0rem; }
.size128{ font-size:12.8rem; }

.white{ color:white; }
.lightgray{ color:rgba(0,0,0,0.03); }

.italic{ font-style:italic; }

.bgWhite{ background:white; }
.bgBlack{ background:#111; }
.bgLightgray{ background:rgba(221,221,221,0.6); }

/*-----------------------------------------
effect
-----------------------------------------*/
.effect a{
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.effect a:before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: -1;
	top: 0;
	left: -100%;
	transition: .2s;
	background-color: rgba(207,0,43);
}
.effect a:after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
	z-index: 1;
	top: 0;
    left: 0;
}
.effect a:hover{
	color: #fff;
	background: none;
}
.effect a:hover:before{
	left: 0;
}

.effect-fade{
	opacity:0;
	transform:translate(0,60px);
	transition:all 1000ms;
}
.effect-fade.effect-scroll {
	opacity:1;
	transform:translate(0, 0);
}

.lefteffect{
	transform:translateX(-15%);
	opacity:0;
	transition:opacity 1000ms,transform 1000ms;
}
.righteffect{
	transform:translateX(15%);
	opacity:0;
	transition:opacity 1000ms,transform 1000ms;
}
.fadein{
	opacity:1;
	transform:translateX(0);
}

/*-----------------------------------------
common
-----------------------------------------*/
.wrapper {
	width: 100%;
	height: auto;
	overflow: hidden;
}
.wrapper section .section_inner{
	width: 128rem;
	max-width: 96%;
	margin: 10rem auto;
}
.wrapper main{
	padding-top:7rem;
}
.wrapper section.contact{
	background:url(images/common/bg_contact.webp) no-repeat center;
	background-size:cover;
	padding:10rem 0;
}
.wrapper section.contact .section_inner{
	margin:0 auto;
}
.wrapper section.contact .section_inner h3{
	letter-spacing:0.5rem;
}
.wrapper section.contact .section_inner p{
	margin:4rem 0;
}
.wrapper section.contact .section_inner .btn{
	width:30rem;
	margin:0 auto;
}
.wrapper section.contact .section_inner .btn a{
	display:block;
	line-height:7.2rem;
	text-decoration:none;
}
.wrapper section.contact .section_inner .btn a:hover{
	background:#231815;
	color:white;
}

/*-----------------------------------------
header
-----------------------------------------*/
.wrapper header{
	width: 100%;
	height:7rem;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
	background-color:rgba(255,255,255,0.9);
}
.wrapper header .header_inner{
	width:96%;
	margin:1rem auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.wrapper header .header_inner .header_left a{
	display:flex;
	text-decoration:none;
}
.wrapper header .header_inner .header_left .logo{
	width:5rem;
	margin-right:1rem;
}
.wrapper header .header_inner .header_left .title{
	margin-top:0.75rem;
}
.wrapper header .header_inner .header_right ul{
	display:flex;
	gap:3rem;
}
.wrapper header .header_inner .header_right ul li a{
	text-decoration:none;
	position:relative;
}
.wrapper header .header_inner .header_right ul li a:after{
	content:"";
	position:absolute;
	left:0;
	bottom:-0.2rem;
	height:0.2rem;
	width:0;
	transition:0.2s linear all;
	background:#111;
}
.wrapper header .header_inner .header_right ul li a:hover:after{
	width:100%;
}

/*-----------------------------------------
footer
-----------------------------------------*/
footer{
	padding:6rem 0;
}
footer .footer_inner{
	width:96%;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
}
footer .footer_inner .footer_left .footer_logo{
	display:flex;
	margin-bottom:2rem;
}
footer .footer_inner .footer_left .footer_logo .logo{
	width:5rem;
}
footer .footer_inner .footer_left .footer_logo p{
	line-height:5rem;
	margin-left:2rem;
}
footer .footer_inner .footer_right ul{
	display:flex;
	gap:3rem;
	margin-bottom:10rem;
}
footer .footer_inner .footer_right ul li a{
	letter-spacing:0.2rem;
	text-decoration:none;
}
footer .footer_inner .footer_right ul li a:hover{
	text-decoration:underline;
}
footer .footer_inner .footer_right .right{
	letter-spacing:0.2rem;
}

/*-----------------------------------------
mainimg
-----------------------------------------*/
.wrapper .mainimg{
	
}
.wrapper .mainimg .mainimg_inner{
	width:96%;
	margin:0 auto;
}
.wrapper .mainimg .mainimg_inner .size128{
	line-height:1em;
}
.wrapper .mainimg .mainimg_inner .size60{
	line-height:1.5em;
	letter-spacing:1rem;
	margin-top:-8rem;
}
.wrapper .mainimg .mainimg_inner .size18{
	line-height:1.5em;
	margin-top:2rem;
}
.wrapper .mainimg .slick{
	margin-top:8rem;
}
.wrapper .mainimg .slick .slick-slide{
	height:300px;
}
.wrapper .mainimg .slick li img{
	height:300px;
	width:900px;
}
.wrapper .sec01 .section_inner{
	background:url(images/index/bg_service.webp) no-repeat right center;
	padding:10rem 0;
}
.wrapper .sec01 .section_inner .bgLightgray{
	width:55%;
	padding:5rem;
}
.wrapper .sec01 .section_inner .bgLightgray h3{
	margin-bottom:3rem;
	letter-spacing:1rem;
}
.wrapper .sec01 .section_inner .bgLightgray p{
	line-height:1.5em;
	letter-spacing:1rem;
}
.wrapper .sec02 .section_inner ul{
	display:flex;
	gap:4rem 3.125%;
	flex-wrap:wrap;
	justify-content:center;
}
.wrapper .sec02 .section_inner ul li{
	width:31.25%;
}
.wrapper .sec02 .section_inner ul li .title{
	display:flex;
	margin:2rem 0;
}
.wrapper .sec02 .section_inner ul li .title .bgBlack{
	width:6rem;
	line-height:6rem;
}
.wrapper .sec02 .section_inner ul li .title .size24{
	line-height:6rem;
	margin-left:2rem;
}
.wrapper .sec03 .section_inner h3{
	letter-spacing:0.5rem;	
}
.wrapper .sec03 .section_inner h4{
	margin:1rem 0 4rem;
}
.wrapper .sec03 .section_inner table{
	width:100%;
}
.wrapper .sec03 .section_inner table tr{
	border-top:1px solid #ccc;
}
.wrapper .sec03 .section_inner table tr:last-child{
	border-bottom:1px solid #ccc;
}
.wrapper .sec03 .section_inner table th{
	padding:2rem 1rem;
	width:15%;
	text-align:left;
}
.wrapper .sec03 .section_inner table td{
	padding:2rem 0;
}
.wrapper .sec03 .section_inner table td a{
	text-decoration:none;
}
.wrapper .sec03 .section_inner table td a:hover{
	text-decoration:underline;
}
.wrapper .sec03 .section_inner .btn{
	width:30rem;
	margin:5rem auto 0;
}
.wrapper .sec03 .section_inner .btn a{
	display:block;
	line-height:7.2rem;
	text-decoration:none;
	transition:0.1s linear all;
}
.wrapper .sec03 .section_inner .btn a:hover{
	background:#777;
}
.wrapper .sec04 .section_inner{
	display:flex;
	justify-content:space-between;
}
.wrapper .sec04 .section_inner .left_sns{
	width:60%;
}
.wrapper .sec04 .section_inner .right_sns{
	width:36%;
}


/*
 *  page
 */

.wrapper .breadcrumb{
	width:96%;
	margin:0 auto;
}
.wrapper .breadcrumb ul{
	display:flex;
}
.wrapper .breadcrumb ul li{
	font-size:1rem;
}
.wrapper .pagetitle{
	margin:6rem 0 10rem;
}
.wrapper .pagetitle h2{
	letter-spacing:0.5rem;
	position:relative;
}
.wrapper .pagetitle h2:before{
	display:block;
	content:"";
	width:5rem;
	height:0.2rem;
	position:absolute;
	left:calc(50% - 2.5rem);
	bottom:-2rem;
	background:#231815;
}

/*
 * service
 */

.page-service .wrapper .section_inner ul{
	
}
.page-service .wrapper .section_inner ul li{
	display:flex;
	margin-bottom:8rem;
	justify-content:space-between;
}
.page-service .wrapper .section_inner ul li:nth-child(even){
	flex-direction:row-reverse;
}
.page-service .wrapper .section_inner ul li:last-child{
	margin-bottom:0;
}
.page-service .wrapper .section_inner ul li .image{
	width:48%;
}
.page-service .wrapper .section_inner ul li .txt{
	width:48%;
	display:flex;
	flex-direction:row;
	align-items:center;
}
.page-service .wrapper .section_inner ul li .txt h4{
	letter-spacing:0.2rem;
	margin-bottom:2rem;
}
.page-service .wrapper .section_inner ul li .txt .btn{
	margin-top:2rem;
}
.page-service .wrapper .section_inner ul li .txt .btn a{
	display:block;
	padding:1rem 0;
	text-decoration:none;
	border:1px solid #231815;
}
.page-service .wrapper .section_inner ul li .txt .btn a:hover{
	color:#231815;
	background:white;
}

/*
 * company
 */
.page-company .wrapper section h4{
	margin:1rem 0 4rem;
	letter-spacing:0.2rem;
}
.page-company .wrapper section .inner{
	display:flex;
	justify-content:space-between;
}
.page-company .wrapper section .inner .image{
	width:33%;
}
.page-company .wrapper section .inner .txt{
	width:62%;
}
.page-company .wrapper section p.president{
	margin-top:1rem;
}
.page-company .wrapper section table{
	width:100%;
}
.page-company .wrapper section table tr{
	border-bottom:1px solid #ccc;
}
.page-company .wrapper section table tr:last-child{
	border-bottom:none;
}
.page-company .wrapper section table tr th{
	padding:1rem 2rem;
	width:15em;
}
.page-company .wrapper section table tr td{
	padding:1rem 2rem;
}
.page-company .wrapper section table tr td ul{
	margin-left:1em;
}
.page-company .wrapper section table tr td ul li{
	list-style-type:disc;
}
.page-company .wrapper section iframe{
	margin-top:4rem;
}

/*
 * contact
 */
.page-contact .wrapper section h4{
	margin:1rem 0 4rem;
	letter-spacing:0.2rem;
}
.page-contact .wrapper section table{
	width:100%;
	margin:4rem 0;
}
.page-contact .wrapper section table tr{
	border-bottom:1px solid #ccc;
}
.page-contact .wrapper section table tr:last-child{
	border-bottom:none;
}
.page-contact .wrapper section table tr th{
	padding:1rem 2rem;
	width:15em;
	vertical-align:middle;
}
.page-contact .wrapper section table tr th span{
	padding:0.2rem 1rem;
	margin-left:1.5rem;
	position:relative;
	top:-0.1rem;
}
.page-contact .wrapper section table tr td{
	padding:1rem 2rem;
}
.page-contact .wrapper section table tr td input,
.page-contact .wrapper section table tr td textarea{
	padding:1rem;
	width:calc(100% - 2rem);
}
.page-contact .wrapper section .btn{
	width:50%;
	max-width:300px;
	margin:4rem auto 0;
}
.page-contact .wrapper section .btn input{
	width:100%;
	text-align:center;
	font-size:1.4rem;
	border:1px solid #231815;
	background:#231815;
	color:white;
	padding:1.5em 0;
	transition:0.1s linear all;
}
.page-contact .wrapper section .btn input:hover{
	background:white;
	color:#231815;
}
.page-contact .wrapper section dl{
	margin-top:4rem;
}
.page-contact .wrapper section dl dd{
	margin-bottom:2rem;
}
.page-contact .wrapper section dl dd ul{
	margin-left:1em;
}
.page-contact .wrapper section dl dd ul li{
	list-style-type:disc;
}

.spmenu{
	display:none !important;
}

/*
 * information
 */
.category .wrapper section table,
.archive .wrapper section table{
	width:100%;
}
.category .wrapper section table tr,
.archive .wrapper section table tr{
	border-bottom:1px solid #ccc;
}
.category .wrapper section table tr:last-child,
.archive .wrapper section table tr:last-child{
	border-bottom:none;
}
.category .wrapper section table tr th,
.archive .wrapper section table tr th{
	padding:1rem 2rem;
	width:5em;
}
.category .wrapper section table tr td,
.archive .wrapper section table tr td{
	padding:1rem 2rem;
}
.category .wrapper section .wp-pagenavi,
.archive .wrapper section .wp-pagenavi{
	text-align:center;
	margin-top:4rem;
}
.single .wrapper section .contents h3{
	margin:1rem 0;
	padding-bottom:1rem;
	border-bottom:1px solid #231815;
}
.single .wrapper section .contents .btn{
	width:50%;
	max-width:300px;
	margin:4rem auto 0;
}
.single .wrapper section .contents .btn a{
	display:block;
	padding:2rem 1rem;
	text-decoration:none;
	transition:0.1s linear all;
	border:1px solid #231815;
}
.single .wrapper section .contents .btn a:hover{
	color:#231815;
	background:white;
}

@media screen and (max-width: 1024px) {
	.wrapper .sec01 .section_inner .bgLightgray{
		width:66%;
	}
	.wrapper .sec02 .section_inner ul{
		gap:4rem 2%;
	}
	.wrapper .sec02 .section_inner ul li{
		width:42%;
	}
	.wrapper .sec02 .section_inner ul li .image img{
		width:100%;
	}
}

@media screen and (max-width: 896px) {
	
	.size24{ font-size:1.8rem; }
	.size36{ font-size:2.4rem; }
	.size48{ font-size:3rem; }
	
	.wrapper .sec01 .section_inner{
		background-size:70%;
	}
	.wrapper .sec01 .section_inner .bgLightgray h3{
		margin-bottom:1.5rem;
	}
	.wrapper .sec02 .section_inner ul li{
		width:49%;
	}
	.wrapper .sec02 .section_inner ul li .title{
		display:block;
		margin-top:0;
		margin-bottom:0;
	}
	.wrapper .sec02 .section_inner ul li .title .bgBlack{
		width:100%;
		line-height:4.8rem;
	}
	.wrapper .sec02 .section_inner ul li .title .size24{
		margin-left:0;
		text-align:center;
	}
	footer .footer_inner{
		display:block;
	}
	footer .footer_inner .footer_right ul{
		display:none;
	}
	.page-service .wrapper .section_inner ul li{
		display:block;
	}
	.page-service .wrapper .section_inner ul li .image{
		width:100%;
	}
	.page-service .wrapper .section_inner ul li .txt{
		width:100%;
		margin-top:1rem;
	}
	.page-service .wrapper .section_inner ul li .txt h4{
		margin-bottom:1rem;
	}
	.page-company .wrapper section table tr th{
		width:15rem;
	}
}

@media screen and (max-width: 640px) {
	
	.size18{ font-size:1.4rem; }
	.size48{ font-size:2.4rem; }
	.size60{ font-size:3rem; }
	.size128{ font-size:4.8rem; }
	
	.wrapper .mainimg .mainimg_inner .size60{
		letter-spacing:0.2rem;
		margin-top:-1rem;
	}
	.wrapper .mainimg .slick{
		margin-top:4rem;
	}
	.wrapper .mainimg .slick .slick-slide{
		height:200px;
	}
	.wrapper .mainimg .slick li img{
		width:600px;
		height:200px;
	}
	.wrapper section .section_inner{
		margin:4rem auto;
	}
	.wrapper .sec01 .section_inner{
		padding:9rem 0 0;
		background-position:right top;
		background-size:90%;
	}
	.wrapper .sec01 .section_inner .bgLightgray{
		padding:3rem;
		width:75%;
	}
	.wrapper .sec01 .section_inner .bgLightgray p{
		letter-spacing:0;
	}
	.wrapper .sec02 .section_inner ul{
		display:block;
	}
	.wrapper .sec02 .section_inner ul li{
		width:100%;
		margin-bottom:4rem;
	}
	.wrapper .sec03 .section_inner h3{
		letter-spacing:0.2rem;
	}
	.wrapper .sec03 .section_inner h4{
		margin-bottom:2rem;
	}
	.wrapper .sec03 .section_inner table th,
	.page-company .wrapper section table tr th,
	.category .wrapper section table tr th,
	.archive .wrapper section table tr th,
	.page-contact .wrapper section table tr th{
		display:block;
		width:100%;
		padding:1rem 0 0;
	}
	.wrapper .sec03 .section_inner table td,
	.page-company .wrapper section table tr td,
	.category .wrapper section table tr td,
	.archive .wrapper section table tr td,
	.page-contact .wrapper section table tr td{
		display:block;
		width:100%;
		padding:0 0 1rem;
	}
	.wrapper .sec03 .section_inner .btn,
	.wrapper section.contact .section_inner .btn,
	.page-contact .wrapper section .btn{
		width:50%;
		margin:2rem auto 0;
	}
	.wrapper .sec03 .section_inner .btn a,
	.wrapper section.contact .section_inner .btn a{
		line-height:4.8rem;
	}
	.wrapper .sec04 .section_inner{
		display:block;
	}
	.wrapper .sec04 .section_inner .left_sns{
		width:100%;
	}
	.wrapper .sec04 .section_inner .right_sns{
		width:100%;
		margin-top:2rem;
	}
	.wrapper section.contact{
		padding:4rem 0;
	}
	.wrapper section.contact .section_inner p{
		margin:2rem 0;
	}
	footer{
		padding:4rem 0;
	}
	footer .footer_inner .footer_left .footer_logo{
		margin-bottom:1rem;
	}
	.footer_left > p{
		font-size:1.2rem;
	}
	footer .footer_right{
		margin-top:2rem;
	}
	footer .footer_inner .footer_right .right{
		letter-spacing:0;
		font-size:1rem;
	}
	.wrapper .pagetitle{
		margin-bottom:6rem;
	}
	.page-service .wrapper .section_inner ul li{
		margin-bottom:4rem;
	}
	.page-company .wrapper section h4{
		margin-bottom:2rem;
	}
	.page-company .wrapper section .inner{
		display:block;
	}
	.page-company .wrapper section .inner .image{
		width:100%;
	}
	.page-company .wrapper section .inner .txt{
		width:100%;
		margin-top:2rem;
	}
	.page-contact .wrapper section table{
		margin:2rem 0;
	}
	.page-contact .wrapper section .center p{
		font-size:1.2rem;
		margin-bottom:1rem;
	}
	.page-contact .wrapper section .btn input{
		padding:0;
		line-height:4.8rem;
	}
	.wrapper header .header_inner .header_right nav{
		display:none;
	}
	.wrapper header .header_inner .header_btn{
		width:2rem;
		height:1.8rem;
		position:relative;
		margin-right:1rem;
	}
	.menu__line {
		background: #111; /* スマホメニュー3本線の色はここで変更できます */
		display: block;
		height: 0.2rem;
		position: absolute;
		transition: transform .3s;
		width: 100%;
	}
	.menu__line--center {
		top:0.8rem;
	}
	.menu__line--bottom {
		bottom: 0;
	}
	.menu__line--top.active {
		top:0.8rem;
		transform: rotate(45deg);
	}
	.menu__line--center.active {
		transform: scaleX(0);
	}
	.menu__line--bottom.active {
		bottom:0.8rem;
		transform: rotate(135deg);
	}
	.wrapper .spmenu {
		width: 60%;
		display:block !important;
		position: fixed !important;
		z-index: 5000;
		left: -80%;
		top: 0;
		display: block;
		background-color: rgba(255, 255, 255, 0.98);
		overflow: auto;
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
		height:100%;
	}
	.wrapper .spmenu li {
		width: 100%;
		border-bottom: 1px dotted #ddd;
	}
	.wrapper .spmenu li:last-child {
		border-bottom: none;
	}
	.wrapper .spmenu li a {
		display: block;
		text-align:center;
		padding: 10px 0;
	}
	.wrapper .spmenu li a:hover {
		text-decoration: none;
	}
}