
#top {
    margin: -12px -12px 0 -12px;
    min-width: 0;
}

#mv {
    width: 100%;
    overflow: hidden;
    background-color: #fff;
    position: relative;
}

.mv-fixed-element {
    position: absolute;
    z-index: 2;
    pointer-events: none;
}
#mv-fixed-element-01 {
    width: 106px; width: 27.6041666vw;
    max-width: 212px;
    top: 16px; top: 4.1666vw;
    right: 16px; right: 4.1666vw;
}
#mv-fixed-element-02 {
    font-size: 24px; font-size: 2.4rem; font-size: 6.4vw;
    line-height: 36px; line-height: 3.6rem; line-height: 9.6vw;
    letter-spacing: 3px;
    font-weight: 200;
    text-align: right;
    margin: auto -3px auto 0;
    right: 16px; right: 4.1666vw;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

#slider {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    max-height: 750px;
}
.slick-list,
.slick-track,
.slick-slide,
.slick-slide > div,
.slide {
    height: 100%;
    outline: none;
}
.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}
.slick-dots {
    display: flex;
    justify-content: center;
    position: absolute;
    bottom: 16px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 0 1px;
    cursor: pointer;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 16px;
    height: 16px;
    padding: 4px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}
.slick-dots li button:before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    background-color: #2f7fd0;
    border-radius: 4px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    opacity: .35;
}
.slick-dots li.slick-active button:before {
    opacity: .85;
}

#pickup-contents {
    padding: 0 12px;
}
#pickups {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    padding: 1px 12px 0 12px;
    margin: 0 -12px;
}
.pickup {
    max-width: 100%;
}
.pickup+.pickup {
    border-top: solid 1px #dae3e7;
}
.pickup a {
    display: flex;
    padding: 20px 0;
    color: #000;
}
.pickup-image {
    min-width: 80px;
    width: 146px;
    margin-right: 14px;
}
.pickup-info {
}
.pickup-info-label {
    font-size: 14px; font-size: 1.4rem;
    line-height: 24px; line-height: 2.4rem;
    font-weight: 700;
    color: #368ad6;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: -5px 0 -3px 0;
    min-width: 0;
}
.pickup-info-label span {
    display: inline-block;
    position: relative;
    z-index: 1;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.pickup-info-label span:after {
    content: "";
    display: block;
    width: 0;
    background-color: #f0eba2;
    height: 8px;
    position: absolute;
    bottom: 2px;
    left: 0;
    z-index: -1;
    -webkit-transition: width .2s;
    transition: width .2s;
}
.pickup a:hover .pickup-info-label span:after {
    width: 100%;
}
.pickup-info-caption {
    font-size: 12px; font-size: 1.2rem;
    line-height: 22px; line-height: 2.2rem;
    letter-spacing: 1px;
    margin: 0 0 -4px 0;
}

#pickup-bnr {
    margin: 12px auto 0 auto;
    display: table;
    width: 100%;
    max-width: 432px;
    background-color: #098270;
    -webkit-transition: background .2s;
    transition: background .2s;
}
#pickup-bnr:hover {
    background-color: #269685;
    box-shadow: 0 0 5px 0 rgba(0,0,0,0.3);
}
#pickup-bnr a {
    color: #fff;
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    height: 80px; height: 20.8333vw;
    padding-right: 100px; padding-right: 31.25vw;
    position: relative;
}
#pickup-bnr a:after {
    content: "";
    display: block;
    width: 100px; width: 31.25vw;
    height: 80px; height: 20.8333vw;
    background: url(../img/home/pickup-bnr-img.jpg) 50%/50% no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    right: 0;
}
#pickup-bnr a span {
    display: block;
    text-align: center;
}
#pickup-bnr a span:nth-child(1) {
    font-size: 13px; font-size: 1.3rem;
    line-height: 21px; line-height: 2.1rem;
    letter-spacing: 0.1em;
    font-weight: 200;
    margin-right: -1px;
}
#pickup-bnr a span:nth-child(2) {
    font-size: 16px; font-size: 1.6rem;
    line-height: 22px; line-height: 2.2rem;
    margin: 2px -2px 0 0;
}

