/*------------------------------------------------------------------------------
  PC or ALL 
------------------------------------------------------------------------------*/

/*--------------------------------
  common
--------------------------------*/
.blog-content h2:not([class]), .page-content h2:not([class]),
.blog-content h3:not([class]), .page-content h3:not([class]),
.blog-content h4:not([class]), .page-content h4:not([class]) {
  margin: var(--text-margin) 0 calc(var(--text-margin) / 2);
}
.highlight {
  background: rgba(0, 159, 159, .1);
  padding: 4% 2vmin;
	@media screen and (max-width: 599px) {
		padding: 4%;
	}
	&.col {
			line-height: 1.8;
			@media screen and (min-width: 600px) {
				padding: 4% 2vmin;
			}
		}
}
.mb0 {
	margin-bottom: 0 !important;
}
.mbhalf {
	margin-bottom:calc((var(--box-margin)) / 2) !important;
}
@media screen and (min-width : 600px)  {
	.row.reverse{
		flex-direction: row-reverse;
	}	
	.row .col {
      &.col-1 { flex: 1; }
      &.col-2 { flex: 2; }
      &.col-3 { flex: 3; }
    }
	.sp-only {
		display: none !important;
	}
}
@media screen and (min-width: 1025px) {
	body.home{
	  .page-content {
			padding: 0 2vmin;
			max-width: calc(1200px + 4vmin);
		  margin-bottom: 0;
		}
	}
	.sp-only02 {
    	display: none !important;
	}
}
@media screen and (max-width: 1024px) {
  .pc-only02 {
    display: none !important;
  }
}
@media screen and (max-width: 599px) {
  .pc-only {
    display: none !important;
  }
}
/* h2 */
.title-type04:before {
	width: 120px;
	height: 15px;
	 background: url(http://gijutsu.co.jp/mwp/wp-content/uploads/2024/05/h2.webp)no-repeat center / contain;
}
.title-type04{
	& .en{
			color: #CECECE;
		@media screen and (max-width: 599px) {
			font-size: 40px;
		}
	}
	& span.ja{
		font-size: 36px;
		opacity: 1;
		color: #555555;
		@media screen and (max-width: 599px) {
			font-size: 22px;
		}
	}
}
body.home .title-type04 {	
	@media screen and (min-width: 1025px) {
		& .en {
			font-size: 6rem;
		}			
		& .ja {
			font-size: 3.6rem;
		}
	}
}

/* button */
.btn02 a,.box .btn a{
		line-height: 1.5;
		min-width: 200px;
		text-align: center;
		padding: 12px 30px;
	&:hover{
		background: #007E7E;
		opacity: 1;
	}
}
.box .btn a {
	background: var(--main-color);
	font-weight: 400;
	padding: 13px 50px 12px 30px;
}
.btn02 a:after{
	right: 10px;
}

/* ----- mainvisual ----- */
.mainvisual{
	margin-bottom: 0;
}

/* parts(下層) */
body:not(.home) {
	/* image-bg-type02	 */
	.image-bg-type02 {
		& .image::before {
			content: '';
			display: block;
			width: 100%;
			height: 100%;
			background: linear-gradient(rgba(0,0,0,.3),rgba(0, 0, 0, .3));
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
		}
		& .text {
			z-index:2;
		}
		@media screen and (min-width: 1025px) {
			& .text{
				max-width: 1000px;
			}
		}
	}
	/* box.row */
	.box.row {	
		&.point{/* 	point画像を使用時に適用してください */
			margin-bottom: calc((var(--box-margin)) / 2);
			@media screen and (min-width: 600px) and (max-width: 1024px) {
				margin-bottom: calc((var(--box-margin)) / 3);
			}
			@media screen and (max-width: 599px) {
				gap: 30px;
			}
			.highlight{
				padding: 0 ;					
			}
			p {
				display: block;
				margin: 0;
				padding: 4vmin 2% 5vmin;
				@media screen and (max-width: 599px) {
					padding-block:10%;
				}
			}
		}
	}
	/* banner-type02 */
	.banner-type02 {
		ul li {
			background: rgba(0, 159, 159, .1);
		}
		.text {
			color: var(--text-color);
			@media screen and (min-width: 600px) {
				padding: 4vmin 3vmin;
			}			
		}
		.text h3{
			color: var(--main-color);
			@media screen and (min-width: 600px) {
				font-size: 2.6rem;
			}
		}
		.image {
			@media screen and (min-width: 600px) {
				height: 250px;
			}			
			img {
/* 				object-fit: contain; */
			}
		}
	}
}
	
/*--------------------------------
  header
--------------------------------*/
body.home{
	.content{
		overflow: auto;
		margin-top: -100px;
		z-index: -1;
	} 	
	.header-nav > ul > li .en{
		color: #fff;	
		font-size: 18px;
	}
}
.header-nav > ul > li .en{
	font-size: 18px;
}
.header-logo {
	margin-left: -20px;
}
@media screen and (min-width: 600px){
	.header-logo {
		width: auto;
	}	
	 .mainvisual {
        height: 850px;
    }	
	.mainvisual-catch {
		text-align: center;
	}
}
#menu-drawer-nav{
	.en{
		font-size: 16px;
	}
}
.sub-menu{
	li .en {
		font-size: 14px!important;
	}
}	

