@charset "UTF-8";

/*----------------------------------------------------------------------------------------------------
共通
----------------------------------------------------------------------------------------------------*/

header {
    width: 100%;
    margin: 0 auto;
    margin-bottom: 40px;
}

footer {
    background-color: #E7E5DD;
    padding: 32px;
}

div#container {
    background: #EDEDED;
}

div#content {
    max-width: 1278px;
    margin: 0 auto;
    background: white;
}

.content__inner {
    display: flex;
    justify-content: space-between;
    max-width: calc(1166px + 56px * 2);
    width: 100%;
    padding: 0 56px;
}

@media only screen and (max-width:1278px) {
    div#content {
        margin: 0 10px;
    }
}

@media only screen and (max-width:767px) {
    .content__inner {
        display: block;
    }

    picture img {
        width: 100%;
    }

    div#wrap {
        margin: 0 auto 78px;
    }

    .content__inner, .main__top {
        padding: 0 12px !important;
    }

    header {
        margin-bottom: 16px;
    }
}

/*----------------------------------------------------------------------------------------------------
main
----------------------------------------------------------------------------------------------------*/

main {
    max-width: 764px;
    width: 100%;
    padding-right: 88px;
    box-sizing: content-box;
}

.main__top {
    display: flex;
    justify-content: space-between;
    max-width: calc(1166px + 56px * 2);
    width: 100%;
    padding: 0 56px;
}

.main__top--left {
    padding-right: 88px;
}

.main__top--right {
    max-width: 314px;
    width: 100%;
}

main section img {
    display: block;
}

