@font-face {
    font-family: "Zen Maru Gothic";
    font-style: normal;
    font-weight: 800;
    src: local("Zen Maru Gothic Bold"), url("/shared/font/ZenMaruGothic-Bold.woff2") format("woff2")
}
.heading-ttl,
.point_wrap,
.number-ttl,
.number-sbttl,
.numbersec-ttl,
.needLst-ttl,
.needTable_wrap,
.select_ct dt,
.period_in dt,
.model-ttl,
.planLst_wrap dt,
.lump-ttl,
.savings_ct dt,
.is-part2,
.consultation-ttl,
.mod-button-conversion.of-search.needshop-btn .lnk {
    font-family: "Zen Maru Gothic", sans-serif;
}
picture {
    display: block;
    text-align: center;
}
.need-inner_wrap.is-ver2 {
    margin-bottom: 33px;
}
.heading_wrap {
    background-color: #FCFAE6;
    width: 100%;
    height: 210px;
    display: flex;
    align-items: center;
    position: relative;
}
.heading_wrap::before {
    content: "";
    position: absolute;
    background: url(/teach/column/need/img/need_mv01.svg) no-repeat;
    left: 50%;
    margin-left: 117px;
    top: 4px;
    width: 147px;
    height: 207px;
}
.heading-ttl {
    font-size: 32px;
    line-height: 1.5;
}
.is-red {
    color: #EB6168;
}
.is-blue {
    color: #2A9B9D;
}
.site-content > .str-outer.is-sns {
    padding: 20px 0 5px;
}
.site-content.of-nallow > .str-outer > .str-inner {
    max-width: 984px;
}
.need-txt {
    line-height: 2;
}
.need-txt.is-ver2,
.savings-txt.is-ver2 {
    margin-bottom: 12px;
}
.point_wrap {
    margin: 30px 0 0;
    background-color: #FCFAE6;
    border-radius: 20px;
    box-sizing: border-box;
    padding: 22px 0 20px;
    position: relative;
}
.point_wrap::before {
    content: "";
    position: absolute;
    bottom: -13px;
    left: 50%;
    margin-left: -14px;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 14px solid transparent;
    border-left: 14px solid transparent;
    border-top: 14px solid #fcfae6;
    border-bottom: 0;
}
.ponit-ttl {
    text-align: center;
    color: #EB6168;
    font-size: 22px;
    font-weight: bold;
    padding: 0 30px;
    margin-bottom: 10px;
    line-height: 1.2;
}
.ponit-ttl .is-sl{
    padding: 0 30px;
    display: inline-block;
    position: relative;
}
.ponit-ttl .is-sl::before,
.ponit-ttl .is-sl::after {
    content: "";
    background: url(/teach/column/need/img/need_slash1.svg);
    width: 28px;
    height: 36px;
    position: absolute;
    bottom: 5px;
}
.ponit-ttl .is-sl::before {
    left: 0;
}
.ponit-ttl .is-sl::after {
    transform: scale(1,-1);
    right: 0;
}
.ponit-ttl .is-fzl {
    font-size: 32px;
}
.ponit-ttl .is-fzs {
    font-size: 20px;
}
.pointLst_wrap {
    margin-left: 135px;
}
.pointLst_wrap li {
    padding-left: 25px;
    font-size: 18px;
    position: relative;
    margin-bottom: 7px;
}
.pointLst_wrap li::before {
    content: "";
    position: absolute;
    background-color: #EB6168;
    width: 4px;
    height: 4px;
    left: 10px;
    top: 14px;
    border-radius: 50%;
}
.pointLst_wrap li .is-linew {
    position: relative;
    z-index: 10;
}
.pointLst_wrap li .is-linew::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 8px;
    background-color: #fff;
    left: 0;
    bottom: 0;
    z-index: -1;
}
.pointLst_wrap li .is-fzs {
    font-size: 15px;
}
.needshop-btn {
    display: block;
    width: 345px;
    height: 70px;
    margin: 0 auto 34px;
    overflow: hidden;
}
.mod-button-conversion.of-search.needshop-btn .lnk {
    font-size: 21px;
    font-weight: bold;
    min-height: 64px;
    padding: 0;
    cursor: pointer;
    transition: opacity .15s ease, transform .15s ease;
    border-radius: 10px;
    box-shadow: 0 1.5px 3px rgba(0, 0, 0, .16);
}
.mod-button-conversion.of-search.needshop-btn .lnk::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222px%22%20height%3D%2220px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(255%2C%20255%2C%20255)%22%20d%3D%22M20.374%2C12.006%20L13.146%2C19.335%20C12.340%2C20.155%2011.034%2C20.155%2010.229%2C19.335%20C9.423%2C18.519%209.423%2C17.197%2010.229%2C16.380%20L14.487%2C12.062%20L2.091%2C12.062%20C0.936%2C12.062%20-0.000%2C11.126%20-0.000%2C9.971%20L-0.000%2C9.966%20C-0.000%2C8.811%200.936%2C7.875%202.091%2C7.875%20L14.482%2C7.875%20L10.229%2C3.563%20C9.423%2C2.745%209.423%2C1.421%2010.229%2C0.603%20C11.034%2C-0.212%2012.340%2C-0.212%2013.146%2C0.603%20L20.367%2C7.929%20C21.301%2C8.139%2022.000%2C8.969%2022.000%2C9.966%20L22.000%2C9.971%20C22.000%2C10.965%2021.304%2C11.794%2020.374%2C12.006%20Z%22%2F%3E%3C%2Fsvg%3E");
    height: 14px;
    right: 16px;
    left: auto;
    transform: translateY(-50%);
    width: 16px;
}
.index_wrap {
    margin: 0 auto 48px;
    border: 1px solid #EBE5E1;
    padding: 26px 0 32px;
    max-width: 690px;
}
.index-ttl {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 17px;
    text-align: center;
    font-family: "Hiragino Kaku Gothic ProN";
}
.indexLst_wrap {
    margin-left: 174px;
    font-size: 14px;
    margin-bottom: 15px;
}
.indexLst_wrap:last-of-type,
.indexLst_wrap li:last-of-type {
    margin-bottom: 0;
}
.indexLst_wrap li {
    padding-left: 47px;
    margin-bottom: 10px;
}
.indexLst_wrap li:first-of-type {
    font-weight: bold;
    position: relative;
}
.indexLst_wrap li:first-of-type::before {
    content: "01";
    position: absolute;
    left: 0;
    top: 3px;
    font-weight: bold;
    font-family: "Hiragino Kaku Gothic ProN";
    line-height: 1;
    padding-right: 11px;
    border-right: 1px #333 solid;
    font-size: 15px;
}
.indexLst_wrap.is-ver01 li:first-of-type::before {
    content: "01";
}
.indexLst_wrap.is-ver02 li:first-of-type::before {
    content: "02";
}
.indexLst_wrap.is-ver03 li:first-of-type::before {
    content: "03";
}
.indexLst_wrap.is-ver04 li:first-of-type::before {
    content: "04";
}
.indexLst_wrap li a {
    text-decoration: none;
    color: #333;
    display: inline-block;
}
.number_wrap {
    margin-bottom: 50px;
}
.number-ttl {
    text-align: center;
    color: #EB6168;
    font-size: 22px;
    padding-top: 45px;
    margin-bottom: 30px;
    position: relative;
}
.number-ttl::before {
    font-size: 21px;
    font-family: "Hiragino Kaku Gothic ProN";
    font-weight: bold;
    line-height: 1;
    color: #EB6168;
    padding: 0 8px 15px;
    border-bottom: 1px solid #EB6168;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
#is-01 .number-ttl::before {
    content: "01";
}
#is-02 .number-ttl::before {
    content: "02";
}
#is-03 .number-ttl::before {
    content: "03";
}
#is-04 .number-ttl::before {
    content: "04";
}
#is-01-1.number_in {
    margin-bottom: 40px;
}
.number-sbttl {
    text-align: center;
    font-size: 19px;
    font-weight: bold;
    background-color: #EB6168;
    padding: 7px 0;
    width: 345px;
    color: #fff;
    margin: 0 auto 30px;
    border-radius: 35px;
    line-height: 1.2;
}
.numbersec_wrap.yellowbg_wrap {
    background-color: #FCFAE6;
    padding: 24px 0;
    margin: 20px 0 30px;
}
#is-01-2 .numbersec_wrap.yellowbg_wrap,
.needLst_wrap.is-border,
.select_wrap,
#is-02-3.number_in,
#is-03-1.number_in,
#is-04-1.number_in {
    margin-bottom: 48px;
}
.numbersec-ttl {
    font-size: 20px;
    text-align: center;
    margin-bottom: 20px;
}
.yellowbg-sbtxt {
    font-size: 10px;
    text-align: center;
}
.numbersec_wrap.gray_wrap {
    background-color: #F9F7F5;
    width: 100%;
    padding: 40px 0 48px;
}
.gray_wrap .numbersec-ttl {
    font-size: 22px;
    margin-bottom: 30px;
}
.needLst-ttl {
    position: relative;
    font-size: 18px;
    text-align: center;
}
.needLst-ttl::before {
    content: "";
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
}
.is-part2 {
    font-size: 14px;
    color: #333;
    text-align: center;
    line-height: 1;
    padding-bottom: 4px;
}
.is-part2 span {
    padding: 0 14px;
    position: relative;
    display: inline-block;
}
.is-part2 span::before,
.is-part2 span::after {
    content: "";
    position: absolute;
    background: url(/teach/column/need/img/need_slash2.svg) no-repeat;
    width: 6px;
    height: 11px;
    bottom: 0px;
}
.is-part2 span::before {
    left: 0;
}
.is-part2 span::after {
    right: 0;
    transform: scale(1, -1);
}
#is-01-2 .needLst_in {
    width: 260px;
    border-radius: 20px;
    background-color: #fff;
    padding: 25px 18px 20px;
    margin-right: 22px;
}
#is-01-2 .needLst_in:last-of-type,
.needLst_wrap.is-lisk .needLst_in:last-of-type {
    margin: 0;
}
#is-01-2 .needLst-ttl {
    color: #EB6168;
    font-weight: bold;
    padding-bottom: 145px;
}
#is-01-2 .needLst_in.is-ver2 .needLst-ttl {
    padding-bottom: 120px;
}
#is-01-2 .needLst_in.is-ver1 .needLst-ttl::before {
    background: url(/teach/column/need/img/need_img03.svg) no-repeat;
    width: 208px;
    height: 119px;
}
#is-01-2 .needLst_in.is-ver2 .needLst-ttl::before {
    background: url(/teach/column/need/img/need_img04.svg) no-repeat;
    width: 199px;
    height: 80px;
}
#is-01-2 .needLst_in.is-ver3 .needLst-ttl::before {
    background: url(/teach/column/need/img/need_img05.svg) no-repeat;
    width: 118px;
    height: 85px;
}
.needLst-txt {
    line-height: 2;
}
.needLst-txt.is-ver2 {
   margin-bottom: 10px;
}
.needLst_wrap.is-lisk {
    margin-bottom: 30px;
}
.needLst_wrap.is-lisk .needLst_in {
    background-color: #F9F7F5;
    border-radius: 20px;
    padding: 24px 22px 23px;
    width: 300px;
    margin-right: 42px;
}
.needLst_wrap.is-lisk .needLst-ttl {
    color: #2A9B9D;
    width: 96px;
    height: 96px;
    margin: 0 auto 15px;
    background-color: #fff;
    border: 2px solid #2A9B9D;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.27;
}
.is-lisk .is-blue {
    font-weight: bold;
}
.needTable-ttl {
    text-align: center;
    margin-bottom: 15px;
}
.mod-table {
    margin: 0 auto;
    width: 572px;
    box-shadow: none;
}
.needTable_wrap {
    margin-bottom: 47px;
}
.mod-col {
    width: 14.88%;
}
.mod-table table th {
    font-size: 14px;
    text-align: center;
    padding: 0;
    background-color: #FFEFF0;
    color: #EB6168;
}
.mod-table table .is-ver2 th {
    background-color: #E2FAFB;
    color: #2A9B9D;
}
.needTable_wrap .mod-list > .list > li::before {
    background-color: #EB6168;
    top: 16px;
}
.needTable_wrap .is-ver2 .mod-list > .list > li::before {
    background-color: #2A9B9D;
}
.mod-table table td {
    padding: 8px 15px;
}
.mod-list > .list > li {
    margin: 0;
    line-height: 2;
}
.need-txt.is-ver3 {
    margin: 0 auto 30px;
    max-width: 690px;
}
.is-bold {
    font-weight: bold;
}
.needLst_wrap.is-border .needLst_in {
    padding: 0 20px;
    border-left: 1px solid #EBE5E1;
}
.needLst_wrap.is-border .needLst_in:first-of-type {
    border: none;
    padding-left: 0;
}
.needLst_wrap.is-border .needLst_in:last-of-type {
   padding-right: 0;
}
.is-border .needLst-ttl {
    color: #EB6168;
    padding-bottom: 115px;
}
.is-border .needLst-ttl .is-fzs {
    font-size: 14px;
}
.is-border .needLst-ttl::before {
    bottom: 7px;
}
.is-border .needLst-txt {
    width: 300px;
}
#is-02-1 .need-txt {
    margin-bottom: 30px;
}
#is-02-1 .is-border .needLst_in.is-ver1 .needLst-ttl::before {
    background: url(/teach/column/need/img/need_img06.svg) no-repeat;
    width: 162px;
    height: 100px;
}
#is-02-1 .is-border .needLst_in.is-ver2 .needLst-ttl::before {
    background: url(/teach/column/need/img/need_img07.svg) no-repeat;
    width: 69px;
    height: 100px;
}
#is-02-1 .is-border .needLst_in.is-ver3 .needLst-ttl::before {
    background: url(/teach/column/need/img/need_img08.svg) no-repeat;
    width: 70px;
    height: 100px;
}
.select_wrap .needLst_wrap {
    flex-direction: column;
}
.select_wrap .needLst_in {
    background-color: #F9F7F5;
    border-radius: 20px;
    padding: 25px 10px 20px;
    margin-bottom: 34px;
}
.select_wrap .needLst_in:last-of-type {
    margin: 0;
}
.select_wrap .needLst-ttl {
    color: #EB6168;
    margin-bottom: 20px;
}
.select_wrap .needLst-txt {
    width: 100%;
}
.select_wrap .needLst-txt,
#is-02-1 .need-txt,
#is-03 .need-txt {
    text-align: center;
}
.select_wrap picture {
    margin-bottom: 10px;
}
.select_ct {
    display: flex;
    background-color: #fff;
    padding: 16px ;
    width: 410px;
}
.select_ct:first-of-type {
    margin-right: 22px;
}
.select_ct dt {
    background-color: #FCFAE6;
    font-size: 14px;
    line-height: 1.42;
    border-radius: 10px;
    width: 64px;
    margin-right: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.select_ct dd {
    width: 298px;
    line-height: 2;
}
.period_wrap {
    max-width: 984px;
    margin: 30px auto 48px;
    padding: 34px 50px;
    background-color: #F9F7F5;
    border-radius: 20px;
}
.period_wrap .numbersec-ttl {
    margin-bottom: 30px;
}
.period_in li {
    background-color: #fff;
    border-radius: 20px;
    padding: 24px 20px 20px;
    width: 200px;
    margin-right: 18px;
}
.period_in li:last-of-type {
    margin: 0;
}
.period_in li.is-ver1 {
    width: 230px;
    position: relative;
}
.period_in li.is-ver1::before {
    content: "";
    position: absolute;
    background: url(/teach/column/need/img/need_img10.svg) no-repeat;
    width: 77px;
    height: 80px;
    top: -54px;
    left: 50%;
    transform: translateX(-50%);
}
.period_in li dt {
    height: 26px;
    text-align: center;
    margin-bottom: 15px;
}
.period_in li.is-ver1 dt {
    background-color: #FFEFF0;
}
.period_in li.is-ver2 dt,
.period_in li.is-ver3 dt {
    background-color: #FCFAE6;
}
.period_in li.is-ver4 dt {
    background-color: #E2FAFB;
}
.period_in li dd {
    line-height: 2;
}
#is-02-3 .need-txt {
    text-align: center;
    margin-bottom: 30px;
}
.model_in {
    width: 345px;
    border: 1px solid #EBE5E1;
    padding: 24px 15px 15px;
    border-radius: 6px;
}
.model_in:first-of-type {
    margin-right: 29px;
}
.model-ttl {
    text-align: center;
    font-size: 17px;
    letter-spacing: 0.4em;
    line-height: 1;
    margin-bottom: 20px;
}
.model_in p {
    line-height: 2;
}
#is-02-4 .numbersec_wrap {
    margin-bottom: 35px;
}
#is-02-4 .numbersec_wrap:last-of-type {
    margin-bottom: 0;
    padding: 32px 0 40px;
}
#is-02-4 .numbersec-ttl {
   margin-bottom: 35px;
   font-size: 22px;
}
#is-02-4 .gray_wrap .numbersec-ttl {
    font-size: 18px;
 }
