@charset "UTF-8";

/*
#0a0764
*/

html {
	font-size: 15px;
}

body {
	min-width: 1080px;
	color: #3a3a3a;
	line-height: 1.25;
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
}

@media screen and (max-width: 768px) {
	html {
		font-size: 4vw;
	}

	body {
		min-width: 0;
		line-height: 1.6;
	}
}

/* ==================================================
汎用クラス
================================================== */
/* 端末別表示非表示設定
-------------------------------------------------- */
@media screen and (max-width: 768px) {
	.pc-only { /* PCでの閲覧時にのみ表示したいコンテンツにつける */
		display: none !important;
	}
}

@media screen and (min-width: 768px) {
	.sp-only { /* スマホでの閲覧時にのみ表示したいコンテンツにつける */
		display: none !important;
	}
}

/* 改行
-------------------------------------------------- */
.app-br {
	display: block;
}

/* ==================================================
タグ
================================================== */
/* img
-------------------------------------------------- */
img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
}

/* a
-------------------------------------------------- */
a {
	color: #0a0764;
	text-decoration: none;
	transition: All 0.4s ease;
}

a:hover {
	color: #0a0764;
	text-decoration: underline;
}

a img {
	transition: All 0.4s ease;
}

a:hover > img:only-child {
	opacity: .8;
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		color: inherit;
		text-decoration: none;
		pointer-events: none;
	}
}

/* ==================================================
テーブル
================================================== */
.styled-table01 {
	width: 100%;
}

.styled-table01 th,
.styled-table01 td {
	padding: 15px 25px;
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
	border: 1px solid #c9c9c9;
	box-sizing: border-box;
}

.styled-table01 th {
	width: 340px;
	color: #fff;
	font-size: 16px;
	background: #0a0764;
}

@media screen and (max-width: 768px) {
	.styled-table01 th,
	.styled-table01 td {
		padding: .8rem;
		font-size: .9rem;
	}

	.styled-table01 th {
		width: 40%;
	}
}

/* ==================================================
パンくずリスト
================================================== */
.breadcrumbs-list {
	max-width: 1080px;
	margin: 0 auto 32px;
	line-height: 25px;
	font-size: 14px;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: flex;
	justify-content: flex-start;
	overflow: hidden;
}

.breadcrumbs-list li:not(:last-child) {
	background: url(../images/common/icon_arrow03.png) right center no-repeat;
	margin: 0 7px 0 0;
	padding: 0 10px 0 0;
}

@media screen and (max-width: 768px) {
	.breadcrumbs-list {
		margin: 0 .8rem 1.6rem;
	}
}

/* ==================================================
ページネーション
================================================== */
.pagenation {
	margin: 0 0 20px;
	display: flex;
	justify-content: center;
}

.pagenation li {
	width: 26px;
	margin: 0 2px;
	line-height: 30px;
	text-align: center;
	background: #aaa;
}

.pagenation li > * {
	color: #fff;
	font-size: 13px;
	text-decoration: none;
	display: block;
}

.pagenation li:hover,
.pagenation li.current {
	background: #0a0764;
}


/* ==================================================
ヘッダー
================================================== */
/* レイアウト
-------------------------------------------------- */
.l-global-header {
	position: relative;
}

.l-header-content {
	width: 100%;
	padding: 19px 54px 0 37px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 20;
}

.l-header-visual {
	position: relative;
	z-index: 10;
}

@media screen and (max-width: 768px) {
	.l-header-content {
		padding: .8rem;
		justify-content: center;
	}

	.l-header-right {
		display: none;
	}
}

/* ロゴ
-------------------------------------------------- */
.header-logo {
	margin: 0 0 12px;
}

.header-description {
	color: #fff;
	font-size: 14px;
}

@media screen and (max-width: 768px) {
	.header-logo {
		max-width: 61.8%;
		margin: 0 auto;
		text-align: center;
	}

	.header-description {
		display: none;
	}
}

