@charset "UTF-8";/*style*/
@import url(../css/global.css); /*////////// top //////////*/
.funeral .row>p {
    text-align: center;
}

.funeral .lead .sect-ttl {
    background: url(../assets/img/abstract-bg-brown.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    position: relative;
    width: fit-content;
    margin: 0 auto;
    margin-bottom: 20px;
    padding: 12px;
}

.funeral .lead .sect-ttl::before {
    content: "";
    display: inline-block;
    width: clamp(40px, 6vw, 100px);
    height: clamp(40px, 6vw, 100px);
    background: url(../assets/img/leaf-brown.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    position: absolute;
    top: -18px;
    left: -30%;
    bottom: 0;
    margin: auto 0;
}

.funeral .burden .sect-ttl {
    background: url(../assets/img/abstract-bg-red.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    position: relative;
    width: fit-content;
    margin: 0 auto;
    margin-bottom: 20px;
    padding: 12px;
}

.funeral .burden .sect-ttl::after {
    content: "";
    display: inline-block;
    width: clamp(40px, 6vw, 100px);
    height: clamp(40px, 6vw, 100px);
    background: url(../assets/img/leaf-red.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    position: absolute;
    top: -27px;
    right: -30%;
    bottom: 0;
    margin: auto 0;
}

.funeral .guarantee .sect-ttl .numb {
    font-size: clamp(26px, 4vw, 70px);
    color: var(--orange);
    font-family: "mincho";
    font-style: italic;
    margin-right: 4px;
}

.funeral .guarantee {
    background: url(../assets/img/abstract-large-bg-pink.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    padding: 60px 0 80px;
}

.funeral .guarantee .sect-ttl .text--orange {
    font-size: clamp(16px, 4vw, 38px);
    color: var(--orange);
}

.funeral .guarantee .list .item {
    background: #fff;
    width: 80%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding: 20px 30px;
}

.funeral .guarantee .list .item .icon {
    width: clamp(60px, 9vw, 150px);
    height: clamp(60px, 9vw, 150px);
}

.funeral .guarantee .list .item .text-box {
    width: calc(100% - clamp(80px, 9vw, 150px));
}

.funeral .guarantee .list .item .text-box .tag span {
    color: var(--orange);
    font-family: "mincho";
    vertical-align: bottom;
}

.plan-intro .sect-ttl {
    margin-bottom: 10px;
    position: relative;
    padding-top: 40px;
}

.plan-intro .sect-ttl::after {
    content: "";
    display: inline-block;
    width: clamp(40px, 6vw, 100px);
    height: clamp(40px, 6vw, 100px);
    background: url(../assets/img/leaf-brown02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    position: absolute;
    top: -30px;
    right: 30%;
    bottom: 0;
    margin: auto 0;
}

.plan-intro .sect-ttl~.desc {
    text-align: center;
    font-family: source-han-serif-japanese, serif;
    font-weight: 600;
}

.plan-intro .list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.plan-intro .list .item {
    padding: 5px;
}

.plan-intro .list .item--1 {
    background: var(--brown);
}

.plan-intro .list .item--2 {
    background: var(--orange);
}

.plan-intro .list .item--3 {
    background: var(--light-brown);
}

.plan-intro .list .item--4 {
    background: var(--red);
}

.plan-intro .list .item .ttl {
    background: #fff;
    display: flex;
    text-align: center;
    padding: 8px;
}

.plan-intro .list .item .icon {
    width: 35px;
    height: 35px;
    object-fit: contain;
}

.plan-intro .list .item .ttl h3 {
    width: 100%;
}

.plan-intro .list .item--1 .ttl {
    color: var(--brown);
}

.plan-intro .list .item--2 .ttl {
    color: var(--orange);
}

.plan-intro .list .item--3 .ttl {
    color: var(--light-brown);
}

.plan-intro .list .item--4 .ttl {
    color: var(--red);
}

.plan-intro .list .item .links {
    display: flex;
    flex-direction: column;
    padding: 20px 0px;
}

.plan-intro .list .item .links .link {
    color: #fff;
    border: 2px solid #fff;
    padding: 8px;
    width: 60%;
    margin: 0 auto;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.plan-intro .list .item .desc {
    font-size: 14px;
    color: #fff;
    text-align: center;
}

/*////////// top end //////////*/
#plans.subpage {
    border: 3px solid #e84818;
}

.plan-heading {
    padding: 20px 20px 200px;
}

.plan-heading .ttl, .plan-heading .desc {
    text-align: center;
    color: #fff;
    width: 100%;
}

.plan-heading .ttl {
    position: relative;
}

.plan-heading .ttl .tag {
    display: inline-block;
    background: #fff;
    padding: 4px 8px;
    border-radius: 8px;
    width: fit-content;
    margin-left: 8px;
}

.plan-heading .ttl::before {
    content: "";
    display: inline-block;
    width: 35px;
    height: 35px;
    background: url(../assets/img/leaf-icon-white.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    margin-bottom: 8px;
    margin: 0 auto;
}

/* contact */
.contact .contact-bnr {
    margin-bottom: 0;
}

.contact .contact-bnr .inquiry-btn a {
    display: none;
}

.contact .ct-box.form {
    max-width: 1000px;
}

.contact .heading {
    text-align: center;
    font-weight: 600;
}

.contact .sect-desc {
    text-align: center;
}

.contact .bullet--red {
    color: #e93418;
    margin-left: 4px;
    vertical-align: middle;
    font-size: 16px;
}

.contact .contact-form dl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding: 60px 0;
    padding-right: 60px;
}

.contact .contact-form dl:not(:first-child) {
    border-bottom: 1px solid #000;
}

.contact .contact-form dl:last-child {
    border-bottom: none;
}

.contact .contact-form dl dt {
    width: 250px;
    text-align: left;
    font-weight: 600;
}

.contact .contact-form dl dd {
    width: calc(100% - 250px);
}

.contact .contact-form dl dd input[type="text"], .contact .contact-form dl dd input[type="number"], .contact .contact-form dl dd input[type="email"], .contact .contact-form dl dd textarea {
    width: 100%;
    border: 1px solid #000;
    border-radius: 0;
    padding: 12px;
    font-family: source-han-sans-japanese, sans-serif;
}

.contact .contact-form .type dd {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 20px;
}

.contact .contact-form .type dd .qa {
    grid-column: span 2;
}

.contact .contact-form .type dd>div {
    display: flex;
    align-items: center;
}

.contact .contact-form .type dd>div input {
    margin-right: 8px;
}

.contact .contact-form .type dt, .contact .contact-form .content-inquiry dt {
    align-self: flex-start;
}

.contact .contact-form .content-inquiry dt {
    padding-top: 20px;
}

.contact .contact-form .inquiry dt {
    align-self: flex-start;
}

.contact .contact-form .name dd, .contact .contact-form .furigana dd {
    display: flex;
    align-items: center;
    gap: 50px;
}

.contact .contact-form .name dd>div, .contact .contact-form .furigana dd>div {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 50%;
}

.contact .contact-form .name dd>div label, .contact .contact-form .furigana dd>div label {
    width: 15%;
    text-align: left;
}

.contact .contact-form .name dd>div input, .contact .contact-form .furigana dd>div input {
    width: 85%;
}

.contact .contact-form .content-inquiry dd p {
    margin-bottom: 8px;
}

.contact .contact-form .zip dd, .contact .contact-form .number dd {
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact .contact-form .zip dd input, .contact .contact-form .number dd input {
    max-width: 165px;
}

.contact .contact-form .address dd p {
    margin-bottom: 8px;
}

.contact .contact-form .email dd p {
    margin-bottom: 8px;
}

.contact .contact-form .contact-details {
    justify-content: flex-start;
}

.contact .contact-form .contact-details dd {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    column-gap: 30px;
    width: fit-content;
}

.contact .contact-form .contact-details dd div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.contact .contact-form .contact-details dd input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    margin: 0;
    font: inherit;
    color: currentColor;
    width: 16px;
    height: 16px;
    border: 1px solid #000;
    border-radius: 50%;
    vertical-align: center;
    transform: translateY(1px);
    display: grid;
    place-content: center;
}

.contact .contact-form .contact-details dd input[type="radio"]::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 16px 16px var(--form-control-color);
    background: #e84818;
}

.contact .contact-form .contact-details dd input[type="radio"]:checked::before {
    transform: scale(1);
}

.contact .terms {
    text-align: center;
}

.contact .terms .link {
    border-bottom: 1px solid var(--light-color);
    transition: 0.6s;
}

.contact .terms .link:hover {
    color: var(--light-color);
    border-bottom: 1px solid var(--light-color);
}

.contact .agreement {
    text-align: center;
}

.contact .type input[type="checkbox"], .contact .agreement input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    /* For iOS < 15 to remove gradient background */
    background-color: #fff;
    /* Not removed via appearance */
    font: inherit;
    width: 16px;
    height: 16px;
    border: 1px solid #000;
    border-radius: 0;
    margin: 0;
    display: inline-grid;
    place-content: center;
}

.contact .agreement input[type="checkbox"] {
    margin: 0 8px;
    transform: translateY(-1px);
}

.contact .agreement .bullet--red {
    font-size: 14px;
    vertical-align: unset;
}

.contact .type input[type="checkbox"]::before, .contact .agreement input[type="checkbox"]::before {
    content: "";
    width: 10px;
    height: 10px;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--form-control-color);
    background-color: #e84818;
    transform-origin: bottom left;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.contact .type input[type="checkbox"]:checked::before, .contact .agreement input[type="checkbox"]:checked::before {
    transform: scale(1);
}

.contact .agreement .red-tag {
    color: #e60012;
}

.contact .btn {
    width: fit-content;
    margin: 0 auto;
    margin-bottom: 30px;
    position: relative;
}

.contact .btn input[type="submit"] {
    border-style: none;
    background: #e84818;
    color: #fff;
    padding: 12px;
    width: 100%;
    height: 100%;
    cursor: pointer;
    transition: 0.6s;
    font-family: source-han-serif-japanese, serif;
}

.contact .btn:hover input[type="submit"] {
    opacity: 0.6;
}

.contact .btn:hover::after {
    opacity: 0.6;
}

.contact #privacy-policy {
    padding-top: 30px;
}

.contact .terms-content {
    background: rgb(236, 236, 236);
    border: 1px solid #000;
    overflow-y: scroll;
    height: 200px;
    padding: 20px 12px;
}

.contact .terms-content::-webkit-scrollbar {
    background: white;
    border-left: 1px solid #000;
}

.contact .terms-content::-webkit-scrollbar-thumb {
    background: rgb(59, 59, 59);
}

.ads {
    border: 2px solid #73b438;
    width: fit-content;
    margin: 0 auto;
}

.ads a:hover {
    opacity: 0.8;
}

.ads .top-text {
    padding: 12px;
    background: #73b438;
}

.ads .top-text p {
    color: #fff;
    font-weight: 600;
    text-align: center;
}

.ads .wrapper {
    padding: 12px;
}

.ads .wrapper img {
    max-width: 600px;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.ads .wrapper p {
    color: #e84818;
    text-align: right;
    font-weight: 600;
}

/* contact end */
/* p-intro start */
/* body #p-intro,
body #funeral-plan,
body #family-plan {
  font-weight: bold;
} */
.p-intro .sub-ttl {
    font-family: source-han-serif-japanese, serif !important;
    font-weight: 600 !important;
}

.p-intro .ctnt-box .ctnt-header .ttl-box .inner_ttl--box h3, .p-intro .ctnt-box .ctnt-header .ttl-box .inner_ttl--box h4 {
    font-family: source-han-serif-japanese, serif !important;
    font-weight: 600 !important;
}

#p-intro .cr-box, #funeral-plan .cr-box, #family-plan .cr-box {
    padding: 60px 20px 0 20px;
}

#p-intro .sect-ttl, #funeral-plan .sect-ttl, #family-plan .sect-ttl {
    display: flex;
    flex-direction: column;
}

.p-intro .ctnt-box {
    /* border: 5px solid #49251e; */
    background-color: #49251e;
    padding: 0 5px 5px 5px;
}

.p-intro .ctnt-start {
    background-color: #fff;
    height: 100%;
    padding-top: 150px;
    padding-bottom: 100px;
}

#p-intro.p-intro .box-start, #family-plan.p-intro .box-start, #funeral-plan.p-intro #yellow1 .box-start {
    max-width: 80%;
    margin: auto;
    /* padding-bottom: 100px; */
}

.p-intro .ctnt-box .ctnt-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 50px 2.5% 0 2.5%;
    /* margin-bottom: 150px; */
}

