
/* ********************************************************************
        トピックス
******************************************************************** */

#topics,
#topics_contents {
    background: #f8f8f8;
    padding: calc(108 / 750 * 100%) 0 calc(100 / 750 * 100%);
    background-color: #f8f8f8;
    overflow: hidden;
}

#topics h2,
#topics_contents h2 {
    width: calc(242/670 *100%);
    margin-bottom: calc(46/670 *100%);
}

#topics .topics_box {
    width: 100%;
    margin: 0 auto;
}
#topics .topics_box li {
    margin-bottom: calc(50/1000 *100%);
    width: 100%;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #a0d9f6;
}
#topics .topics_box figure {
    margin-bottom: calc(15/630 *100%);
    width: calc(223/630 *100%);
}
#topics .topics_box figure img {
    border-radius: 10px;
}
#topics .topics_box li .txt {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    flex-flow: column-reverse;
    width: calc(370/630 *100%);
}
#topics .topics_box li p.date {
    font-size: 2rem;
    color: #a0d9f6;
    font-weight: 900;
    text-align: right;
    padding-bottom: calc(20/630 *100%);
}
#topics .topics_box li p.text {
    font-size: 2.4rem;
    line-height: 1.5;
    color: #173333;
    font-weight: 400;
    margin-bottom: calc(15/640 *100%);
}


@media screen and (min-width: 768px) {
    #topics,
    #topics_contents {
        background: #f8f8f8;
        padding: calc(80 / 1200 * 100%) 0 calc(100 / 1200 * 100%);
        background-color: #f8f8f8;
        overflow: hidden;
    }
    #topics h2,
    #topics_contents h2 {
        width: calc(236/1000 *100%);
        margin-bottom: calc(30/1000 *100%);
    }
    #topics .topics_box {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    #topics .topics_box li {
        margin-bottom: calc(50/1000 *100%);
        width: calc((100% - 80px)/3);
        margin-right: 40px;
        display: block;
        border: none;
    }
    #topics .topics_box figure {
        margin-bottom: calc(15/630 *100%);
        width: 100%;
    }
    #topics .topics_box li .txt {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        flex-flow: column;
        width: 100%;
    }
    #topics .topics_box li p.date {
        font-size: 1.2rem;
        text-align: left;
    }
    #topics .topics_box li p.text {
        font-size: 1.6rem;
        line-height: 1.5;
        font-weight: 400;
    }

    #topics .topics_box li:nth-child(3n) {
        margin-right: 0;
    }

}


/* =====================================================================
*    詳細ページ
* =================================================================== */

.single_box {
    width: 100%;
    margin: 0 auto;
}

.single_box li {
    margin-bottom: calc(50/670 *100%);
    background: #fff;
    border-radius: 20px;
    padding: calc(35/670 *100%) calc(50/670 *100%);
}
.single_box li .txt {
    position: relative;
    padding-bottom: calc(40/670 *100%);
    margin-bottom: calc(40/670 *100%);
}
.single_box li .txt::after {
    content: "";
    display: block;
    width: calc(100% + (120/670 *100%));
    height:1em;
    border-bottom: 1px solid #a0d9f6;
    position: absolute;
    left: calc(-60/670 *100%);
    bottom: 0;
}
.single_box li p.date {
    font-size: 2rem;
    color: #a0d9f6;
    font-weight: 900;
    padding-bottom: calc(20/630 *100%);
}
.single_box li p.text {
    font-size: 2.6rem;
    line-height: 1.5;
    color: #173333;
    font-weight: 700;
    margin-bottom: 0;
    padding-bottom: 0;
}
.single_box li figure {
    margin-bottom: calc(40/670 *100%);
}
.single_box li figure img {
    border-radius: 16px;
}
.single_box li:nth-child(n+2) figure img {
    margin-bottom: calc(20/670 *100%);
}
.single_box li > p {
    font-size: 2.4rem;
    padding-bottom: calc(35/670 *100%);
}
p.green_txt {
    color: #009f9a;
    font-weight: 700;
}
p.honbun {
    color: #5b6969;
    font-weight: 500;
}
.single_box li p a {
    color: #009f9a;
    text-decoration: underline;
    font-weight: 400;
}

@media screen and (min-width: 768px) {
    .single_box li {
        margin-bottom: calc(60/1000 *100%);
        padding: calc(40/1000 *100%) calc(60/1000 *100%) calc(80/1000 *100%);
        overflow: hidden;
    }
    .single_box li .txt {
        position: relative;
        padding-bottom: calc(40/1000 *100%);
        margin-bottom: calc(40/1000 *100%);
    }
    .single_box li .txt::after {
        content: "";
        display: block;
        width: calc(100% + (120/670 *100%));
        height:1em;
        border-bottom: 1px solid #a0d9f6;
        position: absolute;
        left: calc(-60/670 *100%);
        bottom: 0;
    }
    .single_box li p.date {
        font-size: 1.5rem;
        padding-bottom: calc(20/1000 *100%);
    }
    .single_box li p.text {
        font-size: 1.8rem;
    }
    .single_box li figure {
        max-width: 720px;
        margin: auto auto calc(50/1000 *100%);
    }
    .single_box li figure img {
        border-radius: 16px;
    }
    .single_box li:nth-child(n+2) figure img {
        margin-bottom: calc(20/670 *100%);
    }
    .single_box li > p {
        font-size: 1.6rem;
        padding-bottom: calc(35/670 *100%);
    }

}


/* =====================================================================
*    btn_link
* =================================================================== */

a.btn_link {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    color: #009f9a;
    width: calc(420 / 670 * 100%) !important;
	border-radius: 60px;
	opacity: 1;
	padding: 0;
	margin: calc(70 / 670 * 100%) auto calc(90 / 670 * 100%);
	box-shadow: 0 10px 20px rgba(0,0,0,0.13);
	transition: all .3s;
	position: relative;
	z-index: 100;
    position: relative;
    top: 0;
    background: #fff100;
}
a.btn_link::after {
    content: "";
    display: block;
    padding-top: calc(90 / 420 * 100%);
}
a.btn_link span {
    display: inline-block;
    font-size: 2.4rem;
    font-weight: 700;
    padding-right: 30px;
    transition: all .3s;
    background: url(../images/common/mark_arrow.png) no-repeat center right /10px !important;
}
a.btn_link:hover {
	opacity: 1;
    position: relative;
    top: 10px;
    color: #000;
}
a.btn_link:hover span {
    padding-right: 0;
    background: none !important;
    background: url(../images/common/mark_arrow_none.png) no-repeat center right /10px !important;
}
@media screen and (min-width: 768px) {
	a.btn_link {
	    width: calc(400 / 1000 * 100%) !important;
		max-width: 400px;
	    height: 60px;
		border-radius: 60px;
		opacity: 1;
		padding: 0;
		margin: 40px auto 0;
		box-shadow: 0 10px 20px rgba(0,0,0,0.13);
		transition: all .3s;
		position: relative;
		z-index: 100;
	}
    a.btn_link span {
        display: inline-block;
        font-size: 1.6rem;
        font-weight: 700;
        padding-right: 30px;
        transition: all .3s;
        background: url(../images/common/mark_arrow.png) no-repeat center right /10px !important;
    }
	a.btn_link:hover {
		opacity: 1;
        box-shadow: 0 5px 10px rgba(0,0,0,0.2);
	}
    a.btn_link:hover span {
        background: url(../images/common/mark_arrow_none.png) no-repeat center right /10px !important;
    }

}