/* ナビ
-------------------------------------------------- */
.header-nav ul {
	display: flex;
}

.header-nav li {
	margin: 0 0 0 29px;
}

.header-nav a {
	color: #fff;
}

/* メインビジュアル
-------------------------------------------------- */
.header-main-visual {
	overflow: hidden;
	position: relative;
}

/* 上下の装飾 */
.header-main-visual:before {
	content: '';
	width: 100%;
	height: 100%;
	background:
		url(../images/common/header_deco_top.png) right top no-repeat,
		url(../images/common/header_deco_bottom.png) left bottom no-repeat
	;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 300;
	pointer-events: none;
}

.header-main-visual:after {
	content: '';
	border-left: 100vw solid transparent;
	border-bottom: 90px solid #fff;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 300;
}

/* キャッチコピー */
.header-main-visual .visual-catch {
	width: 100%;
	text-align: center;
	position: absolute;
	top: 232px;
	left: 0;
	z-index: 200;
}

/* スクロールボタン */
.header-main-visual .visual-scroll {
	position: absolute;
	bottom: 88px;
	left: 50%;
	z-index: 400;
	transform: translateX(-50%);
}

/* 背景写真 */
.header-main-visual .visual-bg {
	overflow: hidden;
	position: relative;
	z-index: 100;
}

.header-main-visual .visual-image {
	height: calc(100vh + 40px);
	background: center / cover;
}

@media screen and (max-width: 768px) {
	/* 上下の装飾 */
	.header-main-visual:after {
		display: none;
	}

	/* キャッチコピー */
	.header-main-visual .visual-catch {
		max-width: 96%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
	}

	/* スクロールボタン */
	.header-main-visual .visual-scroll {
		position: absolute;
		bottom: 1.6rem;
		left: 50%;
		z-index: 400;
		transform: translateX(-50%);
	}

	/* 背景写真 */
	.header-main-visual .visual-image {
		height: 100vh;
	}
}

/* サブビジュアル
-------------------------------------------------- */
.header-sub-visual {
	height: 440px;
	padding: 225px 0 0;
	background: url(../images/common/header_visual_bg.png) center / cover;
	box-sizing: border-box;
}

.header-sub-visual .visual-catch {
	text-align: center;
	color: #0a0764;
	font-size: 43px;
	font-weight: bold;
	text-shadow: 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff, 0 0 4px #fff;
	position: relative;
}

.header-sub-visual .visual-catch:after {
	content: '';
	width: 95px;
	height: 1px;
	margin: 10px auto 0;
	background: linear-gradient(to right, rgba(10, 7, 100, 0) 0, rgba(10, 7, 100, 1) 20%, rgba(10, 7, 100, 1) 80%, rgba(10, 7, 100, 0));
	box-shadow: 0 0 6px 3px rgba(255,255,255,.9);
	display: block;
}

@media screen and (max-width: 768px) {
	.header-sub-visual {
		height: auto;
		padding: calc(50px + 15vw) 0 15vw;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: content-box;
	}

	.header-sub-visual .visual-catch {
		font-size: 2rem;
	}
}

/* ==================================================
フッター
================================================== */
.l-global-footer {
	color: #fff;
	font-size: 15px;
	background: #0a0764;
}

.l-global-footer .l-footer-inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 53px 0 75px;
	display: flex;
	justify-content: space-between;
}

.l-footer-left {
	width: 390px;
}

