@charset "utf-8";




/* ----------------------------------------------------------------------
 * RESET
 * ---------------------------------------------------------------------- */
input,
textarea,
select,
option {
	font-family: 'Roboto', 'Noto Sans JP', sans-serif;
	font-weight: 500;
	margin: 0;
	padding: 0;
}

a {
 cursor: pointer;
}

img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
	/*-ms-interpolation-mode: bicubic;
	-webkit-interpolation-mode: bicubic;
	interpolation-mode: bicubic;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;*/
}



/* ----------------------------------------------------------------------
 * GLOBAL - UTILITY
 * ---------------------------------------------------------------------- */
.u-content {
	margin: 0 0 130px;
	padding: 130px 0 0;
	background-color: transparent;
}

.u-content.u-content-bg {
	margin: 0;
	padding: 130px 0;
}



/* ----------------------------------------------------------------------
 * GLOBAL - Font
 * ---------------------------------------------------------------------- */
.u-font-colorBlue {
	color: #295aa6;
}

.u-font-colorGold2 {
	color: #cb9e68;
}

.u-font-colorGray {
	color: #888;
}

.u-font-small {
 font-size: 78% !important;
}

.u-text-center  {
 text-align: center !important;
}

.u-text-left  {
 text-align: left !important;
}

.u-text-right  {
 text-align: right !important;
}



/* ----------------------------------------------------------------------
 * GLOBAL - Link
 * ---------------------------------------------------------------------- */



/* ----------------------------------------------------------------------
 * GLOBAL - Table
 * ---------------------------------------------------------------------- */



/* ----------------------------------------------------------------------
 * GLOBAL - Icon
 * ---------------------------------------------------------------------- */



/* ----------------------------------------------------------------------
 * GLOBAL - List
 * ---------------------------------------------------------------------- */



/* ----------------------------------------------------------------------
 * Global Title
 * ---------------------------------------------------------------------- */
.u-content-title {
 text-align: center;
 margin-bottom: 40px;
}

.u-content-head {
 font-size: 2.4rem;
 line-height: 1.25;
 margin-bottom: 20px;
}

.u-content-lead {
 font-size: 1.8rem;
 line-height: 2;
 margin-bottom: 20px;
}

.u-content-note {
 font-size: 1.4rem;
 line-height: 1.8;
}



/* ----------------------------------------------------------------------
 * Global Button
 * ---------------------------------------------------------------------- */
.u-button {
 font-size: 2.0rem;
 line-height: 1.3;
 text-align: center;
 border: 1px solid #427abe;
 border-radius: 30px;
 max-width: 500px;
 margin: 40px auto 0;
}
.u-button.is-bgRed {
 background-color: #df2d32 !important;
 border: none;
}

.u-button.is-iconPop span:after {
 background-image: url(../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(../img/icon-arrow-right-white.png);
}

.u-button.is-iconPop span {
 padding: 17px 50px 17px 30px;
}

.u-button a,
.u-button span {
 color: #427abe;
 display: block;
 position: relative;
}
.u-button.is-bgRed a,
.u-button.is-bgRed span {
 color: #fff;
}

.u-button.is-iconBlank a,
.u-button.is-iconSerch a {
 padding: 17px 20px;
}

.u-button.is-iconBlank span {
 display: inline-block;
 padding-left: 39px;
}

.u-button.is-iconBlank span:after {
 background: url(../img/icon_blank_blue.png) no-repeat center left / contain;
 content: "";
 display: block;
 height: 19px;
 width: 24px;
 position: absolute;
 left: 0;
 top: calc(50% - 9px);
}

.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);
}



/* ----------------------------------------------------------------------
 * margin
 * ---------------------------------------------------------------------- */



/* ----------------------------------------------------------------------
 * LAYOUT
 * ---------------------------------------------------------------------- */
.g-container {
	font-size: 16px;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', 'Roboto', sans-serif;
	font-weight: 400;
	-webkit-font-feature-settings: 'pkna';
	-moz-font-feature-settings: 'pkna';
	font-feature-settings: 'pkna';
	line-height: 1;
	letter-spacing: .05em;
 
	background-color: #fff;
	position: relative;
	top: 124px;
	padding-bottom: 124px;
}



/* ----------------------------------------------------------------------
 * Shop Search
 * ---------------------------------------------------------------------- */