/*--------------------------------
  sec_01
--------------------------------*/
.sec_01{
		&.box-wrap.bg:before {
		 background: url(http://gijutsu.co.jp/mwp/wp-content/uploads/2024/05/bg_img001.webp)no-repeat center / cover;
	}	
	span.ja02{
		opacity: 1;
		font-size: 36px;
		display: inline;
		@media screen and (max-width: 599px) {
			font-size: 22px;
		}
	}
}

/*--------------------------------
  sec_02
--------------------------------*/
.sec_02{
	.box h3.box-h3 {
		font-size: 60px;
		font-family: "Oswald", sans-serif;
		letter-spacing: 0;
		@media screen and (max-width: 599px) {
			font-size: 30px;
		}
	}	
	.box-h3_span{
		 font-size: 36px;
		@media screen and (max-width: 599px) {
			 font-size: 24px;
		}
	}	
	@media screen and (max-width: 599px) {
		.row{
				padding-left: 4vmin;
			padding-right: 4vmin;
		}
	}	
	@media screen and (min-width: 600px){
		.row .col{
			&:nth-child(2){
				>div{
					max-width: 580px;
					padding-left: 10px;
					padding-right: 10px;
					margin-right: auto;
					margin-left: auto;
				}
			}
		}
	}	
	@media screen and (min-width: 1800px){
		.row .col{
			img{
					height: 595px;
			}
		}
	}	
	.row{
		&:nth-child(4){
			.col{
				&:nth-child(2){
					position: relative;
					&:before {
						content: "";
						display: block;
						position: absolute;
						top: 50%;
						right: 0;
						transform: translateY(-50%);
						width: 366px;
						height: 580px;
						background: url(http://gijutsu.co.jp/mwp/wp-content/uploads/2024/05/bnr_img004.webp)no-repeat center / contain;
					}
				}
			}
		}
	}
}

/*--------------------------------
  sec_03
--------------------------------*/
.sec_03{
	  &.box-wrap{
		margin-bottom: 0;
	}
	p:not([class]) {
		margin-bottom: 0;
	}	
	@media screen and (min-width: 1800px){
		img{
			height: 600px;
			max-height: 100%;
		}
	}
}

/*--------------------------------
  sec_04
--------------------------------*/
.sec_04{
	@media screen and (min-width: 1025px){
		width: 1170px;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}	
  &.box-wrap.bg:before {
		 background: url(http://gijutsu.co.jp/mwp/wp-content/uploads/2024/05/bg_img003.webp)no-repeat center / cover;
	}	
	.list-number-type01 ol li:before {
			font-size: 80px;
			font-weight: 500;
			color: #009F9F;
			font-family: "Oswald", sans-serif;
			top: -100px;
		}	
	.box h3.box-h3 {
			font-weight: 700;
			color: #009F9F;
		}
	@media screen and (min-width: 600px){
		.box h3.box-h3 {
			font-size: 26px;
		}
	}	
}


/*--------------------------------
  sec_05
--------------------------------*/
.sec_05{
	.blog-type03 ul li .date {
		color: #555555;
		font-size: 18px;
	}  
	.blog-type03 a{
		color: #555555;
		font-size: 16px;
		font-weight: 400;
	}	
	.blog-type03 ul li {
		border-bottom: 1px solid #aaaaaa;
	}
	.blog-type03 ul li:last-child {
		margin-bottom: 20px;
		padding-bottom: 20px;
	}
}

/*--------------------------------
  sec_06
--------------------------------*/
.sec_06{
	@media screen and (min-width: 1025px){
		width: 1160px;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	&.box-wrap.bg:before {
		background: #009F9F;
	}  
	.ja {
		font-size: 26px;
		letter-spacing: 0;
		@media screen and (max-width: 1024px) {
				font-size: 20px;
		}
	}	
	.en{
		@media screen and (max-width: 1024px) {
				font-size: 20px;
		}
	}	
	.banner-type01 ul li a{
		@media screen and (max-width: 1024px) {
				padding: 100px 20px;
		}
	}
	.banner-type01 ul li a:after {
		font-variation-settings: "FILL" 1, "wght" 250, "GRAD" 0, "opsz" 20;
		font-size: 4rem;
	}
}

/*--------------------------------
  footer
--------------------------------*/
.footer-main .logo {
	width: auto;
}
.footer .about{
	font-size: 14px;
}
.fixed-footer .contact a:before {
	content: none;
}
.fixed-footer {
	background: #009F9F;
	color: #fff;
}
.fixed-footer .tel a {
	font-family: "Noto Sans JP", sans-serif;
}
.fixed-footer .tel a:before {
	color: #fff;
}
.fixed-footer .contact a {
	background: #fff;
	color: #009F9F;
}
.pagetop a{
	background: #555555;
	border: 1px solid #fff;
}
.pagetop a:after{
	color: #fff;
}

/*--------------------------------
  下層
--------------------------------*/
/* common */

/*  */
.page-id-928 .box.row.row-2,
.page-id-931 .box.row.row-2 {
	.wp-video {
		width: 100%!important;
		height: 100%;
	}
	@media screen and (min-width: 600px) {
		& .col {
			width: calc((100% / 2) - 15px);
		}
	}
}
.company_sec{
	background: #889C80;
	p{
		color: #fff;
	}
}
.features_sec{
	.col{
		background: #889C80;
		color: #fff;
		padding: 4%;
	}
}

/* CONTAINER BOX */
.page-id-1228 {	
  .sec_highlight {	  
	  .row {
		  &:not(:last-of-type) {
			  .col {
				  border: 1px solid var(--text-color);
				  text-align: center;

				  @media screen and (max-width: 599px) {
					  width: calc((100% - 15px) / 2);
				  }
			  }
		  }
	  }
	}	
	.border {
		border: 1px solid var(--text-color);
		padding: 4%;
	}
	.list-number-type02{
		ol li{
			h3 {
				color: var(--main-color);
			}
			&:before {
				border-bottom: var(--main-color) 3px solid;
			}
		}			
		&:after {
			content: none;
		}
	}
	.banner-type02 ul li {
		@media screen and (min-width: 600px) {
			width: calc((100% / 3) - 20px);
		}
	}
}
/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {
}
