﻿@charset "utf-8";

/* -----------------------------------------------------------
    部品 詳細
-------------------------------------------------------------- */
.bread-h1-wrap{
	top: 40px;
}
.breadcrumblist ,
.breadcrumblist a{
	color: var(--gray);
}
#rental .subpage-header{
		padding: 100px 0;
	height: auto;
}
#rental .subpage-header > div{
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
}
#rental .subpage-header > div img{
	border-radius: 15px;
	margin:0 0 0 50px;
	width: 500px;
	height: 350px;
}
#rental .subpage-header .subpage-header__inner{
	color: #fff;
}
#rental .subpage-header .subpage-header__inner .catch-m{
	padding: 30px 0 0;
	font-size: 2.3rem;
}
#rental .subpage-header .subpage-header__inner .ja{
	font-size: 4rem;
	letter-spacing: 0.15em;
	font-weight: bold;
}
#rental .subpage-header .subpage-header__inner .basic-txt{
	padding: 20px 0 0;
}

@media screen and (max-width: 768px) {
	.bread-h1-wrap{
		top: 12px;
	}
	#rental .subpage-header{
		padding: 30px 0 30px;
	}
	#rental .subpage-header > div{
		display: block;
	}
	#rental .subpage-header > div img{
		margin: 0;
		width: 100%;
	}
	#rental .subpage-header .subpage-header__inner{
		padding: 0;
	}
	#rental .subpage-header .subpage-header__inner .catch-m{
		padding: 20px 0 0;
	}
	#rental .subpage-header .subpage-header__inner .ja{
		padding: 20px 0 0;
		font-size: 1.8rem;
	}
	#rental .subpage-header .subpage-header__inner .basic-txt{
		padding: 10px 0 0;
	}
}

.niwork-detail {
	margin: 80px 0 0;
}

.niwork-detail__title {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: .05em;
}

.niwork-detail .wrapper{
	width: 50%;
}

@media screen and (max-width: 768px) {

	.niwork-detail {
		margin: 30px 0 0;
	}

	.niwork-detail__title {
		font-size: 2.2rem;
		margin: 20px 0 0;
		line-height: 1.7;
	}
}

/* -----------------------------
	introduction-area
-------------------------------- */
.introduction-area{
	margin: 150px 0 0;
}
.introduction-area .ttl-l{
	position: relative;
}
.introduction-area .ttl-l .sub{
	position: absolute;
	left: 470px;
	text-align: center;
	line-height: 1.3;
	transform: rotate(30deg);
	font-size: 1.5rem;
	color: var(--main);
}
.introduction-area .ttl-l .sub::before, .introduction-area .ttl-l .sub::after {
    content: "";
    height: 100%;
    width: 3px;
    background-color: var(--main);
    position: absolute;
    top: 10px;
}
.introduction-area .ttl-l .sub::before {
    left: -15px;
    transform: rotate(-30deg);
}
.introduction-area .ttl-l .sub::after {
    right: -15px;
    transform: rotate(30deg);
}
.introduction-area .catch-s{
	padding: 30px 0 0;
}
.introduction-area .btn-more{
	display: table;
	margin: 50px auto 0;
}
.introduction-area .rental-list-area{
	padding: 50px 0 0;
}
.card__item > a img{
	width: 70%;
}

@media screen and (max-width: 768px){
	.introduction-area{
		margin: 60px 0 0;
	}
	.introduction-area .ttl-l .sub{
		font-size: 1.2rem;
        left: auto;
        right: 0px;
        top: -30px;
	}
	.introduction-area .catch-s{
		padding: 20px 0 0;
	}
	.introduction-area .btn-more{
		margin: 30px auto 0;
	}
	.introduction-area .rental-list-area{
		padding: 30px 0 0;
	}

}

/* -----------------------------
	pricetable-area
-------------------------------- */
.pricetable-area{
	margin: 100px 0 0;
}
.pricetable-area table{
	margin: 30px 0 0;
}
.pricetable-area th,
.pricetable-area td{
  width: 220px;
  /*height: 100px;*/
  vertical-align: middle;
  padding: 15px;
  border: 1px solid #ccc;
	line-height: 1.3;
	font-size: 1.4rem;
}
.pricetable-area .fixed01{
  position: sticky;
  left: 0;
  color: #fff;
  background: #333;
}
.pricetable-area .fixed01::before{
	    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
    border: 1px solid #ccc;
 }
