@charset "UTF-8";

/* ▼▼▼ トップ
======================================================*/
/* ▼ MV
----------------------------------------*/
#mainVisual {
	width: calc(100% + 89px);
	position: relative;
	margin-left: -89px;
}
/* dotsカスタム */
.slick-dots{
	bottom: 2.5%!important;
	right: 5%;
	left: auto;
	text-align: right;
	}
	.slick-dots li{
		margin: 0 5px;
	}
	.slick-dots li button {
		border: 0;
		background: transparent;
		display: block;
		height: 10px;
		width: 10px;
		outline: none;
		line-height: 0px;
		font-size: 0px;
		color: transparent;
		padding: 10px;
		cursor: pointer;
		position: relative;
	}
	.slick-dots li button:before {
		position: absolute;
		top: 0;
		left: 0;
		content: "";
		background: #A0A0A0;
		font-size: 0!important;
		opacity: 1!important;
		width: 15px!important;
		height: 2px!important;
		line-height: 10px!important;
		text-align: center;
		-webkit-font-smoothing: antialiased;
	}
	.slick-dots li.slick-active button:before{
		content: "";
		background: #fff;
	}

	.slick-dotted.slick-slider {
		margin-bottom: -6px;;
	}
/* arrowsカスタム */
.slider .slick-prev,
.slider .slick-next{
	display: none;
}
/* ▼ 新内外綿について
----------------------------------------*/
#top_about{
	position:relative;
}
#top_about::before{
	content:"";
	background: url(../img/top/top_about_bg.png)no-repeat top center /cover;
	width: 100%;
	height: 390px;
	position: absolute;
	z-index:-1;
}
#top_about .container{
	padding:70px 11vw 120px 20px;
	position: relative;
}
#top_about .container::before{
	content:"";
	background: url(../img/top/img01.png)no-repeat top right / contain;
	width: 623px;;
	height:544px;;
	position: absolute;
	top:70px;
	right:0;
	z-index:-1;
}
#top_about .wrapper{
	width: 100%;
	height: 544px;
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
}
#top_about h2{
	width: 125px;
	height: 362px;
	margin-left:85px;
}
#top_about .spimg{
	width: 238px;
	height: 433px;
}
#top_about .detail{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#top_about p.mincho{
	line-height: 2.2;
	-webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
#top_about p.mincho span{
	-webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;
}
/* ▼ 糸商品情報
----------------------------------------*/
#top_products{
	position: relative;
}
#top_products::before{
	content:"";
	background: url(../img/top/top_products_bg.png)repeat bottom left / 65px 65px;
	width: 100%;
	height: 100%;
	position: absolute;
	right:20vw;
	bottom:0;
}
#top_products:after{
	content:"";
	width: 100%;
	height: 130px;
	background: #fff;
	position: absolute;
	top:0;
	right:20vw;
}
#top_products .container{
	display: flex;
	padding: 0 11vw 75px 20px;
	justify-content: space-between;
	position: relative;
  z-index: 1;
}
#top_products h2{
	width: 83px;
	height: 181px;
}
#tab_wrap{
	width: 870px;
	padding: 20px;
	background: #fff;
	position: relative;
}
#tab_wrap::before{
	content:"";
	width: 133px;
	border: 1px dashed #1C305C;
	position: absolute;
	top:0;
	right:0;
}
#tab_wrap::after{
	content:"";
	height: 133px;
	border: 1px dashed #1C305C;
	position: absolute;
	top:0;
	right:0;
}

/* タブ切り替え */
ul.tab {
	list-style-type: none;
	text-align: left;
	text-justify: distribute-all-lines;
	font-size: 0;
	}
ul.tab li {
	display: inline-block;
  background: #fff;
	border-bottom: 1px solid #000;
	text-align: center;
	height: 60px;
	line-height: 74px;
	width: 200px;
	cursor: pointer;
	}
