@charset "Shift_JIS";
/*---------- 共通 ----------*/
body,nav,#top,footer,#main{min-width:1280px;}/* windowを縮めたとき背景が切れないように */
/*::::: class/ID :::::*/
.wp{width:980px; margin:0 auto;}
.mb20{margin-bottom:20px;}
.blttl{background:url(../images/common/ttl.png) no-repeat; height:34px; padding:8px 0 0px 20px; color:#FFF; font-size:22px; font-weight:normal; margin-bottom:30px;}
.mt50{margin-top:50px;}
.mt30{margin-top:30px;}
/*::::: header :::::*/
.h_logo{float:left; margin:11px 0 18px ;}
.h_tel{float:right; margin:18px 0 0; width: 323px; height: 68px;}
.h_tel a {
  display: block;
  width: 100%;
  height: 100%;
}
.h_tel a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.3s ease;
}
.h_tel:hover a img { transform: scale(1.08); }
/*::::: nav :::::*/
nav{background:#1d2088; padding:18px 0 8px; height:49px;}
nav ul.wp{width:981px;}
nav ul{letter-spacing:-.40em;}
nav ul.wp > li{height:40px;}
nav ul li{display:inline-block; vertical-align:top;}/* ナビのlistは横並び */
nav ul li.bd{border-left:1px dotted #7779b8; cursor:pointer;}
nav ul li.bd2{border-right:1px dotted #7779b8;}
nav ul li ul{margin-top:8px;}
nav ul li li{display:block; border-bottom:1px dotted #99d9f6; position:relative; z-index:100;}/* アコーディオンのlistは縦並び */
nav ul li ul li:last-child{border-bottom:none;}
nav ul li li:hover{opacity:0.7;}
/* nav ul li:nth-child(3):hover dt img,nav ul li:nth-child(4):hover dt img,nav ul li:nth-child(5):hover dt img{ visibility:hidden;} */
nav ul li:nth-child(3):hover dt{background:url(../images/common/nav03_on.jpg);}
nav ul li:nth-child(4):hover dt{background:url(../images/common/nav04_on.jpg);}
nav ul li:nth-child(5):hover dt{background:url(../images/common/nav05_on.jpg);}
nav ul li.current{opacity:0.7;}
/*::::: footer :::::*/
footer{background:#EEE; padding-bottom:40px; margin-top:80px;}
/* pagetop */
#top{margin-bottom:33px;}
#top a{display:block; height:50px; text-align:center; background:#1d2088;}
#top a img{margin-top:14px;}
#top a:hover{background:#6264b4;}
/* fleft */
.fleft{float:left; width:450px;}
.fleft p{margin:5px 0 27px;}
.fleft p strong{font-size:20px; color:#333; vertical-align:middle;}
.fleft p span{font-size:12px; margin-left:8px; color:#333;}
.fleft ul{display:inline-block; vertical-align:top; border-left:1px solid #d6d6d6; list-style:none; padding:9px 18px 0; height:135px;}
#copy{margin:20px 0 0; font-size:11px;}
.fleft ul li{line-height:2; font-size:12px; background:url(../images/common/arrow02.jpg) no-repeat left center; padding-left:12px;}
.fleft ul li.list{ background:url(../images/common/arrow01.jpg) no-repeat left center;}
.fleft ul a{color:#333; text-decoration:none;}
.fleft ul a:hover{text-decoration:underline;}
.fleft ul .fnav{margin-left:20px;}
.fleft ul.last{ border-right:1px solid #d6d6d6;}
.fleft .sns_link_wrap {display: flex; align-items: center; gap: 15px; padding-top: 5px;}
.fleft .insta_logo{ display: inline-block; width: 40px; height: 40px; transition: 0.3s;}
.fleft .insta_logo:hover{ transform: translateY(-4px);}
.fleft .insta_logo img{ width: 100%; height: 100%; object-fit: cover;}
.fleft .x_logo{ display: inline-block; width: 35px; height: 35px; transition: 0.3s;}
.fleft .x_logo:hover{ transform: translateY(-4px);}
.fleft .x_logo img{ width: 100%; height: 100%;}

/* fright */
.fright{background:url(../images/common/foot_bg.png) no-repeat right bottom 10px #f7f7f7; float:right; padding:20px 120px 20px 25px; font-size:12px; line-height:1.8;}
.fright strong{ display: block; background:#a0a0a0; color:#FFF; width:90px; text-align:center; line-height:1.4; padding-top:2px; margin-bottom:2px;}
/*---------- 下層mainimage ----------*/
#main{background:url(../images/common/mainimage.jpg) no-repeat center bottom; height:150px; background-size: cover; margin-bottom:50px;}
#main h1{padding-top:50px; text-align:center;}
/*---------- index ----------*/
/*::::: mainimage :::::*/
#mainimage{background:url(../images/index/mainbg.jpg) no-repeat top center; background-size: cover; height:300px; min-width:1200px;}
#mainimage .wp{position:relative; height:300px;}
@media screen and (max-width: 1300px) {/* 1023pxまでは */
body,nav,#top,footer,#main,#mainimage{min-width:980px;}
#mainimage .wp h1{position:absolute; left:2px; bottom:60px; z-index:2;}/* キャッチコピー */
#mainimage #mainlogo{position:absolute; bottom:8px; left:0px; z-index:0;}/* ロゴマーク */
#mainimage #truck{position:absolute; top:10px; right:0px; z-index:1;}/* トラック */
}
@media screen and (min-width:1301px) {
#mainimage .wp h1{position:absolute; left:2px; bottom:60px;}/* キャッチコピー */
#mainimage #mainlogo{position:absolute; bottom:8px; left:-140px; z-index:0;}/* ロゴマーク */
#mainimage #truck{position:absolute; top:10px; right:-157px; z-index:1;}/* トラック */
}
/*::::: news :::::*/
#news{margin:50px 0; position:relative; z-index:10;}
#news h2{ display:inline-block; margin-right:15px;}
#news .btn img{vertical-align:bottom;}
#news .newsbox{background:#f6f6f6; padding:15px 30px 30px; margin-top:10px;}
#news .newsbox table{width:100%;}
#news .newsbox table th{width:80px; background:url(../images/index/dot.jpg) repeat-x bottom left; padding:10px 40px 10px 0; font-size:12px; font-weight:normal; color:#1d2088;}
#news .newsbox table td{ background:url(../images/index/dot.jpg) repeat-x bottom left; padding:10px 0; font-size:12px; }
#news .newsbox table td a{color:#333; text-decoration:none;}
#news .newsbox table td a:hover{text-decoration:underline;}
#BTn{position:absolute; bottom:10px; right:10px;}
/*::::: bnr :::::*/
#com{background:url(../images/index/bnr01_bg.jpg) no-repeat; width:450px; height:192px; float:left;}
#bus{background:url(../images/index/bnr02_bg.jpg) no-repeat; width:450px; height:192px; float:right;}
.box{list-style:none;}
.box li:first-child{margin-bottom:20px;}
.box{padding:45px 0 0 31px;}
/*::::: recruit :::::*/
#recbox{background:url(../images/index/recruit_bg.jpg) no-repeat; width:980px; height:294px; margin-top:50px; position:relative;}
#recbox h2{text-align:center; padding-top:11px;}
#recbox h3{position:absolute;top:111px; left:25px;}
#recbox #voice01{position: absolute; top:78px; left:178px;}
#recbox #voice02{position: absolute; top:78px; left:413px;}
.voicebox{width:215px; height:200px;}
.voicebox .fuki{background:url(../images/index/comment_bg.png) no-repeat; padding:27px 13px; height:76px; width:171px; position:relative; z-index:0;}
.voicebox .txt{display:inline-block; padding:27px 13px; position: relative; color:#0d7eb2; top:0;}
.voicebox img{position:absolute; right:-15px; bottom:-70px;}
.voicebox .next{font-size:12px; color:#FFF; display:inline-block; margin-left:6px; position:absolute; top:130px;}
.voicebox a{position:absolute; width:195px; height:200px; display:block; top:0; left:0;margin:auto; z-index:10;}
.voicebox a:hover span,.voicebox p a:hover span{text-decoration:underline;}
/*---------- news ----------*/
#newspage h2{border-bottom:2px solid #1d2088; color:#1d2088; font-size:22px;}
#newspage .day{text-align:right; font-size:12px; color:#333; margin:10px 0 15px;}
/* #newspage #contents section img{float:right;}
#newspage #contents section div p{float:left; width:550px;}*/
#newspage #contents section{ line-height:1.6; margin-bottom:70px;} 
/*---------- company ----------*/
#greeting h3 #txt01{display:block;}
#greeting h3 #txt02{display:block; text-align:right;}
#greeting h3{font-size:22px; color:#333;}
#greeting .txt{float:left; width:710px; padding:0 15px; line-height:1.8;}
#greeting .name{float:right; list-style:none;}
#greeting .name li:last-child{margin-top:15px;}
#greeting .txt strong{font-size:18px;}
.outline{width:100%; border-top:1px solid #d7d7d7;}
.outline tr th{ color:#1d2088;border-bottom:1px solid #d7d7d7; text-align:left; padding:17px 0 17px 50px; width:160px;}
.outline tr td{border-bottom:1px solid #d7d7d7; text-align:left; padding:17px 20px;}
.history tr th{background:#f3f4f9; color:#333;}
/*---------- office ----------*/
#office #maincontents .map{float:left; width:550px; height:370px; border:1px solid #d7d7d7;}
#office #maincontents .photo{float:right; width:400px;}
#office #maincontents .photo p{margin-top:15px; padding:0 5px; line-height:1.7;}
/*---------- service ----------*/
#service #maincontents section h3{text-align:center; margin:15px 0 22px;}
#service #maincontents section p{line-height:1.7;}
/*::::: order :::::*/
#order{background:url(../images/service/order_bg.png) no-repeat; height:322px; margin-bottom:30px;}
#order .clearfix{position:relative;}
#order p{float:left; width:490px; padding:15px; background:#FFF; margin-left:30px;}
#order .clearfix img{position:absolute; top:-105px; right:38px;}
/*::::: cost :::::*/
#cost{background:url(../images/service/cost_bg.png); height:355px; margin-bottom:30px;}
#cost .clearfix img{float:left; margin-left:30px;}
#cost .clearfix p{float:right; padding:15px; width:180px; background:#FFF; margin-right:30px;}
#cost .clearfix p strong{font-weight:bold;}
/*::::: answer :::::*/
#answer{background: url(../images/service/answer_bg.png) no-repeat; height:680px; margin-bottom:30px;}
#answer .whitebox{background:#FFF; float:left; margin-left:30px; width:395px; padding:15px;}
#answer .whitebox h4{color:#1d2088; font-size:16px; margin-top:5px;}
#answer .whitebox ul{background:url(../images/index/dot.jpg) repeat-x top; margin-top:5px;}
#answer .whitebox ul li{ list-style:none; background:url(../images/index/dot.jpg) repeat-x bottom; padding:8px 0 8px 10px;}
#answer .whitebox ul li:before{ content:"・"; color:#1d2088;}
#photo{list-style:none; float:right; margin-right:30px;}
#photo li:last-child{margin-top:14px;}
/*::::: comment :::::*/
#comment{background:url(../images/service/comment_bg.png); height:148px; text-align:center; margin-bottom:30px;}
#comment p{font-size:16px; padding:15px 15px 12px; background:#FFF; margin:19px 30px 0; line-height:1.5!important;}
/*::::: tel :::::*/
section#tel{background: url(../images/service/contact_bg.png) no-repeat; height:124px; padding:10px 131px 15px;}
section#tel h2{text-align:center; color:#1d2088; font-size:17px;}
section#tel .whitebox{background:#FFF;border-radius:4px; padding:9px 50px 13px 44px; margin-top:5px; line-height:0.7;}
section#tel .whitebox div{background:url(../images/service/time.png) no-repeat;}
section#tel .whitebox ul{text-align:right; letter-spacing:-.40em;}
section#tel .whitebox ul li{display:inline-block; letter-spacing:normal;}
section#tel .whitebox ul li:first-child{margin-right:16px;}
section#tel .whitebox ul li:first-child:hover img{opacity: 0.6;}
section#tel .whitebox ul li:first-child img {
  transition: all 0.3s ease;
}
section#tel .whitebox div > a{display: inline-block; margin:6px 0 0 84px;}
/*---------- business ----------*/
#business .box01{ float:left; width:465px; margin-bottom:30px;}
#business .box01 h3{ font-size:22px; color:#1d2088; text-align:center; border-bottom:1px solid #1d2088; margin-bottom:20px;}
#business .box01 div img{float:left;}
#business .box01 div p{float:right; width:240px; margin-right:10px; line-height:1.8;}
#business .box01 h4{margin:10px 0 0; text-align:center; color:#1d2088; font-size:18px; padding-top:15px;}
#business .box01 .bg{text-align:center; background:url(../images/business/bg.png);}
#business .box01 ul{letter-spacing:-.40em; padding:10px 30px 15px;}
#business .box01 ul li{display:inline-block; letter-spacing:normal;}
#business .box01 ul li:nth-child(2){margin-left:25px;}
#business .box01.right{float:right;}
/*---------- vehicle ----------*/
.vbox{margin-bottom:75px;}
.vbox h2{margin-bottom:25px;}
.vbox table{margin:20px 0 5px; width:100%; border:1px solid #d7d7d7; border-bottom:none;}
.vbox table tr th{border-bottom:1px solid #d7d7d7; padding:15px 0; background:#f3f4f9; color:#1d2088; width:220px;}
.vbox table tr td{border-bottom:1px solid #d7d7d7; padding:15px 30px;}
.vbox table tr td:last-child{width:110px; text-align:center; border-left:1px solid #d7d7d7;}
.vbox .tr{text-align:right; color:#1d2088; font-size:14px; font-weight:bold;}
.vbox#last{margin-bottom:0;}
/*---------- recruit ----------*/
#recruit h2{ text-align:center; background:#0d7eb2; color:#FFF; font-weight:bold; font-size:25px; padding:5px 0;}
#recruit h2 span{background:url(../images/recruit/fukidashi.png) no-repeat left center; padding-left:85px;}
#recruit #maincontents table{width:100%; border-left:1px solid #d7d7d7; border-right:1px solid #d7d7d7;}
#recruit #maincontents table th{border-bottom:1px solid #d7d7d7; background:#f3f8fb; padding:15px 0 15px 50px; text-align:left; width:180px;}
#recruit #maincontents table td{border-bottom:1px solid #d7d7d7;padding:15px 0 15px 35px; text-align:left;}
#contactbox{background:url(../images/recruit/telbg.jpg) no-repeat; height:170px; margin-top:40px; color:#FFF; position:relative;}
#contactbox p{position:absolute; font-size:18px; top:18px; left:30px; line-height:1.8;}
#contactbox ul li{display:inline-block;}
#contactbox ul li:last-child{margin-left:25px;}
#contactbox ul{position:absolute; bottom:25px; left:30px;}
/*---------- senior_voice ----------*/
#senior_voice #maincontents ul{list-style:none;}
.voice dt{overflow:hidden;cursor:pointer;margin-bottom:1px;background: url(../images/senior_voice/bg_open.png) no-repeat right top;}
.voice dt:hover{opacity:0.8;}
.voice dt .voicePhoto{float:left;height:150px;overflow:hidden;}
.voice dt .voiceJob{overflow:hidden;padding-top:55px;padding-right:15px;text-align:center;font-size:30px;font-weight:bold;color:#fff; }
.ac dt:last-child{margin-bottom:0;}
.ac table{width:100%; background:#ecf5f9;}
.ac table th{color:#0d7eb2; text-align:left; padding:30px 0 30px 40px; width:170px; font-size:17px; border-bottom:1px solid #a9d1e4; line-height:1.7;}
.ac table td{padding:30px 0 30px 80px;border-bottom:1px solid #a9d1e4; line-height:1.8;}
.ac table tr:last-child td,.ac table tr:last-child th{border-bottom:none;}
#senior_voice #maincontents .ac table ul{list-style:inside disc;}
.voice{margin-bottom:50px;}
/*---------- privacy ----------*/
#privacy{font-size:13px;}
#privacy h2{font-size:22px; color:#1d2088; border-bottom:2px solid #1d2088; padding-left:4px;}
.padding{padding:30px 15px 45px;}
.padding li{list-style: decimal; color:#1d2088; margin:0 0 10px 25px;}
.padding ol{margin:20px 0 10px;}
.padding li p{ color:#333;}
.padding .tr{text-align:right;}
.padding strong{font-weight:bold; margin-top:15px; display:block;}
#privacy .padding.none{padding:0 15px 0;}
/*---------- contact ----------*/
p#txt{ line-height:1.8; margin-bottom:20px;}
#bl{margin:30px 0 10px; color:#1d2088; font-weight:bold;}
#contact #maincontents table{width:100%; border:1px solid #d7d7d7; border-bottom:none; margin-bottom:30px;}
#contact #maincontents th{ border-bottom:1px solid #d7d7d7; background:#f3f4f9; padding:15px 15px 15px 50px; width:200px; vertical-align:top; text-align:left;}
#contact #maincontents td{ border-bottom:1px solid #d7d7d7;padding: 15px 20px;}
#contact #maincontents th span{display:block; float:right; font-weight:normal; color:#FFF; font-size:12px; padding:2px 7px 0;}
.hisu{background:#ff9600;}
.hisu2{background:#b5b5b5;}
input[type^=radio]{vertical-align:-0.05em;}
label{margin-right:20px;}
input[type^=text]{width:98%; border:1px solid #d7d7d7; height:30px; padding:0 10px;}
textarea{width:99%; height:190px; font-size:14px; border:1px solid #d7d7d7; padding:10px;}
#contact #maincontents td ul li{list-style:none; margin-bottom:5px;}
select{border:1px solid #d7d7d7; padding:0 0 0 10px; height:30px;}
#contact #maincontents td ul li:last-child{margin-bottom:0;}
#submit{text-align:center;}
#submit li{display:inline-block;}
#back input{background:url(../images/contact/back_off.png) no-repeat; height:42px; width:252px; border:none; cursor:pointer; margin-right:25px; text-indent:-9999px;}
#back input:hover{background:url(../images/contact/back_on.png) no-repeat;}
#send input{background:url(../images/contact/send_off.png) no-repeat; height:42px; width:252px; border:none; cursor:pointer; text-indent:-9999px;}
#send input:hover{background:url(../images/contact/send_on.png) no-repeat;}
.red{margin-top:5px; color:#C03;}




/* news */

.news_content{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px 40px;
}

#newspage #contents section div p{
  flex-grow: 1;
}

#newspage #contents .clearfix:after{
  display: none;
}

.news-gallery {
  width: 100%;
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  gap: 30px;
}

.news-gallery a {
  display: block;
  width: calc(50% - 15px);
  cursor: pointer;
  aspect-ratio: 3/2;
  overflow: hidden;
}

.news-gallery a:hover img {
  transform: scale(1.1);
}

.news-gallery a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: all 0.3s ease;
}