.planLst_wrap {
    max-width: 762px;
    margin: 0 auto;
}
.planLst_wrap li {
    margin-bottom: 18px;
}
.planLst_wrap li:last-of-type {
    margin: 0;
}
.planLst_wrap li dl {
    display: flex;
    padding-bottom: 18px;
    border-bottom: 1px solid #EBE5E1;
}
.planLst_wrap li:last-of-type dl {
    padding-bottom: 0;
    border: none;
}
.planLst_wrap li dt {
    width: 138px;
    background-color: #E2FAFB;
    border-radius: 10px;
    margin-right: 13px;
    font-size: 14px;
    padding: 4px 0 2px;
    text-align: center;
}
.planLst_wrap li:nth-child(even) dt {
    background-color: #FCFAE6;
}
.lump_in:last-of-type {
    margin-right: 0;
}
.lump-ttl {
    font-size: 15px;
    background-color: #fff;
    border-radius: 6px;
    text-align: center;
    margin-bottom: 12px;
    line-height: 1.55;
}
.lump_in p {
    line-height: 2;
}
#is-03-1 .numbersec_wrap.yellowbg_wrap {
    max-width: 984px;
    margin: 28px auto;
    padding: 20px 0;
}
#is-03-1 .numbersec_wrap.yellowbg_wrap .numbersec-ttl span {
    font-size: 14px;
}
#is-03-1 .yellowbg-sbtxt {
    text-align: left;
    max-width: 700px;
    margin: 10px auto 0;
}
.simulator_wrap {
    text-align: center;
}
.simulator_wrap a {
    color: #279BA5;
}
#is-03 .simulator_wrap .need-txt {
    max-width: 690px;
    margin: 0 auto 10px;
    text-align: left;
}
.simulator_wrap .need-txt span {
    font-size: 10px;
}
.simulator_wrap .need-txt span.add {
    vertical-align: top;
}
#is-03-2 .is-border .needLst-ttl {
    padding-bottom: 150px;
}
#is-03-2 .is-border .needLst_in.is-ver1 .needLst-ttl::before {
    background: url(/teach/column/need/img/need_img12.svg) no-repeat;
    width: 240px;
    height: 105px;
    bottom: 25px;
}
#is-03-2 .is-border .needLst_in.is-ver2 .needLst-ttl::before {
    background: url(/teach/column/need/img/need_img13.svg) no-repeat;
    width: 65px;
    height: 90px;
    bottom: 28px;
}
#is-03-2 .is-border .needLst_in.is-ver3 .needLst-ttl::before {
    background: url(/teach/column/need/img/need_img14.svg) no-repeat;
    width: 180px;
    height: 127px;
    bottom: 12px;
}
#is-03-2 .gray_wrap {
    background-color: #F9F7F5;
    width: 100%;
    padding: 20px 0 46px;
    text-align: center;
}
.savingstxt_wrap.need-inner_wrap {
    margin-bottom: 30px;
}
.savingstxt-txt {
    padding-bottom: 200px;
    line-height: 2;
    position: relative;
}
.savingstxt-txt::before {
    content: "";
    position: absolute;
    background: url(/teach/column/need/img/need_img15.svg) no-repeat;
    width: 171px;
    height: 184px;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
}
.savings_in {
    width: 100%;
    background-color: #F9F7F5;
    max-width: 984px;
    border-radius: 20px;
    padding: 24px;
    margin: 0 auto 34px;
}
.savings_in:last-of-type {
    margin-bottom: 0;
}
.numbersec-ttl.is-ver2 {
    color: #EB6168;
}
.savings_ct {
    border-radius: 10px;
    background-color: #fff;
    padding: 18px 25px 18px 32px;
    max-width: 690px;
    margin: 0 auto;
}
.savingsflex_wrap .savings_ct:first-of-type {
    margin-right: 30px;
}
.savings_ct dt {
    font-size: 18px;
    background-color: #FFEFF0;
    line-height: 1.16;
    text-align: center;
    margin-bottom: 15px;
    padding: 5px 0;
}
.savings_ct.is-ver2 dt {
    background-color: #E2FAFB;
}
.savings-txt {
    line-height: 2;
}
.savings-txt .is-fzs {
    font-size: 10px;
    vertical-align: top;
}
.savings-fzs {
    font-size: 12px;
    padding: 5px 0 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #EBE5E1;
}
.flexible-txt {
    padding-bottom: 180px;
    line-height: 2;
    position: relative;
}
.flexible-txt::before {
    content: "";
    position: absolute;
    background: url(/teach/column/need/img/need_img16.svg) no-repeat;
    width: 200px;
    height: 161px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 15px;
}
.consultation_wrap {
    width: 100%;
    background-color: #FFEFE5;
    padding-top: 23px;
}
.mod-panel-contact {
    margin: 0;
}
.consultation-ttl {
    font-size: 22px;
    color: #FF6400;
    margin-bottom: 20px;
    text-align: center;
    line-height: 1.5;
}
.consultation_in {
    background-color: #fff;
    padding: 22px 27px 20px;
    border-radius: 20px;
    max-width: 690px;
    margin: 0 auto;
}
.consultation_in .consultation-txt {
    line-height: 2;
    margin-bottom: 10px;
}
.consultation_in .consultation-txt:last-of-type {
    margin: 0;
}
.is-orange {
    color: #FF6400;
}
.indexLst_wrap li:not(:first-child) {
    position: relative;
}
.indexLst_wrap li:not(:first-child)::before {
    content: ">";
    font-size: 14px;
    color: #2A9B9D;
    position: absolute;
    top: 0;
    left: 29px;
    z-index: 9;
}
@media print, screen and (min-width: 960px) {
    .need-inner_wrap {
        max-width: 690px;
        margin: 0 auto;
    }
    .heading_in {
        max-width: 690px;
        width: 100%;
        margin: 0 auto;
    }
    .needLst_wrap {
        max-width: 984px;
        display: flex;
        justify-content: center;
        margin: 0 auto;
    }
    .select_in {
        display: flex;
        justify-content: center;
        align-items: flex-start;
    }
    .period_in,
    .model_wrap,
    .lump_wrap {
        display: flex;
        justify-content: center;
    }
    .savingsflex_wrap {
        display: flex;
        justify-content: center;
        margin-bottom: 20px;
    }
    .lump_in {
        width: 258px;
        margin-right: 54px;
    }
    .savingsflex_wrap .savings_ct {
        width: 330px;
        border-radius: 20px;
        padding: 18px 18px 15px;
        margin: 0;
    }
    .balloon_wrap {
        max-width: 690px;
        margin: 0 auto;
    }
    .mod-button-conversion.of-search.needshop-btn .lnk:hover {
        box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .4);
        opacity: .6;
        text-decoration: none;
        transform: translateY(2px);
    }
    #is-01-2 .needLst_in.is-ver1 {
        width: 420px;
    }
    .indexLst_wrap li a:hover {
        text-decoration: underline;
    }
}
@media (max-width: 959px) {
    img {
        width: 100%;
        height: auto;
    }
    .need-inner_wrap {
        padding: 0 15px;
    }
    .heading_wrap {
        justify-content: center;
        height: 56vw;
        max-height: 210px;
    }
    .heading_in {
        margin-right: 147px;
    }
    .heading-ttl {
        font-size: 24px;
        line-height: 1.45;
        margin: 0 auto;
    }
    .heading_wrap::before {
        top: 50%;
        transform: translateY(-50%);
        margin-left: 30px;
        background-size: cover;
        height: 100%;
        width: 39.2vw;
        max-width: 147px;
    }
    .heading-ttl .is-spborder {
        border-bottom: 1px solid #000;
        padding-bottom: 10px;
        line-height: 3;
    }
    .site-content > .str-outer.is-sns {
        padding: 18px 0 0;
    }
    .point_wrap {
        border-radius: 10px;
        padding: 20px 0 10px;
    }
    .ponit-ttl {
        font-size: 20px;
    }
    .ponit-ttl .is-fzl {
        font-size: 30px;
    }
    .pointLst_wrap {
        margin: 0 5vw 0 6vw;
    }
    .pointLst_wrap li {
        padding-left: 20px;
        font-size: 16px;
    }
    .pointLst_wrap li::before {
        left: 7px;
        top: 11px;
    }
    .pointLst_wrap li .is-fzs {
        font-size: 13px;
    }
    .needshop-btn {
        width: 100%;
        margin: 0 auto 50px;
        padding: 0 15px;
    }
    .mod-button-conversion.of-search.needshop-btn .lnk {
        padding: 0;
        border-radius: 5px;
    }
    .index_wrap {
        margin: 0 15px 36px;
        padding: 25px 15px 28px;
    }
    .index-ttl {
        margin-bottom: 15px;
    }
    .indexLst_wrap {
        margin-left: 0;
        font-size: 14px;
        margin-bottom: 15px;
    }
    .indexLst_wrap li {
        margin-bottom: 12px;
    }
    .number_wrap {
        margin-bottom: 50px;
    }
    .number-ttl {
        padding-top: 50px;
        margin-bottom: 22px;
    }
    .number-ttl::before {
        font-size: 22px;
        padding: 0 8px 20px;
    }
    #is-01-1.number_in {
        margin-bottom: 45px;
    }
    .number-sbttl {
        padding: 6px 17px;
        width: 100%;
        margin: 0 auto 22px;
    }
    .numbersec_wrap.yellowbg_wrap {
        padding: 24px 10px 15px;
        margin: 16px 0 20px;
    }
    #is-01-2 .numbersec_wrap.yellowbg_wrap {
        padding: 24px 8px 15px;
        margin: 20px -15px;
        background-color: transparent;
        position: relative;
    }
    #is-01-2 .numbersec_wrap.yellowbg_wrap::before {
        content: "";
        position: absolute;
        background-color: #FCFAE6;
        width: calc(100% - 30px);
        height: 100%;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1;
    }
    #is-01-2 .numbersec_wrap.yellowbg_wrap .numbersec-ttl,
    #is-01-2 .numbersec_wrap.yellowbg_wrap img {
        position: relative;
        z-index: 10;
        margin-bottom: 0;
    }
    #is-01-2 .numbersec_wrap.yellowbg_wrap,
    .needLst_wrap.is-border,
    .select_wrap,
    #is-02-3.number_in,
    #is-03-1.number_in,
    #is-04-1.number_in {
        margin-bottom: 34px;
    }
    .numbersec-ttl {
        margin-bottom: 10px;
    }
    .yellowbg-sbtxt {
        font-size: 11px;
        max-width: 315px;
        margin: 10px auto 0;
    }
    .numbersec_wrap.gray_wrap {
        padding: 22px 15px 62px;
    }
    .gray_wrap .numbersec-ttl {
        margin-bottom: 20px;
    }
    .is-part2 {
        padding-bottom: 3px;
    }
    .is-part2 span {
        padding: 0 14px;
        position: relative;
        display: inline-block;
    }
    #is-01-2 .needLst_in {
        width: 100%;
        border-radius: 10px;
        padding: 26px 15px 15px;
        margin: 0 0 24px;
    }
    #is-01-2 .needLst_in.is-ver3 .needLst-ttl {
        padding-bottom: 125px;
    }
    .needLst-txt {
        line-height: 2;
    }
    .needLst-txt.is-ver2 {
       margin-bottom: 10px;
    }
    .needLst_wrap.is-lisk {
        margin-bottom: 34px;
        padding: 0 15px 0;
    }
    .needLst_wrap.is-lisk .needLst_in {
        border-radius: 10px;
        padding: 24px 15px 15px;
        width: 100%;
        margin: 0 0 24px;
    }
    .needLst_wrap.is-lisk .is-part2 {
        padding-bottom: 5px;
    }
    .needTable-ttl {
        font-size: 18px;
    }
    .mod-table {
        width: 100%;
    }
    .needTable_wrap {
        padding: 0 15px;
    }
    .mod-col {
        width: 24.6%;
    }
    .mod-table table td {
        padding: 14px 10px;
    }
    .mod-list > .list > li + li {
        margin: 0;
    }
    .needTable_wrap .mod-list > .list > li::before {
        top: 15px;
    }
    .needLst_wrap.is-border .needLst_in {
        padding: 22px 0 15px;
        border-left: none;
        border-bottom: 1px solid #EBE5E1;
    }
    .needLst_wrap.is-border .needLst_in:first-of-type {
        border-top: 1px solid #EBE5E1;
        border-bottom: 1px solid #EBE5E1;
    }
    .is-border .needLst-ttl {
        padding-bottom: 123px;
    }
    .is-border .needLst-ttl .is-fzs {
        font-size: 14px;
    }
    .is-border .needLst-ttl::before {
        bottom: 7px;
    }
    .is-border .needLst-txt {
        width: 100%;
    }
    #is-02-1.number_in,
    #is-02-2.number_in,
    #is-02-3.number_in,
    .number-sbttl_wrap,
    #is-02-4 .numbersec_wrap,
    #is-03-1 .need-txt,
    .simulator_wrap,
    #is-03-2 .needLst_wrap.is-border,
    #is-04.number_wrap {
        padding: 0 15px;
    }
    #is-02-1 .need-txt {
        margin-bottom: 15px;
        padding: 0;
    }
    .is-border .needLst-ttl::before {
        bottom: 15px;
    }
    #is-02-1 .needLst_wrap.is-border {
        margin-bottom: 20px;
    }
    #is-02-1 .is-border .needLst_in.is-ver3 .needLst-ttl {
        padding-bottom: 115px;
    }
    #is-02-1 .is-border .needLst_in.is-ver3 .needLst-ttl::before {
        bottom: 5px;
    }
    .select_wrap .numbersec-ttl,
    .period_wrap .numbersec-ttl {
        margin-bottom: 20px;
        font-size: 22px;
    }
    .select_wrap .needLst_in {
        border-radius: 10px;
        padding: 24px 15px 20px;
        margin-bottom: 24px;
    }
    .select_wrap .needLst-txt,
    #is-02-1 .need-txt,
    #is-03 .need-txt {
        text-align: left;
    }
    .select_ct {
        padding: 12px;
        width: 100%;
    }
    .select_ct:first-of-type {
        margin: 0 0 17px;
    }
    .select_ct dt {
        margin-right: 14px;
    }
    .select_ct dd {
        width: calc(100% - 78px);
    }
    #is-02-2 .need-inner_wrap {
        padding: 0;
    }
    .period_wrap {
        margin: 20px auto 48px;
        padding: 26px 15px 24px;
        border-radius: 10px;
    }
    .period_in li {
        border-radius: 10px;
        width: 100%;
        margin: 0 0 24px;
    }
    .period_in li:last-of-type {
        margin: 0;
    }
    .period_in li.is-ver1 {
        width: 100%;
    }
    .period_in li.is-ver1 dt {
        margin-bottom: 115px;
    }
    .period_in li.is-ver1::before {
        width: 96px;
        height: 100px;
        top: 62px;
        background-size: cover;
    }
    .period_in li dt {
        margin-bottom: 12px;
    }
    .period_in li dd {
        line-height: 2;
    }
    #is-02-3 .need-txt {
        text-align: left;
        margin-bottom: 30px;
    }
    .model_in {
        width: 100%;
        border-radius: 3px;
        padding: 30px 15px 15px;
    }
    .model_in:first-of-type {
        margin: 0 0 24px;
    }
    .model-ttl {
        font-size: 18px;
        margin-bottom: 15px;
    }
    .model_in p {
        line-height: 2;
    }
    #is-02-4 .numbersec_wrap.gray_wrap {
        padding: 20px 60px 50px;
    }
    #is-02-4 .numbersec_wrap:last-of-type {
        margin-bottom: 0;
        padding: 32px 30px 38px;
    }
    #is-02-4 .numbersec-ttl {
       margin-bottom: 35px;
       font-size: 22px;
    }
    #is-02-4 .gray_wrap .numbersec-ttl {
        font-size: 18px;
        margin-bottom: 22px;
     }
    .planLst_wrap {
        max-width: 762px;
        margin: 0 auto;
    }
    .planLst_wrap li {
        margin-bottom: 18px;
    }
    .planLst_wrap li:last-of-type {
        margin: 0;
    }
    .planLst_wrap li dl {
        align-items: center;
        padding-bottom: 14px;
    }
    .planLst_wrap li:last-of-type dl {
        padding-bottom: 0;
        border: none;
    }
    .planLst_wrap li dt {
        width: 70px;
        margin-right: 15px;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 52px;
        line-height: 1.42;
    }
    .planLst_wrap li.is-ver2 dt {
        align-items: center;
    }
    .planLst_wrap li dd {
        width: calc(100% - 85px);
    }
    .lump_in {
        width: 100%;
        margin: 0 0 20px;
    }
    .lump_in:last-of-type {
        margin: 0;
    }
    .lump-ttl {
        font-size: 16px;
        border-radius: 3px;
        line-height: 1.45;
    }
    #is-03-1 .numbersec_wrap.yellowbg_wrap {
        margin: 22px auto;
        padding: 20px 15px;
    }
    #is-03-1 .numbersec_wrap.yellowbg_wrap .numbersec-ttl {
        font-size: 18px;
    }
    #is-03-1 .numbersec_wrap.yellowbg_wrap .numbersec-ttl span {
        font-size: 13px;
    }
    #is-03-1 .yellowbg-sbtxt {
        margin: 0 auto 0;
    }
    #is-03 .simulator_wrap .need-txt {
       padding: 0;
       margin-bottom: 40px;
    }
    #is-03-2 .is-border .needLst-ttl {
        padding-bottom: 130px;
    }
    #is-03-2 .needLst_wrap.is-border .needLst_in:first-of-type {
        border-top: none;
        padding-top: 0;
    }
    #is-03-2 .needLst_wrap.is-border .needLst_in:last-of-type {
        padding-bottom: 0;
        border-bottom: none;
    }
    #is-03-2 .is-border .needLst_in.is-ver1 .needLst-ttl::before,
    #is-03-2 .is-border .needLst_in.is-ver2 .needLst-ttl::before {
        bottom: 10px;
    }
    #is-03-2 .is-border .needLst_in.is-ver2 .needLst-ttl {
        padding-bottom: 114px;
    }
    #is-03-2 .is-border .needLst_in.is-ver3 .needLst-ttl {
        padding-bottom: 150px;
    }
    #is-03-2 .gray_wrap {
        padding: 20px 0 42px;
        text-align: left;
    }
    #is-03-2 .needLst_wrap.is-border {
        margin-bottom: 20px;
    }
    #is-04-2.savings_wrap {
        padding: 0;
    }
    #is-04-2 .number-sbttl {
        margin-bottom: 17px;
    }
    .savingstxt_wrap.need-inner_wrap {
        margin-bottom: 20px;
        padding: 0 2px 0 0;
    }
    .savingstxt-txt {
        padding-bottom: 215px;
    }
    .savings_in {
        border-radius: 10px;
        padding: 20px 15px 25px;
        margin: 0 auto 24px;
    }
    .savings_in:last-of-type {
        margin-bottom: 0;
    }
    .savings_in .numbersec-ttl,
    .savingsflex_wrap {
        margin-bottom: 20px;
    }
    .savings_ct {
        padding: 20px;
    }
    .savingsflex_wrap .savings_ct:first-of-type {
        margin: 0 0 24px;
    }
    .savingsflex_wrap .savings_ct {
        width: 100%;
        border-radius: 10px;
        padding: 24px 20px;
    }
    .savings_in .need-inner_wrap {
        padding: 0;
    }
    .savings-txt.is-ver2 {
        margin-bottom: 12px;
    }
    .savings-txt .is-fzs {
        font-size: 10px;
        vertical-align: top;
    }
    .savings-fzs {
        font-size: 12px;
        padding: 5px 0 15px;
        margin-bottom: 15px;
    }
    .flexible-txt {
        padding-bottom: 195px;
    }
    .flexible-txt::before {
        bottom: 20px;
    }
    .balloon_wrap {
        margin: 0;
        padding: 0 15px;
    }
    .consultation_wrap {
        width: 100vw;
        padding: 23px 15px 0;
        margin: 0 -15px;
    }
    .consultation_in {
        padding: 22px 15px 20px;
        border-radius: 10px;
    }
    .mod-table.of-column table {
        display: table;
    }
    .mod-table.of-column table tbody {
        display: table-row-group;
    }
    .mod-table.of-column table tr {
        display: table-row;
    }
    .mod-table.of-column table td, .mod-table.of-column table th {
        display: table-cell;
    }
    .simulator_wrap .need-txt span {
        font-size: 11px;
    }
}
@media (max-width: 374px) {
    .heading-ttl {
        font-size: 6.4vw;
    }
    .heading_in {
        margin-right: 120px;
    }
}