@charset "utf-8";
.l-bg_title {
    position: relative;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
}

.c-bg_title {
    width: 100%;
    height: 400px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover
}

@media only screen and (min-width: 1600px) {
    .c-bg_title {
        height: 640px
    }
}

@media only screen and (max-width: 767px) {
    .c-bg_title {
        height: 250px
    }
}

@media only screen and (max-width: 480px) {
    .c-bg_title {
        height: 150px
    }
}

.c-bg_title_inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding-top: 40px
}

@media only screen and (max-width: 1119px) {
    .c-bg_title_inner {
        padding-left: 25px;
        padding-right: 25px
    }
}

.p-memorial_title {
    background-image: url(../img/restoration-bg-img-sub.jpg)
}

.p-memorial_caption {
    font-size: 30px;
    font-family: 'Zen Antique Soft', serif;
    color: #000000;
    line-height: 1.75;
    font-weight: normal;
}

.p-memorial_txt {
    width: 100%;
    margin: 0 auto;
    line-height: 1.5;
    font-family: 'Zen Old Mincho', serif;
    color: #000;
    font-size: 1.5rem;
}

.p-memorial_txt p {
    margin-bottom: 35px;
}

.p-memorial_txt p:last-child {
    margin-bottom: 0
}

.p-memorial_txt.txt01 {
    border-bottom: 2px solid #000b00;
}

.p-memorial_img img {
    width: 100%;
    max-width: 100%;
}

@media print,
screen and (min-width: 1120px) {
    .safari .p-memorial_ttl {
        height: 74%
    }
    .safari .p-memorial_caption {
        line-height: 1.4;
        white-space: nowrap
    }
    .p-memorial_caption.caption01 {
        position: absolute;
        top: 85px;
        left: 25px
    }
    .p-memorial_caption.caption02 {
        position: absolute;
        top: 45px;
        left: 25px
    }
    .p-memorial_img {
        position: absolute;
        bottom: -220px;
        right: 10px;
        -webkit-transform: translateX(60%);
        transform: translateX(60%);
        z-index: 2;
        width: 600px;
    }
    /*
    .p-memorial_img {
        position: absolute;
        bottom: 0;
        right: 0;
        -webkit-transform: translateX(60%);
        transform: translateX(60%);
        z-index: 2
    }
    */
    .p-memorial_txt {
        max-width: 590px
    }
    .p-memorial_txt.txt01 {
        padding-top: 85px;
        padding-bottom: 45px
    }
    .p-memorial_txt.txt02 {
        padding-top: 45px;
        padding-bottom: 75px
    }
}

@media only screen and (max-width: 1119px) {
    .p-memorial_caption {
        position: relative;
        font-size: 16px;
        margin-bottom: 30px
    }
    .p-memorial_caption br {
        display: none
    }
    .p-memorial_container {
        padding: 0
    }
    .p-memorial_ttl {
        position: relative;
        background: url(../img/test/bg.png) left top repeat;
        background-size: 195px 165px;
        padding-top: 45px;
        -webkit-writing-mode: unset;
        -ms-writing-mode: unset;
        writing-mode: unset
    }
    .l-title h3 {
        -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
        writing-mode: initial
    }
    .p-memorial_ttl,
    .p-memorial_txt {
        padding-left: 25px;
        padding-right: 25px
    }
    .p-memorial_img {
        display: none
    }
    .p-memorial_txt.txt01,
    .p-memorial_txt.txt02 {
        padding-bottom: 45px;
        font-size: 1.9rem;
    }
}

@media only screen and (max-width: 767px) {
    .p-memorial_ttl,
    .p-memorial_txt {
        padding-left: 20px;
        padding-right: 20px
    }
}