header h1, .link-site {
    background: rgba(24, 78, 104, 1);
    background: -moz-linear-gradient(left, rgba(24, 78, 104, 1) 0%, rgba(87, 202, 133, 1) 100%);
    background: -webkit-gradient(left top, right top, color-stop(0%, rgba(24, 78, 104, 1)), color-stop(100%, rgba(87, 202, 133, 1)));
    background: -webkit-linear-gradient(left, rgba(24, 78, 104, 1) 0%, rgba(87, 202, 133, 1) 100%);
    background: -o-linear-gradient(left, rgba(24, 78, 104, 1) 0%, rgba(87, 202, 133, 1) 100%);
    background: -ms-linear-gradient(left, rgba(24, 78, 104, 1) 0%, rgba(87, 202, 133, 1) 100%);
    background: linear-gradient(to right, rgba(24, 78, 104, 1) 0%, rgba(87, 202, 133, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#184e68', endColorstr='#57ca85', GradientType=1);
}

header h1 {
    color: #F2F1DF;
    font-family: montserrat;
    width: 100%;
    height: 80px;
    vertical-align: c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.2rem;
    letter-spacing: 0.04em;
}

h2 {
    padding: 48px 0 23px;
    font-size: 3.2rem;
}

h3 {
    font-size: 2.2rem;
    display: flex;
    align-items: flex-start;
    padding-bottom: 26px;
}

h4 {
    font-size: 2rem;
    font-weight: bold;
}

h4:not(.point) {
    border-left: 8px solid #40723E;
    border-bottom: 1px solid #40723E;
    line-height: 4rem;
    padding-left: 12px;
    margin-bottom: 16px;
}

h4.point {
    padding-bottom: 23px;
}

h4.point:before {
    content: "";
    background: url(../images/icon_recommend.png) no-repeat;
    width: 48px;
    height: 29px;
    display: inline-block;
}

@media only screen and (max-width:414px) {
    h4.point:before {
        background-image: url(../images/icon_recommend@2x.png);
        background-repeat: no-repeat;
        background-size: 32px 19px;
        width: 32px;
        height: 19px;
    }
}

h6 {
    font-size: 1.6rem;
    font-weight: bold;
}

article {
    border: 2px solid #1A1A1A;
    padding: 47px 40px;
    border-radius: 15px;
    margin-bottom: 100px;
}

section {
    padding-bottom: 56px;
}

section.top {
    padding-bottom: 72px;
}

.button__sns {
    display: flex;
    justify-content: space-between;
    padding-bottom: 40px;
}

.button__sns--child {
    width: 100%;
    max-width: 240px;
}

.button__sns--child a {
    height: 35px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sns-fb a {
    background: #3B589A;
    box-shadow: 0 3px #314982;
}

.sns-tw a {
    background: #54ACED;
    box-shadow: 0 3px #1685D7;
}

.sns-line a {
    background: #7BC876;
    box-shadow: 0 3px #66A762;
}

.button__sns--child:not(:last-child) {
    margin-right: 16px;
}

.button__sns--child img {
    width: 25px;
    height: 25px;
}

span.rank {
    color: white;
    border-radius: 100%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    margin-right: 8px;
    flex-shrink: 0;
}

span.rank-01 {
    background: #A6904B;
}

.main-article {
    margin-left: -40px;
    padding-bottom: 40px;
    margin: 0 auto;
}

.intro {
    padding-bottom: 32px;
}

.date {
    font-size: 1.2rem;
    font-weight: bold;
    padding-bottom: 25px;
    letter-spacing: initial;
}

span.new {
    color: #ED4E1E;
    padding-left: 11px;
}

.lead {
    padding: 56px 0 40px;
}

.title__all--title {
    background: #F3F4F6;
    line-height: 48px;
    padding-left: 40px;
    font-size: 2rem;
    font-weight: bold;
    border-radius: 4px 4px 0 0;
}

.title__all {
    border: 1px solid #D1D5DA;
    border-radius: 4px;
}

.link-site {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    max-width: 314px;
    width: 100%;
    height: 64px;
    margin: -18px auto 40px;
}

.link-site a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    position: relative;
}

.link-site a:after {
    content: url(../images/allow_white.png);
    width: 14px;
    height: 14px;
    display: flex;
    align-items: center;
    position: absolute;
    right: 16px;
    line-height: 1;
}

section.area-info {
    letter-spacing: initial;
    background: #F8F8F8;
    padding: 24px;
    margin-bottom: 49px;
}

section.area-info h6:before {
    background: url(../images/icon_detail.png) no-repeat;
    width: 24px;
    height: 21px;
    display: inline-block;
    content: "";
    padding-right: 8px;
}

@media only screen and (max-width:414px) {
    section.area-info h6:before {
        background-image: url(../images/icon_detail@2x.png);
        background-repeat: no-repeat;
        background-size: 24px 21px;
        width: 24px;
        height: 21px;
    }
}

section.area-info h6 {
    border-bottom: 0.8px solid #B5B5B5;
    margin-bottom: 15px;
}

@media only screen and (max-width:767px) {
    main, .main__top--left {
        padding-right: 0;
    }

    .main__top {
        flex-direction: column;
    }

    h6 {
        font-size: 1.4rem;
    }

    article {
        margin-bottom: 32px;
    }

    header h1 {
        height: 40px;
        font-size: 1.8rem;
    }

    h2 {
        font-size: 1.8rem;
    }

    h3 {
        font-size: 1.6rem;
    }

    h4 {
        font-size: 1.4rem;
    }

    article {
        padding: 32px 10px;
        font-size: 1.5rem;
    }

    .main-article {
        margin-left: -10px;
    }

    span.rank {
        width: 22px;
        height: 22px;
    }

    .link-site img {
        width: 300px;
    }

    section.area-info {
        padding: 24px 16px;
        margin-bottom: 40px;
    }

    .date {
        font-size: 1rem;
        padding-bottom: 16px;
    }

    .lead {
        padding: 24px 0 32px;
    }

    .button__sns--child:not(:last-child) {
        margin-right: 8px;
    }

    .link-site {
        width: calc(100% - 20px);
    }

    .button__sns--child a {
        height: 24px;
    }

    .button__sns--child img {
        width: 16px;
        height: 16px;
    }
}

/*----------------------------------------------------------------------------------------------------
リスト
----------------------------------------------------------------------------------------------------*/

.list-wrap, .list-wrap-point {
    list-style: none;
    /* デフォルトのアイコンを消す */
    margin: 0;
    /* デフォルト指定上書き */
    padding: 0;
    /* デフォルト指定上書き */
    counter-reset: li_count;
    /* カウンタをセット */
}

.list-wrap {
    padding: 16px 40px 24px;
}

.list-wrap-point {
    max-width: 600px;
}

.list-title {
    font-size: 1.3rem;
    line-height: 2rem;
    display: flex;
    align-items: flex-start;
    padding-bottom: 8px;
}

.list-wrap-point .list-title {
    font-size: 1.5rem;
    line-height: 2.4rem;
    color: #40723E;
    border-bottom: 0.4px solid #40723E;
    margin-bottom: 6px;
}

.list-title:before {
    margin-right: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.list-wrap .list-title:before {
    counter-increment: li_count;
    content: counter(li_count);
    color: white;
    margin-right: 5px;
    background: #000;
    border-radius: 100%;
    width: 20px;
    height: 20px;
    font-size: 1.3rem;
    font-weight: bold;
    flex-shrink: 0;
    line-height: 1;
    margin-top: 3px;
}

.list-wrap-point .list-title:before {
    counter-increment: li_count;
    content: counter(li_count) ')';
}

@media only screen and (max-width:767px) {
    .list-wrap {
        padding: 20px 12px 32px;
    }

    .list-title {
        padding-bottom: 12px;
    }
}


/*----------------------------------------------------------------------------------------------------
side
----------------------------------------------------------------------------------------------------*/
.side {
    max-width: 314px;
    width: 100%;
}

.side h5 {
    font-size: 1.7rem;
    border-bottom: 4px solid #E7E5DD;
    margin-bottom: 40px;
    display: flex;
    padding-bottom: 8px;
    align-items: center;
    line-height: 1;
}

.side h5:before {
    content: "";
    background-image: url(../images/icon_recommend.png);
    width: 48px;
    height: 29px;
    display: inline-block;
    margin-right: 8px;
}

@media only screen and (max-width:414px) {
    .side h5:before {
        background-image: url(../images/icon_recommend@2x.png);
        background-repeat: no-repeat;
        background-size: 32px 19px;
        width: 32px;
        height: 19px;
    }
}

.side-area {
    font-size: 1.2rem;
    font-weight: bold;
}

.side section {
    padding-bottom: 30px;
}

@media only screen and (max-width:767px) {
    .side {
        max-width: 100vw;
        width: 100vw;
        padding: 63px 34px 0;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        background: #EDEDED;
    }

    .side h5 {
        font-size: 1.6rem;
    }

    .side h5 {
        margin-bottom: 24px;
    }

    .side section {
        padding-bottom: 22px;
    }

    .side section:last-child {
        padding-bottom: 78px;
    }
}

/*----------------------------------------------------------------------------------------------------
フッタ
----------------------------------------------------------------------------------------------------*/
.footer__inner {
    max-width: 1166px;
    margin: 0 auto;
    text-align: center;
}

.footer__inner hr {
    background-color: #1A1A1A;
    height: 1px;
    max-width: 1126px;
    margin: 32px auto 23px;
}

.footer__inner--bottom {
    font-size: 1.2rem;
}

p.footer-company a:after {
    background: url(../images/link.svg);
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
}


/*----------------------------------------------------------------------------------------------------
KEIKOKU
----------------------------------------------------------------------------------------------------*/
.area-01 .intro {
    margin-top: 12px;
}