@charset "utf-8";




/* title */
.l-useful .u-content-title-high .e-title,
.l-word .u-content-title-high .e-title {
	padding: 0 0 0 50px;
	position: relative;
}

.l-useful .u-content-title-high .e-title:before,
.l-word .u-content-title-high .e-title:before {
	content: '';
	width: 40px;
	height: 40px;
	margin: 0 10px 0 0;
	display: inline-block;
	background-size: cover;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.is-solution .u-content-title-high .e-title:before {
	background-image: url(/contents/nishikawa-chain/useful/img/icon-01.png);
}

.is-news .u-content-title-high .e-title:before {
	background-image: url(/contents/nishikawa-chain/useful/img/icon-02.png);
}

.is-faq .u-content-title-high .e-title:before {
	background-image: url(/contents/nishikawa-chain/useful/img/icon-03.png);
}

.is-dictionary .u-content-title-high .e-title:before {
	background-image: url(/contents/nishikawa-chain/useful/img/icon-04.png);
}



.l-useful .e-text {
	font-size: 1.6rem;
	line-height: 2.25;
}

.l-useful-solution-items {
	letter-spacing: -.4em;
	padding: 30px 0 0;
}

.l-useful-solution-item {
	line-height: 1.75;
	letter-spacing: 0;
	width: calc(100% / 2);
	min-height: 125px;
	padding: 0 20px 20px 0;
	display: inline-block;
}

.l-useful-solution-item .e-link {
	padding: 0 0 0 190px;
	display: block;
	position: relative;
}

.l-useful-solution-item .e-image {
	width: 170px;
	position: absolute;
	top: 0;
	left: 0;
}

.l-useful-solution-item .e-text {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.75;
	padding: 5px 0 0;
	display: block;
}

.l-useful-solution-item .e-time {
	font-size: 1.4rem;
	margin: 0 20px 0 0;
	display: inline-block;
}

.l-useful-solution-item .e-area {
	color: #df2d32;
	font-size: 1.4rem;
	line-height: 1;
	text-align: center;
	width: 100px;
	padding: 5px 0 2px;
	display: inline-block;
	border: 1px solid #df2d32;
}





/* button */
.l-useful .e-button {
	text-align: center;
	margin: 0 0 20px;
	padding: 0 210px;
}

.l-useful .e-button .e-link {
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	padding: 15px 0;
	display: block;
	border-radius: 12px;
	background: #b3923a;
	position: relative;
}

.l-useful .e-button .e-link:after {
	content: '';
	width: 24px;
	height: 20px;
	display: inline-block;
	background: url(/contents/nishikawa-chain/global/img/arrow-white-right-02.png) no-repeat;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
}

.no-touch .l-useful .e-button .e-link:hover{
	background-color: #987323;
	opacity: 1;
}

.no-touch .l-useful .e-button .e-link:hover:after {
	margin: 0 -5px 0 0;
}

.l-useful .e-button.is-post .e-link {
	color: #b3923a;
	font-size: 1.8rem;
	padding-left: 30px;
	border: 2px solid #b3923a;
	background: #fff;
}

.no-touch .l-useful .e-button.is-post .e-link:hover {
	background-color: #f1f1f1;
}

.l-useful .e-button.is-post .e-link:before {
	content: '';
	width: 28px;
	height: 28px;
	margin: 0 10px 0 0;
	display: inline-block;
	background: url(/contents/nishikawa-chain/useful/img/icon-05.png) no-repeat center / 100% auto;
	position: absolute;
	transform: translate(-30px,-.25em);
}

.l-useful .e-button.is-post .e-link:after {
	display: none;
}


/* nor. style */
.l-news-inc {
	margin: 0 0 30px;
 padding: 50px 0 0;
}

.l-news-inc iframe {
	width: 100%;
	transform: translateY(-20px);
}




/* ----------------------------------------------------------------------
 * Solution
 * ---------------------------------------------------------------------- */
.l-solution-entry-main-title {
	font-size: 2.4rem;
	line-height: 1.5;
	text-align: center;
	margin: 1em 0 20px;
	position: relative;
}

.l-solution-entry-main-title:before {
	content: attr(caption);
	font-size: 1.6rem;
	position: absolute;
	top: -1.5em;
	left: 50%;
	transform: translateX(-50%);
}

.l-solution-entry-main-text {
	font-size: 1.6rem;
	line-height: 2.25;
	margin: 0 0 30px;
}

/* prof */
.l-solution-entry-prof {
	padding: 25px 25px 25px 255px;
	background: #f9f6f0;
	position: relative;
}

.l-solution-entry-prof .e-image {
	width: 200px;
	position: absolute;
	top: 25px;
	left: 25px;
}

.l-solution-entry-prof .e-title:before {
	content: attr(caption);
	color: #e23f44;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	width: 9em;
	margin: 0 10px 10px 0;
	padding: 7px 12.5px 5px;
	display: block;
	border: 2px solid #e23f44;
	border-radius: 50px;
}

.l-solution-entry-prof .e-title .e-shop {
	font-size: 1.6rem;
	margin: 0 15px 15px 0;
	display: inline-block;
}

.l-solution-entry-prof .e-title .e-name {
	font-size: 2.6rem;
	display: inline-block;
	transform: translateY(-.3em);
}

.l-solution-entry-prof .e-text {
	font-size: 1.6rem;
	line-height: 1.5;
	margin: 0 0 10px;
}

.l-solution-entry-prof .e-button .e-link {
	color: #b3923a;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	padding: 0 0 0 15px;
	display: inline-block;
	position: relative;
}

.l-solution-entry-prof .e-button .e-link:before {
	content: '';
	display: inline-block;
	border-style: solid;
	border-width: 4.5px 0 4.5px 6px;
	border-color: transparent transparent transparent #b3923a;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.l-solution-entry p {
	font-size: 1.6rem;
	line-height: 2.25;
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
	margin: 0 auto 20px;
}

.l-solution-entry p.solution001 {
	margin: 0 auto 120px;
}

.l-solution-entry p .marker{
	font-weight: normal;
	 background: linear-gradient(rgba(255,255,255,0) 60%, #FFFF00 60%);
}

/*
.l-solution-entry .e-question {
	font-weight: 700;
	padding-left: 110px;
	position: relative;
}

.l-solution-entry .e-question:before {
	content: '';
	width: 100px;
	height: 1px;
	display: inline-block;
	background: #000;
	position: absolute;
	top: 1em;
	left: 0;
}
*/

.l-solution-entry .e-question {
	color: #b3923a;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.75;
}

.l-solution-entry figure {
	margin: 0 0 60px;
	padding: 0 90px;
}

.l-solution-entry figure.solution001 {
	margin: 0 0 120px;
}

.l-solution-entry figure.solution001-2 {
	margin: 0 0 20px;
}

.l-solution-entry-comment {
	min-height: 100px;
	margin: 0 0 30px;
	padding: 0 0 0 120px;
	position: relative;
}

.l-solution-entry-comment:before {
	content: '';
	width: 100px;
	height: 100px;
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
	border-radius: 50%;
	position: absolute;
	top: .25em;
	left: 0;
}

.is-useful.is-solution .is-content-last .u-inner:after {
	width: 100%;
}

/* 目次 */
.l-solution-entry-menu {
	border: 1px solid #b3923a;
	overflow: hidden;
	margin-top: 40px;
	padding-bottom: 30px;
}
.l-solution-entry-menu.solution001 {
	margin: 0 auto 40px;
	max-width: 600px;
	padding-bottom: 15px;
}

.l-solution-entry-menu .e-title {
	background: #b3923a;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.5em;
	padding: 20px 0;
	text-align: center;
}

.l-solution-entry-menu .e-list {
	padding: 30px 30px 0;
}

.l-solution-entry-menu .e-list.solution001 {
	padding: 15px 30px 0;
}

.l-solution-entry-menu .e-list li {
	display: inline-block;
	line-height: 1.5;
	padding: 10px 1% 0 1.5em;
	position: relative;
	width: 49%;
}

.l-solution-entry-menu .e-list li:first-child {
	padding-top: 0;
}

.l-solution-entry-menu .e-list.type-clum_1 li {
	display: block;
	width: 100%;
}

.l-solution-entry-menu .e-list li:before {
	content: "・";
	display: block;
	left: 0;
	position: absolute;
}

.l-solution-entry-menu .e-list.solution001 li:before{
	display: none;
}

.l-solution-entry-menu .e-list.solution001 li a{
	text-decoration: underline;
}
.l-solution-entry-menu .e-list.solution001 li.ttl a{
	text-decoration: none;
}

.l-solution-entry-menu .e-list.solution001 li a:hover{
	text-decoration: none;
	color: #B3923A;
}

/* リスト */
.l-solution-entry-list {
	margin: 0 0 30px;
}
.l-solution-entry-list li {
	font-size: 1.6rem;
	line-height: 1.5;
	padding: 10px 0 0 1.5em;
	position: relative;
}
.l-solution-entry-list li:before {
	content: "・";
	display: block;
	left: 0;
	position: absolute;
}

.l-solution-entry-menu .e-list.solution001 li{
	font-size: 1.6rem;
	line-height: 1.5;
	padding: 5px 0 0 0;
	position: relative;
}

.l-solution-entry-menu .e-list.solution001 li.ttl{
	font-size: 2.0rem;
	line-height: 1.5;
}

.l-solution-entry-menu .e-list.solution001 li.ttl.mt{
	margin-top: 10px;
}


/* ふとんのお悩み解決室 */
.l-solution-list {
	padding: 0;
}

.l-solution-item {
	line-height: 1.75;
	letter-spacing: 0;
	width: 100%;
	min-height: 180px;
	display: inline-block;
}

.l-solution-item .e-link {
	padding-left: calc(100% / 4 + 30px);
	display: block;
	position: relative;
}

.l-solution-item .e-image {
	width: calc(100% / 4);
	position: absolute;
	top: 0;
	left: 0;
}

.l-solution-item .e-text {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.75;
	letter-spacing: .1em;
	padding: 10px 0 0;
	display: block;
}

.l-solution-item .e-time {
	font-size: 1.6rem;
	margin: 0 20px 0 0;
	display: inline-block;
}

.l-solution-item .e-prof {
	font-size: 1.6rem;
}

.l-solution-button {
	text-align: center;
}

.l-solution-button .e-button {
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .1em;
	min-width: 535px;
	padding: 15px 10px;
	display: inline-block;
	background: #b3923a;
	border-radius: 10px;
	cursor: pointer;
	transition: all .2s;
}

.no-touch .l-solution-button .e-button:hover {
	background-color: #987323;
	opacity: 1;
}




/* ----------------------------------------------------------------------
 * word
 * ---------------------------------------------------------------------- */
.is-word .u-page-menu.u-content {
	padding: 0;
}

.is-word .u-page-menu-item .e-link:before {
	top: 40%;
	transform: rotate(-90deg);
}

.l-word-list {
	
}

.l-word-list-items {
	letter-spacing: -.4em;
	margin: 0 -10px;
}

.l-word-list-item {
	font-size: 1.6rem;
	text-align: left;
	letter-spacing: 0;
	line-height: 1.6;
	margin-bottom: 15px;
	width: calc(100% / 3);
	padding: 0 10px;
	display: inline-block;
}

.l-word-list-item .e-link {
	display: inline-block;
	padding: 0 0 0 15px;
	position: relative;
}

.l-word-list-item .e-link:before {
	content: '';
	display: inline-block;
	border-style: solid;
	border-width: 4.5px 0 4.5px 6px;
	border-color: transparent transparent transparent #b3923a;
	position: absolute;
	top: .5em;
	left: 0;
}

.l-word-text p {
	font-size: 1.6rem;
	line-height: 2.25;
	text-align: justify;
	margin: 0 0 20px;
	word-break: break-all;
}

.l-word-text p img {
	border: 1px solid #eee;
}

.l-word-text p.__img_floatR img {
	float: right;
	margin-left: 40px;
}

.l-word-text p.__img_floatL img {
	float: left;
	margin-right: 40px;
}

.l-word-text p.__img_sizeL img {
	display: block;
	margin: 0 auto;
}

.l-word-text p .e-link {
	color: #b3923a;
	text-decoration: underline;
}

.l-word-text p .e-btn {
	color: #b3923a;
	text-decoration: underline;
	padding: 0 0 0 15px;
	display: inline-block;
	position: relative;
}

.l-word-text p .e-btn:before {
	content: '';
	display: inline-block;
	border-style: solid;
	border-width: 4.5px 0 4.5px 6px;
	border-color: transparent transparent transparent #b3923a;
	position: absolute;
	top: .8em;
	left: 0;
}

.l-word-text ruby {
  letter-spacing: 0;
	vertical-align: bottom;
}


/* ----------------------------------------------------------------------
 * add
 * ---------------------------------------------------------------------- */

.l-solution-entry-relation.sol01 {
	min-height: inherit;
	padding: 0;
	border: none;
	text-align: center;
}

.l-solution-entry-relation.sol01 .e-button .e-link {
	background: #b3923a url(/contents/nishikawa-chain/global/img/icon-blank-01.png) no-repeat left 22% center / 35px 35px;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	min-width: 700px;
	padding: 20px 0 20px 35px;
	border-radius: 50vh;
	display: inline-block;
	position: relative;
}


.no-touch .l-solution-entry-relation.sol01 .e-button .e-link:hover {
	background-color: #b3923a;
}



.balloon {
  position: relative;
  margin: 20px 0 0 15px;
  padding: 15px;
  font-size: 16px;
  background: #FFF;
  border: solid 2px #999;
  box-sizing: border-box;
}

.balloon p:last-child{
	margin-bottom: 0;
}

.balloon:before {
  content: "";
  position: absolute;
  top: 50px;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #FFF;
  z-index: 2;
}

.balloon:after {
  content: "";
  position: absolute;
   top: 50px;
  left: -29px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-right: 15px solid #999;
  z-index: 1;
}

.balloon2-left p {
  margin: 0;
  padding: 0;
}


.l-point-flowVideo {
 margin-top: 50px;
 text-align: center;
}

.l-point-flowVideo-text {
 margin-top: 15px;
}

.iframe_cover{
	position:relative;
	width:100%;
	height:0;
	margin: 0 auto 20px;
	max-width: 590px;
	padding-top:56%;
}

.iframe_cover iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.solution001-flex{
	margin-bottom: 60px;
	display: flex;
}

.solution001-flex .l-point-flowVideo {
	width: 48%;
	margin-right: 4%;
 	margin-top: 0;
 	text-align: center;
}

.solution001-flex .l-point-flowVideo:last-child{
	margin-right: 0;
}

.solution001-flex .l-point-flowVideo-text {
	margin-top: 0;
}

/* ----------------------------------------------------------------------
 * Global Button
 * ---------------------------------------------------------------------- */
.u-button {
 font-size: 2.0rem;
 line-height: 1.3;
 text-align: center;
 border: 2px solid #b3923a;
 border-radius: 10px;
 max-width: 330px;
 margin: 40px auto 0;
}
.u-button.is-bgRed {
 background-color: #df2d32 !important;
 border: none;
}

.u-button.is-iconPop span:after {
 background-image: url(/contents/nishikawa-chain/useful/img/icon-arrow-right.png);
 background-size: contain;
 background-repeat: no-repeat;
 content: "";
 display: block;
 height: 15px;
 width: 9px;
 position: absolute;
 right: 30px;
 top: calc(50% - 7px);
}

.u-button.is-iconPop.is-bgRed span:after {
 background-image: url(/contents/nishikawa-chain/about/specialty004/img/icon-arrow-right-white.png);
}

.u-button.is-iconPop span {
 padding: 0;
}

.u-button a,.u-button span {
	color: #b3923a;
	display: block;
	position: relative;
	cursor: pointer;
}
.u-button.is-bgRed a,
.u-button.is-bgRed span {
 color: #fff;
}

.u-button.is-iconBlank a,
.u-button.is-iconSerch a {
padding: 0;
}

.u-button.is-iconBlank span {
 display: inline-block;
 padding-left: 39px;
}

.u-button.is-iconBlank span:after {
 background: url(/contents/nishikawa-chain/global/img/icon-blank-01.png)  no-repeat center left / contain;
 content: "";
 display: block;
 height: 20px;
 width: 20px;
 position: absolute;
 left: 0;
 top: calc(50% - 10px);
}

.u-button.is-iconSerch span {
 display: inline-block;
 padding-left: 37px;
}

.u-button.is-iconSerch span:after {
 background: url(../img/icon_serch_blue.png) no-repeat center left / contain;
 content: "";
 display: block;
 height: 26px;
 width: 22px;
 position: absolute;
 left: 0;
 top: calc(50% - 13px);
}

.l-solution-entry-relation.space{
	margin-bottom: 30px;
}



/* ------------------------------------------------------------------------------------------------
 * MODAL 
 * ------------------------------------------------------------------------------------------------ */
#modal-main {
 background-color: #fff;
 display: none;
 max-width: 800px;
 width: 80%;
 height: auto;
 max-height: 80%;
 margin: 0;
 padding: 0;
 position:fixed;
 z-index: 9999;
 overflow-y: auto;
}

.modal-main-inner {
 padding: 60px 50px;
 position: relative;
}

.modal-main-inner:after {
	background: url(/contents/nishikawa-chain/about/specialty004/img/modal-close.png) no-repeat center / contain;
 content: "";
 display: block;
 height: 50px;
 width: 50px;
 position: absolute;
 right: 20px;
 top: 20px;
	cursor: pointer;
}

#modal-main h2 {
 color: #295aa6;
 font-size: 2.6rem;
 line-height: 1.2;
 text-align: center;
 margin-bottom: 30px;
}

