/*------------------------------ common /*------------------------------*/ :root { --gap: 14px; } html, body { height: 100%; margin: 0; } body { font-family: system-ui, -apple-system, "Noto Sans JP", sans-serif; background: url("../images/bg_dot.png"); line-height: 1.6; color: #414132; } * { box-sizing: border-box; } h1 { font-size: 1.25rem; margin-bottom: 12px; } h2 { margin: 0 0 12px; font-size: clamp(22px, 2.6vw, 32px); } .section { padding: 60px 0 0; } .el_gas_section {} p { margin: 0; color: #374151; } .swiper-wrapper, main { width: 100%; max-width: 750px; margin: 0 auto; } /*------------------------------ Swipe /*------------------------------*/ .hero-swiper { height: 100svh; overscroll-behavior: none; } .hero-swiper {} .swiper-slide { display: grid; place-items: center; font-weight: 700; font-size: clamp(28px, 4vw, 48px); padding: 2rem; box-sizing: border-box; } .cta { margin-top: 16px; display: flex; justify-content: center; } .btn { appearance: none; border: 0; border-radius: 12px; padding: 12px 18px; background: #fff; color: #111; font-weight: 700; box-shadow: 0 6px 20px rgba(0, 0, 0, .25); cursor: pointer; } .hero-swiper { overscroll-behavior: none; } .swiper-slide.s1 { background: url(../images/swipe_01.png) no-repeat top center; background-size: contain; } .swiper-slide.s2 { background: url(../images/swipe_02.png) no-repeat center; background-size: contain; } .swiper-slide.s3 { background: url(../images/swipe_03.png) no-repeat top center; background-size: contain; } .swiper-slide.s4 { background: url(../images/swipe_04.png) no-repeat bottom center; background-size: contain; } /*------------------------------ el_gas /*------------------------------*/ label { font-weight: 600; display: block; margin-bottom: 6px; } select { width: 100%; padding: 8px; border-radius: 8px; } .chart-box { width: 100%; padding-top: 20px; margin: 0 auto 0; height: 200px; } canvas { display: block; max-width: 100% !important; max-height: 100% !important; border-radius: 12px; } .slide_01 { aspect-ratio: 1/1.52; background: url(../images/slide_01.png) no-repeat top center; background-size: contain; position: relative; } .slide_02 { background-size: contain; position: relative; } .num-panel { width: calc(100% - 20px); margin: 16px auto; padding: 0 20px; transform: translateX(10px); position: absolute; bottom: 0; } .num-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .num-btn { padding: 16px 14px; border: none; background: #fff; font-weight: 700; font-size: 16px; line-height: 1.3; cursor: pointer; aspect-ratio: 1 / 0.7; position: relative; top: 15px; } .num-btn.num_01 { background: url(../images/num-btn_01.png) no-repeat center; background-size: contain; } .num-btn.num_02 { background: url(../images/num-btn_02.png) no-repeat center; background-size: contain; } .num-btn.num_03 { background: url(../images/num-btn_03.png) no-repeat center; background-size: contain; } .num-btn.num_04 { background: url(../images/num-btn_04.png) no-repeat center; background-size: contain; } .num-btn.is-active.num_01 { background: url(../images/num-btn_on_01.png) no-repeat center; background-size: contain; } .num-btn.is-active.num_02 { background: url(../images/num-btn_on_02.png) no-repeat center; background-size: contain; } .num-btn.is-active.num_03 { background: url(../images/num-btn_on_03.png) no-repeat center; background-size: contain; } .num-btn.is-active.num_04 { background: url(../images/num-btn_on_04.png) no-repeat center; background-size: contain; } .charts { width: 95%; margin: 20px auto 0; border: 3px solid #ddd; border-radius: 10px; background: #fff; padding: 20px; } .chart-wrap.elect { margin-bottom: 20px; } .elect .chart-title img { height: 26px; } .gas .chart-title img { width: 33px; } .chart-title { font-size: min(5.5vw, 41.25px); border-bottom: 3px solid #0097E0; margin-bottom: 10px; } .chart-bg { padding: 10px; background-color: #f7f7f7; } .chart-ave { font-size: min(5vw, 37.5px); width: 100%; background: #fff; border-radius: 5px; text-align: center; } .chart-ave span { display: inline-block; margin-left: 10px; margin-right: 5px; font-size: min(7.5vw, 56.25px); font-weight: bold; } .charts.slide_02 { display: none; } /*------------------------------ price /*------------------------------*/ .price_wrap { width: calc(100%); aspect-ratio: 1 / 1.79; margin: 0 auto; background: url(../images/slide_03.png) no-repeat top center; background-size: contain; } #result { display: none; } .result_box { width: calc(100% - 20px); margin: 0 auto; } .result_01 { aspect-ratio: 1 / 1.42; background: url(../images/result_01.png) no-repeat top center; background-size: contain; } .result_02 { width: calc(100% - 20px); border-right: 3px solid #d6d6d3; border-left: 3px solid #d6d6d3; background: #fff; padding: 20px; font-size: 13px; } .result_03 { background: url(../images/result_03.png) no-repeat top center #fff; background-size: contain; width: calc(100% - 20px); margin: 0 auto; border-right: 3px solid #ddd; border-left: 3px solid #ddd; padding: 20px; padding: 15% 3% 10%; } .result_035 { aspect-ratio: 1 / 1.385; background: url(../images/result_035.png) no-repeat top center; background-size: contain; } .out-charm-wrap { background-color: #fffdda; border-radius: 20px; margin: 5px auto; padding: 8px 18px 8px 31px; display: inline-block; position: relative; font-size: min(3.8vw, 28.5px); } .out-charm-wrap span { display: inline-block; } .out-charm-wrap img { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); width: 13px; } .result_04 { aspect-ratio: 1 / 1.13; background: url(../images/result_04.png) no-repeat top center; background-size: contain; } .out-totalSavings-wrap { width: 100%; text-align: center; position: relative; top: 22%; font-size: min(6vw, 45px); } .out-totalSavings-wrap span.value { font-size: min(9vw, 67.5px); } .org { color: #f87515; } .out-annualPoints-wrap { padding-top: 19%; width: 100%; text-align: center; font-size: min(6vw, 45px); } .out-annualPoints-wrap .fb, .out-annualPoints-wrap .value { font-size: min(8vw, 60px); } .row { display: grid; grid-template-columns: 1fr; gap: 12px; grid-template-columns: repeat(2, 1fr); } button { padding: 10px 16px; border-radius: 10px; background: #111827; color: #fff; cursor: pointer; } .btn_price button { display: block; width: 100%; padding: 0; aspect-ratio: 1 / 0.18; border: none; background: url(../images/btn_price_on.png) no-repeat top center; background-size: contain; margin-top: 15px; } button:disabled { cursor: not-allowed; background: url(../images/btn_price.png) no-repeat top center; background-size: contain; } .primary-btn { width: 100%; margin-top: 16px; padding: 16px; border: none; border-radius: 9999px; background: #0ea5e9; color: #fff; font-weight: 800; font-size: 16px; transition: opacity .2s ease; cursor: pointer; } .primary-btn:disabled { opacity: .45; cursor: default; } /* カード側(トリガー) */ .picker { position: relative; } .picker-trigger { width: 100%; text-align: left; padding: 3px 10px; border: 3px solid #e8e8e7; border-radius: 6px; background: #f2f2f2; font-weight: 700; cursor: pointer; position: relative; top: 72%; color: #414132; font-size: min(3vw, 22.5px); } .picker-trigger::after { content: "▼"; position: absolute; right: 3px; top: 50%; transform: translateY(-50%); } /* モーダル全体 */ .picker-modal { position: fixed; inset: 0; background: rgba(0, 0, 0, .35); display: none; align-items: center; justify-content: center; z-index: 9999; } .picker-modal[aria-hidden="false"] { display: flex; } /* パネル */ .picker-panel { width: min(92vw, 520px); background: #fff; border-radius: 14px; box-shadow: 0 20px 50px rgba(0, 0, 0, .25); overflow: hidden; } .picker-head { padding: 0 16px; font-weight: 800; color: #475569; border-bottom: 1px solid #eee; } .picker-list { max-height: 60vh; overflow: auto; } .picker-item { display: flex; align-items: center; gap: 10px; padding: 16px; font-size: 16px; cursor: pointer; } .picker-item+.picker-item { border-top: 1px solid #f2f2f2; } .picker-item[aria-selected="true"] { background: #f0f7ff; } .picker-check { width: 20px; text-align: center; color: #1ea7ff; visibility: hidden; } .picker-item[aria-selected="true"] .picker-check { visibility: visible; } .q-grid { margin: 0 auto; max-width: 90%; padding: 82% 0 0; } .picker { padding: 16px 14px; cursor: pointer; aspect-ratio: 1 / 0.7; position: relative; top: 15px; } .picker.picker_bg_01 { background: url(../images/q1.png) no-repeat center; background-size: contain; } .picker.picker_bg_02 { background: url(../images/q2.png) no-repeat center; background-size: contain; } .picker.picker_bg_03 { background: url(../images/q3.png) no-repeat center; background-size: contain; } .picker.picker_bg_04 { background: url(../images/q4.png) no-repeat center; background-size: contain; } .picker.is-active.picker_bg_01 { background: url(../images/q1_on.png) no-repeat center; background-size: contain; } .picker.is-active.picker_bg_02 { background: url(../images/q2_on.png) no-repeat center; background-size: contain; } .picker.is-active.picker_bg_03 { background: url(../images/q3_on.png) no-repeat center; background-size: contain; } .picker.is-active.picker_bg_04 { background: url(../images/q4_on.png) no-repeat center; background-size: contain; } .font-kozuka { font-family: "kozuka-gothic-pr6n", sans-serif; font-weight: 900; font-style: normal; } #out-parson-wrap { color: #f87515; width: 100%; text-align: center; padding-top: 20%; font-weight: bold; font-size: min(6vw, 45px); } #out-parson-wrap span { font-weight: bold; } #out-bestPlan-wrap { width: 100%; display: flex; text-align: center; align-items: center; justify-content: center; } #out-bestPlan-wrap img { max-width: 12%; } #out-bestPlan-wrap span { display: inline; font-size: min(9.5vw, 71.25px); font-weight: bold; line-height: 1; } #out-resultPrice-wrap img { max-width: 18%; top: 3px; position: relative; margin-right: 15px; } #out-cdElec-wrap img { max-width: 20%; position: relative; top: -3px; margin-right: 31px; } #out-cdGas-wrap img { max-width: 19%; position: relative; top: -3px; margin-right: 31px; } #out-resultPrice-wrap span, #out-cdElec-wrap span, #out-cdGas-wrap span { color: #f87515; } #out-resultPrice-wrap { text-align: center; padding-top: 38%; font-size: min(5vw, 37.5px); } #out-resultPrice-wrap span, #out-resultPrice-wrap span { font-size: min(12vw, 90px); } .out-cdEleccdGas-wrap { max-width: 92%; margin: 0 auto; padding: 0 10px; } .out-cdEleccdGas-wrap>div { display: flex; max-width: 100%; padding: 2.5% 0; align-items: center; font-size: min(4vw, 30px); } .out-cdEleccdGas-wrap>div span { font-size: min(6vw, 45px); position: relative; top: -2px; margin: 0 5px 0 10px; } /*------------------------------ sliders /*------------------------------*/ .slide_11 { aspect-ratio: 1 / 2.1; margin: 20px auto; background: url(../images/slide_11.png) no-repeat top center; background-size: contain; } .slide_12 { width: 100%; aspect-ratio: 1 / 2; background: url(../images/slide_12.png) no-repeat top center; background-size: contain; } .slide_13 { width: 100%; aspect-ratio: 1 / 0.9; background: url(../images/slide_13.png) no-repeat top center; background-size: contain; } .slide_14 { aspect-ratio: 1 / 1.011; background: url(../images/slide_14.png) no-repeat top center; background-size: contain; color: #fff; } .slide_14>div { width: auto; position: relative; display: inline; font-size: min(3.8vw, 31px); } .out-tgGas { top: 47%; left: 17%; } .out-tepcoElec { top: 67.5%; left: 16%; } .slide_14>div.out-totalSavings2 { top: 16%; right: -56%; font-size: min(5vw, 37px); } .out-cdGas2 { top: 30%; right: -57%; } .out-cdElec2 { top: 47%; right: -57%; } .slide_145 { width: calc(100% - 20px); border-right: 3px solid #d6d6d3; border-left: 3px solid #d6d6d3; border-bottom: 3px solid #d6d6d3; border-radius: 0 0 10px 10px; background: #fff; padding: 20px; font-size: 13px; margin-bottom: 20px; } .slide_15 { aspect-ratio: 1 / 1.1; background: url(../images/slide_15.png) no-repeat top center; background-size: contain; } .slide_16 { aspect-ratio: 1 / 1.18; background: url(../images/slide_16.png) no-repeat top center; background-size: contain; } .slide_17 { aspect-ratio: 1 / 2.85; background: url(../images/slide_17.png) no-repeat top center; background-size: contain; } .slide_18 { aspect-ratio: 1 / 0.77; background: url(../images/slide_18.png) no-repeat top center; background-size: contain; } .slide_wrap01 { width: 100%; aspect-ratio: 1 / 1.76; background: url(../images/slide_wrap01.png) no-repeat top center; background-size: contain; } .slide_wrap { width: 100%; background: #FBB03B; } .slide_wrap02 { aspect-ratio: 1 / 0.4; background: url(../images/slide_wrap02.png) no-repeat top center; background-size: contain; } .btn_wrap { margin: 20px auto; } .btn_wrap>div { text-align: center; } /*------------------------------ voices /*------------------------------*/ .slide_title { width: 100%; text-align: center; padding-top: 10%; } .slide_title img { max-width: 50%; } .voices { padding: 0 0 3%; background: #FBB03B; } .voices-swiper { width: 100%; max-width: 480px; margin: 0 auto; } .voices-swiper .swiper-slide { display: flex; justify-content: center; align-items: center; padding-top: 4%; } .voices-swiper img { width: 100%; height: auto; display: block; border-radius: 12px; } .swiper-pagination-bullet.swiper-pagination-bullet-active { opacity: 1; background-color: #fff; } .swiper-pagination-bullet { opacity: 0.5; background-color: rgba(255, 255, 255, 1); } .swiper-button { background: #FFF5AF; border-radius: 50%; width: 10%; height: 6.5%; } .swiper-button-next:after, .swiper-button-prev:after { font-family: swiper-icons; font-size: min(5vw, 22px); text-transform: none !important; letter-spacing: 0; font-variant: initial; line-height: 1; color: #FBB03B; } .swiper-button-next, .swiper-button-prev { top: var(--swiper-navigation-top-offset, 38%); } /*------------------------------ footer /*------------------------------*/ .foot_bg { background: #414132; padding: 30px 20px; color: #fff; } .foot_inner { max-width: 750px; margin: 0 auto; } .foot_bg a { font-size: min(4.5vw, 33.435px); color: #fff; display: inline-block; text-decoration: underline; margin-right: 17px; } .foot_bg img { width: 31px; position: relative; top: 9px; } small { text-align: center; display: block; font-size: min(3.5vw, 26.005px); margin-top: 17px; } .foot_logo { text-align: center; } .foot_logo img { max-width: 500px; } @media (max-width: 500px) { .charts { border: 1px solid #ddd; } .slide_145 { border-right: 1px solid #d6d6d3; border-left: 1px solid #d6d6d3; border-bottom: 1px solid #d6d6d3; } .result_02 { border-right: 1px solid #d6d6d3; border-left: 1px solid #d6d6d3; } .result_03 { border-right: 1px solid #ddd; border-left: 1px solid #ddd; } }