@charset "utf-8";
img{
    vertical-align: middle;
}

/* desktop */
#wrap #mainImage {
	height: 200px;
	background: url(../img/gravestone/main_image.jpg) center top repeat-x;
}

#wrap main{
	min-height: 680px;
	padding: 80px 0 0 0;
	background: url(../img/common/section_bg.png) top center no-repeat;
}

#wrap main .inner{
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}

#wrap #gravestone section .sectionBg {
	width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}

#wrap #gravestone section p {
	margin: 0 0 6px 0;
}

#wrap main .inner section:first-of-type{
    margin-bottom: 60px;
}

#wrap main .inner h3{
    max-width: 1000px;
    height: 50px;
    margin: 0 auto 20px;
    padding: 0 0 0 40px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
    font-size: 2.000em;
    font-weight: bold;
    line-height: 50px;
    color: #fff;
    background: url(../img/common/h3_bg.png) top left/ 100% auto no-repeat;
}

#wrap main .inner .lead{
    margin-bottom: 25px;
}

#wrap main .inner .lead p:first-of-type{
    margin: 10px 0 0 0;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
}

#wrap main .inner .lead p:last-of-type{
    font-size: 16px;
}

#wrap main .inner .container .stone_image{
    display: flex;
    flex-wrap: wrap;
    gap: 0 2%;
    margin-bottom: 10px;
}
#wrap main .inner .container .stone_image p{
    width: calc(33.333% - 1.333%);
    margin-bottom: 15px!important;
}

#wrap main .inner .container .stone_image p:last-of-type{
    position: relative;
}

#wrap main .inner .container .stone_image p:last-of-type::before{
    content: '※画像はイメージです';
    position: absolute;
    bottom: 0;
    right: -180px;
    font-size: 16px;
}

#wrap main .inner .container .stone_image p img{
    width: 100%;
    height: auto;
    
}

#wrap main .inner .container>p{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.6em;
}

#wrap main .inner .container .flow{
    display: flex;
    flex-wrap: wrap;
    gap: 0 5%;
}

#wrap main .inner .container .flow li{
    width: calc(33.333% - 5%);
    margin-bottom: 20px!important;
    position: relative;
}

#wrap main .inner .container .flow li::before{
    content: '';
    position: absolute;
    top: 32%;
    right: -12%;
    width: 18px;
    height: 34px;
    background: url("../img/gravestone/arrow.png")center/ 16px auto no-repeat;
}

#wrap main .inner .container .flow li:last-of-type::before{
    display: none;
}

#wrap main .inner .container .flow li img{
    width: 100%;
    height: auto;
}

#wrap main .inner .container .flow .detail{
    display: flex;
}

#wrap main .inner .container .flow .detail p{
    width: 15%;
}

#wrap main .inner .container .flow .detail>div{
    width: 85%;
    box-sizing: border-box;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2em;
    padding-left: 15px;
    padding-top: 10px;
}

#wrap main .inner .container .flow .detail>div span{
    font-size: 14px;
    font-weight: normal;
    display: block;
    padding-top: 10px;
    line-height: 1.4em;
}



/* smartphone */

@media screen and (max-width: 768px) {
    #wrap {
        background: url(../img/top/index_bg_sp01.png) center top no-repeat;
        background-size: contain;
    }

    #wrap #mainImageSp p img {
        vertical-align: bottom;
    }

    #wrap #gravestone section {
        background: url(../img/common/section_bg_sp.png) top center no-repeat;
        background-size: contain;
        box-sizing: border-box;
        padding: 0 15px;
        max-width: 600px;
        margin: 0 auto;
    }

    #wrap #gravestone section .sectionBg {
        width: 100%;
        margin: 0;
        padding: 0 10px;
        box-sizing: border-box;
    }

    #wrap #gravestone section p {
        margin: 6px 0 0 0;
    }
    #wrap main{
        padding: 30px 0 0 0;
        min-height: inherit;
    }
    h2 {
        margin-bottom: 25px;
        box-sizing: border-box;
        padding: 0 15px;
        max-width: 600px;
        margin: 0 auto;
        display: block;
}
    #wrap main .inner {
        width: 100%;
    }
    #wrap main .inner .lead p:first-of-type{
        font-size: 20px;
    }
    #wrap main .inner h3{
        width: 100%;
        height: auto;
        margin: 0 0 10px;
        padding: 2px 0 2px 10px;
        font-size: 1.286em;
        line-height: 1.4;
        background: none;
        background: #333;
        box-sizing: border-box;
        border: 1px solid #f9f1af;
    }
    #wrap main .inner .container .stone_image{
        gap: 0 2%;
    }
    #wrap main .inner .container .stone_image p {
        width: calc(50% - 2%);
        margin: 0 0 2%!important;
    }
    #wrap main .inner .container .stone_image p:last-of-type::before{
        right: -160px;
        font-size: 15px;
    }
    #wrap main .inner section:first-of-type {
        margin-bottom: 30px;
    }
    #wrap main .inner .container .flow {
        gap: 0;
    }
    #wrap main .inner .container .flow li {
        width: 100%;
        margin-bottom: 30px!important;
        display: flex;
    }
    #wrap main .inner .container .flow .detail{
        display: block;
    }
    #wrap main .inner .container .flow li>p{
        width: 50%;
    }
    #wrap main .inner .container .flow .detail{
        width: 50%;
        box-sizing: border-box;
        padding-left: 10px;
    }
    #wrap main .inner .container .flow .detail>div {
        font-size: 18px;
        padding-left: 0;
        padding-top: 10px;
        width: 100%;
    }
    #wrap main .inner .container .flow .detail p {
        width: 40px;
    }
    #wrap main .inner .container .flow li::before {
        top: auto;
        right: auto;
        left: 50%;
        bottom: -35px;
        transform: translateX(-50%) rotate(90deg);
        width: 18px;
        height: 34px;
        background: url(../img/gravestone/arrow.png)center/ 16px auto no-repeat;
    }
    #wrap #contactBox .Inner h2{
        padding: 0;
    }
}

@media screen and (max-width: 319px) {

}

