/* --------------------
 Front
-------------------- */
.front {
    background-color: #36ad47;
    overflow: hidden;
}

.front__hero {
    margin: 0 0 30px;
    padding: 450px 0 0;
    position: relative;
    z-index: 0;
}

@media (min-width: 768px) {
    .front__hero {
        padding-top: 350px;
    }
}

.front__hero__stage {
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0;
}

.front__hero__stage__l-1 {
    background-image: url(../images/pages/front/front-hero-1-mb.png);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 1120px auto;
    height: 500px;
    position: relative;
    width: 100%;
    z-index: 0;
}

@media (min-width: 768px) {
    .front__hero__stage__l-1 {
        background-image: url(../images/pages/front/front-hero-1.png);
        background-position: center;
        background-size: auto 100%;
        height: 500px;
    }
}

.front__hero__stage__l-2 {
    border: 1px solid white;
    border-radius: 50%;
    height: 330px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 180px;
    transition: border-color 1s ease-out .9s;
    width: 330px;
    z-index: 1;
}

@media (min-width: 768px) {
    .front__hero__stage__l-2 {
        height: 440px;
        top: 60px;
        width: 440px;
    }
}

.front__hero__stage__l-2:before {
    background-image: url(../images/pages/front/front-hero-2.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    margin: auto;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: opacity 1s ease-out 1s;
    width: 100%;
    z-index: 0;
}

.front__hero__stage__l-2.is-active {
    border-color: rgba(255, 255, 255, 0);
    opacity: 1;
}

.front__hero__stage__l-2.is-active:before {
    opacity: 1;
}

.front__hero__stage__l-3 {
    height: 500px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: auto;
    z-index: 2;
}

.front__hero__stage__l-3#js-particle {
    opacity: 0;
}