@media (min-width: 480px)
{
    #top {
        margin: -24px -24px 0 -24px;
    }

    #pickup-contents {
        padding: 0 24px;
    }
    #pickups {
        padding: 1px 24px 0 24px;
        margin: 0 -24px;
    }

    #pickup-bnr {
        margin-top: 24px;
    }
    #pickup-bnr a {
        height: 100px;
        padding-right: 150px;
    }
    #pickup-bnr a:after {
        height: 100px;
        width: 150px;
    }
}

@media (min-width: 640px)
{
    #mv-fixed-element-02 {
        font-size: 40px; font-size: 4.0rem;
        line-height: 62px; line-height: 6.2rem;
    }
}

@media (min-width: 768px)
{
    #top {
        display: flex;
        margin: -12px -12px 0 -12px;
        min-width: 0;
    }
    #mv {
        width: 614px;
        margin: 12px;
        min-width: 0;
        max-width: 614px;
    }

    #mv-fixed-element-01 {
        width: 212px; width: 34.528%;
        max-width: 212px;
        top: 16px; top: 2.142857vw;
        right: 16px; right: 2.142857vw;
    }
    #mv-fixed-element-02 {
        font-size: 37px; font-size: 3.7rem; font-size: 3.30357vw;
        line-height: 53px; line-height: 5.3rem; line-height: 4.732142vw;
        margin: auto -3px auto 0; margin-bottom: -2.67857vw;
        right: 16px; right: 2.142857vw;
    }
    #slider {
        max-height: 100%;
    }

    #pickup-contents {
        width:380px;
        min-width: 300px;
        max-width: 380px;
        margin: 12px;
        padding: 0;
    }
    #pickups {
        margin: 0 0 24px 0;
        padding: 0 16px;
    }
    .pickup-image {
        min-width: 100px;
        width: 146px;
    }
    .pickup-info {
        min-width: 0;
        width: 188px;
    }

    #pickup-bnr a {
        padding-right: 134px;
    }
    #pickup-bnr a:after {
        width: 134px;
    }
    #pickup-bnr a span:nth-child(1) {
        font-size: 16px; font-size: 1.6rem;
        line-height: 24px; line-height: 2.4rem;
    }
    #pickup-bnr a span:nth-child(2) {
        font-size: 22px; font-size: 2.2rem;
        line-height: 30px; line-height: 3.0rem;
    }
}

@media (min-width: 1120px)
{
    #mv-fixed-element-01 {
        top: 24px;
        right: 24px;
    }
    #mv-fixed-element-02 {
        font-size: 37px; font-size: 3.7rem;
        line-height: 53px; line-height: 5.3rem;
        margin: auto -3px auto 0;
        right: 24px;
    }

    .pickup-info-label {
        font-size: 16px; font-size: 1.6rem; font-size: 1.23266vw;
        line-height: 28px; line-height: 2.8rem; line-height: 2.15716vw;
        margin: -4px 0 -3px 0; margin-top: -0.30816vw; margin-bottom: -0.23112vw;
    }
    .pickup-info-caption {
        font-size: 13px; font-size: 1.3rem; font-size: 1.00154vw;
        line-height: 25px; line-height: 2.5rem; line-height: 1.92604vw;
        margin: 0 0 -3px 0; margin-bottom: -0.23112vw;
    }
}

@media (min-width: 1298px)
{
    .pickup-info-label {
        font-size: 16px; font-size: 1.6rem;
        line-height: 28px; line-height: 2.8rem;
        margin: -4px 0 -3px 0;
    }
    .pickup-info-caption {
        font-size: 13px; font-size: 1.3rem;
        line-height: 25px; line-height: 2.5rem;
        margin: 0 0 -3px 0;
    }
}





#merits {
    margin: 12px -12px;
    overflow: auto;
}
#merits-list {
    display: flex;
    padding: 0 6px;
}
#merits-list .merit {
    margin: 0 6px;
    padding-bottom: 8px;
    text-align: center;
    min-width: 0;
    background-color: #fff;
    width: 33.333%; width: calc(calc(100% / 3) - 24px);
    min-width: 260px;
    max-width: 324px;
}
#merits-list:after {
    content: "";
    display: block;
    min-width: 6px;
}