.p-intro .ctnt-box .ctnt-header .ttl-box {
    display: flex;
    justify-content: center;
    align-items: center;
}

.p-intro .ctnt-box .ctnt-header .ttl-box .inner_ttl--box {
    height: auto;
}

.p-intro .ctnt-box .ctnt-header .ttl-box .leaf {
    margin-right: 15px;
}

.p-intro .ctnt-box .ctnt-header .ttl-box .sub-ttl {
    margin-right: 10px;
    font-family: "sourceHanSerif-R";
}

.p-intro .ctnt-box .ctnt-header .ttl-box .inner_ttl--box h4 {
    display: flex;
    flex-direction: column;
    margin-top: -20px;
    font-family: "sourceHanSerif-R";
}

.p-intro .ctnt-box .ctnt-header .ttl-box .inner_ttl--box h4 span {
    font-size: 16px;
    display: flex;
    justify-content: right;
}

.p-intro .ctnt-box .ctnt-header .ttl-box .inner_ttl--box .brown {
    text-align: center;
    padding: 5px 8px;
    line-height: 1;
    border-radius: 10px;
    font-weight: bold;
    margin-left: 15px;
}

.p-intro .ctnt-box .ctnt-header .ctnt_ttl--box p {
    text-align: center;
}

.p-intro .ctnt-box .ctnt-header .img-area img {
    margin-bottom: -100px;
}

