@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 {
    box-sizing: content-box;
    margin: 0 auto;
    box-sizing: content-box;
    padding-bottom: 10px;
	width: 80%;
}



@media only screen and (max-width:414px) {
	main {
    width: 100%!important;
}
}



.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;*/
	max-width: 90%;
	margin: 0 auto;
}

.main__top--right {
}

main section img {
    display: block;
}

header h1 {
    color: #333;
    font-family: "Adamina";
    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) {
  padding: 1rem 2rem;
  border-top: 3px dashed #1ea889;
  border-bottom: 3px dashed #1ea889;
  margin-bottom: 16px;
}

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


h5 {
    font-size: 1.8rem;
    font-weight: bold;
	padding-bottom: 10px;
}


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


article {
    padding: 47px 40px;
    border-radius: 10px;
    margin-bottom: 100px;
	border:solid 1px #999;/*線の種類・太さ・色*/
}

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: #1ea889;
}

.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-color: #F3F3F3;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25'%3E%3Cdefs%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='0' x2='0' y1='0' y2='100%25' gradientTransform='rotate(295,645,347)'%3E%3Cstop offset='0' stop-color='%23F3F3F3'/%3E%3Cstop offset='1' stop-color='%238BFFEA'/%3E%3C/linearGradient%3E%3Cpattern patternUnits='userSpaceOnUse' id='b' width='300' height='250' x='0' y='0' viewBox='0 0 1080 900'%3E%3Cg fill-opacity='0'%3E%3Cpolygon fill='%23444' points='90 150 0 300 180 300'/%3E%3Cpolygon points='90 150 180 0 0 0'/%3E%3Cpolygon fill='%23AAA' points='270 150 360 0 180 0'/%3E%3Cpolygon fill='%23DDD' points='450 150 360 300 540 300'/%3E%3Cpolygon fill='%23999' points='450 150 540 0 360 0'/%3E%3Cpolygon points='630 150 540 300 720 300'/%3E%3Cpolygon fill='%23DDD' points='630 150 720 0 540 0'/%3E%3Cpolygon fill='%23444' points='810 150 720 300 900 300'/%3E%3Cpolygon fill='%23FFF' points='810 150 900 0 720 0'/%3E%3Cpolygon fill='%23DDD' points='990 150 900 300 1080 300'/%3E%3Cpolygon fill='%23444' points='990 150 1080 0 900 0'/%3E%3Cpolygon fill='%23DDD' points='90 450 0 600 180 600'/%3E%3Cpolygon points='90 450 180 300 0 300'/%3E%3Cpolygon fill='%23666' points='270 450 180 600 360 600'/%3E%3Cpolygon fill='%23AAA' points='270 450 360 300 180 300'/%3E%3Cpolygon fill='%23DDD' points='450 450 360 600 540 600'/%3E%3Cpolygon fill='%23999' points='450 450 540 300 360 300'/%3E%3Cpolygon fill='%23999' points='630 450 540 600 720 600'/%3E%3Cpolygon fill='%23FFF' points='630 450 720 300 540 300'/%3E%3Cpolygon points='810 450 720 600 900 600'/%3E%3Cpolygon fill='%23DDD' points='810 450 900 300 720 300'/%3E%3Cpolygon fill='%23AAA' points='990 450 900 600 1080 600'/%3E%3Cpolygon fill='%23444' points='990 450 1080 300 900 300'/%3E%3Cpolygon fill='%23222' points='90 750 0 900 180 900'/%3E%3Cpolygon points='270 750 180 900 360 900'/%3E%3Cpolygon fill='%23DDD' points='270 750 360 600 180 600'/%3E%3Cpolygon points='450 750 540 600 360 600'/%3E%3Cpolygon points='630 750 540 900 720 900'/%3E%3Cpolygon fill='%23444' points='630 750 720 600 540 600'/%3E%3Cpolygon fill='%23AAA' points='810 750 720 900 900 900'/%3E%3Cpolygon fill='%23666' points='810 750 900 600 720 600'/%3E%3Cpolygon fill='%23999' points='990 750 900 900 1080 900'/%3E%3Cpolygon fill='%23999' points='180 0 90 150 270 150'/%3E%3Cpolygon fill='%23444' points='360 0 270 150 450 150'/%3E%3Cpolygon fill='%23FFF' points='540 0 450 150 630 150'/%3E%3Cpolygon points='900 0 810 150 990 150'/%3E%3Cpolygon fill='%23222' points='0 300 -90 450 90 450'/%3E%3Cpolygon fill='%23FFF' points='0 300 90 150 -90 150'/%3E%3Cpolygon fill='%23FFF' points='180 300 90 450 270 450'/%3E%3Cpolygon fill='%23666' points='180 300 270 150 90 150'/%3E%3Cpolygon fill='%23222' points='360 300 270 450 450 450'/%3E%3Cpolygon fill='%23FFF' points='360 300 450 150 270 150'/%3E%3Cpolygon fill='%23444' points='540 300 450 450 630 450'/%3E%3Cpolygon fill='%23222' points='540 300 630 150 450 150'/%3E%3Cpolygon fill='%23AAA' points='720 300 630 450 810 450'/%3E%3Cpolygon fill='%23666' points='720 300 810 150 630 150'/%3E%3Cpolygon fill='%23FFF' points='900 300 810 450 990 450'/%3E%3Cpolygon fill='%23999' points='900 300 990 150 810 150'/%3E%3Cpolygon points='0 600 -90 750 90 750'/%3E%3Cpolygon fill='%23666' points='0 600 90 450 -90 450'/%3E%3Cpolygon fill='%23AAA' points='180 600 90 750 270 750'/%3E%3Cpolygon fill='%23444' points='180 600 270 450 90 450'/%3E%3Cpolygon fill='%23444' points='360 600 270 750 450 750'/%3E%3Cpolygon fill='%23999' points='360 600 450 450 270 450'/%3E%3Cpolygon fill='%23666' points='540 600 630 450 450 450'/%3E%3Cpolygon fill='%23222' points='720 600 630 750 810 750'/%3E%3Cpolygon fill='%23FFF' points='900 600 810 750 990 750'/%3E%3Cpolygon fill='%23222' points='900 600 990 450 810 450'/%3E%3Cpolygon fill='%23DDD' points='0 900 90 750 -90 750'/%3E%3Cpolygon fill='%23444' points='180 900 270 750 90 750'/%3E%3Cpolygon fill='%23FFF' points='360 900 450 750 270 750'/%3E%3Cpolygon fill='%23AAA' points='540 900 630 750 450 750'/%3E%3Cpolygon fill='%23FFF' points='720 900 810 750 630 750'/%3E%3Cpolygon fill='%23222' points='900 900 990 750 810 750'/%3E%3Cpolygon fill='%23222' points='1080 300 990 450 1170 450'/%3E%3Cpolygon fill='%23FFF' points='1080 300 1170 150 990 150'/%3E%3Cpolygon points='1080 600 990 750 1170 750'/%3E%3Cpolygon fill='%23666' points='1080 600 1170 450 990 450'/%3E%3Cpolygon fill='%23DDD' points='1080 900 1170 750 990 750'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect x='0' y='0' fill='url(%23a)' width='100%25' height='100%25'/%3E%3Crect x='0' y='0' fill='url(%23b)' width='100%25' height='100%25'/%3E%3C/svg%3E");
background-attachment: fixed;
background-size: cover;
    line-height: 48px;
    font-size: 2rem;
    font-weight: bold;
    border-radius: 4px 4px 0 0;
}

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





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.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: 100%;
}

