@charset "utf-8";

/* -----------------------------------------------
FileName: style.css
----------------------------------------------- */
/* CSSリセット */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
	margin: 0;
	padding: 0;
}
li { list-style:none; } caption,th{ text-align:left; }
input,textarea,select{ font-family:inherit;font-size:inherit;font-weight:inherit; }
img {
	width: 100%;
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: bottom;
}

html {
	font-size: 62.5%;
}
body {
	margin: 0;
	padding: 0;
	background-color: #FFFFFF;
/*	font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";*/
	font-family: "Noto Sans JP","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	color: #000000;
	line-height: 1.4;
	-webkit-text-size-adjust: 100%;
}
a {
	text-decoration: none;
	color: #000000;
}
a:hover {
	color: #51514F;
}
	a img:hover {
		opacity: 0.5;
		filter: alpha(opacity=50);
		-ms-filter: "alpha(opacity=50)";
		-moz-opacity: 0.5;
		-khtml-opacity: 0.5;
	}
p {
	line-height: 2.0;
}

#wrap {
	font-size: 1.6rem;
}

/* ヘッダー */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 85px;
	background: #FFFFFF;
	box-sizing: border-box;
	font-size: 1.5rem;
	z-index: 100;
}
	header #inner_header {
		display: flex;
		align-items: center;
		margin: 0 auto;
		padding: 15px 15px;
		width: 100%;
		background-color: #FFFFFF;
		box-sizing: border-box;
	}
		header #inner_header .h_logo {
			width: 50px;
		}
			header #inner_header .h_logo img {
				width: 50px;
				vertical-align: middle;
			}
		header #inner_header .h_menu {
			margin-left: auto;
			width: calc(100% - 250px);
			max-width: 870px;
		}
			header #inner_header .h_menu .menulist {
				display: flex;
				justify-content: space-evenly;
				width: 100%;
			}
				header #inner_header .h_menu .menulist li {
				}
					header #inner_header .h_menu .menulist li a {
						text-decoration: none;
					}
					header #inner_header .h_menu .menulist li a.active {
						color: #DC732A;
					}
					header #inner_header .h_menu .menulist li a:hover {
						color: #DC732A;
					}
		header #inner_header .other_logo {
			width: 180px;
		}
			.other_logo_list {
				display: flex;
				justify-content: right;
				width: 100%;
			}
				.other_logo_list li {
					height: 50px;
				}
				.other_logo_list li:nth-child(1) {
					padding-right: 15px;
				}
					.other_logo_list li img {
						height: 100%;
					}
		header #inner_header .navi {
			display: none;
		}

#main {
	margin-top: 85px;
}
#main.privacy {
	padding-bottom: 80px;
}

section {
	margin-top: -85px;
	padding-top: 85px;
}

