@charset "utf-8";

:root {
	--main-color: #20B14A;
	--text-color: #505050;
	--bdr-color: #CECECE;
	--ease-none: cubic-bezier(0.25, 0.25, 0.75, 0.75);
    --ease-power1-in: cubic-bezier(0.55, 0.085, 0.68, 0.53);
    --ease-power1-inout: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --ease-power1-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --ease-power2-in: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    --ease-power2-inout: cubic-bezier(0.645, 0.045, 0.355, 1);
    --ease-power2-out: cubic-bezier(0.215, 0.61, 0.355, 1);
    --ease-power3-in: cubic-bezier(0.895, 0.03, 0.685, 0.22);
    --ease-power3-inout: cubic-bezier(0.77, 0, 0.175, 1);
    --ease-power3-out: cubic-bezier(0.165, 0.84, 0.44, 1);
    --ease-power4-in: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    --ease-power4-inout: cubic-bezier(0.86, 0, 0.07, 1);
    --ease-power4-out: cubic-bezier(0.23, 1, 0.32, 1);
    --ease-expo-in: cubic-bezier(0.95, 0.05, 0.795, 0.035);
    --ease-expo-inout: cubic-bezier(1, 0, 0, 1);
    --ease-expo-out: cubic-bezier(0.19, 1, 0.22, 1);
    --ease-circ-in: cubic-bezier(0.6, 0.04, 0.98, 0.335);
    --ease-circ-inout: cubic-bezier(0.785, 0.135, 0.15, 0.86);
    --ease-circ-out: cubic-bezier(0.075, 0.82, 0.165, 1);
    --ease-back-in: cubic-bezier(0.6, -0.28, 0.735, 0.045);
    --ease-back-inout: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    --ease-back-out: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* 汎用 */
a:hover img { opacity: 0.8; filter: alpha(opacity=80); -moz-opacity: 0.8; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mr30 { margin-right: 30px; }
.mr40 { margin-right: 40px; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.st { font-weight: bold; }
.fl { float: left; }
.fr { float: right; }
.fs16 { font-size: 16px; }
.fs18 { font-size: 18px; }
.fs20 { font-size: 20px; }
.fs22 { font-size: 22px; }
.fs24 { font-size: 24px; }
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
.fw800 { font-weight: 800; }
.flex { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; }
.flex_not_justify { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }

/* メインの日本語フォント */
.f_min { font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif; }
.f_hira { font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif; }
.f_gothic { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif; }
.f_hirago { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif; }

/* 英字用フォント */
.f_times { font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif; }
.f_arial { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }
.f_archivo { font-family: "Archivo", sans-serif;}
.f_poppins {font-family: "Poppins", sans-serif;}

/* 画像フィット用 */
.fit_img { display: flex; justify-content: center; align-items: center; /*IE用*/ flex-direction: column; }
.fit_img img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.regacy_fit_img { display: relative; overflow: hidden; }
.regacy_fit_img img { position: absolute; left: -50%; right: -50%; top: -50%; bottom: -50%; margin: auto; max-width: 100%; max-height: 100%; width: auto; height: auto; }
.ofi { object-fit: cover; font-family: 'object-fit:cover; '; }

/*===========
inview
===========*/

.inview {
  opacity: 0;
  transform: translate(0, 20%);
  transition: 1s;
}
.inview.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
/* ズレ表示用sample */
.works_list .parts:nth-child(2) {
  transition-delay: .2s;
}
.works_list .parts:nth-child(3) {
  transition-delay: .4s;
}

.c-button {
    display: block;
    position: relative;
	overflow: hidden;
	--cover-enter-sec: 300ms;
    --cover-return-sec: 240ms;
    --opacity-enter-sec: 200ms;
    --opacity-return-sec: 120ms
}
.c-button::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    transition: all 0.3s;
    transform: translateX(-100%);
}
.c-button span {
	position: relative;
}
.c-button-icon {
	position: relative;
	left: 0;
	z-index: 3;
	width: 30px;
	height: 30px;
	z-index: 10;
    transition: left calc(var(--cover-return-sec) - 30ms) 0ms var(--ease-power4-out);

}
.c-button-icon svg {
	position: relative;
	top: 1px;
	left: 6px;
	stroke: var(--main-color);
}
.c-button-icon::before {
	content:'';
	position: absolute;
	top: -3px;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #fff;
}
.btn.whitebtn .c-button {
	background: #fff;
	color: #fff;
	border: 2px solid #fff;
}
.btn.whitebtn .c-button-icon::before {
	background: var(--main-color);
}
.btn.whitebtn .c-button-icon svg {
	stroke: #fff;
}
.btn.whitebtn span {
	color: var(--main-color);
}
.btn.whitebtn .c-button::before {
	background: var(--main-color);
}


/*PC用*/
@media print, screen {
	.pc { display: block !important }
	.sp { display: none !important }
	.h_menu, #sp_global_nav { display: none; }

	.inner_1600 {
		margin: 0 auto;
		width: 1600px;
		max-width: 95%;
	}
	.inner_1320 {
		margin: 0 auto;
		width: 1320px;
		max-width: 95%;
	}
	.inner_1200 {
		margin: 0 auto;
		width: 1200px;
		max-width: 95%;
	}
	.inner_1040 {
		margin: 0 auto;
		width: 1040px;
		max-width: 95%;
	}

/*  TOP
---------------------*/
	.container {
		/*overflow: hidden;*/
	}
	.container .key_visual .top_road {
		width: 40.3125%;
		height: 660px;
		right: 0;
		bottom: 0;
		position: absolute; /* relativeな親の右下 */
		z-index: 1;
		background: url(../../images/src/top/top_road.webp) no-repeat right bottom / 100%;
	}
	.container .key_visual .top_road .truck {
		position: absolute;
		right: 12.9vw;
		bottom: -20px;
		width: 8.12vw; /* 初期サイズ */
		transition: transform 0.8s ease; /* スムーズに縮小 */
		transform: scale(1);
	}
	.container .key_visual .top_road .truck.small {
		transform: scale(0.7);
		bottom: -10px;
	}
	.container .key_visual .top_road .truck.smaller {
		transform: scale(0.4);
		right: 13.3vw;
		bottom: 5px;
	}
	.truck img {
		animation: shakeCar 1.2s infinite ease-in-out;
		transform-origin: center bottom; /* 車の下を軸に傾ける */	
	}
	@keyframes shakeCar {
		0%, 100% { transform: translateX(0) rotate(0deg); }
		25% { transform: translateX(-1px) rotate(-1deg); }
		75% { transform: translateX(1px) rotate(1deg); }
	  }

	.container .key_visual .top_mv {
		width: 100%;
		height: 100dvh;
		position: fixed;
		z-index: 0;
	}
	.container .key_visual .top_mv .top_scene_item {
		top: 0;
		left: 0;
		-webkit-transition: all 0.8s;
		transition: all 0.8s;
		position: absolute;
	}
	.mv1 {
		position: relative;
		width: 100%;
		height: 100%;
	  }
	  .bg-layer {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
		opacity: 0;
		transition: opacity 3s;
	  }
	  .bg-layer.active {
		opacity: 1;
	  }
	  
	.container .key_visual .top_mv .mv1 .road_light {
		position: absolute;
		bottom: -2rem;
		right: -4.7rem;
		z-index: 100;
	}
	
	.container .key_visual .top_mv .mv1::before,
	.container .key_visual .top_mv .mv2::before,
	.container .key_visual .top_mv .mv3::before {
		content:'';
		position: absolute;
		right: 0;
		bottom: 0;
		width: 45.521vw;
		height: 31.354vw;
		background: url(../../images/src/top/top_road_light02.png) no-repeat right bottom / 100%;
	}
	.container .key_visual .top_mv .mv1::before {
		right: -2vw;
		z-index: 1000;
	}
	.container .key_visual .top_mv .mv2::before {
		opacity: 0.5;
	}
	.container .key_visual .top_mv .mv3::before {
		opacity: 0.3;
	}
	.key_visual .top_mv .mv2 {
		background-image: url(../../images/src/top/hero_img02.webp);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;
		width: 100%;
		height: 100dvh;
		opacity: 0;
	}
	.key_visual .top_mv .mv3 {
		background-image: url(../../images/src/top/hero_img03.webp);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;
		width: 100%;
		height: 100vh;
		opacity: 0;
	}
	.key_visual .top_mv .disappear {
		visibility: hidden;
		opacity: 0;
		-webkit-transition: all 0.8s 0.4s;
		transition: all 0.8s 0.4s;
	}
	.key_visual .top_mv .true {
		visibility: visible;
		opacity: 1;
		-webkit-transition: all 0.8s;
		transition: all 0.8s;
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}
	.key_visual .top_mv .hide {
		position: static;
	  }
	.key_visual .top_text_content {
		position: relative;
		z-index: 100;
	}
	.key_visual .top_text_content .top_text_title,
	.key_visual .top_text_content .top_text_item {
		width: 100%;
		height: 100dvh;
		position: relative;
	}
	.key_visual .top_text_content .top_text_title .kv_text {
		position: absolute;
		left: 84.6px;
		bottom: 28px;
	}
	.key_visual .top_text_content .top_text_title .kv_text h1 svg {
		width: 68.8541%;
	}
	.key_visual .top_text_content .top_text_title .kv_text .en_ttl {
		margin-top: 30px;
		color: #fff;
		font-size: 2.8rem;
		font-weight: 700;
		letter-spacing: 0.08em;
	}
	.key_visual .top_text_content .top_text_item p {
		color: #fff;
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 2.33;
	}
	.key_visual .top_text_content .top_text_item .text {
		display: inline-block;
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		left: 30rem;
	}
	.key_visual .top_text_content .top_text_item p + p {
		margin-top: 3em;
	}
	.key_visual .top_text_content .top_text_item p span {
		font-size: 36px;
		font-weight: 700;
	}


	#hero--scroll {
        position: absolute;
        left: 39px;
        bottom: 0;
        font-weight: 600;
        letter-spacing: 1px;
        height: 100px;
        line-height: 120%;
    }

    #hero--scroll span {
        display: inline-block;
        transform: rotate(90deg);
        transform-origin: left top;
        position: absolute;
        top: -70%;
		left: 11px;
        font-size: 14px;
        color: #fff;
    }

    #hero--scroll:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        height: 0;
        width: 1px;
        background-color: #fff;
        -webkit-animation: scroll 2s cubic-bezier(1,0,0,1) 1s infinite;
        animation: scroll 2s cubic-bezier(1,0,0,1) 1s infinite;
        -webkit-animation-fill-mode: both;
        animation-fill-mode: both
    }

    @-webkit-keyframes scroll {
        0% {
            bottom: auto;
            top: 0;
            height: 0
        }
        50% {
            height: 100px
        }
        100% {
            top: auto;
            bottom: 0;
            height: 0
        }
    }
    @keyframes scroll {
        0% {
            bottom: auto;
            top: 0;
            height: 0
        }
        50% {
            height: 100px
        }
        100% {
            top: auto;
            bottom: 0;
            height: 0
        }
    }

	.btn a {
		padding: 19px 21px;
	}
	.btn span {
		padding-left: 5rem;
		color: #fff;
		font-size: 2.2rem;
		font-weight: 700;
	}
	.btn .c-button {
		border-radius: 42.318px;
		background: var(--main-color);
		border: 1px solid var(--main-color);
	}
	.btn .c-button::before {
		background: #fff;
	}
	.btn .c-button-icon::before {
		width: 5rem;
		height: 5rem;
	}
	.btn .c-button-icon svg {
		top: 0.3rem;
		left: 1.2rem;
	}

	.top_about {
		position: sticky;
		top: 0;
		background: #fff;
	}
	.top_about .top_about_wrap {
		position: relative;
		padding: 108px 0 343px;
		z-index: 100;
		background: #fff;
		overflow: hidden;
	}
	.top_about .inner_1320 {
		margin-left: 30rem;
		position: relative;
		z-index: 10;
		width: auto;
		max-width: initial;
	}
	.top_about .txt {
		font-size: 24px;
		font-weight: 700;
		line-height: 2;
	}
	.top_about .txt span {
		color: var(--main-color);
		font-size: 36px;
		font-weight: 700;
	}
	.top_about .txt + .txt {
		margin-top: 2em;
	}
	.top_about .btn {
		margin-top: 70px;
		width: 330px;
	}
	.top_about .map_block {
		position: absolute;
		top: -449px;
		/*left: 0;*/
		right: 15vw;
		width: 1226px;
	}
	.top_about .about_circle {
		position: absolute;
		top: 88rem;
		left: 55rem;
		width: 12.125rem;
		height: 12.125rem;
	}
	.top_about .about_circle::before,
	.top_about .about_circle::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		aspect-ratio: 1 / 1;
		border: 1px solid rgba(16, 130, 46, 0.20);;
		border-radius: 50%;
		animation: dots_light_bd 6s ease-out infinite forwards;
		opacity: 0;
	}
	.top_about .about_circle::after {
		animation-delay: 1.5s;
	}
	.top_about .circle02::before {
		animation-delay: 3s;
	}
	.top_about .circle02::after {
		animation-delay: 4.5s;
	}
	.top_about .circle03::before {
		animation-delay: 6s;
	}
	.top_about .circle03::after {
		animation-delay: 7.5s;
	}
	@keyframes dots_light_bd {
		0% {
		  opacity: 0;
		}
		1% {
		  opacity: 1;
		}
		80% {
		  opacity: .4;
		}
		100% {
		  width: 1000%;
		  opacity: 0;
		}
	}
	.top_about .about_gallery {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		/*z-index: 100;*/
	}
	.top_about .about_gallery .about_gallery_item {
		position: absolute;
		display: grid;
		z-index: 100;
	}
	.about_gallery_item:nth-child(1) {
		top: -109px;
        left: calc(50% + 19.5rem);
        width: 9.8vw;
	}
	.about_gallery_item:nth-child(2) {
        top: 87px;
        right: 5vw;
        width: 14.5vw;
    }
	.about_gallery_item:nth-child(3) {
        top: 530px;
        left: calc(50% + 24rem);
        width: 26.5vw;
    }
	
	.top_about .about_gallery .about_gallery_item .about_gallery_image {
		grid-row: 1/1;
		grid-column: 1/1;
		border-radius: 20px;
		box-shadow: 4px 4px 8px 0px rgba(0, 0, 0, 0.25);
		opacity: 1;
		z-index: 1;
	}
	.bg_white {
		position: relative;
		background: #fff;
		z-index: 1;
	}
	.top_radius_box {
		position: sticky;
		z-index: 10;
	}
	.top_recruit {
		position: relative;
		border-radius: 100px 100px 0 0;
		background: var(--main-color);
		overflow: hidden;
	}
	.top_recruit .text_block {
		position: relative;
		margin: 0 auto;
		padding: 192px 0 102px;
		width: 530px;
		white-space: nowrap;
		color: #fff;
		z-index: 10;
	}
	
	.top_recruit .text_block .rec_text {
		position: absolute;
		top: 75px;
		left: -116px;
		z-index: 0;
	}
	.top_recruit .text_block h2,
	.top_recruit .text_block .ttl_jp,
	.top_recruit .text_block .txt {
		position: relative;
		z-index: 1;
		font-weight: 700;
		text-shadow: 4px 4px 4px rgba(0, 112, 33, 0.40);
		text-align: center;
	}
	.top_recruit .text_block h2 {
		font-size: 96px;
	}
	.top_recruit .text_block .ttl_jp {
		margin: 0 0 20px;
		font-size: 26px;
	}
	.top_recruit .text_block .txt {
		margin-bottom: 60px;
		font-size: 38px;
	}
	.top_recruit .text_block .btn .c-button {
		margin: 0 auto;
		width: 370px;
		background: #fff;
		border-color: #fff;
	}
	.top_recruit .text_block .btn .c-button::before {
		background: var(--main-color);
	}
	.top_recruit .text_block .btn .c-button-icon::before {
		background: var(--main-color);
	}
	.top_recruit .text_block .btn .c-button-icon svg {
		stroke: #fff;
	}
	.top_recruit .text_block .btn span {
		color: var(--main-color);
	}
	.top_recruit .text_block .hito01 {
		position: absolute;
		left: -23%;
		bottom: 0;
	}
	.top_recruit .text_block .hito02 {
		position: absolute;
		right: -25%;
		bottom: 0;
	}
	.top_recruit .p_recruit_slide_images {
		position: absolute;
		inset: 0;
		display: flex;
		justify-content: space-between;
	}
	.top_recruit .p_recruit_slide_images_block {
		width: 16.4%;
	}
	
	.top_radius_box .top_news {
		position: relative;
		padding: 150px 0 140px;
		border-radius: 0 0 100px 100px;
		background: #fff;
		box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
	}
	.top_radius_box .top_news .news_wrap {
		margin: 0 auto;
		width: 1207px;
		max-width: 90%;
	}
	.top_radius_box .top_news .left_col {
		width: 330px;
		display: flex;
		flex-direction: column;
	}
	.top_radius_box .top_news .left_col h2 {
		margin-bottom: 10px;
		color: var(--main-color);
		font-size: 110px;
		font-weight: 700;
	}
	.top_radius_box .top_news .left_col .ttl_jp {
		font-size: 36px;
		font-weight: 700;
	}
	.top_radius_box .top_news .left_col .btn {
		margin-top: auto;
	}
	.top_radius_box .top_news .news_list {
		width: 760px;
	}
	.news_list li {
		border-bottom: 1px solid var(--bdr-color);
	}
	.news_list li a {
		position: relative;
		padding: 30px 50px 30px 0;
		display: block;
	}
	.news_list li a::after {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		width: 38px;
		height: 38px;
		background: url(../../images/src/top/news_arrow.svg) no-repeat right center / 100%;
	}
	.news_list li a .date {
		margin-bottom: 30px;
		font-size: 20px;
		font-weight: 500;
	}
	.news_list li a .date .cate {
		margin-right: 20px;
		padding: 10px 20px;
		color: var(--main-color);
		font-size: 18px;
		font-weight: 700;
		border-radius: 180px;
		background: #DFF2E4;
	}
	.news_list li a .title {
		font-size: 22px;
		font-weight: 500;
		line-height: 1.81;
	}
	.top_bg_fixed {
		position: sticky;
		margin-top: -86px;
		top: 0;
		z-index: 0;
	}
	.top_service {
		padding: 57px 0 115px;
		border-radius: 100px;
		background: var(--main-color);
		box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
	}
	.top_service_wrap {
		margin: 0 auto;
		width: 1720px;
		max-width: 95%;
	}
	.top_service_wrap h2 {
		color: #B7F3C8;
		font-size: 260px;
		font-weight: 700;
		text-align: center;
		opacity: 0.2;
	}
	.top_service_wrap .ttl_jp {
		margin-top: -104px;
		margin-bottom: 70px;
		color: #fff;
		font-size: 72px;
		font-weight: 700;
		text-align: center;
		line-height: 1;
	}
	.top_service_wrap .grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto;
		gap: 60px;
	}
	.gd01 {
		grid-column: 1;
		grid-row: 1;
	} 
	.gd02 {
		grid-column: 2;
		grid-row: 1;
	}
	.gd03 {
		grid-column: 1 / span 2; /* 2カラム分の幅を使う */
		grid-row: 2;
	}
	.top_service_wrap .parts {
		border-radius: 20px;
		background-color: #fff;
		display: flex;
		flex-direction: column;
	}
	.top_service_wrap .ttl {
		margin: 30px 0;
		padding-left: 20px;
		border-left: 10px solid var(--main-color);
		justify-content: left;
		align-items: center;
		gap: 0 30px;
	}
	.top_service_wrap .ttl .list_ttl {
		color: var(--main-color);
		font-size: 20px;
		font-weight: 700;
	}
	.top_service_wrap .num {
		display: block;
		color: #FFF;
		-webkit-text-stroke-width: 2px;
		-webkit-text-stroke-color: #20B14A;
		font-size: 78px;
		font-weight: 600;
	}
	.top_service_wrap .ttl .ttl01 {
		font-size: clamp(1.375rem, -0.307rem + 2.86vw, 3.125rem);
		font-weight: 700;
	}
	.top_service_wrap .txtarea {
		position: relative;
		display: flex;
		flex-direction: column;
		flex-grow: 1;
		margin: 0 60px 82px 60px;
	}
	.top_service_wrap .txt {
		margin-bottom: 34px;
		font-size: 20px;
		font-weight: 400;
		line-height: 2.1;
	}
	.top_service_wrap .gray_box {
		margin-top: auto;
		margin-bottom: 3rem;
		padding: 1rem 3rem;
		border-radius: 7px;
		font-size: 2rem;
		font-weight: 400;
		background: #EFEFEF;
	}
	.top_service_wrap .gd03 {
		flex-direction: initial;
		padding: 60px 60px 50px 60px;
	}
	.top_service_wrap .gd03 .img {
		width: 40.6%;
	}
	.top_service_wrap .gd03 .txtblock {
		width: 56.2%;
		display: flex;
		flex-direction: column;
	}
	.top_service_wrap .gd03 .txtblock .ttl {
		margin-top: -15px;
		padding-left: 0;
		border-left: none;
		font-size: 34px;
		font-weight: 700;
		line-height: 1.7;
	}
	.top_service_wrap .gd03 .txtblock .ttl .marker {
		position: relative;
		color: var(--main-color);
		font-size: 44px;
		font-weight: 700;
		z-index: 1;
	}
	.top_service_wrap .gd03 .txtblock .ttl .marker::after {
		content:'';
		position: absolute;
		left: 0;
		right: 0;
		bottom: -10px;
		margin: auto;
		width: 95%;
		height: 2rem;
		background: #FFF707;
		z-index: -1;
	}
	.top_service_wrap .gd03 .txtblock .txt {
		margin-bottom: 15px;
		font-size: 18px;
	}
	.top_service_wrap .gd03 .btn {
		margin-top: auto;
	}
	.top_service_wrap .btn a {
		width: 330px;
	}

	.top_company {
		margin-top: -115px;
		padding: 220px 0 75px;
		position: relative;
		background: #fff;
		z-index: 1;
	}
	.top_company .ttlbox {
		margin: 0 0 52px -100px;
	}
	.top_company h2 {
		color: var(--main-color);
		font-size: 110px;
		font-weight: 700;
	}
	.top_company .ttl_jp {
		font-size: 36px;
		font-weight: 700;
	}
	.top_company .img {
		/*idth: 654px;*/
		width: calc(55% - 6px);
	}
	.top_company .img img {
		border-radius: 20px;
		box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.25);
		transition: opacity 0.4s ease;
		opacity: 1;
	}
	.top_company .img img.fade-out {
		opacity: 0;
	 }
	.top_company .page_list_link {
		margin-top: -48px;
		width: 465px;
	}
	.top_company .page_list_link li {
		border-bottom: 1px solid var(--bdr-color);
	}
	.top_company .page_list_link li a {
		display: block;
		position: relative;
		padding: 48px 0;
	}
	.top_company .page_list_link li a::after {
		content:'';
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 38px;
		height: 38px;
		background: url(../../images/src/top/news_arrow.svg) no-repeat right center / 100%;
	}
	.top_company .page_list_link li a .title {
		font-size: 27px;
		font-weight: 700;
		line-height: 1.48;
	}
	.top_company .page_list_link li a .title::before,
	.news_list li a .title::before {
		display: none;
	}
	.ticker-container {
		margin-top: -55px;
		position: relative;
		z-index: -1;
		width: 100%;
		overflow: hidden;
		white-space: nowrap;
	}	
	.ticker-wrap {
		display: inline-block;
		animation: ticker 20s linear infinite; /* 速度調整 */
	}	  
	.ticker-move {
		display: inline-block;
	}
	.ticker-item {
		display: inline-block;
		color: #DEF0E3;
		font-size: 280px;
		font-weight: 700;
		line-height: 1;
		padding: 0 30px; /* テキスト間のスペース */
	}
	  
	@keyframes ticker {
		0% {
		  transform: translate3d(0, 0, 0);
		}
		100% {
		  transform: translate3d(-50%, 0, 0); /* 半分だけ動かす */
		}
	  }
	  
	@keyframes ticker02 {
		0% {
			transform: translate3d(-50%, 0, 0); /* ←最初は左に半分寄せておく */
		  }
		  100% {
			transform: translate3d(0, 0, 0); /* →方向へ移動して戻る */
		  }
	}


	.top_blog {
		position: relative;
		background: #fff;
		padding: 0 0 131px clamp(1.25rem, -2.359rem + 6.97vw, 6rem);
	}
	.top_blog::before {
		content:'';
		position: absolute;
		top: 110px;
		left: 0;
		width: 87.34375%;
		height: 605px;
		border-radius: 0 20px 0 0;
		background: #DFF2E4;
		z-index: 0;
	}
	.top_blog .flex {
		position: relative;
		z-index: 1;
	}
	.top_blog .blog_flex {
		justify-content: left;
		gap: 0 104px;
	}
	.top_blog .ttlbox {
		/*width: 120px;*/
		text-align: center;
	}
	.top_blog .ttlbox h2 {
		color: var(--main-color);
		/*font-size: 110px;*/
		font-size: clamp(3.75rem, 1.375rem + 4.58vw, 6.875rem);
		font-weight: 700;
		writing-mode: sideways-rl;
	}
	.top_blog .ttlbox .ttl_jp {
		display: inline;
		position: relative;
		top: 10px;
		font-size: clamp(1.125rem, 0.27rem + 1.65vw, 2.25rem);
		font-weight: 700;
		writing-mode: vertical-rl;
		text-align: center;
	}
	.top_blog .blog_list {
		width: 84%;
	}
	.top_blog .blog_list .swiper-wrapper {
		justify-content: left;
		gap: 0 40px;

	}
	.top_blog .blog_list .parts {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		/*width: 480px;*/
		width: calc(34% - 37px);
		border-radius: 20px;
		background: #FFF;
		box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.25);
		overflow: hidden;
	}
	
	.top_blog .blog_list .parts img {
		width: 100%;
		height: 303px;
		transition: .7s;
	}
	.top_blog .blog_list .parts .txtbox {
		padding: 30px;
	}
	.top_blog .blog_list .parts .txtbox .date {
		margin-bottom: 30px;
		font-size: 20px;
		font-weight: 600;
	}
	.top_blog .blog_list .parts .txtbox .date .cate {
		margin-right: 15px;
		color: var(--main-color);
		font-size: 18px;
		font-weight: 700;
		padding: 10px 20px;
		border-radius: 180px;
		background: #DFF2E4;
	}
	.top_blog .blog_list .parts .txtbox .ttl {
		margin-bottom: 35px;
		font-size: 24px;
		font-weight: 700;
		line-height: 1.75;
	}
	.top_blog .blog_list .parts .txtbox .more {
		position: relative;
		margin-top: auto;
		padding-right: 55px;
		color: var(--main-color);
		font-size: 22px;
		font-weight: 700;
		text-align: right;
	}
	.top_blog .blog_list .parts .txtbox .more::after {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		width: 38px;
		height: 38px;
		background: url(../../images/src/common/arrow_green01.svg) no-repeat right center / 100%;
	}

	.top_recruit02 {
		position: relative;
		padding: 140px 0 106px;
		background: #fff;
	}
	.top_recruit02 .ticker-container {
		position: absolute;
		top: 0;
		margin: 0;
		z-index: 10;
		height: 1274px;
		background: #fff;
	}
	.top_recruit02 .ticker-wrap {
		display: inline-block;
		width: max-content;
		animation: ticker02 60s linear infinite; /* 時間調整 */
		will-change: transform;
	  
	}
	.top_recruit02 .ticker-move {
		display: flex; /* 横並び */
		font-size: 0; /* 隙間をなくす */
	  }
	.top_recruit02 .ticker-item {
		flex: 0 0 auto;
		/*width: 30.52%;*/
		height: 1274px;
		padding: 0;
		font-size: initial;
		
	}
	.top_recruit02 .ticker-item img {
		height: 100%;
		width: auto;
		display: block;
		object-fit: cover;
	}
	.top_recruit02 .recruit_block {
		position: relative;
		margin: 0 68px 0 auto;
		padding: 50px;
		width: 642px;
		border-radius: 20px;
		background-color: #fff;
		z-index: 10;
		box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.25);
	}
	.top_recruit02 .recruit_block .rec_text {
		position: absolute;
		top: -85px;
		left: -140px;
		z-index: -1;
	}
	.top_recruit02 .recruit_block h2 {
		color: var(--main-color);
		font-size: 110px;
		font-weight: 700;
	}
	.top_recruit02 .recruit_block .ttl_jp {
		margin-top: -10px;
		font-size: 36px;
		font-weight: 700;
	}
	.top_recruit02 .recruit_block .tl_txt {
		margin: 20px 0;
		font-size: 38px;
		font-weight: 700;
	}
	.top_recruit02 .recruit_block .tl_txt span {
		color: var(--main-color);
		font-weight: 700;
	}
	.top_recruit02 .recruit_block .txt {
		margin-bottom: 30px;
		font-size: 20px;
		font-weight: 500;
		line-height: 1.9;
	}
	.top_recruit02 .recruit_block .btn {
		width: 261px;
	}
	.top_recruit02 .recruit_block .hito {
		position: absolute;
		right: -5rem;
		bottom: -10rem;
		width: 362px;
	}