.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: #1ea889;
    border-bottom: 0.4px solid #1ea889;
    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;
    }list-wrap
}

.heading03 {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.heading03::before,
.heading03::after {
	content: '';
	width: 70px;
	height: 1px;
	background-color: #000;
}


.heading08 .title {
	content: attr(data-en);
	display: block;
	color: #1ea889;
	font-size: 16px;
	font-family: "Adamina";
}

.heading08::after {
	content: '';
	display: block;
	width: 80px;
	margin-top: 10px;
	height: 1px;
	background-color: #1ea889;
}

/*----------------------------------------------------------------------------------------------------
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;
}


/*----------------------------------------------------------------------------------------------------
ボタン
----------------------------------------------------------------------------------------------------*/
.button {
  margin: 0 auto;
  text-align: center;
}

.background_btn02 {
  font-size: 16px;
  display: inline-block;
  color: #fff; /* 文字色 */
  font-weight: bold; /* 文字の太さ */
  width: 100%;
  max-width: 350px; /* ボタン幅 */
  text-decoration: none;
  border: 2px solid #F38173; /* 線の色 */
  padding: 2em 2em;
  text-align: center;
  position: relative;
  background-repeat: no-repeat;
  background-position: 100% 0;
  background-size: 200% auto;
  background-image: linear-gradient(to right, #fff 0%, #fff 50%, #F38173 50%, #F38173 100%); /* 背景色(マウスオーバー後→前) */
  transition: background-position .8s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transition: background-position .8s cubic-bezier(0.19, 1, 0.22, 1);
}

.background_btn02_arrow {
  display: inline-block;
  padding-left: 1em;
}

/* マウスオーバーした際のデザイン */
.background_btn02:hover {
  background-position: 0 0;
  color: #000; /* 文字色 */
}

.background_btn02:hover .background_btn02-line path ,
.background_btn02:hover .background_btn02-line line {
  stroke: #000; /* 矢印の色 */
}

/*アニメーション*/
.animation{
  animation: buruburu 1s linear infinite;
  scale: 1;
}

@keyframes buruburu{
 0%{transform:translateX(0)}
 7%{transform:translateX(-10px)}
 14%{transform:translateX(10px)}
 20%{transform:translateX(-10px)}
 32%{transform:translateX(10px)}
 40%{transform:translateX(0px)}
}