ul.tab li:not(:last-child){
	margin-right:10px;
}
ul.tab li .tab_svg{
	fill:#000000;
}
ul.tab li:hover,
ul.tab li.select{
	background: #B21A1A;
	color: #fff;
	border-bottom:none;
	position: relative;
}
ul.tab li:hover .tab_svg,
ul.tab li.select .tab_svg{
	fill:#fff;
}

ul.tab li:hover .tab_svg line,
ul.tab li.select .tab_svg line{
	stroke:#fff;
}
p.tab,.hide {
	display: none;
	}
	/* 各タブの中 */
.tab_inner{
	 padding: 50px 0 50px 25px;
}
.tab01_list{
	display: flex;
	flex-wrap: wrap;
}
.tab01_list li{
	width: 33%;
	margin-bottom: 35px;
}
.tab01_list li a{
	width: 100%;
	margin:0 auto;
}
.tab01_list li a div{
	width: 146px;
	height: 146px;
	margin:0 auto 20px;
}
.tab01_list li p{
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
.tab01_list li p span{
	display: block;
	font-size: 14px;
	font-weight: normal;
	text-align: center;
}
.tab02_list{
	display: flex;
	flex-wrap: wrap;
}
.tab02_list li{
	margin-bottom: 35px;
}
.tab02_list li{
	width: 200px;
}
.tab02_list li a{
	font-size: 18px;
	font-weight: 500;
	position: relative;
}
.tab02_list li a::before{
	content:"";
	width: 10px;
	height: 10px;
	border-top: 1px solid #B21A1A;
	border-right: 1px solid #B21A1A;
	transform: rotate(45deg);
	margin:auto;
	position: absolute;
	top:0;
	bottom: 0;
	left: -20px;
}
.tab03_list{
	display: flex;
	width: 100%;
	max-width: 664px;
	margin:0 auto;
	flex-wrap: wrap;
}
.tab03_list li{
	margin-bottom: 40px;
}
.tab03_list li:not(:nth-child(3n)){
	margin-right:40px;
}
.tab03_list li a{
	display: flex;
	background:url(../img/top/tab03_01.png)no-repeat top center / cover;
	width: 194px;
	height: 95px;
	align-items: center;
	justify-content: center;
}
.product_search{
	width: 100%;
	max-width: 506px;
	margin:0 auto;
}
/* TOP フリーワード検索 */
.tab_inner .product_search .free_word input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px #FCF2F2 inset;
	background: none;
}
.tab_inner .product_search .free_word {
	max-width: 100%;
	background: #FCF2F2;
	border-bottom: 1px solid #B21A1A;
	margin-bottom: 30px;
}
.tab_inner .product_search .free_word input{
	padding: 23px 15px;
	width: calc(100% - 53px);
}
.tab_inner .product_search .free_word span{
	width: 53px;
}
.tab_inner .product_search .free_word span::before{
	background: url(../img/icon_search_red.svg) no-repeat center/contain;
	width: 18.18px;
	height: 18px;
}


/* TOP select box */
.tab_inner .product_search .select_wrap select {
	padding: 23px 65px 23px 15px;
	color: #999999;
}
.tab_inner .product_search .select_wrap::before {
	vertical-align: middle;
	width: 9px;
	height: 9px;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 23px;
	right: 20px;
	z-index: 1;
}
.tab_inner .product_search .select_wrap::after{
	width: 53px;
}
/* ▼ 新着情報
----------------------------------------*/
#top_news .container{
	display: flex;
	padding: 100px 11vw 100px 0 ;
	flex-direction: row-reverse;
	justify-content: center;
}
#top_news .wrapper{
	width: 83%;
	margin-right: 80px;
}
#top_news h2{
	width: 83px;
	height: 135px;
}
#top_news .info_list {
    margin-bottom: 40px;
}
#top_news .info_list a{
	align-items: baseline;
}
.info_list .date {
  margin-right: 20px;
}
.info_list .cat_icon{
	display: table;
	background: #626262;
	border-radius: 10px;
	width: 141px;
	margin-right: 15px;
	flex-shrink: 0;
	color: #fff;
	font-size: 14px;
	text-align: center;
}
.info_list .txt{
	white-space: normal;
}