/*--------------------------------------------------
		下層汎用
--------------------------------------------------*/
	.hd_main {
		position: relative;
		align-items: center;
		flex-wrap: nowrap;
	}
	.hd_main .ttl_block {
		position: relative;
		margin-left: 7rem;
		padding-top: 5.5rem;
		/*width: 27.6%;*/
		width: 22.6%;
		z-index: 2;
	}
	.hd_main::before {
		content:'';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 76.481%;
		background: #DFF2E4;
		z-index: -1;
	}
	
	#news .hd_main::before,
	#contact .hd_complete .hd_main::before {
		display: none;
	}
	.hd_main .ttl_block h1 {
		color: var(--main-color);
		font-size: 13rem;
		font-weight: 700;
		letter-spacing: 0.02em;
		white-space: nowrap;
	}
	.hd_main .ttl_block .ttl_jp {
		margin-bottom: 9.6rem;
		font-size: 3.6rem;
		font-weight: 700;
		white-space: nowrap;
	}
	.hd_main .mv_img {
		width: 72.39583%;
	}
	.hd_main .mv_img img {
		border-radius: 0 0 0 90px;
		min-height: 557px;
	}
	.breadcrumbs {
		position: relative;
		margin: -8.55rem 0 0 7rem;
		color: var(--main-color);
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.5rem 0;
		z-index: 100;
	}
	.breadcrumbs a span,
	.breadcrumbs span span {
		display: block;
		padding: 9px 15px;
		font-family: "Archivo", sans-serif;
		font-size: 18px;
		font-weight: 700;
		border-radius: 161.391px;
		border: 1.793px solid var(--main-color);
		text-transform:uppercase;
	}
	.breadcrumbs span span { 
		color: var(--main-color);
		background: #fff;
	}
	.breadcrumbs a span {
		color: #fff;
		background: var(--main-color);
		transition: .7s;
	}

	.wp-pagenavi {
		font-size: 2.2rem;
		text-align: center;
	}
	.wp-pagenavi .current,
	.wp-pagenavi a {
		display: inline-block;
		font-weight: 700;
		border-radius: 50%;
		width: 42px;
		margin: 0 0.3rem;
	}
	.wp-pagenavi .current {
		color: #fff;
		background: var(--main-color);
	}
	.wp-pagenavi a.page {
		transition: .7s;
	}
	.navigation {
		margin: 6rem auto 0;
		width: 1080px;
		max-width: 95%;
		align-items: center;
	}
	.navigation .prev,
	.navigation .next {
		width: 14.5rem;
	}
	.navigation .prev a,
	.navigation .next a {
		position: relative;
		font-family: "Archivo", sans-serif;
		color: var(--main-color);
		font-size: 2.2rem;
		font-weight: 700;
		transition: .7s;
	}
	.navigation .prev a {
		padding-left: 5.5rem;
	}
	.navigation .next a {
		padding-right: 5.5rem;
	}
	.navigation .prev a::before,
	.navigation .next a::before {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 3.8rem;
		height: 3.8rem;
	}
	.navigation .prev a::before {
		left: 0;
		background: url(../../images/src/common/arrow_green01.svg) no-repeat left center / 100%;
		transform: rotate(180deg);
	}
	.navigation .next a::before {
		right: 0;
		background: url(../../images/src/common/arrow_green01.svg) no-repeat right center / 100%;
	}
	.navigation .btn .c-button {
		width: 33rem;
		background: #828282;
		border-color: #828282;
	}
	.navigation .btn span {
		padding-left: 6.8rem;
	}
	.navigation .c-button-icon svg {
		stroke: #828282;
	}
	
	#news #footer {
		margin-top: 0;
	}
	


