@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/*トップページにカタログダウンロードボタン追加　20211130*/

#top #catalog {
		height: 200px;
		padding: 0;
		background: #486b8c;
	}	
	
#top #catalog img {
    position: absolute;
    opacity: 0.9;
    /*top: -40%;*/
	object-fit: cover;
    object-position: 50% 50%;
    font-family: 'object-fit: cover; object-position: 50% 50%;';
    width: 100%;
	height: 200px;
}

#top #catalog_link {
    margin: 75px auto;
}
	
@media only screen and (max-width: 600px) {
#top #catalog img {
    height: 100%;
}
}

/*トップページにカタログダウンロードボタン追加　20211130　ここまで*/


.case2 p {
	text-align: center;
	color: #004f99;
	padding: 10px 0;
}

div.merit {
	position: relative;
	width: 100%;
	height: 750px;
	padding: 50px 0;
	clear: both;
	float: none;
	font-size: 16px;
	overflow:hidden;
}


div.merit div.button-c {
    clear: both;
    float: none;
    width: 360px;
    text-align: center;
    font-size: 19.2px;
}

#covid-19 {
	width: 1000px;
    max-width: 90%;
    margin: 30px auto 80px;
    float: none;
    clear: both;
}

#covid-19 p {
    padding: 10px 20px;
    /* background: #f0f0fa; */
    border: 2px solid #d9534f;
    margin-bottom: 20px;
    text-align: center;
	color: #d9534f;
}

#covid-19 p a {
	color: #d9534f;
}

#covid-19 p a:hover {
	color: #368fef;
	text-decoration: underline;
}

div.industry {
	float: none;
}

h2 {
	text-align: center;
	padding-top: 50px;
	color: #868686;
}

span.subtitle {
	color: #004f99;
	font-size:30px;
	font-weight: 700;
	line-height: 1.2;
}

div.tfs {
	position:relative;
	width: 100%;
	/* height:450px; */
	padding:0 0 50px 0;
	clear:both;
	float:none;
	font-size:16px;
    overflow:hidden;
    background:#d2d2d2;
}

div.tfs img.back18 {
    position: absolute;
    width: 100%;
    object-fit: cover;
    object-position: 35%;
    /*  height: 850px; */
    top: 0;
    font-family: 'object-fit: cover; object-position: 35%;';
}