/* ▼ 会社情報、IR情報、採用情報リンク
----------------------------------------*/
#top_link{
	position: relative;
}
#top_link::before{
	content:"";
	background: url(../img/top/top_link_bg.png)no-repeat top right / cover;
	width: 1266px;
	height: 245px;
	position: absolute;
	top:0;
	right:0;
}
#top_link .container{
	padding-top: 70px;
	margin-bottom: 100px;
}
#top_link .link_list{
	display: flex;
	width: 100%;
	justify-content: space-between;
}
#top_link .link_list li{
	width: 30%;
	position: relative;
}
#top_link .link_list li a{
	display: block;
}
#top_link .link_list li a::before{
	content:"";
	position: absolute;
	width: 62px;
	top:-17px;
	left:20px;
}
#top_link .link_list li:nth-child(1) a::before{
	background: url(../img/top/img02_label.png)no-repeat top left / contain;
	height: 159px;
}
#top_link .link_list li:nth-child(2) a::before{
	background: url(../img/top/img03_label.png)no-repeat top left / contain;
	height: 125px;
}
#top_link .link_list li:nth-child(3) a::before{
	background: url(../img/top/img04_label.png)no-repeat top left / contain;
	height: 153px;
}
/* ▼ お問い合わせ
----------------------------------------*/
#top_contact{
	position: relative;
}
#top_contact::before{
	content:"";
	background: url(../img/top/top_contact_bg_pc.png)no-repeat top center / cover;
	width: calc(100% + 30vw);
	height: 300px;
	position: absolute;
	top:0;
	left:-30vw;
	z-index:-1;
}
#top_contact .container{
	display: flex;
	padding: 40px 11vw 60px 20px;
}
#top_contact h2{
	 width: 86px;
	 height: 195px;
 }
 #top_contact .wrapper{
	 display: flex;
	 width: 810px;
	 height: 183px;
	 background:#fff;
	 border:1px solid #B21A1A;
	 padding: 30px 0;
	 margin:0 0 0 auto;
	 align-items: center;
	 position: relative;
 }
 #top_contact .wrapper::before{
	 content:"";
	 width: calc(100% + 16px);
	 max-width: 825px;
	 height: 195px;
	 background: #fff;
	 position: absolute;
	 top:-7px;
	 right:-8px;
	 z-index: -1;
 }
 #top_contact .tel_list{
	 flex:1.1;
	 position: relative;
 }
 #top_contact .tel_list::after{
	 content:"";
	 width: 1px;
	 height: 135px;
	 background: #B21A1A;
	 margin:auto;
	 position: absolute;
	 top:0;
	 right:0;
	 bottom: 0;
 }
 #top_contact .tel_list li{
	 display: flex;
	 align-items: center;
	 justify-content: center;
 }
 #top_contact .tel_list li:first-child{
	 margin-bottom: 15px;
	 }
 #top_contact .tel_list li .place{
	 width: 37px;
	 margin-right: 15px;
 }
 #top_contact .tel_list li .number .pc img:first-child{
	 width: 60px;
 }
 #top_contact .tel_list li .number .pc img:last-child{
	 width: 180px;
 }