.p-intro .ctnt-start .sub-ttl {
    text-align: center;
    background: url(../assets/img/palette-orange.png) no-repeat;
    background-position: center;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-family: "sourceHanSerif-R";
}

.p-intro .ctnt-start .icon-start {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-wrap: wrap;
    /* max-width: 80%;
  margin: auto auto 100px auto; */
}

.p-intro .ctnt-start .icon-start .txt-img.hide {
    opacity: 0;
}

.p-intro .ctnt-start .icon-start .txt-img {
    width: 210px;
    height: 250px;
    border: 2px solid black;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    text-align: center;
}

.p-intro .ctnt-start .icon-start .txt-img p {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.p-intro .ctnt-start .icon-start .txt-img span {
    font-size: clamp(10px, 1vw, 14px);
}

.p-intro .ctnt-start .icon-start .txt-img .wrap img {
    margin-bottom: 30px;
}

.p-intro .ctnt-start .icon-start .txt-img .wrap {
    max-width: 90%;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* .p-intro .ctnt-start .list-start {
  max-width: 80%;
  margin: auto auto 100px auto;
} */
.p-intro .ctnt-start .list-start ul {
    display: flex;
    justify-content: space-between;
}

.p-intro .ctnt-start .list-start ul li p {
    writing-mode: vertical-rl;
    background-color: #faefdc;
    padding: 10px 5px;
    height: 245px;
    font-weight: bold;
}

.p-intro .ctnt-start .list-start ul li p span {
    padding: 7px 0 0 0;
}

.p-intro .ctnt-start .list-start ul li {
    display: flex;
}

.p-intro .ctnt-start .list-start ul li::after {
    content: "";
    background: url(../assets/img/brown-arrow-r.png) no-repeat;
    width: 15px;
    height: 22px;
    display: block;
    margin: 20px 0px 0 10px;
}

.p-intro .ctnt-start .list-start ul li:last-child::after {
    display: none;
}

/* .p-intro .ctnt-start .list2-start {
  max-width: 80%;
  margin: auto auto 100px auto;
} */
.p-intro .ctnt-start .list2-start .brown {
    width: 180px;
    height: 100px;
    background-color: #faefdc;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.p-intro .ctnt-start .list2-start .brown span img {
    width: clamp(22px, 35px, 28px);
    height: clamp(22px, 35px, 28px);
}

.p-intro .ctnt-start .list2-start .white {
    width: 48%;
    padding: 15px 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 20px;
}

/* .p-intro .ctnt-start .box-start {
  max-width: 80%;
  margin: auto auto 100px auto;
} */
.p-intro .ctnt-start .box-start .brown {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 150px;
    text-align: center;
    border: 2px solid black;
}

.p-intro .ctnt-start .box-start .brown span img {
    width: clamp(22px, 35px, 30px);
    height: clamp(22px, 35px, 30px);
}

.dime {
    max-width: 80%;
    margin: 0 auto 100px auto;
}

.p-intro #brown2 .img-area {
    position: relative;
}

.p-intro #brown2 .img-area::after {
    content: "※写真はイメージです。";
    font-size: clamp(14px, 1.5vw, 16px);
    width: 100%;
    height: auto;
    position: absolute;
    left: 15px;
    top: 15px;
    font-family: "sourceHanSans-RsourceHanSans-R";
    font-weight: bold;
}

/* p-intro end */
/* family-plan start */
.p-intro.family-plan .ctnt-start .sub-ttl {
    background: url(../assets/img/palette-yellow.png) no-repeat !important;
    background-position: center !important;
    height: 100px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    font-weight: bold !important;
}

.r-leaf {
    filter: invert(44%) sepia(69%) saturate(6230%) hue-rotate(348deg) brightness(108%) contrast(109%) !important;
}

#family-plan #bred1 .list-start {
    width: 800px;
}

#family-plan #bred1 .list2-start {
    width: 800px;
}

#family-plan.p-intro .ctnt-start .list-start ul li p {
    background-color: #faefdc;
    color: #ff3816 !important;
}