.container {
	padding: 80px 0;
}
.container02 {
	padding: 80px 0 0;
}
.container03 {
	padding: 40px 0 0;
}
.container.bgorange {
	background: url("../images/bg_oursurvises.svg") center/cover no-repeat;
}
.container.bggray {
	background-color: #F7F7F7;
}

	.wrapper {
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
	.wrapper.width1100 {
		max-width: 1140px;
	}
	.wrapper.width920 {
		max-width: 960px;
	}

	.ttlarea {
		margin-bottom: 45px;
		text-align: center;
	}
	.bgorange .ttlarea {
		color: #FFFFFF;
	}
	.ttlarea.orangeline {
		margin-bottom: 0;
		padding-bottom: 15px;
		text-align: center;
		border-bottom: 5px solid #DC732A;
	}
		.subttl{
			padding-bottom: 20px;
			line-height: 1.4;
			color: #DC732A;
		}
		.bgorange .subttl{
			color: #FFFFFF;
		}
		h1.ttlh1 {
			font-weight: bold;
			font-size: 5.5rem;
		}
		h2.ttlh2 {
			font-weight: bold;
			font-size: 5.5rem;
		}
		h2.ttlh2_privacy {
			margin-bottom: 20px;
			font-weight: bold;
			font-size: 2.0rem;
			text-align: left;
		}
	.conttxt {
		text-align: center;
	}
		.index .conttxt {
			font-size: 2.0rem;
		}


/* index */
.top_images {
	background: url("../images/bg_top.svg") center/cover no-repeat;
}
	.top_images_flex {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		max-width: 1140px;
		height: 515px;
		color: #FFFFFF;
	}
		.top_images h1 {
			display: grid;
			align-items: center;
			font-size: 6.0rem;
			width: 35%;
		}
			.top_images h1 span {
				display: block;
				margin-top: 25px;
				font-size: 3.0rem;
			}
		.top_images .rightimage {
			width: 65%;
			max-width: 650px;
		}

	.index_ourservices_flex {
		display: flex;
		justify-content: center;
		gap: 10px;
		flex-wrap: wrap;
		margin: 50px auto;
		width: 100%;
	}
		.index_ourservices_flex .box_index_ourservices {
			display: block;
			margin-bottom: 10px;
			padding: 30px 30px;
			width: 300px;
			text-align: center;
			background-color: #FFFFFF;
			box-sizing: border-box;
			transition: all 0.3s ease 0s;
		}
		.index_ourservices_flex .box_index_ourservices:hover  {
			box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.40);
			transform: translateY(-10px);
		}
		.index_ourservices_flex .box_index_ourservices p.psubttl {
			text-align: center;
		}
		.index_ourservices_flex .box_index_ourservices h3.ttlh3 {
			font-size: 2.5rem;
		}
		.index_ourservices_flex .box_index_ourservices img {
			margin: 10px 0;
			width: 90px;
		}
		.index_ourservices_flex .box_index_ourservices p {
			text-align: left;
		}

.ourworks_slide {
	width: 100%;
	overflow: hidden;
}
	.ourworks_slide .slick-track {
		display: flex;
		align-items: stretch;
		gap: 0 10px;
		width: 100%;
	}
		.ourworks_slide li.box_ourworks {
			display: flex !important;
			flex-direction: column;
			width: 300px;
			height: auto;
			background-color: #FFFFFF;
			overflow: hidden;
		}
		.box_ourworks_inner {
			padding: 0 25px 30px;
			background-color: #FFFFFF;
		}
			.ourworks_slide .box_ourworks .ttlh3 {
				margin-top: 30px;
				font-size: 1.8rem;
			}
			.ourworks_slide .box_ourworks .work_ul {
				display: flex;
				margin-top: 15px;
				width: 100%;
			}
				.ourworks_slide .box_ourworks .work_ul li {
					margin-right: 10px;
					padding-top: 3px;
					width: 120px;
					height: 20px;
					border-radius: 10px;
					background-color: #DC732A;
					font-size: 1.0rem;
					color: #FFFFFF;
					text-align: center;
					box-sizing: border-box;
				}
			.ourworks_slide .box_ourworks p {
				margin-top: 15px;
				font-size: 1.5rem;
			}
		
.news_list {
	border-top: 1px solid #000000;
}
	.news_flex {
		display: flex;
		align-items: center;
		padding: 25px 0;
		width: 100%;
		border-bottom: 1px solid #000000;
		font-size: 1.8rem;
		line-height: 2.0;
		box-sizing: border-box;
	}
	.news_flex a {
		text-decoration: underline;
	}
	.news_flex dt {
			width: 150px;
		}
		.news_flex dd {
			width: calc(100% - 150px);
			overflow: hidden;
		}
			.news_flex dd .newscate {
				display: inline-block;
				margin-bottom: 5px;
				padding: 5px 10px;
				font-size: 1.1rem;
				color: #FFFFFF;
			}
			.news_flex dd p {
				overflow: hidden;
				white-space: nodd;
				text-overflow: ellipsis;
			}

	.flowofuse_list {
		margin-bottom: 80px;
		border-top: 1px solid #000000;
	}
		.flowofuse_flex {
			display: flex;
			align-items: center;
			padding: 40px 35px;
			width: 100%;
			border-bottom: 1px solid #000000;
			font-size: 1.8rem;
			box-sizing: border-box;
		}
			.flowofuse_flex li {
			}
			.flowofuse_flex li:nth-child(1) {
				width: 105px;
			}
			.flowofuse_flex li:nth-child(2) {
				width: 200px;
				text-align: center;
				color: #DC732A;
				font-weight: bold;
				font-size: 2.5rem;
			}
			.flowofuse_flex li:nth-child(3) {
				width: calc(100% - 305px);
				line-height: 2.0;
			}

