@charset "UTF-8";
html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 62.5%;
	font: inherit;
	vertical-align: baseline;}
a	{
	text-decoration : none;
}
img {image-rendering: -webkit-optimize-contrast;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;}
body {
	-webkit-text-size-adjust: none;
}
ol,ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
mark {
	background-color: transparent;
	color: inherit;
}
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}
input, select, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}
.mincho	{font-family : "游明朝",Yu Mincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","MS P明朝","MS 明朝",'Noto Serif Display',serif;}
.inline	{
	display : inline-block;
}

/* Body header */
body {
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	margin: 0 auto;
	width : 100%;
}
header	{
	width : 94%;
	top : 0;
	margin : 0 auto;
	display: flex;
	justify-content: space-between;
}
header #hd_logo	{
	margin : 18px 0 12px 0;
}
@media screen and (min-width : 1241px) and (max-width: 1524px)	{
}
@media screen and (max-width: 1024px)	{
}
@media screen and (max-width: 768px)	{
	header	{height : auto;}
}
@media screen and (max-width: 479px)	{
	header	{
	margin : 0 auto;
	height : auto;
	}
	header #gNav	{
		display : none;
	}
	header #hd_logo	img	{
		width : 50%;
	}
}
/* spNav */
header #spNav	{
	display : none;
}
@media screen and (max-width: 479px)	{
	header #spNav	{
		display : block;
	}
}
/* Body gNav*/
#gNav	{
	margin-top : 40px;
}
#gNav ul	{
	margin : 0 auto;
	display: flex;
	background-color : #F2F2F3;
	border-radius : 6px;
	padding : 10px 14px;
}
#gNav ul li	{
	position: relative;
	display: flex;
	margin : 0;
	padding : 8px 10px;
	color : #000;
}
#gNav ul li a	{
	display : block;
	color : #000;
	font-size : 1.2rem;
	padding : 4px 14px;
}
#gNav ul li a:hover	{
	border-radius : 4px;
	background : #fff;
}
/* .anchor	{
	padding-top: 1px;
	margin-top: -1px;
} */

/* #gNav ul li a:hover	{
	color : #E60613;
	transition: color 0.3s ease 0s;
	text-decoration: inherit;
} */

/* hoverしたらdropdown表示 */
#gNav ul li.has-child:hover > ul,
#gNav ul li.has-child:active > ul	{
	visibility: visible;
	opacity: 1;
	transition: all .4s;
}
#gNav ul li.has-child ul li	{
	width : 280px;
	height : 58px;
	padding : 0;
	text-indent : 1rem;
	background-color:rgba(34,21,19,0.9); /* #221513 */
	background-image : none;
	border-bottom : solid 1px #fff;
	text-align : left;
	line-height : 58px;
}
#gNav ul li.has-child ul li a{
	color: #fff;
	width : 280px;
	height : 58px;
	padding : 0;
	background-image : none;
}
#gNav ul li.has-child ul li:last-child{
	border-bottom:none;
}
#gNav ul li.has-child ul li a:hover,
#gNav ul li.has-child ul li a:active{
	background:#003463;
	transition: all .4s;
	background-image : none;
}
@media screen and (max-width: 1024px)	{
}
@media screen and (max-width: 768px)	{
}

