*{
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.75em;
}

h2{font-size: 38px; font-weight: 600; margin-bottom: 30px;}
h3{font-size:24px; font-weight: 600;}
p{font-size: 20px;}

span {
    font-weight: 500;
}

.sp{display: none;}

.small {
    font-size: 0.85em;
    font-weight: 600;
}

.big {
    font-size: 1.1em;
}

.red {
    color: #d90000;
}

.bold {
    font-weight: 700;
}

.marker {
    background: linear-gradient(transparent 65%, #ffff00 65%);
}

.inner{
    width: 1200px;
    margin:0 auto;
}

#top {
    position: relative;
    min-height: 800px;
    background:url(../img/top/top.jpg)no-repeat center/cover;
}

#top h1 img {
    position: absolute;
    width: 640px;
    left: calc(50% - 320px);
    top: 25%;
}

a.top-s {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 75px;
    transition: .3s;
}

a.top-s:hover {
    opacity: .5;
}

#lead{
    background: url(../img/top/bg01.jpg);
    color: #fff;
    text-align: center;
    padding: 75px 0;
}

#lead p {
    font-size: 26px;
    line-height: 2em;
}

#cemetery{
    background: url(../img/top/bg02.jpg);
    color: #211f19;
    text-align: center;
    padding: 75px 0;
}

.title h2 {
    position: relative;
    display: inline-block;
}

.title h2:before,.title h2:after {
    content: '';
    position: absolute;
    display: block;
    width: 38px;
    border-top: 1px solid #211f19;
    top: 50%;
}

.title h2:before {
    left: -68px;
}

.title h2:after {
    right: -68px;
}

.message h3 {
    margin-bottom: 0.5em;
}

.graveyard {
    display: flex;
    gap: 60px;
    justify-content: center;
    margin-top: 75px;
    align-items: center;
}

.graveyard h3 {
    color: #1a5456;
    font-weight: 700;
    margin-top: 30px;
    margin-bottom: 15px;
    border-top: 1px solid #1a5456;
    border-bottom: 1px solid #1a5456;
    padding: 0.25em;
}

#about{
    background:url(../img/top/bg01.jpg);
    text-align: center;
    color: #fff;
    padding-top: 75px;
    padding-bottom: 175px;
}

#about .title h2:before,#about .title h2:after{
    border-top: 1px solid #fff;
}

#about-photo{
    background: url(../img/top/bg02.jpg);
}

#about-photo .inner {
    position: relative;
    top: -110px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

#about-photo img {
    box-shadow: 0 0 10px #000;
}

#access{
    background:url(../img/top/bg03.jpg);
    color:#211f19;
    padding:75px 0;
}

#access .title,#access .message{
    text-align: center;
}

.access-box-wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
}

.access-box-wrap .box {
    width: 49%;
}

.access-box-wrap h3 {
    border-bottom: 1px solid #211f19;
    padding: 0 0.5em;
    display: flex;
    align-items: center;
    margin-bottom: 0.5em;
}

.access-box-wrap h3 span {
      font-variation-settings:'FILL' 1;
      font-size: 2em;
      margin-right: 0.25em;
}

.access-box-wrap p {
    padding: 0 0.5em;
}

.access-box-wrap img {
    margin-top: 30px;
    width: 100%;
    padding: 0 0.5em;
}

p.train {
    margin-top: 1em;
    margin-bottom: 0.5em;
    font-weight: 700;
}

.access-box-wrap table {
    font-size: 18px;
}

.access-box-wrap th {width: 30%;vertical-align: top;}

.access-box-wrap td {
    width: 70%;
    padding-bottom: 0.5em;
}

.ikebukuro {
    display: inline-block;
    background: #ce6302;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 0.25em 1em;
}

.shinjuku {
    display: inline-block;
    background: #01a6bf;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    padding: 0.25em 1em;
}

#access iframe {
    width: 100%;
    height: 500px;
    margin-top: 50px;
}

#shonan{
    background:url(../img/top/bg04.png),url(../img/top/bg05.png),url(../img/top/bg02.jpg);
    background-position: top 5% right 5%,bottom 5% left 5%,top;
    background-repeat: no-repeat,no-repeat,repeat;
    padding:75px 0;
}

#shonan .title,#shonan .message {
    text-align: center;
}

#shonan .message {
    margin-bottom: 50px;
}

.point {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.point .img,.point .txt {
    width: 46%;
}

.point-r {
    flex-direction: row-reverse;
    margin-top: 50px;
}

.point .img img {
    width: 100%;
}

.point .txt h3 {
    margin-bottom: 15px;
}

.point .txt p {
    text-align: justify;
}

#button{
    background:url(../img/top/bg03.jpg);
    padding: 75px 0;
}

a.mail {
    width: 100%;
    display: inline-block;
    background-color: #ea7a00;
    color: white;
    padding: 10px 20px;
    text-decoration: none;
    box-shadow: 0 5px 0 #bc5e00;
    transition: all 0.3s ease;
    text-align: center;
    border-radius: 0.5em;
    margin-bottom: 30px;
}

a.mail:hover {
    box-shadow: none;
    transform: translateY(7px);
}