/*--------------------------------------------------
		News	お知らせ
--------------------------------------------------*/
	#news_list_area {
		margin-top: -10.1rem;
		padding: 25.1rem 0 39.7rem;
		background: #DFF2E4;
	}
	#news .category_list ul {
		margin-bottom: 8.2rem;
		justify-content: left;
		gap: 0 14px;
	}
	#news .category_list ul li {
		width: calc(17% - 16px);
		display: flex;
	}
	#news .category_list ul li a {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 24px 0;
		width: 100%;
		color: var(--main-color);
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
		border-radius: 180px;
		border: 2px solid var(--main-color);
		background: #fff;
		transition: .7s;
	}
	#news .category_list ul li.current a {
		color: #fff;
		background: var(--main-color);
	}
	#news .news_list {
		margin-bottom: 9rem;
		justify-content: left;
		gap: 5.1rem 4.2rem;
	}
	#news .news_list .parts {
		display: block;
		/* width: 480px; */
		width: calc(34% - 37px);
		border-radius: 20px;
		background: #FFF;
		box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.25);
		overflow: hidden;
	}
	#news .news_list .parts a img {
		width: 100%;
		height: 230px;
		transition: .7s;
	}
	#news .news_list .parts .txtbox {
		padding: 2.4rem;
	}
	#news .news_list .parts .txtbox .date {
		margin-bottom: 2.4rem;
		font-size: 1.6rem;
		font-weight: 600;
	}
	#news .news_list .parts .txtbox .date .cate {
		margin-right: 15px;
		color: var(--main-color);
		font-size: 1.4rem;
		font-weight: 700;
		padding: 0.74rem 1.5rem;
		border-radius: 180px;
		background: #DFF2E4;
	}
	#news .news_list .parts .txtbox .ttl {
		margin-bottom: 2.7rem;
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.6;
	}
	#news .news_list .parts .txtbox .more {
		position: relative;
		padding-right: 4rem;
		color: var(--main-color);
		font-size: 1.8rem;
		font-weight: 700;
		text-align: right;
	}
	#news .news_list .parts .txtbox .more::after {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		width: 3rem;
		height: 3rem;
		background: url(../../images/src/common/arrow_green01.svg) no-repeat right center / 100%;
	}

	#news .news_detail {
		margin: 0 auto;
		width: 1120px;
		max-width: 95%;
		padding: 7rem 12rem 10rem;
		border-radius: 30px;
		background: #FFF;
		box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.15);
	}
	#news .news_detail .ttlarea {
		margin-bottom: 6rem;
	}
	#news .news_detail .ttlarea .date {
		font-size: 2rem;
		font-weight: 500;
		line-height: 1.78;
		text-align: center;
	}
	#news .news_detail .ttlarea h2 {
		margin-bottom: 9.2rem;
		position: relative;
		font-size: 4rem;
		font-weight: 700;
		line-height: 1.55;
		text-align: center;
	}
	#news .news_detail .ttlarea h2::after {
		content:'';
		position: absolute;
		left: 0;
		right: 0;
		bottom: -2.4rem;
		margin: auto;
		width: 140px;
		height: 4px;
		background: var(--main-color);
	}
	#news .news_detail .ttlarea .eyecatch {
		text-align: center;
	}
	#news .news_detail .ttlarea .eyecatch img {
		border-radius: 14px;
	}