/* Body container*/
#container	{
	margin : 0 auto;
}
.content_in	{
	width : 90%;
	margin : 0 auto;
}
@media screen and (max-width: 1584px)	{
	.content_in	{
		width : 88%;
/* border : solid 1px #ff0000;*/ /* 調整用 */
	}
}
@media screen and (max-width: 1024px)	{
	.content_in	{
		width : 90%;
/* border : solid 1px #0000ff;*/ /* 調整用 */
	}
}
@media screen and (max-width: 768px)	{
	.content_in	{
		width : 94%; /* 確定 */
	}
}
@media screen and (max-width: 479px)	{
	.content_in	{
		width : 90%; /* 確定 */
	}
}
/* ---------------------------------------------------------- */
/* 共通パーツ*/
.center	{
	text-align : center;
}
@keyframes taphere {
	0% {
		transform: scale(1.4)
	}
	45% {
		transform: scale(1)
	}
	95% {
		transform: scale(1)
	}
	100% {
	-webkit-transform: scale(1.4)
	}
}
.box_v-h	{
	display: flex;
	flex-direction: row;
}
@media screen and (max-width: 768px)	{
	.box_v-h	{
		flex-direction: column;
	}
	.half	{
		width : 50%;
	}
}
@media screen and (max-width: 479px)	{
	@keyframes taphere {
	0% {
		transform: scale(1.1)
	}
	45% {
		transform: scale(1)
	}
	95% {
		transform: scale(1)
	}
	100% {
	-webkit-transform: scale(1.1)
	}
	}
}
/* ---------------------------------------------------------- */
/* contents */
#main	{
	background : url(../img/main.png) no-repeat 50% 0;
	background-size : contain;
	margin : 0 auto;
	position : relative;
	height : calc(1149px - 100px); /* 実際の画像サイズ1149px */
	padding-top : 8%; /* h2の表示位置調整 */
}
#main h1	{
	position : absolute;
	background-image : url(../img/logo_main_s.png);
	background-repeat : no-repeat;
	background-size : contain;
	right : 4%;
	bottom : 4%;
	width : calc(376px * 0.8);
	height : calc(256px * 0.8);
}
#main h1 p	{
	display : none;
}
#main h2	{
	background : rgba(3,35,51,0.7);
	color : #fff;
	text-align :center;
	font-size : 1.4rem;
	font-weight : 900;
	width : 42%;
	margin: 0 auto;
	padding : 1.4rem 0;
}
@media screen and (max-width: 1920px){
	#main	{
		height : calc(1149px - 220px); /* 実際の画像サイズ1149px */
	}
	#main h1	{
		right : 4%;
	}
	#main h2	{
		width : 50%;
	}
}
@media screen and (max-width: 1280px)	{
	#main	{
		height : calc(1149px - 440px); /* 実際の画像サイズ1149px */
	}
	#main h1	{
		width : calc(376px * 0.6);
		height : calc(256px * 0.6);
	}
	#main h2	{
		width : 54%;
	}
}
@media screen and (max-width: 1024px)	{
	#main	{
		height : calc(1149px - 620px); /* 実際の画像サイズ1149px */
		padding-top : 6%; /* h2の表示位置調整 */
	}
	#main h1	{
		width : calc(376px * 0.54);
		height : calc(256px * 0.54);
		right : 2%;
	}
	#main h2	{
		width : 70%;
		padding : 1.1rem 0;
	}
}
@media screen and (max-width: 768px)	{
	#main	{
		height : calc(1149px - 720px); /* 実際の画像サイズ1149px */
		padding-top : 4%; /* h2の表示位置調整 */
	}
	#main h1	{
		width : calc(376px * 0.5);
		height : calc(256px * 0.5);
		right : 2%;
	}
	#main h2	{
		width : 84%;
		padding : 1rem 0;
	}
}
@media screen and (max-width: 479px)	{
	#main	{
		height : calc(1149px - 920px); /* 実際の画像サイズ1149px */
		padding-top : 56%; /* h2の表示位置調整 */
	}
	#main h1	{
		width : calc(376px * 0.4);
		height : calc(256px * 0.4);
		right : 4%;
		bottom : 0%;
	}
	#main h2	{
		background : none;
		color : #032333;
	text-align :center;
		font-size : 1.2rem;
	font-weight : 900;
		width : 94%;
	margin: 0 auto;
	padding : 1.4rem 0;
}
}
/* ---- business ------------------------------------- */
#business	{
	width : 100%;
	margin: 0;
	position: relative;
	background : #6A95CD;
	color : #fff;
	clip-path : polygon(0px 200px, 100% 0px, 100% 100%, 0px 90%);
	padding : 180px 0;
}
#business h2	{
	font-size : 3.4rem;
	font-weight : 900;
	letter-spacing : 0.6rem;
	color : #fff;
	text-align : right;
	margin-right : -0.6rem; /* 右端合わせletter-spacing差分 */
}
#business h2 p	{
	margin-right : 0.6rem; /* 右端合わせ */
	margin-top : -0.8rem; /* 漢字表記に寄せる */
	font-size : 1.2rem;
	font-weight : 100;
	letter-spacing : 0.1rem;
	color : #BAEAFF;
}
#business .tx	{
	font-size : 1.2rem;
	margin : 2rem 0;
}
#business h3	{
	font-size : 2rem;
	margin-bottom : 0.6rem;
}