a.mail .txt {
    display: inline-flex;
    align-items: center;
    font-size: 36px;
    font-weight: 600;
}

a.mail .txt .icon {
    font-size: 42px;
    margin-right: 20px;
}

a.tel {
    width: 100%;
    display: inline-block;
    background-color: #1a5456;
    color: white;
    padding:5px 20px;
    text-decoration: none;
    box-shadow: 0 5px 0 #023030;
    transition: all 0.3s ease;
    text-align: center;
    border-radius: 0.5em;
}

a.tel:hover {
    box-shadow: none;
    transform: translateY(7px);
}

a.tel .txt {
    display: inline-flex;
    align-items: center;
    font-size: 45px;
    font-weight: 600;
}

a.tel .txt .icon {
    font-variation-settings: 'FILL' 1;
    font-size: 42px;
    margin-right: 20px;
}

span.ja {
    background: #fff;
    color: #1a5456;
    font-size: 24px;
    font-weight: 700;
    padding: 0 1.25em;
    border-radius: 5em;
    margin-right: 15px;
}

footer{
    text-align: center;
    background:url(../img/top/bg01.jpg);
    color:#fff;
    padding: 50px 0;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}

a.st-btn {
    color: #fff;
    background: #ea7a00;
    border-radius: 1em 0 0 1em;
    position: fixed;
    top: calc(50% - 95px);
    right: 0;
    text-decoration: none;
    width: 125px;
    height: 160px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 5px 2px #00000080;
    transition: .3s;
}

a.st-btn:hover{opacity: .75;}

a.st-btn .icon {
    color: #ea7a00;
    background: #fff;
    font-size: 32px;
    padding: 0.25em;
    border-radius: 5em;
    margin-bottom: 10px;
}

a.st-btn .txt {
    font-size: 20px;
    line-height: 1.35em;
}

@media only screen and (max-width: 1200px) {
    .inner {
        width: 100%;
        padding: 0 1.5em;
    }
    
    h2 {
        font-size: 32px;
    }
    
    #lead p {
        font-size: 22px;
    }
    
    #about-photo .inner img {
        width: 48%;
    }
}

@media only screen and (max-width: 768px) {
    h2 {
        font-size: 26px;
    }
    
    h3 {
        font-size: 20px;
    }
    
    p {
        font-size: 16px;
    }
    
    .sp{
        display: block;
    }

    #cemetery {
        padding: 50px 0;
    }
    
    #about {
        padding-top: 50px;
    }
    
    #about-photo {
        margin-bottom: -50px;
    }
    
    #access {
        padding: 50px 0;
    }
    
    #shonan {
        padding: 50px 0;
    }

    #top{
        min-height: 460px;
    }

    a.top-s {
        right: 15px;
    }
    
    a.top-s img {
        width: 50vw;
        max-width: 230px;
    }    

    #lead p {
        font-size: 20px;
    }

    .title h2:before, .title h2:after {
        width: 20px;
    }
    
    .title h2:before {
        left: -32px;
    }
    
    .title h2:after {
        right: -32px;
    }

    #top h1 img {
        width: 80vw;
        left: calc(50% - 40vw);
    }
    .graveyard {
        flex-direction: column;
    }
    
    #about-photo .inner img {
        width: 100%;
    }
    
    #about {
        padding-bottom: 150px;
    }
    
    .access-box-wrap {
        flex-direction: column;
    }
    
    .access-box-wrap .box {
        width: 100%;
        margin-bottom: 50px;
    }
    
    .access-box-wrap th {
        display: block;
        width: 100%;
    }
    
    .access-box-wrap td {
        display: block;
        width: 100%;
        font-size: 16px;
        padding-bottom: 0.75em;
    }
    
    .ikebukuro,.shinjuku {
        font-size:16px;
        width: 100%;
        margin-bottom: 10px;
    }    

    #access iframe {
        margin: 0;
    }
    
    .point {
        flex-direction: column;
    }
    
    .point .img, .point .txt {
        width: 100%;
    }
    
    .point .txt {
        margin-top: 30px;
    }

    #shonan {
        background-size: 80vw, 70vw, auto;
    }
    
    a.mail .txt {
        flex-direction: column;
        font-size: 26px;
    }
    
    a.mail .txt .icon {
        font-size: 36px;
        margin: 0;
    }
    
    a.tel .txt {
        flex-direction: column;
        font-size: 28px;
    }
    
    a.tel .txt .icon {
        font-size: 36px;
        margin: 01;
    }
    
    span.ja {
        font-size: 18px;
        margin: 0;
        margin-top: 5px;
    }
    
    footer {
        padding: 3em 1.5em;
        margin-bottom: 50px;
    }
    a.st-btn {
        top: unset;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 65px;
        flex-direction: row;
        border-radius: 1em 1em 0 0;
    }
    
    a.st-btn .icon {
        margin-bottom: 0;
        margin-right: 15px;
    }
    
    a.st-btn .txt {
        font-size: 22px;
    }
    
    a.st-btn .txt br {
        display: none;
    }

    a.st-btn .txt .sp {
        display: inline;
    }
}