/*--------------------------------------------------
		Company	未来運輸について
--------------------------------------------------*/
	
	#company #footer,
	#safety #footer {
		margin-top: 0;
		background: transparent;
	}
	#company .com_link_list {
		margin: 16.7rem  auto 13rem;
		width: 1200px;
		max-width: 95%;
	}
	#company .com_link_list ul li {
		width: calc(20% - 2.4rem);
	}
	#company .com_link_list ul li a {
		display: block;
		position: relative;
		padding: 1.7rem 3.5rem 1.7rem 0;
		width: 100%;
		font-size: 2.2rem;
		font-weight: 700;
		text-align: center;
		border-radius: 180px;
		border: 2px solid var(--bdr-color);
	}
	#company .com_link_list ul li a::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 2rem;
		margin: auto;
		width: 3.8rem;
		height: 3.8rem;
		background: url(../../images/src/common/arrow_green01_btm.svg) no-repeat right center / 100%;
	}
	#company #message {
		margin-bottom: 14rem;
	}
	#company #message h2 {
		color: var(--main-color);
		font-size: 7rem;
		font-weight: 700;
	}
	#company #message .ttl_jp {
		font-size: 2.4rem;
		font-weight: 700;
	}
	#company #message .right_col p {
		font-size: 2.2rem;
		font-weight: 500;
		line-height: 2.54;
	}
	#company #message .right_col h3 {
		margin-bottom: 3rem;
		font-size: 4.8rem;
		font-weight: 700;
		line-height: 1.62;
	}
	#company #message .right_col h3 .green {
		color: var(--main-color);
		font-weight: 700;
	}
	#company #message .right_col .ceo_txt {
		margin-top: 4rem;
		font-size: 2.4rem;
		font-weight: 700;
	}
	#company #message .right_col .ceo_txt .st {
		font-size: 3.8rem;
	}

	#company .philosophy {
		padding: 14rem 0;
		border-radius: 100px 100px 0 0 ;
		background: #EFEFEF;
	}
	#company .philosophy dl {
		padding: 8rem 0;
		justify-content: left;
		align-items: center;
		gap: 0 4rem;
		background: url(../../images/src/company/border.svg) no-repeat center top / 100%;
	}
	#company .philosophy dl:last-of-type {
		position: relative;
	}
	#company .philosophy dl:last-of-type::after {
		content:'';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 4px;
		background: url(../../images/src/company/border.svg) no-repeat center bottom / 100%;
	}
	#company .philosophy dl dt {
		width: calc(40% - 10px);
		font-size: 2.2rem;
		font-weight: 700;
	}
	#company .philosophy dl dt h3 {
		color: #ACACAC;
		font-size: 6.8rem;
		font-weight: 700;
	}
	#company .philosophy dl dt h3 .green {
		color: var(--main-color);
		font-weight: 700;
	}
	#company .philosophy dl dd {
		width: calc(60% - 35px);
	}
	#company .philosophy dl dd p {
		font-size: 3.2rem;
		font-weight: 700;
	}
	#company .philosophy dl dd ol li {
		position: relative;
		padding-left: 4rem;
		font-size: 2rem;	
		font-weight: 500;
		counter-increment: number;
	}
	#company .philosophy dl dd ol li::before {
		content: counter(number, decimal-leading-zero);
		font-family: "Poppins", sans-serif;
		position: absolute;
		top: 0.4rem;
		left: 0;
		color: var(--main-color);
		font-size: 2.2rem;
		font-weight: 600;
	}
	#company .ticker-container {
		margin-top: 0;
	}
	#company .ticker-wrap {
		display: inline-block;
		width: max-content;
		animation: ticker 60s linear infinite; /* 時間調整 */
		  will-change: transform;
		
	  }
	#company .ticker-move {
		display: flex; /* 横並び */
		font-size: 0; /* 隙間をなくす */
	}
	#company .ticker-item {
		flex: 0 0 auto;
		/*width: 30.52%;*/
		height: 356px;
		padding: 0;
		font-size: initial;
		height: 356px;
	}
	#company .ticker-item img {
		height: 100%;
		width: auto;
		display: block;
		object-fit: cover;
	}
	#company #overview {
		margin: 11rem auto 13rem;
	}
	#company #overview h2,
	#company #servicelist h2,
	#company #history h2 {
		color: var(--main-color);
		font-size: 11rem;
		font-weight: 700;
	}
	#company #overview .ttl_jp,
	#company #servicelist .ttl_jp,
	#company #history .ttl_jp {
		margin-bottom: 6rem;
		font-size: 3.6rem;
		font-weight: 700;
	}
	#company #overview table tr {
		background: #DFF2E4;
	}
	#company #overview table tr:nth-of-type(even) {
		background: #fff;
	}
	#company #overview table tr th {
		width: 23.5%;
		font-size: 2rem;
		font-weight: 700;
		text-align: center;
		vertical-align: middle;
	}
	#company #overview table tr td {
		padding: 4rem 0;
	}
	#company #overview table tr td .flex {
		align-items: flex-start;
		justify-content: left;
		gap: 0 4rem;
	}
	#company #overview table tr td p {
		font-size: 2rem;
		font-weight: 500;
		line-height: 1.9;
	}
	#company #overview table tr td li {
		position: relative;
		padding-left: 2.1rem;
		font-size: 2rem;
		font-weight: 500;
	}
	#company #overview table tr td li::before {
		content:'';
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 1rem;
		height: 1rem;
		border-radius: 50%;
		background: var(--main-color);	
	}
	#company .top_service_wrap .btn {
		position: absolute;
		right: -1.8rem;
		bottom: -4.4rem;
	}
	#company .top_service_wrap .btn a {
		width: 38.6rem;
	}
	#company .top_service_wrap .btn span {
		padding-left: 7.5rem;
	}
	#company .top_service_wrap .btn a i::after {
		content:'';
		position: absolute;
		top: -0.7rem;
		left: 1.2rem;
		width: 2.3rem;
		height: 2.7rem;
		background: url(../../images/src/common/pdf_green.svg) no-repeat left top / 100%;
	}


	#company #servicelist {
		margin: 11rem auto 10rem;
	}
	#company #servicelist .list_parts {
		padding: 5rem;
		border-radius: 20px;
		background: #EFEFEF;
	}
	#company #servicelist .list_parts + .list_parts {
		margin-top: 6rem;
	}
	#company #servicelist .list_parts h3 {
		margin-bottom: 4.7rem;
		padding-left: 2.3rem;
		font-size: 4.2rem;
		font-weight: 700;
		line-height: 1;
		border-left: 7px solid var(--main-color);
	}
	#company #servicelist .list_parts .flex {
		align-items: stretch;
	}
	#company #servicelist .list_parts .img {
		width: calc(50% - 10px);
	}
	#company #servicelist .list_parts .img img {
		border-radius: 12px;
	}
	#company #servicelist .list_parts .right_col {
		display: flex;
		flex-direction: column;
		width: calc(50% - 60px);
	}
	#company #servicelist .list_parts .right_col dl {
	}
	#company #servicelist .list_parts .right_col dl dt,
	#group .sec02 .parts .left_col dl dt {
		position: relative;
		margin-bottom: 1rem;
		padding-left: 3rem;
		font-size: 2.2rem;
		font-weight: 700;
		line-height: 1;
	}
	#company #servicelist .list_parts .right_col dl dt::before,
	#group .sec02 .parts .left_col dl dt::before {
		content:'';
		position: absolute;
		left: 0;
		top: 0;
		width: 17px;
		height: 22px;
		background: url(../../images/src/company/pin.svg) no-repeat left top / 100%;
	}
	#company #servicelist .list_parts .right_col dl dt.tel,
	#group .sec02 .parts .left_col dl dt.tel {
		margin-top: 2rem;
	}
	#company #servicelist .list_parts .right_col dl dt.tel::before,
	#group .sec02 .parts .left_col dl dt.tel::before {
		width: 15px;
		background-image: url(../../images/src/company/tel.svg);
	}
	#company #servicelist .list_parts .right_col dl dd,
	#group .sec02 .parts .left_col dl dd {
		font-size: 2rem;
		font-weight: 400;
		line-height: 1.9;
	}
	#company #servicelist .list_parts .right_col .gmap {
		margin-top: auto;
		position: relative;
		height: 18.8rem;
	}
	#company #servicelist .list_parts .right_col .gmap iframe {
		width: 100%;
		height: 100%;
	}
	#company #servicelist .list_parts .right_col .gmap .gmaplink {
		display: inline-block;
		position: absolute;
		right: 0.8rem;
		bottom: 0.8rem;
	}
	#company #overview table tr td a,
	#company #servicelist .list_parts .right_col .gmap .gmaplink a,
	#group .sec02 .parts .left_col dl dd a {
		display: block;
		position: relative;
		padding: 1rem 3.3rem 1rem 1rem;
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1;
		border: 1px solid #000;
		background: #fff;
	}
	#company #overview table tr td a {
		display: inline;
	}
	#company #overview table tr td a::after,
	#company #servicelist .list_parts .right_col .gmap .gmaplink a::after,
	#group .sec02 .parts .left_col dl dd a::after {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 1rem;
		margin: auto;
		width: 8px;
		height: 13px;
		background: url(../../images/src/company/arrow_ku.svg) no-repeat right top / 100%;
	}
	#company #history {
		padding: 14rem 0 41.3rem;
		background: #DFF2E4;
	}
	#company #history .inner_980 {
		margin: 0 auto;
		width: 980px;
		max-width: 95%;
	}
	#company #history .his_block {
		padding-left: 7.8rem;
		background: url(../../images/src/company/history_dots.svg) repeat-y left top;
	}
	#company #history .his_block .his_parts {
		position: relative;
		padding: 3.5rem;
		border-radius: 16px;
		box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.14);
		background: #fff;
		align-items: center;
		justify-content: left;
		gap: 0 6rem;
	}
	#company #history .his_block .his_parts::before,
	#company #history .his_block .his_parts::after {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;

	}
	#company #history .his_block .his_parts::before {
		left: -8.6rem;
		width: 2.4rem;
		height: 2.4rem;
		border-radius: 50%;
		background: var(--main-color);
	}
	#company #history .his_block .his_parts::after {
		left: -2rem;
		width: 0;
		height: 0;
		border-top: 1.2rem solid transparent;
		border-bottom: 1.2rem solid transparent;
		border-left: 0;
		border-right: 2.9rem solid #fff;
		filter: drop-shadow(-5px 3px 4px rgba(0, 0, 0, 0.14));
		z-index: 0;
	}
	
	#company #history .his_block .his_parts + .his_parts {
		margin-top: 5.1rem;
	}
	#company #history .his_block .his_parts .year_num {
		color: var(--main-color);
	}
	#company #history .his_block .his_parts .year_num .num {
		font-size: 5.6rem;
		font-weight: 700;
	}
	#company #history .his_block .his_parts .year_num .num_jp {
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.9;
	}
	#company #history .his_block .his_parts .event_list {

	}
	#company #history .his_block .his_parts .event_list dl {
		justify-content: left;
		gap: 0 2.4rem;
	}
	#company #history .his_block .his_parts .event_list dt {
		color: var(--main-color);
		font-size: 2rem;
		font-weight: 700;
	}
	#company #history .his_block .his_parts .event_list dd {
		font-size: 2rem;
		font-weight: 500;
		line-height: 1.9;
		width: 56rem;
	}




/*--------------------------------------------------
		SAFETY MEASURES	安全への取り組み
--------------------------------------------------*/
	#safety .sec01	{
		margin: 17rem auto 7rem;
	}
	#safety .sec01 p {
		font-size: 2.6rem;
		font-weight: 700;
		line-height: 2.15;
		text-align: center;
	}
	#safety .sec01 .green {
		color: var(--main-color);
		font-weight: 700;
	}
	#safety .sec02 .parts {
		padding: 10rem 12rem 11rem;
		background: #EFEFEF;
		justify-content: right;
		align-items: center;
		gap: 0 7rem;
	}
	#safety .sec02 .parts:nth-of-type(even) {
		background: #fff;
		justify-content: left;
	}
	
	#safety .sec02 .parts:last-of-type {
		padding-bottom: 41rem;
	}
	
	#safety .sec02 .parts .img {
		position: relative;
		width: calc(47% - 31px);
	}
	#safety .sec02 .parts .img .img01_02 {
		position: absolute;
		left: -5.7rem;
		bottom: -4.8rem;
		width: 28.48%;
	}
	#safety .sec02 .parts .textarea {
		/*width: calc(39% - 40px);*/
		width: 61rem;
	}
	#safety .sec02 .parts .textarea .ttl_sub {
		justify-content: left;
		align-items: center;
		gap: 0 1.5rem;
	}
	#safety .sec02 .parts .textarea .ttl_sub .ttl_num {
		color: #FFF;
		-webkit-text-stroke-width: 2px;
		-webkit-text-stroke-color: var(--main-color);
		font-size: 10.6rem;
		font-weight: 600;
	}
	#safety .sec02 .parts .textarea .ttl_sub .ttl_sub_txt {
		color: var(--main-color);
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: 0.02em;
	}
	#safety .sec02 .parts .textarea h2 {
		margin-bottom: 1rem;
		color: var(--main-color);
		font-size: 5.2rem;
		font-weight: 700;
		line-height: 1.26;
	}
	#safety .sec02 .parts .textarea .txt {
		font-size: 2rem;
		font-weight: 400;
		line-height: 2.1;
	}
	#safety .sec02 .parts .textarea dl {
		margin-top: 2.5rem;
	}
	#safety .sec02 .parts .textarea dl dt {
		margin-bottom: 1rem;
		padding-left: 1.6rem;
		border-left: 4px solid var(--main-color);
		color: var(--main-color);	
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.5;
	}
	#safety .sec02 .parts .textarea dl dd {
		padding-left: 2rem;
		font-size: 2rem;
		line-height: 1.9;
	}
	#safety .sec02 .parts .textarea .white_box {
		display: inline-block;
		margin-top: 1.7rem;
		padding: 0.5rem 2.2rem;
		border-radius: 10px;
		font-size: 2.4rem;
		font-weight: 700;
		background: #fff;
	}
	#safety .sec02 .parts .textarea .white_box .green {
		color: var(--main-color);
		font-weight: 700;
	}
	
	#safety .sec02 .parts .textarea ul {
		margin-top: 1.5rem;
		padding: 2rem 3rem;
		border-radius: 10px;
		background: #fff;
	}
	#safety .sec02 .parts .textarea ul li {
		position: relative;
		padding-left: 2.8rem;
		font-size: 2rem;
		font-weight: 500;
		line-height: 1.6;
	}
	#safety .sec02 .parts .textarea ul li + li {
		margin-top: 1rem;
	}
	#safety .sec02 .parts .textarea ul li::before {
		content: '';
		position: absolute;
		top: 1.05rem;
		left: 0;
		width: 1.4rem;
		height: 1.4rem;
		border-radius: 50%;
		background: var(--main-color);
	}



/*--------------------------------------------------
		GROUP COMPANY グループ企業
--------------------------------------------------*/
	#group #footer {
		margin-top: 0;
		background: transparent;
	}
	#group .sec01 {
		  margin: 16.7rem 0 9.4rem;
	}
	#group .sec01 p {
		font-size: 2.8rem;
		font-weight: 700;
	}
	
	#group .sec02 {
		margin-bottom: 41rem;
	}
	#group .sec02 .parts {
		position: relative;
		padding: 6rem 5rem 5.3rem;
		border-radius: 20px;
		background: #EFEFEF;
		box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.13);
	}
	#group .sec02 .parts + .parts {
		margin-top: 7rem;
	}
	#group .sec02 .parts h2 {
		margin-bottom: 4rem;
		padding-left: 2rem;
		border-left: 4px solid var(--main-color);
		font-size: 3.4rem;
		font-weight: 700;
	}
	#group .sec02 .parts .group_box {
		justify-content: left;
		gap: 0 6rem;
	}
	#group .sec02 .parts .btn {
		position: absolute;
		right: 5rem;
		top: 5rem;
	}
	#group .sec02 .parts .btn span {
		font-size: 2rem;
	}
	#group .sec02 .parts .btn .c-button-icon::before {
		top: -2px;
		width: 4.5rem;
		height: 4.5rem;
	}
	#group .sec02 .parts .btn a {
		padding: 0.9rem 2.1rem;
		width: 23.1rem;
	}
	#group .sec02 .parts .img,
	#group .sec02 .parts .left_col {
		flex: 1;
	}
	#group .sec02 .parts .img {
		display: flex;
		border-radius: 12px;
		background-color: #fff;
		justify-content: center;
		align-items: center;
	}
	#group .sec02 .parts .left_col dl dd a {
		display: inline-block;
		margin-top: 1rem;
	}
	#group .sec02 .parts .left_col dl dt.tel {
		margin-top: 5rem; 
	}