#merits-list .merit-image {}
#merits-list .merit-info {
    padding: 16px;
}
#merits-list .merit-info-label {
    font-size: 18px; font-size: 1.8rem;
    line-height: 26px; line-height: 2.6rem;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin-bottom: 8px;
}
#merits-list .merit-info-label span {
    display: block;
}
#merits-list .merit-info-label .merit-info-label-sub {
    color: #e60012;
    margin-top: 4px;
}
#merits-list .merit-info-caption {
    font-size: 16px; font-size: 1.6rem;
    line-height: 32px; line-height: 3.2rem;
}
#merits-list .merit-info-caption span {
    position: relative;
    display: inline-block;
    white-space: nowrap;
    z-index: 1;
}
#merits-list .merit-info-caption span:after {
    content: "";
    display: block;
    width: 100%;
    height: 11px;
    background-color: #f0eba2;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 3px;
    margin: 0 auto;
    z-index: -1;
}

@media (min-width: 480px)
{
    #merits {
        margin: 24px -24px;
    }
    #merits-list {
        padding: 0 12px;
    }
    #merits-list .merit {
        margin: 0 12px;
    }
    #merits-list:after {
        min-width: 12px;
    }
}

@media (min-width: 768px)
{
    #merits {
        margin: 12px -24px;
    }
}

@media (min-width: 893px)
{
    #merits-list:after {
        display: none;
    }
}

@media (min-width: 1120px)
{
    #merits {
        margin: 0;
        overflow: visible;
    }
    #merits-list {
        padding: 0;
        margin: 0 -12px;
        justify-content: space-between;
    }
    #merits-list .merit {
        margin: 12px;
        padding-bottom: 16px; padding-bottom: 1.23266vw;
    }
    #merits-list .merit-info-label {
        font-size: 20px; font-size: 2.0rem; font-size: 1.54083vw;
        line-height: 28px; line-height: 2.8rem; line-height: 2.15716vw;
        margin-bottom: 14px; margin-bottom: 1.07858vw;
    }
    #merits-list .merit-info-caption {
        font-size: 18px; font-size: 1.8rem; font-size: 1.38674vw;
        line-height: 36px; line-height: 3.6rem; line-height: 2.77349vw;
    }
    #merits-list .merit-info-caption span:after {
        height: 13px; height: 1.00154vw;
        bottom: 5px; bottom: 0.3852vw;
    }
}

@media (min-width: 1298px)
{
    #merits-list .merit {
        padding-bottom: 16px;
    }
    #merits-list .merit-info-label {
        font-size: 20px; font-size: 2.0rem;
        line-height: 28px; line-height: 2.8rem;
        margin-bottom: 14px;
    }
    #merits-list .merit-info-caption {
        font-size: 18px; font-size: 1.8rem;
        line-height: 36px; line-height: 3.6rem;
    }
    #merits-list .merit-info-caption span:after {
        height: 13px;
        bottom: 5px;
    }
}





#ec-category-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: -6px;
}
#ec-category-list .ec-category {
    width: 50%; width: calc(50% - 12px);
    margin: 6px;
    min-width: 0;
}
#ec-category-list .ec-category a {
    display: block;
    padding: 12px 12px 0 12px;
    background-color: #fff;
    color: #000;
    position: relative;
}
#ec-category-list .ec-category a:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    border: solid 4px #2f7fd0;
    opacity: 0;
    -webkit-transition: opacity .2s;
    transition: opacity .2s;
}
#ec-category-list .ec-category a:hover:before {
    opacity: 1;
}
#ec-category-list .ec-category a span {
    display: block;
}
#ec-category-list .ec-category-name {
    position: relative;
    border-top: solid 1px #d8e1e6;
    font-size: 12px; font-size: 1.2rem; font-size: 3.333vw;
    line-height: 18px; line-height: 1.8rem; line-height: 5vw;
    padding: 10px 0 12px 0; padding-top: 2.91666vw; padding-bottom: 3.333vw;
    letter-spacing: 0;
    text-align: center;
}
#ec-category-list .ec-category-name:after {
    content: "";
    display: block;
    width: 6px; width: 2.08333vw;
    height: 6px; height: 2.08333vw;
    border: solid 2px #2f7fd0;
    border-width: 2px 2px 0 0;
    transform: rotate(45deg);
    position: absolute;
    right: 4px; right: 1.25vw;
    top: 0;
    bottom: 0;
    margin: auto 0;
}