/* ----------------------------------------------------------------------
 * Content last line
 * ---------------------------------------------------------------------- */



/* ----------------------------------------------------------------------
 * page menu
 * ---------------------------------------------------------------------- */



/* ----------------------------------------------------------------------
 * KEY VISUAL
 * ---------------------------------------------------------------------- */
.is-about.is-umofuton_reform .l-kv {
 text-align: center;
 /*background-image: url(../img/kv-bg.jpg);*/
 background-image: url(../img/kv-bg2.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
 display: table;
	max-height: 550px;
 width: 100%;
 padding: 50px;
}

.is-about.is-umofuton_reform .l-kv-inner {
 display: table-cell;
 vertical-align: middle;
}

.is-about.is-umofuton_reform .l-kv-title:before {
 display: none;
}



/* ----------------------------------------------------------------------
 * MENU
 * ---------------------------------------------------------------------- */
.l-menu {
 text-align: center;
 background: #427abe;
 padding-bottom: 50px;
}

.l-menu-items {
 letter-spacing: -.5em;
 margin: 0 -3px;
}

.l-menu-item {
 letter-spacing: 0;
 display: inline-block;
 padding: 20px 3px;
 width: 25%;
}

.l-menu-item .e-link {
 color: #295aa6;
 font-weight: bold;
 line-height: 1.5;
 background: #fff;
 border-radius: 5px;
 display: block;
 padding: 12px;
}


.l-menu-item .e-link span:after {
 border-left: 9px solid transparent;
 border-right: 9px solid transparent;
 border-top: 9px solid #295aa6;
 content: "";
 display: block;
 height: 0;
 width: 0;
 margin: 0.3em auto 0;
}



/* ----------------------------------------------------------------------
 * CHECK
 * ---------------------------------------------------------------------- */
.l-check {
 background: #f4f4f4;
}

.l-check-block {
 background: url(../img/check-bg.png) repeat-y top center / contain;
 padding: 15px;
}

.l-check-block-inner {
 background: #fff;
 padding: 40px 70px 20px;
}

.l-check-title {
 border-bottom: 1px solid #ddd;
 margin-bottom: 30px;
}

.l-check-list {
 margin-bottom: 40px;
}

.l-check-list ul {
 letter-spacing: -.5em;
 margin: 0 -10px;
}

.l-check-list li {
 font-size: 2.0rem;
 letter-spacing: 0;
 line-height: 1.5;
 display: inline-block;
 width: 50%;
 margin-top: 20px;
 padding: 0 10px;
}

.l-check-list li span {
 letter-spacing: 0.05em;
 display: inline-block;
 position: relative;
 padding-left: 41px;
}

.l-check-list li span:before {
 background: url(../img/icon_check.png) no-repeat left / cover;
 content: "";
 display: inline-block;
 height: 26px;
 width: 26px;
 position: absolute;
 left: 0;
 top: 0.1em;
}

.l-check-list li.checked span:before {
 background-image: url(../img/icon_check_on.png);
}

.l-check-result {
 margin-top: -60px;
 padding-top: 100px;
}

.l-check-result-block {
 background-color: #f4f4f4;
}

.l-check-result-block-inner {
 display: table;
 width: 100%;
 min-height: 220px;
 position: relative;
 padding: 50px;
}

.l-check-result-block .e-text {
 font-size: 1.4rem;
 line-height: 2;
 display: table-cell;
 vertical-align: middle;
 width: 70%;
}

.l-check-result-block .e-text b {
 font-size: 2.2rem;
 line-height: 1.5;
 display: block;
 margin-bottom: 10px;
}

.l-check-result-block .e-img {
 position: absolute;
 right: 80px;
 bottom: 0;
}

.l-result-button {
 max-width: 600px;
 margin: 40px auto;
}



/* ----------------------------------------------------------------------
 * POINT
 * ---------------------------------------------------------------------- */
.l-point-text {
 font-size: 1.8rem;
 line-height: 2;
}

/*ABOUT*/
.l-point-about {
 position: relative;
 margin-top: 60px;
}

.l-point-about-img {
 height: 342px;
 width: 480px;
 position: absolute;
 right: calc(58% + 40px);
 top: 0;
}

.l-point-about-img img {
 width: 100%;
 position: relative;
 z-index: 1;
}

.l-point-about-img:after {
 background: #d9e4f2;
 content: "";
 display: block;
 height: 100%;
 width: 100%;
 position: absolute;
 top: 40px;
 left: 40px;
}

.l-point-about-block {
 padding-left: 47%;
}

/*MAIN*/
.l-point-main-block {
 margin-top: 80px;
}

.l-point-main-head {
 font-size: 2.6rem;
}

.l-point-main-head:before {
 font-family: "ROBOTO";
 font-size: 9.0rem;
 font-weight: bold;
 letter-spacing: 0;
 line-height: 1;
 display: inline-block;
 background: url(../img/point01-icon.png) no-repeat left / 12px auto;
 vertical-align: middle;
 padding-left: 27px;
}
.point01 .l-point-main-head:before {
 content: "01";
}
.point02 .l-point-main-head:before {
 content: "02";
}
.point03 .l-point-main-head:before {
 content: "03";
}

.l-point-main-head span {
 display: inline-block;
 vertical-align: middle;
 margin-left: 0.8em;
}

.point01 .l-point-main-item {
 overflow: hidden;
 margin-top: 60px;
}

.point01 .l-point-main-item:first-child {
 margin-top: 0;
}

.point01 .l-point-main-item .e-img {
 float: left;
 width: 43%;
}
.point01 .l-point-main-item:nth-child(2) .e-img {
 float: right;
}

.point01 .l-point-main-item div {
 float: right;
 width: 57%;
 padding-left: 50px;
}
.point01 .l-point-main-item:nth-child(2) div {
 float: left;
 padding-left: 0;
 padding-right: 50px;
}

.point01 .l-point-main-item div:before {
 background-position: left;
 background-repeat: no-repeat;
 background-size: 100% auto;
 content: "";
 display: block;
 height: 50px;
 width: 218px;
 margin-bottom: 20px;
}
.point01 .l-point-main-item:nth-child(1) div:before {
 background-image: url(../img/point01-copy-1.png);
}
.point01 .l-point-main-item:nth-child(2) div:before {
 background-image: url(../img/point01-copy-2.png);
}
.point01 .l-point-main-item:nth-child(3) div:before {
 background-image: url(../img/point01-copy-3.png);
}

.point01 .l-point-main-item .e-copy {
 font-size: 2.2rem;
 letter-spacing: 0.1em;
 line-height: 1.5;
 margin-bottom: 10px;
}

.point01 .l-point-main-item .e-text {
 font-size: 1.8rem;
 line-height: 2;
}


/*FLOW*/
.l-point-flow {
 letter-spacing: -.5em;
 margin: 0 -15px;
}

.l-point-flow-time {
 text-align: center;
 background: url(../img/point-flow-time-bg.png) no-repeat center / 100%;
 margin-left: calc(25% + 60px);
 margin-right: 60px;
}

.l-point-flow-time span {
 font-size: 1.8rem;
 letter-spacing: 0.1em;
 background: #fff;
 display: inline-block;
 padding: 0 1em;
 margin: 0 auto;
}
.l-point-flow-time span.is-media {
 display: none;
}

.l-point-flow-box {
 letter-spacing: 0;
 display: inline-block;
 width: 25%;
 padding: 40px 15px 0;
}

.l-point-flow-box figure {
 position: relative;
}

.l-point-flow-box figure:before {
 color: #cb9e68;
 font-family: "ROBOTO";
 font-weight: bold;
 font-size: 2.2rem;
 line-height: 40px;
 text-align: center;
 background: #fff;
 border: 2px solid #cb9e68;
 border-radius: 40px;
 display: block;
 height: 40px;
 width: 40px;
 position: absolute;
 left: -18px;
 top: -18px;
 z-index: 1;
}
.l-point-flow-box:nth-child(1) figure:before {
 content: "1";
}
.l-point-flow-box:nth-child(2) figure:before {
 content: "2";
}
.l-point-flow-box:nth-child(3) figure:before {
 content: "3";
}
.l-point-flow-box:nth-child(4) figure:before {
 content: "4";
}
.l-point-flow-box:nth-child(5) figure:before {
 content: "5";
}
.l-point-flow-box:nth-child(6) figure:before {
 content: "6";
}
.l-point-flow-box:nth-child(7) figure:before {
 content: "7";
}
.l-point-flow-box:nth-child(8) figure:before {
 content: "8";
}

.l-point-flow-box figure p {
 position: relative;
 z-index: 0;
}

.l-point-flow-box figure p:after,
.l-point-flow-box figure p:before {
 border-bottom: 12px solid transparent;
 border-top: 12px solid transparent;
 border-left: 12px solid #cb9e68;
 content: "";
 display: block;
 height: 0;
 width: 0;
 margin: 0.3em auto 0;
 position: absolute;
 top: calc(50% - 12px);
}
.l-point-flow-box figure p:after {
 right: -22px;
}
.l-point-flow-box:nth-child(4) figure p:after,
.l-point-flow-box:last-child figure p:after {
 display: none;
}
.l-point-flow-box figure p:before {
 display: none;
 left: -22px;
}
.l-point-flow-box:nth-child(5) figure p:before {
 display: block;
}

.l-point-flow-box figure p img {
 border: 3px solid #cb9e68;
}

.l-point-flow-box figcaption {
 letter-spacing: -.025em;
 line-height: 1.5;
 text-align: center;
 display: table;
 width: 100%;
 margin-top: 10px;
}

.l-point-flow-box figcaption span {
 display: table-cell;
 vertical-align: middle;
}

.l-point-flow-box figcaption small {
 font-size: 65%;
 line-height: 1.5;
 display: block;
 margin-top: 5px;
}

.l-point-flowVideo {
 margin-top: 50px;
 text-align: center;
}

.l-point-flowVideo-text {
 margin-top: 15px;
}



/* ----------------------------------------------------------------------
 * ORIGINAL
 * ---------------------------------------------------------------------- */
.l-original {
 background: url(../img/original-bg.png) #fff repeat-y top center / contain;
 margin-top: 80px;
 padding: 60px 0;
}

.l-original-block {
 margin-top: 50px;
}

.l-original-block-inner {
 padding: 0 50px;
}

.l-original-copy {
 color: #fff;
 font-size: 1.8rem;
 font-weight: bold;
 letter-spacing: 0.1em;
 line-height: 60px;
 background: #427abe;
}

.l-original-copy b {
 color: #fffe9e;
 font-size: 2.6rem;
 vertical-align: baseline;
}

.l-original-list {
 letter-spacing: -.5em;
 margin: 0 -15px;
}

.l-original-list figure {
 letter-spacing: 0;
 display: inline-block;
 width: 33.3%;
 padding: 30px 15px 0;
}

.l-original-list figure .e-img {
 padding: 0 10px;
}

.l-original-list figure .e-name {
 text-align: center;
 border-top: 2px solid #427abe;
 border-bottom: 2px solid #427abe;
 padding: 10px 0;
}

.l-original-list figcaption {
 line-height: 1.5;
}

.l-original-list figcaption b,
.l-original-list figcaption span {
 display: block;
}

.l-original-list figcaption b {
 letter-spacing: 0.1em;
 margin-bottom: 5px;
}

.l-original-video {
 letter-spacing: -.5em;
 text-align: center;
 margin: 0 -15px;
}

.l-original-video figure {
 letter-spacing: 0;
 display: inline-block;
 width: 50%;
 padding: 30px 15px 0;
}

.l-original-video figcaption {
 margin-top: 15px;
}



/* ----------------------------------------------------------------------
 * CASE
 * ---------------------------------------------------------------------- */
.l-case {
 color: #fff;
 background: url(../img/case-bg.png) #427abe no-repeat top center;
 margin: 0;
 padding: 100px 0;
}

.l-case-note {
 text-align: right;
}

.l-case-block {
 margin: 40px auto 20px;
}



/* ----------------------------------------------------------------------
 * PRICE
 * ---------------------------------------------------------------------- */
.l-price {
 background: url(../img/price-bg.png) #f0f5fa no-repeat top 80px center;
}

.l-price-lead {
}

.l-price-items {
 letter-spacing: -.5em;
 margin: 50px -15px 0;
}

.l-price-item {
 letter-spacing: 0;
 text-align: center;
 display: inline-block;
 width: 50%;
 padding: 0 15px 30px;
}

.l-price-item-inner {
 background: #fff;
 border-radius: 10px;
 overflow: hidden;
 box-shadow: 10px 10px 15px rgba(0,0,0,0.05);
}

.l-price-item h3 {
 background: #427abe;
 color: #fff;
 font-size: 2.0rem;
 letter-spacing: 0.1em;
 line-height: 80px;
 height: 80px;
}

.l-price-item .e-price {
 font-weight: bold;
 padding: 20px;
}

.l-price-item .e-price small {
 font-size: 50%;
 vertical-align: super;
}

.l-price-item .e-price b {
 vertical-align: 0;
 margin-left: 1em;
}

.l-price-item .e-price b span {
 font-size: 4.4rem;
 vertical-align: 0;
}

.l-price-item .e-data {
 line-height: 1.8;
 text-align: left;
 padding: 0 40px 40px;
}

.l-price-item .e-data b {
 font-size: 1.4rem;
 line-height: 30px;
 border: 1px solid #295aa6;
 display: inline-block;
 margin-bottom: 10px;
 padding: 0 1em;
}

.l-price-item .e-data table {
 width: 100%;
}
.l-price-item .e-data table th {
 font-weight: normal;
 position: relative;
 width: 5.2em;
}
.l-price-item .e-data table th:after {
 content: "：";
 position: absolute;
 right: 0;
}


/*is-service*/
.is-service.l-price-item h3 {
 background: #cb9e68;
 font-size: 2.4rem;
}

.is-service.l-price-item h3 span {
 background: url(../img/price-arrow-white.png) no-repeat left / 32px auto;
 padding-left: 42px; 
}

.is-service.l-price-item .e-data ul {
 background: url(../img/price-service-bg.png) no-repeat right bottom / auto 90%;
 font-size: 2.0rem;
 line-height: 2;
 padding: 20px;
}

.is-service.l-price-item .e-data ul li {
 background: url(../img/price-arrow-red.png) no-repeat left / 20px auto;
 padding-left: 35px; 
}

.is-service.l-price-item .e-data .e-memo {
 color: #cb9e68;
 font-size: 1.8rem;
 font-weight: bold;
 line-height: 1.5;
 text-align: center;
 background: #faf5f0;
 padding: 1em;
}



/* ----------------------------------------------------------------------
 * COMENT
 * ---------------------------------------------------------------------- */
.l-coment {
 color: #427abe;
 background: url(../img/coment-bg.png) no-repeat top center / cover;
 padding: 40px 0;
}

.l-coment-inner {
 background: #fff;
 padding: 50px 5%;
}

.l-coment-img {
 position: absolute;
 bottom: -40px;
 right: 70%;
 width: 20%;
}

.l-coment-text {
 font-size: 2.4rem;
 font-weight: bold;
 line-height: 1.8;
 text-align: center;
 padding-left: 30%;
}

.l-coment-text small {
 font-size: 70%;
 vertical-align: text-bottom;
}



/* ----------------------------------------------------------------------
 * OTHER
 * ---------------------------------------------------------------------- */
.l-other-block {
 margin-top: 80px
}

.l-other-head {
 font-size: 3.0rem;
 letter-spacing: 0.1em;
 position: relative;
 margin-bottom: 50px;
}

.l-other-head:before {
 background: #295aa6;
 content: "";
 height: 3px;
 width: 80px;
 position: absolute;
 left: -100px;
 top: 50%;
}

.l-other-menu {
 font-weight: bold;
 text-align: center;
 display: table;
 table-layout: fixed;
 border-collapse: separate;
 border-spacing: 30px 0;
 width: 60%;
 margin: 0 auto;
}

.l-other-menu.is-fotter {
 margin-top: 60px;
}

.l-other-menu li {
 background: url(../img/other-arrow-down.png) no-repeat center left 30px / 18px auto;
 display: table-cell;
 vertical-align: middle;
}

.l-other-menu.is-fotter li {
 background-image: url(../img/other-arrow-up.png);
}

.l-other-menu li .e-link {
 line-height: 60px;
 border: 2px solid #ddd;
 border-radius: 10px;
 display: block;
}

 
/*VOICE*/
.l-voice-items {
 letter-spacing: -.5em;
 margin: 0 -20px;
}

.l-voice-item {
 letter-spacing: 0;
 display: inline-block;
 width: 50%;
 padding: 0 20px 30px;
}

.l-voice-item-inner {
 background: url(../img/voice-bg-fotter.png) no-repeat bottom center / contain;
 padding-bottom: 108px;
}

.l-voice-item .e-number {
 font-family: 'Roboto';
 font-size: 4.0rem;
 font-weight: 900;
 border: 1px solid #cb9e68;
 border-bottom: none;
 padding: 40px 40px 15px;
 border-radius: 20px 20px 0 0;
}

.l-voice-item .e-number span {
 display: block;
 height: 32px;
}

.l-voice-item .e-number span:before {
 content: "";
 display: inline-block;
 background: url(../img/voice-icon.png) no-repeat left 0 center / 100% auto;
 height: 32px;
 width: 138px;
 margin-right: 10px;
}

.l-voice-item .e-text {
 font-size: 1.8rem;
 line-height: 2.55;
 background: url(../img/voice-bg-line.png) repeat-y top;
 border: 1px solid #cb9e68;
 border-bottom: none;
 border-top: none;
 padding: 0 40px 5px;
}

.l-voice-item .e-text b {
 text-align: right;
 display: block;
}

.l-voice-item .e-text span {
 background: #ffd9e4;
 margin: 0 0.2em;
 padding: 0 0.2em;
}


/*FAQ*/
.l-other-head + .l-faq-block {
 margin-top: 10px;
}
.l-faq-block {
 margin-top: 80px;
}

.l-faq-block {
 margin-top: 80px;
}

.l-faq-title {
 border-left: 10px solid #427abe;
 font-size: 2.4rem;
 font-weight: bold;
 letter-spacing: 0.1em;
 line-height: 1.5;
 padding: 0.3em 0 0.3em 30px;
}

.l-faq-qa .e-title {
 font-weight: bold;
 line-height: 1.5;
 border-bottom: 1px solid #eee;
 padding: 40px 30px;
 position: relative;
 cursor: pointer;
}

.l-faq-qa .e-title p {
 padding-left: 60px;
 position: relative;
}

.l-faq-qa .e-title p:before {
 color: #295aa6;
 font-size: 1.8rem;
 line-height: 38px;
 text-align: center;
 border: 1px solid #295aa6;
 border-radius: 40px;
 content: "Q";
 display: block;
 height: 40px;
 width: 40px;
 position: absolute;
 left: 0;
 top: -0.5em;
}

.l-faq-qa .e-title span:before {
 background: #ccc;
 content: "";
 width: 16px;
 height: 2px;
 position: absolute;
 top: 0.5em;
 right: 0;
 transition: all .3s ease-in-out;
 transform: rotate(90deg);
}

.l-faq-qa .e-title span:after {
 background: #ccc;
 content: "";
 width: 16px;
 height: 2px;
 position: absolute;
 top: 0.5em;
 right: 0;
 transition: all .2s ease-in-out;
}

.l-faq-qa .e-title.open span:before {
 transform: rotate(180deg);
}

.l-faq-qa .e-title.open span:after {
 opacity: 0;
}

.l-faq-qa .e-content {
 line-height: 2;
 background: #f5f8fc;
 position: relative;
 margin-top: -1px;
 padding: 40px 30px;
}

.l-faq-qa .e-content p {
 padding-left: 60px;
 position: relative;
}

.l-faq-qa .e-content p:before {
 color: #fff;
 font-size: 1.8rem;
 line-height: 40px;
 text-align: center;
 background: #295aa6;
 border-radius: 40px;
 content: "A";
 display: block;
 height: 40px;
 width: 40px;
 position: absolute;
 left: 0;
 top: -0.5em;
}



/* ----------------------------------------------------------------------
 * SEARCH
 * ---------------------------------------------------------------------- */
.l-search {
 color: #fff;
 text-align: center;
 background: url(../img/search-bg.jpg) no-repeat top center / cover;
}

.l-search-inner {
 padding-top: 70px;
 padding-bottom: 70px;
}

.l-search-title {
 font-size: 3.0rem;
 letter-spacing: 0.1em;
 line-height: 1.5;
 margin-bottom: 20px; 
}

.l-search-button {
 font-size: 2.0rem;
 line-height: 60px;
 /*border: 1px solid #fff;*/
 border-radius: 30px;
 background: #fff;
 max-width: 500px;
 margin: 30px auto 0;
 transition: all .2s;
 cursor: pointer;
}

.l-search-button.l-search-button__buttonShop {
	display: none;
}

.is-shoplp_name .l-search-button {
	display: none;
}

.is-shoplp_name .l-search-button.l-search-button__buttonShop {
	display: block !important;
}

.l-search-button:hover {
 background: rgba(255, 255, 255, 0.8);
}

.l-search-button a {
 color: #427abe;
 display: block;
 font-weight: bold;
}

.l-search-button span {
 min-height: 22px;
}

.l-search-button span:before {
 display: inline-block;
 content: "";
 background: url(../img/icon_serch_blue.png) no-repeat left / contain;
 height: 25px;
 width: 25px;
 position: relative;
 top: 0.2em;
 margin-right: .75em;
}



/* ------------------------------------------------------------------------------------------------
 * SEARCH
 * ------------------------------------------------------------------------------------------------ */
/*.g-header-search {
 text-align: center;
 width: 100%;
 height: 100%;
 background: #427abe;
 position: fixed;
 top: 0;
 right: 0;
 
 transform: translateY(-1000%);
 transition: all .4s;
 z-index: 101;
}

.g-header-search,
.g-header-search a {
 color: #fff;
}

.is-search-open .g-header-search {
 transform: translateY(0%);
 overflow-y: auto;
}

.g-header-search-inner {
 max-width: 970px;
 margin: 0 auto;
 padding: 120px 50px 100px;
}

.g-header-search-title {
 font-size: 3.2rem;
 letter-spacing: 0.1em;
 margin-bottom: 20px;
}

.g-header-search-text {
 line-height: 2;
 margin-bottom: 30px;
}

.g-header-search-items {
 letter-spacing: -.5em;
 text-align: left;
 margin: 0 -10px;
}

.g-header-search-item {
 letter-spacing: 0;
 line-height: 2.5;
 display: inline-block;
 width: calc(100% / 6);
 padding: 0 10px;
}

.g-header-search-item .e-child p {
 font-size: 1.8rem;
 border-bottom: 2px solid #fff;
 margin-bottom: 20px;
}

.g-header-search-item .e-child ul {
 letter-spacing: .05em;
}

.g-header-search-item .e-child .e-link {
 background-image: url(../img/icon_blank.png);
 background-position: right center;
 background-repeat: no-repeat;
 background-size: 16px auto;
 min-height: 13px;
 padding-right: 1.8em;
}

.g-header-search-item .e-child span {
 border-bottom: 1px solid #fff;
 padding-bottom: 0.3em;
}

.g-header-search-btn {
 color: #427abe;
 font-weight: bold;
 text-align: center;
 background: #fff;
 display: none;
 height: 70px;
 width: 200px;
 position: absolute;
 right: 0;
 top: 0;
 line-height: 70px;
 cursor: pointer;
}

.is-search-open .g-header-search-btn {
 display: block;
}

.g-header-search-btn:hover {
 opacity: 0.5;
}

.g-header-search-btn p {
 display: inline-block;
}

.g-header-search-btn p span {
 position: relative;
 padding-left: 2em;
}

.g-header-search-btn p span:before {
 background-size: contain;
 background-repeat: no-repeat;
 content: "";
 display: inline-block;
 position: absolute;
 left: 0;
}

.is-search-open .g-header-search-btn p span:before {
 background-image: url(../img/icon_close_blue.png);
 height: 16px;
 width: 16px;
 top: calc(50% - 8px);
}*/



/* ------------------------------------------------------------------------------------------------
 * Footer
 * ------------------------------------------------------------------------------------------------ */
.is-about.is-umofuton_reform .g-footer-logo {
 min-height: 170px;
 background-image: url(/contents/nishikawa-chain/img/footer-01.jpg);
 background-position: center;
 background-repeat: no-repeat;
 position: relative;
}

.is-about.is-umofuton_reform .g-footer-logo .e-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.is-about.is-umofuton_reform .g-footer-nav {
 display: none;
}



/* ------------------------------------------------------------------------------------------------
 * 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(../img/modal-close.png) no-repeat center / contain;
 content: "";
 display: block;
 height: 50px;
 width: 50px;
 position: absolute;
 right: 20px;
 top: 20px;
}

#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%;
}

#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;
}


/* 2025.01.追記 */
/* ----------------------------------------------------------------------
 * WORRIES
 * ---------------------------------------------------------------------- */
.l-worries {
	padding: 100px 0;
}

.l-worries-inner {
}

/* ----------------------------------------------------------------------
 * DIAGNOSIS
 * ---------------------------------------------------------------------- */
.l-diagnosis {
	padding: 100px 0;
	background: #ecf1f8;
}

.l-diagnosis-text {
	font-size: 1.8rem;
	line-height: 3;
	text-align: center;
	white-space: nowrap;
}

.l-diagnosis-text em {
	font-weight: bold;
	color: #295aa6;
	background: #fff;
	margin: 0 .5em;
	padding: .25em .75em;
}


/* 2025.11.追記 */
/* ----------------------------------------------------------------------
 * SHOP LP
 * ---------------------------------------------------------------------- */
.g-header--shop,
.g-footer--shop {
	display: none;
}

.g-footer {
	position: relative;
}

.c-shoplpHeader__name {
	color: #765b3b;
	font-size: 3.4rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: .1em;
	width: 100%;
	padding: 0 260px;
	display: none;
	position: absolute;
	top: calc(50% - .1em);
	left: 0;
	transform: translate(0,-50%);
}

.is-scroll .c-shoplpHeader__name {
	font-size: 2.4rem;
	padding: 0 210px;
}

.c-shoplpHeader__name small {
	font-size: 1.6rem;
	letter-spacing: .1em;
	margin: .75em 0 0;
	display: block;
}

.is-scroll .c-shoplpHeader__name small {
	font-size: 1.3rem;
}

.c-shoplpHeader__tel {
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0;
	display: none;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translate(0,-47.5%);
}

.is-scroll .c-shoplpHeader__tel {
	font-size: 2.2rem;
	right: 20px;
}

.c-shoplpHeader__tel: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;
	transform: translate(0,-.15em);
}