#modal-main figure {
 overflow: hidden;
}

#modal-main figure p {
 width: 40%;
	text-align: center;
}

#modal-main figure span {
 display: block;
 margin-top: 10px;
}

#modal-main figure figcaption {
 float: right;
 width: 60%;
 line-height: 1.8;
 padding-left: 40px;
}

#modal-bg {
 display:none;
 width:100%;
 height:100%;
 background-color: rgba(0,0,0,0.85);
 position:fixed;
 top:0;
 left:0;
 z-index: 999;
}

/* ----------------------------------------------------------------------
 * CASE
 * ---------------------------------------------------------------------- */
.l-case {
 margin: 0 0 120px;
 padding: 0;
}

.l-case-note {
 text-align: right;
}

.l-case-inner.u-inner{
	padding: 0;
}

.l-case-block {
 margin: 40px auto 20px;
}


/* ----------------------------------------------------------------------
 * Add 2021 10/18
 * ---------------------------------------------------------------------- */

.l-solution-entry-supplement {
	background: #F9F6F0;
	border-radius: 20px;
	padding: 80px;
	margin: 0 0 30px;
	position: relative;
}

.l-solution-entry-supplement h2{
	margin: 0 0 30px;
	color: #BCA66F;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.75;
}

.l-solution-entry-supplement figure{
	margin: 0;
	padding: 50px 0 0;
}

