.text01 {
  position: relative;
  padding-bottom: 10px;
}

.cta-line {
  position: absolute;
  bottom: 0;
}

.text01 span {
  position: relative;
  left: 8px;
  z-index: 2;
  color: #505050;
  font-weight: 700;
  font-size: 32px;
}

.text02 {
  display: flex;
  align-items: center;
  justify-content: center;
}

.line-l {
  display: inline-block;
  width: 35px;
  height: 1px;
  background-color: #8bb424;
  transform: rotate(45deg);
  transform-origin: center;
}

.line-r {
  display: inline-block;
  width: 35px;
  height: 1px;
  background-color: #8bb424;
  transform: rotate(-45deg);
  transform-origin: center;
}

.text02 .text-02 {
  margin: 0 5px;
  color: #8bb424;
  font-weight: bold;
  font-size: 22px;
}

.cta__btn a {
  position: relative;
  display: inline-block;
}

.cta__btn a span {
  position: absolute;
  top: 50%;
  left: 104px;
  color: #fff;
  font-weight: bold;
  font-size: 34px;
  letter-spacing: 0.03em;
  transform: translateY(-50%);
}

.tab-br {
  display: none;
}

.cta__icon .fuki-01 {
  position: absolute;
  top: 23px;
  left: 40px;
  color: #505050;
  font-weight: bold;
  font-size: 20px;
  text-align: left;
}

.cta__icon .fuki-01 span {
  font-size: 20px;
}

.cta__icon .fuki-02 {
  position: absolute;
  right: 24px;
  bottom: 47px;
  color: #505050;
  font-weight: bold;
  font-size: 20px;
}

.cta__icon .fuki-02 span {
  font-size: 20px;
}

@media (max-width: 1000px) {
  .tab-br {
    display: inline;
  }

  .cta__btn a span {
    left: 126px;
    font-size: 46px;
  }
}

@media (max-width: 767px) {
  .cta__btn a span {
    left: 56px;
    width: 180px;
    font-size: 24px;
  }

  .text01 {
    padding-bottom: 10px;
    line-height: 1.6;
  }

  .text01 span {
    font-size: 16px;
  }

  .cta__text.text01 img {
    height: auto;
  }

  .text02 .text-02 {
    font-size: 14px;
  }

  .line-l {
    width: 20px;
  }

  .line-r {
    width: 20px;
  }

  .cta__icon .fuki-01 {
    top: 13px;
    left: 50px;
    font-size: 16px;
  }

  .cta__icon .fuki-01 span {
    font-size: 24px;
  }

  .cta__icon .fuki-02 {
    bottom: 23px;
  }
}

@media (max-width: 360px) {
  .cta__btn a span {
    left: 46px;
  }

  .text02 .text-02 {
    margin: 0;
    font-size: 14px;
  }
}

