@charset "utf-8";




/* ------------------------------------------------------------------------------------------------
 * RESPONSIVE
 * ------------------------------------------------------------------------------------------------ */




@media screen and (max-width:1023px) {
/* ----------------------------------------------------------------------
 * POINT
 * ---------------------------------------------------------------------- */

/*FLOW*/
 .l-point-flow {
  margin: 0 -10px;
 }
 
} /* END RESPONSIVE 1079x */



@media screen and (max-width:767px) {
/* ----------------------------------------------------------------------
 * GLOBAL - UTILITY
 * ---------------------------------------------------------------------- */
 .u-content {
  margin: 0 0 80px;
  padding: 80px 0 0;
 }

 .u-content.u-content-bg {
  margin: 0;
  padding: 80px 0;
 }
	
	
	
/* ----------------------------------------------------------------------
 * Global Title
 * ---------------------------------------------------------------------- */
 .u-content-title {
  margin-bottom: 30px;
 }

 .u-content-head {
  font-size: 2.2rem;
  line-height: 1.5;
  text-align: left;
  margin-bottom: 10px;
 }
 
 .u-content-lead {
  font-size: 1.5rem;
  margin-bottom: 10px;
 }

 .u-content-note {
  font-size: 1.3rem;
 }
	
	
	
/* ----------------------------------------------------------------------
 * Global Button
 * ---------------------------------------------------------------------- */
 .u-button {
  font-size: 1.4rem;
  border-radius: 25px;
  width: 100%;
  margin: 30px auto 0;
 }

 .u-button.is-iconPop span:after {
  right: 20px;
 }

 .u-button.is-iconPop span {
  padding: 16px 35px 16px 30px;
 }

 .u-button.is-iconBlank a,
 .u-button.is-iconSerch a {
  padding: 16px 20px;
 }

 .u-button.is-iconBlank span {
  padding-left: 27px;
 }

 .u-button.is-iconBlank span:after {
  height: 14px;
  width: 17px;
  top: calc(50% - 7px);
 }

 .u-button.is-iconSerch span {
  padding-left: 27px;
 }

 .u-button.is-iconSerch span:after {
  height: 20px;
  width: 17px;
  top: calc(50% - 10px);
 }
 

	
	
/* ----------------------------------------------------------------------
 * LAYOUT
 * ---------------------------------------------------------------------- */
	.g-container {
		font-size: 1.4rem;
		min-width: 0;
  overflow: hidden;
  top: 50px;
  padding-bottom: 50px;
	}
	
	
	
/* ----------------------------------------------------------------------
 * Shop Search
 * ---------------------------------------------------------------------- */

	
	
/* ----------------------------------------------------------------------
 * Content last line
 * ---------------------------------------------------------------------- */

	
	
/* ----------------------------------------------------------------------
 * page menu
 * ---------------------------------------------------------------------- */


	
/* ----------------------------------------------------------------------
 * KEY VISUAL
 * ---------------------------------------------------------------------- */
 .is-about.is-umofuton_reform .l-kv {
  /*background-image: url(../img/kv-bg@media.jpg);*/
  background-image: url(../img/kv-bg2@media.jpg);
		height: 315px;
	}
 
 .is-about.is-umofuton_reform .l-kv-title {
  padding: 0;
 }
 
 .is-about.is-umofuton_reform .l-kv-title img {
  max-height: 255px;
 }



/* ----------------------------------------------------------------------
 * MENU
 * ---------------------------------------------------------------------- */
 .l-menu {
  text-align: left;
  padding-bottom: 15px;
 }

 .l-menu-items {
  margin: 0;
  padding: 28px 0;
 }

 .l-menu-item {
  display: block;
  padding: 2px 0;
  width: 100%;
 }

 .l-menu-item .e-link {
  padding: 15px;
 }

 .l-menu-item .e-link span {
  position: relative;
  padding-left: 1.5em;
 }

 .l-menu-item .e-link span:after {
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 7px solid #295aa6;
  position: absolute;
  margin: 0;
  top: 0.5em;
  left: 0;
 }



/* ----------------------------------------------------------------------
 * CHECK
 * ---------------------------------------------------------------------- */
 .l-check.u-content.u-content-bg {
  padding: 0;
 }

 .l-check .u-inner {
  padding: 0;
 }

 .l-check-block {
  padding: 40px 25px;
 }

 .l-check-block-inner {
  padding: 40px 20px 20px;
 }

 .l-check-title {
  margin-bottom: 15px;
  padding-bottom: 20px;
 }

 .l-check-list {
  margin-bottom: 20px;
 }

 .l-check-list ul {
  letter-spacing: 0;
  margin: 0;
 }

 .l-check-list li {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  display: block;
  width: 100%;
  margin-top: 30px;
  padding: 0;
 }
 
 .l-check-list li span {
  padding-left: 30px;
 }

 .l-check-list li span:before {
  height: 20px;
  width: 20px;
 }

 .l-check-result {
  margin-top: -60px;
  padding-top: 90px;
 }

 .l-check-result-block {
 }

 .l-check-result-block-inner {
  padding: 20px 20px 0;
 }

 .l-check-result-block .e-text {
  line-height: 1.8;
  display: block;
  width: 100%;
 }

 .l-check-result-block .e-text b {
  font-size: 1.8rem;
  margin-bottom: 5px;
 }

 .l-check-result-block .e-img {
  position: relative;
  right: 0;
  bottom: 0;
  width: 40%;
  margin: 20px auto 0;
 }

 .l-result-button {
  width: 90%;
  margin: 30px auto;
 }


/* ----------------------------------------------------------------------
 * POINT
 * ---------------------------------------------------------------------- */
 .l-point.u-content {
  margin-bottom: 0;
 }
 
 .l-point-text {
  font-size: 1.6rem;
 }
 
 
/*ABOUT*/
 .l-point-about-img {
  height: calc(100% + 30px);
  width: calc(100% + 30px);
  position: relative;
  right: 0;
  left: -30px;
 }

 .l-point-about-img:after {
  position: absolute;
  top: 30px;
  left: 30px;
 }

 .l-point-about-block {
  padding-top: 65px;
  padding-left: 0;
 }
 
 
 /*MAIN*/
 .l-point-main-head {
  font-size: 2.2rem;
 }

 .l-point-main-head:before {
  font-size: 6.8rem;
  background-size: 9px auto;
  padding-left: 24px;
 }

 .l-point-main-head span {
  display: block;
  margin-left: 0;
 }

.point01 .l-point-main-item {
  margin-top: 50px;
 }

 .point01 .l-point-main-item:first-child {
  margin-top: 40px;
 }

 .point01 .l-point-main-item .e-img {
  float: none;
  width: 100%;
 }
 .point01 .l-point-main-item:nth-child(2) .e-img {
  float: none;
 }

 .point01 .l-point-main-item div {
  float: none;
  width: 100%;
  margin-bottom: 20px;
  padding-left: 0;
 }
 .point01 .l-point-main-item:nth-child(2) div {
  float: none;
  padding-right: 0;
 }

 .point01 .l-point-main-item div:before {
  background-position: center;
  height: 45px;
  width: 196px;
  margin: 0 auto 10px;
 }

 .point01 .l-point-main-item .e-copy {
  font-size: 2.0rem;
 }

 .point01 .l-point-main-item .e-text {
  font-size: 1.5rem;
 }


/*FLOW*/
 .l-point-flow {
  margin: 0 -10px;
 }

 .l-point-flow-time {
  text-align: left;
  background: none;
  margin: 30px 0 0;
 }

 .l-point-flow-time span {
  font-size: 1.5rem;
  display: block;
  padding: 0;
  margin: 0;
 }
 .l-point-flow-time span.is-pc {
  display: none;
 }
 .l-point-flow-time span.is-media {
  display: block;
 }

 .l-point-flow-box {
  width: 50%;
  padding: 30px 10px 0;
 }

 .l-point-flow-box figure:before {
  font-size: 1.6rem;
  line-height: 30px;
  border-radius: 30px;
  height: 30px;
  width: 30px;
  left: -10px;
  top: -10px;
 }

 .l-point-flow-box figure p:after,
 .l-point-flow-box figure p:before {
  border-bottom: 9px solid transparent;
  border-top: 9px solid transparent;
  border-left: 9px solid #cb9e68;
  top: calc(50% - 6px);
 }
 .l-point-flow-box figure p:after {
  right: -14px;
 }
 .l-point-flow-box:nth-child(4) figure p:after {
  display: block;
 }
 .l-point-flow-box:last-child figure p:after {
  display: none !important;
 }
 .l-point-flow-box figure p:before {
  left: -14px;
 }
 .l-point-flow-box:nth-child(5) figure p:before {
  display: none;
 }

 .l-point-flow-box figure p img {
  border: 2px solid #cb9e68;
 }

 .l-point-flow-box figcaption {
  font-size: 1.4rem;
  text-align: left;
 }

 .l-point-flow-box figcaption span {
  vertical-align: top;
 }

 .l-point-flowVideo {
  margin-top: 40px;
 }

 .l-point-flowVideo iframe {
  height: 100%;
  width: 100%;
 }

 .l-point-flowVideo-text {
  font-size: 1.3rem;
  line-height: 1.3;
 }



/* ----------------------------------------------------------------------
 * ORIGINAL
 * ---------------------------------------------------------------------- */
 .l-original {
  margin-left: -25px;
  margin-right: -25px;
  padding: 80px 0;
 }

 .l-original-block-inner {
  padding: 0 25px;
 }

 .l-original-copy {
  font-size: 1.4rem;
  line-height: 1.3;
  text-align: center;
  padding: 20px 25px;
 }

 .l-original-copy b {
  font-size: 2.8rem;
 }

 .l-original-list {
  margin: 0 -10px;
 }

 .l-original-list figure {
  width: 50%;
  padding: 30px 10px 0;
 }

 .l-original-list figure .e-img {
  padding: 0;
 }

 .l-original-list figcaption span {
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: left;
 }

 .l-original-video {
  margin: 0;
 }

 .l-original-video figure {
  display: block;
  width: 100%;
  padding: 30px 0 0;
 }

 .l-original-video iframe {
  height: 100%;
  width: 100%;
 }

 .l-original-video figcaption {
  font-size: 1.3rem;
  line-height: 1.3;
 }



/* ----------------------------------------------------------------------
 * CASE
 * ---------------------------------------------------------------------- */
 .l-case {
  background-position: top center;
  background-size: 100% auto;
  margin: 0;
  padding: 80px 0;
 }

 .l-case-note {
  font-size: 1.3rem;
  line-height: 1.5;
  text-align: left;
 }

 .l-case-block {
  margin: 20px auto 10px;
 }


/* ----------------------------------------------------------------------
 * PRICE
 * ---------------------------------------------------------------------- */
 .l-price {
  background-position: top 55px center;
  background-size: 85% auto;
 }

 .l-price-items {
  margin: 30px 0;
 }

 .l-price-item {
  display: block;
  width: 100%;
  padding: 20px 0 0;
 }

 .l-price-item:first-child {
  padding-top: 0;
 }

 .l-price-item-inner {
  border-radius: 5px;
 }

 .l-price-item h3 {
  font-size: 1.6rem;
  line-height: 1.2;
  height: auto;
  padding: 20px 10px;
 }
 
 .l-price-item .e-price {
  padding: 15px;
 }

 .l-price-item .e-price b {
  margin-left: 0.8em;
 }

 .l-price-item .e-price b span {
  font-size: 3.2rem;
 }

 .l-price-item .e-data {
  font-size: 1.4rem;
  line-height: 1.5;
  padding: 0 20px 30px;
 }

 .l-price-item .e-data b {
  font-size: 1.3rem;
 }


 /*is-service*/
 .is-service.l-price-item h3 {
  font-size: 1.6rem;
 }

 .is-service.l-price-item h3 span {
  background-size: 21px auto;
  padding-left: 31px; 
 }

 .is-service.l-price-item .e-data ul {
  background-position: right 10px bottom;
  font-size: 1.6rem;
  line-height: 1.5;
 }

 .is-service.l-price-item .e-data ul li {
  background-size: 16px auto;
  padding-left: 26px; 
 }

 .is-service.l-price-item .e-data .e-memo {
  font-size: 1.5rem;
  line-height: 1.3;
 }



/* ----------------------------------------------------------------------
 * PRICE
 * ---------------------------------------------------------------------- */
 .l-coment {
  padding: 25px;
 }
 
 .l-coment-inner {
  padding: 20px 15px 0;
 }

 .l-coment-img {
  width: 40%;
  position: relative;
  right: 0;
  bottom: 0;
  top: 25px;
  margin: -25px auto 0;
 }

 .l-coment-text {
  font-size: 1.7rem;
  line-height: 1.6;
  margin-bottom: 10px;
  padding-left: 0;
 }



/* ----------------------------------------------------------------------
 * OTHER
 * ---------------------------------------------------------------------- */
 .l-other-block {
   margin-top: 60px
 }

 .l-other-head {
  font-size: 2.0rem;
  left: 15px;
  margin-bottom: 40px;
  padding-left: 20px;
 }

 .l-other-head:before {
  width: 40px;
  left: -40px;
 }

 .l-other-menu {
  font-size: 1.3rem;
  border-spacing: 20px 0;
  width: calc(100% + 40px);
  margin: 0 -20px;
 }

 .l-other-menu.is-fotter {
  margin-top: 40px;
 }

 .l-other-menu li {
  background-position: center left 15px;
  background-size: 12px auto;
 }
 
 .l-other-menu li .e-link {
  line-height: 50px;
  padding-left: 12px;
 }
 
 /*VOICE*/
 .l-voice-items {
  margin: 0;
 }

 .l-voice-item {
  display: block;
  width: 100%;
  padding: 0 0 30px;
 }

 .l-voice-item .e-number {
  font-size: 3.0rem;
  padding: 30px 20px 10px;
 }

 .l-voice-item .e-number span {
  height: 24px;
 }

 .l-voice-item .e-number span:before {
  height: 24px;
  width: 104px;
 }

 .l-voice-item .e-text {
  font-size: 1.5rem;
  line-height: 2.5;
  padding: 0 20px 5px;
  background: url(../img/voice-bg-line@media.png) repeat-y top / 100% auto;
 }


 /*FAQ*/
 .l-other-head + .l-faq-block {
  margin-top: 20px;
 }
 .l-faq-block {
  margin-top: 100px;
 }

 .l-faq-block {
  margin-top: 60px;
 }

 .l-faq-title {
  border-left: 5px solid #427abe;
  font-size: 1.6rem;
  padding: 0.5em 0 0.5em 20px;
  margin-bottom: 10px;
 }

 .l-faq-qa .e-title {
  font-size: 1.5rem;
  padding: 30px 0;
 }

 .l-faq-qa .e-title p {
  padding-left: 50px;
  padding-right: 25px;
 }

 .l-faq-qa .e-title p:before {
  font-size: 1.7rem;
  line-height: 33px;
  height: 35px;
  width: 35px;
 }

 .l-faq-qa .e-title span:before {
  width: 15px;
 }

 .l-faq-qa .e-title span:after {
  width: 15px;
 }

 .l-faq-qa .e-content {
  font-size: 1.3rem;
  line-height: 1.8;
  padding: 30px;
  width: calc(100% + 50px);
  margin: -1px -25px 0;
 }
 
 .l-faq-qa .e-content p {
  padding-left: 50px;
 }

 .l-faq-qa .e-content p:before {
  font-size: 1.7rem;
  line-height: 33px;
  height: 35px;
  width: 35px;
 }



/* ----------------------------------------------------------------------
 * SEARCH
 * ---------------------------------------------------------------------- */
 .l-search {
  background-image: url(../img/search-bg@media.jpg);
 }

 .l-search-title {
  font-size: 2.2rem;
  margin-bottom: 10px;
 }
 
 .l-search-lead {
  text-align: left;
 }

 .l-search-button {
  font-size: 1.4rem;
  line-height: 50px;
  /*width: 80%;*/
  width: 90%;
  margin-bottom: 20px;
 }

 .l-search-button span:before {
  height: 16px;
  width: 13px;
 }
	
	
	
/* ------------------------------------------------------------------------------------------------
 * SEARCH
 * ------------------------------------------------------------------------------------------------ */
 /*.g-header-search-btn {
  font-size: 1.0rem;
  letter-spacing: 0.1em;
  line-height: 1;
  height: 60px;
  width: 60px;
 }
 
 .is-search-open .g-header-search-btn {
  display: table;
 }
 
 .g-header-search-btn p {
  display: table-cell;
  vertical-align: middle;
 }
 
 .g-header-search-btn p span {
  padding-left: 0;
 }
 
 .g-header-search-btn p span:before {
  display: block;
  position: relative;
  top: 0;
  margin: 0 auto 0.5em;
 }
 
 .is-search-open .g-header-search-btn p span:before {
  height: 25px;
  width: 22px;
  top: 0;
 }
 
 .is-search-open .g-header-search {
  overflow-y: auto;
 }
 
 .g-header-search-inner {
  padding: 100px 25px;
 }

 .g-header-search-title {
  font-size: 2.2rem;
 }

 .g-header-search-text {
  text-align: left;
 }
 
 .g-header-search-item {
  width: calc(100% / 3);
  padding-bottom: 50px;
 }
 
 .g-header-search-item .e-child p {
  font-size: 1.6rem;
  line-height: 1.3;
  margin-bottom: 10px;
  padding-bottom: 0.5em;
 }*/

	
	
/* ------------------------------------------------------------------------------------------------
 * Footer
 * ------------------------------------------------------------------------------------------------ */
 .is-about.is-umofuton_reform .g-footer-logo {
   min-height: 0;
   background: #fff;
  }

 .is-about.is-umofuton_reform .g-footer-logo .e-logo {
  position: relative;
		top: auto;
		left: auto;
		transform: none;
	}
 


/* ------------------------------------------------------------------------------------------------
 * MODAL 
 * ------------------------------------------------------------------------------------------------ */
 #modal-main {
  width: 90%;
  max-height: 90%;
 }

 .modal-main-inner {
  padding: 50px 20px;
 }

 .modal-main-inner:after {
  height: 40px;
  width: 40px;
  right: 10px;
  top: 10px;
 }

 #modal-main h2 {
  font-size: 2.0rem;
  margin-bottom: 20px;
 }

 #modal-main figure p {
  width: 80%;
  margin: 15px auto 0;
 }

 #modal-main figure figcaption {
  font-size: 1.4rem;
  line-height: 1.5;
  float: none;
  width: 100%;
  padding-left: 0;
 }
}


 
@media screen and (max-width:666px) {
 .l-voice-item-inner {
  background: url(../img/voice-bg-fotter@media.png) no-repeat bottom center / contain;
  padding-bottom: 85px;
 }
} /* END RESPONSIVE 666px */




