.first_wrap {
  padding: 25px 0 0;
}
.first_wrap .inner {
  width: 960px;
  margin-inline: auto;
}
.first_wrap .breadcrumbs {
  font-weight: 400;
  margin: 0 0 65px;
  color: #666;
}
.first_wrap .breadcrumbs a {
  color: #666;
}
.first_wrap .page_ttl {
  text-align: center;
  font-size: 43px;
  margin-bottom: 70px;
}

.first_sect01 {
  background: #F8F5ED url(https://ritafoods.jp/user_data/packages/raku2pc/img/rd/first/bg01.jpg) no-repeat center 0;
  padding: 50px 0 100px;
}
.first_sect01 .ttl {
  text-align: center;
  margin-bottom: 59px;
}
.first_sect01 .ttl .txt01 {
  color: #fff;
  background: #42210B;
  width: 313px;
  height: 50px;
  margin: 0 auto;
  padding: 10px 0 0;
  font-size: 26px;
  font-weight: 700;
  position: relative;
}
.first_sect01 .ttl .txt01::after {
  content: "";
  display: block;
  background: #42210B;
  height: 18px;
  width: 10px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: -16px;
  left: 0;
  right: 0;
  margin-inline: auto;
}
.first_sect01 .ttl .txt02 {
  width: fit-content;
  width: -moz-fit-content;
  border-bottom: 5px solid #1A1A1A;
  margin: 34px auto 30px;
  padding: 0 0 10px;
  font-size: 26px;
  letter-spacing: 0.01em;
  color: #1A1A1A;
  font-weight: 600;
}
.first_sect01 .headline {
  width: 960px;
  margin: 0 auto 48px;
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  gap: 23px 0;
}
.first_sect01 .headline li {
  background: #fff;
  width: 460px;
  border-radius: 0px 0px 20px 20px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}