/*--------------------------------------------------
		Contact	お問い合わせ
--------------------------------------------------*/
	#contact .sec01_phone {
		margin: 16.6rem auto 11rem;
	}
	#contact .sec01_phone h2,
	#contact .sec02_mail h2 {
		margin-bottom: 2.8rem;
		color: var(--main-color);
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1;
		text-align: center;
	}
	#contact .sec01_phone .ttl_jp,
	#contact .sec02_mail .ttl_jp {
		font-size: 4.8rem;
		font-weight: 700;
		line-height: 1;
		text-align: center;
	}
	#contact .sec01_phone .green_block {
		margin: 6rem auto 0;
		padding: 2.5rem 0 3.7rem;
		width: 100%;
		max-width: 660px;
		border-radius: 16px;
		background: var(--main-color);
		text-align: center;
	}
	#contact .sec01_phone .green_block .tel {
		text-align: center;
	}
	#contact .sec01_phone .green_block .tel a {
		position: relative;
		color: #fff;
		font-size: 7.2rem;
		font-weight: 700;
	}
	#contact .sec01_phone .green_block .tel a svg {
		
	}
	#contact .sec01_phone .green_block .txt {
		color: #fff;
		font-size: 2.2rem;
		font-weight: 700;
	}
	#contact .sec02_mail {
		padding: 12rem 0 14rem;
		background: #EFEFEF;
	}
	#contact .sec02_mail .txt {
		margin: 8rem 0 4rem;
		font-size: 2rem;
		font-weight: 400;
	}
	#contact .sec02_mail .kome {
		padding: 0.5rem;
		color: #fff;
		font-size: 1.4rem;
		font-weight: 700;
		text-align: center;
		border-radius: 6px;
		background-color: #B20000;
	}
	#contact .sec02_mail th {
		display: flex;
		width: 24.6rem;
		font-size: 2.2rem;
		font-weight: 700;
		line-height: 1;
		align-items: center;
		justify-content: space-between;
	}
	#contact .sec02_mail td {
		padding: 1.5rem 0;
		width: 73rem;
		font-size: 2rem;
		font-weight: 500;
	}
	#contact .sec02_mail td input[type="text"],
	#contact .sec02_mail td textarea {
		padding: 2rem;
		width: 100%;
		color: var(--text-color);
		font-size: 2rem;
		font-weight: 500;
		box-sizing: border-box;
		border: 0;
		border-radius: 16px;
	}
	#contact .sec02_mail td .checkblock {
		display: block;
		font-size: 2rem;
		font-weight: 500;
	}
	.checkblock .visually-hidden {
		position: absolute;
		white-space: nowrap;
		border: 0;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		overflow: hidden;
		height: 1px;
		width: 1px;
		margin: -1px;
		padding: 0;
	}
	#contact .sec02_mail td .checkblock label {
		padding-left: 4.4rem;
		font-weight: 500;
		position: relative;
		cursor: pointer;
	}

	.checkblock label::before,
	.checkblock label::after {
		content: "";
		display: block;
		border-radius: 50%;
		position: absolute;
		transform: translateY(-50%);
		top: 50%;
	}
	.checkblock label::before {
		background-color: #fff;
		border: 1px solid #CDCDCD;
		border-radius: 50%;
		width: 24px;
		height: 24px;
		left: 5px;
		box-sizing: border-box;
	}
	.checkblock input:checked + label::after {
		opacity: 1;
	}
	.checkblock label::after {
		background-color: var(--main-color);
		border-radius: 50%;
		opacity: 0;
		width: 12px;
		height: 12px;
		left: 11px;
	}
	#contact .sec02_mail .error {
		color: #B20000;
		font-size: 1.4rem;
		font-weight: 600;
	}
	#contact .sec02_mail td textarea {
		margin-top: 2rem;
		min-height: 24.8rem;
	}
	#contact .sec02_mail .txt.tac {
		margin: 4rem auto 2.5rem;
	}
	#contact .sendbtn {
		justify-content: center;
		align-items: center;
		gap: 0 3rem;
	}
	#contact .sendbtn #send,
	#contact .sendbtn #back {
		width: 33rem;
		cursor: pointer;
	}
	#contact .sendbtn #send .c-button,
	#contact .sendbtn #back .c-button {
		padding: 1.8rem 2rem;
	}
	#contact .sendbtn #back .c-button {
		background: #828282;
		border: 1px solid #828282;
	}
	#contact .sendbtn #send input,
	#contact .sendbtn #back input {
		position: relative;
		cursor: pointer;
		z-index: 100;
		padding-left: 5.3rem;
		color: #fff;
		font-size: 2.2rem;
		font-weight: 700;
		border: 0;
		background: transparent;
	}
	#contact .sendbtn #send .c-button-icon::before,
	#contact .sendbtn #back .c-button-icon::before {
		top: 0;
	}
	#contact .sendbtn #back .c-button-icon svg {
		stroke: #828282;
	}
	#contact .sendbtn #send.confirmbtn input {
		padding-left: 8.3rem;
	}
	#contact .privacypolicy {
		margin: 11rem auto 0;
		padding: 5.8rem 6rem 4.7rem;
		width: 1200px;
		max-width: 95%;
		height: 415px;
		background: #fff;
		overflow-y: scroll;
	}
	#contact .privacypolicy h3 {
		margin-bottom: 4.7rem;
		font-size: 2.8rem;
		font-weight: 700;
		text-align: center;
	}
	#contact .privacypolicy p {
		font-size: 1.8rem;
		font-weight: 400;
		line-height: 2.11;
	}

	#contact .sec01_complete {
		margin-top: -10.1rem;
		padding: 25.7rem 0 12rem;
		background: #EFEFEF;
		text-align: center;
	}
	#contact .sec01_complete h2 {
		font-size: 4.8rem;
		font-weight: 700;
	}
	#contact .sec01_complete .ttl {
		margin: 3.2rem 0 4rem;
		font-size: 2.4rem;
		font-weight: 700;
	}
	#contact .sec01_complete .txt {
		font-size: 2rem;
		font-weight: 400;
		line-height: 2.1;
	}
	#contact .sec01_complete .txt a {
		color: var(--main-color);
		font-weight: 700;
	}
	#contact .sec01_complete .btn {
		margin: 5rem 0 0;
		text-align: left;
	}
	#contact .sec01_complete .btn .c-button {
		margin: 0 auto;
		width: 33rem;
		background: #828282;
		border-color: #828282;
	}
	#contact .sec01_complete .c-button-icon svg {
		stroke: #828282;
	}
	#contact .sec01_complete .btn span {
		padding-left: 6.8rem;
	}

	
	#contact .confirmsec .hd_main::before {
		display: none;
	}
	#contact .confirmsec .sec02_mail {
		margin-top: -5vw;
		padding-top: 22rem;
	}

	/* 404page */
	.sec_404 {
		margin: 16.7rem  auto 13rem;
		padding-bottom: 23rem;
	}
	.sec_404 h2 {
		margin-bottom: 6rem;
		font-size: 2.4rem;
		font-weight: 700;
		text-align: center;
	}
	.sec_404 .btn .c-button {
		margin: 0 auto;
		width: 33rem;
	}
	.sec_404 .btn span {
		padding-left: 7rem;
	}


}
@media screen and (max-width: 1750px) {
	.top_blog {
		padding-left: 40px;
	}
	.top_blog .blog_flex {
		gap: 0 50px;
	}
	.top_blog .ttlbox h2 {
		font-size: 60px;
	}
}

@media screen and (max-width: 1560px) {
	.top_about .map_block {
		right: 7vw;
	}
}
@media screen and (max-width: 1530px) {
	.about_gallery_item {
		transform: scale(0.7);
	}
	.about_gallery_item:nth-child(2),
	.about_gallery_item:nth-child(3) {
		left: auto;
		right: 0;
	}
}

@media screen and (max-width: 1465px) {
	#safety .sec02 .parts .textarea {
		width: 55rem;
	}
}
@media screen and (max-width: 1430px) {
	.top_company .ttlbox {
		margin-left: 0;
	}
	
	#contact .confirmsec .sec02_mail {
		margin-top: -6vw;
		padding-top: 16rem;
	}
}

@media screen and (max-width:1380px) {
	.key_visual .top_text_content .top_text_item .text {
		left: 84.6px;
	}
	.top_about .inner_1320 {
		margin-left: 84px;
	}
}
  
/*小さめ画面 */
@media screen and (max-width:1280px) {
	.hd_main .ttl_block h1 {
		font-size: 10rem;
	}
	.top_about .map_block {
		right: 0;
	}
	.top_service_wrap h2 {
		font-size: clamp(10rem, -1.488rem + 22.17vw, 16.25rem);
	}
	#group .sec02 .parts .img {
		padding: 0 2rem;
	}
	#safety .sec02 .parts {
		padding: 10rem 12rem 11rem 6rem;
	}
	#safety .sec02 .parts .textarea {
		width: 50rem;
	}
	#safety .sec02 .parts .textarea h2 {
		font-size: 5rem;
		white-space: nowrap;
	}
}

@media screen and (max-width:1210px) {
	.top_radius_box .top_news .left_col {
		width: calc(35% - 10px);
	}
	.top_radius_box .top_news .news_list {
		width: calc(60% - 10px);
	}
}
/*タブレット */
@media screen and (max-width:1180px) {
	.container .key_visual .top_road {
		position: fixed;
		max-height: 100dvh !important;
		height: 100dvh !important;
		bottom: 0 !important;
	}
	.key_visual .top_text_content .top_text_item .text {
		height: 100dvh;
	}
	.top_about .top_about_wrap {
		padding-top: 58px;
	}
	.top_about .map_block {
		top: -520px;
		right: -5rem;
	}


	.top_company .img {
		width: calc(50% - 6px);
	}
	.top_company .page_list_link {
		margin-top: -30px;
		width: calc(45% - 10px);
	}
	.top_company .page_list_link li a {
		padding: 30px 0;
	}
	#group .hd_main .ttl_block h1 {
		font-size: 10rem;
	}
	#safety .sec02 .parts {
		flex-wrap: nowrap;
	}
}
@media screen and (max-width:1080px) {
	.top_recruit02 .recruit_block .hito {
		bottom: -12rem;
	}
}

@media screen and (max-width:1024px) {
	.top_about .map_block {
		left: 0;
	}
}