/* 2025.01.追記 */
@media screen and (max-width:1023px) {
/* ----------------------------------------------------------------------
 * WORRIES
 * ---------------------------------------------------------------------- */

/* ----------------------------------------------------------------------
 * DIAGNOSIS
 * ---------------------------------------------------------------------- */
	.l-diagnosis-text {
		white-space: normal;
	}
}


@media screen and (max-width:767px) {
/* ----------------------------------------------------------------------
 * WORRIES
 * ---------------------------------------------------------------------- */
	.l-worries {
		padding: 80px 0;
	}
	.l-worries-inner {

	}

/* ----------------------------------------------------------------------
 * DIAGNOSIS
 * ---------------------------------------------------------------------- */
	.l-diagnosis {
		padding: 80px 0;
	}

	.l-diagnosis-text {
		font-size: 1.5rem;
		line-height: 2.5;
		text-align: left;
	}

	.l-diagnosis-text em {
		padding: .25em .5em;
	}
}


/* 2025.11.追記 */
@media screen and (max-width:1199px) {
/* ----------------------------------------------------------------------
 * SHOP LP
 * ---------------------------------------------------------------------- */
	.c-shoplpHeader__name {
		font-size: 2.5rem;
	}
	
	.is-scroll .c-shoplpHeader__name {
		padding: 0 200px;
	}
	
	.c-shoplpHeader__tel {
		font-size: 2.6rem;
		right: 20px;
	}
	
	.c-shoplpFooter .c-shoplpHeader__name {
		font-size: 2rem !important;
		padding: 0 240px !important;
	}
} /* END RESPONSIVE 1199px */