div.knit-tfs{
background: -moz-linear-gradient(left, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 45%, rgba(0,0,0,0.64) 55%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 45%,rgba(0,0,0,0.64) 55%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 45%,rgba(0,0,0,0.64) 55%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#00000000',GradientType=1 ); /* IE6-9 */
    width: 100%;
    position: absolute;
    height: 900px;
    top: 0;
}

div.merit-box-m {
    width: 500px;
    margin: 0 auto;
    text-align: center;
    color: white;
    line-height: 1.8;
}

div.merit-box-m h2 {
    font-size: 25px;
    font-weight: 500;
    color: white;
    padding-top:0;
    max-width:90%;
    margin:0 auto;
}

div.merit-box-m h2 span {
    font-size: 25px;
    font-weight: 700;
    line-height: 1.5;
}

div.merit-box-m > p {
    padding-top: 10px;
    line-height: 1.7;
    max-width:90%;
    margin:0 auto;
}

p.up, div.up {
    position: relative;
}

img.white-tfs {
    position: relative;
    width: 250px;
    margin: 50px 0 20px 0;
}

img.blue-tfs {
    position: relative;
    width: 250px;
    margin: 50px auto 20px auto;
    display: none;
}

div.tfs div.button-c {
    clear: both;
    float: none;
    width: 360px;
    margin: 130px auto;
    text-align: center;
    font-size: 19.2px;
}


div.tfs_box{
	margin: 0 auto 20px auto;
	float:none;
	position:relative;
}

img.tfs {
	width:900px;
	position:relative;
	box-shadow: 0 0 20px rgb(30, 220, 255);
    padding: 7px;
    background: #abd3f7;
}

img.tfs_logo {
	width:280px;
	position:relative;
}

div.button-box {
	width:360px;
	margin:0 auto 50px auto;
	clear:both;
}

img.tfs-back {
	position:absolute;
	top:0;
	left:0;
	width:100%;
}

.tabs,
div.button_list_box,
div.sustainability_box,
div.news_box,
div.industry_box {
	margin: 30px auto 20px auto;
	float:none;
}

div.industry_box div.set {
	width: 99%;
	float:none;
	margin-left: 1%;
}

div.industry_box div.set div {
	width: 24%;
	margin-right: 1%;
	float: left;
	margin-bottom: 15px;
	background:white;
	box-shadow: 0 1px 3px #a8a8b1;
}

div.industry_box div.set div p.photo {
	width: 60px;
	height:60px;
	float: left;
	margin-right:10px;
}

div.industry_box div.set div p.photo img {
	width: 60px;
	height:60px;
	object-fit:cover;
	font-family:'object-fit:cover;';
}

div.industry_box div.set div a:hover img {
	cursor:pointer;
    zoom:1;
}

div.industry_box div.set div p.text {
	width:88%;
	padding: 2% 10%;
}

div.industry_box div.set div:hover,
div.industry_box div.set div:hover a .blue {
	background: #004f99;
	color:white;
}


div.industry_box div.set div:hover p.text {
	color:white;
}

div.industry_box a {
	text-decoration: none;
	color: #414242;
}

div.button_list,
div.ssos,
div.sustainability,
div.news {
	clear: both;
	float: none;
}

div.ssos_box {
	width: 50%;
	float:right;
}

div.ssos_box div.button-l {
	width:360px;
}

div.sample_box {
	width:50%;
	margin-left: 20%;
}


div.button_list_box{
	height: 150px;
	width:50%;
}

div.button_list_box div.icon {
	width: 33%;
	text-align: center;
	float: left;
	padding: 0;
	margin-bottom: 50px;
}

div.two div.icon {
    width: 50%;
}

div.button_list_box div.icon div.icon_box {
    width: 80px;
    margin: 0 auto 20px auto;
}

div.circle {
    width: 80px;
    height: 60px;
    margin: 0 auto 20px auto;
    background: white;
    box-shadow: 0 3px 15px rgba(0, 79, 153, 0.4);
    border-radius: 40px;
    padding-top: 20px;
    font-size: 190%;
    color: #004f99;
}

div.button_list_box div.icon a:hover div.circle {
	background:#004f99;
	color: white;
}

div.button_list_box div.icon a p {
	color: #414242;
	line-height:1.3;
}

div.button_list_box div.icon a:hover p {
	color: #368fef;
}

div.ssos_box div {
	margin: 30px 0;
}

div.ssos_box div p.logo {
	position: relative;
}

div.ssos_box div p.logo i.large {
	position: absolute;
    font-size: 150%;
    padding:10px 5px 10px 0;
    margin-left:0;
}

div.ssos_box div p.text {
    font-size: 12px;
    margin-top: 10px;
}

div.ssos div.ssos_box h2 {
	text-align: left;
	position:relative;
	padding:0;
	margin-top:50px;
}

div.ssos div.ssos_box h2 i{
	position:absolute;
	top:25%;
	font-size:18px;
}

div.ssos div.ssos_box h2 a:hover span{
	opacity:0.6;
}

div.ssos div.ssos_box h2 a:hover i{
	color:#368fef;
}

div.sustainability_box div {
	margin: 30px 0;
}

div.sample {
	position: relative;
	clear: both;
	float: none;
	height: 600px;
	background: #dbdadc;
	margin-bottom: 50px;
}

div.sample img {
	position: absolute;
    height: 600px;
    right: 0;
    float: none;
    z-index: 0;
    object-fit: cover;
}

div.sample div.sample_box{
    width: 50%;
    margin-left: 30%;
    position: absolute;
    top: 50px;
    left: 0;
	width: 300px;
}

div.sample_box h2{
	text-align: left;
}

div.ssos {
	position: relative;
	clear: both;
	float: none;
	height: 600px;
	margin: 50px 0;
}

div.ssos div.ssos_box{
    width: 35%;
    position: absolute;
    top: 50px;
    right: 0;
	overflow:hidden;
}

div.ssos div.ssos_box p.description{
	margin-top:20px;
	line-height:1.7;
}

div.ssos div.ssos_box2 {
    width: 64%;
    position: absolute;
    top: 50px;
    left: 0;
}

div.ssos div.ssos_box2 > img {
	position: absolute;
    right: 0;
    float: none;
    z-index: 0;
    object-fit: cover;
}

div.ssos div.ssos_box div p a:hover img {
	opacity:0.6;
}

div.ssos div.ssos_box div p a:hover .blue {
	color:#368fef;
}

div.sustainability {
	position: relative;
	clear: both;
	float: none;
	height: 450px;
	border-top:7px solid white;
}
div.sustainability > img {
	position: absolute;
    width: 100%;
    float: none;
    z-index: 0;
    object-fit: cover;
    height: 443px;
}

div.sustainability_box {
	position: absolute;
	width:100%
}

div.tfs_box h2,
div.sustainability_box h2,
div.sustainability_box h2 span {
	color: white;
}

div.tfs_box div.intro p,
div.sustainability_box div.intro p {
	color: white;
	width:60%;
	margin: 0 auto;
}

div.tfs_box div,
div.sustainability_box div {
	margin: 20px auto;
}

div.sustainability_box div.button_box {
	width: 800px;
}

div.sustainability_box div div.customer {
	width: 360px;
	float:left;
}

div.sustainability_box div div.shima {
	width: 360px;
	float:right;
}


div.news_box {
	width:60%;
}

div.news div.news_box div.case1 {
	width: 50%;
	float:left;
	font-size: 16px;
}

div.news div.news_box div.case2 {
	width: 40%;
	float:left;
	margin-left: 80px;
}

div.news_box div.case1 dl {
	border-top: 1px dotted #7ca1ca;
	border-bottom: 1px dotted #7ca1ca;
	margin-bottom: 20px;
	padding: 5px 0;
	text-align: left;
}

div.news_box div.case1 dl dd {
	padding-bottom:10px;
	border-bottom: 1px dotted #7ca1ca;
}

div.news_box div.case1 dl dd:last-child {
	border: 0;
}

div.news_box div.case1 dl dd a {
	color: #368fef;
}

div.news_box div.case1 dl dd a:hover {
	text-decoration: underline;
}

div.news_box div.case1 dl dt {
	padding-top:10px;
}

div.news_box div.case1 dl dt span {
    color: white;
    padding: 0px 5px;
    margin: 0 0 2px 2px;
    font-size: 12px;
}

div.news_box div.case1 dl dt span.product {
	background: #80b377;
}

div.news_box div.case1 dl dt span.ir {
	background: #b37792;
}

div.news_box div.case1 dl dt span.press {
	background: #deb53d;
}

div.news_box div.case1 dl dt span.network {
	background: #8f77b3;
}

div.news_box div.case1 dl dt span.site {
	background: #587aaf;
}

div.news_box div.case1 a .blue:hover {
	color: #4281d2;
}














/*�^�u�؂�ւ��S�̂̃X�^�C��*/
.tabs {
  margin-top: 50px;
  background-color: #fff;
/*  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2) */
  width: 80%;
  margin: 0 auto;
}

/*�^�u�̃X�^�C��*/
.tab_item {
  width: calc(100%/4);
  height: 40px;
  background-color: #cbd1d6;
  line-height: 40px;
  font-size: 16px;
  text-align: center;
  color: #5881ad;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  cursor:pointer;
  border-top-left-radius:10px;
  border-top-right-radius:10px;
  margin-right:10px;
}
.tab_item:hover {
  opacity: 0.75;
}

/*���W�I�{�^����S�ď���*/
input[name="tab_item"] {
  display: none;
}

/*�^�u�؂�ւ��̒��g�̃X�^�C��*/
.tab_content {
  display: none;
  clear: both;
  overflow: hidden;
}


/*�I�����Ă���^�u�̃R���e���c�݂̂�\��*/
#category:checked ~ #category_content,
#product:checked ~ #product_content {
  display: block;
  background: #f0f0fa;
  border-top: 5px solid #004f99;
  padding:10px 10px 5px 10px;
}