@media (min-width: 480px)
{
    #ec-category-list {
        margin: -12px;
    }
    #ec-category-list .ec-category {
        width: 50%; width: calc(50% - 24px);
        margin: 12px;
    }
    #ec-category-list .ec-category-name {
        font-size: 16px; font-size: 1.6rem;
        line-height: 24px; line-height: 2.4rem;
        padding: 14px 0 16px 0;
        letter-spacing: 0.1em;
    }
    #ec-category-list .ec-category-name:after {
        width: 10px;
        height: 10px;
    }
}

@media (min-width: 640px)
{
    #ec-category-list .ec-category-name:after {
        right: 8px;
    }
}

@media (min-width: 768px)
{
    #ec-category-list {
        flex-wrap: nowrap;
        margin-top: 12px;
    }
    #ec-category-list .ec-category {
        width: 25%;
        max-width: 236.5px;
    }
    #ec-category-list .ec-category-name {
        font-size: 13px; font-size: 1.3rem;
        line-height: 19px; line-height: 1.9rem;
        padding: 11px 0 13px 0;
    }
    #ec-category-list .ec-category-name:after {
        width: 6px;
        height: 6px;
        right: 4px;
    }
}

@media (min-width: 1120px)
{
    #ec-category-list {
        margin-top: 0;
    }
    #ec-category-list .ec-category-name {
        font-size: 14px; font-size: 1.4rem; font-size: 1.23266vw;
        line-height: 20px; line-height: 2.0rem; line-height: 1.848998vw;
        padding: 12px 0 14px 0; padding-top: 1.07858vw; padding-bottom: 1.232665vw;
        text-align: center;
    }
    #ec-category-list .ec-category-name:after {
        width: 8px; width: 0.770416vw;
        height: 8px; height:  0.770416vw;
    }
}

@media (min-width: 1298px)
{
    #ec-category-list .ec-category-name {
        font-size: 16px; font-size: 1.6rem;
        line-height: 24px; line-height: 2.4rem;
        padding: 14px 0 16px 0;
    }
    #ec-category-list .ec-category-name:after {
        width: 10px;
        height: 10px;
        right: 8px;
    }
}





#information {
    background-color: #fff;
    margin: 12px 0 0 0;
    padding: 20px 16px;
}
#information-label {
    font-size: 20px; font-size: 2.0rem;
    line-height: 28px; line-height: 2.8rem;
    font-weight: 700;
}
#information-list {
    padding: 6px 0;
}
#information-list li {
    display: flex;
    flex-direction: column;
    width: 100%;
    white-space: nowrap;
    padding: 6px 0 6px 6px;
}
#information-list li:last-of-type {
    margin-bottom: -8px;
}
#information-list li a {
    color: #000;
}
#information-list li a:hover {
    text-decoration: underline;
}
#information-list .information-update {
    font-size: 12px; font-size: 1.2rem;
    line-height: 20px; line-height: 2.0rem;
    letter-spacing: 0;
    color: #2f7fd0;
    min-width: 84px;
}
#information-list .information-title {
    font-size: 13px; font-size: 1.3rem;
    line-height: 21px; line-height: 2.1rem;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

@media (min-width: 480px)
{
    #information {
        margin-top: 24px;
        padding: 20px;
    }
}

@media (min-width: 640px)
{
    #information-list {
        padding: 8px 0;
    }
    #information-list li {
        flex-direction: row;
        padding: 8px 0 8px 8px;
    }
    #information-list li:last-of-type {
        margin-bottom: -12px;
    }
    #information-list .information-update,
    #information-list .information-title {
        line-height: 2.1rem;
    }
}

@media (min-width: 960px)
{
    #information {
        padding: 28px 32px;
    }
    #information-list li {
        padding: 12px 0 12px 12px;
    }
    #information-list .information-update {
        min-width: 100px;
        font-size: 13px; font-size: 1.3rem;
        line-height: 25px; line-height: 2.5rem;
        letter-spacing: 1px;
    }
    #information-list .information-title {
        font-size: 15px; font-size: 1.5rem;
        line-height: 25px; line-height: 2.5rem;
    }
}





