* {
    float: none;
    position: static;
    margin: 0;
    padding: 0;
}

div, p {
    margin: 0 auto;
}

.clear {
    clear: both;
}
.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

img {
    max-width: 100%;
    border: none;
    vertical-align: bottom;
}
a {
    text-decoration: none;
    color: #000;
}
.fadein {
    opacity : 0.1;
    transform : translate(0, 60px);
    transition : all 1000ms;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}


@media screen and (min-width: 520px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}

@media print {
    .no-print {
        display: none !important;
    }
}
ul {
    list-style-type: none;
}
.mini{
    font-size:80%;
}
.waku {
  border: 1px solid #dcdcdc;
}
.txtL {
    text-align: justify;
    margin: 1rem;
}
.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.aiC {
    align-items: center;
}

@media print, screen and (min-width: 960px) {
    .backG {
        margin: 20px auto 0;
    }
    .BodyMainO .backG {
        margin: 20px auto 0;
    }
}

.btnLink {
    text-align: center;
    line-height: 1.6;
}
.btnLink a {
    display: inline-block;
    margin: 20px;
    padding: 4px 25px 3px;
    border-radius: 1em;
    background: #5fb9db;
    color: #fff;
    text-align: center;
    font-size: 105%;
}
.btnLink a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    .btnLink a {
        margin: 10px 0;
    }
}
@media screen and (max-width: 519px) {
    .btnLink a {
        margin: 10px 0 20px;
        padding: 7px 25px 6px;
        font-size: 100%;
    }
    .service .btnLink a {
        margin: 10px 0 25px;
    }
    #after .service:last-child .btnLink a {
        margin: 10px 0 0;
    }
    #fix .linkR a {
        margin: 0 0 8px;
    }
}
.linkR a {
    background: #5fb9db;
}