/*SP用*/
@media screen and (max-width:828px) {
	.pc { display: none !important }
	.sp { display: block !important }
	img { max-width: 100%; height: auto; width: auto; }
	body { min-width: auto !important; overflow: inherit !important; }
	.sp_tac { text-align: center !important; }
	.sp_tar { text-align: right !important; }
	.sp_mb15 { margin-bottom: 15px !important; }
	.sp_mb20 { margin-bottom: 20px !important; }
	.sp_mb30 { margin-bottom: 30px !important; }
	.sp_mb40 { margin-bottom: 40px !important; }
	.sp_mb45 { margin-bottom: 45px !important; }
	.sp_mb50 { margin-bottom: 50px !important; }
	.sp_mb60 { margin-bottom: 60px !important; }
	.sp_mb70 { margin-bottom: 70px !important; }
	.sp_mb80 { margin-bottom: 80px !important; }
	.sp_mb90 { margin-bottom: 90px !important; }
	.sp_mb100 { margin-bottom: 100px !important; }
	div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }

	.c-button-icon {
		width: 30px;
		height: 30px;
	
	}
	.c-button-icon svg {
		top: 1px;
		left: 6px;
	}
	.c-button-icon::before {
		width: 30px;
		height: 30px;
	}
	.btn .c-button::before {
		display: none;
	}
	.inner_1600,
	.inner_1320,
	.inner_1200,
	.inner_1040 {
		margin: 0 4.831vw;
		width: auto;
		max-width: initial;
	}

	.container .key_visual .top_road {
		position: fixed;
		width: 100%;
		height: 100dvh;
		background: url(../../images/src/top/top_road.webp) no-repeat right -26vw bottom / 100%;
	}
	.container .key_visual .top_road .truck {
		position: absolute;
		right: 7.4vw;
		bottom: -1vw;
		width: 18.961vw;
	}
	.container .key_visual .top_road .truck.small {
		transform: scale(0.6);
		bottom: 0;
	}
	.container .key_visual .top_road .truck.smaller {
		transform: scale(0.4);
		bottom: 2vw;
		right: 7.5vw;
	}
	.truck img {
		animation: shakeCar 1.2s infinite ease-in-out;
		transform-origin: center bottom; /* 車の下を軸に傾ける */	
	}

	.container .key_visual .top_mv .mv1 {
		background-image: url(../../images/src/top/sp/hero_img01.webp);
	}
	.container .key_visual .top_mv .mv1 .road_light {
		bottom: -18vw;
	}
	.key_visual .top_mv .mv2 {
		background-image: url(../../images/src/top/sp/hero_img02.webp);
	}
	.key_visual .top_mv .mv3 {
		background-image: url(../../images/src/top/sp/hero_img03.webp);
	}
	.key_visual .top_text_content .top_text_title,
	.key_visual .top_text_content .top_text_item {
		width: 100%;
	}
	.key_visual .top_text_content .top_text_title .kv_text {
		position: absolute;
		left: 3.623vw;
		bottom: 6.763vw;
		width: 88.406vw;
	}
	.key_visual .top_text_content .top_text_title .kv_text .en_ttl {
		margin-top: 5.314vw;
		font-size: 3.14vw;
		line-height: 1.38;
	}
	.key_visual .top_text_content .top_text_item p {
		font-size: 3.865vw;
		line-height: 2.18;
	}
	.key_visual .top_text_content .top_text_item .text {
		left: 3.623vw;
	}
	.key_visual .top_text_content .top_text_item p span {
		font-size: 5.314vw;
	}
	#hero--scroll { display: none; }

	.container .key_visual .top_mv .mv1::before,
	.container .key_visual .top_mv .mv2::before,
	.container .key_visual .top_mv .mv3::before {
		width: 91.787vw;
height: 79.71vw;
		background: url(../../images/src/top/sp/top_road_light02.png) no-repeat right bottom / 100%;
	}
	.btn a {
		padding: 2.899vw;
	}
	.btn span {
		padding-left: 8.527vw;
		font-size: 3.865vw;
	}
	.btn .c-button {
		border-radius: 7.62vw;
	}
	.btn .c-button-icon::before {
		width: 8.937vw;
		height: 8.937vw;
		top: -2vw;
	}
	.btn .c-button-icon svg {
		top: 0;
		left: 2.5vw;
		width: 3.623vw;
		height: 3.261vw;
	}
	.top_about .inner_1320 {
		margin-left: 4.831vw;
	}
	.top_about,
	.top_radius_box {
	  position: -webkit-sticky;
	}
	.top_about .top_about_wrap {
		padding: 13.285vw 0 78.792vw;
	}
	.top_about .txt {
		font-size: 3.865vw;
		line-height: 2.18;
	}
	.top_about .txt span {
		font-size: 5.314vw;
	}
	.top_about .txt + .txt {
		margin-top: 1.5em;
	}
	.top_about .btn {
		margin-top: 5.87vw;
		width: 53.382vw;
	}
	.top_about .map_block {
		top: 51.29vw;
		left: 4.469vw;
		right: 0;
		margin: auto;
		width: 95.531vw;
	}
	.top_about .about_circle {
		top: 82vw;
		left: 51.242vw;
		width: 5.125rem;
		height: 5.125rem;
	}
	@keyframes dots_light_bd {
		0% {
		  opacity: 0;
		}
		1% {
		  opacity: 1;
		}
		80% {
		  opacity: .4;
		}
		100% {
		  width: 1600%;
		  opacity: 0;
		}
	}
	.top_about .about_gallery {
		position: relative;
		width: 100%;
		height: 98.913vw;
	}
	.top_about .about_gallery .about_gallery_item {
		position: absolute;
	}
	.top_about .about_gallery .about_gallery_item:nth-child(1) {
		top: 0;
        left: 49.034vw;
        width: 22.705vw;
	}
	.top_about .about_gallery .about_gallery_item:nth-child(2) {
        top: 15.942vw;
        left: 4.831vw;
        width: 33.816vw;
		z-index: 101;
    }
	.top_about .about_gallery .about_gallery_item:nth-child(3) {
        top: 40.217vw;
        left: 29.106vw;
        width: 66.063vw;
		z-index: 100;
    }
	
	.top_about .about_gallery .about_gallery_item .about_gallery_image {
		border-radius: 2.415vw;
	}

	.top_recruit {
		border-radius: 12.077vw 12.077vw 0 0;
	}
	.top_recruit .text_block {
		padding: 16.754vw 0 11.353vw;
		width: 66.425vw;
	}
	
	.top_recruit .text_block .rec_text {
		top: 8.058vw;
		left: -14.01vw;
		width: 44.444vw;
	}
	.top_recruit .text_block h2 {
		font-size: 14.493vw;
	}
	.top_recruit .text_block .ttl_jp {
		margin: 0 0 4.333vw;
		font-size: 5.556vw;
	}
	.top_recruit .text_block .txt {
		margin-bottom: 8.696vw;
		font-size: 7.005vw;
		line-height: 1.48;
	}
	.top_recruit .text_block .btn .c-button {
		width: 57.005vw;
	}
	.top_recruit .text_block .hito01 {
		left: -23vw;
		width: 27.536vw;
	}
	.top_recruit .text_block .hito02 {
		right: -25vw;
		width: 31.401vw;
	}
	.top_recruit .p_recruit_slide_images {
		position: absolute;
		inset: 0;
		display: flex;
		justify-content: space-between;
	}
	.top_recruit .p_recruit_slide_images_block {
		width: 33.454vw;
	}
	
	.top_recruit .p_recruit_slide_images_block:nth-of-type(1) {
		margin-left: -6.643vw;
	}
	.top_recruit .p_recruit_slide_images_block:nth-of-type(3) {
		margin-right: -6.643vw;
	}
	
	.top_radius_box .top_news {
		padding: 8.454vw 3.623vw 16.908vw;
		border-radius: 0 0 12.077vw 12.077vw;
	}
	.top_radius_box .top_news .news_wrap {
		margin: 0 auto;
		width: auto;
		max-width: initial;
		display: block;
	}
	.top_radius_box .top_news .left_col {
		width: auto;
		display: block;
	}
	.top_radius_box .top_news .left_col h2 {
		margin-bottom: 2.174vw;
		font-size: 14.493vw;
	}
	.top_radius_box .top_news .left_col .ttl_jp {
		font-size: 5.556vw;
	}
	.top_radius_box .top_news .left_col .btn {
		display: none;
	}
	.top_radius_box .top_news .news_list {
		width: auto;
	}
	.news_list li a {
		position: relative;
		padding: 3.623vw 8.5vw 3.623vw 0;
		display: block;
	}
	.news_list li a::after {
		width: 7.005vw;
		height: 7.005vw;
	}
	.news_list li a .date {
		margin-bottom: 4.831vw;
		font-size: 3.623vw;
	}
	.news_list li a .date .cate {
		margin-right: 2.415vw;
		padding: 1.208vw 2.415vw;
		font-size: 3.623vw;
		border-radius: 21.739vw;
	}
	.news_list li a .title {
		font-size: 3.865vw;
		line-height: 1.62;
	}
	.top_bg_fixed {
		position: sticky;
		margin-top: -11vw;
		top: 0;
		z-index: 0;
	}
	.top_service {
		margin-top: -14vw;
		padding: 6.884vw 4.831vw 14.493vw;
		border-radius: 12.077vw;
	}
	.top_service_wrap {
		margin: 0 auto;
		width: auto;
		max-width: initial;
	}
	.top_service_wrap h2 {
		margin-left: -2.831vw;
		font-size: 21.288vw;
	}
	.top_service_wrap .ttl_jp {
		margin-top: -12.56vw;
		margin-bottom: 7.246vw;
		font-size: 7.005vw;
	}
	.top_service_wrap .grid {
		display: block;
	}
	.top_service_wrap .parts {
		padding:  6.522vw 0 4.831vw;
		border-radius: 2.415vw;
	}
	
	.top_service_wrap .parts + .parts {
		margin-top: 6.039vw;
	}
	.top_service_wrap .ttl {
		margin: 0 0 4.831vw;
		padding-left: 2.415vw;
		border-left-width: 1.208vw;
		gap: 0 3.623vw;
	}
	.top_service_wrap .ttl .list_ttl {
		font-size: 2.899vw;
	}
	.top_service_wrap .num {
		-webkit-text-stroke-width: 0.242vw;
		font-size: 11.836vw;
	}
	.top_service_wrap .ttl .ttl01 {
		font-size: 6vw;
		line-height: 1.29;
	}
	.top_service_wrap .txtarea {
		margin: 0 4.831vw;
	}
	.top_service_wrap .txt {
		margin-bottom: 6.039vw;
		font-size: 3.623vw;
		line-height: 1.86;
	}
	
	.top_service_wrap .gray_box {
		margin-bottom: 3.623vw;
		padding: 1.812vw 4.831vw;
		border-radius: 0.845vw;
		font-size: 3.623vw;
	}
	.top_service_wrap .gray_box .lf {
		display: block;
		margin-left: 36vw;
	}
	.top_service_wrap .gd03 {
		padding: 9.179vw 4.831vw  4.831vw;
	}
	.top_service_wrap .gd03 .img {
		margin-top: 7.246vw;
		order: 2;
		width: 100%;
	}
	.top_service_wrap .gd03 .txtblock {
		order: 1;
		width: 100%;
	}
	.top_service_wrap .gd03 .txtblock .ttl {
		margin-top: 0;
		padding-left: 0;
		font-size: 5.314vw;
		line-height: 1.9;
	}
	.top_service_wrap .gd03 .txtblock .ttl .marker {
		margin-left: -4vw;
		font-size: 6.522vw;
	}
	
	.top_service_wrap .gd03 .txtblock .ttl .marker::after {
		bottom: -1.5vw;
		width: 87%;
		height: 3.382vw;
	}
	.top_service_wrap .gd03 .txtblock .txt {
		margin-bottom: 5.918vw;
		font-size: 3.623vw;
		line-height: 1.86;
	}
	.top_service_wrap .btn a {
		margin: 0 auto;
		width: 53.382vw;
	}

	.top_company {
		margin-top: -0;
		padding: 12.077vw 0;
	}
	.top_company .ttlbox {
		margin: 0 0 8.454vw 0;
	}
	.top_company h2 {
		font-size: 14.493vw;
	}
	.top_company .ttl_jp {
		font-size: 5.556vw;
	}
	.top_company .img {
		width: auto;
	}
	.top_company .img img {
		border-radius: 2.415vw;
	}
	.top_company .page_list_link {
		margin-top: 3.623vw;
		width: 100%;
	}
	.top_company .page_list_link li a {
		padding: 4.831vw 0;
	}
	.top_company .page_list_link li:first-of-type a {
		padding-top: 4.831vw;
	}
	.top_company .page_list_link li a::after {
		width: 7.005vw;
		height: 7.126vw;
	}
	.top_company .page_list_link li a .title {
		font-size: 4.589vw;
		line-height: 1.05;
	}
	.ticker-container {
		margin-top: 4.831vw;
	}
	.ticker-item {
		font-size: 21.739vw;
		padding: 0 3.623vw; /* テキスト間のスペース */
	}
	  
	.top_blog {
		position: relative;
		background: #fff;
		padding: 0 0 20vw 4.831vw;
		overflow: hidden;
	}
	.top_blog::before {
		top: 8.454vw;
		width: 90.338vw;
		height: 125vw;
		border-radius: 0 12.077vw 0 0;
	}
	.top_blog .blog_flex {
		display: block;
	}
	.top_blog .blog_list .swiper-wrapper {
		gap: 0;
	}
	.top_blog .ttlbox {
		margin-bottom: 7.246vw;
		width: auto;
		text-align: left;
	}
	.top_blog .ttlbox h2 {
		font-size: 14.493vw;
		writing-mode: horizontal-tb;
	}
	.top_blog .ttlbox .ttl_jp {
		display: block;
		top: 0;
		font-size: 5.556vw;
		writing-mode: horizontal-tb;
		text-align: left;
	}
	.top_blog .blog_list {
		width: 84%;
		justify-content: left;
		gap: 0 40px;
	}
	.top_blog .blog_list .parts {
		width: 70.531vw;
		border-radius: 2.938vw;
	}
	.top_blog .blog_list .parts .img img {
		height: 47.101vw;
	}
	
	.top_blog .blog_list .parts .txtbox {
		padding: 3.865vw 4.348vw;
	}
	.top_blog .blog_list .parts .txtbox .date {
		margin-bottom: 4.348vw;
		font-size: 3.623vw;
	}
	.top_blog .blog_list .parts .txtbox .date .cate {
		margin-right: 2.415vw;
		font-size: 3.382vw;
		padding: 1.208vw 2.415vw;
		border-radius: 21.739vw;
	}
	.top_blog .blog_list .parts .txtbox .ttl {
		margin-bottom: 5.435vw;
		font-size: 4.106vw;
		line-height: 1.58;
	}
	.top_blog .blog_list .parts .txtbox .more {
		padding-right: 7.488vw;
		font-size: 3.865vw;
	}
	.top_blog .blog_list .parts .txtbox .more::after {
		width: 6.039vw;
		height: 6.039vw;
	}
	.top_blog .arrow {
		position: absolute;
		top: 20vw;
		right: 12vw;
		width: 26.986vw;
	}
	.top_blog .swiper-button-next,
	.top_blog .swiper-button-prev {
		width: 9.058vw;
		height: 9.058vw;
	}
	.top_blog .swiper-button-prev:after,
	.top_blog .swiper-rtl .swiper-button-next:after {
		content:'';
		width: 9.058vw;
		height: 9.058vw;
		background: url(../../images/src/top/sp/blog_left.svg) no-repeat left top / 100%;
	}
	.top_blog .swiper-button-next:after,
	.top_blog .swiper-rtl .swiper-button-prev:after {
		content:'';
		width: 9.058vw;
		height: 9.058vw;
		background: url(../../images/src/top/sp/blog_right.svg) no-repeat right top / 100%;
	}
	.top_blog .swiper-scrollbar {
		width: 87.184vw !important;
		bottom: -7vw !important;
		background: #C7C7C7;
	}
	.top_blog .swiper-scrollbar-drag {
		background: var(--main-color);
	}

	.top_recruit02 {
		margin-bottom: -10vw;
		padding: 57.971vw 0 32vw;
		overflow: hidden;
	}
	.top_recruit02 .ticker-container {
		height: 72.222vw;
	}
	.top_recruit02 .ticker-move {
		display: inline-block;
		font-size: 0; /* ←ここ追加 */
	  }
	.top_recruit02 .ticker-item {
		/*width: 33.454vw;*/
		width: auto;
		height: 72.222vw;
	}
	.top_recruit02 .ticker-item img {
		height: 100%;
	}
	.top_recruit02 .recruit_block {
		margin: 0;
		padding: 11.594vw 4.831vw 9.783vw;
		width: auto;
		border-radius: 2.798vw;
	}
	.top_recruit02 .recruit_block .rec_text {
		width: 44.444vw;
		top: 1vw;
		left: 0;
	}
	.top_recruit02 .recruit_block h2 {
		font-size: 14.493vw;
	}
	.top_recruit02 .recruit_block .ttl_jp {
		margin-top: -1.208vw;
		font-size: 5.556vw;
	}
	.top_recruit02 .recruit_block .tl_txt {
		margin: 2.415vw 0;
		font-size: 6.522vw;
		line-height: 1.44;
	}
	.top_recruit02 .recruit_block .txt {
		margin-bottom: 7.246vw;
		font-size: 3.623vw;
		line-height: 1.86;
	}
	.top_recruit02 .recruit_block .btn {
		width: 41.304vw;
	}
	.top_recruit02 .recruit_block .hito {
		right: -4.662vw;
		bottom: -22vw;
		width: 54.952vw;
	}