.p-memorial_feature {
    width: 100%;
    background-image: url(../img/support/restoration-bg-under-img.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    padding: 280px 20px;
}

.ie .p-memorial_feature {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center
}

.p-memorial_feature_inner {
    color: #fff;
    width: 100%;
    /*
    background-color: #84a2d4;
    background-color: rgba(42, 131, 162, 0.65);
    */
    margin: 0 auto;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-family: 'Shippori Mincho B1', serif;
}

.p-memorial_feature_inner h3 {
    font-size: 30px;
    margin-left: 40px;
    letter-spacing: .1em
}

.p-memorial_feature_inner p {
    font-size: 2.3rem;
    margin-left: 35px;
    line-height: 1.8
}

.p-memorial_feature_inner p span {
    color: #233c64;
    background-color: #ff0
}

@media print,
screen and (min-width: 1120px) {
    .p-memorial_feature {
        /*
        padding: 80px 0;
        */
    }
    .p-memorial_feature_inner {
        max-width: 800px;
        height: 540px;
        padding: 50px 60px
    }
}

@media only screen and (max-width: 1119px) {
    /*
    .p-memorial_feature {
        padding: 240px 20px;
    }
    */
    .p-memorial_feature {
        padding: 270px 40px;
    }
    .p-memorial_feature_inner {
        max-width: 680px;
        height: 600px;
        padding: 30px 20px
    }
}

@media only screen and (max-width: 767px) {
    .p-memorial_feature_inner {
        -webkit-writing-mode: unset;
        -ms-writing-mode: unset;
        writing-mode: unset;
        height: auto
    }
    .p-memorial_feature_inner h3 {
        font-size: 21px;
        margin: 0 0 20px 0;
        text-align: center
    }
    .p-memorial_feature_inner p {
        font-size: 14px;
        margin: 0 0 15px 0
    }
    .p-memorial_txt p {
        margin-bottom: 15px;
    }
    .p-memorial_feature {
        width: 100%;
        background-image: url(../img/support/restoration-bg-under-img_sp.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
    }
}

@media only screen and (max-width: 480px) {
    .p-memorial_feature_inner h3 {
        font-size: 18px
    }
}

.p-memorial_renge {
    position: relative;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 75px 0 45px
}

.p-memorial_renge_caption {
    position: absolute;
    top: 190px;
    left: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    color: #233c64;
    font-size: 30px;
    width: 215px;
    height: 215px;
    margin-left: -107.5px;
    background-color: #ff0;
    border-radius: 100%;
    text-align: center
}

.p-memorial_renge_img {
    margin-bottom: 45px;
    text-align: center
}

.p-memorial_renge_inner {
    width: 100%;
    margin-bottom: 40px;
    overflow: hidden
}

.p-memorial_renge_inner .fee {
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 30px;
    line-height: 1.4;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.p-memorial_renge_detail {
    width: 380px
}

.p-memorial_renge_detail h4 {
    font-size: 29px;
    border-bottom: 1px solid #5489a8;
    padding-bottom: 15px;
    line-height: 1.3
}

.p-memorial_renge_detail h4 span {
    display: block;
    font-size: 48px
}

.p-memorial_renge_detail h4 i {
    display: inline-block;
    color: #fff;
    font-size: 16px;
    font-style: normal;
    background-color: #0035a0;
    padding: 2px 5px
}

.p-memorial_renge_detail .desc {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    font-size: 16px;
    height: 150px;
    border-bottom: 1px solid #5489a8;
    margin-bottom: 15px;
    line-height: 1.8
}

.p-memorial_renge_detail dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    margin-bottom: 5px
}

.p-memorial_renge_detail dt {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    color: #fff;
    font-size: 24px;
    width: 100px;
    height: 100px;
    background-color: #0035a0;
    border-radius: 100%;
    line-height: 1.3
}

.p-memorial_renge_detail dd {
    width: 230px;
    padding-left: 10px;
    line-height: 1.4
}

.p-memorial_renge_detail .formula {
    font-size: 20px;
    font-weight: 700;
    border-bottom: 1px solid #5489a8;
    margin-bottom: 5px;
    padding-bottom: 5px
}

.p-memorial_renge_detail .formula span {
    font-size: 15px
}

.p-memorial_renge_detail .answer {
    font-size: 30px;
    font-weight: 700
}

.p-memorial_renge_detail .answer span {
    font-size: 22px
}

.p-memorial_renge_detail .note {
    font-size: 11px
}

.p-memorial_renge_detail.private {
    text-align: right
}

.p-memorial_renge_detail.private .desc,
.p-memorial_renge_detail.private dl {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end
}

.p-memorial_renge_detail.private dl {
    text-align: left
}

.p-memorial_renge_detail.private .note {
    padding-left: 60px;
    text-align: left
}

.p-memorial_flow {
    color: #fff;
    font-size: 16px;
    background-color: #5489a8;
    padding: 20px;
    text-align: center
}

.p-memorial_flow h4 {
    font-size: 25px;
    margin-bottom: 15px
}

.p-memorial_flow h4 span {
    display: block;
    font-size: 15px
}

.p-memorial_application .l-column {
    border-top: 1px solid #5489a8;
    padding-top: 50px
}

.p-memorial_application .c-application_flow dl {
    padding-left: 20px;
    padding-right: 20px
}

.p-memorial_application .flow01 {
    background-color: #6595b1
}

.p-memorial_application .flow02 {
    background-color: #4f6383
}

.p-memorial_application .flow03 {
    background-color: #6595b1
}

.p-memorial_application .flow04 {
    background-color: #233c64
}

@media print,
screen and (min-width: 1120px) {
    .p-memorial_renge_detail.group {
        float: left
    }
    .p-memorial_renge_detail.private {
        float: right
    }
}

@media only screen and (max-width: 1119px) {
    .p-memorial_renge_inner {
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between
    }
    .p-memorial_renge_inner .fee {
        font-size: 26px
    }
    .p-memorial_renge_detail {
        width: 45%
    }
    .p-memorial_renge_detail .desc {
        font-size: 14px
    }
    .p-memorial_renge_detail dt {
        font-size: 21px;
        width: 80px;
        height: 80px
    }
    .p-memorial_renge_detail .formula {
        font-size: 16px
    }
    .p-memorial_renge_detail .answer {
        font-size: 24px
    }
    .p-memorial_renge_caption {
        top: 160px;
        font-size: 21px;
        width: 160px;
        height: 160px;
        margin-left: -80px
    }
}

@media only screen and (max-width: 767px) {
    .p-memorial_renge_inner {
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        justify-content: flex-start
    }
    .p-memorial_renge_img {
        margin-bottom: 25%
    }
    .p-memorial_renge_caption {
        top: 150px;
        font-size: 16px;
        width: 120px;
        height: 120px;
        margin-left: -60px
    }
    .p-memorial_renge_inner .fee {
        position: relative;
        top: auto;
        left: auto;
        font-size: 21px;
        margin-bottom: 25px;
        text-align: center;
        -webkit-writing-mode: unset;
        -ms-writing-mode: unset;
        writing-mode: unset;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
    .p-memorial_renge_inner .fee br {
        display: none
    }
    .p-memorial_renge_detail {
        width: 100%
    }
    .p-memorial_renge_detail.group {
        margin-bottom: 40px
    }
}

@media only screen and (max-width: 767px) {
    .p-memorial_renge_detail .desc {
        height: auto;
        padding: 30px 0
    }
    .p-memorial_renge_detail dd {
        width: 185px
    }
    .p-memorial_flow {
        font-size: 13px;
        text-align: left
    }
    .p-memorial_flow h4 {
        font-size: 18px;
        text-align: center
    }
    .p-memorial_flow h4 span {
        font-size: 13px
    }
    .p-memorial_flow p br {
        display: none
    }
}

@media only screen and (max-width: 480px) {
    .p-memorial_renge_caption {
        font-size: 16px;
        width: 100px;
        height: 100px;
        margin-left: -50px
    }
    .p-memorial_renge_img {
        margin-bottom: 30%
    }
    .p-memorial_renge_detail h4 {
        font-size: 23px
    }
    .p-memorial_renge_detail h4 span {
        font-size: 38px
    }
    .p-memorial_renge_detail h4 i {
        font-size: 14px
    }
}

.l-title {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.c-title {
    position: relative;
    font-weight: 400;
    line-height: 1;
    -webkit-animation: fadeInRight 1.4s cubic-bezier(.215, .61, .355, 1) forwards;
    animation: fadeInRight 1.4s cubic-bezier(.215, .61, .355, 1) forwards;
    will-change: transform, opacity;
    z-index: 1
}

.c-title span {
    display: inline-block;
    margin-left: 5px;
    padding: 5px 0;
    white-space: nowrap;
    font-family: 'Zen Antique Soft', serif;
}

.c-title span:last-child {
    margin-left: 0
}

.c-sub-caption {
    position: relative;
    color: #fff;
    font-size: 20px;
    font-weight: 400;
    margin-left: 5px;
    line-height: 1.2;
    letter-spacing: .2em;
    z-index: 1
}

@media print,
screen and (min-width: 1120px) {
    .c-title {
        font-size: 78px
    }
}

@media only screen and (max-width: 1119px) {
    .c-title {
        font-size: 50px
    }
}

@media only screen and (max-width: 767px) {
    .c-title {
        font-size: 30px
    }
    .c-sub-caption {
        font-size: 14px
    }
}

.c-title_lead {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 400px
}

.c-title_lead_inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    height: 100%;
    max-width: 1080px;
    margin: 0 auto
}

.c-title_lead_txt {
    color: #fff;
    font-size: 14px;
    background-color: rgba(107, 123, 110, .75);
    line-height: 1.8
}

.c-title_lead_caption {
    line-height: 1.6;
    font-family: 'Shippori Mincho', serif;
}

@media only screen and (min-width: 1600px) {
    .c-title_lead {
        height: 640px
    }
}

@media print,
screen and (min-width: 1120px) {
    .c-title_lead_txt {
        width: 515px;
        padding: 40px 35px
    }
    .c-title_lead_caption {
        font-size: 38px;
    }
}

@media only screen and (max-width: 1119px) {
    .c-title_lead_inner {
        padding-left: 25px;
        padding-right: 25px
    }
    .c-title_lead_txt {
        width: 60%;
        padding: 35px 25px
    }
    .c-title_lead_caption {
        font-size: 3.1vw
    }
}

@media only screen and (max-width: 767px) {
    .c-title_lead {
        position: relative;
        top: auto;
        left: auto;
        height: auto
    }
    .c-title_lead_inner {
        width: 100%;
        padding: 25px 20px;
        background-color: rgba(107, 123, 110, .75)
    }
    .c-title_lead_txt {
        width: 100%;
        max-width: 420px;
        margin: 0 auto;
        padding: 0;
        background: 0 0
    }
    .c-title_lead_caption {
        font-size: 22px
    }
}

@media only screen and (max-width: 480px) {
    .c-title_lead_caption {
        font-size: 18px
    }
}

.l-column {
    width: 100%;
    margin: 0 auto
}

@media print,
screen and (min-width: 1120px) {
    .l-column {
        max-width: 1080px
    }
}

@media only screen and (max-width: 1119px) {
    .l-column {
        padding-left: 25px;
        padding-right: 25px
    }
}

@media only screen and (max-width: 767px) {
    .l-column {
        padding-left: 20px;
        padding-right: 20px
    }
}

.l-row {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%
}

.l-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.l-row .l-col-12 {
    width: 100%
}

.l-row .l-col-11 {
    width: 91.66666667%
}

.l-row .l-col-10 {
    width: 83.33333333%
}

.l-row .l-col-9 {
    width: 75%
}

.l-row .l-col-8 {
    width: 66.66666666%
}

.l-row .l-col-7 {
    width: 58.33333333%
}

.l-row .l-col-6 {
    width: 50%
}

.l-row .l-col-5 {
    width: 41.66666667%
}

.l-row .l-col-4 {
    width: 33.33333333%
}

.l-row .l-col-3 {
    width: 25%
}

.l-row .l-col-2 {
    width: 16.66666667%
}

.l-row .l-col-1 {
    width: 8.33333333%
}

@media print,
screen and (min-width: 1120px) {
    .l-row .l-lg-col-12 {
        width: 100%
    }
    .l-row .l-lg-col-11 {
        width: 91.66666667%
    }
    .l-row .l-lg-col-10 {
        width: 83.33333333%
    }
    .l-row .l-lg-col-9 {
        width: 75%
    }
    .l-row .l-lg-col-8 {
        width: 66.66666667%
    }
    .l-row .l-lg-col-7 {
        width: 58.33333333%
    }
    .l-row .l-lg-col-6 {
        width: 50%
    }
    .l-row .l-lg-col-5 {
        width: 41.66666667%
    }
    .l-row .l-lg-col-4 {
        width: 33.33333333%
    }
    .l-row .l-lg-col-3 {
        width: 25%
    }
    .l-row .l-lg-col-2 {
        width: 16.66666667%
    }
    .l-row .l-lg-col-1 {
        width: 8.33333333%
    }
}

@media only screen and (max-width: 1119px) {
    .l-row .l-md-col-12 {
        width: 100%
    }
    .l-row .l-md-col-11 {
        width: 91.66666667%
    }
    .l-row .l-md-col-10 {
        width: 83.33333333%
    }
    .l-row .l-md-col-9 {
        width: 75%
    }
    .l-row .l-md-col-8 {
        width: 66.66666667%
    }
    .l-row .l-md-col-7 {
        width: 58.33333333%
    }
    .l-row .l-md-col-6 {
        width: 50%
    }
    .l-row .l-md-col-5 {
        width: 41.66666667%
    }
    .l-row .l-md-col-4 {
        width: 33.33333333%
    }
    .l-row .l-md-col-3 {
        width: 25%
    }
    .l-row .l-md-col-2 {
        width: 16.66666667%
    }
    .l-row .l-md-col-1 {
        width: 8.33333333%
    }
}

@media only screen and (max-width: 767px) {
    .l-row .l-sm-col-12 {
        width: 100%
    }
    .l-row .l-sm-col-11 {
        width: 91.66666667%
    }
    .l-row .l-sm-col-10 {
        width: 83.33333333%
    }
    .l-row .l-sm-col-9 {
        width: 75%
    }
    .l-row .l-sm-col-8 {
        width: 66.66666667%
    }
    .l-row .l-sm-col-7 {
        width: 58.33333333%
    }
    .l-row .l-sm-col-6 {
        width: 50%
    }
    .l-row .l-sm-col-5 {
        width: 41.66666667%
    }
    .l-row .l-sm-col-4 {
        width: 33.33333333%
    }
    .l-row .l-sm-col-3 {
        width: 25%
    }
    .l-row .l-sm-col-2 {
        width: 16.66666667%
    }
    .l-row .l-sm-col-1 {
        width: 8.33333333%
    }
}

@media only screen and (max-width: 480px) {
    .l-row .l-xs-col-12 {
        width: 100%
    }
    .l-row .l-xs-col-11 {
        width: 91.66666667%
    }
    .l-row .l-xs-col-10 {
        width: 83.33333333%
    }
    .l-row .l-xs-col-9 {
        width: 75%
    }
    .l-row .l-xs-col-8 {
        width: 66.66666667%
    }
    .l-row .l-xs-col-7 {
        width: 58.33333333%
    }
    .l-row .l-xs-col-6 {
        width: 50%
    }
    .l-row .l-xs-col-5 {
        width: 41.66666667%
    }
    .l-row .l-xs-col-4 {
        width: 33.33333333%
    }
    .l-row .l-xs-col-3 {
        width: 25%
    }
    .l-row .l-xs-col-2 {
        width: 16.66666667%
    }
    .l-row .l-xs-col-1 {
        width: 8.33333333%
    }
}

.l-col-2-title {
    position: relative;
    padding-top: 30px;
    padding-bottom: 15px;
}

.c-common-bg {
    background-color: #d4dcd6;
}


/*
.c-common-bg {
    background: url(../img/restoration-bg-001.jpg) no-repeat;
    background-size: cover;
}
*/

@media print,
screen and (min-width: 1120px) {
    .l-col-2-row {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
    .l-col-2-title {
        width: 300px
    }
    .safari .l-col-2-title {
        height: 100%
    }
    .l-col-2-title:after {
        position: absolute;
        top: 0;
        right: 100px;
        display: block;
        content: " ";
        height: 100%;
        width: 15px;
        background: rgb(255, 255, 255);
        background: -moz-linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(227, 226, 223, 0.5340336818321079) 27%, rgba(221, 220, 214, 1) 100%);
        background: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(227, 226, 223, 0.5340336818321079) 27%, rgba(221, 220, 214, 1) 100%);
        background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(227, 226, 223, 0.5340336818321079) 27%, rgba(221, 220, 214, 1) 100%);
        filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#dddcd6", GradientType=1);
    }
    .l-col-2-content {
        width: 780px
    }
    .l-content_inner {
        padding: 65px 45px 65px
    }
}

@media only screen and (max-width: 1119px) {
    .l-col-2-content,
    .l-col-2-title {
        width: 100%
    }
    .l-content_inner {
        padding: 45px 20px 45px
    }
}

.font-topics {
    font-size: 1.75rem;
    font-weight: bold;
}

.font-topics-bold {
    font-weight: bold;
}

.color-topics {
    color: #ffd700;
}


/* BOX 3 */

.list {
    display: block;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 760px;
    margin: 0 auto;
    padding-bottom: 2.5rem;
}

.list article {
    width: 20%;
    margin: 0 .5%;
    background-color: #8b4513;
    position: relative;
    border-radius: 20px;
}

.list article .name {
    position: relative;
    margin: 30px 0 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.list article h3 {
    position: relative;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-align: left;
    display: inline-block;
    font-size: 1.85rem;
    left: 24.5%;
    font-family: 'Zen Maru Gothic', sans-serif;
    color: #ffd700;
    line-height: 1.45;
}

.list article h4 {
    position: relative;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-align: left;
    display: inline-block;
    font-size: 1.85rem;
    left: 40%;
    font-family: 'Zen Maru Gothic', sans-serif;
    color: #ffd700;
    line-height: 1.45;
    margin: 0;
}

.list article h3 span {
    display: block;
}

.list article h4 span {
    display: block;
}

@media only screen and (max-width: 960px) {
    .list {
        padding-bottom: 1rem;
    }
    .list article {
        width: 31%;
        margin: 0 1%;
    }
    .list article .name {
        margin: 18px 0 36px;
    }
    .list article h3 {
        font-size: 2rem;
        left: 19%;
    }
    .list article h4 {
        font-size: 2rem;
        left: 40%;
    }
}


/* 見出し */

.rep-t {
    position: relative;
    padding: 1.5rem 1rem;
    font-size: 2rem;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: bold;
}

.rep-t:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10px;
    content: '';
    background-image: -webkit-repeating-linear-gradient(135deg, #000, #000 1px, transparent 2px, transparent 5px);
    background-image: repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px);
    background-size: 7px 7px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}