section {
 position: relative;
 width: 100%;
}
section h2 {
 line-height: 1.4736842105;
 font-weight: 100;
 font-size: 38px;
 letter-spacing: 0.096em;
}
@media screen and (max-width: 1024px) {
 section h2 {
  font-size: 24px;
 }
}
section.plan_area {
 padding: 0 3% 80px;
}
@media screen and (max-width: 1024px) {
 section.plan_area {
  padding: 0 5% 40px;
 }
}
section.plan_area >.inner .lead {
 width: 100%;
 max-width: 1200px;
 margin: 0 auto;
}
section.plan_area >.inner .lead h2 {
 margin-bottom: 40px;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner .lead h2 {
  margin-bottom: 20px;
 }
}
section.plan_area >.inner .lead p {
 line-height: 2.1875;
 font-size: 16px;
 letter-spacing: 0.01em;
}
section.plan_area >.inner ul.plans >li {
 padding: 80px 0 90px;
 border-top: 1px solid #536f71;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li {
  padding-block: 40px;
 }
}
section.plan_area >.inner ul.plans >li:last-child {
 border-bottom: 1px solid #536f71;
}
section.plan_area >.inner ul.plans >li >.inner {
 width: 100%;
 max-width: 1200px;
 margin: 0 auto;
}
section.plan_area >.inner ul.plans >li >.inner .ttl_area {
 display: flex;
 align-items: center;
 gap: 30px;
 margin-bottom: 50px;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li >.inner .ttl_area {
  gap: 10px;
  margin-bottom: 30px;
 }
}
@media screen and (max-width: 600px) {
 section.plan_area >.inner ul.plans >li >.inner .ttl_area {
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
 }
}
section.plan_area >.inner ul.plans >li >.inner .ttl_area h3 {
 line-height: 1.1842105263;
 font-weight: 100;
 font-size: 38px;
 letter-spacing: 0.06em;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li >.inner .ttl_area h3 {
  font-size: 24px;
 }
}
section.plan_area >.inner ul.plans >li >.inner .ttl_area p {
 line-height: 1.5;
 font-weight: 100;
 font-size: 24px;
 letter-spacing: 0.03em;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li >.inner .ttl_area p {
  font-size: 18px;
 }
}
section.plan_area >.inner ul.plans >li >.inner .w1000 {
 width: 100%;
 max-width: 1000px;
 margin: 0 auto;
}
section.plan_area >.inner ul.plans >li >.inner .plan_detail dl {
 display: grid;
 align-items: flex-start;
 grid-template-columns: 90px 1fr;
 row-gap: 40px;
 -moz-column-gap: 30px;
      column-gap: 30px;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li >.inner .plan_detail dl {
  grid-template-columns: 1fr;
  gap: 0;
 }
}
section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dt {
 line-height: 1;
 padding: 10px 0 12px;
 border: 1px solid #000000;
 border-radius: 100px;
 font-size: 16px;
 text-align: center;
 letter-spacing: 0.01em;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dt {
  max-width: 110px;
  margin-bottom: 20px;
  font-size: 16px;
 }
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd:not(:last-child) {
  margin-bottom: 40px;
 }
}
section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .price_wrap {
 display: flex;
 align-items: center;
 gap: 30px;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .price_wrap {
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
 }
}
section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .price_wrap p.price {
 display: flex;
 line-height: 1.1666666667;
 align-items: center;
 gap: 10px;
 font-weight: 100;
 font-size: 30px;
 letter-spacing: 0.03em;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .price_wrap p.price {
  font-size: 26px;
 }
}
section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .price_wrap p.price span {
 position: relative;
 top: 3px;
 font-size: 0.625em;
}
section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .price_wrap p.breakdown {
 line-height: 1.4285714286;
 font-size: 14px;
 letter-spacing: 0.03em;
}
section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .contents_wrap {
 display: grid;
 grid-template-columns: 1fr 40%;
 gap: 30px;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .contents_wrap {
  grid-template-columns: 1fr;
 }
}
section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .contents_wrap .txt_area {
 padding-top: 0.5em;
}
section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .contents_wrap .txt_area .wrap {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 5px 10px;
}
@media screen and (max-width: 600px) {
 section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .contents_wrap .txt_area .wrap {
  grid-template-columns: 1fr;
  gap: 0;
 }
}
section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .contents_wrap .txt_area .wrap li {
 line-height: 2;
 padding-left: 1em;
 font-size: 16px;
 text-indent: -1em;
 letter-spacing: 0.03em;
}
section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .contents_wrap .txt_area p.note {
 line-height: 2;
 margin-top: 40px;
 font-size: 16px;
 letter-spacing: 0.03em;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li >.inner .plan_detail dl dd .contents_wrap .txt_area p.note {
  margin-top: 20px;
 }
}
section.plan_area >.inner ul.plans >li >.inner .recommend {
 width: 100%;
 margin-top: 50px;
 padding: 25px 5%;
 border: 1px solid #536f71;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li >.inner .recommend {
  margin-top: 30px;
 }
}
section.plan_area >.inner ul.plans >li >.inner .recommend h4 {
 line-height: 1.5;
 margin-bottom: 20px;
 font-size: 20px;
 text-align: center;
 letter-spacing: 0.03em;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li >.inner .recommend h4 {
  margin-bottom: 15px;
  font-size: 18px;
 }
}
section.plan_area >.inner ul.plans >li >.inner .recommend ul {
 display: flex;
 justify-content: center;
 gap: 35px;
}
section.plan_area >.inner ul.plans >li >.inner .recommend ul.tate {
 flex-direction: column;
 align-items: center;
 gap: 15px;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner ul.plans >li >.inner .recommend ul {
  flex-direction: column;
  align-items: center;
  gap: 15px;
 }
}
@media screen and (max-width: 600px) {
 section.plan_area >.inner ul.plans >li >.inner .recommend ul {
  flex-direction: column;
  gap: 10px;
 }
}
section.plan_area >.inner ul.plans >li >.inner .recommend ul li {
 line-height: 1.625;
 padding-left: 0.6em;
 font-size: 16px;
 text-indent: -0.6em;
 letter-spacing: 0.03em;
}
section.plan_area >.inner .option_area {
 display: flex;
 width: 100%;
 max-width: 1000px;
 align-items: flex-start;
 gap: 100px;
 margin: 100px auto 0;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner .option_area {
  flex-direction: column;
  gap: 30px;
  margin-top: 40px;
 }
}
section.plan_area >.inner .option_area h3 {
 line-height: 1.5625;
 flex-shrink: 0;
 font-weight: 100;
 font-size: 32px;
 letter-spacing: 0.01em;
}
@media screen and (max-width: 1024px) {
 section.plan_area >.inner .option_area h3 {
  font-size: 20px;
 }
}
section.plan_area >.inner .option_area ul {
 display: grid;
 width: 100%;
 max-width: 730px;
 grid-template-columns: repeat(3, 1fr);
 row-gap: 15px;
 -moz-column-gap: 2%;
      column-gap: 2%;
 margin: 0 auto;
}
@media screen and (max-width: 600px) {
 section.plan_area >.inner .option_area ul {
  grid-template-columns: repeat(2, 1fr);
 }
}
section.plan_area >.inner .option_area ul li {
 line-height: 2;
 font-size: 16px;
 letter-spacing: 0.03em;
}
section.commitment_area {
 padding: 0 3% 100px;
 background: #f5f2e9;
}
@media screen and (max-width: 1024px) {
 section.commitment_area {
  padding: 0 5% 50px;
 }
}
section.commitment_area >.inner dl.ttl dt {
 display: flex;
 line-height: 1.0526315789;
 flex-direction: column;
 gap: 10px;
 font-weight: 100;
 font-size: 38px;
 letter-spacing: 0.01em;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner dl.ttl dt {
  font-size: 22px;
 }
}
section.commitment_area >.inner dl.ttl dt span {
 font-size: 12px;
}
section.commitment_area >.inner dl.ttl dd {
 line-height: 1.6666666667;
 font-weight: 100;
 font-size: 24px;
 letter-spacing: 0em;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner dl.ttl dd {
  font-size: 18px;
 }
}
section.commitment_area >.inner dl.ttl dd rt {
 top: -0.7em;
 font-size: 10px;
}
section.commitment_area >.inner p.txt {
 line-height: 1.7857142857;
 font-size: 14px;
 letter-spacing: 0.03em;
}
section.commitment_area >.inner .dishes {
 padding: 100px 0;
 border-top: 1px solid #000000;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .dishes {
  padding-block: 50px;
 }
}
section.commitment_area >.inner .dishes.last {
 border-bottom: 1px solid #000000;
}
section.commitment_area >.inner .dishes >.inner {
 display: flex;
 width: 100%;
 max-width: 1200px;
 justify-content: space-between;
 align-items: center;
 margin: 0 auto;
}
section.commitment_area >.inner .dishes >.inner.margin {
 margin-bottom: 90px;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .dishes >.inner.margin {
  margin-bottom: 50px;
 }
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .dishes >.inner {
  flex-direction: column;
  gap: 20px;
 }
}
section.commitment_area >.inner .dishes >.inner .txt_wrap {
 width: 39%;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .dishes >.inner .txt_wrap {
  width: 100%;
 }
}
section.commitment_area >.inner .dishes >.inner .txt_wrap dl {
 margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .dishes >.inner .txt_wrap dl {
  margin-bottom: 15px;
 }
}
section.commitment_area >.inner .dishes >.inner .txt_wrap dl dt {
 margin-bottom: 40px;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .dishes >.inner .txt_wrap dl dt {
  margin-bottom: 20px;
 }
}
section.commitment_area >.inner .dishes >.inner .img {
 width: 55%;
 overflow: hidden;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .dishes >.inner .img {
  width: 100%;
 }
}
section.commitment_area >.inner .dishes >.inner .img img {
 width: 100%;
 max-width: 600px;
}
section.commitment_area >.inner .dishes >.inner ul.other {
 display: flex;
 justify-content: center;
 gap: 60px;
 margin: 0 auto;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .dishes >.inner ul.other {
  justify-content: space-between;
 }
}
@media screen and (max-width: 600px) {
 section.commitment_area >.inner .dishes >.inner ul.other {
  flex-direction: column;
  gap: 40px;
 }
}
section.commitment_area >.inner .dishes >.inner ul.other li {
 max-width: 430px;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .dishes >.inner ul.other li {
  width: 49%;
  max-width: 100%;
 }
}
@media screen and (max-width: 600px) {
 section.commitment_area >.inner .dishes >.inner ul.other li {
  width: 100%;
 }
}
section.commitment_area >.inner .dishes >.inner ul.other li .txt_wrap {
 width: 100%;
}
section.commitment_area >.inner .dishes >.inner ul.other li .txt_wrap h3 {
 line-height: 1.6666666667;
 margin-bottom: 10px;
 font-weight: 100;
 font-size: 24px;
 letter-spacing: 0.01em;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .dishes >.inner ul.other li .txt_wrap h3 {
  font-size: 20px;
 }
}
section.commitment_area >.inner .dishes >.inner ul.other li .txt_wrap p.txt {
 line-height: 1.7857142857;
 font-size: 14px;
 letter-spacing: 0em;
}
section.commitment_area >.inner .dishes >.inner ul.other li .img {
 width: 100%;
 margin-bottom: 20px;
}
section.commitment_area >.inner .img_l {
 margin-top: 120px;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .img_l {
  margin-top: 60px;
 }
}
section.commitment_area >.inner .img_l img {
 width: 100%;
}
section.commitment_area >.inner .btn {
 display: flex;
 justify-content: flex-end;
 margin-top: 80px;
}
@media screen and (max-width: 600px) {
 section.commitment_area >.inner .btn {
  margin-top: 40px;
 }
}
section.commitment_area >.inner .btn a {
 display: flex;
 line-height: 1;
 align-items: center;
 gap: 30px;
 font-weight: 500;
 font-size: 20px;
 letter-spacing: 0em;
}
section.commitment_area >.inner .btn a span.icon {
 width: 90px;
 -webkit-mask-image: url(/wp-content/themes/memorial/common/img/icon_link.svg);
         mask-image: url(/wp-content/themes/memorial/common/img/icon_link.svg);
 -webkit-mask-repeat: no-repeat;
         mask-repeat: no-repeat;
 -webkit-mask-position: center;
         mask-position: center;
 -webkit-mask-size: cover;
         mask-size: cover;
 background-color: #000000;
 transition: background-color 0.3s;

 aspect-ratio: 1;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .btn a span.icon {
  width: 60px;
 }
}
section.commitment_area >.inner .flower .mv {
 margin-bottom: 70px;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .flower .mv {
  margin-bottom: 30px;
 }
}
section.commitment_area >.inner .flower .mv img {
 width: 100%;
}
section.commitment_area >.inner .flower .txt_wrap {
 width: 100%;
 max-width: 1200px;
 margin: 0 auto;
}
section.commitment_area >.inner .flower dl {
 display: flex;
 align-items: center;
 gap: 30px;
 margin-bottom: 50px;
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .flower dl {
  display: block;
  margin-bottom: 30px;
 }
}
@media screen and (max-width: 1024px) and (max-width: 1024px) {
 section.commitment_area >.inner .flower dl {
  margin-bottom: 15px;
 }
}
@media screen and (max-width: 1024px) {
 section.commitment_area >.inner .flower dl dt {
  margin-bottom: 20px;
 }
}
section.original_area {
 padding: 80px 3% 115px;
 background: #f1e9d3;
}
@media screen and (max-width: 1024px) {
 section.original_area {
  padding: 50px 5%;
 }
}
section.original_area >.inner ul.original {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 100px 6%;
}
@media screen and (max-width: 1024px) {
 section.original_area >.inner ul.original {
  justify-content: space-between;
  gap: 50px 5%;
 }
}
@media screen and (max-width: 600px) {
 section.original_area >.inner ul.original {
  gap: 50px;
 }
}
section.original_area >.inner ul.original li {
 width: 29.3333333333%;
}
@media screen and (max-width: 1024px) {
 section.original_area >.inner ul.original li {
  width: 45%;
 }
}
@media screen and (max-width: 600px) {
 section.original_area >.inner ul.original li {
  width: 100%;
 }
}
section.original_area >.inner ul.original li .txt_wrap h3 {
 line-height: 1.6666666667;
 margin-bottom: 10px;
 font-weight: 100;
 font-size: 24px;
 letter-spacing: 0.01em;
}
@media screen and (max-width: 1024px) {
 section.original_area >.inner ul.original li .txt_wrap h3 {
  font-size: 20px;
 }
}
section.original_area >.inner ul.original li .txt_wrap p.txt {
 line-height: 1.7857142857;
 font-size: 14px;
 letter-spacing: 0em;
}
section.original_area >.inner ul.original li .img {
 margin-bottom: 20px;
}
section.other_area {
 padding: 100px 5%;
}
@media screen and (max-width: 1024px) {
 section.other_area {
  padding-block: 50px;
 }
}
section.other_area .inner {
 width: 100%;
 max-width: 1200px;
 margin: 0 auto;
}
section.other_area .inner .wrap {
 padding: 100px 5%;
 border: 1px solid #c4c2ba;
}
@media screen and (max-width: 1024px) {
 section.other_area .inner .wrap {
  padding-block: 50px;
 }
}
section.other_area .inner .wrap h2 {
 margin-bottom: 70px;
 font-size: 32px;
 text-align: center;
}
@media screen and (max-width: 1024px) {
 section.other_area .inner .wrap h2 {
  margin-bottom: 35px;
  font-size: 20px;
 }
}
section.other_area .inner ul.other {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 100px 6%;
}
@media screen and (max-width: 1024px) {
 section.other_area .inner ul.other {
  justify-content: space-between;
  gap: 50px 5%;
 }
}
@media screen and (max-width: 600px) {
 section.other_area .inner ul.other {
  gap: 50px;
 }
}
section.other_area .inner ul.other li {
 width: 47%;
 max-width: 430px;
}
@media screen and (max-width: 1024px) {
 section.other_area .inner ul.other li {
  width: 45%;
 }
}
@media screen and (max-width: 600px) {
 section.other_area .inner ul.other li {
  width: 100%;
 }
}
section.other_area .inner ul.other li .txt_wrap h3 {
 line-height: 1.6666666667;
 margin-bottom: 10px;
 font-weight: 100;
 font-size: 24px;
 letter-spacing: 0.01em;
}
@media screen and (max-width: 1024px) {
 section.other_area .inner ul.other li .txt_wrap h3 {
  font-size: 20px;
 }
}
section.other_area .inner ul.other li .txt_wrap p.txt {
 line-height: 1.7857142857;
 font-size: 14px;
 letter-spacing: 0em;
}
section.other_area .inner ul.other li .img {
 margin-bottom: 20px;
}
section.other_area .inner .plan {
 display: flex;
 justify-content: center;
 margin-top: 80px;
}
@media screen and (max-width: 600px) {
 section.other_area .inner .plan {
  margin-top: 40px;
 }
}
section.other_area .inner .plan a {
 display: flex;
 line-height: 1;
 align-items: center;
 gap: 30px;
 font-weight: 500;
 font-size: 20px;
 letter-spacing: 0em;
}
@media screen and (max-width: 1024px) {
 section.other_area .inner .plan a {
  line-height: 1.6;
  gap: 15px;
 }
}
section.other_area .inner .plan a span.icon {
 width: 90px;
}
@media screen and (max-width: 1024px) {
 section.other_area .inner .plan a span.icon {
  width: 60px;
 }
}
section.voice_area {
 margin: 115px 0;
 padding: 0 3%;
}
@media screen and (max-width: 1024px) {
 section.voice_area {
  margin: 50px 0;
  padding: 0 5%;
 }
}
section .voice a {
 display: block;
 position: relative;
}
@media (hover) {
 section .voice a:hover .base img {
  scale: 1.1;
 }
}
section .voice a:after {
 content: "";
 display: block;
 position: absolute;
 top: 50%;
 right: 100px;
 width: 12px;
 border-top: 1px solid #ffffff;
 border-right: 1px solid #ffffff;
 translate: 0 -50%;
 rotate: 45deg;

 aspect-ratio: 1;
}
@media screen and (max-width: 1024px) {
 section .voice a:after {
  right: 5%;
 }
}
section .voice a .base {
 overflow: hidden;
}
@media screen and (max-width: 600px) {
 section .voice a .base {
  aspect-ratio: 16/7;
 }
}
section .voice a .base img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 transition: all 0.3s;
}
section .voice a p.ttl {
 position: absolute;
 top: 50%;
 left: 100px;
 line-height: 1.25;
 color: #ffffff;
 font-weight: 100;
 font-size: 32px;
 letter-spacing: 0em;
 translate: 0% -50%;
}
@media screen and (max-width: 1024px) {
 section .voice a p.ttl {
  left: 5%;
  font-size: 20px;
 }
}
/*# sourceMappingURL=layout.css.map */