@charset "Shift_JIS";
/* �����R�[�h�Z�b�g */

/* reset�@
---------------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body {
	line-height:1;
}

article, aside, dialog, figure, footer, header,
hgroup, nav, section {
	display:block;
}

nav ul {
	display: flex;
	list-style:none;
}

blockquote, q {
	quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

a {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom:1px dotted #000;
	cursor:help;
}

table {
	border-collapse:collapse;
}

hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px dotted #333;
    margin:0;
    padding:0;
	margin-bottom:20px
}

input, select {
	vertical-align:middle;
}


/* �S�̍\��
---------------------------------------------------- */
.clearfix:after {
  content: ".";  /* �V�����v�f����� */
  display: block;  /* �u���b�N���x���v�f�� */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
    zoom:1;/*for IE 5.5-7*/
	overflow:hidden;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

a,input[type="submit"]{
	outline:none;
    -webkit-transition: 0.6s; 
    -moz-transition: 0.6s; 
    -o-transition: 0.6s; 
    -ms-transition: 0.6s; 
    transition: 0.6s; 
} 
a:hover,input[type="submit"]:hover{opacity:0.5;filter: alpha(opacity=50);}

body{
	font-size:90%;/* ��{�̃t�H���g�T�C�Y */
	line-height:1.7em;/* ��{�̍s�� */
	font-family:FontAwesome, "���C���I", Meiryo, "�q���M�m�p�S Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "�l�r �o�S�V�b�N", "MS PGothic", sans-serif;
	color:#333;
}


/* link
---------------------------------------------------- */
a:link,a:visited{color:#376091;text-decoration:underline;}
a:hover,a:active{color:#376091;text-decoration:none;}


/* header
---------------------------------------------------- */
header{ background:url(../images/bg_header.jpg) no-repeat top center; height:130px}
header h1{ width:416px;float:left; height:74px; margin-top:28px;}


/* nav
---------------------------------------------------- */
nav{width:550px; float:right;height:130px;}
nav li{
	display:inline;
	float:left;
	list-style:none;
}
nav li img {
	height: 130px;
	width: 95px;
}
nav li a:hover{opacity:1;filter: alpha(opacity=100);}


/* telfax
---------------------------------------------------- */
#telfax{ width:100%; background-color:#302e43; color:#fff; height:40px}
#telfax .pagebody div{ float:left}
#telfax p{ float:right; font-size:12px; padding-top:8px}


/* mainimage
---------------------------------------------------- */
#mainimage{ background:#1f2e55; padding: 50px 0; margin-bottom:40px}
#mainimage h2{ width:fit-content; margin: 0 auto; background: #fff;}


/* h2,h3
---------------------------------------------------- */
#h2{ background:#1f2e55; height:170px}
#h2 h2{
	padding-top:60px;
	font-family:"Times New Roman","���C���I", Meiryo, "�q���M�m�p�S Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "�l�r �o�S�V�b�N", "MS PGothic", sans-serif;
	font-size:40px;
	font-weight:normal;
	color:#fff;
 	text-shadow:1px 1px 2px #000;
	text-align:center
}
#h2 h2 span{ display:block; font-size:20px; margin-top:10px}

.h3{
	font-family:"Times New Roman","���C���I", Meiryo, "�q���M�m�p�S Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "�l�r �o�S�V�b�N", "MS PGothic", sans-serif;
	text-align:center;
	font-size:40px;
	font-weight:normal;
	line-height:1.0em;
	margin-bottom:25px
}
.h3 span{font-size:12px; display:block}


/* pagebody
---------------------------------------------------- */
.pagebody{width:1000px;margin:0px auto;}

.bg_gray{ margin-top:50px; background-color:#f4f5f6; padding:40px 0px 50px}
.bg_gray2{background-color:#f4f5f6; padding:40px 0px 30px; margin-bottom:40px}
.bg_gray3{background-color:#f4f5f6; padding:30px 0px; margin-bottom:40px}
.bg_gray3 h4{ font-size:130%; text-align:center}


/* footer
---------------------------------------------------- */
footer{color:#636c7e; border-top:1px solid #d2d6db; padding:40px 0px; font-size:90%}

#footer_company{ float:left}
#footer_company div{ font-weight:bold; margin-bottom:10px}
#footer_company h3{ font-weight:normal; margin-bottom:10px}
#footer_company h3 strong{ font-weight:normal; font-size:20px}

/* textlink */
footer ul{list-style:none; float:right; margin-left:80px}
footer li{ background:url(../images/ico_arrow.png) no-repeat left center; padding-left:10px;margin-bottom:5px;}
footer li a:link,
footer li a:visited{text-decoration:none}

/* copyright */
#copyright{ width:100%; background-color:#f4f5f6; border-top:1px solid #d2d6db; padding:17px 0px}
#copyright div{width:1000px; margin:0px auto; font-size:80%; color:#636c7e}
#copyright div img{ float:left}
#copyright small{display:block; padding-top:12px}

/* pagetop */
#pagetop { position: fixed; bottom: 20px; right: 20px;}


/* index.html
---------------------------------------------------- */
.top01{ background:url(../images/bg_top01.jpg) no-repeat top center; padding-top:50px; height:555px; margin-bottom:40px}
.top01 h3{ margin-bottom:50px} 
.btn_top{ width:425px;color:#fff; text-align:center}
.btn_top h4{ font-size:190%; font-weight:normal; margin:25px 0px 20px 0px;}
.btn_top p{ font-size:95%}


/* company.html
---------------------------------------------------- */
#bg_company{ background:url(../images/bg_company.jpg) no-repeat top center; color:#fff;font-family:"Times New Roman","mincho","�q���M�m���� ProN W3","HiraMinProN-W3","HG����B","�l�r �o����","MS PMincho","MS ����",serif; padding-top:50px; padding-bottom:100px; margin-bottom:40px}
#bg_company h3{ font-size:200%;text-shadow:1px 1px 2px #4a5b83; line-height:1.5em; margin-bottom:30px;}
#bg_company p{ text-shadow:1px 1px 2px #4a5b83; line-height:2.0em; margin-bottom:20px;font-size: 1.2em;}

.company_suppliers{ list-style:none;}
.company_suppliers li{ float:left; width:333px;}

.item_title{
	font-size:large;
	font-weight:bold;
	margin-bottom:10px;
}

.item_hr{
	color:#ccc;
	background-color:#ccc;
	border:none;
	width:100%;
	height:1px;
	margin:0 auto !important;
}


/* contact.html
---------------------------------------------------- */
.contact_box{
	width:700px;
	margin:0px auto;
	background-color:#f4f5f6;
	text-align:center;
	padding:20px 0px;
	margin-bottom:30px
}
.contact_box div{
	font-size: 35px;
	font-family:"Century Gothic",Futura,serif;
	margin-bottom:10px
}

.contact_privacy{
	height:300px;
	overflow:auto;
	font-size:90%;
	background-color:#fff;
	border:1px solid #ccc;
	margin-bottom:30px;
}
.contact_privacy_scroll{
	overflow-y: scroll;
	overflow-x: hidden;
	height: 300px;
	padding:20px 29px 0px 29px;
	width: 940px;
}
.contact_privacy h3{ margin-bottom:5px}
.contact_privacy h4{
	font-size:120%;
	line-height:normal;
	margin-bottom:15px
}
.contact_privacy p,
.contact_privacy ol{ margin-bottom:20px}


/* ctnav
---------------------------------------------------- */
#ctnav{
	width:1000px;
	margin:0px auto;
}
#ctnav h3{
	color:#376091;
	font-size:35px;
	line-height:1.1em;
	font-family:"Century Gothic",Futura,serif;
	float:left;
	width:220px;
}
#ctnav ul{
	list-style:none;
	float:right;
	width:780px
}
#ctnav li a span{ background:url(../images/ico_link.png) no-repeat right; display:block}
#ctnav li a{
	display:block;
	float:left;
	width:210px;
	padding:10px 15px;
	margin:0px 0px 10px 20px;
	text-align:center;
	background-color:#c4d1df;
	text-decoration:none
}


/* paging
---------------------------------------------------- */
div.paging{
	line-height:1.0em;
	font-size:90%;
	text-align:center;
	margin-bottom:40px
}
div.paging span.current,
div.paging span a.paging-text{
	margin:5px 2px;
	padding:10px 12px;
	color:#fff;
	background-color:#616b7c;
	border-radius:3px;
	display:inline;
	zoom:1;
	display:inline-block;
	overflow:hidden;
	text-decoration:none;
}
div.paging span.current{
	background-color:#376091;
	color:#fff;
	display:inline;
	zoom:1;
	text-decoration:none;
	display:inline-block;
}
div.paging span a.paging-text:hover{
	background-color:#376091;
	color: #fff;
	display:inline;
	zoom:1;
	text-decoration:none;
	display:inline-block;
	cursor:pointer;
}


/* table
---------------------------------------------------- */
table{border-spacing:0;border-collapse:separate;}
table ul, table ol{margin-left:20px;}

.table{ width:100%; border-collapse:collapse}
.table th{border:1px solid #ccc;padding:10px 19px; background-color:#eee; vertical-align:middle;width:25%}
.table td{border:1px solid #ccc;padding:10px 19px; background-color:#fff}

#table_news{width:800px;float:right;}
#table_news th{padding-bottom:10px;vertical-align:top; color:#666; text-align:left; font-size:80%; width:20%}
#table_news td{padding-bottom:10px;}
#table_news th img{ vertical-align:middle; margin-left:10px}

.form_table{width:100%;border-collapse:collapse;margin-bottom: 25px;}
.form_table th{ text-align:left; width:20%}
.form_table td{line-height:normal;padding-bottom:15px;}
.form_table td span{ color:#555; font-size:85%}


/* form
---------------------------------------------------- */
.form-s{width:160px}
.form-m{width:180px}
.form-l{width:500px}
.form100{width:95%}
.form-h{ height:100px; width:95%}
.required input[type="text"], .required input[type="password"], .required select, .required textarea{border:2px solid #ffbaba; padding:13px;}
input[type="checkbox"], input[type="radio"] {vertical-align:middle}
input{font-size:100%;vertical-align:middle; padding:14px}
input[type="text"], select{border:1px solid #ccc; padding:14px; border-radius:4px}
input:focus[type="text"]{background:#f6f6f6;}
.required input[type="text"]:focus, .required input[type="password"]:focus, .required textarea:focus{background-color:#fff6f6;}
textarea{font-size:100%;border:1px solid #ccc;padding:14px;width:99%; border-radius:4px}
input,textarea{ 
  display: inline-block; 
  font-family: FontAwesome; 
  font-style: normal; 
  font-weight: normal; 
  line-height: 1; 
  -Webkit-font-smoothing: antialiased; 
  -moz-osx-font-smoothing: grayscale;
} 


/* title
---------------------------------------------------- */
.tit01{
	color:#376091;
	font-size:190%;
	line-height:1.1em;
	font-weight:normal;
	margin-bottom:15px
}
.tit02{
  font-size:120%;
  font-weight:normal;
  padding-bottom:10px;
  border-bottom:1px solid #666;
  margin-bottom:15px
}
.tit03{
	color:#376091;
	font-size:170%;
	line-height:1.1em;
	font-weight:normal;
	margin-bottom:15px
}


/* link, btn
---------------------------------------------------- */
.link{ background:url(../images/ico_link.png) no-repeat left top; padding-left:18px; padding-bottom:5px}
.btn-s a{
	display:block;
	color:#fff;
	padding:7px 30px;
	text-decoration: none;
	background-color:#C33;
}

.submit{
	background:#444;
	background: -ms-linear-gradient(top,#666 0%,#333);
	background: -moz-linear-gradient(top,#666 0%,#333);
	background: -Webkit-gradient(linear, left top, left bottom, from(#666), to(#333));
    border: 1px solid #333;
    color: #fff;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -Webkit-border-radius: 5px;
	font-size:14px;
	font-weight:bold;
	width:420px;
	height:50px;
	cursor:pointer;
}


/* common
---------------------------------------------------- */
img{border:0;vertical-align:bottom;}
table{margin-top:1px;}
h2,h3,h4,h5,h6{clear:both;}

.clear{clear:both;}

.f-left{float:left;}
.f-right{float:right;}


/* �e�L�X�g�֌W */
.tal{text-align:left !important}
.tac{text-align:center;}
.tar{text-align:right;}
.large{font-size:130%;line-height:1.7em;}
.small{font-size:60%;line-height:1.5em; font-weight:normal}
.lsn{ list-style:none;}
.lhn{ line-height:normal}
.dsb{ display:block}
.dsib{ display:inline-block}
.red{color:#e60012}
.bold{font-weight:bold;}

/* �A�N�Z�X�}�b�v�֌W */
.accessmap{	border:5px solid #ccc;	border-radius:10px;}


/* �T�C�Y�w�� */
.w285{ width:285px}
.w300{ width:300px}
.w350{ width:350px}
.w445{ width:445px}
.w450{ width:450px}
.w480{ width:480px}
.w500{ width:500px}
.w510{ width:510px}
.w610{ width:610px}
.w660{ width:660px}
.w900{ width:900px}

.mb10{ margin-bottom:10px}
.mb15{ margin-bottom:15px}
.mb20{ margin-bottom:20px}
.mb30{ margin-bottom:30px}
.mb40{ margin-bottom:40px}
.mb50{ margin-bottom:50px !important}
.ml20{ margin-left:20px}
.ml50{ margin-left:50px}
.mr40{ margin-right:40px}
.mr50{ margin-right:50px}
.pt35{ padding-top:35px}

{ text-align:center}
@media print {
}

.top_tab{text-align: left; background: #fff;}
.table2{ width:100%; border-collapse:collapse;margin-top: 30px;}
.table2 th{border:1px solid #ccc;padding:10px 19px; background-color:#eee; vertical-align:middle;width:20%;}
.table2 td{border:1px solid #ccc;padding:10px 19px; background-color:#fff;}

.table3{ width:100%; border-collapse:collapse;margin-top: 10px;}
.table3 th{border:1px solid #ccc;padding:10px 19px; background-color:#eee; vertical-align:middle;width:20%;}
.table3 td{border:1px solid #ccc;padding:10px 19px; background-color:#fff;}
.table4{max-width: 610px; margin-top:30px;}
.table5{max-width: 450px; margin-top:30px;}
.table6{margin-bottom: 30px;}
.table6 th,.table6 td{text-align: center;}
.mt50{ margin-top: 50px !important;}
.mt40{ margin-top: 40px !important;}
.mt30{ margin-top: 30px !important;}
.pl48{ padding-left:48px !important;}
.m0a{ margin:0 auto;}
.compa_m{
	font-family:"Times New Roman","���C���I", Meiryo, "�q���M�m�p�S Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "�l�r �o�S�V�b�N", "MS PGothic", sans-serif;
	font-size:20px;
	font-weight:normal;
	line-height:1.0em;
	border-bottom: 1px solid #000;
	padding-top: 30px;
    padding-bottom: 8px;
}
.m0a{ margin:0 auto;}

.i_a_01 p{font-size:1.2rem;}
.group_c_area img{margin-top:30px;}

/* 改造事例カードレイアウト（20251217追加） */
.kaizo-card-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px 40px;
    margin-top: 45px;
    margin-bottom: 40px;
}

.kaizo-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.kaizo-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    -webkit-transform: translateY(-3px);
    -moz-transform: translateY(-3px);
    -o-transform: translateY(-3px);
    -ms-transform: translateY(-3px);
    transform: translateY(-3px);
}

.kaizo-card a {
    display: block;
    text-decoration: none;
    color: #333;
}

.kaizo-card a:hover {
    opacity: 1;
}

.kaizo-card-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: #f5f5f5;
}

.kaizo-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-transition: transform 0.6s ease;
    -moz-transition: transform 0.6s ease;
    -o-transition: transform 0.6s ease;
    -ms-transition: transform 0.6s ease;
    transition: transform 0.6s ease;
}

.kaizo-card:hover .kaizo-card-image img {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -o-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
}

.kaizo-card-title {
    padding: 15px 20px;
    font-size: 120%;
    font-weight: bold;
    line-height: 1.4;
    color: #376091;
    min-height: auto;
    text-align: center;
}

/* 詳細ページの画像ギャラリー */
figure.mb20 {
    text-align: center;
}

figure.mb20 img {
    max-width: 100%;
    height: auto;
}

/* YouTube動画埋め込み */
.kaizo-youtube-video {
    text-align: center;
    margin-bottom: 20px;
    width: 100%;
    overflow: hidden;
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}

.kaizo-youtube-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

/* 詳細ページの戻るボタン */
.btn-back {
    display: inline-block;
    padding: 12px 30px;
    background-color: #376091;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 4px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.btn-back:hover {
    background-color: #2a4a6f;
    opacity: 1;
}

/* フッターメニューラッパー */
.footer-menus-wrapper {
    overflow: hidden;
}

/* フッター業務概要ボタン */
.footer-kaizo-button {
    display: block;
    width: 100%;
    padding: 12px 30px;
    background-color: #b92f2f;
    color: #fff !important;
    text-decoration: none !important;
    text-align: center;
    border-radius: 4px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;
    margin-top: 5px;
    box-sizing: border-box;
}

.footer-kaizo-button:hover {
    background-color: #8a2222;
    opacity: 1;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
    .kaizo-card {
        float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 30px;
    }

    .kaizo-card-image {
        height: 250px;
    }

    .kaizo-card-title {
        font-size: 110%;
        min-height: auto;
    }
}

@media screen and (max-width: 480px) {
    .kaizo-card-image {
        height: 200px;
    }

    .kaizo-card-title {
        padding: 12px 15px;
    }
}

.text-center {
	text-align: center;
}

.add-link-company {
	color: #ffff00 !important;
}
.add-link-company-blue {
	color: blue !important;
}

.adjust220621{
	width: 533px;
    position: absolute;
    top: 200px;
	left: 50%;
	transform: translateX(-50%);
    background-color: rgba(255,255,255,1);
    padding-top: 0 !important;
    margin: 0;
}
.adjust220621 img{}
.twitter{
	position: absolute;
    top: 520px;
	left: 50%;
	transform: translateX(-50%);
}
.adjust220621-naka{
	display: inline-block;
    background-color: rgba(255,255,255,0.8);
    color: #302e43;
    padding: 30px;
    font-weight: bold;
    font-family: FontAwesome, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.adjust220621-naka p{
	text-shadow: none !important;
}
.adjust220621-naka p:last-child{
	margin-bottom: 0 !important;
}


/* 20230515追加 */
.kaizou_title{
	padding-bottom: 10px;
	margin-bottom: 20px;
	border-bottom: 1px solid #333;
	font-size: 150%;
	font-weight: bold;
}
.kaizou_box{
	padding: 20px;
	border: 1px solid #ccc;
	background: #f5f5f5;
}
.kaizou_box_title{
	margin-bottom: 10px;
	font-size: 130%;
	font-weight: bold;
	color: #376091;
}

/* 業務概要サブメニュー */
@keyframes slideDownSubMenu {
	from {
		opacity: 0;
		max-height: 0;
		overflow: hidden;
	}
	to {
		opacity: 1;
		max-height: 300px;
		overflow: visible;
	}
}

.gyomu-submenu-container {
	position: relative;
}

.gyomu-submenu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: white;
	border: 1px solid #ddd;
	min-width: 150px;
	flex-direction: column;
	list-style: none;
	z-index: 1000;
	margin-top: -1px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.gyomu-submenu-container:hover .gyomu-submenu {
	display: flex;
	animation: slideDownSubMenu 0.3s ease-out forwards;
}

.gyomu-submenu li {
	border-bottom: 1px solid #eee;
}

.gyomu-submenu li:last-child {
	border-bottom: none;
}

.gyomu-submenu a {
	display: block;
	padding: 12px 15px;
	color: #333;
	text-decoration: none;
	font-size: 14px;
	font-family: Arial, sans-serif;
	transition: background-color 0.2s ease;
}

.gyomu-submenu a:hover {
	background-color: #f0f0f0;
	color: #0066cc;
}