#family-plan.p-intro .ctnt-start .list2-start .brown {
    background-color: #faefdc;
}

#family-plan.p-intro .ctnt-start .list-start ul li::after {
    filter: invert(38%) sepia(63%) saturate(4571%) hue-rotate(348deg) brightness(96%) contrast(111%) !important;
}

#family-plan.p-intro .ctnt-box {
    /* border: 5px solid #ff3b1b; */
    background-color: #ff3b1b;
}

#family-plan.p-intro .ctnt-box .ctnt-header .ttl-box .inner_ttl--box .brown {
    color: #ff3b1b !important;
}

.p-intro .ctnt_ttl--box .number {
    font-family: "sourceHanSerif-B";
}

/* family-plan end */
/* funeral-plan start */
#funeral-plan .hide {
    display: none !important;
}

#funeral-plan .hide2 {
    opacity: 0 !important;
}

#funeral-plan .list-start ul {
    max-width: 700px;
    margin: auto;
}

#funeral-plan .list-start .unq2 {
    max-width: 400px;
    margin: auto;
}

.y-leaf {
    filter: invert(60%) sepia(100%) saturate(366%) hue-rotate(2deg) brightness(79%) contrast(96%);
}

#funeral-plan.p-intro .ctnt-start .list-start ul li::after {
    filter: invert(60%) sepia(100%) saturate(366%) hue-rotate(2deg) brightness(79%) contrast(96%);
}

#funeral-plan.p-intro .ctnt-box {
    /* border: 5px solid #c48e1a; */
    background-color: #c48e1a;
}

#funeral-plan.p-intro .ctnt-start .sub-ttl {
    text-align: center;
    background: url(../assets/img/palette-green.png) no-repeat;
    background-position: center;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

#funeral-plan .start_ttl {
    text-align: center;
    background-color: #f7efdf;
    max-width: 90%;
    width: 450px;
    margin: 0 auto 50px auto;
    padding: 15px 10px;
}

#funeral-plan .start_ttl p {
    line-height: 1.7;
}

#funeral-plan .start_ttl h3 {
    margin-bottom: 10px;
    font-weight: 600 !important;
    font-family: source-han-serif-japanese, serif !important;
}

#funeral-plan .unq3.flex {
    justify-content: space-evenly;
}

#funeral-plan.p-intro .ctnt-start .box-start .brown {
    margin-bottom: 20px;
}

#funeral-plan.p-intro .ctnt-box .ctnt-header .ttl-box .inner_ttl--box .brown {
    color: #c48e1a !important;
}

.p-intro .ctnt-start .box-start .brown {
    color: black !important;
}

#funeral-plan.p-intro .ctnt-start .list-start ul li p {
    background-color: #f7efdf;
}

#funeral-plan.p-intro .ctnt-start .list2-start .brown {
    background-color: #f7efdf;
}

#funeral-plan .banner-start.dime {
    margin: auto;
}

.p-intro .banner-start .txt-box {
    background-color: #f7efdf;
}

.p-intro .banner-start .txt-box p {
    text-align: left;
    padding: 20px 5%;
    line-height: 1.7;
}

.p-intro .banner-start .banner {
    background: linear-gradient(90deg, rgb(255 255 255), rgb(255 255 255 / 0%)),url(../assets/img/banner-bg.png) no-repeat;
    background-size: cover;
    background-position: center;
    height: auto;
    width: 100%;
    padding: 30px 0 0 0;
    border: 1px solid #6a6fb2;
}

.p-intro .banner-start .banner .wrapper {
    max-width: 90%;
    margin: auto;
}

.p-intro .banner-start .banner .ttl {
    display: flex;
    align-items: center;
    font-weight: 700 !important;
    font-family: source-han-serif-japanese, serif !important;
}

.p-intro .banner-start .banner .ttl span {
    margin-right: 20px;
}

.p-intro .banner-start .banner .ttl span img {
    filter: invert(47%) sepia(17%) saturate(1210%) hue-rotate(198deg) brightness(92%) contrast(93%);
    padding-top: :12px;
}

.p-intro .banner-start .banner .grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    max-width: 650px;
    border: 1px solid #6a6fb2;
}

.p-intro .banner-start .banner .grid .bg-purple {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px 10px;
}

.p-intro .banner-start .banner .grid .bg-white {
    padding: 15px 10px;
}

.p-intro .banner-start .banner .banner-ft .white {
    letter-spacing: 5px;
    display: flex;
    align-items: center;
}

.p-intro .banner-start .banner .banner-ft .white.wbf::before {
    content: "";
    background: url(../assets/img/banner-icon.png) no-repeat;
    max-width: 100%;
    background-size: 100%;
    background-position: center center;
    /* width: 60px;
  height: 60px; */
    width: clamp(25px, 60px, 60px);
    height: clamp(25px, 60px, 60px);
    margin-right: 10px;
}