/* aboutus */
.aboutus_top_flex {
	display: flex;
	align-items: center;
	width: 100%;
}
	.aboutus_top_flex_l {
		width: 48%;
	}
	.aboutus_top_flex_r {
		margin-left: -50px;
		margin-top: 5%;
		padding: 50px;
		width: 52%;
		background-color: rgba(255, 255, 255, 0.8);
	}
		.aboutus_top_flex_r .ttlh3_aboutus_top {
			margin-bottom: 25px;
			font-size: 3.2rem;
			font-weight: bold;
			text-align: center;
		}
		.signature {
			margin-top: 20px;
			text-align: right;
		}
			.signature span {
				font-size: 3.0rem;
			}
.aboutus_images {
	height: 1100px;
	text-align: center;
	background: url('../images/bg_aboutus01.svg') center/cover no-repeat;
}
	.aboutus_images img {
		height: 1100px;
		max-width: none;
	}
h2.ttlh2_aboutus {
	font-size: 4.5rem;
}
.aboutusttxt {
	margin-bottom: 80px;
	text-align: center;
}
.aboutus_flex {
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
	margin: 0 auto;
	width: 100%;
}
	.box_aboutus {
		width: 445px;
	}
		.box_aboutus_inner {
			height: 100%;
			padding: 30px;
			border: 1px solid #DC732A;
			box-sizing: border-box;
		}
			.ttlh3_aboutus {
				margin-bottom: 10px;
				font-size: 2.5rem;
				color: #DC732A;
			}
.company_list {
	border-top: 1px solid #000000;
	margin:80px auto;
}
	.company_list .news_flex {
		padding: 25px 70px;
	}

/* ourservices */
	.ourservices_flex {
		display: flex;
		align-items: center;
		margin-top: 30px;
		width: 100%;
	}
		.ourservices_flex.type01 .ourservices_flex_l {
			padding-left: 65px;
			width: 50%;
			box-sizing: border-box;
		}
		.ourservices_flex.type01 .ourservices_flex_r {
			padding-left: 85px;
			width: 50%;
			box-sizing: border-box;
		}
		.ourservices_flex.type02 .ourservices_flex_l {
			padding-right: 85px;
			width: 50%;
			box-sizing: border-box;
		}
		.ourservices_flex.type02 .ourservices_flex_r {
			padding-right: 65px;
			width: 50%;
			box-sizing: border-box;
		}
			.ttlh3_ourservices {
				margin-bottom: 45px;
				font-size: 3.0rem;
				font-weight: bold;
			}

/* access */
	.access_flex {
		display: flex;
		align-items: center;
		margin-top: 30px;
		width: 100%;
	}
		.access_flex .access_flex_l {
			padding-left: 60px;
			width: 540px;
			box-sizing: border-box;
		}
			.ttlh3_access {
				margin-bottom: 45px;
				font-size: 3.0rem;
				font-weight: bold;
			}
		.access_flex .access_flex_r {
			width: 560px;
			box-sizing: border-box;
		}
			.access_img {
				position: relative;
				padding-bottom: 56.25%;
				height: 0;
				overflow: hidden;
			}
				.access_img iframe {
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
				}

/* slick */
.slick-list {
	margin: 0 auto;
	padding: 0 !important;
	width: 1170px;
	overflow: visible;
}
.slick-dotted.slick-slider {
	margin-bottom: 0;
}
.slick-dots {
	position: relative;
	margin-top: 20px;
	bottom: 0;
}
.slick-dots li button::before {
	font-family: serif;
	font-size: 4.0rem;
}
.prev-arrow {
	position: absolute;
	bottom: -5px;
	left: calc(50% - 110px);
	font-size: 2.5rem;
	cursor: pointer;
	z-index: 10;
}
.next-arrow {
	position: absolute;
	bottom: -5px;
	right: calc(50% - 114px);
	font-size: 2.5rem;
	cursor: pointer;
	z-index: 10;
}