.c-actionButton__buttonShop {
	color: #d81626;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	display: none;
}

.is-shoplp_url .c-actionButton__buttonShop {
	display: block;
}

.c-actionButton__buttonShop a {
	color: #d81626;
	min-width: 400px;
	padding: 20px 0;
	display: inline-block;
	background: #fff;
	border: 1px solid #d81626;
	border-radius: 100px;
}

.c-actionButton__buttonShop a em {
	padding: 0 0 0 60px;
	display: inline-block;
	position: relative;
}

.c-actionButton__buttonShop a em:before {
	content: '';
	width: 24px;
	height: 26px;
	display: inline-block;
	background: url("../img/icon-search.png") no-repeat center / 100% 100%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0,-50%);
}

.c-actionButton__buttonShop.js-tel {
	color: #fff;
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
}

.c-actionButton__buttonShop.js-tel:before {
	content: 'ご予約はこちらの電話番号まで：';
	color: #c19a33;
	font-size: 1.8rem;
}

.c-shoplpFooter {
	padding: 60px 0;
	display: flex;
	justify-content: center;
	position: relative;
	align-items: center;
	z-index: 10;
}

.c-shoplpFooter .c-shoplpHeader__tel {
	color: #000;
}

.c-shoplpFooter .c-shoplpHeader__name {
	font-size: 3rem;
}