.pricetable-area table img{
	width: 150px;
	margin: 0 auto 10px;
	display: table;
}
.pricetable-area table .maker{
	font-size: 1.2rem;
	line-height: 1.2;
	color: #888;
}
.pricetable-area table .name{
	font-size: 2rem;
	font-weight: bold;
	margin: 5px 0 10px;
	line-height: 1.3;
}
.pricetable-area table .btn a{
	background: #333;
    color: #fff;
    display: flex;
    justify-content: center;
    height: 40px;
    align-items: center;
    line-height: 1;
    border-radius: 30px;
	font-family: var(--en);
	font-weight: 500;
}
.pricetable-area table .btn a:hover{
	letter-spacing: 0.1em;
}
.table-wrapper {
    /* PCではスクロールなし */
    overflow-x: visible; 
    width: 100%;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th, td {
    padding: 10px;
    border: 1px solid #ccc;
    text-align: center;
    vertical-align: middle;
}

/* 固定列の基本スタイル */
.fixed-column {
    width: 150px; 
    min-width: 150px;
    background-color: var(--lightgreen);
    text-align: left;
    font-weight: bold;
	text-align: center;
}

/* モバイルでの固定設定をPCでは無効化（またはデフォルト設定を維持） */
.fixed-column {
    position: static; 
    left: auto;
    z-index: auto;
}

@media screen and (max-width: 768px){
    .table-wrapper {
        overflow-x: scroll;
        width: 100%;
    }
    
    table {
        width: auto; 
        min-width: 600px; 
    }
    .pricetable-area .fixed-column {
        position: sticky; 
        left: 0; 
        z-index: 2;  
        border-right: 1px solid #ccc;
		min-width: 90px;
		border-left: none!important;
		width: 200px;
    }
    th:not(.fixed-column), td:not(.fixed-column) {
        width: 150px; /* スクロールさせるカラムの幅 */
        min-width: 150px;
    }
	
	.pricetable-area table{
		margin: 20px 0 0;
	}
	.pricetable-area th,
	.pricetable-area td{
		font-size: 1.3rem;
		padding: 10px 5px;
	}
	.pricetable-area table img{
		width: 100px;
	}
	.pricetable-area table .maker{
		font-size: 1rem;
	}
	.pricetable-area table .name{
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.pricetable-area table .btn a{
		height: 30px;
	}
	
}


/* -----------------------------
	rental-flow-area
-------------------------------- */
.green-bg{
	background: var(--lightgreen);
	position: relative;
	padding: 150px 0 250px;
	margin: 100px 0 0;
}
.green-bg::before{
	content: '';
	position: absolute;
	width: 101%;
	height: 235px;
	top: -1px;
	left: 0;
	background: url("../img/top-recruit-wave01.png") no-repeat bottom center / cover;
}
.green-bg::after{
	content: '';
	position: absolute;
	width: 101%;
	height: 235px;
	bottom: -1px;
	left: 0;
	background: url("../img/top-recruit-wave02.png") no-repeat top center / cover;
}
.rental-flow-area{
	margin: 100px 0 0;
}

.rental-flow-area .flow-list{
	margin: 30px 0 0;
}
.rental-flow-area .flow-list ul{
	display: flex;
	justify-content: space-between;
}
.rental-flow-area .flow-list ul li{
	background: #fff;
	width: calc((100% / 5) - 20px);
	padding: 10px;
	border-radius: 5px;
	position: relative;
}
.rental-flow-area .flow-list ul li::before{
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	border-left: 18px solid #333;
	border-right: 0;
	top: 50%;
   right: -22px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.rental-flow-area .flow-list ul li:last-of-type::before{
	display: none;
}

.rental-flow-area .flow-list ul li img{
	width: 100%;
	border-radius: 5px;
}
.rental-flow-area .flow-list ul li .title{
	font-size: 1.8rem;
	text-align: center;
}
@media screen and (max-width: 768px){
	.green-bg{
		padding: 50px 0 100px;
		margin: 50px 0 0;
	}
	.green-bg::before{
		background-size: contain;
		background-position: top center;
	}
	.green-bg::after{
		background-size: contain;
		background-position: bottom;
	}
	
	.rental-flow-area{
		margin: 50px 0 0;
	}
	.rental-flow-area .flow-list{
		margin: 20px 0 0;
	}
	.rental-flow-area .flow-list ul{
		display: block;
	}
	.rental-flow-area .flow-list ul li{
		padding: 10px;
		width: 100%;
		margin: 20px 0 0;
		display: flex;
		align-items: center;
	}
	.rental-flow-area .flow-list ul li img{
		width: 80px;
		margin: 0 10px 0 0;
	}
	.rental-flow-area .flow-list ul li::before{
		        content: '';
        position: absolute;
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 10px solid transparent;
        border-left: 10px solid transparent;
        border-top: 10px solid #333;
        border-bottom: 0;
        bottom: -15px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        top: auto;
	}
}

/* -----------------------------
	faq-area
-------------------------------- */
.faq-area{
	margin: 50px 0 0;
}
.faq-area .faq-q{
	border-bottom: 1px solid #c5c5c5;
}
.faq-area .faq-a{
	background: #fff;	
}

@media screen and (max-width: 768px){
	.faq-area{
		margin: 50px 0 0;
		padding: 0;
	}
}
/* -----------------------------
	rental-service-area
-------------------------------- */
.rental-service-area{
	margin: 50px 0 0;
	background: var(--darkblue);
	padding: 250px 0 150px;
	position: relative;
}
.deco-block img{
	position: absolute;
}
.deco-block img.produce-deco01{
	top: 50px;
	right: -100px;
}
.deco-block img.produce-deco02{
	top: 0px;
	left: -100px;
}
.deco-block img.produce-deco03{
	top: 260px;
    right: 130px;
}
.deco-block img.produce-deco04{
	top: 935px;
    left: 410px;
}
.deco-block img.produce-deco05{
	bottom: 100px;
    right: -100px;
}
.deco-block img.produce-deco06{
	bottom: 100px;
    left: -100px;
}

.rental-service-area::before{
	content: '';
	position: absolute;
	width: 101%;
	height: 235px;
	top: -1px;
	left: 0;
	background: url("../img/top-recruit-wave01.png") no-repeat bottom center / cover;
	z-index: 1;
}

.rental-service-area .txt-area .ttl-l{
	color: #fff;
}
.rental-service-area .block{
	background: #f8f8f8;
	padding: 50px;
	border-radius: 15px;
	margin: 30px 0 0;
}
.rental-service-area .block img{
	width: 50%;
	margin: 0 30px 0 0;
	border-radius: 15px;
	object-fit: cover;
}
.rental-service-area .block .top-box{
	display: flex;
}
.rental-service-area .block .top-box .ttl-m .jp{
	text-decoration: 2px underline wavy var(--main);
    text-underline-offset: 10px;
	display: block;
}
.rental-service-area .block .catch-s{
	padding: 30px 0 0;
}
.rental-service-area .block .basic-txt{
	padding: 20px 0 0;
}
.rental-service-area .block ul{
	margin: 30px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 15px 15px;
}
.rental-service-area .block ul li{
	line-height: 2;
	padding: 0 20px 0 40px;
	position: relative;
	border-radius: 30px;
	border: solid 1px var(--main);
	color: var(--main);
	background: #fff;
}
.rental-service-area .block ul li svg{
	position: absolute;
	left: 15px;
	top: 4px;
}

@media screen and (max-width: 768px){
	.rental-service-area{
		padding: 100px 0 50px;
	}
	.deco-block img{
	}
	.deco-block img.produce-deco01{
	}
	.deco-block img.produce-deco02{
		width: 139px;
		height: 200px;
		top: 0;
		left: -60px;
	}
	.deco-block img.produce-deco03{
		width: 300px;
		height: 455px;
		top: 80px;
		right:-60px;
	}
	.deco-block img.produce-deco04{
	}
	.deco-block img.produce-deco05{
	}
	.deco-block img.produce-deco06{
	}
	.rental-service-area::before{
		background-size: contain;
		background-position: top center;
	}
	.rental-service-area::after{
		background-size: contain;
		background-position: bottom;
	}
	.rental-service-area .block{
		display: block;
		padding: 15px;
		border-radius: 15px;
	}
	.rental-service-area .block img{
		border-radius: 5px;
		width: 100%;
		height: 200px;
	}
	.rental-service-area .block .top-box{
		display: block;

	}
	.rental-service-area .block .ttl-m{
		padding: 10px 0 0;
	}
	.rental-service-area .block .catch-s{
		padding: 10px 0 0;
	}
	.rental-service-area .block .basic-txt{
		padding: 10px 0 0;
	}
	.rental-service-area .block ul{
		display: block;
		margin: 10px 0 0;
	}
	.rental-service-area .block ul li{
		font-size: 1.5rem;
		background: none;
		border: none;
		padding: 0 0 0 25px;
	}
	.rental-service-area .block ul li svg{
		left: 0;	
	}
}


/* -----------------------------
	rental-feature-area
-------------------------------- */
.rental-feature-area{
	margin: 100px 0 0;
}

.rental-feature-area .block{
	background: #f8f8f8;
	padding: 50px;
	border-radius: 50px;
	margin: 30px 0 0;
}
.rental-feature-area .block .basic-txt{
	padding: 20px 0 0;
}

.rental-feature-area .list{
	display: flex;
	justify-content: space-between;
	margin: 30px 0 0;
}
.rental-feature-area .list > div{
	width: calc((100% / 3) - 20px);
}
.rental-feature-area > div img{
	width: 100%;
	border-radius: 15px;
}
.rental-feature-area .list > div .catch-s{
	padding: 10px 0 0;
	font-size: 2.3rem;
	text-align: center;
}
.rental-feature-area .list > div .basic-txt{
	padding: 10px 0 0;
}

@media screen and (max-width: 768px){
	.rental-feature-area{
		margin: 50px 0 0;
	}
	.rental-feature-area .block{
	}
	.rental-feature-area .block .basic-txt{
	}

	.rental-feature-area .list{
		display: block;
	}
	.rental-feature-area .list > div{
		width: 100%;
	}
	.rental-feature-area .list > div:nth-child(n + 2){
		margin: 20px 0 0;
	}
	.rental-feature-area > div img{
		border-radius: 10px;
	}
	.rental-feature-area .list > div .catch-s{
		padding: 10px 0 0;
		font-size: 2rem;
		text-align: left;
	}
	.rental-feature-area .list > div .basic-txt{
		padding: 10px 0 0;
	}
}

/* -------------------------------------------------------------
    nicms-back
-------------------------------------------------------------- */
#niworks-detail .nicms-back {
	margin: 50px auto 0;
}

@media screen and (max-width: 768px) {
	#niworks-detail .nicms-back {
		margin: 30px auto 0;
	}
}

/* -------------------------------------------------------------
    フルリッチ
-------------------------------------------------------------- */
.niwork-fullrich {
	margin-top: 100px;
}

.niwork-fullrich h1, .niwork-fullrich h2, .niwork-fullrich h3, .niwork-fullrich h4 {
	font-weight: bold;
	line-height: 1.4;
}

.niwork-fullrich h1 {
	font-size: 2.7rem;
	font-weight: bold;
	border-bottom: 6px solid var(--main);
	padding: 0 0 15px;
	margin: 50px 0 30px;
}

.niwork-fullrich h2 {
	background:none;
	color: var(--main);
	font-size: 4rem;
	margin: 50px 0 30px;
	position: relative;
	letter-spacing: .05em;
	border-radius: 5px;
}

.niwork-fullrich h3 {
	border-bottom: dotted 3px var(--main);
	color: var(--main);
	margin: 40px 0 30px;
	padding: 0 0 10px;
	font-size: 2.4rem;
	letter-spacing: .05em;
}

.niwork-fullrich h4 {
	margin: 30px 0 20px;
	padding: 4px 0 0 16px;
	font-size: 2.3rem;
	position: relative;
}

.niwork-fullrich h4::before {
	background: var(--main);
	position: absolute;
	top: 2px;
	left: 0;
	display: block;
	content: '';
	width: 6px;
	height: 100%;
}

.niwork-fullrich p {
	margin-bottom: 1.5em;
	font-size: 1.6rem;
	letter-spacing: .035em;
	line-height: 2;
	overflow-wrap: break-word;
}
.niwork-fullrich img{
	margin: 0 auto;
	display: block;
}
.case-block{
	display: flex;
	gap: 20px;
}
.case-block .box{
	background: var(--lightgreen);
	padding: 20px 30px;
}
.case-block .cate-title{
	color: var(--main);
	font-size: 1.8rem;
	font-weight: bold;
	margin: 0 0 10px;
}
.case-block p:last-of-type{
	margin: 0;
}
@media screen and (max-width: 768px) {
	.niwork-fullrich {
		margin-top: 50px;
	}

	.niwork-fullrich h1, .niwork-fullrich h2, .niwork-fullrich h3, .niwork-fullrich h4 {
		line-height: 1.5;
	}

	.niwork-fullrich h1 {
		border-bottom-width: 4px;
		font-size: 2.3rem;
		line-height: 1.5;
		margin: 30px 0 20px;
		padding: 0 0 10px;
	}

	.niwork-fullrich h2 {
		margin: 30px 0 20px;
		font-size: 2.6rem;
	}

	.niwork-fullrich h3 {
		margin: 30px 0;
		padding: 0 0 10px;
		font-size: 1.9rem;
	}

	.niwork-fullrich h4 {
		margin: 30px 0 10px;
		padding: 0 0 0 12px;
		font-size: 1.8rem;
	}

	.niwork-fullrich h4::before {
		top: 0;
		width: 5px;
	}

	.ninews-fullrich p {
		margin-bottom: 1em;
		line-height: 2;
		letter-spacing: .05em;
	}
	.case-block{
		display: block;
	}
	.case-block .box:nth-child(n + 2){
		margin: 10px 0 0;	
	}
}

/* -----------------------------
	-area
-------------------------------- */
.pricetable-area{
	margin: 100px 0 0;
}
.niwork-fullrich table{
	margin: 30px 0 0;
}
.niwork-fullrich th,
.niwork-fullrich td{
  /*height: 100px;*/
  vertical-align: middle;
  padding: 15px;
  border: 1px solid #ccc;
	line-height: 1.5;
}
.niwork-fullrich th{
	background: var(--lightgreen);
}
.niwork-fullrich td{
	text-align: left;
}
.niwork-fullrich th:nth-child(1){
	width: 200px;
}
.niwork-fullrich .fixed01{
  position: sticky;
  left: 0;
  color: #fff;
  background: #333;
}
.niwork-fullrich .fixed01::before{
	    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
    border: 1px solid #ccc;
 }
.niwork-fullrich table img{
	width: 150px;
	margin: 0 auto 10px;
	display: table;
}
.niwork-fullrich table .maker{
	font-size: 1.4rem;
	line-height: 1.2;
}
.niwork-fullrich table .name{
	font-size: 2rem;
	font-weight: bold;
}
.niwork-fullrich table .btn a{
	background: #333;
	color: #fff;
}

@media screen and (max-width: 768px){
	.pricetable-area{
		margin: 50px 0 0;
	}
	.niwork-fullrich table{
		margin: 10px 0 0;
		width: auto; 
        min-width: 800px; 


	}
	.niwork-fullrich .fixed-column{
		position: sticky;
		left: 0;
		z-index: 2;
		border-right: 1px solid #ccc;
		min-width: 50px;
		border-left: none !important;
	}
    .niwork-fullrich th:not(.fixed-column), .niwork-fullrich td:not(.fixed-column) {
        width: 250px; /* スクロールさせるカラムの幅 */
        min-width: 150px;
    }
	.niwork-fullrich th:nth-child(1){
		width: 50px;
		padding: 5px;
	}
	.niwork-fullrich th,
	.niwork-fullrich td{
		font-size: 1.4rem;
	}
	.niwork-fullrich th{
	}
	.niwork-fullrich .fixed01{
	}
	.niwork-fullrich .fixed01::before{
	 }
	.niwork-fullrich table img{
	}
	.niwork-fullrich table .maker{
	}
	.niwork-fullrich table .name{
	}
	.niwork-fullrich table .btn a{
	}
}