.front__hero__stage__l-4 {
    background-image: url(../images/pages/front/front-hero-3-mb.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 800px auto;
    height: 940px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 350px;
    width: auto;
    z-index: 3;
}

@media (min-width: 768px) {
    .front__hero__stage__l-4 {
        background-image: url(../images/pages/front/front-hero-3.png);
        background-position: center;
        background-size: auto 100%;
        height: 1200px;
        top: 50px;
    }
}

.front__hero__stage__logo {
    left: 0;
    margin: 0 auto;
    max-width: 900px;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 4;
}

.front__hero__stage__logo__item {
    height: 160px;
    left: 15px;
    margin: 0;
    max-width: 200px;
    min-width: 160px;
    position: absolute;
    right: 0;
    top: 60px;
    width: 46%;
    z-index: 4;
}

@media (min-width: 768px) {
    .front__hero__stage__logo__item {
        height: 258px;
        left: 0;
        max-width: none;
        right: auto;
        top: 50px;
        width: 258px;
    }
}

.front__hero__stage__logo__item img {
    max-width: none;
    width: 100%;
}

.front__hero-container {
    margin: 0;
    padding: 0 15px;
    position: relative;
    width: 100%;
    z-index: 1;
}

@media (min-width: 768px) {
    .front__hero-container {
        align-items: center;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-left: auto;
        margin-right: auto;
        max-width: 1460px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.front__hero__title {
    font-size: 1.0rem;
    font-weight: 400;
    line-height: 1.0;
    margin: 0 0 15px;
    padding: 0;
    text-align: center;
}

@media (min-width: 768px) {
    .front__hero__title {
        margin-bottom: 0;
        padding-right: 30px;
        text-align: right;
        width: 55%;
    }
}

.front__hero__slider {
    margin: 0 -15px;
    width: auto;
}

@media (min-width: 768px) {
    .front__hero__slider {
        margin-left: 0;
        margin-right: 0;
        width: 45%;
    }
}

.front__news {
    padding: 0 15px 60px;
    position: relative;
    z-index: 1;
}

@media (min-width: 768px) {
    .front__news {
        padding-left: 35px;
        padding-right: 35px;
    }
}

.front__news-container {
    background-color: rgba(255, 255, 255, .1);
    border-radius: 18px;
    margin: 0 auto;
    max-width: 900px;
    padding: 25px 20px 20px;
    width: 100%;
}

@media (min-width: 768px) {
    .front__news-container {
        padding-left: 30px;
        padding-right: 30px;
    }
}

.front__news__title {
    font-size: 1.0rem;
    line-height: 1;
    margin: 0 0 15px;
}

.front__news__list {
    margin: 0 0 20px;
}

.front__news__list__item {
    position: relative;
}

.front__news__list__item:after {
    background-image: url(../images/commons/com-bg-dotted-white.svg);
    background-position: left center;
    background-repeat: repeat-x;
    background-size: 12px 2px;
    bottom: -1px;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: auto;
    width: auto;
}

.front__news__list__item__link {
    background-color: rgba(255, 255, 255, 0);
    border-radius: 3px;
    color: #ffffff;
    display: block;
    letter-spacing: .12em;
    padding: 10px 15px 10px 2px;
    position: relative;
    transition: background-color .2s cubic-bezier(.645, .045, .355, 1);
}

.front__news__list__item__link:after {
    border-bottom: 4px solid transparent;
    border-left: 6px solid #ffffff;
    border-right: none;
    border-top: 4px solid transparent;
    bottom: 0;
    content: "";
    display: block;
    height: 8px;
    margin: auto 0;
    position: absolute;
    right: 10px;
    top: 0;
    width: 6px;
}

.front__news__list__item__link__meta {
    font-size: 1.3rem;
}

@media (min-width: 768px) {
    .front__news__list__item__link__meta {
        font-size: 1.6rem;
    }
}

.front__news__list__item__link__meta__date {
    display: inline;
    vertical-align: middle;
}

.front__news__list__item__link__meta img {
    margin: 0 0 0 10px;
    vertical-align: middle;
}

.front__news__list__item__link__title {
    font-size: 1.4rem;
}

@media (min-width: 768px) {
    .front__news__list__item__link__title {
        font-size: 1.6rem;
    }
}

.front__news__list__item__link:hover, .front__news__list__item__link:focus {
    background-color: rgba(255, 255, 255, .2);
    color: #ffffff;
}

.front__news__action {
    text-align: right;
}

.front__news__action__link {
    background-color: #ffffff;
    border-radius: 8px;
    color: #36ad47;
    display: inline-block;
    font-size: 1.3rem;
    line-height: 1.2;
    padding: 4px 25px;
    position: relative;
    transition: background-color .2s cubic-bezier(.645, .045, .355, 1), color .2s cubic-bezier(.645, .045, .355, 1);
}

.front__news__action__link:after {
    border-bottom: 4px solid transparent;
    border-left: 6px solid #36ad47;
    border-right: none;
    border-top: 4px solid transparent;
    bottom: 0;
    content: "";
    display: block;
    height: 8px;
    margin: auto 0;
    position: absolute;
    right: 10px;
    top: 0;
    transition: border-left-color .2s cubic-bezier(.645, .045, .355, 1);
    width: 6px;
}

.front__news__action__link:hover, .front__news__action__link:focus {
    background-color: #36ad47;
    color: #ffffff;
}

.front__news__action__link:hover:after, .front__news__action__link:focus:after {
    border-left-color: #ffffff;
}

.front__service {
    overflow: hidden;
    padding: 0 0 60px;
    position: relative;
    z-index: 1;
}

.front__service-container {
    margin: 0;
    padding: 0 35px;
    width: 100%;
}

@media (min-width: 768px) {
    .front__service-container {
        margin-left: auto;
        margin-right: auto;
        max-width: 810px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.front__service__subtitle {
    font-size: 1.0rem;
    font-weight: 400;
    margin: 0 0 20px;
    position: relative;
    text-align: center;
}

.front__service__subtitle__text {
    background-color: #ffffff;
    border-radius: 12px;
    display: inline-block;
    padding: 8px 20px;
    text-align: center;
}

@media (min-width: 768px) {
    .front__service__subtitle__text {
        padding: 10px 40px;
    }
}

.front__service__subtitle__text img {
    height: 12px;
    line-height: 1.0;
    position: relative;
    z-index: 1;
}

@media (min-width: 768px) {
    .front__service__subtitle__text img {
        height: auto;
    }
}

.front__service__subtitle:after {
    background-color: #ffffff;
    bottom: 0;
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0;
}

.front__service__title {
    font-size: 1.0rem;
    font-weight: 700;
    margin: 0 0 15px;
    padding: 0 50px;
    position: relative;
    text-align: center;
}

@media (min-width: 768px) {
    .front__service__title {
        padding-left: 0;
        padding-right: 0;
    }
}

.front__service__title img {
    height: 70px;
}

@media (min-width: 768px) {
    .front__service__title img {
        height: auto;
    }
}

.front__service__title:before {
    background-image: url(../images/pages/front/front-service-icon-1.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 45px 65.07692px;
    bottom: auto;
    content: "";
    display: block;
    height: 65.07692px;
    left: 0;
    position: absolute;
    right: auto;
    top: 0;
    width: 45px;
}

@media (min-width: 768px) {
    .front__service__title:before {
        background-size: 65px 94px;
        height: 94px;
        left: -55px;
        width: 65px;
    }
}

.front__service__title:after {
    background-image: url(../images/pages/front/front-service-icon-2.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 80px 74.3662px;
    bottom: auto;
    content: "";
    display: block;
    height: 74.3662px;
    left: auto;
    position: absolute;
    right: -15px;
    top: 30px;
    width: 80px;
}

@media (min-width: 768px) {
    .front__service__title:after {
        background-size: 142px 132px;
        height: 132px;
        right: -80px;
        width: 142px;
    }
}

.front__service__overview {
    margin: 0 0 20px;
    text-align: center;
}

.front__service__content {
    margin: 0 0 50px;
}

.front__service__content__desc {
    color: #ffffff;
    font-size: 1.6rem;
    line-height: 1.875;
    margin: 0 0 15px;
    text-align: justify;
    text-justify: inter-ideograph;
}

.front__service__content__desc:last-child {
    margin-bottom: 0;
}

.front__service__animal__title {
    font-size: 1.0rem;
    line-height: 1.0;
    margin: 0 0 10px;
    padding: 0 50px;
    text-align: center;
}

@media (min-width: 768px) {
    .front__service__animal__title {
        margin-bottom: 0;
        padding-left: 0;
        padding-right: 0;
    }
}

.front__service__animal__illust {
    margin: 0 auto;
    max-width: 345px;
    position: relative;
    text-align: center;
}

@media (min-width: 768px) {
    .front__service__animal__illust {
        max-width: 800px;
    }
}

.front__service__animal__illust__static {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

@media (min-width: 768px) {
    .front__service__animal__illust__static {
        flex-wrap: nowrap;
    }
}

.front__service__animal__illust__static__item {
    margin: 0 0 10px;
    opacity: 1;
    padding: 0 8px;
    text-align: center;
}

@media (max-width: 767px) {
    .front__service__animal__illust__static__item {
        width: 50%;
    }
    .front__service__animal__illust__static__item:nth-child(1) {
        padding-top: 0;
        width: 33.33333%;
    }
    .front__service__animal__illust__static__item:nth-child(2) {
        padding-top: 3px;
        width: 33.33333%;
    }
    .front__service__animal__illust__static__item:nth-child(3) {
        padding-top: 14px;
        width: 33.33333%;
    }
    .front__service__animal__illust__static__item:nth-child(4) {
        padding-left: 30px;
        padding-top: 0;
    }
    .front__service__animal__illust__static__item:nth-child(5) {
        padding-right: 30px;
        padding-top: 5px;
    }
    .front__service__animal__illust__static__item:nth-child(5) img {
        width: 100px;
    }
}

@media (min-width: 768px) {
    .front__service__animal__illust__static__item {
        margin-bottom: 0;
        padding-left: 15px;
        padding-right: 15px;
    }
    .front__service__animal__illust__static__item:nth-child(1) {
        padding-top: 0;
    }
    .front__service__animal__illust__static__item:nth-child(2) {
        padding-top: 25px;
    }
    .front__service__animal__illust__static__item:nth-child(3) {
        padding-top: 35px;
    }
    .front__service__animal__illust__static__item:nth-child(4) {
        padding-top: 35px;
    }
    .front__service__animal__illust__static__item:nth-child(5) {
        padding-top: 0;
    }
}

.front__service__animal__illust__hover {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

@media (min-width: 768px) {
    .front__service__animal__illust__hover {
        flex-wrap: nowrap;
    }
}

.front__service__animal__illust__hover__item {
    flex-grow: 0;
    flex-shrink: 0;
    margin: 0 0 10px;
    opacity: 1;
    padding: 0 8px;
    text-align: center;
}

@media (max-width: 767px) {
    .front__service__animal__illust__hover__item {
        width: 50%;
    }
    .front__service__animal__illust__hover__item:nth-child(1) {
        padding-top: 0;
        width: 39%;
    }
    .front__service__animal__illust__hover__item:nth-child(2) {
        padding-top: 18px;
        width: 33%;
    }
    .front__service__animal__illust__hover__item:nth-child(3) {
        padding-top: 24px;
        width: 27%;
    }
    .front__service__animal__illust__hover__item:nth-child(3) img {
        width: 55px;
    }
    .front__service__animal__illust__hover__item:nth-child(4) {
        padding-left: 20px;
        padding-top: 20px;
    }
    .front__service__animal__illust__hover__item:nth-child(4) img {
        width: 100px;
    }
    .front__service__animal__illust__hover__item:nth-child(5) {
        padding-right: 15px;
        padding-top: 0;
    }
    .front__service__animal__illust__hover__item:nth-child(5) img {
        width: 130px;
    }
}

@media (min-width: 768px) {
    .front__service__animal__illust__hover__item {
        margin-bottom: 0;
        padding-left: 15px;
        padding-right: 15px;
    }
    .front__service__animal__illust__hover__item:nth-child(1) {
        padding-top: 2px;
    }
    .front__service__animal__illust__hover__item:nth-child(2) {
        padding-top: 32px;
    }
    .front__service__animal__illust__hover__item:nth-child(3) {
        padding-top: 45px;
    }
    .front__service__animal__illust__hover__item:nth-child(4) {
        padding-top: 36px;
    }
    .front__service__animal__illust__hover__item:nth-child(5) {
        padding-top: 12px;
    }
}

.front__concept {
    margin: 0 0 100px;
    position: relative;
    z-index: 1;
}

.front__concept-container {
    margin: 0;
    padding: 0 15px;
    width: 100%;
}

@media (min-width: 768px) {
    .front__concept-container {
        margin-left: auto;
        margin-right: auto;
        max-width: 960px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.front__concept-container__inner {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 30px 20px;
}

@media (min-width: 768px) {
    .front__concept-container__inner {
        padding: 70px 30px;
    }
}

@media (min-width: 992px) {
    .front__concept-container__inner {
        padding-left: 80px;
        padding-right: 80px;
    }
}

.front__concept__subtitle {
    margin: 0 0 30px;
    text-align: center;
}

@media (min-width: 768px) {
    .front__concept__subtitle {
        margin-bottom: 40px;
    }
}

.front__concept__subtitle img {
    height: 24px;
}

@media (min-width: 768px) {
    .front__concept__subtitle img {
        height: auto;
    }
}

.front__concept__title {
    margin: 0 0 50px;
    text-align: center;
}

@media (min-width: 768px) {
    .front__concept__title {
        margin-bottom: 70px;
    }
}

.front__concept__title img {
    height: 42px;
}

@media (min-width: 768px) {
    .front__concept__title img {
        height: auto;
    }
}

.front__concept__list__item {
    margin: 0 0 50px;
}

@media (min-width: 768px) {
    .front__concept__list__item {
        align-items: center;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-bottom: 30px;
        margin-left: -20px;
        margin-right: -20px;
    }
}

.front__concept__list__item:last-child {
    margin-bottom: 0;
}

.front__concept__list__item__thumb {
    margin: 0 0 15px;
    padding: 0;
    text-align: center;
}

@media (min-width: 768px) {
    .front__concept__list__item__thumb {
        margin-bottom: 0;
        padding-left: 20px;
        padding-right: 20px;
        width: 48%;
    }
}

.front__concept__list__item__thumb-inner {
    overflow: hidden;
    position: relative;
}

.front__concept__list__item__thumb-inner:after {
    border: 10px solid #ffffff;
    border-radius: 25px;
    bottom: -10px;
    content: "";
    display: block;
    left: -10px;
    position: absolute;
    right: -10px;
    top: -10px;
    z-index: 1;
}

.front__concept__list__item__thumb__viewer {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.front__concept__list__item__thumb__viewer:before {
    content: "";
    display: block;
    padding: 65.71429% 0 0;
    width: 100%;
}

.front__concept__list__item--1st .front__concept__list__item__thumb__viewer {
    background-image: url(../images/pages/front/front-concept-photo-1.png);
}

@media (max-width: 767px) {
    .front__concept__list__item--2nd .front__concept__list__item__thumb {
        padding-bottom: 30px;
    }
    .front__concept__list__item--2nd .front__concept__list__item__thumb img {
        width: 250px;
    }
}

.front__concept__list__item--3rd .front__concept__list__item__thumb__viewer {
    background-image: url(../images/pages/front/front-concept-photo-2.png);
}

.front__concept__list__item__content {
    padding: 0;
}

@media (min-width: 768px) {
    .front__concept__list__item__content {
        padding-left: 20px;
        padding-right: 20px;
        width: 52%;
    }
}

.front__concept__list__item__content__desc {
    font-size: 1.5rem;
    line-height: 1.875;
    margin: 0 0 15px;
    text-align: justify;
    text-justify: inter-ideograph;
}

@media (min-width: 768px) {
    .front__concept__list__item__content__desc {
        font-size: 1.6rem;
    }
}

.front__concept__list__item__content__desc:last-child {
    margin-bottom: 0;
}

.front__concept__list__item:nth-child(even) {
    flex-direction: row-reverse;
}

.front__other {
    margin: 0 0 80px;
    position: relative;
    z-index: 0;
}

.front__other:before {
    background-image: url(../images/pages/front/front-other-bg.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 2143.7px 2629.9px;
    content: "";
    display: block;
    height: 2629.9px;
    left: 0;
    position: absolute;
    right: 0;
    top: 190px;
    transform: translateY(-50%);
    width: 100%;
    z-index: 1;
}

@media (min-width: 768px) {
    .front__other:before {
        background-size: 2522px 3094px;
        height: 3094px;
    }
}

.front__other:after {
    background-color: #2d9b3a;
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: -230%;
    z-index: 0;
}

.front__other-container {
    margin: 0;
    padding: 0 15px;
    position: relative;
    width: 100%;
    z-index: 1;
}

@media (min-width: 768px) {
    .front__other-container {
        margin-left: auto;
        margin-right: auto;
        max-width: 960px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.front__other__subtitle {
    font-size: 1.0rem;
    font-weight: 440;
    margin: 0 0 50px;
    text-align: center;
}

.front__other__subtitle__text {
    background-color: #ffffff;
    border-radius: 12px;
    display: inline-block;
    line-height: 1.0;
    padding: 10px 15px;
}

.front__other__list {
    margin: 0;
}

@media (min-width: 768px) {
    .front__other__list {
        align-items: stretch;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-left: -20px;
        margin-right: -20px;
    }
}

.front__other__list__item {
    margin: 0 0 30px;
    padding: 0;
    width: auto;
}

.front__other__list__item:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .front__other__list__item {
        padding-left: 20px;
        padding-right: 20px;
        width: 50%;
    }
}

.front__other__list__item__title {
    background-color: #36ad47;
    border-radius: 12px;
    margin: 0 0 20px;
    padding: 10px 5px;
    text-align: center;
}

.front__other__list__item__title img {
    height: 42px;
}

@media (min-width: 768px) {
    .front__other__list__item__title img {
        height: auto;
    }
}

.front__other__list__item__content {
    padding: 0 20px;
}

@media (min-width: 768px) {
    .front__other__list__item__content {
        padding-left: 35px;
        padding-right: 35px;
    }
}

.front__other__list__item__content__desc {
    font-size: 1.5rem;
    line-height: 1.875;
    margin: 0 0 15px;
    text-align: justify;
    text-justify: inter-ideograph;
}

@media (min-width: 768px) {
    .front__other__list__item__content__desc {
        font-size: 1.6rem;
    }
}

.front__other__list__item__content__desc:last-child {
    margin-bottom: 0;
}

.front__company {
    margin: 0;
    padding: 0 0 130px;
    position: relative;
    z-index: 1;
}

.front__company-container {
    margin: 0;
    padding: 0 15px;
    width: 100%;
}

@media (min-width: 768px) {
    .front__company-container {
        margin-left: auto;
        margin-right: auto;
        max-width: 960px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.front__company-container__inner {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 30px 20px;
}

@media (min-width: 768px) {
    .front__company-container__inner {
        padding: 70px 30px;
    }
}

@media (min-width: 992px) {
    .front__company-container__inner {
        padding-left: 80px;
        padding-right: 80px;
    }
}

.front__company__subtitle {
    margin: 0 0 30px;
    text-align: center;
}

@media (min-width: 768px) {
    .front__company__subtitle {
        margin-bottom: 40px;
    }
}

.front__company__subtitle img {
    height: 24px;
}

@media (min-width: 768px) {
    .front__company__subtitle img {
        height: auto;
    }
}

.front__company__title {
    margin: 0 0 50px;
    text-align: center;
}

@media (min-width: 768px) {
    .front__company__title {
        margin-bottom: 70px;
    }
}

.front__company__title img {
    height: 42px;
}

@media (min-width: 768px) {
    .front__company__title img {
        height: auto;
    }
}

.front__company__table {
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0 auto 60px;
    max-width: 600px;
    width: 100%;
}

.front__company__table > tbody > tr > th, .front__company__table > tbody > tr > td {
    border-bottom: 1px solid #e5e5e5;
    font-size: 1.4rem;
    line-height: 1.4;
    text-align: left;
    word-break: break-all;
}

@media (min-width: 768px) {
    .front__company__table > tbody > tr > th, .front__company__table > tbody > tr > td {
        font-size: 1.6rem;
    }
}

.front__company__table > tbody > tr > th {
    font-weight: 400;
    padding: 8px 10px 8px 0;
    white-space: nowrap;
    width: auto;
}

@media (min-width: 768px) {
    .front__company__table > tbody > tr > th {
        padding: 10px 30px 10px 50px;
        width: 45%;
    }
}

.front__company__table > tbody > tr > td {
    padding: 8px 0;
    text-align: left;
    width: auto;
}

@media (min-width: 768px) {
    .front__company__table > tbody > tr > td {
        padding: 10px 0;
        width: 55%;
    }
}

.front__company__table > tbody > tr:last-child > th, .front__company__table > tbody > tr:last-child > td {
    border-bottom: none;
}

.front__company__table__tel {
    padding: 5px 0;
}

.front__company__table__tel__label {
    border: 1px solid #4f4646;
    border-radius: 5px;
    color: #4f4646;
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 5px 0 0;
    padding: 3px 10px;
    text-align: center;
}

.front__company__table__tel__link, .front__company__table__tel__static {
    display: inline-block;
}

.front__company__logo {
    line-height: 1.0;
    margin: 0 0 70px;
    text-align: center;
}

.front__company__logo img {
    height: 60px;
}

@media (min-width: 768px) {
    .front__company__logo img {
        height: auto;
    }
}

.front__company__map {
    position: relative;
}

.front__company__map:before {
    content: "";
    display: block;
    padding: 250px 0 0;
    width: 100%;
}

@media (min-width: 768px) {
    .front__company__map:before {
        padding-top: 51.28205%;
    }
}

.front__company__map__viewer {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 0;
}

.front__contact {
    padding: 0 0 80px;
}

@media (min-width: 768px) {
    .front__contact {
        padding-bottom: 50px;
    }
}

.front__contact-container {
    margin: 0;
    padding: 0 35px;
    width: 100%;
}

@media (min-width: 768px) {
    .front__contact-container {
        margin-left: auto;
        margin-right: auto;
        max-width: 960px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.front__contact__title {
    font-size: 1.0em;
    line-height: 1.0;
    margin: 0 0 25px;
    text-align: center;
}

.front__contact__title img {
    height: 36px;
}

@media (min-width: 768px) {
    .front__contact__title img {
        height: auto;
    }
}

.front__contact__content {
    margin: 0 0 40px;
}

.front__contact__content__desc {
    color: #ffffff;
    font-size: 1.5rem;
    line-height: 1.875;
    margin: 0 0 15px;
    text-align: justify;
    text-align: center;
    text-justify: inter-ideograph;
}

@media (min-width: 768px) {
    .front__contact__content__desc {
        font-size: 1.6rem;
    }
}

.front__contact__content__desc:last-child {
    margin-bottom: 0;
}

.front__contact__tel {
    margin: 0 0 30px;
    padding: 0 0;
    text-align: center;
}

@media (min-width: 768px) {
    .front__contact__tel {
        padding-left: 30px;
        padding-right: 30px;
    }
}

.front__contact__tel__item {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 0 0 25px;
}

.front__contact__tel__item:last-child {
    margin-bottom: 0;
}

.front__contact__tel__item__label {
    padding: 0 15px 0 0;
}

.front__contact__action {
    align-items: center;
    background-image: url(../images/pages/front/front-contact-bg.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 170px 170px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    min-height: 170px;
}

.front__contact__action__button {
    background-color: #2d9b3a;
    border: 5px solid #ffffff;
    border-radius: 12px;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    display: block;
    margin: 0 auto;
    max-width: 520px;
    padding: 8px 15px;
    text-align: center;
    transition: box-shadow .2s cubic-bezier(.645, .045, .355, 1);
    width: 100%;
}

@media (min-width: 992px) {
    .front__contact__action__button:hover, .front__contact__action__button:focus {
        box-shadow: 7px 7px 5px rgba(0, 0, 0, .2);
    }
}