.l-solution-entry-supplement p.caption{
	text-align: right;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.5;
}

.l-solution-entry-table{
	margin: 0 0 30px;
	padding-top: 50px;
}

.l-solution-entry-table h2{
	margin-bottom: 120px;
	color: #b3923a;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.75;
}

.l-solution-entry-table .flex{
	margin-bottom: 20px;
	width: 100%;
	display: flex;
	border-top: 1px #B3923A solid;
	border-left: 1px #B3923A solid;
}

.l-solution-entry-table .flex .flexCont{
	width : calc(100% / 3) ;
	box-sizing: border-box;
	border-right: 1px #B3923A solid;
	border-bottom: 1px #B3923A solid;
}

.l-solution-entry-table .flex .flexCont .head{
	background: #B3923A;
	padding: 30px 10px 10px;
	text-align: center;
	vertical-align: middle;
	color: #fff;
	
	position: relative;
}

.l-solution-entry-table .flex .flexCont .head figure{
	margin: 0;
	padding: 0;
	position: absolute;
	top: -100px;
	left: 50%;
	transform: translate(-50%, 0);
}

.l-solution-entry-table .flex .flexCont .head h3{
	margin: 0;
	font-size: 2.6rem;
	line-height: 1.5;
	color: #fff;
}

.l-solution-entry-table .flex .flexCont .head p{
	margin: 0;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.5;
	vertical-align: middle;
}