.p-intro .banner-start .banner .banner-ft {
    padding: 5px 5%;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

.p-intro .banner-start .banner .banner-ft h3, .p-intro .banner-start .banner .banner-ft h4 {
    font-weight: 700;
    font-family: source-han-serif-japanese, serif;
}

/* cards bnr start */
.cards .start .item {
    max-width: 100%;
    width: 550px;
    height: 300px;
    /* display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; */
    margin-bottom: 20px;
    padding: 5px 0 20px 0;
}

.cards .start .item.bg-red {
    padding: 5px 0 40px 0;
}

.cards .start .item h4 {
    max-width: 540px;
    margin: auto;
    width: 100%;
    text-align: center;
    margin-bottom: 30px;
    padding: 15px 5px;
    position: relative;
}

.cards .start .item h4::before {
    content: "";
    width: clamp(22px, 50px, 45px);
    height: clamp(22px, 50px, 45px);
    background: url(../assets/img/b-leaf.png) no-repeat;
    background-size: 100%;
    position: absolute;
    top: 10px;
    left: 20px;
}

.cards .start .item:nth-child(2) h4::before {
    filter: invert(41%) sepia(71%) saturate(2764%) hue-rotate(348deg) brightness(87%) contrast(105%);
}

.cards .start .item:nth-child(3) h4::before {
    filter: invert(60%) sepia(100%) saturate(366%) hue-rotate(2deg) brightness(79%) contrast(96%);
}

.cards .start .item:nth-child(4) h4::before {
    filter: invert(31%) sepia(54%) saturate(4848%) hue-rotate(347deg) brightness(91%) contrast(81%);
}

.cards .start .item .unq {
    max-width: 90%;
    margin: 0 auto 10px auto;
    border: none;
    width: auto;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cards .start .item .unq:hover {
    opacity: 1;
}

.cards .start .item .unq span {
    display: none;
}

.cards .start .item p {
    width: 300px;
    border: 2px solid #fff;
    padding: 5px 0;
    margin-bottom: 10px;
    transition: 0.5s ease;
}

.cards .start .item a p {
    padding: 5px 10px 5px 25px;
}

.cards .start .item p:hover {
    opacity: 0.5;
}

.cards a {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* process start */
.process .preparation {
    border: 3px solid #71b9cd;
    padding: 20px;
}

.process .preparation .sect-ttl {
    background: url(../assets/img/abstract-bg-pink.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 25% 100%;
    padding: 12px;
    font-weight: 600;
}

.process .preparation .infos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.process .preparation .info {
    background: #71b9cd;
    padding: 6px 12px;
    border-radius: 100vw;
    width: 50%;
    max-width: 300px;
    color: #fff;
    text-align: center;
}

.process .funeral-flow .sect-ttl {
    background: url(../assets/img/abstract-bg-green.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 25% 100%;
    padding: 12px;
    position: relative;
    font-weight: 600;
}

.process .wake-flow .sect-ttl {
    background: url(../assets/img/abstract-bg-blue.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 25% 100%;
    padding: 12px;
    position: relative;
    font-weight: 600;
}

.process .ceremony .sect-ttl {
    background: url(../assets/img/abstract-bg-red02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 25% 100%;
    padding: 12px;
    position: relative;
    font-weight: 600;
}

.process .funeral-flow .sect-ttl::before {
    content: "";
    display: inline-block;
    height: 4px;
    width: 35%;
    background: #cdb685;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto 0;
}

.process .funeral-flow .sect-ttl::after {
    content: "";
    display: inline-block;
    height: 4px;
    width: 35%;
    background: #cdb685;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto 0;
}

.process .row .flow-list {
    max-width: 800px;
    margin: 0 auto;
}

.process .row .flow-list dl {
    display: flex;
    gap: 20px;
    margin: 60px 0;
}

.process .row .flow-list dt {
    width: 38%;
    font-weight: 600;
}

.process .row .flow-list dt span {
    display: block;
    padding: 12px;
    height: fit-content;
    text-align: center;
    margin-bottom: 10px;
    font-weight: 600;
}

.process .row .flow-list dd {
    width: 62%;
    padding: 12px;
}

.process .row .flow-list dd ul li::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background: #000;
    border-radius: 100%;
    margin: 0 2px;
}

.process .funeral-flow .flow-list dl {
    border-top: 2px solid #d4d8cd;
}

.process .funeral-flow .flow-list dt span {
    background: #e6dac2;
}

.process .funeral-flow .flow-list dl:not(:last-child) dt::after {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background: url(../assets/img/arrow-circle-down-beige.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    margin: 0 auto;
}

.process .wake-flow .flow-list dl {
    border-top: 2px solid #ccc8d4;
}

.process .wake-flow .flow-list dt span {
    background: #f9cecb;
}

.process .wake-flow .flow-list dl:not(:last-child) dt::after {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background: url(../assets/img/arrow-circle-down-pink.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    margin: 0 auto;
}

.process .ceremony .flow-list dl {
    border-top: 2px solid #dcc0d0;
}

.process .ceremony .flow-list dt span {
    background: #d2d6fe;
}

.process .ceremony .flow-list dl:not(:last-child) dt::after {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background: url(../assets/img/arrow-circle-down-purple.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    margin: 0 auto;
}

.process .wake-flow .sect-ttl::before {
    content: "";
    display: inline-block;
    height: 4px;
    width: 35%;
    background: #f28f88;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto 0;
}

.process .wake-flow .sect-ttl::after {
    content: "";
    display: inline-block;
    height: 4px;
    width: 35%;
    background: #f28f88;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto 0;
}

.process .ceremony .sect-ttl::before {
    content: "";
    display: inline-block;
    height: 4px;
    width: 35%;
    background: #8892f2;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto 0;
}

.process .ceremony .sect-ttl::after {
    content: "";
    display: inline-block;
    height: 4px;
    width: 35%;
    background: #8892f2;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto 0;
}

/* process end */
/* assistance start */
.assistance .sect-ttl.subpage::before {
    content: "";
    display: block;
    width: 35px;
    height: 35px;
    background: url(../assets/img/leaf-icon-red.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    margin: 0 auto;
    margin-bottom: 8px;
}

.assistance .plan {
    padding: 20px;
    padding-top: 40px;
}

.assistance .plan>img {
    display: block;
    width: 80%;
    height: 460px;
    object-fit: cover;
    margin: 0 auto;
    margin-bottom: 30px;
}

.assistance .plan .sect-ttl {
    color: #fff;
    position: relative;
    width: fit-content;
    margin: 0 auto;
    margin-bottom: 30px;
}

.assistance .plan .sect-ttl::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 35px;
    height: 35px;
    background: url(../assets/img/leaf-icon-white.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    margin: 0 auto;
    margin-bottom: 8px;
    margin-right: 20px;
}

.assistance .plan .sect-ttl::after {
    content: "（税込）";
    font-size: 10px;
    position: absolute;
    right: -4px;
    top: 0;
}

.assistance .plan>.desc {
    text-align: center;
    color: #fff;
    line-height: 1.8;
}

.assistance .plan .infos {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.assistance .plan .infos .info {
    width: 40%;
    background: #fff;
    border: 2px solid #fff;
    padding: 12px;
    border-radius: 8px;
    margin: 0 auto;
    text-align: center;
    color: #d54035;
    font-weight: 700;
}

.assistance .expenses {
    background: #fff;
    border: 5px solid #d54035;
    padding: 40px 20px;
}

.assistance .expenses .sect-ttl {
    background: url(../assets/img/abstract-bg-purple.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    width: fit-content;
    margin: 0 auto;
    margin-bottom: 30px;
    padding: 12px 0;
    font-family: source-han-serif-japanese, serif;
    font-weight: 600;
    font-size: clamp(16px, 2.7vw, 28px);
}

.assistance .expenses .list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.assistance .expenses .list .item {
    border: 1px solid #000;
    width: 300px;
    height: 150px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.assistance .expenses .list .item .icon {
    display: block;
    width: clamp(25px, 3vw, 40px);
    height: clamp(25px, 3vw, 40px);
    margin: 0 auto;
    margin-bottom: 8px;
}

.assistance .expenses .list .item p {
    text-align: center;
    font-weight: 600;
}

.cards .start .item a p:hover {
    opacity: 0.5;
}

/* assistance end */
/* company */
.company .cr-box {
    padding: 200px 20px 200px;
}

.company .sect-subttl {
    text-align: center;
    font-weight: 600;
}

.company .table dl {
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 30px 0;
}

.company .table dl:not(:last-child) {
    border-bottom: 1px solid #000;
}

.company .table dl dt, .company .table dl dd {
    font-size: clamp(14px, 2.5vw, 18px);
}

.company .table dl dt {
    width: 40%;
    padding: 12px;
}

.company .table dl dd {
    width: 60%;
    padding: 12px;
}

.company .links {
    display: flex;
    align-items: center;
    gap: 30px;
    margin: 0 auto;
    max-width: 460px;
}

.company .links .link {
    width: 50%;
}

.company .link a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 20px 12px;
    color: #fff;
    text-align: center;
    font-size: clamp(14px, 2.5vw, 16px);
    font-family: source-han-serif-japanese, serif;
    font-weight: 600;
    letter-spacing: 1px;
}

.company .link a:hover {
    opacity: 0.8;
}

/* company end */
/* inquiry */
#inquiry .cr-box {
    padding: 200px 20px;
}

#inquiry .desc {
    text-align: center;
}

#inquiry .link {
    margin: 0 auto;
    max-width: 220px;
}

#inquiry .link a {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    padding: 12px;
    font-family: source-han-serif-japanese, serif;
    font-weight: 600;
    text-align: center;
    letter-spacing: 1px;
}

#inquiry .link a:hover {
    opacity: 0.8;
}

/* inquiry end */
@media (max-width: 1400px) {
    .contact .cr-box {
        padding-top: 100px;
    }

    .contact #privacy-policy {
        padding: 100px 0 60px;
    }

    .cards .start .item a p:hover {
        opacity: 0.5;
    }
}

@media (max-width: 1400px) {
}

@media (max-width: 1200px) {
    .p-intro .ctnt-start .list2-start.flex {
        justify-content: space-evenly;
    }

    .p-intro .ctnt-start .box-start.flex {
        justify-content: space-evenly;
    }

    .cards .start.flex {
        justify-content: space-evenly;
    }

    #funeral-plan .hide2 {
        display: none;
    }
}

@media (max-width: 1174px) {
    .p-intro .ctnt-start .list2-start .white {
        max-width: 80%;
        margin: 20px auto 0 auto;
        width: 100%;
    }

    .p-intro .ctnt-start .box-start .brown {
        margin-bottom: 20px;
    }

    .assistance .plan .sect-ttl::after {
        top: -9px;
    }
}

@media (max-width: 1030px) {
    .p-intro .ctnt-header .img-area {
        max-width: 100%;
        width: 100%;
    }

    .p-intro .ctnt-header .img-area img {
        width: 100%;
    }
}

@media (max-width: 992px) {
    .contact .contact-form dl dt {
        width: 170px;
    }

    .contact .contact-form dl dd {
        width: calc(100% - 150px);
    }

    .contact .contact-form .type dd {
        grid-template-columns: repeat(2, auto);
    }

    .contact .contact-form .type dd .qa {
        grid-column: unset;
    }
}

@media (max-width: 904px) {
    .p-intro .ctnt-start .list-start ul {
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .p-intro .ctnt-start .list-start ul li {
        width: 100%;
        flex-direction: column;
        align-items: center;
        margin-bottom: 15px;
    }

    .p-intro .ctnt-start .list-start ul li p {
        width: 100%;
        writing-mode: unset;
        text-align: center;
        height: auto;
    }

    .p-intro .ctnt-start .list-start ul li p span {
        padding: 0 5px 0 5px;
    }

    .p-intro .ctnt-start .list-start ul li::after {
        transform: rotate(90deg);
        margin: 5px 0 0 0;
    }
}

@media (max-width: 837px) {
    .contact .contact-form dl {
        padding-right: 0;
    }

    .p-intro .ctnt-start .icon-start .txt-img.hide {
        display: none;
    }
}

@media (max-width: 768px) {
    .p-intro .ctnt-box .ctnt-header {
        padding: 50px 0 0 0;
    }

    .p-intro .ctnt-box .ctnt-header .ctnt_ttl--box {
        padding: 0 2.5%;
    }

    .cards .start .item p {
        max-width: 90%;
        margin: 0 auto 10px auto;
    }

    .p-intro .ctnt-start .sub-ttl {
        max-width: 90%;
        margin: 0 auto 20px auto;
    }

    .cards .start .item {
        height: 255px;
    }

    .process .wake-flow .sect-ttl::before, .process .wake-flow .sect-ttl::after, .process .funeral-flow .sect-ttl::before, .process .funeral-flow .sect-ttl::after, .process .ceremony .sect-ttl::before, .process .ceremony .sect-ttl::after {
        width: 30%;
    }

    .assistance .plan>img {
        height: 380px;
    }

    .assistance .plan .links .link {
        width: 270px;
    }

    .p-intro .banner-start .banner .banner-ft {
        flex-wrap: wrap;
    }

    .p-intro .banner-start .banner {
        background-position: right;
    }

    .p-intro .banner-start .banner .ttl {
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
    }

    .p-intro .banner-start .banner .grid {
        grid-template-columns: 1fr;
    }

    .p-intro .banner-start .banner p {
        text-align: left;
        /* display: flex;
    justify-content: center;
    align-items: center; */
    }

    .p-intro .banner-start .banner .wrapper {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .p-intro .banner-start .banner .grid {
        max-width: 95%;
        width: 100%;
        display: unset;
        margin-top: 15px;
    }

    .p-intro .banner-start .banner .grid .purple {
        max-width: 100%;
        width: 280px;
    }

    .p-intro .banner-start .banner .grid .bg-white {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        line-height: 1.7;
    }

    .p-intro .banner-start .banner .banner-ft .white {
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .p-intro .banner-start .banner .banner-ft .white.wbf {
        margin-top: 15px;
    }

    .p-intro .banner-start .banner .banner-ft .white.wbf::before {
        width: clamp(25px, 40px, 60px);
        height: clamp(25px, 40px, 60px);
    }
}

@media (max-width: 640px) {
    .contact .contact-form dl {
        flex-direction: column;
        gap: 15px;
    }

    .contact .contact-form dl dt, .contact .contact-form dl dd {
        width: 100%;
    }

    .contact .contact-form dl dt {
        text-align: left;
    }

    .contact .contact-form dl dt br {
        display: none;
    }

    .contact .contact-form .type dd {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact .contact-form .contact-details dd {
        width: 100%;
        grid-template-columns: repeat(1, 1fr);
    }

    .assistance .plan>img {
        height: 300px;
    }
}

@media (max-width: 576px) {
    .funeral .row>p {
        text-align: left;
    }

    .funeral .row>p br {
        display: none;
    }

    .funeral .lead .sect-ttl, .funeral .burden .sect-ttl {
        /* width: fit-content; */
        background-size: clamp(200px, 18vw, 300px) 100%;
    }

    .funeral .lead .sect-ttl::before {
        top: -50px;
        left: 0;
        right: 0;
        bottom: unset;
        margin: 0 auto;
    }

    .funeral .burden .sect-ttl::after {
        top: -50px;
        left: 0;
        right: 0;
        bottom: unset;
        margin: 0 auto;
    }

    .funeral .guarantee .list .item {
        flex-direction: column;
        width: 100%;
        box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.1);
    }

    .funeral .guarantee .list .item .text-box {
        width: 100%;
    }

    .funeral .guarantee .list .item .text-box .tag {
        font-weight: 600;
    }

    .funeral .guarantee .list .item .text-box .tag, .funeral .guarantee .list .item .text-box .ttl {
        width: fit-content;
        margin: 0 auto;
    }

    .funeral .guarantee .list .item .text-box .desc br {
        display: none;
    }

    .plan-intro .sect-ttl::after {
        top: -50px;
        left: 0;
        right: 0;
        bottom: unset;
        margin: 0 auto;
    }

    .plan-intro .list .item .ttl {
        flex-direction: column;
    }

    .plan-intro .list .item .ttl .icon {
        margin: 0 auto;
        width: 25px;
        height: 25px;
        margin-bottom: 6px;
    }

    .plan-intro .list {
        grid-template-columns: repeat(1, 1fr);
    }

    .contact .contact-form .type dd {
        grid-template-columns: repeat(1, 1fr);
    }

    .contact .contact-form .name dd, .contact .contact-form .furigana dd {
        flex-direction: column;
        align-items: flex-start;
    }

    .contact .contact-form .name dd>div input, .contact .contact-form .furigana dd>div input, .contact .contact-form .name dd>div, .contact .contact-form .furigana dd>div {
        width: 100%;
    }

    .contact .contact-form .contact-details dd {
        grid-template-columns: repeat(1, 1fr);
    }

    .process .preparation .sect-ttl, .process .funeral-flow .sect-ttl, .process .wake-flow .sect-ttl {
        background-size: 160px 100%;
    }

    .process .wake-flow .sect-ttl::before, .process .wake-flow .sect-ttl::after, .process .funeral-flow .sect-ttl::before, .process .funeral-flow .sect-ttl::after, .process .ceremony .sect-ttl::before, .process .ceremony .sect-ttl::after {
        width: 25%;
    }

    .process .preparation .infos {
        flex-direction: column;
        gap: 10px;
    }

    .process .preparation .info {
        width: 100%;
    }

    .process .row .flow-list dl {
        flex-direction: column-reverse;
        border: none;
        margin: 12px 0;
        gap: 0;
    }

    .process .row .flow-list dt {
        width: 100%;
    }

    .process .row .flow-list dd {
        width: 100%;
        border-bottom: none;
    }

    .process .funeral-flow .flow-list dd {
        border: 2px solid #d4d8cd;
        border-bottom: none;
    }

    .process .wake-flow .flow-list dd {
        border: 2px solid #ccc8d4;
        border-bottom: none;
    }

    .process .ceremony .flow-list dd {
        border: 2px solid #dcc0d0;
        border-bottom: none;
    }

    .assistance .plan>img {
        height: 260px;
    }

    .assistance .plan .infos .info {
        width: 60%;
        min-width: 265px;
    }

    .dime {
        max-width: 90%;
        margin-bottom: 50px;
    }

    .p-intro .box-start {
        max-width: 90%;
        /* padding-bottom: 50px; */
    }

    .p-intro .ctnt-start {
        padding-bottom: 50px;
    }

    .p-intro .ctnt-start .icon-start .txt-img.hide {
        display: none;
    }

    .p-intro .ctnt-header .img-area {
        width: 100%;
        height: 300px;
    }

    .p-intro .ctnt-header .img-area img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }

    /* .p-intro .ctnt-box .ctnt-header {
    margin-bottom: 50px;
  } */
    .p-intro .ctnt-start {
        padding-top: 50px;
    }

    .p-intro .ctnt-start .list2-start .white {
        max-width: 100%;
        text-align: center;
        padding: 15px 10px;
    }

    .contact .contact-form .name dd, .contact .contact-form .furigana dd {
        flex-direction: column;
        align-items: flex-start;
    }

    .contact .contact-form .name dd>div input, .contact .contact-form .furigana dd>div input, .contact .contact-form .name dd>div, .contact .contact-form .furigana dd>div {
        width: 100%;
    }

    .process .preparation .infos {
        flex-direction: column;
        gap: 10px;
    }

    .process .preparation .info {
        width: 100%;
    }

    .process .row .flow-list dl {
        flex-direction: column-reverse;
        border: none;
        margin: 12px 0;
        gap: 0;
    }

    .process .row .flow-list dt {
        width: 100%;
    }

    .process .row .flow-list dd {
        width: 100%;
        border: 2px solid #d4d8cd;
        border-bottom: none;
        padding: 12px;
    }

    .company .table dl {
        flex-direction: column;
        gap: 0;
    }

    .company .table dl dt, .company .table dl dd {
        width: 100%;
    }

    .company .links {
        flex-direction: column;
    }

    .company .links .link {
        width: 100%;
    }

    .cards .start .item h4::before {
        width: clamp(22px, 40px, 35px);
        height: clamp(22px, 40px, 35px);
    }
}

@media (max-width: 489px) {
    .p-intro .ctnt-box .ctnt-header .ttl-box {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .p-intro .ctnt-box .ctnt-header .ctnt_ttl--box p {
        text-align: left;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .p-intro .ctnt-box .ctnt-header .ctnt_ttl--box br {
        display: none;
    }

    .p-intro .ctnt-box .ctnt-header .ttl-box .inner_ttl--box .brown {
        margin-left: 5px;
    }

    .p-intro .ctnt-box .ctnt-header .ttl-box .sub-ttl {
        margin-right: 0;
    }

    /* .p-intro .ctnt-box .ctnt-header .ttl-box .inner_ttl--box {
    margin-right: -50px;
  } */
    .p-intro .ctnt-box .ctnt-header .ttl-box .sub-ttl {
        flex-direction: column;
        margin-bottom: 30px;
    }

    .p-intro .ctnt-box .ctnt-header {
        padding: 20px 0 0 0;
    }

    .p-intro .ctnt-box .ctnt-header .ttl-box .leaf {
        margin-right: 0;
    }

    .process .wake-flow .sect-ttl::before, .process .wake-flow .sect-ttl::after, .process .funeral-flow .sect-ttl::before, .process .funeral-flow .sect-ttl::after, .process .ceremony .sect-ttl::before, .process .ceremony .sect-ttl::after {
        width: 16%;
    }

    .assistance .plan .infos .info, .assistance .expenses .list .item {
        width: 100%;
    }

    .assistance .plan>img {
        height: 200px;
        width: 100%;
    }

    .ads .wrapper p {
        text-align: center;
    }
}

@media (max-width: 460px) {
    .funeral .guarantee .list .item {
        padding: 15px;
    }

    .assistance .plan>.desc {
        text-align: left;
    }

    .assistance .plan>.desc br, #inquiry .desc br {
        display: none;
    }

    #inquiry .desc {
        text-align: left;
    }
}

@media (max-width: 396px) {
    .cards .start .item.bg-red {
        padding: 5px 0 20px 0;
    }
}

@media (max-width: 333px) {
    .cards .start .item h4::before {
        left: 0;
        /* top: 40px; */
    }
}

/*20230109_kentwrite*/
input#red_button_d {
    border: none;
    width: 20%;
    margin: 5% 40% 5% 40%;
    display: flex;
    border-style: none;
    background: #e84818;
    color: #fff;
    padding: 12px;
    height: 100%;
    cursor: pointer;
    transition: 0.6s;
    font-family: source-han-serif-japanese, serif;
    justify-content: center;
}

.contact__form--item dd input {
    border-radius: 0;
    border: 1px solid #000;
    /*   height: 56px;*/
    font-size: 16px;
    padding: 10px 3%;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 400;
    font-style: normal;
    margin-bottom: 15px;
}

.contact__form--item dd .textarea {
    width: 100% !important;
    max-width: 547px;
    height: 296px !important;
    border-radius: 0;
    border: 1px solid #000;
    font-size: 16px;
    padding: 20px 3%;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 500;
    font-style: normal;
}

dl.contact__form--item.flex {
    border-bottom: 1px solid #aaa;
    margin-bottom: 3%;
}

.privacy-center-flex {
    display: flex;
    flex-direction: column;
    align-items: center;
}

input.text3.a {
    width: 45%;
    margin-right: 5%;
}

input.text2 {
    width: 100%;
}

input.text3 {
    width: 100%;
}

.seimei_yoko {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

dl.contact__form--item.flex {
    padding-bottom: 2%;
}

.changename {
    padding: 20px 3%;
    background: #FFF;
    margin: 0px 0 20px;
}

.changename .imagebox {
    justify-content: center;
}

.changename .imagebox img:nth-child(1) {
    width: 200px;
}

.changename .imagebox img:nth-child(2) {
    width: 20px;
    margin: 0 14px;
}

.changename .imagebox img:nth-child(3) {
    width: 220px;
}

.changename p {
    margin: 10px 0 0;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
}

.sp {
    display: none;
}

.pc {
    display: block;
}

@media (max-width: 768px) {
    .changename {
        padding: 0 3%;
        margin: 0;
    }

    .changename .imagebox {
        display: block;
        text-align: center;
    }

    .changename .imagebox img:nth-child(1) {
        width: 220px;
    }

    .changename .imagebox img:nth-child(2) {
        display: block;
        margin: 10px auto;
        transform: rotate(90deg);
    }

    .changename .imagebox img:nth-child(3) {
        width: 240px;
    }

    .changename p {
    }

    .sp {
        display: block;
    }

    .pc {
        display: none;
    }
}