#our-information {
    display: flex;
    flex-direction: column;
    margin-top: 12px;
    padding: 0 20px;
    background-color: #2f7fd0;
    color: #fff;
}
.our-information-group {
    flex-basis: 50%;
    padding: 16px 0;
}
.our-information-group:nth-of-type(even) {
    border-top: solid 1px #4a94de;
}
.our-information-label {
    font-size: 16px; font-size: 1.6rem;
    line-height: 28px; line-height: 2.8rem;
    font-weight: 700;
}
.our-information-row {}
.our-information-update {
    font-size: 13px; font-size: 1.3rem;
    line-height: 21px; line-height: 2.1rem;
    opacity: 0.5;
    margin: 5px 0;
}
.our-information-message {
    font-size: 13px; font-size: 1.3rem;
    line-height: 25px; line-height: 2.5rem;
}

@media (min-width: 480px)
{
    #our-information {
        margin-top: 24px;
        padding: 0 24px;
    }
    .our-information-group {
        padding: 20px 0;
    }
}

@media (min-width: 768px)
{
    #our-information {
        flex-direction: row;
        padding: 18px 0;
    }
    .our-information-group {
        padding: 0 24px;
    }
    .our-information-group:nth-of-type(even) {
        border-top: none;
        border-left: solid 1px #4a94de;
    }
}

@media (min-width: 960px)
{
    #our-information {
        padding: 20px 0;
    }
    .our-information-group {
        padding: 6px 32px;
    }
    .our-information-label {
        font-size: 20px; font-size: 2.0rem;
        line-height: 32px; line-height: 3.2rem;
    }
    .our-information-update {
        font-size: 15px; font-size: 1.5rem;
        line-height: 23px; line-height: 2.3rem;
        margin: 8px 0;
    }
    .our-information-message {
        font-size: 15px; font-size: 1.5rem;
        line-height: 31px; line-height: 3.1rem;
    }
}






#under-nav {
    padding-top: 12px;
}
#under-nav-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: -6px;
}
#under-nav-links li {
    flex-basis: 50%; flex-basis: calc(50% - 12px);
    margin: 6px;
    min-width: 0;
}
#under-nav-links li a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 12px;
    background-color: #fff;
    font-size: 14px; font-size: 1.4rem;
    line-height: 20px; line-height: 2.0rem;
    letter-spacing: 0;
    color: #000;
    white-space: nowrap;
    min-height: 100%;
    position: relative;
}
#under-nav-links li a:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    border: solid 3px #2f7fd0;
    opacity: 0;
    -webkit-transition: opacity .2s;
    transition: opacity .2s;
}
#under-nav-links li a:hover:before {
    opacity: 1;
}
#under-nav-links li a span {
    margin: 0 4px;
}
#under-nav-links li a img {
    height: 19px;
    width: auto;
}
#under-nav-links li a:hover img {
    filter: none;
    opacity: 1;
}
#under-nav-links li a span:nth-child(2) {
    flex-grow: 2;
}

@media (min-width: 480px)
{
    #under-nav {
        padding-top: 24px;
    }
    #under-nav-links {
        margin: -12px;
    }
    #under-nav-links li {
        flex-basis: calc(50% - 24px);
        margin: 12px;
    }
}

@media (min-width: 640px)
{
    #under-nav-links {
        flex-wrap: nowrap;
    }
    #under-nav-links li {
        flex-basis: 25%;
    }
}

@media (min-width: 768px)
{
    #under-nav-links li a img {
        height: 19px; height: 3.046875vw;
        max-height: 38px;
    }
    #under-nav-links li a span {
        margin: 0 5px; margin: 0 0.78125vw;
    }
}

@media (min-width: 768px)
{
    #under-nav-links {
        margin: -12px;
    }
    #under-nav-links li {
        margin: 12px;
    }
    #under-nav-links li a {
        padding: 20px 12px;
        font-size: 16px; font-size: 1.6rem;
        line-height: 22px; line-height: 2.2rem;
    }
}

@media (min-width: 1280px)
{
    #under-nav-links li a span {
        margin: 0 10px;
    }
}