@media screen and (max-width:767px) {
/* ----------------------------------------------------------------------
 * SHOP LP
 * ---------------------------------------------------------------------- */
	.c-actionButton__buttonShop a {
		width: 100%;
		min-width: 0;
	}
	
	.c-actionButton__buttonShop a em {
		font-size: 1.8rem;
		line-height: 1.35;
	}
	
	.c-shoplpHeader__tel {
		font-size: 1.4rem;
		right: 10px !important;
	}
	
	.c-shoplpHeader__tel:before {
		display: none;
	}
	
	.c-shoplpHeader__tel a {
		text-indent: -9999px;
		width: 42px;
		height: 42px;
		display: inline-block;
		border-radius: 3px;
		background: #c4aa65 url("/contents/nishikawa-chain/shops/icon-tel.png") no-repeat center / 70% auto;
		overflow: hidden;
	}
	
	.c-shoplpFooter {
		text-align: center;
		padding: 0 0 30px;
		display: block;
	}
	
	.c-shoplpHeader__name {
		font-size: 1.8rem !important;
		letter-spacing: 0;
		padding: 0 60px 0 10px !important;
		top: calc(50% + .1em);
	}
	
	.c-shoplpHeader__name small {
		font-size: 1rem !important;
		letter-spacing: 0;
		margin-top: .4em;
	}
	
	.c-shoplpFooter .c-shoplpHeader__name {
		font-size: 2.4rem !important;
		max-width: none;
		padding: 0 20px !important;
		position: relative;
		top: auto;
		left: auto;
		transform: none;
	}
	
	.c-shoplpFooter .c-shoplpHeader__name small {
		font-size: 1.4rem !important;
		margin-top: .5em;
	}
	
	.c-shoplpFooter .c-shoplpHeader__tel {
		font-size: 2.6rem;
		margin: 15px 0 0;
		position: relative;
		top: auto;
		right: auto !important;
		transform: none;
	}
	
	.c-shoplpFooter .c-shoplpHeader__tel a {
		line-height: 1;
		text-indent: 0;
		width: auto;
		height: auto;
		padding-left: 1.5em;
		background: none;
		overflow: visible;
		position: relative;
	}
	
	.c-shoplpFooter .c-shoplpHeader__tel a:before {
		content: '';
		width: 1.25em;
		height: 1.25em;
		display: inline-block;
		border-radius: 3px;
		background: #c4aa65 url("/contents/nishikawa-chain/shops/icon-tel.png") no-repeat center / 65% auto;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0,-50%);
	}
	
	.c-actionButton__buttonShopTel {
		font-size: 3rem;
	}
	
	.c-actionButton__buttonShopTel a:before {
		font-size: 1.6rem;
		margin: 0 0 5px;
		display: block;
		text-align: center;
	}
} /* END RESPONSIVE 767px */