/* privacy */
.privacymark_flex {
	display: flex;
	width: 100%;
}
	.privacymark_flex_l {
		width: calc(100% - 250px);
	}
	.privacymark_flex_r {
		width: 250px;
	}
		.privacymark_flex_r p {
			margin: 10px auto;
			width: 155px;
			text-align: center;
		}
		.policy_box {
			margin-bottom: 10px;
		}
			.privacy_ul {
				margin-left: 1em;
				list-style: none;
				line-height: 2.0;
			}
				.privacy_ul li {
					padding-left: 1em;
					text-indent: -1.0em;
				}
			.privacy_p {
				padding-left: 1em;
			}
		.privacy_box {
			margin-bottom: 40px;
		}
		hr.dot {
			border: none;
			margin: 0;
			padding: 0;
			border-bottom: dotted 2px #000000;
		}
		.ttlh3_privacy {
			line-height: 2.0;
			font-weight: bold;
			font-size: 1.6rem;
		}
.privacymark_sp {
	display: none;
}
.privacy_wrap {
	overflow-x: auto;
}

table.privacy_tbl {
	border: solid 1px #4d4d4d;
	border-collapse: collapse;
	margin-bottom: 3px;
	width: 100%;
	font-size: 90%;
	min-width: 700px;
}
	table.privacy_tbl th,
	table.privacy_tbl td {
		vertical-align: top;
	}
	table.privacy_tbl th {
		border: solid 1px #4d4d4d;
		border-collapse: collapse;
		padding: 5px;
		text-align: center;
		font-weight: bold;
		white-space: nowrap;
	}
	table.privacy_tbl td {
		border: solid 1px #4d4d4d;
		border-collapse: collapse;
		padding: 5px;
	}
	table.privacy_tbl .width70 {
		width: 30%;
	}
	table.privacy_tbl .width70 {
		width: 30%;
	}
	table.privacy_tbl .width55 {
		width: 55%;
	}
	table.privacy_tbl .width15 {
		width: 15%;
	}
.privacy_info_box {
	display: inline-block;
	padding: 8px;
	border: 1px dashed #000000;
}

/*-----フォーム-----*/
.contactform {
}
.contactform p {
	margin-bottom: 1em;
}
	.contactform dl {
		margin-bottom: 40px;
		line-height: 2.0;
	}
	.contactform dl.shiryo {
		margin: 40px 0;
	}
	.contactform dl.toriatsukai {
		margin-bottom: 40px;
	}
	.contactform dl.toriatsukai a {
		text-decoration: underline;
	}
		.contactform dt {
		}
		.contactform dd {
			margin-top: 5px;
		}
		.contactform.check dd {
			min-height: 25px;
			border-bottom: 1px solid #000000;
		}
		.contactform dl.toriatsukai dd {
			margin-top: 5px;
			border: none;
		}
			.contactform span.name_hissu {
				display: inline-block;
				padding-right: 20px;
			}
			.contactform span.hissu {
				color: #DC732a;
			}
			input[type="text"],
			textarea {
				width: calc(100% - 22px);
				padding: 10px;
				background-color:#FFFFFF;
				border: solid #3b3a39 1px;
			}
			input[type="checkbox"] {
				margin-right: 0.5em;
			}
			input[type="checkbox"]#privacy_check {
				margin-left: 3em;
			}
			.input-i {
				ime-mode: disabled;
			}
			textarea {
				height: 200px;
			}
			div.kakunin {
				margin-top: 20px;
				margin-bottom: 20px;
				font-weight: bold;
				text-align: center;
			}
			.contact_ttl {
				font-weight: bold;
				font-size: 2.0rem;
			}