#business .box_business	{
	display: flex;
}
#business #box_lineup	{
	width : 58%;
	margin-right : 4%;
}
/* #ph_truck13	{
	width : 38%;
	text-align : right;
}
#ph_truck13 img	{
border : solid 1px #ff0000;
} */
.ph_truck_btw,
.ph_truck_cnt	{
	display: flex;
	margin : 2rem 0;
}
.ph_truck_btw	{
	justify-content: space-between;
}
.ph_truck_cnt	{
	justify-content: center;
}
.ph_truck_btw img,
.ph_truck_cnt img	{
	width : 32%;
}
.ph_truck_cnt img{
	margin : 0 1rem;
}
#business #box_lineup dl,
#business #box_lineup dl.last	{ /* 台数増える想定のレイアウト */
	width : 100%;
	display: flex;
	flex-wrap: wrap;
	border-top : solid 3px #fff;
	font-size : 1.4rem;
}
#business #box_lineup dl.last	{
	border-bottom : solid 3px #fff;
}
#business #box_lineup dl dt	{
	width : 30%;
	display: flex;
	align-items: center;
	text-indent : 1.4rem;
}
#business #box_lineup dl dd	{
	width : 70%;
	display: flex;
	align-items: center;
	padding : 0.8rem 0;
}
#business #box_lineup dl dd ul	{
	width : 100%;
	margin : -0.6rem 0;
}
#business #box_lineup dl dd ul li	{
	border-bottom : solid 2px #fff;
	padding : 0.8rem 0;
}
#business #box_lineup dl dd ul li:last-child	{
	border : none;
}
#business .margin_sp	{
	display : none;
}
#business #box_lineup p｛
	margin-top : 0.6rem:
｝