/*�I�����Ă���^�u�̃X�^�C����ς���*/
.tabs input:checked + .tab_item {
  background-color: #004f99;
  color: #fff;
}







div.top-contents {
	margin-top:110px;
	position:relative;
	background: #004f99;
}

div.movie {
	background:black;
	margin:110px auto 0 auto;
	text-align:center;
}

div.movie video {
	max-width:1200px;
}

div.movie p {
	position:absolute;
	top:5%;
	right:0;
	left:0;
	background:#004f99;
	color:white;
	padding:5px 10px;
	border-radius:10px;
	width:150px;
	text-align:center;
	margin:0 auto;
	font-size:12px;
}

div.top-contents img {
	width:100%;
	min-height:500px;
	object-fit:cover;
	font-family:'object-fit:cover;';
	opacity:0.8;
}

div.top-contents > div p.copy {
	margin:30px auto;
}

div.top-contents > div {
	position:absolute;
	top:30%;
	text-align:center;
	width:100%;
	margin:0 auto;
	opacity:1;
	color:white;
	font-size:16px;
}

div.top-contents > div img {
	width:auto;
	max-width:90%;
	min-height:auto;
	margin:0 auto;
	opacity:1;
}

div.top-contents > div div p {
	background: #004f99;
	max-width:90%;
	margin:0 auto;
}


div.product-area {
	width:100%;
	background:white;
	clear:both;
}

div.category-area {
	width:100%;
	background:#406092;
	padding-bottom:30px;
	clear:both;
	margin:-20px 0 30px 0;
}

div.product-box{
	width:1500px;
	max-width:95%;
	margin:50px auto 0 auto;
}

div.category-box {
	width:1000px;
	max-width:90%;
	margin:50px auto;
}

div.product-box h2,
div.category-box h2 {
	text-align:center;
	max-width:90%;
	margin:0 auto;
	font-size:30px;
	font-weight: 700;
	line-height:1.2;
	padding-top: 20px;
	color:#004f99;
}

div.category-box h2 {
	padding-top: 50px;
	color:white;
}

div.product-box ul.product li {
	width:28%;
	padding:0 2.5%;
	text-align:center;
	float:left;
}

div.product-box ul.category li {
	width:20%;
	padding:0 2.5%;
	text-align:center;
	float:left;
}

div.product-box ul {
	margin-top:50px;
}

div.product-box ul li {
	margin:0 0 100px 0;
}

div.product-box ul li img {
	margin-bottom:30px;
	max-width:100%;
}

div.product-box ul li img:hover {
	opacity:0.7;
}

div.product-box ul.category li img:hover {
	opacity:1;
}

div.product-box ul li div  {
	width:185px;
	margin:0 auto;
}

div.product-box ul.category li div  {
	width:100px;
	height:100px;
	padding-bottom:20px;
	margin:0 auto;
}

div.product-box ul li div a p {
	width:178px;
	padding: 5px 20px 5px 5px;
	background:#5881ad;
	color:white;
	border-radius:10px;
	position:relative;
}

div.product-box ul.category li p a:hover  {
	text-decoration:underline;
}

div.product-box ul li div a p:after {
	position: absolute;
	top: 7px;
	right: 15px;
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	content: "\f138";
}

div.product-box ul li div a p:hover {
	background:#368fef;
}

div.product-box ul.category li div a img {
	border-radius:50%;
	background: white;
	box-shadow: 0 3px 15px rgba(0, 79, 153, 0.4);
}

div.product-box ul.category li div a img:hover {
	background: #004f99;
}

div.category-box ul li {
	height:100px;
	margin:70px 0 30px 0;
}

div.category-box ul li i {
	font-size: 30px;
	margin: 10px 0;
	color: #4c83b7;
}

div.category-box ul li div {
	width:100px;
	height:100px;
	margin:0 auto 10px auto;
}

div.category-box ul li img {
	width:100%;
	height:100%;
	border-radius:50%;
/*	box-shadow:0 3px 6px #707080; */
}

div.category-box ul li div:hover img {
	box-shadow:0 0 20px #368fef;
}

div.category-box ul li p a {
	color:#cfdeef;
	line-height:1.5;
	font-size:16px;
}

div.category-box ul li p a:hover {
	text-decoration: underline;
}


/* 折り畳み */

.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	width: auto;
	margin: -20px auto 50px auto;
}

.cp_box p {
	opacity:.8;
	font-size: 11px;
    color: #004f99;
}

.cp_box label {
	position: relative;
	display: block;
	height:35px;
	cursor: pointer;
	line-height: 1.8;
	color: #004f99;
	padding-left:30px;
	width:200px;
	margin:-40px auto 0 auto;
}
.cp_box label:hover {
	opacity:0.6
}
.cp_box label::after {
	position:absolute;
	font-family: 'FontAwesome';
	content: '▼';
	margin-left:5px;
	top:2px;
	left:0;
}
.cp_box label:hover::after {
	opacity:0.6
}
.cp_box input:checked ~ label::after {
	position:absolute;
	font-family: 'FontAwesome';
	content: '▲';
	margin-left:5px;
	top:2px;
	right:0;
}
.cp_box input:checked ~ label:hover::after {
	opacity:0.6
}
.cp_box input {
	display: none;
}
.cp_box .cp_container {
	position: relative;
	z-index: 20;
	overflow: hidden;
	height: 0;
	margin-top: -1px;
	transition: height 0.3s ease-in-out,box-shadow 0.6s linear;
}
.cp_box input:checked ~ div {
	transition: height 0.5s ease-in-out,box-shadow 0.1s linear;
}
/* 続きを読むを押すと表示されるテキストの高さ */
.cp_box input:checked ~ div.cp_container {
	height: auto;
	margin-bottom:50px;
}

.cp_box input:checked ~ div.cp_container ul li {
    margin: 5px;
    font-size: 13px;
    line-height: 1.3;
        text-indent: -13px;
    padding-left: 13px;
}

.cp_box .cp_container ul li a:hover {
	text-decoration: underline;
}