.c-actionButton__buttonShopTel {
	color: #fff;
	font-size: 5rem;
	font-weight: 700;
	text-align: center;
	margin: 20px 0 0;
	display: none;
}

.c-actionButton__buttonShopTel a {
	color: #fff;
}

.c-actionButton__buttonShopTel:before {
	content: 'ご予約はこちらの電話番号まで：';
	color: #fff;
	font-size: 2rem;
}

.is-shoplp_name .g-header.inc-header,
.is-shoplp_name .g-footer.inc-footer,
.is-shoplp_name .g-header .g-header-button,
.is-shoplp_name .g-footer-logo,
.is-shoplp_name .g-footer-nav,
.is-shoplp_name .l-copyright,
.is-shoplp_name .c-actionButton__button {
	display: none;
}

.is-shoplp_name .g-header.g-header--shop,
.is-shoplp_name .g-footer.g-footer--shop,
.is-shoplp_name .c-shoplpHeader__name,
.is-shoplp_name .c-shoplpHeader__tel,
.is-shoplp_name .c-actionButton__buttonShopTel {
	display: block;
}

.is-shoplp_name.is-shoplp_url .c-actionButton__buttonShopTel {
	display: none;
}

.is-color--1 .g-footer {
	background-color: #f4e3b4;
}
