.sub_con{margin:100px 0; }
.sub_con .in{max-width:1300px; }

.sub_vi {
	padding-top:78px;
	box-sizing:border-box;
	height: 350px;
	display: flex; justify-content: center; align-items: center; flex-direction: column;
	color: #fff; text-align: center; position: relative; background-blend-mode:multiply;
	background: url('/common/img/sub_vi1.png') no-repeat center /cover , rgba(0,0,0,0.6);
}

.sub_vi2{background: url('/common/img/sub_vi2.png') no-repeat center /cover , rgba(0,0,0,0.5);}
.sub_vi3{background: url('/common/img/sub_vi3.png') no-repeat center /cover , rgba(0,0,0,0.6);}
.sub_vi4{background: url('/common/img/main_bn.png') no-repeat center /cover , rgba(0,0,0,0.4);}
.sub_vi5{background: url('/common/img/sub_vi5.png') no-repeat center /cover , rgba(0,0,0,0.4);}

.sub_vi .txtbox { position: relative; z-index: 1; }
.sub_vi .txtbox *{color:#fff;}
.sub_vi h2 { font-size: 3em; font-weight: 700; margin-bottom:5px;}
.sub_vi p { font-size: 1.1em; opacity: 0.8; font-weight: 300; }

.sub_tab {
	background: #fff;
	box-shadow: 0 4px 10px rgba(0,0,0,0.05);
	padding:20px 0; box-sizing:border-box;
}
.sub_tab ul{
	display: flex;
	justify-content: center;
	max-width: 1200px;
	margin: 0 auto;
    flex-wrap: wrap;
	gap:10px 60px; 
}

.sub_tab li a {
	display: block;
	box-sizing:border-box;
	font-size: 1.2em;
	color: #666;
	font-weight: 500;
	border-bottom: 3px solid transparent; 
	transition: all 0.3s;
	padding-bottom:7px;
}

.sub_tab li.active a {
	color: var(--main_c);
	font-weight: 700;
	border-bottom: 3px solid var(--main_c)
}
.sub_tab li a:hover {
	color: var(--main_c);
	background-color: #fcfcfc;
}


.tab_dd{display:none;}
.tab_dd summary{padding:18px 15px; box-sizing:border-box; position: relative; list-style:none; background:var(--main_c); color:#fff; font-size:1.1em;}
.tab_dd div{border:1px solid #eee; box-sizing:border-box;  overflow:hidden}
.tab_dd a{display:block; padding:13px 15px; color:#444; box-sizing:border-box;}
.tab_dd a:first-child{border-top:0}
.tab_dd a.on{color:var(--main_c);font-weight:700}

.tab_dd summary::after{
  content:'';
  position:absolute;
  right:16px;
  top:49%;
  width:8px;
  height:8px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: transform .2s ease;
}

.tab_dd[open] summary::after{
  transform: translateY(-50%) rotate(-135deg);
}

@media (max-width:1400px){
	.sub_con .in{padding:0 3%; box-sizing:border-box;}
}

@media (max-width:900px){
  .sub_con{margin:60px 0;}
  .sub_vi{height:300px;}
  .sub_vi h2 {font-size:2.3em;}
  .sub_tab {box-shadow:none; padding:0;}
  .sub_tab ul{display:none}
  .tab_dd{display:block}

}

.company01 .in { display: flex; gap: 60px; align-items: flex-start; }
.company01 .imgbox { 
	width: 45%; 
	background-color: #e0e0e0; border-radius: 10px; overflow: hidden;
	box-shadow: 20px 20px 0px var(--light-gray);
}
.company01 .imgbox img { width: 100%; height: 100%; object-fit: cover; }

.company01 .txtbox { flex: 1; }
.company01 h3 {	font-size: 2em; font-weight: 700; line-height: 1.3;	margin-bottom: 20px; border-bottom: 1px solid #ddd; padding-bottom: 20px;  }
.company01 .point-text { color: var(--main_c); font-weight: 700; }
.company01 h3 span{color:#bbb; font-size:.9em; width: 100%; display: inline-block;}
.company01 .txtbox > p { margin-bottom: 20px; font-size: 1.1em; line-height:1.5; font-weight:300;}
.company01 .txtbox strong { font-weight: 500; color: #000; }
.company01 .sign { margin-top: 50px; text-align: right; }
.company01 .sign p { font-size: 1.1em; color: #666; }
.company01 .sign .name { font-size: 1.8em; font-weight: 700; color: #333; margin-top:5px;}


@media (max-width: 900px) {
	.company01 .in{flex-direction:column; gap:30px;}
	.company01 .imgbox{width:100%;}
	.company01 h3{font-size:1.8em;}
	.company01 h3 br{display:none;}
	.company01 .txtbox{font-size:.9em;}
}

.company03{}
.company03 iframe{width:100%; height:400px; display:block;}
.company03 .wrap{display:flex; gap:10px; margin-top:10px;}
.company03 ul{background:#f5f5f5; padding:35px;  box-sizing:border-box; display:flex; gap:10px 50px;  flex-wrap:wrap; width:50%; border-radius:5px; position:relative;}
.company03 li{display:flex; gap:10px; font-size:1.05em; line-height:1.5;}
.company03 li h5{font-size:1em; color:var(--main_c)}
.company03 ul::before{content:'\f08d'; position: absolute;  right: 35px; top: 0;  color: var(--main_c); font-size: 2em; font-family: 'Font Awesome 6 Free'; font-weight:600;}

@media (max-width: 900px) {
	.company03 .wrap{flex-direction:column;}
	.company03 iframe{height:300px;}
	.company03 ul{width:100%; padding:25px;}
	.company03 li{font-size:.9em;}
	.company03 ul::before{right:20px; font-size:1.7em;}
}


.product .wrap{display:flex; gap:80px 20px; flex-wrap:wrap;} 
.product .wrap li{overflow:hidden; width: calc(33.33% - 14px); cursor: pointer; }
.product .imgbox {
  position: relative; 
  width: 100%;
  height: 400px;
  overflow: hidden; 
  background-size: cover;
  background-position: center;
  transition: transform 0.5s ease;
   background:#f3f3f3; border-radius:5px;
   border: 1px solid #ddd;
   box-sizing:border-box;
}

.product .imgbox::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 26, 81, 0.8);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.product .imgbox::after {
  content: '→'; 
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%); 
  width: 70px;
  height: 70px;
  text-align: center;
  border: 2px solid rgba(255,255,255,.8);
  border-radius: 50%;
  box-sizing:border-box;
  color: rgba(255,255,255,.8);
  font-size: 2em;
  opacity: 0;
  transition: all 0.3s ease;
  z-index: 2;
  display:flex; align-items:center; justify-content:center;
  font-family: 'Crimson Text';
}

.product .wrap li:hover .imgbox::before {
  opacity: 1;
}

.product .wrap li:hover .imgbox::after {
  opacity: 1;
  transform: translate(-50%, -50%); 
}

.product .wrap li:hover .imgbox {
  transform: scale(1.05); 
  border-radius:5px;
}

.product .txtbox {
  margin-top:15px;
  box-sizing:border-box;
  text-align: center;
}
.product .txtbox h4 {font-size: 1.4em; font-weight:600; 	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;}


.case .imgbox{height:300px;}
.case .txtbox{text-align:left;}
.case .txtbox h4{margin-bottom:5px;}
.case .txtbox .date{color:#555; font-weight:300; font-size:1.1em;}


@media (max-width: 900px) {
	.product .wrap{gap:50px 10px;}
	.product .wrap li{ width:calc(50% - 5px)}
	.product .imgbox{height:43vw;}
	.product .txtbox h4 {font-size: 1.1em; text-align:left;}

}



.page {text-align:center; width:100%; margin-top:60px; display:inline-block; font-size:0}
.page ul { width:100%; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:5px 0;}
.page li { display:inline-block; font-size:0.95rem; font-weight:500; margin:0 8px;}
  
.page a {
	display:inline-block;
	text-decoration:none; vertical-align:middle;
	color:#999; text-align:Center; font-size:1.4em;
   }
.page a.ov  {color:var(--main_c); font-weight:600; }
.page li.angle {margin:0 6px}
.page li.angle a {display:flex; align-items:center; justify-content:center; font-size:1.2em; }
.page li.angle a i {color:#333;}



.table { width: 100%; display: table;  font-size:1.1em;}

.row {display: table-row; background: #fff; font-size:1em; }
.row.th {font-weight:600; color: #fff; background:var(--main_c);}
.row.notice {background-color:#f3f3f3}
 
.cell { padding:15px 12px; display:table-cell; vertical-align:middle;  text-align:Center;  border-bottom:1px solid #ddd; color:#666}
.cell a {    display: flex;    gap: 5px;}
.cell p {color:#111; 
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.cell span{color:var(--main_c);}
.cell i{
	color: var(--main_c);
    font-size: 1em;
    animation: opacity 2s infinite linear;
    margin-left: 10px;
}
.cell a.s_btn2 {color:#fff}
.row.th .cell { color: #fff; padding:15px 12px;}

.cell.tit  {width:55%; text-align:left; font-weight:500; line-height:1.3; font-size:1em}
.cell.no {width:50px; }
 
.none_list {width:100%; display:inline-block; text-align:center; background-color:#f9f9f9; font-size:1em; padding:10px 0 }
.cell .arrow_btn {width:10px; display:inline-block; line-height:0; vertical-align:-2px}
.cell .arrow_btn i {line-height:0; font-size:18px;  }
.cell .arrow_btn a i {color:rgba(255,255,255,.5); }
.cell .arrow_btn a i.over {color:#fff}

@media screen and (min-width:900px) {
  
   .cell.name {width:100px; white-space:nowrap;  }
   .cell.date {width:100px;  white-space:nowrap;   }
   .cell.hit {width:80px; white-space:nowrap;  }
   .cell span{white-space: nowrap;}

   .table.type2 {border-left:1px solid #ddd}
   .table.type2 .cell {border-right:1px solid #ddd; padding:7px}
   .table.type2 .row.th .cell {padding:9px; font-weight:600}

	.cell.tit{width:70%;}
}
 

@media screen and (max-width:900px) {
	.table { display: block; font-size:1em }
    .table * {line-height:1.3}
	.row {padding:15px 2%; display:block;  border-bottom:1px solid #ddd}
	.row.th {padding: 0; height: 3px; }
	.row.th .cell { display: none; }
	  
	.row .cell:before { margin-bottom: 3px; content:attr(data-title); text-transform: uppercase;color:#777; font-weight:600;  }
	.cell { padding:0; padding-right:5px; display:inline-block; border-bottom:none; text-align:left; font-size:.95em; color:#777}
 	 
	.cell.tit  {width:100%; font-size:1.06em; font-weight:600; margin-bottom:2px;  display:inline-block}
    .cell.no {display:none}
	.cell.m_tit {width:100%; font-size:1.06em; margin-bottom:2px;  display:inline-block; color:#000; font-weight:600}
    .type2 .cell br {display:none}
 
	.board05 .cell a { display: block; }

}
 


p.view_title {font-size:1.2em;  line-height:1.3;  font-weight:600; color:#fff; width:100%; padding:15px 2%; box-sizing:border-box; display:inline-block; text-align:Center; box-sizing:border-box; background-color:var(--main_c);  }
div.view_info {ffont-weight:400; color:#666; width:100%;  border-bottom:1px solid #ddd; padding:10px 0; display:inline-block; box-sizing:border-box; text-align:center;}

div.view_info span::after {width:1px; height:12px; vertical-align:middle;  content:''; display:inline-block; background-color:#888;  margin:0 5px 0 10px}
div.view_info span:last-child::after {display:none}
div.view_info a:hover {text-decoration:underline }
div.view_info span.file{display:inline-block;}
div.view_info span.file a {display:inline-block;  color:#666; box-sizing:border-box; border:1px solid; padding:5px; margin-right:5px; font-size: .85em;}
div.view_info span.file a:hover {text-decoration:underline }

div.view_content {width:100%; display:inline-block; padding:20px 0; }
div.view_content img {max-width:100%}
 
div.view_file {width:100%; padding:12px 0 8px 0;  border-bottom:1px solid #ddd; }
div.view_file ul {width:100%; display:flex; flex-wrap:wrap;}
div.view_file ul li {display:inline-block; margin-bottom:5px; }
div.view_file ul li a {display:inline-block; font-size:0.90rem; background-color:#2478be; color:#fff; padding:4px 15px; border-radius:5px; margin-right:10px;}

div.comment {width:100%; display:flex; background-color:#f1f1f1; box-sizing:border-box; padding:20px }
div.comment b {width:50px; flex-shrink:0; }

.list_next  {width:100%; display:inline-block;  border-top:1px solid #ddd; padding:11px 0; box-sizing:border-box; border-bottom:1px solid #ddd; line-height:0} 
.list_next p {width:100%; display:inline-block; font-size:1rem;  line-height: 1.2; color:#999;  overflow: hidden;   text-overflow: ellipsis; margin:3px 0;  white-space: nowrap;  }
.list_next p:last-child {text-align:left; }
.list_next b {font-weight:600; color:#333; width:80px; display:inline-block}
.list_next.border_top_none {border-top:none }
.list_next a{color:#666;}


@media screen and (max-width:900px) {

		p.view_title { width:100%; padding:0;  padding-top:10px;  text-align:left; color:#333; background-color:#fff;  border-top:3px solid var(--main_c); }
		div.view_info span::after {  margin:0 3px 0 6px}
		div.view_info {padding-top:1px; font-size:.9em; padding-bottom:10px; text-align:left;}
		div.view_info + div.view_info {padding-top:10px}

		div.view_info span.file {width:100%; display:block; }
		div.view_info span.file a {margin-top:3px} 
		div.view_info span.file::after {display:none;}
}

		
.search {margin-top:30px;  width:100%; display:flex;  justify-content:flex-end}
.search input  {width:30%; border:1px solid #c9c9c9; padding-left:10px; font-size:0.93em; color:#666; margin:0 5px}
.search select  { font-size:0.93em; color:#666; border:1px solid #c9c9c9;  vertical-align:middle; width:100px;  }
.search a {background-color:#333; border-radius:3px; box-shadow:1px 1px 2px #ddd; color:#fff; line-height:33px; font-size:0.95em; font-weight:500; padding:0 30px; display:inline-block; vertical-align:middle;}


.btnbox{margin-top:60px;}
.btn {
	display:inline-block;
	border:2px solid var(--main_c);
	box-sizing:border-box;
	padding:15px 40px;
	font-size:1.1em;
	font-weight:600;
	border-radius:5px;
	transition:all ease .2s;
	color:var(--main_c);
	cursor:pointer;
 }
.btn input{border:none;background:none;	font-size:1em; font-weight:700;}
.btn i{color:var(--main_c);}
@media screen and (max-width:800px) {
	.btn{	padding:20px 30px;font-size:1em}
}


.write {width:100%; display:flex;  justify-content:space-between; flex-wrap:wrap; border-top:2px solid var(--main_c)}
.write li  input[type="file"]{font-size:1em;}
.write input[type="radio"]{width:20px; height:20px;}
.write li { width:100%;  display:flex; align-items:center;  padding:15px 0; border-bottom:1px solid #ccc}
.write li.col-2 {width:50%; gap:0;}
.write li.right p  {padding-left:30px; }
.write li p {width:130px; font-size:1.1em; font-weight:600; color:#333} 
 .write li  input[type="text"] {width: calc(100% - 130px);
    height: 38px;
    font-size:1em;
    border-radius: 5px;
    text-indent: 10px;  
	box-sizing:border-box; 
	border:none;
	background:#f3f3f3;
}

.write li  select { 
    height: 38px; padding-right:5px;
    font-size:1em;
    border-radius: 5px;
    padding-left: 5px; box-sizing:border-box; 
	border:none;
	background:#f3f3f3;
	
}
.write li textarea {width: calc(100% - 130px); background:#f3f3f3; border:none;}

.write li.phone div{width: calc(100% - 130px);display:flex;align-items:center}
.write li.phone select {width:40%}
.write li.phone span {margin:0 5px}

.write li.mail  div {width: calc(100% - 130px); display:flex; align-items:center}
.write li.mail  input[type="text"] {width:20%;}
.write li.mail span {margin:0 5px}
.write li.mail select {margin-left:5px}

.write li.tell  input[type="text"] {width:30%;}

 @media screen and (max-width:800px) {
	.write li {width:100%;  flex-wrap:wrap;}
	.write li.col-2 {width:100%; flex-wrap:wrap;}
	.write li.right p  {padding-left:0}
	.write li p {width:100%; margin-bottom:5px} 
	.write li  input[type="text"] {width:100%}

	.write li.phone div{width: 100%}
	.write li.phone select {width:auto}
	.write li.mail  input[type="text"] {width:50%;}
    .write li textarea {width:100%; height:150px !important }

	.write li.mail  div {width:100%;  }

} 

@media screen and (max-width:600px) {
	.write li.mail div{ flex-wrap:wrap}
	.write li.mail input[type="text"] {width: calc(50% - 10px - 0.3em);}
    .write li.mail select{margin:10px 0 0 0;width:100%;}
 }

.textarea1 {
    font-size: 0.95em;
    line-height: 1.4em;
    width: 100%;
    height: 200px;
    box-sizing: border-box;
    color: #666;
    border: 1px solid #ddd;
    background-color: #fff;
    padding: 15px;
}


 .privacy_check {
	width: 100%;
    display: inline-block;
    padding: 10px;
    box-sizing: border-box;
    background-color: #f9f9f9;
    text-align: center;
    font-size: 1em;
    color: #666;
	font-weight:600
}

.contact h6{font-size:1.3em; font-weight:500;}
.privacy_check label	{display: flex; align-items: center; gap: 5px; justify-content: center;}
.privacy_check input {vertical-align:middle;width:17px;height:17px;}
.check input[type=checkbox]{width:20px;height:20px;margin-right:3px}