@media only screen and (max-width: 1800px) {

div.sample div.sample_box{
    margin-left: 10%;
}


div.news_box {
	width:80%;
}

}



@media only screen and (max-width: 1400px) {

div.ssos {
	margin: 0;
	height: 550px;
}

div.ssos div.ssos_box{
	width: 45%;
}

div.ssos div.ssos_box2 {
	width: 54%;
}

div.ssos div.ssos_box2 > img {
	width: 100%;
	padding-top: 50px;
}


}









@media only screen and (max-width: 1250px) {

.tabs,
div.sustainability_box,
div.news_box,
div.industry_box {
	width: 100%;
}

div.news_box {
	width:90%;
}
}


@media only screen and (max-width: 1100px) {

div.news div.news_box div.case2 {
	margin-left: 60px;
}

div.ssos {
	height: 500px;
}

div.product-box ul.product li {
    width: 30%;
    padding: 0 1.5%;
}
	
div.product-box ul.category li {
    width: 22%;
    padding: 0 1.5%;
}

div.product-box ul li, div.category-box ul li p {
	word-break: break-word;
}

div.button_list_box {
	width: 80%;
}
	

}



@media only screen and (max-width: 995px) {
div.industry_box div.set div p.text {
	font-size:13px;
}


div.sample {
	background: #010204;
	height: 400px;
}

div.sample > img {
	opacity: .4;
	height: 400px;
}

div.sample div.sample_box {
	width: 100%;
	margin: 0 auto;
}

div.sample_box h2{
	text-align: center;
	color: white;
	padding-top: 20px;
}
/*
div.sample_box h2 span.subtitle {
	color: white;
}
*/
div.sample div.sample_box div {
	width: 360px;
	margin: 30px auto;
}

div.ssos div.ssos_box,
div.ssos div.ssos_box2 {
	width: 100%;
	position: static;
}

div.ssos div.ssos_box p.description{
	text-align:center;
	width:85%;
	margin:20px auto;
}

div.ssos div.ssos_box2 {
	text-align: center;
}

div.ssos div.ssos_box2 > img {
	width: 550px;
	position: static;
}

div.ssos div.ssos_box h2 {
	text-align: center;
}

div.ssos_box div {
	text-align: center;
}

div.ssos_box div.button-l {
	margin:30px auto;
}

div.sustainability_box h2 {
	padding-top: 20px;
}

div.sustainability_box div.button_box {
	width: 100%;
}

div.sustainability_box div div.customer,
div.sustainability_box div div.shima {
	clear: both;
	float: none;
}

div.news_box div.case1 dl{
	font-size: 14px;
	width:100%;
}

div.sustainability_box div.intro p {
	font-size: 14px;
	width:80%;
}

}








@media only screen and (max-width: 880px) {

div.industry_box div.set div p.text {
	width:94%;
	padding: 2% 3%;
}
	

}


@media only screen and (max-width: 860px) {

div.news div.news_box div.case1 {
	width:100%;
	float: none;
	margin-bottom: 30px;
	text-align: center;
}
div.news div.news_box div.case2 {
	width:80%;
	margin-left: 10%;
}

div.product-box ul.product li {
	width:47%;
}
	
div.product-box ul.category li {
	width:47%;
}
	
div.product-box ul #sp_cadcam {
	width:97%;
}

div.product-box ul li:first-child,
div.product-box ul li:nth-child(2) {
	margin:30px 0;
}

div.product-box ul.category li {
	margin:30px 0;
}

div.product-box ul.category li:nth-child(7),
div.product-box ul.category li:nth-child(8) {
	margin:30px 0 100px 0;
}

div.category-box ul li p a {
	font-size:13px;
}

}


@media only screen and (max-width: 850px) {

div.tfs {
    /* height: 920px; */
    height: 100%;
    text-align: center;
}

div.tfs img.back18 {
    left: 0;
    height: 100%;
    position: static;
    margin-top: -50px;
}

div.knit-tfs {
    display: none;
}

div.merit-box-m {
    width: 100%;
}

img.white-tfs {
    display: none;
}

img.blue-tfs {
    display: block;
}

div.tfs div.button-c {
    margin: 40px auto;
    width: 360px;
}

div.tfs p.blue_b {
    margin: 30px auto;
}

div.merit-box-m h2,
div.merit-box-m > p  {
    color: #414242;
}



}


@media only screen and (max-width: 800px) {

div.movie p {
	font-size: 11px;
    padding: 2px 5px;
    top: 105%;
    background: #f0f0fa;
    color: #004f99;
}
}


@media only screen and (max-width: 740px) {

.header {
	height:89px;
}

div.top-contents {
	margin-top:89px;
}

div.movie {
	margin-bottom: 60px;
}

}



@media only screen and (max-width: 560px) {
div.button_list_box{
	width:90%;
}

div.button_list_box div.icon p {
	font-size: 14px;
}

div.industry_box div.set {
	width: 99%;
}

div.industry_box div.set div {
	width: 32%;
}

div.ssos div.ssos_box,
div.ssos div.ssos_box2 {
	width: 100%;
}

div.ssos div.ssos_box2 > img {
	width: 320px;
}

div.ssos div.ssos_box h2,
div.ssos div.ssos_box div {
	padding: 0 20px;
}

div.ssos div.ssos_box div.button-l {
	margin:30px auto;
	padding:0;
}

div.ssos div.ssos_box h2 {
	padding-top: 20px;
}

span.subtitle {
	line-height:1.2;
}

h2 {
	font-size: 14px;
}

div.ssos_box div p.logo i.large {
    top: 40%;
    font-size: 100%;
}



div.industry_box div.set div {
	width: 49%;
}

/*�^�u�̃X�^�C��*/
.tab_item {
  width: calc(100%/3);
  font-size:14px;
}

div.news div.news_box div.case2 {
	width:100%;
	margin-left: 0;
}


div.industry_box div.set div p.text {
	width:94%;
	padding: 2% 3%;
}

div.top-contents p {
	font-size:13px;
}


div.movie p {
	font-size: 11px;
    padding: 2px 5px;
    top: 105%;
    background: #f0f0fa;
    color: #004f99;
}

div.top-contents > div div p {
	font-size:16px;
}

}