/*--------------------------------------------------
		下層汎用
--------------------------------------------------*/
	.hd_main {
		align-items: center;
		flex-wrap: nowrap;
	}
	.hd_main::before {
		height: 55.861vw;
	}
	.hd_main .ttl_block {
		margin-left: 4.106vw;
		padding-top: 7vw;
		width: 35%;
	}
	.hd_main .ttl_block h1 {
		font-size: 11.353vw;
		line-height: 0.95;
	}
	.hd_main .ttl_block .ttl_jp {
		margin-bottom: 0;
		font-size: 4.348vw;
	}
	.hd_main .mv_img {
		width: 55.556vw;
	}
	.hd_main .mv_img img {
		border-radius: 0 0 0 7.246vw;
		min-height: 64.734vw;
	}
	
	.breadcrumbs {
		margin: 2.899vw 0 0 04.106vw;
	}
	.breadcrumbs a span,
	.breadcrumbs span span {
		padding: 1.691vw 2.717vw;
		font-size: 3.382vw;
		border-radius: 30.141vw;
		border-width: 0.335vw;
	}

	.wp-pagenavi {
		font-size: 3.865vw;
	}
	.wp-pagenavi .current,
	.wp-pagenavi a {
		width: 8vw;
	}

	.navigation {
		margin: 7.729vw 4.831vw 0;
		width: auto;
		max-width: iniital;
	}
	.navigation .prev,
	.navigation .next {
		width: 23.188vw;
	}
	.navigation .prev a,
	.navigation .next a {
		font-size: 3.865vw;
	}
	.navigation .prev a {
		padding-left: 7.488vw;
	}
	.navigation .next a {
		padding-right: 7.488vw;
	}
	.navigation .prev a::before,
	.navigation .next a::before {
		width: 6.28vw;
		height: 6.28vw;
	}
	.navigation .btn .c-button {
		width: 35.024vw; 
	}
	.navigation .btn span {
		padding-left: 4.831vw;
	}
	.navigation .btn .c-button-icon::before {
		top: -1.5vw;
		width: 7.488vw;
		height: 7.488vw;
	}
	.navigation .btn .c-button-icon svg {
		left: 2.3vw;
	}
	


	#news #footer,
	#company #footer {
		margin-top: 0;
	}




/*--------------------------------------------------
	News	お知らせ
--------------------------------------------------*/
	#news_list_area {
		margin-top: -15.937vw;
		padding: 31.039vw 0 17.947vw;
	}
	#news .category_list ul {
		margin-bottom: 9.662vw;
		gap: 3.14vw 2.899vw;
	}
	#news .category_list ul li {
		width: 43.72vw;
		display: block;
	}
	#news .category_list ul li a {
		display: block;
		padding: 3.623vw 0;
		font-size: 3.623vw;
		font-weight: 700;
		line-height: 0.86;
		border-radius: 21.739vw;
		border-width: 0.362vw;
	}
	#news .news_list {
		margin-bottom: 11.594vw;
		gap: 3.382vw;
	}
	#news .news_list .parts {
		width: 43.478vw;
		border-radius: 1.846vw;
		box-shadow: 0.483vw 0.483vw 0.966vw 0 rgba(0, 0, 0, 0.25);
	}
	#news .news_list .parts a img {
		height: 28.986vw;
	}
	#news .news_list .parts .txtbox {
		padding: 2.415vw;
	}
	#news .news_list .parts .txtbox .date {
		margin-bottom: 0;
		font-size: 3.14vw;
		line-height: 2;
	}
	#news .news_list .parts .txtbox .date .cate {
		font-size: 2.899vw;
		padding: 1.087vw 1.932vw;
		border-radius: 21.739vw;
	}
	#news .news_list .parts .txtbox .ttl {
		margin-bottom: 2.415vw;
		font-size: 3.382vw;
		line-height: 1.5;
	}
	#news .news_list .parts .txtbox .more {
		padding-right: 6.28vw;
		font-size: 3.382vw;
	}
	#news .news_list .parts .txtbox .more::after {
		width: 5.314vw;
		height: 5.314vw;
	}
	
	#news .news_detail {
		margin: 0 4.831vw;
		width: auto;
		max-width: initial;
		padding: 7.609vw 4.831vw 10.87vw;
		border-radius: 3.623vw;
		box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.15);
	}
	#news .news_detail .ttlarea {
		margin-bottom: 7.246vw;
	}
	#news .news_detail .ttlarea .date {
		font-size: 3.382vw;
		line-height: 1.27;
	}
	#news .news_detail .ttlarea h2 {
		margin-bottom: 10.507vw;
		font-size: 6.039vw;
		line-height: 1.4;
	}
	#news .news_detail .ttlarea h2::after {
		bottom: -2.899vw;
		width: 16.908vw;
		height: 0.483vw;
	}
	#news .news_detail .ttlarea .eyecatch img {
		border-radius: 1.691vw;
	}

/*--------------------------------------------------
		Company	未来運輸について
--------------------------------------------------*/
	
	#company #footer,
	#safety #footer {
		margin-top: -36.232vw;
		background: transparent;
	}
	#company .com_link_list {
		margin: 12.077vw 4.831vw 10.87vw;
		width: auto;
		max-width: initial;
	}
	#company .com_link_list ul {
		justify-content: center;
		gap: 2.415vw;
	}
	#company .com_link_list ul li {
		width: 28.502vw;
	}
	#company .com_link_list ul li:nth-of-type(4),
	#company .com_link_list ul li:nth-of-type(5) {
		width: 32.126vw;
	}
	#company .com_link_list ul li a {
		padding: 1.657vw 4vw 1.657vw 0;
		font-size: 3.623vw;
		border-radius: 21.739vw;
		border-width: 0.362vw;
	}
	#company .com_link_list ul li a::after {
		right: 2.174vw;
		width: 5.314vw;
		height: 5.314vw;
	}
	#company #message {
		margin-bottom: 15.7vw;
	}
	#company #message h2 {
		font-size: 13.043vw;
	}
	#company #message .ttl_jp {
		margin-bottom: 12vw;
		font-size: 5.556vw;
	}
	#company #message .right_col p {
		font-size: 3.865vw;
		line-height: 1.93;
	}
	#company #message .right_col h3 {
		margin-bottom: 7.246vw;
		font-size: 7.005vw;
		line-height: 1.58;
		white-space: nowrap;
	}
	#company #message .right_col .ceo_txt {
		margin-top: 10.87vw;
		font-size: 4.106vw;
	}
	#company #message .right_col .ceo_txt .st {
		font-size: 5.797vw;
	}

	#company .philosophy {
		padding: 14.493vw 0;
		border-radius: 7.246vw 7.246vw 0 0 ;
	}
	#company .philosophy dl {
		display: block;
		padding: 8.454vw 0 10.87vw;
		background-image: url(../../images/src/company/sp/border.svg);
	}
	#company .philosophy dl:last-of-type::after {
		height: 4px;
		background-image: url(../../images/src/company/sp/border.svg);
	}
	#company .philosophy dl dt {
		margin-bottom: 8.213vw;
		width: auto;
		font-size: 4.106vw;
	}
	#company .philosophy dl dt h3 {
		font-size: 9.662vw;
	}
	#company .philosophy dl dd {
		width: auto;
	}
	#company .philosophy dl dd p {
		margin-bottom: 6.039vw;
		font-size: 5.072vw;
	}
	#company .philosophy dl dd ol li {
		padding-left: 6.643vw;
		font-size: 3.623vw;
	}
	#company .philosophy dl dd ol li::before {
        top: 1vw;
        font-size: 3.865vw;
    }
	#company .ticker-item {
		height: 37.077vw;
	}
	#company #overview {
		margin: 12.077vw 4.71vw 13.285vw 4.831vw;
	}
	#company #overview h2,
	#company #servicelist h2,
	#company #history h2 {
		font-size: 13.043vw;
	}
	#company #overview .ttl_jp,
	#company #servicelist .ttl_jp,
	#company #history .ttl_jp {
		margin-bottom: 7.246vw;
		font-size: 5.556vw;
	}
	#company #overview table tr th {
		width: 30.5%;
		font-size: 3.623vw;
	}
	#company #overview table tr td {
		padding: 6.28vw 0;
	}
	#company #overview table tr td p {
		font-size: 3.623vw;
		line-height: 1.7333;
	}
	#company #overview table tr td a {
		display: block;
		margin-top: 2vw;
		width: 40.251vw;
	}
	#company #overview table tr td li {
		padding-left: 3.019vw;
		font-size: 3.623vw;
	}
	#company #overview table tr td li::before {
		top: 1vw;
		width: 1.174vw;
		height: 1.174vw;
	}
	#company #service {
		margin-top: 0;
        border-radius: 7.246vw;
	}
	#company .top_service_wrap .btn {
		margin-top: 4.106vw;
		position: static;
	}
	#company .top_service_wrap .btn a {
		width: 65.217vw;
	}
	#company .top_service_wrap .btn span {
		padding-left: 13.164vw;
	}
	#company .top_service_wrap .btn a i::after {
		top: -1.6rem;
		left: 2.3vw;
		width: 4.167vw;
		height: 4.891vw;
	}

	#company #servicelist {
		margin: 9.662vw 4.831vw 15.7vw;
	}
	#company #servicelist .list_parts {
		padding: 7.246vw 4.831vw 5.797vw;
		border-radius: 2.415vw;
	}
	#company #servicelist .list_parts + .list_parts {
		margin-top: 7.246vw;
	}
	#company #servicelist .list_parts h3 {
		margin-bottom: 4.529vw;
		padding-left: 2.899vw;
		font-size: 6.28vw;
		border-left-width: 0.845vw;
	}
	#company #servicelist .list_parts .flex {
		display: block;
	}
	#company #servicelist .list_parts .img {
		margin-bottom: 5.676vw;
		width: 100%;
	}
	#company #servicelist .list_parts .img img {
		border-radius: 1.449vw;
	}
	#company #servicelist .list_parts .right_col {
		display: flex;
		flex-direction: column;
		width: auto;
	}
	#company #servicelist .list_parts .right_col dl dt,
	#group .sec02 .parts .left_col dl dt {
		margin-bottom: 2.469vw;
		padding-left: 5.676vw;
		font-size: 3.865vw;
	}
	#company #servicelist .list_parts .right_col dl dt::before,
	#group .sec02 .parts .left_col dl dt::before {
		width: 3.382vw;
		height: 4.348vw;
	}
	#company #servicelist .list_parts .right_col dl dt.tel,
	#group .sec02 .parts .left_col dl dt.tel {
		margin-top: 6.522vw;
	}
	#company #servicelist .list_parts .right_col dl dt.tel::before,
	#group .sec02 .parts .left_col dl dt.tel::before {
		width: 3.14vw;
	}
	#company #servicelist .list_parts .right_col dl dd,
	#group .sec02 .parts .left_col dl dd {
		font-size: 3.623vw;
		line-height: 1.86;
	}
	#company #servicelist .list_parts .right_col .gmap {
		margin-top: 4.1vw;
		clear: both;
		height: auto;
	}
	#company #servicelist .list_parts .right_col .gmap iframe {
		height: 30.918vw;
	}
	#company #servicelist .list_parts .right_col .gmap .gmaplink {
		margin: 0 0 0 auto;
		position: static;
		float: right;
	}
	#company #overview table tr td a,
	#company #servicelist .list_parts .right_col .gmap .gmaplink a,
	#group .sec02 .parts .left_col dl dd a {
		padding: 2.174vw 6.763vw 2.415vw 2.415vw;
		font-size: 3.14vw;
	}
	#company #servicelist .list_parts .right_col .gmap .gmaplink a::after,
	#group .sec02 .parts .left_col dl dd a::after {
		right: 1.812vw;
		width: 1.449vw;
		height: 2.536vw;
	}
	#company #history {
		padding: 10.87vw 4.831vw 55.464vw;
	}
	#company #history .inner_980 {
		margin: 0 auto;
		width: 100%;
		max-width: initial;
	}
	#company #history .his_block {
		padding-left: 6.341vw;
		background: url(../../images/src/company/sp/history_dots.png) repeat-y left top;
	}
	#company #history .his_block .his_parts {
		display: block;
		padding: 3.865vw 4.227vw;
		border-radius: 1.932vw;
	}
	
	#company #history .his_block .his_parts::before {
		left: -6.7vw;
		width: 2.899vw;
		height: 2.899vw;
	}
	#company #history .his_block .his_parts::after {
		left: -2rem;
		width: 0;
		height: 0;
		border-top-width: 1.932vw;
		border-bottom-width: 1.932vw;
		border-right-width: 3.502vw;
	}
	
	#company #history .his_block .his_parts + .his_parts {
		margin-top: 4.831vw;
	}
	#company #history .his_block .his_parts .year_num {
		margin-bottom: 3.019vw;
		display: flex;
		align-items: baseline;
		gap: 0 1.691vw;
	}
	#company #history .his_block .his_parts .year_num .num {
		font-size: 7.971vw;
	}
	#company #history .his_block .his_parts .year_num .num_jp {
		font-size: 3.623vw;
		line-height: 1.26;
	}
	#company #history .his_block .his_parts .event_list {

	}
	#company #history .his_block .his_parts .event_list dl {
		gap: 0 3.623vw;
		align-items: baseline;
	}
	#company #history .his_block .his_parts .event_list dl + dl {
		margin-top: 3.623vw;
	}
	#company #history .his_block .his_parts .event_list dt {
		font-size: 3.623vw;
	}
	#company #history .his_block .his_parts .event_list dd {
		width: 63.043vw;
		font-size: 3.623vw;
		line-height: 1.6;
	}