.first_sect01 .headline .sub {
  background: url(https://ritafoods.jp/user_data/packages/raku2pc/img/rd/first/box_sub.png) no-repeat center 0/100%;
  width: 460px;
  height: 88px;
  color: #E6E6E6;
  text-align: center;
  font-size: 23px;
  letter-spacing: 0.06em;
  padding: 18px 0 0;
}
.first_sect01 .headline .txt {
  height: 94px;
  display: flex;
  align-items: center;
  padding: 0 0 0 16px;
}
.first_sect01 .headline .txt span {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #9B0000;
  width: 60px;
  height: 60px;
  text-align: center;
  font-size: 21px;
  margin: -10px 0 0;
}
.first_sect01 .headline .txt p {
  width: 380px;
  font-size: 25px;
  line-height: 32px;
  color: #9B0000;
  text-align: center;
  font-weight: 600;
  margin-top: -10px;
}
.first_sect01 .txt03 {
  font-weight: 900;
  font-size: 43px;
  letter-spacing: 0.02em;
  color: #1A1A1A;
  text-align: center;
}
.first_sect01 .catch {
  margin: 160px 0 85px 610px;
  width: 156px;
}
.first_sect01 .support_list {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  gap: 73px 0;
}
.first_sect01 .support_list li {
  background: #fff url(https://ritafoods.jp/user_data/packages/raku2pc/img/rd/first/box_bg.png) no-repeat center 0/100%;
  width: 460px;
  height: 640px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  border: 4px solid #BEA050;
}
.first_sect01 .support_list .list_sub {
  position: relative;
  top: -34px;
}
.first_sect01 .support_list .list_sub span {
  width: fit-content;
  width: -moz-fit-content;
  display: block;
  color: #fff;
  background: #9B0000;
  height: 48px;
  margin: 6px auto 0;
  padding: 5px 15px;
  font-size: 34px;
  letter-spacing: 0.08em;
}
.first_sect01 .support_list .list_img {
  width: 406px;
  margin: -8px auto 0;
}
.first_sect01 .support_list .list_txt {
  width: 391px;
  font-size: 20px;
  line-height: 36px;
  font-weight: 400;
  margin: 19px auto 0;
}

.first_sect02 {
  background: url(https://ritafoods.jp/user_data/packages/raku2pc/img/rd/first/bg02.jpg) no-repeat center 0;
  height: 1728px;
  padding: 77px 0 0;
}
.first_sect02 .ttl {
  text-align: center;
  margin: 0 auto 32px;
}
.first_sect02 .ttl .txt01 {
  font-size: 24px;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  gap: 20px;
}
.first_sect02 .ttl .txt01::before, .first_sect02 .ttl .txt01::after {
  content: "";
  display: block;
  width: 2px;
  height: 68px;
  background: #BEA050;
}
.first_sect02 .ttl .txt01::before {
  rotate: -20deg;
}
.first_sect02 .ttl .txt01::after {
  rotate: 20deg;
}
.first_sect02 .ttl .txt02 {
  font-size: 53px;
  font-weight: 700;
  margin: 13px 0 0;
}
.first_sect02 .ttl .txt02 strong {
  color: #BEA050;
  font-weight: 700;
}
.first_sect02 .step_list li {
  display: flex;
  gap: 80px;
}
.first_sect02 .step_list li:nth-child(1) {
  margin-bottom: 185px;
}
.first_sect02 .step_list li:nth-child(2) {
  margin-bottom: 196px;
}
.first_sect02 .step_list li:nth-child(2) .step_list_txt {
  padding: 16px 0 0;
}
.first_sect02 .step_list li:nth-child(3) {
  margin-bottom: 196px;
}
.first_sect02 .step_list li:nth-child(3) .step_list_txt {
  padding: 0;
}
.first_sect02 .step_list .img {
  width: 394px;
}
.first_sect02 .step_list .step_list_txt {
  width: 400px;
  padding: 72px 0 0;
}
.first_sect02 .step_list .step_list_txt .txt01 {
  color: #fff;
  background: #BEA050;
  width: 344px;
  height: 63px;
  text-align: center;
  font-size: 35px;
  letter-spacing: 0.06em;
  margin: 0 auto;
  padding: 10px 0 0;
  font-weight: 700;
}
.first_sect02 .step_list .step_list_txt .txt02 {
  text-align: center;
  font-size: 25px;
  line-height: 35px;
  letter-spacing: 0.01em;
  font-weight: 700;
  margin: 20px 0 14px;
}
.first_sect02 .step_list .step_list_txt .txt03 {
  font-size: 20px;
  line-height: 36px;
  color: #333333;
}

.first_sect03 {
  background: #F1EAD9;
  padding: 105px 0 100px;
}
.first_sect03 .item_container {
  width: 960px;
  margin: 0 auto;
  padding: 50px 0 54px;
  background: #fff;
  border: 6px solid #BEA050;
  position: relative;
}
.first_sect03 .item_container::before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  border: 2px solid #BEA050;
  width: 940px;
  height: calc(100% - 12px);
}
.first_sect03 .item_container .item_name {
  text-align: center;
  font-size: 48px;
  color: #1A1A1A;
  font-weight: 700;
}
.first_sect03 .item_container .price_wrap {
  width: 710px;
  margin: 55px auto 28px;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  gap: 53px;
}
.first_sect03 .item_container .price_wrap .img {
  width: 344px;
}
.first_sect03 .item_container .price_wrap .price {
  width: 281px;
}
.first_sect03 .item_container .set_contents {
  border: 1px solid #BB9540;
  width: 710px;
  margin: 0 auto;
}
.first_sect03 .item_container .set_contents .sub {
  text-align: center;
  color: #fff;
  background: #BB9540;
  font-size: 20px;
  letter-spacing: 0.08em;
  height: 34px;
}
.first_sect03 .item_container .set_contents .list_wrap {
  display: flex;
  gap: 10px;
  padding: 15px 0 15px 23px;
}
.first_sect03 .item_container .set_contents .set_list li {
  font-size: 20px;
  line-height: 26px;
  letter-spacing: 0.08em;
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 10px;
}
.first_sect03 .item_container .set_contents .set_list li:last-child {
  margin-bottom: 0;
}
.first_sect03 .item_container .note {
  width: 690px;
  margin: 15px auto 0;
}
.first_sect03 .item_container .note li {
  line-height: 26px;
  letter-spacing: 0.08em;
  text-indent: -1em;
  padding-left: 1em;
  font-weight: 400;
}
.first_sect03 .btn {
  background: #9B0000;
  color: #fff;
  width: 430px;
  height: 70px;
  border-radius: 100vh;
  margin: 50px auto;
  display: block;
  font-size: 24px;
  letter-spacing: 0.06em;
  padding: 22px 0 0 76px;
  font-weight: 700;
  position: relative;
}
.first_sect03 .btn::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-right: 2px solid #FFF;
  border-bottom: 2px solid #FFF;
  rotate: -45deg;
  position: absolute;
  right: 28px;
  top: 30px;
}
.first_sect03 .bnr_tel {
  width: 960px;
  margin: 0 auto;
  text-align: center;
}
.first_sect03 .bnr_tel p {
  font-size: 20px;
  line-height: 36px;
  margin: 5px 0 0;
}
.first_sect03 .btn_akami {
  background: #603813;
  color: #fff;
  width: 650px;
  height: 70px;
  border-radius: 100vh;
  margin: 54px auto;
  display: block;
  font-size: 24px;
  letter-spacing: 0.06em;
  padding: 22px 0 0 56px;
  font-weight: 700;
  position: relative;
}
.first_sect03 .btn_akami::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-right: 2px solid #FFF;
  border-bottom: 2px solid #FFF;
  rotate: -45deg;
  position: absolute;
  right: 28px;
  top: 30px;
}

.bnr_btm {
  background: #9B0000;
  height: 70px;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 99;
}
.bnr_btm a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  padding: 15px 0 0;
}
.bnr_btm img {
  width: 879px;
}