@media only screen and (max-width: 520px) {

div.category-box ul li {
	height:50px;
	margin:60px 0 30px 0;
}

div.category-box ul li div {
	width:60px;
	height:60px;
}

}


@media only screen and (max-width: 460px) {

div.sustainability_box div div.customer,
div.sustainability_box div div.shima,
div.sample div.sample_box div {
	width: 260px;
}

div.button-box{
	 width:260px;
}

div.product-box ul li div a p {
	padding:5px 9% 5px 1%;
}

div.product-box ul li div a p:after {
	top:10px
	right: 10px;
}

div.top-contents > div div p {
	font-size:13px;
	padding:12px 30px 6px 10px;
}

div.product-box ul.product li div  {
	width:165px;
}

div.product-box ul li div a p {
	width:90%;
	padding:5px 8% 5px 2%;
	background:#5881ad;
	color:white;
	border-radius:10px;
	position:relative;
	font-size:12px;
}

div.product-box ul li div a p:after {
	position: absolute;
	top: 9px;
	right: 10px;
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	content: "\f138";
}

div.product-box ul li div a p:hover {
	background:#368fef;
}

div.tfs div.button-c {
    width: 260px;
}

p.blue_b {
    font-size: 14px;
    line-height: 1.3;
}

div.ssos_box div.button-l {
	width:260px;
}

div.category-box ul li p a {
	font-size:12px;
	line-height:1.3;
}

div.button_list_box{
	width:98%;
}

#top #client-testimonial .button-c {
    width: 260px;
}

}




@media only screen and (max-width: 390px) {

#category:checked ~ #category_content,
#product:checked ~ #product_content {
  padding:10px 0 5px 0;
}

}


@media only screen and (max-width: 350px) {
div.industry_box div.set div p.text {
	font-size:12px;
}

/*�^�u�̃X�^�C��*/
.tab_item {
  width: calc(100%/2.5);
}

div.industry_box div.set div p.text {
	width:90%;
	padding-top:10px;
}

}


/*トップページ改修用 藤井友追記 20260421*/