@media screen and (max-width: 1024px)	{
	#business	{
		clip-path : polygon(0px 140px, 100% 0px, 100% 100%, 0px 86%);
		padding : 160px 0;
	}
}
@media screen and (max-width: 768px)	{
	#business	{
		clip-path : polygon(0px 100px, 100% 0px, 100% 100%, 0px 94%);
		padding : 100px 0 140px 0;
	}
	#business .box_business	{
		flex-direction: column;
	}
	#business #box_lineup	{
		width : 90%;
		margin : 0;
	}
}
@media screen and (max-width: 479px)	{
	#business	{
		clip-path : polygon(0px 70px, 100% 0px, 100% 100%, 0px 96%);
		padding : 80px 0 180px 0;
	}
	#business h2	{
		font-size : 3rem;
		margin-right : 0rem; /* 右端合わせletter-spacing差分 */
	}
	#business #box_lineup	{
		width : 100%;
	}
	.ph_truck_btw,
	.ph_truck_cnt	{
		flex-direction: column;
		width : 92%;
		margin : 0 auto;
	}
	.ph_truck_btw img,
	.ph_truck_cnt img{
		width : 100%;
		margin : 1rem 0;
	}
	#business #box_lineup dl,
	#business #box_lineup dl.last	{ /* 台数増える想定のレイアウト */
		width : 100%;
	}
	#business #box_lineup dl dt	{
		text-indent : 0.4rem;
	}
}
/* ---- company ------------------------------------- */
#company 	{
	margin-bottom : 4rem;
}
#company h2	{
	font-size : 3.4rem;
	font-weight : 900;
	letter-spacing : 0.6rem;
	color : #1669C4;
	margin-bottom : 4rem;
}
#company h2 p	{
	margin-top : -0.8rem; /* 漢字表記に寄せる */
	font-size : 1.2rem;
	font-weight : 100;
	letter-spacing : 0.1rem;
	color : #A8A9A9;
}
#company .box_company{
	background-image : url(../img/ph_company.png),url(../img/logo.png);
	background-size : calc(640px * 0.8),calc(160px * 1);
	background-position : 0 10%,16% 75%;
	background-repeat : no-repeat, no-repeat;
	display : flex;
	justify-content: flex-end;
}
#company dl		{
	width : 50%;
	display: flex;
	flex-wrap: wrap;
	font-size : 1.4rem;
}
#company dl dt	{
	width : 30%;
	display: flex;
	align-items: center;
	border-bottom : solid 2px #6A95CD;
}
#company dl dt.letter2	{
	letter-spacing : 1.4rem;
}
#company dl dd	{
	width : 70%;
	display: flex;
	align-items: center;
	padding : 1rem 0;
	border-bottom : solid 2px #6A95CD;
}
#company .box_map	{
	display : flex;
	flex-direction: row;
	justify-content: space-between;
	margin : 3rem 0 1rem 0;
}
#company .box_map .map_main,
#company .box_map .map_parking	{
	text-align : center;
	width : 49%;
}
#company .tx_map	{
	font-size : 1.4rem;
	display : flex;
	align-items: center;
	justify-content: center;
	margin-bottom : 0.4rem;
}
#company .tx_map span:before	{
	content: "＜";
}
#company .tx_map span:after	{
	content: "＞";
	margin-right : 0.4rem;
}
@media screen and (max-width: 1280px)	{
	#company .box_company{
		background-size : calc(640px * 0.7),calc(160px * 1);
	}
}
@media screen and (max-width: 1024px)	{
	#company .box_company{
		flex-direction: column;
		background-image : url(../img/ph_company.png);
		background-position : 50% 100%;
	}
	#company dl		{
		margin : 0 auto calc((360px * 0.8) + 2rem) auto; /* 写真の高さ確保 */
		width : 80%;
		font-size : 1.3rem;
	}
	#company .tx_map	{
		font-size : 1.2rem;
	}
}
@media screen and (max-width: 768px)	{
	#company .tx_map	{
		font-size : 1rem;
	}
}
@media screen and (max-width: 479px)	{
	#company h2	{
		font-size : 3rem;
	}
	#company dl	{
		width : 92%;
		margin : 0 auto calc((360px * 0.6) + 2rem) auto; /* 写真の高さ確保 */
	}
	#company .box_company{
		background-size : calc(640px * 0.6);
	}
	#company .box_map	{
		flex-direction: column;
	}
	#company .box_map .map_main,
	#company .box_map .map_parking	{
		width : 100%;
	}
	#company .box_map .map_main	{
		margin-bottom : 2rem;
	}
	#company .tx_map	{
		font-size : 1.2rem;
		flex-direction: column;
	}
}
@media screen and (max-width: 380px)	{
	#company dl	{
		width : 100%;
	}
}
/* ---- contact ------------------------------------- */
#contact	{
	width : 100%;
	margin: 0;
	position: relative;
	background : #597D97;
	color : #fff;
	clip-path : polygon(0px 200px, 100% 0px, 100% 100%, 0 100%);
	padding : 100px 0;
}
@media screen and (max-width: 1024px)	{
	#contact 	{
		clip-path : polygon(0px 120px, 100% 0px, 100% 100%, 0 100%);
		padding : 100px 0;
	}
}
@media screen and (max-width: 768px)	{
	#contact 	{
		clip-path : polygon(0px 100px, 100% 0px, 100% 100%, 0 100%);
		padding : 100px 0;
	}
}
#contact h2	{
	font-size : 3.4rem;
	font-weight : 900;
	letter-spacing : 0.6rem;
	color : #fff;
	text-align : right;
	margin-right : -0.6rem; /* 右端合わせletter-spacing差分 */
}
#contact h2 p	{
	margin-right : 0.6rem; /* 右端合わせ */
	margin-top : -0.8rem; /* 漢字表記に寄せる */
	font-size : 1.2rem;
	font-weight : 100;
	letter-spacing : 0.1rem;
}
#contact .tx	{
	font-size : 1.2rem;
	margin : 2rem 0;
}
@media screen and (max-width: 479px)	{
	#contact 	{
		clip-path : polygon(0px 80px, 100% 0px, 100% 100%, 0 100%);
		padding : 100px 0;
	}
	#contact h2	{
		font-size : 3rem;
		margin-right : 0; /* 右端合わせletter-spacing差分 */
	}
}
@media screen and (max-width: 380px)	{
	#contact h2	{
		font-size : 2.8rem;
	}
}
.googlemap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.googlemap iframe,
.googlemap object,
.googlemap embed,
.movie_wrap iframe,
.movie_wrap object,
.movie_wrap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