/*--------------------------------------------------
		SAFETY MEASURES	安全への取り組み
--------------------------------------------------*/
	#safety .sec01	{
		margin: 12.077vw 4.831vw;
	}
	#safety .sec01 p {
		font-size: 4.348vw;
		line-height: 1.88;
		text-align: left;
	}
	#safety .sec02 .parts {
		padding: 11.473vw 4.831vw;
		gap: 9.662vw 0;
		flex-wrap: wrap;
	}
	#safety .sec02 .parts:last-of-type {
		padding-bottom: 55.464vw;
	}

	#safety .sec02 .parts .img {
		order: 2;
		width: auto;
	}
	#safety .sec02 .parts:first-of-type .img {
		text-align: right;
		margin-left: auto;
	}
	#safety .sec02 .parts:first-of-type .img img {
		width: 83.816vw;
	}
	#safety .sec02 .parts:first-of-type .img .img01_02 {
		left: -6vw;
		bottom: -4.227vw;
		width: 23.913vw;
	}
	#safety .sec02 .parts .textarea {
		order: 1;
		width: auto;
	}
	#safety .sec02 .parts .textarea .ttl_sub {
		gap: 0 1.449vw;
	}
	#safety .sec02 .parts .textarea .ttl_sub .ttl_num {
		font-size: 14.01vw;
	}
	#safety .sec02 .parts .textarea .ttl_sub .ttl_sub_txt {
		font-size: 3.623vw;
	}
	#safety .sec02 .parts .textarea h2 {
		margin-bottom: 4.831vw;
		font-size: 7.488vw;
		line-height: 1.32;
	}
	#safety .sec02 .parts .textarea .txt {
		font-size: 3.623vw;
		line-height: 1.86;
	}
	#safety .sec02 .parts .textarea dl {
		margin-top: 6.039vw;
	}
	#safety .sec02 .parts .textarea dl dt {
		margin-bottom: 2.415vw;
		padding-left: 1.902vw;
		border-left-width: 0.604vw;
		font-size: 4.106vw;
		line-height: 1.11;
	}
	#safety .sec02 .parts .textarea dl dd {
		padding-left: 0;
		font-size: 3.623vw;
		line-height: 1.73;
	}
	#safety .sec02 .parts .textarea .white_box {
		margin-top: 2.415vw;
		padding: 1.208vw 2.415vw;
		border-radius: 1.208vw;
		font-size: 4.106vw;
	}
	#safety .sec02 .parts .textarea ul {
		margin-top: 2.415vw;
		padding: 1.208vw 2.415vw;
		border-radius: 1.208vw;
	}
	#safety .sec02 .parts .textarea ul li {
		padding-left: 3.019vw;
		font-size: 3.623vw;
		line-height: 1.6;
	}
	#safety .sec02 .parts .textarea ul li + li {
		margin-top: 2vw;
	}
	#safety .sec02 .parts .textarea ul li::before {
		top: 1.8vw;
		width: 1.449vw;
		height: 1.449vw;
	}


/*--------------------------------------------------
		GROUP COMPANY グループ企業
--------------------------------------------------*/
	#group #footer {
		margin-top: 24.155vw;
	}
	#group .sec01 {
		margin: 12.077vw 4.831vw 9.662vw;
	}
	#group .sec01 p {
		font-size: 4.589vw;
		line-height: 1.78;
		text-align: left;
	}
	#group .sec02 {
		margin-bottom: 15vw;
	}
	#group .sec02 .parts {
		padding: 7.246vw 4.831vw 7.971vw;
		border-radius: 2.415vw;
	}
	#group .sec02 .parts + .parts {
		margin-top: 8.454vw;
	}
	#group .sec02 .parts h2 {
		margin-bottom: 4.469vw;
		padding-left: 2.899vw;
		border-left-width: 0.845vw;
		font-size: 6.28vw;
	}
	#group .sec02 .parts .group_box {
		display: block;
	}
	#group .sec02 .parts .btn {
		margin: 0 auto;
		position: static;
	}
	#group .sec02 .parts .btn span {
		font-size: 3.865vw;
	}
	#group .sec02 .parts .btn .c-button-icon::before {
		top: -1.242vw;
		width: 8.937vw;
		height: 8.937vw;
	}
	#group .sec02 .parts .btn a {
		margin: 5.797vw auto 0;
		padding: 2vw 1.932vw;
		width: 44.686vw;
	}
	#group .sec02 .parts .btn a svg {
		top: 1vw;
		left: 1.9vw;
		width: 4.808vw;
		height: 4.808vw;
	}
	#group .sec02 .parts .img {
		margin-bottom: 4.831vw;
		height: 44.203vw;
		border-radius: 1.792vw;
	}
	#group .sec02 .parts .img img {
		width: 80%;
	}
	#group .sec02 .parts .left_col dl dd a {
		display: inline-block;
		margin-top: 1rem;
	}
	#group .sec02 .parts .left_col dl dt.tel {
		margin-top: 5rem; 
	}


/*--------------------------------------------------
		Contact	お問い合わせ
--------------------------------------------------*/
	#contact .sec01_phone {
		margin: 12.077vw 4.831vw 14.493vw;
	}
	#contact .sec01_phone h2,
	#contact .sec02_mail h2 {
		margin-bottom:3.623vw;
		font-size: 4.589vw;
	}
	#contact .sec01_phone .ttl_jp,
	#contact .sec02_mail .ttl_jp {
		font-size: 7.005vw;
	}
	#contact .sec01_phone .green_block {
		margin: 7.246vw 0 0;
		padding: 4.106vw 0 6.039vw;
		width: 100%;
		max-width: initial;
		border-radius: 2.189vw;
	}
	#contact .sec01_phone .green_block .tel a {
		font-size: 9.903vw;
	}
	#contact .sec01_phone .green_block .tel a svg {
		height: 6.039vw;
	}
	#contact .sec01_phone .green_block .txt {
		font-size: 3.865vw;
	}
	#contact .sec02_mail {
		padding: 12.077vw 0 14.493vw;
	}
	#contact .sec02_mail .txt {
		margin: 8.816vw 0 6.039vw;
		font-size: 3.623vw;
	}
	#contact .sec02_mail .kome {
		margin-left: 2vw;
		padding: 0.604vw;
		font-size: 2.899vw;
		border-radius: 0.725vw;
	}
	#contact .sec02_mail th {
		display: block;
		width: 100%;
		font-size: 3.865vw;
	}
	#contact .sec02_mail td {
		display: block;
		margin: 1.5vw 0 6.039vw;
		padding: 0;
		width: 100%;
		font-size: 3.623vw;
	}
	#contact .sec02_mail th.ms {
		margin-bottom: 3rem;
	}
	#contact .sec02_mail td input[type="text"],
	#contact .sec02_mail td textarea {
		padding: 3.623vw;
		font-size: 3.623vw;
		border-radius: 1.932vw;
	}
	#contact .sec02_mail td .checkblock {
		font-size: 3.623vw;
	}
	#contact .sec02_mail td .checkblock label {
		padding-left: 7vw;
		font-weight: 500;
		position: relative;
		cursor: pointer;
	}

	.checkblock label::before,
	.checkblock label::after {
		content: "";
		display: block;
		border-radius: 50%;
		position: absolute;
		transform: translateY(-50%);
		top: 50%;
	}
	.checkblock label::before {
		background-color: #fff;
		border: 1px solid #CDCDCD;
		border-radius: 50%;
		width: 4.106vw;
		height: 4.106vw;
		left: 5px;
		box-sizing: border-box;
	}
	.checkblock input:checked + label::after {
		opacity: 1;
	}
	.checkblock label::after {
		background-color: var(--main-color);
		border-radius: 50%;
		opacity: 0;
		width: 2.657vw;
		height: 2.657vw;
		left: 2vw;
	}
	#contact .sec02_mail td textarea {
		margin-top: 3.623vw;
		min-height: 28.155vw;
	}
	#contact .sec02_mail .txt.tac {
		margin: 3.623vw 0 6vw 3.623vw;
		text-indent: -3.623vw;
		text-align: left;
	}
	#contact .sendbtn {
		justify-content: center;
		align-items: center;
		gap: 3.623vw;
	}
	#contact .sendbtn #send,
	#contact .sendbtn #back {
		width: 53.382vw;
	}
	#contact .sendbtn #send .c-button,
	#contact .sendbtn #back .c-button {
		padding: 1.8rem 2rem;
	}
	#contact .sendbtn #send input,
	#contact .sendbtn #back input {
		padding-left: 7.3rem;
		font-size: 3.865vw;
	}
	#contact .sendbtn #back .c-button-icon svg {
		stroke: #828282;
	}
	#contact  #send .c-button-icon::before,
	#contact  #back .c-button-icon::before {
		top: 0;
	}
	#contact .privacypolicy {
		margin: 12.077vw 4.831vw 0;
		padding: 8.454vw 4.831vw 2.778vw;
		width: auto;
		max-width: initial;
		height: 50.121vw;
	}
	#contact .privacypolicy h3 {
		margin-bottom: 6.039vw;
		font-size: 4.589vw;
	}
	#contact .privacypolicy p {
		font-size: 3.382vw;
		line-height: 1.92;
	}
	
	#contact .sec01_complete {
		margin-top: -20.116vw;
		padding: 32.609vw 4.831vw 18.116vw;
	}
	#contact .sec01_complete h2 {
		font-size: 7.005vw;
		line-height: 1.41;
	}
	#contact .sec01_complete .ttl {
		margin: 5.797vw 0;
		font-size: 4.106vw;
		line-height: 1.58;
	}
	#contact .sec01_complete .txt {
		text-align: left;
		font-size: 3.623vw;
		line-height: 1.86;
	}
	#contact .sec01_complete .btn {
		margin: 9.903vw 0 0;
		text-align: left;
	}
	#contact .sec01_complete .btn .c-button {
		width: 53.382vw;
	}
	#contact .sec01_complete .btn span {
		padding-left: 11.594vw;
	}
	#contact .sec01_complete .btn .c-button-icon::before {
		top: -1.5vw;
	}

	#contact .confirmsec .sec02_mail {
		margin-top: -21vw;
		padding-top: 30vw;
	}


	.sec_404 {
		margin: 16vw auto;
		padding-bottom: 0;
	}
}


/* pcのみのhoverアクションはここ */
@media (hover: hover) and (pointer: fine) {
	.c-button:hover::before,
	.c-button:hover::before {
		transform: translateX(0);
	}
	.c-button:hover .c-button-icon::before {
		background: var(--main-color);
		transition: left var(--cover-enter-sec) var(--ease-power4-out);
	}
	.c-button:hover .c-button-icon {
		left: calc(100% - 1.8rem);
		transition: left var(--cover-enter-sec) var(--ease-power4-out);
	}
	.c-button:hover .c-button-icon svg {
		stroke: #fff;
	}
	.btn a:hover span {
        margin-left: -40px;
        color: var(--main-color);
    }
	.btn .c-button:hover .c-button-icon {
		left: 79%;
	}
	.top_service_wrap .btn .c-button:hover .c-button-icon {
		left: 86%;
	}
	.btn.whitebtn a:hover span {
		color: #fff;
	}
	.btn.whitebtn .c-button:hover .c-button-icon::before {
		background: #fff;
	}
	.btn.whitebtn .c-button:hover .c-button-icon svg {
		stroke: var(--main-color);
	}
	.top_recruit .text_block .c-button:hover .c-button-icon::before {
		background: #fff;
	}
	.top_recruit .text_block .btn a:hover span {
		color: #fff;
	}
	.top_recruit .text_block .c-button:hover .c-button-icon svg {
		stroke: var(--main-color);
	}
	.breadcrumbs a:hover span {
		color: var(--main-color);
		background: #fff;
	}
	.wp-pagenavi a.page:hover {
		color: #fff;
		background: var(--main-color);
	}
	.navigation .prev a:hover,
	.navigation .next a:hover {
		opacity: 0.7;
	}
	.navigation .c-button:hover .c-button-icon::before {
		background: #828282;
	}
	.navigation .btn a:hover span {
		color: #828282;
	}
	#news .category_list ul li a:hover {
		color: #fff;
		background: var(--main-color);
	}
	#company .com_link_list ul li a:hover {
		color: #fff;
		border-color: var(--main-color);
		background: var(--main-color);
	}
	#company .com_link_list ul li a:hover::after {
	    background: url(../../images/src/common/arrow_white01_btm.svg) no-repeat right center / 100%;
	}
	#company #overview table tr td a:hover,
	#company #servicelist .list_parts .right_col .gmap .gmaplink a:hover,
	#group .parts .left_col dl dd a:hover {
		color: #fff;
		background-color: #000;
	}
	#company .top_service_wrap .btn a:hover i::after {
		background-image: url(../../images/src/common/pdf_white.svg);
	}

	#contact .sendbtn #send span:hover input {
		margin-left: -4rem;
		color: var(--main-color);
	}
	#contact .sendbtn #back span:hover input {
		margin-left: -4rem;
		color: #828282;
	}
	#contact .sendbtn #back .c-button:hover .c-button-icon::before {
		background: #828282;
	}
	#contact .sendbtn #back .c-button:hover .c-button-icon svg {
		stroke: #fff;
	}
	#contact .sec01_complete .btn a:hover span {
		margin-left: -1rem;
		color: #828282;
	}
	#contact .sec01_complete .btn .c-button:hover .c-button-icon::before {
		background: #828282;
	}
	#contact .sec01_complete .btn .c-button:hover .c-button-icon svg {
		stroke: #fff;
	}
}
  
 /*IE11用に以下のコードも追加*/
  @media (-ms-high-contrast: none), (-ms-high-contrast: active) {
}



/* 印刷用 */
@media print {
	body { zoom: 0.6; -webkit-print-color-adjust: exact; }
}

/* 印刷用 IE10以上 */
@media print and (-ms-high-contrast:none) {
	@page { size: A4; margin: 12.7mm 9.7mm; }
	body { zoom: 1.8; width: 1200px; transform: scale(0.5); transform-origin: 0 0; }
}