@media print, screen and (min-width: 960px) {
    .tablet-sp-menubtn,
    .tablet-sp-menuBestnet,
    .tablet-sp-menuT,
    .sp-menuB,
    .tablet-br,
    .tablet-sp-br,
    .sp-br,
    .sp-slide,
    .tablet-sp-img,
    .tablet-fix-freedial,
    .sp-fix-freedial,
    .tablet-sp-link,
    .tablet-sp-contact {
        display: none !important;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    .pc-menuBestnet,
    .pc-headerC,
    .pc-headerR,
    .pc-menuT,
    .pc-menuB,
    .sp-menuB,
    .pc-br,
    .pc-sp-br,
    .sp-br,
    .sp-slide,
    .pc-hr,
    .pc-img,
    .pc-space,
    .sp-fix-freedial {
        display: none !important;
    }
}
@media screen and (max-width: 519px) {
    .pc-menuBestnet,
    .pc-headerC,
    .pc-headerR,
    .pc-menuT,
    .pc-menuB,
    .pc-br,
    .tablet-br,
    .pc-tablet-slide,
    .pc-hr,
    .pc-img,
    .pc-space,
    .pc-tablet-space,
    .pc-tablet-fix-logo,
    .pc-tablet-fix-freedial,
    .tablet-fix-freedial {
        display: none !important;
    }
}


/* body */
body {
    text-align: center;
    font-size: 1.1rem;
    line-height: 2.3;
}
@media screen and (max-width: 519px) {
    body {
        /* Android Chrome 40 upper */
        font-size: 1rem;
        line-height: 1.8;
    }
}

.BodyMain {
    background: #fff;
    font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",HiraKakuPro-W3,"メイリオ",Meiryo,verdana,sans-serif;
    -webkit-text-size-adjust: 100%;
}
@media print, screen and (min-width: 960px) {
    .BodyMain {
        margin: 0 auto 90px;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    .BodyMain {
        margin: 0 auto 95px;
    }
}
@media screen and (max-width: 519px) {
    .BodyMain {
        margin: 0 auto 108px;
    }
}

.container {
    width: 99%;
}
@media print, screen and (min-width: 960px) {
    .container {
        max-width: 1280px;
    }
}

/* section */
section {
    margin: auto;
}
section.block {
    position: relative;
    background: #eafaff;
    padding: 40px 0 60px;
}
.backWave,
.backWave2 {
    position: absolute;
    height: 60px;
    width: 100%;
    background: #eafaff;
    bottom: 0;
}
.backWave::before, .backWave::after,
.backWave2::before, .backWave2::after {
    content: "";
    display: block;
    position: absolute;
    border-radius: 100% 50%;
}
.backWave2::before, .backWave2::after {
    border-radius: 50% 100%;
}
.backWave::before {
    width: 55%;
    height: 109%;
    background-color: #fff;
    right: -1.5%;
    top: 60%;
}
.backWave::after {
    width: 55%;
    height: 100%;
    background-color: #eafaff;
    left: -1.5%;
    top: 40%;
}
.backWave2::before {
    width: 55%;
    height: 100%;
    background-color: #eafaff;
    right: -1.5%;
    top: 40%;
}
.backWave2::after {
    width: 55%;
    height: 109%;
    background-color: #fff;
    left: -1.5%;
    top: 60%;
}


@media print, screen and (min-width: 960px) {
    section .freedial {
        max-height: 25px;
        margin: -13px 8px 0 0;
        vertical-align: middle;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    section .freedial {
        max-height: 21px;
        margin: -8px 5px 0 0;
        vertical-align: middle;
    }
}
@media screen and (max-width: 519px) {
    section .freedial {
        max-height: 21px;
        margin: -8px 5px 0 0;
        vertical-align: middle;
    }
}
@media print, screen and (min-width: 960px) {
    section {
        width: 100%;
        padding: 20px 0 30px;
    }
    .contentsW {
        max-width: 1280px;
    }
}
@media screen and (max-width: 959px) {
    section {
        width: 100%;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    section {
        padding: 20px 0;
    }
}
@media screen and (max-width: 519px) {
    section {
        padding: 15px 0;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    section .txt {
        text-align: left;
    }
}
@media screen and (max-width: 519px) {
    section .txt {
        width: 93%;
        text-align: left;
    }
    #support .txt {
        padding-bottom: 20px;
    }
}
section::after {
    content: "";
    display: block;
    clear: both;
}
h2 {
    margin: 0 auto;
    padding: 5px 0;
    font-weight: normal;
    color: #666;
    letter-spacing: 0.07em;
}
@media print, screen and (min-width: 960px) {
    h2 {
        font-size: 75%;
    }
    h2.bottom {
        padding: 5px 0 20px;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    h2 {
        font-size: 70%;
        line-height: 17px;
    }
    h2.bottom {
        padding: 5px 0 25px;
    }
}
@media screen and (max-width: 519px) {
    h2 {
        font-size: 70%;
        line-height: 17px;
    }
    h2.bottom {
        padding: 5px 0 25px;
    }
}
.seoMar {
  margin-top: 2rem;
}

.priceCopy1 {
  font-size: 1.3rem;
  color: #005bac;
  padding: 0 0 10px;
}
.priceImg1 {
  border: none;
  margin: 1rem 2rem;
}

/* plan */

.planTxt {
    text-align: left;
    margin: 1rem;
}
.taxCopy {
  font-size: 0.9rem;
  float: right;
  padding: 0.5rem 1rem 0 0;
}
.priceDetails div {
    border-radius: 0.3em;
}
.priceDetails div a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
.planTitle {
    font-size: 150%;
    letter-spacing: 0.07em;
}
.planPrice {
    text-align: center;
    font-size: .9rem;
}
.planPrice span {
    font-size: 2rem;
    margin: 0 0 0 .3rem;
}
.price {
    background: #fbfcff;
    border: 4px solid #bac9ff;
    line-height: 1.6;
}
.cremation {
    background: #fefbff;
    border: 4px solid #eac2fe;
    line-height: 1.6;
}
.fukushi {
    background: #f7f7f7;
    border: 4px solid #dbdadb;
    border-radius: 0.3em;
    line-height: 1.6;
}
.colorFukushi {
    color: #7b717b;
}
.colorCremation {
    color: #e0a5fd;
}
.colorPrice {
    color: #a3b7ff;
}
.priceDetails .planLink,
.planLinkF {
    max-width: 50%;
    margin: 1rem auto 0;
    padding: 4px 15px 5px;
    border-radius: 1.5em;
    text-align: center;
    font-size: 1.05rem;
    padding-top: 0.5rem;

}
.priceDetails .planLink a {
    color: #000;
}
.priceDetails .price .planLink {
    background: #bac9ff;
}
.priceDetails .cremation .planLink {
    background: #eac2fe;
}
.priceDetails .fukushi .planLink {
    background: #dbdadb;
}
.planLinkF {
    background: #dbdadb;
    width: 25%;
    text-align: center;
    margin: 1rem auto;
}
.altarImg,
.parImg {
    max-width: 900px;
    width: 95%;
    margin: 1.5rem auto 0;
}
.parImg {
    max-width: 600px;
}

@media print, screen and (min-width: 960px) {

    .priceDetails div {
        flex: 1;
        margin: 25px 30px 30px;
        padding: 13px 10px 10px;
    }
    .priceDetails img {
        max-height: 200px;
        border: 1px solid #dcdcdc;
        margin: 0 1px;
    }
    .priceW {
        width: 75%;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    .planTxt {
        text-align: left;
    }
    .priceDetails div {
        width: 45.95%;
        margin: 5px;
        padding: 13px 0 20px;
    }
    .priceDetails img {
        border: 1px solid #dcdcdc;
        margin: 0 1px;
    }
    .planTitle {
        font-size: 135%;
    }
    .planPrice span {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 519px) {
    .planTxt {
        text-align: left;
    }
    .priceDetails div {
        width: 80%;
        padding: 8px 0;
        text-align: center;
        line-height: 25px;
    }
    .price,
    .fukushi,
    .cremation {
        margin: 20px 2px 0;
    }
    .priceDetails img {
        width: 95%;
        height: auto;
        max-width: 300px;
        border: 1px solid #dcdcdc;
    }
    #price .btnLink a {
        margin: 10px 0 0;
    }
    .planTitle {
        font-size: 140%;
        margin: 10px 0;
    }
    .planPrice {
        padding-bottom: 10px;
    }
    .planPrice span {
        font-size: 1.5rem;
    }
    .priceDetails .planLink {
        max-width: 60%;
        font-size: 1rem;
    }
    .planLinkF {
        width: 50%;
    }
}

/* emergency */
.emerW,
.policeW {
  width: 98%;
  margin: 1rem auto;
}
.emerTxt1 {
  margin: 0 auto 1rem;
  line-height: 2.3rem;
}
.emerImg1,
.emerImg2 {
  float: right;
  width: 28%;
  max-width: 350px;
  margin: 1rem auto;
}
.emerImg2 {
  float: left;
}
.infoFreedial a {
  font-size: 2.1rem;
  font-weight: normal;
  line-height: 2.7rem;
  margin: 1rem auto;
  color: #005bac;
}
.phoneImg {
    height: 25px;
    margin: -8px 10px 0 0;
    vertical-align: middle;
}

@media screen and (max-width: 519px) {
    .infoFreedial a {
      font-size: 1.9rem;
    }
}

@media print, screen and (min-width: 960px) {
    .counselW {
        max-width: 85%;
        margin-top: 40px;
    }
}
@media screen and (max-width: 959px) {
    .emerImg1,
    .emerImg2,
    .policeImg {
        width: 330px;
    }
}
@media screen and (max-width: 519px) {
    .emerImg1,
    .emerImg2 {
      width: 290px;
    }
}

/* index */

@media print, screen and (min-width: 960px) {
    .indexW,
    .serviceW,
    .planW {
        max-width: 85%;
    }
}
.indexImg {
    width: 180px;
    height: auto;
    float: right;
    padding: 0 2rem 1.5rem 2em;
}
.indexTxt {
  text-align: justify;
  margin: 2rem;
}

@media screen and (max-width: 519px) {
    .indexImg {
        width: 200px;
        float: none;
        padding: 0 2rem 0 2em;
    }
    .indexTxt {
      margin: 1rem;
    }
}


/* cust */
.custG {
  background: #3a8ee78f;
}

@media screen and (max-width: 959px) {
    .custG {
        width: 100%;
    }
}
@media screen and (max-width: 519px) {
    .custG {
        margin: 5rem auto 0.5rem;
    }
}

.iconContact {
  height: 40px;
  vertical-align: middle;
  margin: 0 10px 0 20px;
}
.custTxt1 {
  font-size: 130%;
}
.custTxt2 {
  line-height: 2.2;
  margin: 0.5rem auto 1rem;
}
.custBlock {
  width: 50%;
}
.custBox {
    width: 500px;
    border-radius: 4px;
    border: 1px solid #a3a2a2;
    background: #fff;
    padding: 20px 40px 20px 20px;
    margin: 30px auto;
}
.indexG {
  margin: 20px auto 0;
  position:relative;
  height: 60px;
}

@media screen and (min-width: 520px) and (max-width: 959px) {
    .custBox {
        width: 400px;
    }
}
@media screen and (max-width: 519px) {
    .custBox {
        width: 270px;
        padding: 10px 15px;
    }
    .custTxt1 {
      font-size: 120%;
    }
    .iconContact {
      margin: 10px;
    }
    .indexG {
      margin: -50px auto 140px;
      height: 0;
    }
}

h1 {
    margin: 0 auto;
    font-weight: normal;
    color: #666;
    letter-spacing: 0.07em;
    font-size: 75%;
}
h3.copy {
    font-size: 1.9rem;
    font-weight: normal;
    color: #4d4f72;
    margin: 10px 0 40px;
    line-height: 1.5;
    padding: 0.6rem 0 0.1rem 0;
    border-bottom: 3px solid #3f98f775;
}
h3.copy::first-letter {
    font-size: 130%;
    color: #506fdf;
    margin-right: 3px;
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    h3.copy {
        margin: 0 0 20px;
    }
}
@media screen and (max-width: 519px) {
    h3.copy {
        font-size: 1.3rem;
        letter-spacing: 0.03rem;
        margin: 0 auto 20px;
    }
}

@media print, screen and (min-width: 960px) {
    .copy {
        font-size: 1.5rem;
        margin: 0 auto 2rem;
        padding: 0.3rem 1rem 0.1rem;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    .copy {
        font-size: 1.3rem;
        line-height: 1.8;
        margin: 0.7rem auto 1.7rem;
        padding: 0.3rem 0.7rem 0.1rem;
    }
}
@media screen and (max-width: 519px) {
    .copy {
        font-size: 1.2rem;
        line-height: 1.6;
        margin: 0.6rem auto 1.5rem;
        padding: 0.3rem 0.5rem 0.2rem;
    }
    h3.copy {
        padding: .6rem 0 .3rem 0;
    }
}
.copyright {
    font-weight: normal;
}
@media screen and (min-width: 520px) {
    .copyright {
        font-size: 0.75rem;
    }
}
@media screen and (max-width: 519px) {
    .copyright {
        font-size: 0.7rem;
    }
}

/* header & footer & menu */
header,
#fix {
    background: rgb(255 255 255 / 76%);
}
@media print, screen and (min-width: 960px) {
    h1 a,
    .pc-tablet-fix-logo a {
        display: inline-block;
        height: 75px;
    }
}
#fix {
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 1002;
    border-top: 1px solid #0000cd;
    line-height: 1.6;
}
header .clearfix {
    width: 99%;
    max-width: 1280px;
}
.header-logo {
    float: left;
}
.linkEmergency {
    background-image: linear-gradient(#6769f2,#4f9af0 95%);
}
.linkCounsel {
    background-image: linear-gradient(#6769f2,#4f9af0 95%);
}
.linkFloral {
    background-image: linear-gradient(#6769f2,#4f9af0 95%);
}
footer .linkB {
    padding-left: 1rem;
}
.tablet-fix-freedial {
    color: #fff;
    text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.85);
    font-weight: bold;
}
@media print, screen and (min-width: 960px) {
    header .clearfix {
        position: relative;
    }
    .header-logo,
    .pc-tablet-fix-logo {
        width: 60%;
        text-align: left;
        padding-top: 0.8rem;
    }
    .pc-tablet-fix-logo {
        width: 30%;
    }
    .header-logo {
        width: 35%;
        padding: 15px 0 5px 15px;
    }
    .pc-tablet-fix-logo,
    .pc-tablet-fix-freedial {
        margin: 0;
    }
    .header-logo img,
    .pc-tablet-fix-logo img {
        max-height: 70px;
        margin-left: 20px;
        vertical-align: middle;
    }
    .pc-tablet-fix-logo a {
        display: inline-block;
        height: 75px;
    }
    .pc-contact1 {
        position: absolute;
        font-size: 1.8rem;
        line-height: 1.8rem;
        top: 8%;
        right: 0.5%;
    }
    .pc-contact1 a {
        color: #005bac;
        font-weight: normal;
    }
    .pc-contact1 img {
        max-height: 25px;
        margin: -8px 10px 0 0;
        vertical-align: middle;
    }
    .pc-sp-fix-link {
        width: 30%;
        line-height: 1.4;
    }
    .pc-sp-fix-link .btnLink a {
        width: 150px;
        margin: 4px 0;
    }
    .pc-tablet-fix-freedial {
        width: 40%;
        max-width: 360px;
        font-size: 1.8rem;
        line-height: 1.8rem;
    }
    .anytime {
        color: #af3b95;
        font-size: 0.9rem;
        line-height: 1.8rem;
    }
    .anytime span {
        font-size: 1.1rem;
    }
}
@media screen and (min-width: 520px) {
    .pc-tablet-fix-freedial img {
        max-height: 25px;
        margin: -8px 10px 0 0;
        vertical-align: middle;
    }
    .pc-tablet-fix-freedial a {
        color: #005bac;
    }
}
@media screen and (max-width: 959px) {
    .pc-contact1,
    .pc-contact2,
    .pc-menu {
        display: none !important;
    }
    .tablet-sp-contact {
        color: #fff;
        font-size: 2rem;
        font-weight: bold;
        text-align: center;
        padding-top: 20px;
    }
    .tablet-sp-contact a {
        color: #fff;
    }
    .tablet-sp-contact img {
        max-height: 25px;
        margin: -5px 8px 0 0;
        vertical-align: middle;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    .pc-sp-fix-link {
        width: 30%;
        line-height: 1.4;
    }
    .pc-sp-fix-link .btnLink a {
        width: 150px;
        margin: 4px 0;
    }
    .pc-tablet-fix-logo {
        width: 43%;
        margin: 0;
    }
    .pc-tablet-fix-logo img {
        max-height: 50px;
    }
    .pc-tablet-fix-freedial {
        width: 55%;
        font-size: 1.75rem;
        line-height: 1.5rem;
        margin: 0;
        padding-bottom: 5px;
    }
}
@media screen and (max-width: 959px) {
    .anytime {
        width: 280px;
        color: #dc689b;
        border-radius: 0.3rem;
        font-size: 0.95rem;
        line-height: 1.3rem;
        margin: 5px auto 7px;
    }
    .pc-tablet-fix-logo {
        display: none !important;
    }
}

.menu-inner {
    display: flex;
    align-items: center;
    height: 50px;
    position: relative;
}
.menu-inner,
.menu.active {
    z-index: 1002;
}
.menu-link {
    color: #fff;
}
@media print, screen and (min-width: 960px) {
    .menu {
        max-width: 1280px;
        background-image: linear-gradient(#03c1ff,#5fb9db 95%);
        margin: 0 auto;
    }
    .menu-inner li,
    .nav1_1 li {
        border-left: 1px solid #e6e6fa;
    }
    .menu-inner li:nth-child(1),
    .nav1_1 li:nth-child(1),
    .menu-contents li {
        border: none;
    }
    .nav1_1 .menu-item2 {
        width: 33.264%;
        float: left;
    }
    .nav1_1 .menu-link {
        line-height: 2.6;
    }
    .nav1_1::after {
        content: "";
        display: block;
        clear: both;
    }
    .nav1_2 {
        position: absolute;
        top: 1.2%;
        right: 1%;
    }
    .nav1_2 .menu-item2 {
        width: 100%;
    }
    .nav1_2 .menu-link {
        line-height: 1.8;
        padding: 5px 25px 4px;
    }
    .nav1_2 .linkEmergency {
        border-bottom: 4px solid #7e0121;
        border-radius: 0.3em;
    }
    .menu-item1,
    .menu-item2 {
        width: 20%;
        height: 100%;
        font-size: 1.1rem;
        text-align: center;
    }
    .menu-item1:hover {
        background: #506fdf;
    }
    .menu-item1::after {
        content: "";
        position: absolute;
        top: 18px;
        transform: translateY(-50%);
        transition: all 0.2s ease-in-out;
        display: block;
        width: 8px;
        height: 8px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
        margin-left: 7px;
    }
    .menu-link {
        display: block;
        height: 100%;
        line-height: 3;
        text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.85);
    }
    .menu-link span {
        margin-left: 15px;
    }
    /* メガメニュー */
    .menu-contents {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: calc(100% - 40px);
        background: rgb(186 236 255 / 87%);
        padding: 20px 20px 10px;
    }
    .menu-contents ul {
        display: flex;
        justify-content: space-around;
    }
    .menu-contents ul li {
        height: 95px;
        margin: 0 5px;
    }
    .menu-contents ul li a {
        display: block;
        font-size: 0.9rem;
    }
    .menu-contents ul li a img {
        width: 120px;
        height: 80px;
    }
    .pc-menu {
      display: flex;
      width: 98%;
      max-width: 1280px;
      padding: 2rem 0 1.5rem;
      border-top: 1px solid #dcdcdc;
    }
    .pc-menu .serviceGroup {
        text-align: left;
        font-size: 0.95rem;
        line-height: 2;
        padding: 0.5rem;
    }
    .pc-menu .category {
        border-left: 4px solid #506fdf;
        font-size: 1.05rem;
        line-height: 1.5rem;
        margin-bottom: 0.5rem;
        padding-left: 0.5rem;
    }
    .pc-menu .emergency a {
        color: #c03;
    }
}
@media screen and (max-width: 959px) {
    .tablet-sp-header {
        width: 100%;
        max-width: 1280px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .tablet-sp-header-inner:before {
        content: "";
        width: 100%;
        background: linear-gradient(43.37deg, #4d4d4d 6.71%, #bcbbbb 101.43%);
        position: absolute;
        top: 0;
        left: 0;
        z-index: -100;
    }
    .tablet-sp-header-inner {
        width: 100%;
        height: 60px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .header-logo img {
        height: 65px;
        vertical-align: middle;
        margin-left: 5px;
    }
    .tablet-sp-menubtn {
        width: 60px;
        height: 100%;
        position: relative;
        display: block;
        z-index: 5000;
        border: none;
        background: #214c7d;
        cursor: pointer;
    }    
    .tablet-sp-menubtn span {
        display: block;
        overflow: hidden;
        white-space: nowrap;
        text-indent: 100%;
        width: 22px;
        height: 3px;
        background: #fff;
        position: absolute;
        transition: 0.2s;
        left: 50%;
        top: 50%;
    }    
    .tablet-sp-menubtn span:nth-child(1) {
        transform: translate(-50%, -9px);
    }    
    .tablet-sp-menubtn span:nth-child(2) {
        transform: translate(-50%, -50%);
    }    
    .tablet-sp-menubtn span:nth-child(3) {
        transform: translate(-50%, 6px);
    }    
    .tablet-sp-menubtn.active span {
        width: 27px;
        height: 3px;
        top: 45%;
    }    
    .tablet-sp-menubtn.active span:nth-child(1) {
        transform: translate(-50%, 50%) rotate(45deg);
    }    
    .tablet-sp-menubtn.active span:nth-child(2) {
        opacity: 0;
        left: 50%;
    }    
    .tablet-sp-menubtn.active span:nth-child(3) {
        transform: translate(-50%, 50%) rotate(-45deg);
    }
    .menu {
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        height: calc(100% - 60px);
        background-image: linear-gradient(#b4e6ff,#2b98b9 95%);
        color: #fff;
        text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.85);
        overflow: auto;
        opacity: 0;
        visibility: hidden;
        transition: opacity .6s ease, visibility .6s ease;
    }
    .menu.active {
        opacity: 100;
        visibility: visible;
    }
    .menu-inner {
        display: block;
        height: auto;
        margin: 0 auto;
    }    
    .menu-item1,
    .menu-item2 {
        border-bottom: 1px solid #bcbbbb;
        width: 100%;
        position: relative;
    }
    .menu-item1::after {
        content: "";
        position: absolute;
        right: 16px;
        top: 30px;
        transform: translateY(-50%);
        transition: all 0.2s ease-in-out;
        display: block;
        width: 10px;
        height: 10px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }
    .menu-link {
        font-weight: bold;
        font-size: 1.15rem;
        letter-spacing: 0.04rem;
        height: 70px;
        display: flex;
        align-items: center;
        padding-left: 7px;
    }
    /* アコーディオン */
    .menu-contents {
        background: #a4b9e1;
        display: none;
        position: static;
        width: 100%;
        padding: 0;
    }
    .menu-contents img {
        display: none !important;
    }
    .menu-contents ul {
        display: block;
    }
    .menu-contents ul li {
        width: 100%;
        height: auto;
        padding: 10px 0;
    }
    .menu-contents ul li a {
        width: 95%;
        color: #fff;
        display: block;
        text-align: left;
        line-height: 2;
        margin: 0 auto;
    }
}
@media screen and (max-width: 519px) {
    .header-logo img {
        height: 40px;
    }
    .pc-sp-fix-link {
        display: flex;
    }
    .sp-fix-freedial {
        width: 90%;
        margin-top: 10px;
    }
    .sp-fix-freedial .btnLink a,
    .pc-sp-fix-link .btnLink a {
        padding: 5px 10px 4px;
    }
    .pc-sp-fix-link .btnLink a {
        margin: 0 5px 8px;
    }
    .sp-fix-freedial img {
        width: 30px;
        margin: 0 5px 2px 0;
        vertical-align: middle;
    }
}

/* support & service & saijo */
.saijo img,
.support img {
    margin-top: 10px;
}
@media screen and (max-width: 519px) {
    .saijo img,
    .support img {
        width: 95%;
    }
}
@media screen and (max-width: 959px) {
    .tablet-sp-header {
        width: 100%;
        max-width: 1280px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .tablet-sp-header-inner:before {
        content: "";
        width: 100%;
        background: linear-gradient(43.37deg, #4d4d4d 6.71%, #bcbbbb 101.43%);
        position: absolute;
        top: 0;
        left: 0;
        z-index: -100;
    }
    .tablet-sp-header-inner {
        width: 100%;
        height: 60px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .header-logo img {
        height: 43px;
        vertical-align: middle;
        margin-bottom: 5px;
    }
}

.supportImg,
.service img {
    border: 1px solid #dcdcdc;
}

@media print, screen and (min-width: 960px) {
    .saijo,
    .support,
    .service {
        width: 32.6%;
    }
    .saijo {
        padding: 10px 3px 0;
    }
    .support {
        padding: 30px 3px 0;
    }
    .service {
        padding: 0 3px;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    .saijo,
    .support,
    .service {
        width: 47.5%;
        margin: 6px;
    }
    .service img {
        margin-top: 10px;
    }
}
@media screen and (max-width: 519px) {
    .support,
    .service{
        text-align: center;
        padding-bottom: 5px;
    }
}

/* PageTitle */
#pageTitle {
    background: #e5f6ed;
    color: #005b2d;
}
@media print, screen and (min-width: 960px) {
    #pageTitle {
        height: 90px;
        line-height: 90px;
        font-size: 230%;
        margin-bottom: 30px;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    #pageTitle {
        height: 70px;
        line-height: 70px;
        font-size: 200%;
        margin-bottom: 25px;
    }
}
@media screen and (max-width: 519px) {
    #pageTitle {
        height: 50px;
        line-height: 50px;
        font-size: 150%;
        margin-bottom: 20px;
        text-align: center;
    }
}

/* page-top */
#page-top {
    position: fixed;
}
#page-top a {
    background: url("../images/page-top.png") no-repeat;
    width: 50px;
    height: 50px;
    display: block;
}
@media print, screen and (min-width: 960px) {
    #page-top {
        bottom: 110px;
        right: 7px;
    }
    .BodyMainO #page-top {
        bottom: 7px;
        right: 7px;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    #page-top {
        bottom: 97px;
        right: 7px;
    }
}
@media screen and (max-width: 519px) {
    #page-top {
        bottom: 100px;
        right: 4px;
    }
    #page-top a {
        background: url("../images/page-top.png") center/85% no-repeat;
        width: 35px;
        height: 35px;
        display: block;
    }
}

.close {
    border-top: 1px solid #dcdcdc;
    font-size: 80%;
}
@media print, screen and (min-width: 960px) {
    .close {
        padding-top: 1.2rem;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    .close {
        padding: 1rem 0;
    }
}
@media screen and (max-width: 519px) {
    .close {
        padding: 0.7rem 0;
        font-size: 75%;
    }
}
.pc-menuBestnet {
    width: max-content;
    display: flex;
    font-size: 0.95rem;
    padding-bottom: 1rem;
}
.pc-menuBestnet a {
    padding: 0 1.5rem;
}
.tablet-sp-menuBestnet,
.tablet-sp-menuBestnet .menu-contents {
    background: #569d79;
}

/* for cust */
.custAddress {
    margin: 20px auto 20px;
    font-size: 110%;
    line-height: 30px;
}
.custAddress span {
    font-size: 80%;
}
.custLink a {
  display: inline-block;
  width: 80%;
  margin: 6px;
  padding: 4px 3px 3px;
  border-radius: 0.3em;
  background: #f7f7f7;
  border-bottom: 1px solid #132ec3;
  color: #132ec3;
  text-align: center;
  font-size: 105%;
}
@media print, screen and (min-width: 960px) {
    .cust {
        max-width: 960px;
        padding: 1.5rem 0 3rem;
        align-items: center;
    }
    .custL {
        width: 45%;
        float: left;
    }
    .custR {
        width: 55%;
        float: right;
    }
    .custR img {
        max-height: 100px;
        margin: 35px 40px 0 20px;
        vertical-align: middle;
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    .custR {
        width: 100%;
        float: none;
        margin: 10px 0;
    }
    .custR img {
        margin: 0 10px;
    }
}
@media screen and (max-width: 519px) {
    .cust {
        width: 95%;
    }
    .custAddress {
        width: 90%;
    }
    .custLink a {
      font-size: 90%;
    }
}
hr {
  color: #dcdcdc;
  background-color: #dcdcdc;
  height: 1px;
  border: none;
  padding: 0;
  margin: 20px auto;
}
/* for useful */
.usefulmenuTxt {
    margin: 30px auto 0;
}
ul.usefulmenu {
    margin: 10px auto 0;
}
ul.usefulmenu li {
    float: left;
    width: calc(100%/5);
    padding: 5px 0 10px;
}
ul.usefulmenu li a {
    width: 85%;
    height: auto;
    border-radius: 0.3em;
    background: #fefbff;
    border: 2px solid #eac2fe;
    color: #000;
    padding: 5px 10px;
    display: inline-block;
    text-align: center;
    font-size: 1.0rem;
    line-height: 1.8;
}
ul.usefulmenu a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}

@media screen and (min-width: 520px) and (max-width: 959px) {
ul.usefulmenu li {
    float: left;
    width: calc(100%/3);
    padding: 5px 0 0;
    }
    ul.usefulmenu li a {
        font-size: 0.9rem;
    }
}
@media screen and (max-width: 519px) {
    div.usefulmenuW {
        margin: 0 auto;
    }
    ul.usefulmenu li {
        float: none;
        width: 60%;
        margin: 10px auto;
    }
}
.accessTxt span {
    color: #af3b95;
    }
@media print, screen and (min-width: 960px) {
    .accessTxt {
        width: 35%;
        text-align: left;
        margin: 1rem auto;
        }
}
@media screen and (max-width: 959px) {
    .accessTxt {
        width: 65%;
        text-align: left;
        margin: 1rem auto;
        }
}
/* attention */
.chui {
  height: 35px;
  vertical-align: middle;
  margin-right: 10px;
}
.attentionCopy1 {
  font-size: 1.3rem;
  color: #c91665;
  padding: 0 0 10px;
}
.priceCopy1 {
  font-size: 1.3rem;
  color: #005bac;
  padding: 0 0 10px;
}
.attentionImg1,
.priceImg1 {
  float: right;
  width: 28%;
  max-width: 300px;
  border: 1px solid #dcdcdc;
  margin: 0 1rem 0 2rem;
}
.fukushiImg1 {
  float: right;
  width: 28%;
  max-width: 250px;
  height: auto;
  margin: 1rem 2rem;
}
.priceImg1 {
  border: none;
  margin: 1rem 2rem;
}
.attentionBox {
  width: 85%;
  border-radius: 4px;
  border: 2px solid #dc689b;
  box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.28);
  background: #fff6f6;
  padding: 20px;
  margin-bottom: 30px;
}

@media screen and (max-width: 959px) {
    .attentionCopy1 {
      font-size: 1.2rem;
    }
    .attentionBox {
      margin: 0 auto 0.5rem;
    }
}
@media screen and (max-width: 519px) {
    .attentionImg1,
    .fukushiImg1 {
      float: none;
      width: 80%;
      max-width: 300px;
      border: 1px solid #dcdcdc;
      margin: 1rem auto;
    }
    .fukushiImg1 {
      border: none;
    }
    .attentionCopy1 {
      font-size: 1rem;
    }
}

.sub,
.sub2 {
  font-size: 1.5rem;
  color: #af3b95;
  margin: 1rem auto 0;
}
.sub2 {
    color: #005bac;
    margin: 0 0 0 1rem;
    text-align: left;
    border-bottom: 2px dotted #5fb9db;
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    .sub,
    .sub2 {
        margin: 0 0 1rem 0;
        font-size: 1.2rem;
    }
}
@media screen and (max-width: 519px) {
    .sub,
    .sub2 {
        font-size: 1.2rem;
        margin: 0 0.5rem 1rem;
    }
}
.uruma {
  margin: 0.5rem auto 3rem;
}
@media screen and (max-width: 519px) {
    .urumaTxt {
      margin: 0.5rem 0.5rem 0;
    }
}
.map {
  width: 80%;
  max-width: 500px;
  margin: 1rem auto;
}

/* police */
@media screen and (min-width: 960px) {
    .policeTxt {
        margin: 0 auto 1rem;
        line-height: 2.3rem;
        width: 62%;
    }
    .policeImg {
      width: 30%;
      max-width: 350px;
      margin: 1rem auto;
    }
}

/* promise */
#promise ol {
    margin: 2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 30px;
}
#promise ol li {
    width: calc((100% - 90px)/4);
    box-sizing: border-box;
    list-style-position: inside;
    background-image: url("../images/promise_back.jpg");
    background-repeat: no-repeat;
    border-radius: 1rem;
    box-shadow: 1px 1px 2px 1px rgba(204,204,204,.5);
    padding: 10px 20px 0;
    color: #506fdf;

}
@media print, screen and (min-width: 960px) {
    #promise ol li {
        width: calc((100% - 90px)/3);
    }
}
@media screen and (min-width: 520px) and (max-width: 959px) {
    #promise ol li {
        width: calc((100% - 30px)/2);
    }
}
@media screen and (max-width: 519px) {
    #promise ol {
        justify-content: center;
    }
    #promise ol li {
        width: 90%;
    }
}
#promise ol li::marker {
    font-size: 180%;
    text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, -1px -1px 0 #fff, 1px 0 0 #fff, -1px 0 0 #fff, 0 1px 0 #fff, 0 -1px 0 #fff;
}
#promise ol li p {
    padding: 0 0 1rem;
    color: #333;
    text-align: justify;
}


iframe {
  width: 100%;
  aspect-ratio: 16/9; //アスペクト比（縦横比）を指定
}

/* 訃報 */
.funerals {
    width: 700px;
    white-space: nowrap;
    line-height: 28px;
    font-size: 90%;
    letter-spacing: 0.1em;
    border-bottom: 1px dotted #ccc;
    padding: 5px 0;
    margin: 10px auto 20px;
}
.funerals span {
    position: relative;
    padding-right: 25px;
}
.funerals span::after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border: solid 6px transparent;
    border-left-width: 6px;
    border-left-style: solid;
    border-left-color: transparent;
    border-left: solid 8px #005bac;
    top: 45%;
    right: 0;
    margin-top: -6px;
}

@media screen and (min-width: 520px) and (max-width: 959px) {
    .funerals {
        max-width: 95%;
    }
}
@media screen and (max-width: 519px) {
    .funerals {
        max-width: 98%;
    }
}