.err {
	margin: 5px 0;
	color: #FF0000;
	font-size: 1.8rem;
}
ul.error {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul.error li {
	margin: 5px auto;
	color: #B22222;
}
.sendmsg {
	text-align: center;
	margin: 60px auto;
}

	.btn_area {
		margin-top: 45px;
	}
	.contact .btn_area {
		margin-top: 80px;
	}
		.btn_more, /* a もっと見る */
		.btn_submit { /* submit 送信する */
			margin: 0 auto;
			width: 275px;
		}
		.ourservices .btn_more,
		.access .btn_more {
			margin: 0;
		}
		.btn_top { /* a トップページへ */
			margin: 0 auto;
			width: 200px;
		}
			.btn_more a,
			.btn_top a,
			.btn_submit input[type="submit"] {
				display: grid;
				place-items: center;
				width: 100%;
				height: 60px;
				border: 2px solid #DC732A;
				border-radius: 30px;
				box-sizing: border-box;
				background-color: #FFFFFF;
				color: #DC732A !important;
				transition: color 0.4s;
			}
			.btn_more a:hover,
			.btn_top a:hover,
			.btn_submit input[type="submit"]:hover {
				background-color: #DC732A;
				color: #FFFFFF !important;
			}
			.btn_back { /* a 戻る */
				text-align: center;
			}

		.btn_download { /* a 会社資料ダウンロード */
			margin: 0 auto;
			max-width: 520px;
		}
			.btn_download a {
				display: grid;
				place-items: center;
				width: 100%;
				height: 90px;
				border: 2px solid #DC732A;
				box-sizing: border-box;
				text-align: center;
				font-size: 2.5rem;
				background: url("../images/btn_download.svg") center right 36px/36px #FFFFFF no-repeat;
				color: #DC732A;
			}
			.btn_download a:hover {
				background: url("../images/btn_download_over.svg") center right 36px/36px #DC732A no-repeat;
				color: #FFFFFF;
			}

.bnn_contact {
	background: url("../images/bg_contact01.png") center/cover no-repeat;
	box-sizing: border-box;
}
.bnn_contact:hover {
	background: url("../images/bg_contact02.svg") center/cover no-repeat;
}
	.bnn_contact a {
		display: block;
	}
	.bnn_contact:hover a {
		color: #FFFFFF !important;
	}
		.bnn_contact_flex {
			display: flex;
			align-items: center;
			width: 100%;
			height: 330px;
			box-sizing: border-box;
		}
			.bnn_contact_flex li:nth-child(1) {
				padding-right: 240px;
			}
			.bnn_contact_flex li:nth-child(1) .ttlarea {
				margin-bottom: 40px;
			}
				.bnn_contact_flex li:nth-child(1) .subttl {
					padding-bottom: 10px;
				}
				.bnn_contact:hover a .subttl {
					color: #FFFFFF !important;
				}
			.bnn_contact_flex li:nth-child(2) {
				line-height: 2.0;
			}

footer {
	text-align: left;
}
	.footer_flex {
		display: flex;
		padding: 40px 0;
		width: 100%;
	}
		.footer_flex li:nth-child(1) {
			padding-top: 10px;
			padding-right: 10px;
			width: 18%;
			box-sizing: border-box;
		}
			.footer_flex li:nth-child(1) img {
				width: 100px;
			}
		.footer_flex li:nth-child(2) {
			padding-right: 10px;
			width: 50%;
			box-sizing: border-box;
		}
			.footer_flex li:nth-child(2) h2.ttlh2_footer {
				margin-bottom: 1em;
				font-weight: normal;
				font-size: 1.8rem;
			}
		.footer_flex li:nth-child(3) {
			width: 32%;
		}
	.copyright {
		margin: 0;
		padding: 30px 0;
		border-top: 1px solid #DC732A;
		font-size: 1.5rem;
		text-align: center;
	}

.fadein {
	animation: fadeIn 2.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.arrow_cl span {
	padding-right: 5px;
	color: #DC732A;
}
.arrow_cl a {
	text-decoration: none;
}
.arrow_cl a:hover {
	color: #DC732A;
}

.center {
	text-align: center;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}
.bold {
	font-weight: bold;
}

.show_pc {
	display: block;
}
.show_sp {
	display: none;
}