.reason-hdg {
  height: 190px;
  background-image: url(../img/hdg_reason2_pc.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.reason-up {
  display: block;
  padding-top: 26px;
  font-size: 46px;
  font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.reason-down {
  font-size: 74px;
  font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.circle {
  position: absolute;
  top: 5px;
}

.circle span {
  position: absolute;
  left: 0;
  width: 96%;
  color: #fff;
  font-style: italic;
  text-align: center;
  text-shadow:
    1px 1px 0 #aa880b,
    -1px -1px 0 #aa880b,
    -1px 1px 0 #aa880b,
    1px -1px 0 #aa880b,
    0 1px 0 #aa880b,
    0 -1px 0 #aa880b,
    -1px 0 0 #aa880b,
    1px 0 0 #aa880b;
}

.circle01 {
  top: 30px;
}

.circle02 {
  top: 60px;
  font-size: 48px;
  font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.circle03 {
  top: 121px;
}

.reason-lead {
  font-size: 42px;
  font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  line-height: 1.6;
}

.l-container-wrap.group04 {
  background:
    url("../img/bg_easycooking.png") repeat-x top center,
    url("../img/bg_easycooking_turn.png") repeat-x bottom center;
}

@media (max-width: 1000px) {
  .reason-hdg {
    width: 640px;
    margin: 20px auto 0;
    padding-left: 50px;
    background-image: url(../img/hdg_reason2_sp.png);
  }

  .circle {
    top: 28px;
    left: calc(50vw - 380px);
  }
}

@media (max-width: 767px) {
  .reason-hdg {
    width: 320px;
    height: 95px;
    padding-left: 70px;
  }

  .circle {
    top: 10px;
    left: calc(50vw - 160px);
  }

  .circle img {
    width: 80px;
  }

  .reason-up {
    padding-top: 16px;
    font-size: 22px;
  }

  .reason-down {
    font-size: 34px;
  }

  .circle01 {
    top: 10px;
    font-size: 12px;
  }

  .circle02 {
    top: 28px;
    font-size: 22px;
  }

  .circle03 {
    top: 54px;
    font-size: 12px;
  }

  .reason-lead {
    font-size: 18px;
  }
}

@media (max-width: 340px) {
  .circle {
    left: 20px;
  }

  .reason-hdg {
    margin-left: -20px;
  }

  .reason-up {
    font-size: 20px;
  }

  .reason-down {
    font-size: 30px;
  }
}

.problem-hdg {
  color: #505050;
  font-size: 42px;
}

.problem-hdg span {
  display: block;
  margin-bottom: 10px;
  font-weight: normal;
  font-size: 30px;
}

@media (max-width: 767px) {
  .problem-hdg {
    font-size: 20px;
  }

  .problem-hdg span {
    margin-bottom: 5px;
    font-size: 16px;
  }
}

.answer-text {
  font-weight: bold;
  font-size: 44px;
  text-shadow: 0 1px 2px #888;
}

.answer-text span {
  display: block;
  margin-bottom: 5px;
  font-weight: normal;
  font-size: 26px;
}

@media (max-width: 767px) {
  .answer-text {
    font-size: 24px;
  }

  .answer-text span {
    margin-bottom: 5px;
    font-size: 14px;
  }
}

.costcut-hdg01 {
  width: 700px;
  height: 148px;
  margin: 0 auto;
  padding-top: 20px;
  padding-left: 60px;
  color: #505050;
  font-size: 26px;
  text-align: left;
  background-image: url(../img/hdg_costcut01_circle.png);
  background-repeat: no-repeat;
  background-position-x: left;
  background-size: contain;
}

.easycooking-hdg01 {
  width: 770px;
  height: 148px;
  margin: 0 auto;
  padding-top: 20px;
  padding-left: 60px;
  color: #505050;
  font-size: 26px;
  text-align: left;
  background-image: url(../img/hdg_costcut02_circle.png);
  background-repeat: no-repeat;
  background-position-x: left;
  background-size: contain;
}

.menu-hdg01 {
  width: 1000px;
  height: 148px;
  margin: 0 auto 20px;
  padding-top: 20px;
  padding-left: 40px;
  color: #505050;
  font-size: 26px;
  text-align: left;
  background-image: url(../img/hdg_costcut01_circle.png);
  background-repeat: no-repeat;
  background-position-x: left;
  background-size: contain;
}

.costcut-hdg01 .ex,
.easycooking-hdg01 .ex {
  font-weight: normal;
  font-size: 24px;
  font-style: italic;
}

.down-left {
  color: #8ab424;
  font-weight: bold;
  font-size: 46px;
}

.down-right {
  color: #8ab424;
  font-weight: bold;
  font-size: 72px;
  line-height: 1;
  letter-spacing: 0;
}

.down-ex {
  color: #8ab424;
  font-weight: bold;
  font-size: 72px;
  font-style: italic;
  line-height: 1;
}

.easycooking-hdg01 .down-left,
.easycooking-hdg01 .down-right,
.easycooking-hdg01 .down-ex {
  color: #f38336;
}

.down-sp,
.down-tb {
  display: none;
}

@media (max-width: 1000px) {
  .down-tb {
    display: inline;
  }

  .easycooking-hdg01 {
    width: 465px;
    height: 180px;
  }

  .menu-hdg01 {
    width: 720px;
    height: 180px;
  }
}

@media (max-width: 767px) {
  .costcut-hdg01 {
    width: 215px;
    padding-top: 8px;
    padding-left: 20px;
    font-size: 14px;
    background-size: 80px;
  }

  .easycooking-hdg01 {
    width: 216px;
    height: auto;
    margin-bottom: 20px;
    padding-top: 8px;
    padding-left: 20px;
    font-size: 14px;
    background-size: 80px;
  }

  .menu-hdg01 {
    width: 100%;
    max-width: 340px;
    height: auto;
    padding-left: 0;
  }

  .costcut-hdg01 .ex,
  .easycooking-hdg01 .ex {
    font-size: 14px;
  }

  .down-sp {
    display: inline;
  }

  .down-left {
    display: inline-block;
    margin: 8px 0 5px;
    font-size: 22px;
  }

  .down-right {
    font-size: 36px;
  }

  .menu-hdg01 .down-right {
    font-size: 34px;
  }

  .down-ex {
    font-size: 36px;
  }
}

.costcut-price__item {
  padding-bottom: 16px;
  color: #505050;
  font-weight: bold;
  font-size: 38px;
}

.costcut-price__item span {
  margin-left: 5px;
  color: #8ab424;
}

.price01 {
  background-image: url(../img/txt_costcut01.png);
  background-repeat: no-repeat;
  background-position-y: bottom;
  background-size: contain;
}

.price02 {
  background-image: url(../img/txt_costcut02.png);
  background-repeat: no-repeat;
  background-position-y: bottom;
  background-size: cover;
}

@media (max-width: 767px) {
  .costcut-price__item {
    margin: 0 auto;
    padding-bottom: 10px;
    font-size: 20px;
  }

  .price01 {
    width: 230px;
  }

  .price02 {
    width: 230px;
  }
}

.easycooking-merit {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.easycooking-hdg02 {
  color: #f38336;
}

.ease-merit {
  position: relative;
  width: 210px;
  height: 253px;
  margin-bottom: 30px;
  text-align: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.ease-merit p {
  position: absolute;
  top: 65%;
  width: 100%;
  color: #505050;
  font-size: 24px;
  line-height: 1.4;
  transform: translateY(-55%);
}

.ease-merit p span {
  color: #f38336;
  font-weight: bold;
  font-size: 30px;
}

.ease01 {
  background-image: url(../img/img_merit2_01.png);
}

.ease02 {
  background-image: url(../img/img_merit2_02.png);
}

.ease03 {
  background-image: url(../img/img_merit2_03.png);
}

.ease04 {
  background-image: url(../img/img_merit2_04.png);
}

@media (max-width: 1000px) {
  .easycooking-merit {
    width: 480px;
    margin: 0 auto;
  }

  .ease-merit {
    margin-bottom: 30px;
  }
}

@media (max-width: 767px) {
  .easycooking-merit {
    width: 240px;
  }

  .ease-merit {
    width: 105px;
    height: 127px;
  }

  .ease-merit p {
    font-size: 12px;
  }

  .ease-merit p span {
    font-size: 16px;
  }
}

.variation-hdg {
  color: #8ab424;
  text-shadow: 0 0 20px #fff, 0 0 20px #fff, 0 0 20px #fff, 0 0 20px #fff, 0 0 20px #fff;
}

.var-up {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  padding-top: 20px;
  font-size: 26px;
}

.var-up::before {
  display: inline-block;
  width: 40px;
  height: 2px;
  background-color: #8ab424;
  box-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
  transform: rotate(45deg);
  transform-origin: center;
  content: "";
}

.var-up::after {
  display: inline-block;
  width: 40px;
  height: 2px;
  background-color: #8ab424;
  box-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
  transform: rotate(-45deg);
  transform-origin: center;
  content: "";
}

.var-year {
  font-size: 80px;
}

.var-mid {
  display: inline-block;
  margin: 10px 0;
  font-size: 50px;
}

.var-midbl {
  color: #000;
  font-size: 32px;
}

.var-down {
  display: block;
  margin-bottom: 30px;
  color: #000;
  font-size: 32px;
}

.variation-btn a {
  position: relative;
  display: inline-block;
  height: 52px;
}

.variation-btn a span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 400px;
  color: #fff;
  font-size: 22px;
  text-shadow: 1px 1px 4px #444;
  transform: translate(-50%, -50%);
}

@media (max-width: 767px) {
  .variation-btn a {
    height: 26px;
  }

  .variation-btn a span {
    width: 200px;
    font-size: 10px;
  }

  .var-up {
    font-size: 14px;
  }

  .var-up::before,
  .var-up::after {
    width: 20px;
  }

  .variation-hdg img {
    width: 150px;
  }

  .var-year {
    font-size: 40px;
  }

  .var-mid {
    margin: 10px 0 5px;
    font-size: 24px;
  }

  .var-midbl {
    font-size: 16px;
  }

  .var-down {
    font-size: 16px;
  }
}

@media (max-width: 360px) {
  .var-mid {
    font-size: 22px;
  }

  .menu-hdg01 .down-right {
    font-size: 28px;
  }

  .menu-hdg01 .down-ex {
    font-size: 30px;
  }
}

.case-hdg {
  position: relative;
  text-align: center;
}

.case-hdg span {
  position: absolute;
  top: 50px;
  left: 50%;
  font-size: 50px;
  transform: translateX(-50%);
}

.about-hdg {
  color: #505050;
  font-size: 53px;
  font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.about-up {
  display: block;
  margin-bottom: 8px;
  font-size: 34px;
  letter-spacing: 0.1em;
}

.about-ora {
  color: #f38336;
}

.case-list {
  margin-top: 0;
}

@media (max-width: 767px) {
  .case-hdg span {
    top: 60%;
    font-size: 7.2vw;
    text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
  }

  .about-hdg {
    font-size: 26px;
  }

  .about-up {
    font-size: 18px;
  }
}

.contact-mail {
  position: relative;
}

.contact-mail span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  font-weight: bold;
  font-size: 24px;
  text-decoration: none;
  transform: translate(-50%, -50%);
}

.phone-call {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.phone-call span {
  font-size: 46px;
  font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.phone-ttl {
  display: inline-block;
  margin-right: 8px;
  padding: 0 5px;
  color: #505050;
  font-size: 20px;
  line-height: 28px;
  background-color: #eee;
}

.phone-time {
  color: #505050;
  font-size: 20px;
}

@media (max-width: 1000px) {
  .contact-mail span {
    font-size: 22px;
  }

  .phone-call span {
    font-size: 30px;
  }

  .phone-ttl {
    margin-right: 4px;
    font-size: 16px;
  }

  .phone-time {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .phone-call span {
    font-size: 24px;
  }

  .phone-ttl {
    display: block;
    margin-right: 0;
    margin-bottom: 5px;
  }
}

@media (max-width: 360px) {
  .phone-call span {
    font-size: 20px;
  }
}

.reason-table {
  margin-bottom: 30px;
}

.mv {
  position: relative;
  max-width: 1500px;
  margin: 0 auto;
  margin-bottom: -12%;
  text-align: center;
}

.mv-text-1 {
  position: absolute;
  top: calc(100vw / 15);
  left: 50%;
  width: 100%;
  color: #8ab424;
  transform: translateX(-50%);
}

.mv-text-1-a {
  font-size: calc(36vw / 15);
}

.mv-text-1-b {
  position: relative;
  font-size: calc(42vw / 15);
}

.mv-text-1-b::before {
  position: absolute;
  top: calc(-33vw / 15);
  content: "・・・・";
}

.mv-text-2 {
  position: absolute;
  top: calc(168vw / 15);
  left: 50%;
  width: 100%;
  color: #da5e60;
  font-size: calc(68vw / 15);
  text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff;
  transform: translateX(-50%);
}

.mv-text-3 {
  position: absolute;
  top: calc(260vw / 15);
  left: 50%;
  width: 100%;
  color: #da5e60;
  font-size: calc(68vw / 15);
  text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff;
  transform: translateX(-50%);
}

.mv-merit-1 {
  position: absolute;
  top: calc(407vw / 15);
  left: calc(376vw / 15);
  color: #727272;
  font-size: calc(50vw / 15);
  text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff;
  transform: rotate(-2deg);
}

.mv-merit-2 {
  position: absolute;
  top: calc(407vw / 15);
  left: calc(660vw / 15);
  color: #727272;
  font-size: calc(50vw / 15);
  text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff;
  transform: rotate(-2deg);
}

.mv-merit-3 {
  position: absolute;
  top: calc(407vw / 15);
  left: calc(954vw / 15);
  color: #727272;
  font-size: calc(50vw / 15);
  text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff, 0 0 8px #fff;
  transform: rotate(-2deg);
}

.mv-word-1 {
  position: absolute;
  top: calc(66vw / 15);
  right: calc(85vw / 15);
  color: #897259;
  font-size: calc(36vw / 15);
  font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
  transform: rotate(19deg);
}

.mv-word-2 {
  position: absolute;
  bottom: calc(250vw / 15);
  left: calc(26vw / 15);
  color: #897259;
  font-size: calc(36vw / 15);
  font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
  transform: rotate(-13deg);
}

@media (max-width: 1000px) {
  .mv {
    width: 768px;
  }

  .mv-text-1 {
    top: 60px;
  }

  .mv-text-1-a {
    font-size: 21px;
  }

  .mv-text-1-b {
    font-size: 25px;
  }

  .mv-text-1-b::before {
    top: -20px;
  }

  .mv-text-2 {
    top: 105px;
    font-size: 40px;
    text-shadow: none;
  }

  .mv-text-3 {
    top: 163px;
    font-size: 40px;
    text-shadow: none;
  }

  .mv-merit-1 {
    top: 258px;
    left: 44%;
    font-size: 27px;
    text-shadow: none;
  }

  .mv-merit-2 {
    top: 316px;
    left: 44%;
    font-size: 27px;
    text-shadow: none;
  }

  .mv-merit-3 {
    top: 373px;
    left: 44%;
    font-size: 27px;
    text-shadow: none;
  }

  .mv-word-1 {
    top: 37px;
    right: 20px;
    display: inline;
    font-size: 20px;
  }

  .mv-word-2 {
    bottom: 113px;
    left: 15px;
    display: inline;
    font-size: 20px;
  }
}

@media (max-width: 767px) {
  .mv {
    width: 100%;
    margin-bottom: -5%;
  }

  .mv-text-1 {
    top: calc(42vw / 7.68);
  }

  .mv-text-sp-block {
    display: block;
    margin-bottom: calc(12vw / 7.68);
  }

  .mv-text-1-a {
    font-size: calc(28vw / 7.68);
  }

  .mv-text-1-b {
    font-size: calc(32vw / 7.68);
  }

  .mv-text-1-b::before {
    top: calc(-24vw / 7.68);
  }

  .mv-text-2 {
    top: calc(130vw / 7.68);
    font-size: calc(40vw / 7.68);
  }

  .mv-text-3 {
    top: calc(186vw / 7.68);
    font-size: calc(40vw / 7.68);
  }

  .mv-merit-1 {
    top: calc(272vw / 7.68);
    left: 42%;
    font-size: calc(36vw / 7.68);
  }

  .mv-merit-2 {
    top: calc(338vw / 7.68);
    left: 42%;
    font-size: calc(36vw / 7.68);
  }

  .mv-merit-3 {
    top: calc(401vw / 7.68);
    left: 42%;
    font-size: calc(36vw / 7.68);
  }

  .mv-word-1 {
    top: calc(40vw / 7.68);
    right: calc(14vw / 7.68);
    display: inline;
    font-size: calc(24vw / 7.68);
  }

  .mv-word-2 {
    bottom: calc(112vw / 7.68);
    left: calc(19vw / 7.68);
    display: inline;
    font-size: calc(24vw / 7.68);
  }
}

@media (max-width: 520px) {
  .mv-text-sp-block {
    display: block;
    margin-bottom: calc(-5vw / 7.68);
  }
}

@media (max-width: 360px) {
  .mv-text-sp-block {
    display: block;
    margin-bottom: calc(-16vw / 7.68);
  }
}

@media (min-width: 1500px) {
  .mv {
    margin-bottom: -180px;
  }

  .mv-text-1 {
    top: 100px;
  }

  .mv-text-1-a {
    font-size: 36px;
  }

  .mv-text-1-b {
    font-size: 42px;
  }

  .mv-text-1-b::before {
    position: absolute;
    top: -33px;
    content: "・・・・";
  }

  .mv-text-2 {
    top: 168px;
    font-size: 68px;
  }

  .mv-text-3 {
    top: 260px;
    font-size: 68px;
  }

  .mv-merit-1 {
    top: 407px;
    left: 376px;
    font-size: 50px;
  }

  .mv-merit-2 {
    top: 407px;
    left: 660px;
    font-size: 50px;
  }

  .mv-merit-3 {
    top: 407px;
    left: 954px;
    font-size: 50px;
  }

  .mv-word-1 {
    top: 66px;
    right: 85px;
    font-size: 36px;
  }

  .mv-word-2 {
    bottom: 250px;
    left: 26px;
    font-size: 36px;
  }
}

@media (min-width: 768px) {
  .cta.cta02.first {
    margin-top: 75px;
  }
}