.l-solution-entry-table .flex .flexCont .head p span{
	margin: 0;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.5;
}

.l-solution-entry-table .flex .flexCont .cont{
	padding: 30px;
	font-size: 1.4rem;
	line-height: 1.3;
	font-weight: normal;
}

.l-solution-entry-table .flex .flexCont .cont p{
	font-size: 1.4rem;
	line-height: 1.3;
	font-weight: normal;
}

.l-solution-entry-table ul{
	padding: 0;
	margin: 0 0 60px;
}

.l-solution-entry-table ul li{
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: normal;
	text-indent: -1em;
	padding-left: 1em;
}

figure.modalKey{
	padding: 0;
}



.modalContent {
	display: none;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100vh;
	z-index: 100;
}
.overlay {
	width: 100%;/* 黒背景も画面いっぱいに */
	height: 100vh;/* 黒背景も画面いっぱいに */
	background-color: rgba(255, 255, 255, 0.75);
}

.modal {
	position: absolute;
	background-color: #fff;
	border: 6px solid #B3923A;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80%;
	box-sizing: border-box;
	padding: 20px;
	height: auto;
	z-index: 100;
}

.modal figure{
	padding: 0;
	margin: 0;
}

.modal__close{
	position: absolute;
	top: -24px;
	right: -24px;
	width: 48px;
	height: 48px;
}