/* 冒頭スライドショー */	
.photo2026 {	
position: relative;	
}	
.copy2026 {	
position: absolute;	
top: 50%;	
left: 50%;	
transform: translate(-50%, -50%);	
}	
div.copy2026.pc, div.copy2026.sp {	
display: none;	
}	
@media screen and (max-width: 599px) {	
div.copy2026.pc {	
display: none;	
}	
}	
@media screen and (min-width: 600px) {	
div.copy2026.pc {	
display: block;	
width: 100%;	
}	
}	
#	
@media screen and (min-width: 600px) {	
div.copy2026.sp {	
display: none;	
}	
}	
@media screen and (max-width: 599px) {	
div.copy2026.sp {	
display: block;	
width: 100%;	
}	
}	
.copy2026 h2 {	
text-shadow: 0px 2px 15px rgb(1, 25, 47);	
color: white;	
font-size: 40px;	
font-weight: bold;	
text-align: center;	
line-height: 1.2;	
}	
.copy2026.apexfiz h2 {	
text-shadow: 0px 2px 15px rgb(1, 25, 47);	
color: white;	
font-size: 40px;	
font-weight: bold;	
text-align: left;	
line-height: 1.2;	
}	
.sub-copy2026 {	
text-shadow: 0px 2px 15px rgb(1, 25, 47);	
color: white;	
font-size: 16px;	
font-weight: bold;	
line-height: 1.2;	
}	
.copy2026 p {	
color: white;	
margin: 30px 0;	
}	
@media only screen and (max-width: 1330px) {	
.copy2026 h2 {	
font-size: 30px;	
}	
}	
@media only screen and (max-width: 850px) {	
.copy2026 h2 {	
font-size: 25px;	
}	
}	
@media only screen and (max-width: 599px) {	
.copy2026 h2 {	
font-size: 20px;	
}	
}	
.fiz-logo img {	
width: 30%;	
height: auto;	
display: inline-block;	
}	
@media only screen and (min-width: 600px) and (max-width: 899px) {	
div.fiz-logo img {	
width: 48%;	
}	
}	
.tfs-logo {	
display: block;	
margin: 0 auto;	
}	
div.tfs-logo {	
max-width: 100%;	
margin: 30px auto 0;	
display: block;	
object-fit: cover;	
}	
.copy2026.apexfiz {	
position: absolute;	
top: 5%;	
left: 10%;	
transform: translate(0, 0);	
}	
.copy2026.apexfiz h2 {	
text-shadow: 0px 2px 15px rgb(1, 25, 47);	
color: white;	
font-size: 40px;	
font-weight: bold;	
/* text-align: center; */	
line-height: 1.4;	
}	
@media only screen and (max-width: 1330px) {	
.copy2026.apexfiz h2 {	
font-size: 30px;	
}	
}	
@media only screen and (max-width: 850px) {	
.copy2026.apexfiz h2 {	
font-size: 25px;	
}	
}	
@media only screen and (max-width: 599px) {	
.copy2026.apexfiz h2 {	
font-size: 20px;	
}	
}	
@media only screen and (min-width: 600px) and (max-width: 899px) {	
.copy2026.apexfiz h2,	
.copy2026 p.sub-copy2026,	
.copy2026 p.tfs-text2026,	
.copy2026 p.sus-text2026 {	
display: none;	
}	
.copy2026.apexfiz {	
position: absolute;	
top: 18%;	
left: 10%;	
transform: translate(0, 0);	
}	
}	
div.copy2026.apexfiz.pc, div.copy2026.apexfiz.sp {	
display: none;	
}	
@media screen and (max-width: 599px) {	
div.copy2026.apexfiz.pc {	
display: none;	
}	
}	
@media screen and (min-width: 600px) {	
div.copy2026.apexfiz.pc {	
display: block;	
}	
}	
p.top-button2026 {	
height: 27px;	
padding: 7px 30px 6px 30px;	
background: white;	
color: #004f99;	
border-radius: 10px;	
box-shadow: 0 3px 15px rgba(0, 79, 153, 0.4);	
margin: 30px auto;	
width: 260px;	
font-weight: 500;	
line-height: 1.8;	
font-size: 16px;	
position:relative;	
}	
p.top-button2026 i {	
position:absolute;	
top:11px;	
right:16px;	
font-size:18px;	
}	
p.top-button2026.apexfiz {	
height: 27px;	
padding: 7px 30px 6px 30px;	
background: white;	
color: #004f99;	
border-radius: 10px;	
box-shadow: 0 3px 15px rgba(0, 79, 153, 0.4);	
margin: 30px auto;	
width: 220px;	
font-weight: 500;	
line-height: 1.8;	
font-size: 16px;	
position:relative;	
}	
p.top-button2026.apexfiz i {	
position:absolute;	
top:11px;	
right:16px;	
font-size:18px;	
}	
div.pickup-all2026 {	
width:1500px;	
max-width:83%;	
margin:0 auto;	
}	
@media only screen and (min-width: 415px) and (max-width: 799px) {	
div.pickup-all2026 {	
max-width:65%;	
}	
}	
@media only screen and (max-width: 414px) {	
div.pickup-all2026 {	
max-width:83%;	
}	
}	
.pickup-cont2026 {	
display: flex;	
align-items: stretch;	
justify-content: space-between;	
flex-wrap: wrap;	
gap: 30px 0;	
margin-top: 50px;	
margin-bottom: 70px;	
}	
.pickup-cont2026 > div {	
flex: 0 0 calc((100% - 60px) / 3); /* 横3列分の幅を計算。gapが30pxなので2つ分で60px引く */	
box-sizing: border-box; /* パディングやボーダー込みで幅を計算 */	
}	
@media only screen and (max-width: 799px) {	
.pickup-cont2026 {	
display: block;	
}	
.p-card2026 {	
margin-bottom: 20px;	
}	
}	
/* .p-card2026 {	
background: #F5F5F5;	
} */	
div.p-card2026 img, div.p-text2026 {	
width: 100%;	
height: auto;	
display: block;	
margin-left: auto;	
margin-right: auto;	
align-self: stretch;	
}	
/*div.blue-back {	
background: #004f99;	
}	
div.p-card2026 img {	
opacity: 0.8;	
}*/
div.blue-back a img:hover {	
opacity:0.7;	
}	
div.pickup-all2026 h2,	
div.selpro-all2026 h2 {	
text-align:center;	
max-width:90%;	
margin:0 auto;	
font-size:30px;	
font-weight: 700;	
line-height:1.2;	
padding-top: 80px;	
color:#004f99;	
}	
/* .p-text2026 {	
background-color: #F5F5F5;	
} */	
.pu-title2026 {	
font-size: 20px;	
font-weight: 400;	
padding: 15px;	
text-align: center;	
height: 60px;	
position: relative;	
}	
.p-text2026 .pu-title2026 p {	
position: absolute;	
top: 65%;	
left: 50%;	
-webkit-transform: translate(-50%, -50%);	
transform: translate(-50%, -50%);	
width: 100%;	
text-align: center;	
font-size: 20px;	
font-weight: 400;	
}	
.p-text2026 p {	
font-size: 15px;	
font-weight: 400;	
padding: 5px 15px 15px 0;	
text-align: left;	
}	
#select-product2026 {	
background-color: #F0F0FA;	
}	
div.selpro-all2026 {	
width: 1500px;	
max-width: 95%;	
margin: 50px auto 0 auto;	
}	
.product-cont2026 {	
display: flex;	
justify-content: center;	
flex-wrap: wrap;	
gap: 30px 20px;	
margin-top: 50px;	
margin-bottom: 7px;	
padding-bottom: 40px;	
}	
.product-cont2026 > div {	
flex: 0 0 calc((100% - 60px) / 3); /* 横3列分の幅を計算。gapが30pxなので2つ分で60px引く */	
box-sizing: border-box; /* パディングやボーダー込みで幅を計算 */	
}	
@media only screen and (max-width: 860px) {	
.product-cont2026 > div {	
flex: initial;	
}	
.pro-card2026 {	
width: 45%;	
padding: 2% 1%;	
}	
}	
div.pro-card2026 a img {	
width: 65%;	
height: auto;	
display: block;	
margin-left: auto;	
margin-right: auto;	
}	
div.pro-card2026 a img:hover {	
opacity:0.7;	
}	
/* カード */	
.pro-card2026 {	
position: relative;	
margin-bottom: 80px;	
/*overflow: hidden; */	
}	
/* スライド領域 */	
.pro-card2026 .slide-bottom {	
position: absolute;	
left: 0;	
right: 0;	
bottom: 30px;	
transform: translateY(100%);	
opacity: 0;	
transition: transform 0.35s ease, opacity 0.35s ease;	
text-align: center;	
}	
/* hoverで表示	
.pro-card2026:hover .slide-bottom {	
transform: translateY(0);	
opacity: 1;	
} */	
/* ボタン幅を元サイトに合わせる */	
.pro-card2026 .slide-bottom a {	
display: inline-block;	
width: 203px;	
}	
div.button-box2026 {	
width:295px;	
margin:0 auto 50px auto;	
clear:both;	
}	
@media only screen and (max-width: 460px) {	
div.button-box2026 {	
width:260px;	
}	
}	
/* ボタン本体 */	
.pro-card2026 .slide-bottom p {	
width: 178px;	
padding: 6px 20px 5px 5px;	
background: #004F99;	
color: #fff;	
border-radius: 10px;	
position: relative;	
}	
/* 矢印 */	
.pro-card2026 .slide-bottom p:after {	
content: "\f138";	
font-family: "Font Awesome 5 Free";	
font-weight: 900;	
position: absolute;	
top: 7px;	
right: 15px;	
}	
/* hover時（位置を動かさない） */	
.pro-card2026 .slide-bottom p:hover {	
background: #368fef;	
}	
@media only screen and (max-width: 460px) {	
.pro-card2026 .slide-bottom p {	
width: 137px;	
padding: 6px 20px 5px 5px;	
background: #004F99;	
color: #fff;	
border-radius: 10px;	
position: relative;	
font-size: 11px;	
}	
.pro-card2026 .slide-bottom a {	
width: 162px;	
}	
}	
#testimonial {	
background-color: #000;	
}	
.logotext_content {	
position: relative;	
}	
.logotext_content h2 {	
position: absolute;	
top: 80%;	
left: 50%;	
transform: translate(-50%, -50%);	
z-index: 2;	
}	
.star-image {	
width: 100%;	
max-width: 580px;	
margin: 0 auto;	
padding: 10px 0;	
}	
.star-image img {	
max-width: 100%; /* 親幅内で縮小可能にする */	
height: auto;	
display: block;	
}	
div.c_tm h2 {	
color: white;	
font-size: 20px;	
font-weight: 700;	
line-height: 1.2;	
text-align: center;	
padding: 0;	
}	
.kisyu_content {	
display: flex;	
justify-content: space-between;	
flex-wrap: wrap;	
gap: 30px 0;	
padding: 20px 0 50px;	
}	
.kisyu_content > div {	
flex: 0 0 calc((100% - 60px) / 3); /* 横3列分の幅を計算。gapが30pxなので2つ分で60px引く */	
box-sizing: border-box; /* パディングやボーダー込みで幅を計算 */	
}	
@media only screen and (min-width: 600px) and (max-width: 1024px) {	
.kisyu_content {	
gap: 15px 0;	
}	
.kisyu_content > div {	
flex: 0 0 calc((100% - 30px) / 3);	
box-sizing: border-box;	
}	
}	
@media only screen and (max-width: 599px) {	
.kisyu_content {	
display: block;	
margin: 0 10%	
}	
.kisyu {	
margin-bottom: 20px;	
}	
}	
.kisyu {	
position: relative;	
}	
.kisyu h3 {	
position: absolute;	
top: 50%;	
left: 50%;	
transform: translate(-50%, -50%);	
color: #fff;	
font-size: 20px;	
font-weight: 600;	
width: 80%;	
text-align: center;	
z-index: 2;	
}	
@media only screen and (min-width: 600px) and (max-width: 850px) {	
.kisyu h3 {	
font-size: 15px;	
}	
}	
.kisyu img {	
width: 100%;	
height: auto;	
display: block;	
margin-left: auto;	
margin-right: auto;	
}	
div.kisyu a img {	
transition: filter 0.3s ease;	
position: relative;	
z-index: 1;	
}	
div.kisyu a img:hover {	
filter: brightness(1.4);	
}	
/* .mc_content > div {	
flex: 1;	
} */	
#SHIMAOnline2026 {	
position: relative;	
width: 100%;	
/*height: 600px; */	
background-image: url('../../images/top/shimaonline_back.jpg');	
background-size: cover;	
background-position: center;	
}	
#SHIMAOnline2026 .so-all2026 {	
position: relative;	
z-index: 1; /* 背景より前面表示 */	
/* width: 80%; */	
width: 1500px;	
max-width: 95%;	
margin-left: auto;	
margin-right: auto;	
padding-top: 10px;	
background-color: transparent;	
}	
.so-cont2026 .upper {	
display: flex;	
justify-content: space-between;	
flex-wrap: wrap;	
/* gap: 30px 0;	
margin-top: 50px;	
margin-bottom: 70px; */	
justify-content: center; /* 全体を中央寄せ */	
}	
.so-cont2026 .lower {	
display: flex;	
justify-content: space-between;	
flex-wrap: wrap;	
/* gap: 30px 0;	
margin-top: 50px;	
margin-bottom: 70px; */	
justify-content: center; /* 全体を中央寄せ */	
}	
/*	
@media (min-width: 861px) {	
.so-card2026.yarnbank {	
margin-left: 16.5%;	
}	
}	
@media (min-width: 861px) {	
.so-card2026.datamall {	
margin-right: 16.5%;	
}	
}	
*/	
.so-all2026 img {	
display: block;	
width: 50%;	
margin: 20px auto 30px;	
/* padding: 20px 0; */	
}	
@media only screen and (max-width: 860px) {	
.so-all2026 img {	
width: 60%;	
}	
}	
@media only screen and (max-width: 680px) {	
.so-all2026 img {	
width: 65%;	
}	
.so-card2026 {	
width: 100%;	
}	
}	
.so-card2026 img {	
width: 100%;	
/* max-width: 200px; */	
height: auto;	
display: block;	
margin: 0 auto;	
}	
.so-link2026 {	
max-width: 200px;	
margin: auto;	
}	
div.so-card2026 a img:hover,	
div.so-all2026 a img:hover {	
filter: opacity(0.8);	
}	
.logo-box {	
text-align: center;	
}	
.so-all2026_logo {	
width: 60%;	
max-width: 600px;	
min-width: 300px;	
margin: 40px auto;	
}	
.so-all2026_logo img {	
width: 100%;	
}	
.so-card_box2026 {	
width: 25%;	
min-width: 130px;	
}	
.so-cont2026 .upper,	
.so-cont2026 .lower {	
gap: 60px;	
padding-bottom: 60px;	
}	
div.so-card2026 .logo-box img {	
width: 100%;	
/* max-width: 300px; */	
height: auto;	
display: block;	
margin: 0 auto;	
}	
div.so-card2026 .logo-box {	
max-width: 190px;	
margin: auto;	
height: 50px;	
position: relative;	
}	
div.so-card2026 .logo-box a {	
position: absolute;	
top: 50%;	
left: 50%;	
-webkit-transform: translate(-50%, -50%);	
transform: translate(-50%, -50%);	
width: 100%;	
text-align: center;	
}	
div.case1 h2,	
div.case2026 h2 {	
text-align: center;	
padding: 50px 0;	
color: #868686;	
}	
div.case2026 {	
width: 40%;	
float:left;	
margin-left: 60px;	
}	
@media only screen and (max-width: 905px) {	
div.case2026 {	
width: 80%;	
margin-left: 10%;	
}	
div.news div.news_box div.case1.news2026 {	
width:100%;	
}	
}	
/* スライド領域 */	
.case1.news2026 .slide-bottom {	
position: absolute;	
left: 0;	
right: 0;	
bottom: 30px;	
transform: translateY(100%);	
opacity: 0;	
transition: transform 0.35s ease, opacity 0.35s ease;	
text-align: center;	
}	
/* hoverで表示	
.case1.news2026:hover .slide-bottom {	
transform: translateY(0);	
opacity: 1;	
} */	
/* ボタン幅を元サイトに合わせる */	
.case1.news2026 .slide-bottom a {	
display: inline-block;	
width: 295px;	
}	
/* ボタン本体 */	
.case1.news2026 .slide-bottom p {	
width: 270px;	
height: 30px;	
padding: 12px 20px 0 5px;	
background: #004F99;	
color: #fff;	
border-radius: 10px;	
position: relative;	
font-size: 16px;	
margin-top: -18px;	
}	
@media only screen and (max-width: 460px) {	
.case1.news2026 .slide-bottom a {	
display: inline-block;	
width: 260px;	
}	
.case1.news2026 .slide-bottom p {	
width: 220px;	
font-size: 14px;	
height: 22px;	
padding: 12px 20px 6px 20px;	
line-height: 1.15;	
}	
}	
/* 矢印	
.case1.news2026 .slide-bottom p:after {	
content: "\f138";	
font-family: "Font Awesome 5 Free";	
font-weight: 900;	
position: absolute;	
top: 8px;	
right: 15px;	
} */	
.case1.news2026 .slide-bottom p:after {	
position: absolute;	
top: 13px;	
right: 15px;	
font-weight: 900;	
font-family: "Font Awesome 5 Free";	
-webkit-font-smoothing: antialiased;	
display: inline-block;	
font-style: normal;	
font-variant: normal;	
text-rendering: auto;	
line-height: 1;	
content: "\f138";	
}	
/*	
@media only screen and (max-width: 460px) {	
.case1.news2026 .slide-bottom p:after {	
top: 13px;	
}	
} */	
/* hover時（位置を動かさない） */	
.case1.news2026 .slide-bottom p:hover {	
background: #368fef;	
}	
.case2026 p {	
text-align: center;	
color: #004f99;	
padding: 5px 0 25px;	
}	
.eb-link2026 {	
max-width: 340px;	
margin: auto;	
}	
div.eb-link2026 img {	
width: 100%;	
height: auto;	
display: block;	
margin-left: auto;	
margin-right: auto;	
}	
@media only screen and (max-width: 499px) {	
div.eb-link2026 img {	
max-width: 240px;	
}	
}	
div.event-box a img:hover {	
filter: opacity(0.7);	
}	
.photo2026 {	
width: 100%;	
height: auto;	
display: flex;	
justify-content: center;	
align-items: center;	
overflow: hidden;	
}	
.photo2026 img {	
max-width: 100%;	
max-height: 100%;	
width: auto;	
height: auto;	
display: block;	
object-fit: contain;	
}	
img.sustena_logo {	
position: relative;	
width: 250px;	
/* margin: 50px 0 20px 0; */	
}	
@media only screen and (min-width: 996px) {	
div.sustainability {	
height: 373px;	
}	
div.sustainability > img {	
height: 366px;	
}	
}	
@media only screen and (min-width: 851px) and (max-width: 995px) {	
div.sustainability {	
height: 425px;	
}	
div.sustainability > img {	
height: 418px;	
}	
}	
@media only screen and (max-width: 850px) {	
div.sustainability {	
height: 447px;	
}	
div.sustainability > img {	
height: 440px;	
}	
}	
/* CSSスライドショー */	
.slideshow {	
position: relative;	
width: 100%;	
overflow: hidden;	
}	
.slide-item {	
display: none;	
position: relative;	
width: 100%;	
opacity: 0;	
transition: opacity 0.3s ease;	
pointer-events: none;	
}	
.slide-item.active {	
display: block;	
opacity: 1;	
pointer-events: auto;	
}	
.slide-item a {	
display: block;	
width: 100%;	
height: 100%;	
position: absolute;	
top: 0;	
left: 0;	
}	
.slide-item video,	
.photo2026 video {	
width: auto;	
height: 100%;	
max-width: 100%;	
display: block;	
margin: 0 auto;	
object-fit: contain;	
}	
.top-contents.movie {	
display: flex;	
justify-content: center;	
align-items: center;	
width: 100%;	
height: auto;	
margin: auto;	
padding: 0;	
aspect-ratio: 2560 / 1000;	
}	
div.top-contents > div {	
top: 0;	
}	
.slide-item.slide6 .top-contents.movie,	
.slide-item.slide6 .photo2026 {	
width: 100%;	
position: relative;	
height: 100%;	
overflow: hidden;	
}	
.slide-item.slide6 video {	
position: absolute;	
top: 0;	
left: 50%;	
width: auto;	
height: 100%;	
max-width: 100%;	
display: block;	
transform: translateX(-50%);	
object-fit: contain;	
}	
.sound {	
position: absolute;	
bottom: 10px;	
left: 50%;	
transform: translateX(-50%);	
color: white;	
background: rgba(0,0,0,0.5);	
padding: 5px 10px;	
border-radius: 5px;	
}	
div.movie p {	
background: #004f99;	
text-align: center;	
font-size: 12px;	
height: 20px;	
}	
/* ナビゲーション */	
.slide-nav {	
position: absolute;	
top: 0;	
left: 0;	
right: 0;	
bottom: 0;	
pointer-events: none;	
z-index: 20;	
}	
.prev, .next {	
position: absolute;	
top: 50%;	
transform: translateY(-50%) scaleY(2);	
background: transparent;	
color: white;	
border: none;	
padding: 0;	
cursor: pointer;	
font-size: 35px;	
pointer-events: auto;	
}	
.prev {	
left: 20px;	
opacity: 0.7;	
}	
.next {	
right: 20px;	
opacity: 0.7;	
}	
.dots-nav {	
display: flex;	
justify-content: center;	
margin-top: 20px;	
}	
.dots {	
display: flex;	
gap: 5px;	
}	
.dot {	
width: 40px;	
height: 4px;	
background: rgba(0,0,0,0.5);	
cursor: pointer;	
transition: background 0.3s;	
}	
.dot.active {	
background: rgb(51, 43, 43);	
}