.l-footer-right {
	width: 600px;
	padding: 29px 0 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.l-global-footer a {
	color: inherit;
}

@media screen and (max-width: 768px) {
	.l-global-footer {
		font-size: inherit;
	}

	.l-global-footer .l-footer-inner {
		padding: 2.4rem .8rem;
		display: block;
	}

	.l-footer-left {
		width: auto;
		margin: 0 0 2.4rem;
	}

	.l-footer-right {
		width: auto;
		padding: 0;
		display: block;
	}
}

/* ロゴ
-------------------------------------------------- */
.footer-logo {
	margin: 0 0 21px;
	letter-spacing: -.07em;
}

.footer-logo a {
	margin: 0 0 19px;
	display: block;
}

@media screen and (max-width: 768px) {
	.footer-logo {
		margin: 0 0 1.6rem;
		text-align: center;
		font-size: .9rem;
	}

	.footer-logo img {
		max-width: 61.8%;
		margin: 0 auto;
		display: block;
	}
}

/* 会社概要
-------------------------------------------------- */
/* 会社概要 */
.footer-about {
	margin: 0 0 15px -.5em;
	line-height: 1.4;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.footer-about dt {
	width: 90px;
}

.footer-about dd {
	width: calc(100% - 90px - 5px);
}

/* 電話番号 */
.footer-tel {
	font-size: 35px;
}

.footer-tel span {
	font-size: .8em;
}

@media screen and (max-width: 768px) {
	/* 会社概要 */
	.footer-about {
		margin: 0 0 1.6rem -.5em;
	}

	/* 電話番号 */
	.footer-tel {
		line-height: 1;
		font-size: 2rem;
	}
}

/* ナビ
-------------------------------------------------- */
.footer-nav {
	margin: 0 0 22px;
}

.footer-nav ul {
	display: flex;
	flex-wrap: wrap;
}

.footer-nav li {
	margin: 0 0 10px 28px;
}

@media screen and (max-width: 768px) {
	.footer-nav {
		margin: 0 0 1.6rem;
	}

	.footer-nav ul {
		justify-content: space-between;
	}

	.footer-nav li {
		width: calc((100% - .4rem) / 2);
		margin: 0;
	}

	.footer-nav a {
		height: 11vw;
		padding: 0 0 0 15px;
		border-bottom: 1px dotted #fff;
		background: url(../images/common/icon_arrow01_white.png) left center no-repeat;
		line-height: 1.2;
		display: flex;
		align-items: center;
	}
}

/* リンク
-------------------------------------------------- */
.footer-links {
	margin: 0 0 23px;
	display: flex;
}

.footer-links li {
	width: 160px;
	margin: 0 0 0 14px;
}

.footer-links a {
	min-height: 48px;
	border: 1px solid #7d7d7d;
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer-links a:hover {
	text-decoration: none;
	opacity: .8;
}

.footer-links .link-facebook {
	background: #3b5998;
}

.footer-links .link-contact {
	color: #0a0764;
	background: linear-gradient(to bottom, #fff 0, #fff 50%, #f4f4f4 50%);
}

@media screen and (max-width: 768px) {
	.footer-links {
		margin: 0 0 1.6rem;
		justify-content: space-between;
	}

	.footer-links li {
		width: calc((100% - .4rem) / 2);
		margin: 0;
	}
}

/* コピーライト
-------------------------------------------------- */
@media screen and (max-width: 768px) {
	.footer-copyright {
		text-align: center;
		font-size: .9rem;
		display: block;
	}
}


/* ==================================================
サイドバー
================================================== */


/* ==================================================
コンテンツ
================================================== */
.page-body {
}

/* セクション
-------------------------------------------------- */
.l-narrow-section-area {
	margin: 100px 0;
}

.l-narrow-section-area:first-child {
	margin-top: 0;
}

.l-narrow-section-area .l-area-inner {
	max-width: 1080px;
	margin: 0 auto;
}

.section {
	margin: 0 0 80px;
}

.section-footer {
	padding: 24px 0 0;
	clear: both;
}

@media screen and (max-width: 768px) {
	.l-narrow-section-area {
		margin: 0;
		padding: 1.6rem .8rem;
	}

	.l-narrow-section-area:first-child {
		padding-top: 0;
	}

	.section {
		margin: 0 0 2.4rem;
	}
}

/* 見出し
------------------------- */
.styled-title01 {
	margin: 0 0 19px;
	padding: 0 0 13px;
	line-height: 1.3;
	font-size: 25px;
	background: linear-gradient(to right, #0a0764 0, #0a0764 164px, #bebebe 164px) bottom / auto 3px no-repeat;
}

.styled-title02 {
	margin: 0 0 1.3em;
	padding: .8em 0.9em .7em;
	font-size: 22px;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 768px) {
	.styled-title01 {
		margin: 0 0 1.6rem;
		font-size: 1.2rem;
	}
}

/* 記事情報
------------------------- */
.post-info-wrap {
	margin: 0 0 16px;
	overflow: hidden;
}

.post-info-wrap .post-info-item {
	margin: 0 15px 0 0;
	padding: 0 0 0 20px;
	background: left top 4px no-repeat;
	float: left;
}

.post-info-wrap .post-info-item-date {
	background-image: url(../images/common/icon_calendar.png);
}

.post-info-wrap .post-info-item-tag {
	background-image: url(../images/common/icon_tag.png);
}

/* タグリスト */
.post-tag-list {
	overflow: hidden;
}

.post-tag-list li {
	margin: 0 5px 0 0;
	float: left;
}

.post-tag-list li:not(:last-child):after {
	content: ',';
}

/* 詳細ページ用　前後の記事
------------------------- */
.prev-next-post {
	padding: 1em 0 0;
	border-top: 1px solid #e6e6e6;
	display: flex;
	align-items: stretch;
}

.prev-next-post .prev-post,
.prev-next-post .next-post {
	width: calc((100% - 120px) / 2);
}

.prev-next-post .back-list {
	width: 120px;
	border-right: 1px solid #e6e6e6;
	border-left: 1px solid #e6e6e6;
}

.prev-next-post a {
	height: 100%;
	display: flex;
	align-items: center;
}

.prev-next-post .prev-post a {
	padding-left: 47px;
	background: url(../images/common/icon_arrow02.png) left 20px center no-repeat;
}

.prev-next-post .next-post a {
	padding-right: 47px;
	background: url(../images/common/icon_arrow01.png) right 20px center no-repeat;
	justify-content: flex-end;
}

.prev-next-post .back-list a {
	justify-content: center;
}

/* その他
-------------------------------------------------- */
/* 投稿日 */
.post-date {
	margin: 0 0 15px;
	padding: 1px 0 0 12px;
	font-size: 13px;
	background: url(../images/common/icon_arrow03.png) left center no-repeat;
	display: block;
}

/* テキストボタン */
.text-btn {
	margin-top: 16px;
	text-align: right;
}

.text-btn a {
	width: 200px;
	line-height: 50px;
	text-align: center;
	color: #fff;
	background: url(../images/common/icon_arrow01_white.png) right 16px center no-repeat #0a0764;
	display: inline-block;
}

.text-btn a:hover {
	color: #fff;
	text-decoration: none;
	background-color: #0a0764;
}


/* ==================================================
サイトマップ
================================================== */
.sitemap-list li {
	padding: 0 0 0 20px;
	line-height: 45px;
	border-bottom: 1px solid #aaa;
	background: url(../images/common/icon_arrow01.png) left 5px center no-repeat;
}

.sitemap-list a {
	color: inherit;
}


/* ==================================================
下層共通
================================================== */
/* ポイントリスト
-------------------------------------------------- */
.point-item-list {
	margin: 0 0 45px;
	display: flex;
	justify-content: space-between;
}

.point-item-list .item {
	width: 340px;
}

.point-item-list .item-thumb {
	margin: 0 0 10px;
}

.point-item-list .item-text {
	text-align: center;
	color: #0a0764;
	font-size: 20px;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	.point-item-list {
		display: block;
	}

	.point-item-list .item {
		width: auto;
		display: flex;
	}

	.point-item-list .item-thumb {
		width: 35%;
	}

	.point-item-list .item-thumb .trim {
		padding-top: 100%;
		display: block;
		position: relative;
	}
	
	.point-item-list .item-thumb .trim img {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
	}

	.point-item-list .item-text {
		width: calc(65% - .4rem);
		font-size: 1.2rem;
		display: flex;
		align-items: center;
	}
}

/* テキスト
-------------------------------------------------- */
.poetry-text {
	font-size: 18px;
	text-align: center;
}

.poetry-text p {
	margin: 0 0 1em;
}

@media screen and (max-width: 768px) {
	.poetry-text {
		text-align: left;
		font-size: 1.1rem;
	}
}

/* ==================================================
会社概要
================================================== */
/* 代表挨拶
-------------------------------------------------- */
.company-greeting-section {
	margin: 0 0 35px;
}

.company-greeting-section .section-title {
	margin: 0 0 17px;
	line-height: 1.3;
	text-align: center;
	font-size: 25px;
}

.company-greeting-section .section-title:after {
	content: '';
	width: 34px;
	height: 1px;
	margin: 10px auto 0;
	background: linear-gradient(to right, rgba(10, 7, 100, 0) 0, rgba(10, 7, 100, 1) 20%, rgba(10, 7, 100, 1) 80%, rgba(10, 7, 100, 0));
	display: block;
}

.company-greeting-section .section-content {
	text-align: center;
}

.company-greeting-section .section-content p {
	margin: 0 0 1em;
}

.company-greeting-section .section-content .greeting-signature {
	text-align: right;
}

@media screen and (max-width: 768px) {
	.company-greeting-section {
		margin: 0 0 2.4rem;
	}

	.company-greeting-section .section-title {
		font-size: 1.4rem;
	}

	.company-greeting-section .section-content {
		text-align: left;
	}
}


/* ==================================================
スタッフ紹介
================================================== */
/* 一覧
-------------------------------------------------- */
.staff-items-wrap {
	display: flex;
	flex-wrap: wrap;
}

.staff-items-wrap .item {
	width: 340px;
	margin: 0 20px 95px 0;
}

.staff-items-wrap .item:nth-child(3n) {
	margin-right: 0;
}

/* 　写真 */
.staff-items-wrap .item-thumb {
	margin: 0 0 8px;
	padding-top: 73.52%;
	display: block;
	position: relative;
}

.staff-items-wrap .item-thumb img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

/* タイトル */
.staff-items-wrap .item-title {
	margin: 0 0 8px;
	color: #0a0764;
	font-size: 17px;

	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* 本文 */
.staff-items-wrap .item-body {
	max-height: 2.5em;
	margin: 0 0 23px;
	font-size: 16px;
	overflow: hidden;
}

/* ボタン */
.staff-items-wrap .item-btn {
	max-width: 235px;
	margin: 0 auto;
	line-height: 50px;
	text-align: center;
	color: #fff;
	font-size: 14px;
	background: #0a0764;
	display: block;
}

.staff-items-wrap .item-btn:hover {
	text-decoration: none;
	opacity: .8;
}

@media screen and (max-width: 768px) {
	.staff-items-wrap .item:nth-child(n) {
		width: 100%;
		margin: 0 0 1.6rem;
	}

	.staff-items-wrap .item-body {
		max-height: 3em;
	}
}

/* 詳細
-------------------------------------------------- */
.staff-detail-section .section-title {
	margin: 0 0 10px;
	line-height: 1.3;
	color: #0a0764;
	font-size: 18px;
	font-weight: bold;
}


/* 溶接工事
-------------------------------------------------- */
.welding{
	
}
.welding .section-content p{
	margin-bottom: 20px;
}

.welding .staff-items-wrap .item{
	margin-bottom: 40px;
}
.welding .item-btn {
	max-width: 350px;
	margin: 0 auto;
	line-height: 40px;
	text-align: center;
	color: #fff;
	font-size: 16px;
	background: #0a0764;
	display: block;
}
.welding .staff-items-wrap .item{

}
.welding .item-btn:hover {
	text-decoration: none;
	opacity: .8;
}