/* ---------------------------------------------------------- */
/* footer */
footer	{
	background-image : url(../img/bg_footer.png);
	color : #FFF;
	margin-top : -1px;
	padding : 3rem 0 1rem 0;
}
footer .box	{
	display : flex;
}
footer .box .tx	{
	margin-left : 3rem;
	font-size : 1.4rem;
	line-height : 2.4rem;
	font-weight : 700;
}
footer .box_tel	{
	background : #fff;
	width : 60%;
	border-radius : 3rem;
	margin : 3rem auto 0 auto;
	padding : 1rem;
	text-align : center;
	font-size : 3.8rem;
	color : #000;
}
footer .box_tel span	{
	font-size : 3.2rem;
	color : #154D77;
	margin-right : 0.6rem;
}
footer .tx_contact	{
	margin : 1rem auto;
	text-align : center;
	font-size : 1.6rem;
}
footer .tx_contact span:before	{
	content: "＜";
	margin-left : 0.4rem;
}
footer .tx_contact span:after	{
	content: "＞";
}
footer .copyright	{
	font-size : small;
	text-align : center;
	margin : 0 auto;
}
@media screen and (max-width: 1024px)	{
	footer .box .tx	{
		font-size : 1.3rem;
		line-height : 2.2rem;
	}
}
@media screen and (max-width: 768px)	{
	footer .box .tx	{
		margin-left : 2rem;
		font-size : 1.2rem;
		line-height : 2.2rem;
	}
	footer .box_tel	{
		width : 75%;
		font-size : 3.6rem;
	}
}
@media screen and (max-width: 479px)	{
	footer .box	{
		flex-direction: column-reverse;
		text-align : center;
		line-height : 2rem;
	}
	footer .box .tx	{
		text-align : left;
		margin-left : 0;
		margin-bottom : 1rem;
	}
	footer .box_tel	{
		width : 94%;
		border-radius : 2rem;
		font-size : 2.6rem;
	}
	footer .box_tel span	{
		font-size : 2.4rem;
	}
	footer p	{
		font-size : xx-small;
	}
}
@media screen and (max-width: 380px)	{
	footer .box_tel	{
		font-size : 2.4rem;
	}
	footer .box_tel span	{
		font-size : 2.2rem;
	}
}
/* ---------------------------------------------------------- */
.telNo	{
	display : block;
}
.telNo a	{
	color : #B28C7A;
}

#page-top {
	z-index : 2;
	position: fixed;
	bottom: 2%;
	right: 2%;
	background-color:rgba(242,242,243,0.8);
	background : #F2F2F3;
	border-radius : 25px;
	width : 50px;
	height : 50px;
}
#page-top a {
	width : 50px;
	height : 50px;
	display: block;
	color : #000;
	font-size : 1.4rem;
}
#page-top a:hover {
	line-height : 30px;
	transition: all .4s;
}
#page-top p	{
	font-size : 1.4rem;
	text-align: center;
	line-height : 50px;
	color : #000;
}

@media screen and (max-width: 768px)	{
	#page-top {
		bottom: 10%;
		right: 2%;
	}
}
/* br */
br.onlyPC	{
	display : block;
}
br.forTB	{
	display : none;
}
br.onlySP	{
	display : none;
}
@media screen and (max-width: 768px)	{
	br.onlyPC	{
		display : none;
	}
	br.forTB	{
		display : block;
	}
	br.onlySP	{
		display : none;
	}
}
@media screen and (max-width: 479px)	{
	br.onlyPC	{
		display : none;
	}
	br.forTB	{
		display : none;
	}
	br.onlySP	{
		display : block;
	}
}

.clearfix
	{
	display: block;
	min-height: 1%;
}
.clearfix:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	visibility: hidden;
}

/* margin */
.mgt1	{margin-top : 1rem;}
.mgt2	{margin-top : 2rem;}
.mgt3	{margin-top : 3rem;}
.mgt4	{margin-top : 4rem;}
.mgt6	{margin-top : 6rem;}
.mgb1	{margin-bottom : 1rem;}
.mgb2	{margin-bottom : 2rem;}
.mgb3	{margin-bottom : 3rem;}
.mgb4	{margin-bottom : 4rem;}
.mgb6	{margin-bottom : 6rem;}