#top_contact .contact{
	display: flex;
	justify-content: center;
	flex:1;
}
#top_contact .contact img:first-child{
	width: 30px;
	margin-right: 15px;
}
#top_contact .contact img:last-child{
	width: 226px;
}
/* ▼▼▼ 480px〜768px
======================================================*/
@media screen and (max-width: 768px) {

	/* ▼ MV
	----------------------------------------*/
	#mainVisual {
		width: 100%;
		margin: 40px auto 0;
		position: relative;
	}
	.slick-dots{
		text-align: center;
		right:0;
		bottom: -8.5%!important;
		z-index:999;
	}
	.slick-dots li {
    margin: 0px 11px;
	}
	.slick-dots li button{
		width: 28px;
	}
	.slick-dots li button:before{
		width: 28px!important;
		background: #A0A0A0;
	}
	.slick-dots li.slick-active button:before {
	    background: #B21A1A;
	}
	/* ▼ 新内外綿について
	----------------------------------------*/
#top_about::before{
	display: none;
}
#top_about .container {
  padding: 50px 20px 60px;
}
#top_about .container::before {
  width: 262px;
  height: 228px;
  top: 50px;
}
#top_about .wrapper{
	width: 100%;
	height: 470px;
	flex-direction: column;
}
#top_about h2 {
  width: 77px;
  height: 223px;
  margin: 0 0 30px 0;
}
#top_about .spimg{
	display: flex;
	width: 100%;
	max-width: 345px;
	height: 156px;
	margin: 0 auto 10px;
}
#top_about p.mincho{
	-webkit-writing-mode:horizontal-tb;
	-ms-writing-mode:lr-tb;
	writing-mode:horizontal-tb;
	margin-bottom: 40px;
}
#top_about .circle_btn{
	margin:0 auto;
}
/* ▼ 糸商品情報
----------------------------------------*/
#top_products::before{
	right:0;
	background: url(../img/top/top_products_bg.png)repeat top left / 62px 62px;
}
#top_products:after{
	display: none;
}
#top_products .container{
	display: block;
	padding: 25px 20px 60px;
}
#top_products h2 {
  width: 92px;
  height: 45px;
	margin: 0 auto 30px;
}
#tab_wrap{
	width: 293px;
	background: transparent;
	padding: 0;
	margin:0 auto;
}
#tab_wrap::before,#tab_wrap::after{
	display: none;
}

/* タブ切り替え */
.tab .tab_svg{
	fill:#fff;
	stroke:#fff;
}
ul.tab{
	display: none;
	}
p.tab,.hide {
	display: block;
}
p.tab{
	background: #B21A1A;
	height: 60px;
	line-height: 70px;
	width: 100%;
	padding-left: 30px;
	margin: 0 0 10px;
	position: relative;
}
p.tab.close{
	color: #fff;
	margin-bottom: 0;
}
.tab:before, .tab.open::after {
    content: "";
    background: #fff;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
}
.tab::before {
    width: 15px;
    height: 1px;
    right: 25px;
}
.tab.open::after {
    width: 1px;
    height: 15px;
    right: 32px;
}

