@charset "UTF-8";

/* 検針web入口追加 */
main { overflow: inherit; contain: paint; }
main #mainConteiner { width: auto !important; margin: 0 !important; overflow: inherit; contain: paint; }
footer { margin-top: 0 !important; }
.fwB { font-weight: 700; }
.fcRed { color: #ff0015; }


@media screen and (min-width: 668px) {
	.kenshinTitle01 { font-size: 2.8rem; font-weight: 700; position: relative; text-align: center; margin-bottom: 40px; padding-bottom: 25px; }
	.kenshinTitle01::after { position: absolute; content: ""; width: 150px; height: 5px; background: #57cee1; left: 0; right: 0; bottom: 0; margin: auto; }
}
@media screen and (max-width: 667px) {
	.kenshinTitle01 { font-size: 5vw; font-weight: 700; position: relative; text-align: center; margin-bottom: 5vw; padding-bottom: 3vw; }
	.kenshinTitle01::after { position: absolute; content: ""; width: 20vw; height: 1vw; background: #57cee1; left: 0; right: 0; bottom: 0; margin: auto; }
}

@media screen and (min-width: 668px) {
	.kenshinBlock00 { background: url("../img/bg01.png") repeat-y 50% 0, url("../img/bg02.png") repeat-y 50% 0; padding: 32px calc(50% - 595px) 63px; margin-bottom: 60px; }
}
@media screen and (max-width: 667px) {
	.kenshinBlock00 { height: 170vw; background: url("../img/sp_bg01.png") no-repeat 0 0 / 100vw auto; margin-bottom: 6vw; }
}

@media screen and (min-width: 668px) {
	.tabs { display: flex; justify-content: space-between; align-items: flex-end; position: relative; z-index: 1; padding: 0 calc(50% - 595px); border-bottom: 4px solid #57cee1; }
	.tabs >* { width: 580px; border-top-left-radius: 20px; border-top-right-radius: 20px; padding: 20px 30px; text-align: center; font-size: 2.6rem; font-weight: 700; position: relative; cursor: pointer; margin-bottom: -4px; }
	.tabs >*.is-active { background: #fff url("../img/bg_yellow.png") repeat-x; color: #000; border: solid #57cee1; border-width: 4px 4px 0; padding: 30px; }
}
@media screen and (max-width: 667px) {
	.tabs { display: flex; justify-content: space-between; align-items: flex-end; position: relative; z-index: 1; padding: 0 6.25vw; border-bottom: 0.6vw solid #57cee1; }
	.tabs >* { width: 41vw; border-top-left-radius: 3vw; border-top-right-radius: 3vw; padding: 2vw 1vw; text-align: center; font-size: 4vw; font-weight: 700; line-height: 1.2; position: relative; cursor: pointer; margin-bottom: -0.6vw; }
	.tabs >*.is-active { background: #fff url("../img/bg_yellow.png") repeat-x 0 0 / 2vw auto; color: #000; border: solid #57cee1; border-width: 0.6vw 0.6vw 0; padding: 5vw 1vw 3vw; }
}

@media screen and (min-width: 668px) {
	.kenshinBlock01 { width: 1190px; margin: 60px auto; }
	.kenshinBlock01 .anchorNav { display: flex; margin-bottom: 35px; line-height: 1.2; }
	.kenshinBlock01 .anchorNav a { display: flex; align-items: center; justify-content: center; width: calc(1190px/5); text-align: center; padding: 0 0 15px; text-decoration: none; background: #99e3ef; position: relative; height: 100px; }
	.kenshinBlock01 .anchorNav a::after { position: absolute; content: ""; width: 0; height: 0; border-style: solid; border-top: 11px solid #000; border-right: 9px solid transparent; border-left: 9px solid transparent; border-bottom: 0; left: 0; right: 0; bottom: 20px; margin: auto; }
	.kenshinBlock01 .anchorNav a:not(:last-child) { border-right: 1px solid #fff; }
}
@media screen and (max-width: 667px) {
	.kenshinBlock01 { margin: 6vw 6.25vw; }
	.kenshinBlock01 .anchorNav { display: flex; flex-wrap: wrap; margin-bottom: 4vw; line-height: 1.2; }
	.kenshinBlock01 .anchorNav a { width: calc(87.5vw/2); height: 20vw; text-align: center; padding-bottom: 3vw; text-decoration: none; background: #99e3ef; position: relative; border-bottom: 0.2vw solid #fff; font-size: 3.4vw; display: flex; justify-content: center; align-items: center; }
	.kenshinBlock01 .anchorNav a:nth-child(2n) { border-left: 0.2vw solid #fff; }
	.kenshinBlock01 .anchorNav a:last-child { width: 87.5vw; }
	.kenshinBlock01 .anchorNav a::after { position: absolute; content: ""; width: 0; height: 0; border-style: solid; border-top: 2vw solid #000; border-right: 1.5vw solid transparent; border-left: 1.5vw solid transparent; border-bottom: 0; left: 0; right: 0; bottom: 2.5vw; margin: auto; }
}

@media screen and (min-width: 668px) {
	.kenshinBlock02 { background: #fffde4; padding: 40px calc(50% - 595px); text-align: center; }
	.kenshinBlock02 p { font-size: 3rem; font-weight: 700; }
	.kenshinBlock02 .fsL { font-size: 5.6rem; }
	.kenshinBlock02 mark { background: linear-gradient(transparent 70%, #fff100 0); }
}
@media screen and (max-width: 667px) {
	.kenshinBlock02 { background: #fffde4; padding: 4vw 6.25vw; text-align: center; }
	.kenshinBlock02 p { font-size: 4.4vw; font-weight: 700; }
	.kenshinBlock02 .fsL { font-size: 6.6vw; }
	.kenshinBlock02 mark { background: linear-gradient(transparent 70%, #fff100 0); }
}

@media screen and (min-width: 668px) {
	.kenshinBlock03 { background: #f2fbfd; padding: 40px calc(50% - 595px); }
	.kenshinBlock03 .contentsBox { border: 4px solid #57cee1; padding: 40px; background: #fff; position: relative; margin-top: -4px; z-index: 0; }
	.kenshinBlock03 .contentsBox .flex { display: flex; flex-wrap: wrap; justify-content: space-between; }
	.kenshinBlock03 .contentsBox .flex >* { width: 530px; padding-left: 50px; position: relative; margin-top: 40px; }
	.kenshinBlock03 .contentsBox .num { position: absolute; width: 40px; height: 40px; top: -10px; left: 0; background: #57cee1; display: flex; justify-content: center; align-items: center; color: #fff100; font-size: 2.6rem; font-weight: 700; border-radius: 50%; }
	.kenshinBlock03 .notice { background: #fffde4; padding: 10px 20px; }
}
@media screen and (max-width: 667px) {
	.kenshinBlock03 { background: #f2fbfd; padding: 4vw 6.25vw; }
	.kenshinBlock03 .contentsBox { border: 0.6vw solid #57cee1; padding: 4vw; background: #fff; position: relative; margin-top: -0.6vw; z-index: 0; }
	.kenshinBlock03 .contentsBox .flex { }
	.kenshinBlock03 .contentsBox .flex >* { padding-left: 12vw; position: relative; margin-top: 4vw; }
	.kenshinBlock03 .contentsBox .num { position: absolute; width: 8vw; height: 8vw; top: 0; left: 0; background: #57cee1; display: flex; justify-content: center; align-items: center; color: #fff100; font-size: 4vw; font-weight: 700; border-radius: 50%; }
	.kenshinBlock03 .contentsBox .flex figure { margin-left: -12vw !important; }
	.kenshinBlock03 .notice { background: #fffde4; padding: 2vw 3vw; }
}

@media screen and (min-width: 668px) {
	.kenshinBlock04 { width: 1190px; margin: 80px auto; }
	.kenshinBlock04 .use { display: flex; flex-wrap: wrap; }
	.kenshinBlock04 .select1 .use { justify-content: space-between; }
	.kenshinBlock04 .select2 .use { justify-content: space-evenly; }
	.kenshinBlock04 .use >* { border: 4px solid #57cee1; background: #fff799; padding: 20px 0; font-size: 2.2rem; font-weight: 700; margin-bottom: 37px; border-radius: 20px; text-align: center; }
	.kenshinBlock04 .use >*:not(:last-child) { width: 275px; position: relative; }
	.kenshinBlock04 .use >*:not(:last-child)::after { position: absolute; content: ""; width: 0; height: 0; border-style: solid; border-top: 25px solid #57cee1; border-right: 21px solid transparent; border-left: 21px solid transparent; border-bottom: 0; left: 0; right: 0; bottom: -25px; margin: auto; }
	.kenshinBlock04 .use >*:last-child { font-size: 3.2rem; width: 100%;}
	.kenshinBlock04 .use sup { font-size: 1.4rem; }
	.kenshinBlock04 .use .fsS { font-size: 1.8rem; }
	.kenshinBlock04 .use a[target="_blank"] { padding-left: 22px; position: relative; }
	.kenshinBlock04 .use a[target="_blank"]::before { position: absolute; content: ""; width: 20px; height: 20px; background: url("../img/icon_blank.svg") no-repeat 0 0 / 20px auto; left: 0; top: 0; bottom: 0; margin: auto; }
	.kenshinBlock04 .notice { background: #fffde4; padding: 30px 40px; margin: 40px 0; }
	.kenshinBlock04 .notice dl { border: 1px solid #57cee1; }
	.kenshinBlock04 .notice dt { background: #57cee1; color: #fff; font-size: 2rem; font-weight: 700; text-align: center; padding: 15px; }
	.kenshinBlock04 .notice dd { background: #fff; padding: 15px 25px; }
}
@media screen and (max-width: 667px) {
	.kenshinBlock04 { margin: 8vw 6.25vw; }
	.kenshinBlock04 .use { position: relative; margin-bottom: 5vw; }
	.kenshinBlock04 .use >* { border: 0.6vw solid #57cee1; background: #fff799; padding: 3vw 2vw; font-size: 4vw; font-weight: 700; margin-bottom: 3.7vw; border-radius: 3vw; }
	.kenshinBlock04 .use >*:not(:last-child) { width: 34vw; position: relative; line-height: 1.2; }
	.kenshinBlock04 .use >*:not(:last-child)::after { position: absolute; content: ""; width: 0; height: 0; border-style: solid; border-left: 4vw solid #57cee1; border-top: 3.4vw solid transparent; border-bottom: 3.4vw solid transparent; border-right: 0; top: 0; bottom: 0; right: -4vw; margin: auto; }
	.kenshinBlock04 .use >*:last-child { font-size: 5vw; width: 47vw; display: flex; justify-content: center; align-items: center; position: absolute; top: 0; right: 0; text-align: center; }
	.kenshinBlock04 .select1 .use >*:last-child { height: 64vw; }
	.kenshinBlock04 .select2 .use >*:last-child { height: 44vw; }
	.kenshinBlock04 .use sup { font-size: 2.5vw; }
	.kenshinBlock04 .use .fsS { font-size: 3vw; }
	.kenshinBlock04 .use a[target="_blank"] { padding-left: 4vw; position: relative; display: inline-block; }
	.kenshinBlock04 .use a[target="_blank"]::before { position: absolute; content: ""; width: 3vw; height: 3vw; background: url("../img/icon_blank.svg") no-repeat 0 0 / 3vw auto; left: 0; top: 0; bottom: 0; margin: auto; }
	.kenshinBlock04 .notice { background: #fffde4; padding: 3vw 4vw; margin: 4vw 0; }
	.kenshinBlock04 .notice figure { margin: 0 0 1em !important; }
	.kenshinBlock04 .notice dl { border: 0.4vw solid #57cee1; }
	.kenshinBlock04 .notice dt { background: #57cee1; color: #fff; font-weight: 700; text-align: center; padding: 2vw; }
	.kenshinBlock04 .notice dd { background: #fff; padding: 2vw 3vw; }
}

@media screen and (min-width: 668px) {
	.kenshinBlock05 { width: 1190px; margin: 80px auto; }
	.kenshinBlock05 .is-accordion { border-bottom: 1px solid #ddd; margin-top: 0 }
	.kenshinBlock05 .is-head { font-size: 1.8rem; font-weight: 700; color: #f08200; background: none; }
	.kenshinBlock05 .is-head::before { left: auto; right: 15px; border-top: 16px solid #f08200; border-right: 12px solid transparent; border-left: 12px solid transparent; }
	.kenshinBlock05 .is-head::after { position: absolute; content: "Q."; left: 0; top: 14px; }
	.kenshinBlock05 .is-body { padding: 0 0 40px 33px; position: relative; }
	.kenshinBlock05 .is-body::after { position: absolute; content: "A."; left: 0; top: 0; color: #57cee1; font-size: 1.8rem; font-weight: 700; }
}
@media screen and (max-width: 667px) {
	.kenshinBlock05 { margin: 8vw 6.25vw; }
	.kenshinBlock05 .is-accordion { border-bottom: 1px solid #ddd; margin-top: 0 }
	.kenshinBlock05 .is-head { font-size: 4vw; font-weight: 700; color: #f08200; background: none; }
	.kenshinBlock05 .is-head::before { left: auto; right: 0; border-top: 2vw solid #f08200; border-right: 1.5vw solid transparent; border-left: 1.5vw solid transparent; }
	.kenshinBlock05 .is-head::after { position: absolute; content: "Q."; left: 0; top: 3vw; }
	.kenshinBlock05 .is-body { padding: 0 0 4vw 6vw; position: relative; }
	.kenshinBlock05 .is-body::after { position: absolute; content: "A."; left: 0; top: 0; color: #57cee1; font-weight: 700; }
}

@media screen and (min-width: 668px) {
	.kenshinBlock06 { width: 1190px; margin: 80px auto; }
	.kenshinBlock06 p { font-size: 1.6rem; text-align: center; }
	.kenshinBlock06 .tel { font-size: 5.6rem; text-decoration: none; }
}
@media screen and (max-width: 667px) {
	.kenshinBlock06 { margin: 8vw 6.25vw 0; }
	.kenshinBlock06 p { font-size: 3vw; text-align: center; }
	.kenshinBlock06 .tel { font-size: 7vw; text-decoration: none; }
}



@media screen and (min-width: 668px) {
	.kenshinFixNav { position: -webkit-sticky; position: sticky; bottom: 0; width: 100%; text-align: center; z-index: 3; background: rgba(0,0,0,0.3); padding: 30px 0; }
	.kenshinFixNav a { display: inline-block; font-size: 3rem; font-weight: 700; border: 4px solid #51a2bd; border-radius: 10px; background-image: -webkit-linear-gradient( -90deg, rgb(255,255,255) 70%, rgb(237,237,237) 95%); box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.16); width: 630px; padding: 20px; position: relative; text-decoration: none; }
	.kenshinFixNav a:hover { text-decoration: none; }
	.kenshinFixNav a::after { position: absolute; content: ""; background: url("../img/icon_arrow.svg") no-repeat; width: 14px; height: 22px; top: 0; bottom: 0; right: 40px; margin: auto; }
}
@media screen and (max-width: 667px) {
	.kenshinFixNav { position: -webkit-sticky; position: sticky; bottom: 0; width: 100%; text-align: center; z-index: 10; background: rgba(0,0,0,0.3); padding: 4vw 0; }
	.kenshinFixNav a { display: inline-block; font-size: 5vw; font-weight: 700; border: 0.8vw solid #51a2bd; border-radius: 2vw; background-image: -webkit-linear-gradient( -90deg, rgb(255,255,255) 70%, rgb(237,237,237) 95%); box-shadow: 0px 1vw 1vw 0px rgba(0, 0, 0, 0.16); width: 72vw; padding: 3vw 3vw 3vw 0; position: relative; text-decoration: none; }
	.kenshinFixNav a:hover { text-decoration: none; }
	.kenshinFixNav a::after { position: absolute; content: ""; background: url("../img/icon_arrow.svg") no-repeat 0 0 / auto 5vw; width: 5vw; height: 5vw; top: 0; bottom: 0; right: 3vw; margin: auto; }
}
/* 20240531追加↓ */
.kenshinBlock06 .fwB { margin-bottom: 0; }
.kenshinBlock06 .fwB2 { display: flex; justify-content: center; font-weight: 700; }
@media screen and (min-width: 668px) {
	.kenshinBlock06 small { display: flex; justify-content: center; }
}
@media screen and (max-width: 667px) {
	.kenshinBlock06 .fwB,.kenshinBlock06 .fwB2 { font-size: 1.6rem; text-align: center; }
}
/* 20240531追加↑ */