.tab_inner {
	display: none;
  margin: 0px 0 30px;
  padding: 0;
}
.tab01_list{
	display: block;
}
.tab01_list li {
    width: 100%;
    margin-bottom: 0;
}
.tab01_list li:not(:last-child){
	border-bottom: 1px solid #707070;
}
.tab01_list li a{
	display: flex;
	background: #fff;
	padding: 15px;
	align-items: center;
	position: relative;
}
.tab01_list li a::after{
	content:"";
	width: 10px;
	height: 10px;
	border-top:1px solid #B21A1A;
	border-right: 1px solid #B21A1A;
	transform: rotate(45deg);
	margin: auto;
	position: absolute;
	top:0;
	right:10px;
	bottom: 0;
	z-index:1;

}
.tab01_list li a div {
  width: 68px;
  height: 68px;
  margin: 0 15px 0 0;
}
.tab01_list li p {
  font-size: 16px;
  text-align: left;
}
.tab01_list li p span{
	font-size: 12px;
	text-indent: -0.5em;
}
.tab02_list li{
	width: 100%;
	background: #fff;
	margin-bottom: 0;
}
.tab02_list li:nth-child(1), .tab02_list li:nth-child(5), .tab02_list li:nth-child(9), .tab02_list li:nth-child(13) {
  width: 100%;
}
.tab02_list li:not(:last-child){
	border-bottom: 1px solid #707070;
}
.tab02_list li a{
	display: block;
	padding: 20px 24px;
	font-size: 16px;
}
.tab02_list li a::before{
	right:20px;
	left:auto;
}
.tab03_list{
	display: block;
}
.tab03_list li{
	display: block;
	background: #fff;
	margin-bottom: 0;
}
.tab03_list li:not(:last-child){
	border-bottom: 1px solid #707070;
}
.tab03_list li a{
	background: none;
	width: 100%;
	height: 66px;
	padding: 20px 24px;
	font-size: 16px;
	font-weight: 500;
	justify-content: flex-start;
	position: relative;
}
.tab03_list li a::before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid #B21A1A;
  border-right: 1px solid #B21A1A;
  transform: rotate(45deg);
  margin: auto;
  position: absolute;
  top: 0;
	right:20px;
  bottom: 0;
}
.tab03_list li:not(:nth-child(3n)){
	margin:0;
}
.product_search {
  padding: 34px 15px 38px;
  background: #fff;
}
/* ▼ 新着情報
----------------------------------------*/
#top_news h2 {
  width: 52px;
  height: 82px;
}
#top_news .container{
	flex-direction: row;
	padding:045px 20px;
	justify-content: space-between;
}
#top_news .wrapper{
	width: 250px;
	margin-right:0;
}
#top_news .info_list {
    margin-bottom: 40px;
}
.info_list li a {
    display: flex;
    flex-wrap: wrap;
}
.info_list li a::after{
	right:0;
}
.info_list .date {
    width: 5em;
    margin: 0 20px 0 0;
}
.info_list .cat_icon {
    width: 100px;
    margin-right: 0;
    font-size: 12px;
}
.info_list .txt {
    margin-top: 10px;
    width: 100%;
}
#top_news .circle_btn{
	position: relative;
	left: -8vw;
}
/* ▼ 会社情報、IR情報、採用情報リンク
----------------------------------------*/
#top_link .container{
	padding-top:40px;
	margin-bottom: 60px;
}
#top_link .link_list{
	display: block;
}
#top_link .link_list li{
	width: 100%;
}
#top_link .link_list li:not(:last-child){
	margin-bottom: 45px;
}
/* ▼ お問い合わせ
----------------------------------------*/
#top_contact::before{
	height: 400px;
}
#top_contact .container{
	display: block;
	padding: 20px 20px 0;
	height: 400px;
}
#top_contact .wrapper{
	display: block;
	width: 100%;
	background: transparent;
	border:none;
}
#top_contact .wrapper::before{
	display: none;
}
#top_contact h2{
	width: 111px;
	height: 45px;
	 margin: 0 auto;
}
#top_contact .tel_list .number .sp img:first-child{
	width: 36px;
	height: 16px;
}
#top_contact .tel_list .number .sp img:last-child{
	width: 109px;
	height: 16px;
}
#top_contact .tel_list li{
	width: 95%;
	height: 62px;
	background: #fff;
	border: 1px solid #B21A1A;
	margin:0 auto 35px;
	position: relative;
}
#top_contact .tel_list li::before,
#top_contact .contact::before{
	content:"";
	width: calc(100% + 16px);
	height: 77px;
	background: #fff;
	position: absolute;
	top:-8px;
	right:-8px;
	z-index: -1;
}
#top_contact .tel_list li:first-child{
	margin-bottom: 35px;
}
#top_contact .contact{
	width: 95%;
	height: 62px;
	background: #fff;
	border: 1px solid #B21A1A;
	margin:0 auto;
	align-items: center;
	position: relative;
}
#top_contact .contact img:first-child{
	width: 30px;
	height: 19px;
}
#top_contact .contact img:last-child{
 width:166px;
}
#top_contact .tel_list::after{
	display: none;
}
}
