@charset "UTF-8";
/*
 * By "REMOTE" Co. 2021
 * Website: http://www.remote.dog/
 * Contact: contact@remote.dog
 */
@font-face {
    font-family: "montserrat";
  src: url("../fonts/montserrat-v15-latin-700.woff2") format("woff2"), url("../fonts/montserrat-v15-latin-700.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}

@font-face {
    font-family: "montserrat";
  src: url("../fonts/montserrat-v15-latin-600.woff2") format("woff2"), url("../fonts/montserrat-v15-latin-600.woff") format("woff");
  font-weight: 600;
  font-style: normal;
}

@font-face {
    font-family: "montserrat";
  src: url("../fonts/montserrat-v15-latin-500.woff2") format("woff2"), url("../fonts/montserrat-v15-latin-500.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
/* variables */
/* initialize */
body, p, h1, h2, h3, h4, h5, h6, dl, dt, dd, ul, ol, li, table, th, td, form, fieldset, legend, input, textarea, select, button, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, audio, video {
    margin: 0;
    padding: 0;
}

body {
    font-style: normal;
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6, dt, mark, strong {
    font-weight: normal;
}

img, fieldset, iframe, button {
    border: 0 none;
}

li {
    list-style: none;
}

button {
    background: transparent;
    cursor: pointer;
    vertical-align: middle;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

th, td {
    border-collapse: collapse;
}

hr {
    display: none;
}

form {
    display: inline;
}

select, input, textarea {
    padding: 0;
    vertical-align: middle;
    resize: none;
    -webkit-appearance: none;
    border-radius: 0;
    border: none;
    box-sizing: border-box;
    outline: none;
    background-color: transparent;
}

input::-ms-clear,
select::-ms-expand {
    display: none;
}

i, em, u, cite, mark, address {
    font-style: normal;
}

a {
    text-decoration: none;
}

button {
    outline: none;
}

mark {
    background-color: transparent;
}

main {
    display: block;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

* {
    letter-spacing: -0.025em;
}

html, body {
    height: 100%;
}

body {
    font-size: 2.5vw;
    line-height: 1.25;
    font-family: "montserrat", "맑은고딕", Malgun Gothic, sans-serif;
    font-weight: 500;
    word-break: keep-all;
    overflow: scroll;
    overflow-x: hidden;
}

@media (max-width: 767px) {
    body {
        overflow-x: hidden;
        font-size: 44px;
        line-height: 1.25;
    }
}

select, input, textarea, button, mark {
    font-family: "montserrat", "맑은고딕", Malgun Gothic, sans-serif;
    font-weight: 500;
}

input[type=search] {
    caret-color: #0c6468;
}

input[type=search]::-ms-clear {
    display: none;
    width: 0;
    height: 0;
}

input[type=search]::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    display: none;
}

::placeholder {
    color: #999;
}

::-webkit-input-placeholder {
    color: #999;
}

:-moz-placeholder {
    color: #999;
}

::-moz-placeholder {
    color: #999;
}

:-ms-input-placeholder {
    color: #999;
}

:disabled {
    opacity: 0.4;
}

::selection {
    color: #fff;
}

.no-transition * {
    transition: none !important;
}

/* module */
br.pc {
    display: inline;
}

br.mobile {
    display: none;
}

@media (max-width: 767px) {
    br.pc {
        display: none;
    }

    br.mobile {
        display: inline;
    }
}

.smooth-toggle-mask {
    position: relative;
    overflow: hidden;
    transition: height 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}

.smooth-toggle-mask > .toggle-con {
    display: block !important;
}

.smooth-toggle-mask > * {
    opacity: 0;
    transition: opacity 0.1s ease-out;
}

.smooth-toggle-mask.ready > * {
    opacity: 1;
    transition: opacity 0.5s;
}

.smooth-toggle-mask:not(.open) > * {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.blocker {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 99999;
    background: rgba(0, 0, 0, 0);
}

[data-scroller-background-parallax]:not(.scroller-show) {
    visibility: hidden;
}

body {
    background-color: #92d3b5;
}

html.ready body {
    transition: background-color 0.5s ease-out;
}

body[data-color=yellow] {
    background-color: #eaf0b3;
}

body[data-color=yellowgreen] {
    background-color: #cae8da;
}

body[data-color=white] {
    background-color: #fff;
}

#footer .btns a {
    color: #92d3b5;
}

#footer .btns a[data-color=yellow] {
    color: #eaf0b3;
}

#footer .btns a[data-color=yellowgreen] {
    color: #cae8da;
}

#footer .btns a[data-color=white] {
    color: #fff;
}

.main-highlight, .main-changemakers, .vision-mission, .sec-ventures2, .sec-hub2, .sec-history .history-list, .sec-past .past-download, .sec-past .past-dwell, .sec-why .why-phased, .sec-people-detail, .sec-people, [class^=visualset-], .theme-orange {
    color: #ff5d31;
}

.main-highlight a, .main-changemakers a, .vision-mission a, .sec-ventures2 a, .sec-hub2 a, .sec-history .history-list a, .sec-past .past-download a, .sec-past .past-dwell a, .sec-why .why-phased a, .sec-people-detail a, .sec-people a, [class^=visualset-] a, .theme-orange a {
    color: #ff5d31;
}

.main-highlight ::selection, .main-changemakers ::selection, .vision-mission ::selection, .sec-ventures2 ::selection, .sec-hub2 ::selection, .sec-history .history-list ::selection, .sec-past .past-download ::selection, .sec-past .past-dwell ::selection, .sec-why .why-phased ::selection, .sec-people-detail ::selection, .sec-people ::selection, [class^=visualset-] ::selection, .theme-orange ::selection {
    background-color: #ff5d31;
}

.main-highlight [class^=btnset-], .main-changemakers [class^=btnset-], .vision-mission [class^=btnset-], .sec-ventures2 [class^=btnset-], .sec-hub2 [class^=btnset-], .sec-history .history-list [class^=btnset-], .sec-past .past-download [class^=btnset-], .sec-past .past-dwell [class^=btnset-], .sec-why .why-phased [class^=btnset-], .sec-people-detail [class^=btnset-], .sec-people [class^=btnset-], [class^=visualset-] [class^=btnset-], .theme-orange [class^=btnset-] {
    border-color: #ff5d31;
    color: #ff5d31;
}

.main-people, .sec-full-main, .main-latest, .vision-action, .vision-core, .sec-ventures .ventures-impact-report, .sec-ventures, .sec-hub .hub-innovation, .sec-hub .hub-why, .sec-history .history-list dl dd, .sec-casa, .sec-past .past-vegas, .sec-past .past-newyork, .sec-why .why-local, .sec-news-detail, .sec-news, .sec-media, .sec-community, .sec-partners, .modal-full-wrap.type-white, .theme-green {
    color: #0c6468;
}

.main-people a, .sec-full-main a, .main-latest a, .vision-action a, .vision-core a, .sec-ventures .ventures-impact-report a, .sec-ventures a, .sec-hub .hub-innovation a, .sec-hub .hub-why a, .sec-history .history-list dl dd a, .sec-casa a, .sec-past .past-vegas a, .sec-past .past-newyork a, .sec-why .why-local a, .sec-news-detail a, .sec-news a, .sec-media a, .sec-community a, .sec-partners a, .modal-full-wrap.type-white a, .theme-green a {
    color: #0c6468;
}

.main-people ::selection, .sec-full-main ::selection, .main-latest ::selection, .vision-action ::selection, .vision-core ::selection, .sec-ventures .ventures-impact-report ::selection, .sec-ventures ::selection, .sec-hub .hub-innovation ::selection, .sec-hub .hub-why ::selection, .sec-history .history-list dl dd ::selection, .sec-casa ::selection, .sec-past .past-vegas ::selection, .sec-past .past-newyork ::selection, .sec-why .why-local ::selection, .sec-news-detail ::selection, .sec-news ::selection, .sec-media ::selection, .sec-community ::selection, .sec-partners ::selection, .modal-full-wrap.type-white ::selection, .theme-green ::selection {
    background-color: #0c6468;
}

.main-people [class^=btnset-], .sec-full-main [class^=btnset-], .main-latest [class^=btnset-], .vision-action [class^=btnset-], .vision-core [class^=btnset-], .sec-ventures [class^=btnset-], .sec-hub .hub-innovation [class^=btnset-], .sec-hub .hub-why [class^=btnset-], .sec-history .history-list dl dd [class^=btnset-], .sec-casa [class^=btnset-], .sec-past .past-vegas [class^=btnset-], .sec-past .past-newyork [class^=btnset-], .sec-why .why-local [class^=btnset-], .sec-news-detail [class^=btnset-], .sec-news [class^=btnset-], .sec-media [class^=btnset-], .sec-community [class^=btnset-], .sec-partners [class^=btnset-], .modal-full-wrap.type-white [class^=btnset-], .theme-green [class^=btnset-] {
    border-color: #0c6468;
    color: #0c6468;
}

[class^=sticker-], #navi .btn-home {
    transition: transform 0.3s cubic-bezier(0.19, 1, 0.35, 1.2);
}

.hoverable [class^=sticker-]:hover, .hoverable #navi .btn-home:hover {
    transform: scale3d(1.2, 1.2, 1);
    transition-duration: 0.4s;
}

.main-people .list-people .btn-more, .main-people .list-people .item-team .title > span:after, .main-people .item-people a, .main-people .item-people, .sec-full-main .text .btn-about span, .main-latest ul li > a, .main-highlight ol li a strong:after, .main-changemakers .links a strong:after, .sec-people .list-people .list li a, .sec-news .list-news ul li > a, .sec-media .list-media ul li > a strong, .sec-community .list-community > li .list-bi img, .sec-community .list-community > li .toggle-tit:after, .sec-partners .list-bi a, .btn-membership > span:after, .btn-arrow-green > span:after {
    transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

#wrap {
    display: flex;
    flex-direction: column;
    width: 100vw;
    min-height: 100vh;
    padding: 5.2083333333vw 7.8125vw 0;
    margin: 0 auto;
    box-sizing: border-box;
    overflow: hidden;
}

body.main #wrap {
    overflow: visible;
}

@media (max-width: 767px) {
    #wrap {
        padding: 60px 26px 0;
    }
}

#contents {
    flex: 1 0 auto;
    width: 72.9166666667vw;
    max-width: 100%;
    margin-left: auto;
    padding-bottom: 10.4166666667vw;
}

#contents.content-870 {
    width: 45.3125vw;
    margin: 0 auto;
}

#contents.content-1180 {
    width: 61.4583333333vw;
    margin: 0 auto;
}

@media (max-width: 767px) {
    #contents {
        width: 100%;
        padding-bottom: 60px;
    }

    #contents.content-870 {
        width: 100%;
    }

    #contents.content-1180 {
        width: 100%;
    }
}

.main-latest ul, .sec-people .list-people dd, .sec-news .list-news ul, .sec-news .news-head .subtab, .sec-media .list-media ul, .sec-community .list-community > li .toggle-con, .search-wrap {
    width: calc(100% - 11.4583333333vw);
    min-width: 50.78125vw;
    margin-left: auto;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    .main-latest ul, .sec-people .list-people dd, .sec-news .list-news ul, .sec-news .news-head .subtab, .sec-media .list-media ul, .sec-community .list-community > li .toggle-con, .search-wrap {
        width: 100%;
        min-width: 100%;
    }
}

.main-latest ul li > a, .sec-news .list-news ul li > a, .sec-news .news-head .subtab ul, .sec-media .list-media ul li > a, .search-wrap fieldset {
    width: 50.78125vw;
    max-width: 100%;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    .main-latest ul li > a, .sec-news .list-news ul li > a, .sec-news .news-head .subtab ul, .sec-media .list-media ul li > a, .search-wrap fieldset {
        width: 100%;
        max-width: 100%;
    }
}

.vision-core ol, article[class^=vision-] h5, article[class^=vision-] p, .sec-ventures2 .venture-with dl dd .list-desc, .sec-ventures .ventures-strategy .video, article[class^=ventures-] h5, article[class^=ventures-] p, .sec-hub .hub-innovation ol, article[class^=hub-] p, .sec-history .history-list dl dd, .sec-casa .casa-model > p, .sec-past article[class^=past-] > p, .sec-past article[class^=past-] .lock, .visualset-past strong, .sec-why .why-phased ol li .lock, .sec-why .why-local ol li .chart, .sec-why .why-local > p, .sec-people-detail .detail-view, .sec-people-detail .detail-add {
    width: 40.1041666667vw;
    max-width: 100%;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    .vision-core ol, article[class^=vision-] h5, article[class^=vision-] p, .sec-ventures2 .venture-with dl dd .list-desc, .sec-ventures .ventures-strategy .video, article[class^=ventures-] h5, article[class^=ventures-] p, .sec-hub .hub-innovation ol, article[class^=hub-] p, .sec-history .history-list dl dd, .sec-casa .casa-model > p, .sec-past article[class^=past-] > p, .sec-past article[class^=past-] .lock, .visualset-past strong, .sec-why .why-phased ol li .lock, .sec-why .why-local ol li .chart, .sec-why .why-local > p, .sec-people-detail .detail-view, .sec-people-detail .detail-add {
        width: 100%;
        max-width: 100%;
    }
}

#header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    height: 5.2083333333vw;
    z-index: 100;
    pointer-events: none;
}

#header h1 {
    position: absolute;
    left: 1.3020833333vw;
    top: 1.3020833333vw;
    width: 13.4375vw;
    height: 3.9583333333vw;
    background-size: 100% auto;
    background-position: 50% 0;
    background-repeat: no-repeat;
    pointer-events: auto;
}

#header h1 a {
    position: relative;
    text-indent: -9999px;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    display: block;
    width: 100%;
    height: 100%;
}

#header h2 {
    position: absolute;
    right: 7.0833333333vw;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.1458333333vw;
    font-weight: 700;
    text-transform: uppercase;
    pointer-events: auto;
}

#header .btn-nav {
    position: relative;
    text-indent: -9999px;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    width: 5.2083333333vw;
    height: 100%;
    pointer-events: auto;
}

#header .btn-nav > span {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    width: 2.3958333333vw;
    height: 2px;
    margin: -1px 0 0 -1.1979166667vw;
    background-color: #fff;
    transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#header .btn-nav > span:nth-child(1) {
    margin-top: -0.46875vw;
}

#header .btn-nav > span:nth-child(3) {
    margin-top: 0.4166666667vw;
}

html:not(.ie).hoverable #header .btn-nav:hover > span:nth-child(1) {
    transform: translate3d(0, -0.1041666667vw, 0);
}

html:not(.ie).hoverable #header .btn-nav:hover > span:nth-child(3) {
    transform: translate3d(0, 0.1041666667vw, 0);
}

html.menu-open #header .btn-nav > span {
    transition: transform 0.2s cubic-bezier(0.19, 1, 0.22, 1);
}

html.menu-open #header .btn-nav > span:nth-child(1) {
    transform: translate3d(0, 0.4166666667vw, 0);
}

html.menu-open #header .btn-nav > span:nth-child(3) {
    transform: translate3d(0, -0.4166666667vw, 0);
}

@media (max-width: 767px) {
    #header {
        height: 60px;
    }

    #header h1 {
        left: 10px;
        top: 16px;
        width: 99px;
        height: 30px;
    }

    #header h2 {
        right: 76px;
        font-size: 12px;
    }

    #header .btn-nav {
        width: 60px;
    }

    #header .btn-nav > span {
        width: 23px;
        height: 1px;
        margin: 0 0 0 -11px;
    }

    #header .btn-nav > span:nth-child(1) {
        top: 26px;
    }

    #header .btn-nav > span:nth-child(2) {
        top: 30px;
    }

    #header .btn-nav > span:nth-child(3) {
        top: 34px;
    }
}

#header.theme-orange h1 {
    background-image: url("../images/ci-orange.svg");
}

#header.theme-orange h2 {
    color: #ff5d31;
}

#header.theme-orange .btn-nav {
    background-color: #ff5d31;
}

#header.theme-green h1 {
    background-image: url("../images/ci-green.svg");
}

#header.theme-green h2 {
    color: #0c6468;
}

#header.theme-green .btn-nav {
    background-color: #0c6468;
}

#footer {
    position: relative;
    border-top: 1px solid;
    padding: 3.125vw 0;
}

#footer .share {
    position: absolute;
    right: 5.5208333333vw;
    top: 3.90625vw;
    font-size: 0;
}

#footer .share a {
    position: relative;
    text-indent: -9999px;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    display: inline-block;
    width: 1.875vw;
    height: 1.875vw;
    margin-left: 2.03125vw;
    background-size: contain;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

#footer .btns {
    position: absolute;
    right: 0.0520833333vw;
    top: 6.9270833333vw;
    font-size: 0;
}

#footer .btns > a {
    display: inline-block;
    height: 2.6041666667vw;
    padding: 0 2.1354166667vw 0 2.3958333333vw;
    border-radius: 1.3020833333vw;
    font-size: 0.8333333333vw;
    line-height: 2.6041666667vw;
    font-weight: 600;
    -color: #cae8da;
    letter-spacing: -0.025em;
}

#footer .btns > a svg {
    display: inline-block;
    width: 0.625vw;
    height: 0.8854166667vw;
    margin-left: 0.3125vw;
    vertical-align: middle;
}

#footer .btns > a svg path {
    stroke: currentColor;
}

#footer .btns > a + a {
    margin-left: 5px;
}

#footer .links {
    position: absolute;
    right: 0.1041666667vw;
    top: 12.3958333333vw;
    text-align: right;
    font-size: 0;
}

#footer .links a {
    display: inline-block;
    font-size: 0.8333333333vw;
    line-height: 1.875;
    letter-spacing: 0;
}

#footer address {
    margin-top: 0.46875vw;
    font-size: 0.9375vw;
    letter-spacing: 0;
}

#footer .btn-mail {
    font-size: 2.0833333333vw;
    letter-spacing: 0;
}

#footer .copyright {
    padding-top: 5.2083333333vw;
    margin-top: 4.8958333333vw;
    font-size: 0.9375vw;
    background-size: 13.4375vw auto;
    background-position: 0 0;
    background-repeat: no-repeat;
    letter-spacing: 0;
}

#footer .btn-top {
    position: relative;
    text-indent: -9999px;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    position: absolute;
    right: 0.0520833333vw;
    top: 3.90625vw;
    width: 1.875vw;
    height: 1.875vw;
}

#footer .btn-top:after {
    content: "";
    position: absolute;
    left: 50%;
    width: 1.4583333333vw;
    height: 1.875vw;
    margin-left: -0.7291666667vw;
    background-size: contain;
    background-repeat: no-repeat;
}

@media (max-width: 767px) {
    #footer {
        padding: 30px 0;
        text-align: center;
    }

    #footer .share {
        position: static;
        margin: 0 auto;
    }

    #footer .share a {
        width: 20px;
        height: 20px;
        margin: 0 11px;
    }

    #footer .btns {
        position: static;
        margin: 25px auto 0;
    }

    #footer .btns > a {
        display: block;
        max-width: 262px;
        margin: 5px auto;
        height: 47px;
        border-radius: 24px;
        padding: 0 17px 0 30px;
        font-size: 16px;
        line-height: 47px;
        box-sizing: border-box;
    }

    #footer .btns > a svg {
        display: inline-block;
        width: 12px;
        height: 17px;
        margin-left: 6px;
        vertical-align: middle;
    }

    #footer .btns > a svg path {
        stroke: currentColor;
    }

    #footer .btns > a + a {
        margin-left: auto;
    }

    #footer .links {
        position: static;
        text-align: center;
        margin-top: 31px;
    }

    #footer .links a {
        font-size: 10px;
        line-height: 20px;
    }

    #footer address {
        margin-top: -4px;
        font-size: 10px;
    }

    #footer .btn-mail {
        margin-top: -7px;
        font-size: 16px;
    }

    #footer .copyright {
        padding-top: 57px;
        margin-top: 32px;
        font-size: 10px;
        background-size: 157px auto;
        background-position: 50% 0;
    }

    #footer .btn-top {
        top: 30px;
        width: 20px;
        height: 20px;
    }

    #footer .btn-top:after {
        width: 14px;
        height: 20px;
        margin-left: -7px;
    }
}

#footer.theme-orange {
    border-color: #ff5d31;
}

#footer.theme-orange .share a.instagram {
    background-image: url("../images/sns-instagram-orange.svg");
}

#footer.theme-orange .share a.facebook {
    background-image: url("../images/sns-facebook-orange.svg");
}

#footer.theme-orange .share a.twitter {
    background-image: url("../images/sns-twitter-orange.svg");
}

#footer.theme-orange .share a.linkedin {
    background-image: url("../images/sns-linkedin-orange.svg");
}

#footer.theme-orange .btns a {
    background-color: #ff5d31;
}

#footer.theme-orange .copyright {
    background-image: url("../images/ci-orange.svg");
}

#footer.theme-orange .btn-top:after {
    background-image: url("../images/top-orange.png");
}

#footer.theme-green {
    border-color: #0c6468;
}

#footer.theme-green .share a.instagram {
    background-image: url("../images/sns-instagram-green.svg");
}

#footer.theme-green .share a.facebook {
    background-image: url("../images/sns-facebook-green.svg");
}

#footer.theme-green .share a.twitter {
    background-image: url("../images/sns-twitter-green.svg");
}

#footer.theme-green .share a.linkedin {
    background-image: url("../images/sns-linkedin-green.svg");
}

#footer.theme-green .btns a {
    background-color: #0c6468;
}

#footer.theme-green .copyright {
    background-image: url("../images/ci-green.svg");
}

#footer.theme-green .btn-top:after {
    background-image: url("../images/top-green.png");
}

#navi {
    display: flex;
    flex-direction: column;
    height: 100vh;
    box-sizing: border-box;
}

#navi a {
    color: #fff;
    font-weight: 600;
}

.hoverable #navi a:hover, #navi a.current {
    color: #ff5d31;
}

#navi dl {
    position: relative;
    flex: 1;
    padding-left: 50%;
}

#navi dl a,
#navi dl span {
    display: block;
}

#navi dl a {
    overflow: hidden;
    transition: color 0.3s;
}

#navi dl dt {
    position: absolute;
    right: 50%;
    top: 50%;
    width: 20.0520833333vw;
    text-transform: uppercase;
    transform: translateY(-50%);
    font-size: 2.0833333333vw;
}

#navi dl dd {
    display: flex;
    height: 100%;
    max-width: 20.0520833333vw;
    padding-left: 1.3020833333vw;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

#navi dl dd a {
    font-size: 1.1458333333vw;
    line-height: 1.8181818182;
}

#navi .btn-home-wrap {
    position: fixed;
    left: 0;
    top: 0;
    width: 9.375vw;
    height: 9.375vw;
    z-index: 1;
}

#navi .btn-home {
    position: relative;
    text-indent: -9999px;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    position: absolute;
    left: 1.40625vw;
    top: -1.5625vw;
    display: block;
    width: 9.375vw;
    height: 9.375vw;
    border-radius: 100%;
    background-color: #ff5d31;
    z-index: 1;
}

#navi .btn-home:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 7.5520833333vw;
    height: 2.4875vw;
    background: url("../images/ci-white.svg") 50% 50%/100% auto no-repeat;
    transform-origin: 50% 50%;
    transform: translate(-50%, -50%) rotate(-15deg);
}

@media (max-width: 767px) {
    #navi {
        display: block;
        padding-top: 100px;
    }

    #navi dl {
        padding: 35px 0 34px;
        text-align: center;
    }

    #navi dl dt {
        position: static;
        width: 100%;
        transform: none;
        font-size: 28px;
        padding-bottom: 13px;
    }

    #navi dl dd {
        position: static;
        max-width: 100%;
        padding: 0;
    }

    #navi dl dd a {
        font-size: 17px;
        line-height: 33px;
    }

    #navi .btn-home-wrap {
        width: 105px;
        height: 105px;
    }

    #navi .btn-home {
        left: 6px;
        top: -12px;
        width: 105px;
        height: 105px;
    }

    #navi .btn-home:after {
        width: 88px;
        height: 26px;
    }
}

[class^=visualset-] {
    position: relative;
    padding: 8.6458333333vw 0 3.28125vw;
}

[class^=visualset-]:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    max-width: 51.5625vw;
    width: 100%;
    height: 0.2604166667vw;
    background-color: #ff5d31;
}

[class^=visualset-] h3 {
    font-size: 7.0833333333vw;
    line-height: 1.1764705882;
    font-weight: 700;
    text-transform: uppercase;
    word-break: break-word;
}

[class^=visualset-] h3.title-page {
    margin-top: 1.1458333333vw;
}

[class^=visualset-] strong {
    display: block;
    margin-top: 3.5416666667vw;
    margin-right: auto;
    font-size: 4.1666666667vw;
    line-height: 1.125;
    font-weight: 600;
}

[class^=visualset-] p {
    max-width: 60.4583333333vw;
    width: 100%;
    margin-right: auto;
    font-size: 2.0833333333vw;
    line-height: 1.5;
    text-indent: 5.3125vw;
    font-weight: 600;
}

[class^=visualset-] h3 + p {
    margin-top: 16.1979166667vw;
}

[class^=visualset-] strong + p {
    margin-top: 8.2291666667vw;
}

[class^=visualset-] figure {
    position: absolute;
    z-index: -1;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

@media (max-width: 767px) {
    [class^=visualset-] {
        padding: 51px 0 38px;
    }

    [class^=visualset-]:after {
        max-width: 100%;
        height: 2px;
    }

    [class^=visualset-] h3 {
        font-size: 39px;
        line-height: 46px;
    }

    [class^=visualset-] h3.title-page {
        margin-top: 8px;
    }

    [class^=visualset-] strong {
        margin-top: 68px;
        font-size: 28px;
        line-height: 32px;
    }

    [class^=visualset-] p {
        max-width: 100%;
        font-size: 18px;
        line-height: 28px;
        text-indent: 46px;
    }

    [class^=visualset-] h3 + p {
        margin-top: 71px;
    }

    [class^=visualset-] strong + p {
        margin-top: 45px;
    }
}

.modal-full-wrap.navi-wrap {
    display: block;
    transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-property: visibility, opacity;
}

html:not(.menu-open) .modal-full-wrap.navi-wrap {
    visibility: hidden;
    opacity: 0;
}

.modal-full-wrap.navi-wrap dl span {
    transform: translate3d(0, 3.90625vw, 0);
    transition: 0.001s 0.3s;
    transition-property: transform;
}

.modal-full-wrap.navi-wrap dl + dl {
    border-top: 1px solid rgba(255, 255, 255, 0);
}

.modal-full-wrap.navi-wrap .btn-home-wrap {
    transform: translate3d(0, -100%, 0) rotate(60deg);
    transition: transform 0.001s 0.3s;
}

.modal-full-wrap.navi-wrap .btn-close:before, .modal-full-wrap.navi-wrap .btn-close:after {
    transform: none;
    transition: transform 0.2s cubic-bezier(0.19, 1, 0.22, 1);
}

html.menu-open .modal-full-wrap.navi-wrap .btn-home-wrap {
    transform: translate3d(0, 0, 0);
    transition: transform 0.7s cubic-bezier(0.19, 1, 0.2, 1.05);
}

html.menu-open .modal-full-wrap.navi-wrap dl + dl {
    border-top-color: #fff;
    transition: border-top-color 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

html.menu-open .modal-full-wrap.navi-wrap dl span {
    transform: translate3d(0, 0, 0);
    transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
}

html.menu-open .modal-full-wrap.navi-wrap dl dd a:nth-child(1) span {
    transition-delay: 0.03s;
}

html.menu-open .modal-full-wrap.navi-wrap dl dd a:nth-child(2) span {
    transition-delay: 0.06s;
}

html.menu-open .modal-full-wrap.navi-wrap dl dd a:nth-child(3) span {
    transition-delay: 0.09s;
}

html.menu-open .modal-full-wrap.navi-wrap dl dd a:nth-child(4) span {
    transition-delay: 0.12s;
}

html.menu-open .modal-full-wrap.navi-wrap .btn-close:before, html.menu-open .modal-full-wrap.navi-wrap .btn-close:after {
    transition: transform 0.7s cubic-bezier(0.455, 0.03, 0, 1);
}

html.menu-open .modal-full-wrap.navi-wrap .btn-close:before {
    transform: rotate(45deg);
}

html.menu-open .modal-full-wrap.navi-wrap .btn-close:after {
    transform: rotate(-45deg);
}

@media (min-width: 768px) {
    .modal-full-wrap.navi-wrap {
        overflow: hidden;
    }
}

.dimmed {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s, visibility 0.5s;
}

.dimmed.show {
    opacity: 1;
    visibility: visible;
}

.modal-scroller {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0);
    overflow: scroll;
    overflow-x: hidden;
    z-index: 101;
    transition: background-color 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

.modal-scroller .modal-scroller-closer {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    overflow: hidden;
}

.modal-scroller .modal-full-wrap {
    position: absolute;
    bottom: auto;
    min-height: 100%;
    box-sizing: border-box;
    display: block;
    overflow: visible;
    z-index: auto;
}

.modal-scroller .modal-full-wrap > .btn-close {
    position: sticky;
    right: auto;
    margin: 0 0 -5.2083333333vw auto;
    display: block;
}

.modal-scroller .modal-wrap {
    position: relative;
    display: block;
    overflow: visible;
    transform: translateX(-50%);
    z-index: auto;
}

.modal-scroller.open {
    background: rgba(0, 0, 0, 0.2);
    transition-duration: 0.5s;
}

@media (max-width: 767px) {
    .modal-scroller .modal-full-wrap .btn-close {
        margin-bottom: -60px;
    }

    .modal-scroller .modal-wrap {
        transform: none;
    }

    .modal-scroller .modal-wrap .btn-close {
        display: none;
    }
}

.modal-full-wrap {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-color: #0c6468;
    color: #fff;
    z-index: 200;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    display: none;
}

.modal-full-wrap:not(.type-white) ::selection {
    background-color: #fff;
    color: #0c6468;
}

.modal-full-wrap a {
    color: #fff;
}

.modal-full-wrap .btn-close {
    position: relative;
    text-indent: -9999px;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    position: fixed;
    right: 0;
    top: 0;
    width: 5.2083333333vw;
    height: 5.2083333333vw;
    background-color: #fff;
    z-index: 1;
}

.modal-full-wrap .btn-close:before, .modal-full-wrap .btn-close:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 2.6041666667vw;
    height: 2px;
    margin-left: -1.3020833333vw;
    transform-origin: 50% 50%;
    background-color: #0c6468;
}

.modal-full-wrap .btn-close:before {
    transform: rotate(45deg);
}

.modal-full-wrap .btn-close:after {
    transform: rotate(-45deg);
}

.modal-full-wrap .modal-title {
    padding-bottom: 2.8645833333vw;
    font-size: 2.0833333333vw;
    line-height: 1;
    font-weight: 700;
    border-bottom: 1px solid #fff;
}

.modal-full-wrap .modal-contents {
    max-width: 55.7291666667vw;
    margin: 0 auto;
    padding: 7.03125vw 5.2083333333vw 6.25vw;
    box-sizing: border-box;
}

body > .modal-contents {
    display: none;
}

.modal-full-wrap.type-white {
    background-color: #fff;
}

.modal-full-wrap.type-white .modal-contents {
    padding-top: 0;
}

.modal-full-wrap.type-white .btn-close {
    background-color: #92d3b5;
}

.modal-full-wrap.type-white .btn-close:before, .modal-full-wrap.type-white .btn-close:after {
    background-color: #fff;
}

.modal-full-wrap.type-small {
    background: none;
    -pointer-events: none;
}

.modal-full-wrap.type-small .modal-wrap {
    pointer-events: auto;
}

.modal-full-wrap.type-small > .btn-close {
    display: none;
}

@media (max-width: 767px) {
    .modal-full-wrap .btn-close {
        width: 60px;
        height: 60px;
    }

    .modal-full-wrap .btn-close:before, .modal-full-wrap .btn-close:after {
        width: 26px;
        height: 1px;
        margin-left: -13px;
    }

    .modal-full-wrap .modal-title {
        padding-bottom: 28px;
        font-size: 28px;
        line-height: 36px;
    }

    .modal-full-wrap .modal-contents {
        max-width: 100%;
        padding: 97px 26px 100px;
    }

    .modal-full-wrap.type-small > .btn-close {
        display: block;
    }
}

.modal-wrap {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #0c6468;
    color: #fff;
    z-index: 200;
    overflow-x: hidden;
    overflow-y: auto;
    display: none;
}

.modal-wrap ::selection {
    background-color: #fff;
    color: #0c6468;
}

.modal-wrap a {
    color: #fff;
}

.modal-wrap .btn-close {
    position: relative;
    text-indent: -9999px;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    width: 2.9166666667vw;
    height: 2.9166666667vw;
    background-color: #fff;
}

.modal-wrap .btn-close:before, .modal-wrap .btn-close:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 1.4583333333vw;
    height: 2px;
    margin-left: -0.7291666667vw;
    transform-origin: 50% 50%;
    background-color: #0c6468;
}

.modal-wrap .btn-close:before {
    transform: rotate(45deg);
}

.modal-wrap .btn-close:after {
    transform: rotate(-45deg);
}

.modal-wrap .modal-title {
    padding-bottom: 2.8645833333vw;
    font-size: 2.0833333333vw;
    line-height: 1;
    font-weight: 700;
    border-bottom: 1px solid #fff;
}

.modal-wrap .modal-contents {
    max-width: 55.7291666667vw;
    margin: 0 auto;
    padding: 2.9166666667vw 3.75vw 2.0833333333vw;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    .modal-wrap {
        width: 100% !important;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        transform: none;
    }

    .modal-wrap .btn-close {
        width: 60px;
        height: 60px;
    }

    .modal-wrap .btn-close:before, .modal-wrap .btn-close:after {
        width: 26px;
        height: 1px;
        margin-left: -13px;
    }

    .modal-wrap .modal-title {
        padding-bottom: 28px;
        font-size: 28px;
        line-height: 36px;
    }

    .modal-wrap .modal-contents {
        max-width: 100%;
        padding: 97px 26px 100px;
    }
}

.title-page {
    font-size: 4.1666666667vw !important;
    line-height: 1 !important;
    font-weight: 700;
    text-transform: uppercase;
}

@media (max-width: 767px) {
    .title-page {
        font-size: 28px !important;
    }
}

.title-sub {
    font-size: 2.5vw;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

@media (max-width: 767px) {
    .title-sub {
        font-size: 22px;
    }
}

.title-in {
    font-size: 2.5vw;
    line-height: 1;
    font-weight: 700;
}

@media (max-width: 767px) {
    .title-in {
        font-size: 22px;
    }
}

.loading {
    margin: 7.8125vw 0;
    height: 3.125vw;
}

.loading:before {
    width: 3.125vw;
    height: 3.125vw;
    content: "Loading...";
    text-indent: -999em;
    margin: 0 auto;
    display: block;
    background: url("../images/loading.png") 50% 50%/contain no-repeat;
    overflow: hidden;
}

.loading.active:before {
    animation: loading-spin 0.9s steps(12) infinite;
}

@media (max-width: 767px) {
    .loading {
        margin: 75px 0 15px;
        height: 30px;
    }

    .loading:before {
        width: 30px;
        height: 30px;
    }
}

@keyframes loading-spin {
    100% {
        transform: rotateZ(360deg);
    }
}

[class^=sticker-] {
    position: absolute;
    display: block;
    width: 9.84375vw;
    height: 9.84375vw;
    border-radius: 100%;
    text-align: center;
    z-index: 5;
}

[class^=sticker-] > span {
    position: absolute;
    left: 50%;
    top: 50%;
    color: #fff;
    font-size: 1.5625vw;
    font-weight: 700;
    line-height: 1;
    transform-origin: 50% 50%;
    transform: translate(-50%, -50%) rotate(-15deg);
    text-transform: uppercase;
    pointer-events: none;
}

.hoverable [class^=sticker-]:hover {
    transform: scale(1.2);
}

@media (max-width: 767px) {
    [class^=sticker-] {
        width: 96px;
        height: 96px;
    }

    [class^=sticker-] > span {
        font-size: 16px;
    }
}

.sticker-yellowgreen {
    background-color: #b9cc00;
}

.sticker-orange {
    background-color: #ff5d31;
}

.search-wrap fieldset {
    position: relative;
}

.search-wrap .search {
    display: block;
    width: 18.75vw;
    height: 2.7604166667vw;
    padding: 0 3.8020833333vw 0 1.1458333333vw;
    margin-left: auto;
    border-radius: 1.40625vw;
    background-color: rgba(255, 255, 255, 0.5);
    color: #0c6468;
    font-size: 1.25vw;
    box-sizing: border-box;
}

.search-wrap .btn-search {
    position: relative;
    text-indent: -9999px;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    position: absolute;
    right: 0.5208333333vw;
    top: 0;
    height: 100%;
    width: 2.7604166667vw;
    background: url("../images/icon-search.png") 50% 50%/1.5625vw no-repeat;
}

@media (max-width: 767px) {
    .search-wrap fieldset {
        width: 214px;
        height: 36px;
        padding: 0 42px 0 18px;
        margin: 0 auto;
        box-sizing: border-box;
        border-radius: 18px;
        background-color: rgba(255, 255, 255, 0.5);
    }

    .search-wrap .search {
        width: 100%;
        height: 100%;
        padding: 0;
        font-size: 16px;
        background-color: transparent;
    }

    .search-wrap .btn-search {
        right: 4px;
        width: 36px;
        background-size: 15px 15px;
    }
}

[class^=btnset-] {
    display: inline-block;
    min-width: 13.3854166667vw;
    height: 3.3333333333vw;
    line-height: 3.2291666667vw;
    padding: 0 2.0833333333vw;
    margin: 0 auto;
    border: 1px solid #000;
    border-radius: 3.3333333333vw;
    font-size: 1.0416666667vw;
    box-sizing: border-box;
    text-transform: uppercase;
}

@media (max-width: 767px) {
    [class^=btnset-] {
        min-width: 130px;
        padding: 0 17px;
        height: 36px;
        font-size: 11px;
        line-height: 34px;
        border-radius: 18px;
    }
}

.btn-arrow-green {
    display: inline-block;
    font-size: 1.0416666667vw;
    min-width: 28.5416666667vw;
    height: 3.75vw;
    text-transform: uppercase;
    margin: 0 auto;
    text-align: center;
    border: 1px solid #0c6468;
    border-radius: 3.75vw;
    box-sizing: border-box;
}

.btn-arrow-green > span {
    position: relative;
    display: block;
    line-height: 3.6458333333vw;
    padding: 0 2.1875vw;
    text-align: left;
}

.btn-arrow-green > span:after {
    content: "";
    position: absolute;
    right: 1.9791666667vw;
    top: 50%;
    display: inline-block;
    width: 1.6145833333vw;
    height: 1.25vw;
    margin-top: -0.625vw;
    background: url("../images/arrow-green.svg") right 50%/auto 1.25vw no-repeat;
}

.hoverable .btn-arrow-green:hover span:after {
    transform: translate3d(0.2604166667vw, 0, 0);
}

html.ie.hoverable .btn-arrow-green:hover span:after {
    transform: translate3d(5px, 0, 0);
}

@media (max-width: 767px) {
    .btn-arrow-green {
        display: block;
        font-size: 11px;
        min-width: auto;
        width: 290px;
        height: 36px;
        border-radius: 35px;
    }

    .btn-arrow-green > span {
        line-height: 34px;
        padding: 0 35px 0 14px;
    }

    .btn-arrow-green > span:after {
        right: 14px;
        width: 15px;
        height: 12px;
        background-size: auto 12px;
        margin-top: -6px;
    }
}

.btn-membership {
    display: inline-block;
    font-size: 1.0416666667vw;
    min-width: 28.5416666667vw;
    height: 3.75vw;
    text-transform: uppercase;
    margin: 0 auto;
    text-align: center;
    border: 1px solid #ff5d31;
    border-radius: 3.75vw;
    box-sizing: border-box;
}

.btn-membership > span {
    position: relative;
    display: block;
    line-height: 3.6458333333vw;
    padding: 0 2.1875vw;
    text-align: left;
}

.btn-membership > span:after {
    content: "";
    position: absolute;
    right: 1.9791666667vw;
    top: 50%;
    display: inline-block;
    width: 1.6145833333vw;
    height: 1.25vw;
    margin-top: -0.625vw;
    background: url("../images/arrow-orange.svg") right 50%/auto 1.25vw no-repeat;
}

.hoverable .btn-membership:hover span:after {
    transform: translate3d(0.2604166667vw, 0, 0);
}

html.ie.hoverable .btn-membership:hover span:after {
    transform: translate3d(5px, 0, 0);
}

@media (max-width: 767px) {
    .btn-membership {
        display: block;
        font-size: 11px;
        min-width: auto;
        width: 290px;
        height: 36px;
        border-radius: 35px;
    }

    .btn-membership > span {
        line-height: 34px;
        padding: 0 35px 0 14px;
    }

    .btn-membership > span:after {
        right: 14px;
        width: 15px;
        height: 12px;
        background-size: auto 12px;
        margin-top: -6px;
    }
}

.change-hub {
    text-align: center;
    margin-top: 2.6041666667vw;
    padding-right: 11.4583333333vw;
}

.change-hub:before {
    content: "";
    display: block;
    margin: 0 auto;
    width: 16.7708333333vw;
    height: 4.375vw;
    background: url("../images/hub.png") 50% 0/16.7708333333vw auto no-repeat;
}

.change-hub p {
    font-size: 1.0416666667vw;
    line-height: 1.3;
    font-weight: 500;
    padding-bottom: 1.3541666667vw;
}

@media (max-width: 767px) {
    .change-hub {
        margin-top: 30px;
        padding-right: 0;
    }

    .change-hub:before {
        width: 166px;
        height: 43px;
        background-size: 166px auto;
    }

    .change-hub p {
        font-size: 11px;
        padding-bottom: 13px;
    }
}

.btn-area {
    text-align: center;
    margin-top: 2.6041666667vw;
    font-size: 0;
}

@media (max-width: 767px) {
    .btn-area {
        margin-top: 30px;
    }
}

.btnarea-multi {
    max-width: 61.4583333333vw;
    text-align: center;
    margin-top: 1.3541666667vw;
    margin-left: 0;
    font-size: 0;
}

.btnarea-multi > span {
    display: block;
}

.btnarea-multi span + span {
    margin-top: 1.1458333333vw;
}

@media (max-width: 767px) {
    .btnarea-multi {
        max-width: 100%;
        margin-top: 30px;
        margin-left: 0;
    }

    .btnarea-multi span + span {
        margin-top: 12px;
    }
}

[class^=simbol-wave-] {
    position: absolute;
    left: 0;
    top: 0;
    width: 30.5208333333vw;
    height: 30.5208333333vw;
    z-index: -1;
    pointer-events: none;
}

[class^=simbol-wave-] b {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    border-radius: 100%;
    border: 2px solid #fff;
    box-sizing: border-box;
    transform: translate(-50%, -50%);
}

[class^=simbol-wave-] b:nth-child(1) {
    width: 6.09375vw;
    height: 6.09375vw;
}

[class^=simbol-wave-] b:nth-child(2) {
    width: 18.0729166667vw;
    height: 18.0729166667vw;
}

[class^=simbol-wave-] b:nth-child(3) {
    width: 30.5208333333vw;
    height: 30.5208333333vw;
}

@media (max-width: 767px) {
    [class^=simbol-wave-] b {
        border-width: 1px;
    }
}

@media (max-width: 767px) {
    .simbol-wave-m144 {
        width: 144px;
        height: 144px;
    }

    .simbol-wave-m144 b:nth-child(1) {
        width: 28px;
        height: 28px;
    }

    .simbol-wave-m144 b:nth-child(2) {
        width: 88px;
        height: 88px;
    }

    .simbol-wave-m144 b:nth-child(3) {
        width: 144px;
        height: 144px;
    }
}

@media (max-width: 767px) {
    .simbol-wave-m158 {
        width: 158px;
        height: 158px;
    }

    .simbol-wave-m158 b:nth-child(1) {
        width: 33px;
        height: 33px;
    }

    .simbol-wave-m158 b:nth-child(2) {
        width: 94px;
        height: 94px;
    }

    .simbol-wave-m158 b:nth-child(3) {
        width: 158px;
        height: 158px;
    }
}

@media (max-width: 767px) {
    .simbol-wave-m219 {
        width: 219px;
        height: 219px;
    }

    .simbol-wave-m219 b:nth-child(1) {
        width: 43px;
        height: 43px;
    }

    .simbol-wave-m219 b:nth-child(2) {
        width: 129px;
        height: 129px;
    }

    .simbol-wave-m219 b:nth-child(3) {
        width: 219px;
        height: 219px;
    }
}

[class^=simbol-ring-] {
    position: absolute;
    top: 0;
    width: 20.8854166667vw;
    height: 34.7395833333vw;
    z-index: -1;
    pointer-events: none;
    transform: rotate(45deg);
    transform-origin: 50% 0;
    margin: 3.0729166667vw -7.3958333333vw 0 0;
}

[class^=simbol-ring-] b {
    display: block;
    position: absolute;
    border-radius: 100%;
    width: 20.8854166667vw;
    height: 20.8854166667vw;
    border: 1px solid #fff;
    box-sizing: border-box;
}

[class^=simbol-ring-] b:nth-child(1) {
    top: 0;
}

[class^=simbol-ring-] b:nth-child(2) {
    top: 6.9270833333vw;
}

[class^=simbol-ring-] b:nth-child(3) {
    top: 13.8541666667vw;
}

@media (max-width: 767px) {
    .simbol-ring-130 {
        width: 130px;
        height: 216px;
        margin: 19px -46px 0 0;
    }

    .simbol-ring-130 b {
        width: 130px;
        height: 130px;
    }

    .simbol-ring-130 b:nth-child(1) {
        top: 0;
    }

    .simbol-ring-130 b:nth-child(2) {
        top: 42px;
    }

    .simbol-ring-130 b:nth-child(3) {
        top: 84px;
    }
}

@media (max-width: 767px) {
    .simbol-ring-120 {
        width: 120px;
        height: 200px;
        margin: 18px -42px 0 0;
    }

    .simbol-ring-120 b {
        width: 120px;
        height: 120px;
    }

    .simbol-ring-120 b:nth-child(1) {
        top: 0;
    }

    .simbol-ring-120 b:nth-child(2) {
        top: 39px;
    }

    .simbol-ring-120 b:nth-child(3) {
        top: 78px;
    }
}

.simbol-rect {
    position: absolute;
    bottom: 0;
    width: 30.7291666667vw;
    height: 30.7291666667vw;
    z-index: -1;
    pointer-events: none;
}

.simbol-rect b {
    display: block;
    position: absolute;
    right: 0;
    width: 20.9895833333vw;
    height: 20.9895833333vw;
    border: 2px solid #fff;
    box-sizing: border-box;
}

.simbol-rect b:nth-child(1) {
    top: 0;
}

.simbol-rect b:nth-child(2) {
    top: 4.84375vw;
    right: 4.84375vw;
}

.simbol-rect b:nth-child(3) {
    top: 9.6875vw;
    right: 9.6875vw;
}

@media (max-width: 767px) {
    .simbol-rect {
        width: 226px;
        height: 226px;
    }

    .simbol-rect b {
        width: 154px;
        height: 154px;
        border-width: 1px;
    }

    .simbol-rect b:nth-child(1) {
        top: 0;
    }

    .simbol-rect b:nth-child(2) {
        top: 36px;
        right: 36px;
    }

    .simbol-rect b:nth-child(3) {
        top: 72px;
        right: 72px;
    }
}

[class^=sec-full-] {
    position: relative;
    max-width: 56.25vw;
    margin-top: 8.3854166667vw;
}

[class^=sec-full-] figure {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 100vw;
    margin-left: -47.3958333333vw;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

@media (max-width: 767px) {
    [class^=sec-full-] {
        width: calc(100% + 52px);
        max-width: calc(100% + 52px);
        margin: 37px -26px 0;
    }

    [class^=sec-full-] figure {
        left: 0;
        width: 100%;
        margin-left: 0;
    }
}

.modal-newsletter {
    width: 25vw;
}

@media (max-width: 767px) {
    .modal-newsletter {
        height: 100vh;
    }

    .modal-newsletter .modal-contents {
        background: #0c6468;
    }
}

.modal-landing {
    width: 24.7916666667vw;
    background-color: #eaf0b3;
    color: #0c6468;
}

@media (max-width: 767px) {
    .modal-landing {
        height: 100vh;
    }

    .modal-landing .modal-contents {
        background: #eaf0b3;
    }
}

.sec-landing {
    margin-top: -1.6666666667vw;
}

.sec-landing dt {
    display: block;
    padding-bottom: 0.35vw;
    text-align: center;
}

.sec-landing dt img {
    display: block;
    width: 100%;
    margin: 0 auto;
}

.sec-landing dd {
    text-align: center;
    padding-top: 0.8333333333vw;
}

.sec-landing dd > strong {
    display: block;
    font-size: 1.3541666667vw;
    line-height: 1.1538;
    font-weight: 700;
    text-transform: uppercase;
}

.sec-landing dd > a.button {
    display: block;
    width: 100%;
    height: 2.7083333333vw;
    border-radius: 1.3541666667vw;
    margin-top: 0.78125vw;
    background-color: #ff5d31;
    color: #fff;
    font-size: 1.0416666667vw;
    font-weight: 600;
    line-height: 2.6683333333vw;
}

.sec-landing dd + dd {
    border-top: 1px solid #d3e2ab;
    margin-top: 1.0416666667vw;
}

@media (max-width: 767px) {
    .sec-landing {
        margin-top: -50px;
        padding: 0;
    }

    .sec-landing dt {
        padding-bottom: 10px;
    }

    .sec-landing dt img {
        max-width: 338px;
    }

    .sec-landing dd {
        padding-top: 16px;
    }

    .sec-landing dd > strong {
        font-size: 22px;
    }

    .sec-landing dd > a.button {
        height: 50px;
        font-size: 18px;
        margin-top: 16px;
        border-radius: 25px;
        line-height: 50px;
    }

    .sec-landing dd + dd {
        margin-top: 20px;
    }
}

.sec-newsletter #mc_embed_signup .indicates-required {
    display: none;
}

.sec-newsletter #mc_embed_signup .asterisk {
    display: none;
}

.sec-newsletter #mc_embed_signup h2 {
    padding: 0.5729166667vw 0 1.8229166667vw;
    margin: 0 -0.2604166667vw;
    font-size: 1.4583333333vw;
    line-height: 1.1428571429;
    font-weight: 700;
    text-align: center;
}

.sec-newsletter #mc_embed_signup .mc-field-group {
    position: relative;
    font-size: 0;
    padding-bottom: 1.3020833333vw;
}

.sec-newsletter #mc_embed_signup label {
    display: block;
    padding-bottom: 0.46875vw;
    font-size: 0.78125vw;
    line-height: 2.1333333333;
    font-weight: 600;
    color: #92d3b5;
}

.sec-newsletter #mc_embed_signup input[type=text], .sec-newsletter #mc_embed_signup input[type=email], .sec-newsletter #mc_embed_signup select {
    width: 100%;
    height: 1.6666666667vw;
    border-bottom: 1px solid #fff;
    font-size: 0.9375vw;
    color: #fff;
    text-indent: 0.5208333333vw;
    padding-bottom: 0.3645833333vw;
    caret-color: #fff;
}

.sec-newsletter #mc_embed_signup input[type=text].mce_inline_error, .sec-newsletter #mc_embed_signup input[type=email].mce_inline_error, .sec-newsletter #mc_embed_signup select.mce_inline_error {
    border-color: #ff5d31;
}

.sec-newsletter #mc_embed_signup select {
    margin-top: 0.2604166667vw;
    background: url("../images/select.png") 100% 0/1.0416666667vw 0.5208333333vw no-repeat;
}

.sec-newsletter #mc_embed_signup option {
    color: #0c6468;
}

.sec-newsletter #mc_embed_signup option:hover {
    background-color: #0c6468;
    color: #fff;
}

.sec-newsletter #mc_embed_signup div.mce_inline_error {
    position: absolute;
    left: 0.5208333333vw;
    bottom: 0.2604166667vw;
    background-color: transparent;
    color: #ff5d31;
    font-size: 0.625vw;
    padding: 0;
    margin: 0;
    letter-spacing: 0;
}

.sec-newsletter #mc_embed_signup .button {
    width: 100%;
    height: 2.7083333333vw;
    border-radius: 1.3541666667vw;
    margin-top: 0.5729166667vw;
    background-color: #ff5d31;
    color: #fff;
    font-size: 1.0416666667vw;
    font-weight: 600;
}

.sec-newsletter .dont-show-again {
    text-align: center;
    margin-bottom: -1.3020833333vw;
}

.sec-newsletter .dont-show-again input {
    position: absolute;
    left: -999em;
}

.sec-newsletter .dont-show-again label {
    position: relative;
    font-size: 0.625vw;
    font-weight: 600;
    color: #92d3b5;
    line-height: 0.6770833333vw;
    padding-left: 1.0416666667vw;
    display: inline-block;
    cursor: pointer;
}

.sec-newsletter .dont-show-again label:before, .sec-newsletter .dont-show-again label:after {
    position: absolute;
    left: 0;
    top: 0;
    width: 0.6770833333vw;
    height: 0.6770833333vw;
    content: "";
    border-radius: 0.0520833333vw;
    background: #ff5200;
}

.sec-newsletter .dont-show-again label:after {
    background: url("../images/icon-check.png") no-repeat 0 0/auto 100%;
    transition: width 0.2s;
}

.sec-newsletter .dont-show-again input:not(:checked) + label:after {
    width: 0;
}

@media (max-width: 767px) {
    .sec-newsletter #mc_embed_signup h2 {
        padding: 0 0 32px;
        margin: 0;
        font-size: 25px;
        line-height: 28px;
    }

    .sec-newsletter #mc_embed_signup .mc-field-group {
        padding-bottom: 24px;
    }

    .sec-newsletter #mc_embed_signup label {
        font-size: 14px;
        padding-bottom: 7px;
    }

    .sec-newsletter #mc_embed_signup input[type=text], .sec-newsletter #mc_embed_signup input[type=email], .sec-newsletter #mc_embed_signup select {
        height: 29px;
        font-size: 15px;
        padding-bottom: 5px;
    }

    .sec-newsletter #mc_embed_signup select {
        margin-top: 3px;
        background-size: 20px 10px;
    }

    .sec-newsletter #mc_embed_signup .button {
        height: 50px;
        font-size: 18px;
        margin-top: 24px;
        border-radius: 25px;
    }

    .sec-newsletter .dont-show-again {
        margin-bottom: -25px;
    }

    .sec-newsletter .dont-show-again label {
        font-size: 12px;
        line-height: 13px;
        padding-left: 20px;
    }

    .sec-newsletter .dont-show-again label:before, .sec-newsletter .dont-show-again label:after {
        width: 13px;
        height: 13px;
        border-radius: 1px;
    }
}

.sec-policy {
    padding-top: 1.6666666667vw;
    font-size: 1.0416666667vw;
    line-height: 1.6;
}

.sec-policy .ver {
    text-align: right;
}

.sec-policy .pragragh strong {
    font-weight: 700;
}

.sec-policy .pragragh h6 {
    padding-bottom: 1.875vw;
    font-size: 1.3541666667vw;
    font-weight: 700;
}

.sec-policy .pragragh + .pragragh {
    margin-top: 3.0208333333vw;
}

.sec-policy .pragragh ol, .sec-policy .pragragh ul {
    margin-top: 0.78125vw;
}

.sec-policy .pragragh ol li, .sec-policy .pragragh ul li {
    position: relative;
    padding-left: 50px;
}

.sec-policy .pragragh ul + p {
    margin-top: 0.78125vw;
}

.sec-policy .pragragh ul li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.625vw;
    width: 0.4166666667vw;
    height: 0.4166666667vw;
    background-color: #fff;
}

.sec-policy .pragragh ol {
    counter-reset: num;
}

.sec-policy .pragragh ol li {
    counter-increment: num;
}

.sec-policy .pragragh ol li:before {
    content: counter(num) ".";
    position: absolute;
    left: 0;
    top: 0;
}

.hoverable .sec-policy .pragragh a:hover {
    text-decoration: underline;
}

@media (max-width: 767px) {
    .sec-policy {
        padding-top: 20px;
        font-size: 13px;
        line-height: 20px;
    }

    .sec-policy .pragragh h6 {
        padding-bottom: 14px;
        font-size: 17px;
        line-height: 23px;
    }

    .sec-policy .pragragh + .pragragh {
        margin-top: 39px;
    }

    .sec-policy .pragragh ol, .sec-policy .pragragh ul {
        margin-top: 11px;
    }

    .sec-policy .pragragh ol li, .sec-policy .pragragh ul li {
        padding-left: 25px;
    }

    .sec-policy .pragragh ul + p {
        margin-top: 11px;
    }

    .sec-policy .pragragh ul li:before {
        top: 9px;
        width: 5px;
        height: 5px;
    }
}

.sec-financials li {
    position: relative;
    padding-right: 9.1145833333vw;
    font-size: 1.25vw;
    line-height: 1.3333333333;
}

.sec-financials li em {
    display: flex;
    min-height: 6.71875vw;
    height: 100%;
    padding: 1.8229166667vw 0;
    align-items: center;
    box-sizing: border-box;
}

.sec-financials li .btn-pdf {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 7.3958333333vw;
    height: 2.5vw;
    border: 1px solid #fff;
    border-radius: 1.25vw;
    text-align: center;
    font-size: 0.8333333333vw;
    line-height: 2.4479166667vw;
    box-sizing: border-box;
    text-transform: uppercase;
}

.sec-financials li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

@media (max-width: 767px) {
    .sec-financials li {
        padding-right: 100px;
        font-size: 17px;
        line-height: 24px;
    }

    .sec-financials li em {
        min-height: 73px;
        padding: 25px 0;
    }

    .sec-financials li .btn-pdf {
        width: 86px;
        height: 36px;
        font-size: 12px;
        line-height: 34px;
        border-radius: 18px;
    }
}

.sec-partners .title-page {
    padding: 9.7916666667vw 0 0;
    height: 24.6875vw;
    box-sizing: border-box;
}

.sec-partners .list-bi-wrap {
    position: relative;
    transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.sec-partners .list-bi {
    font-size: 0;
}

.sec-partners .list-bi li {
    vertical-align: middle;
    display: inline-block;
    margin: 2.34375vw 1.8229166667vw 0.78125vw 0;
}

.hoverable .sec-partners .list-bi li:hover a {
    transform: translate3d(0, -1.0416666667vw, 0);
}

html.ie.hoverable .sec-partners .list-bi li:hover a {
    transform: translate3d(0, -20px, 0);
}

.sec-partners .list-bi a {
    display: block;
}

.sec-partners .list-bi img {
    display: block;
    width: 13.90625vw;
}

.sec-partners .list-bi.floating {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1;
}

.sec-partners .list-bi.floating li {
    position: absolute;
    left: 0;
    top: 0;
    margin: 0;
    transition: opacity 0.2s ease-out, transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.sec-partners .list-bi.floating + .list-bi {
    opacity: 0;
    visibility: hidden;
}

.sec-partners .tab-partners {
    font-size: 0;
    line-height: 0;
    border-top: 1px solid #0c6468;
    box-sizing: border-box;
}

.sec-partners .tab-partners a {
    position: relative;
    display: inline-block;
    width: 10.9375vw;
    height: 2.2916666667vw;
    margin-top: -2.2916666667vw;
    border: 1px solid #0c6468;
    border-bottom: none;
    font-size: 1.1458333333vw;
    line-height: 2.2916666667vw;
    font-weight: 500;
    color: rgba(12, 100, 104, 0.4);
    text-transform: uppercase;
    box-sizing: border-box;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    transition: color 0.2s;
}

.sec-partners .tab-partners a + a {
    margin-left: -1px;
}

.sec-partners .tab-partners a:first-child {
    width: 6.25vw;
}

.sec-partners .tab-partners a.current {
    color: #0c6468;
    font-weight: 600;
}

.sec-partners .tab-partners a > span {
    display: block;
    height: calc(100% + 1px);
    padding-top: 0.15625vw;
    background-color: #fff;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    .sec-partners {
        margin-bottom: -10px;
    }

    .sec-partners .title-page {
        padding: 58px 0 32px;
        height: auto;
    }

    .sec-partners .list-bi {
        padding-top: 23px;
    }

    .sec-partners .list-bi li {
        width: 50%;
        margin: 0;
        box-sizing: border-box;
    }

    .sec-partners .list-bi li:nth-child(odd) {
        padding-right: 12px;
    }

    .sec-partners .list-bi li:nth-child(even) {
        padding-left: 12px;
    }

    .sec-partners .list-bi img {
        width: 100%;
    }

    .sec-partners .tab-partners {
        margin-top: 22px;
    }

    .sec-partners .tab-partners a {
        width: 105px;
        height: 22px;
        margin-top: -22px;
        font-size: 11px;
        line-height: 22px;
    }

    .sec-partners .tab-partners a:first-child {
        width: 60px;
    }

    .sec-partners .tab-partners a > span {
        padding-top: 1px;
    }
}

.sec-community .visual-community {
    position: relative;
    height: 35.3645833333vw;
}

.sec-community .visual-community .title-page {
    position: absolute;
    left: 0;
    top: 9.7916666667vw;
    z-index: 3;
}

.sec-community .visual-community > figure {
    position: absolute;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
}

.sec-community .visual-community > figure.slice-1 {
    right: 0px;
    top: 6.6666666667vw;
    width: 30.1041666667vw;
    height: 20vw;
    z-index: 1;
}

.sec-community .visual-community > figure.slice-2 {
    right: 26.3541666667vw;
    top: 15.78125vw;
    width: 25.3125vw;
    height: 16.8229166667vw;
    z-index: 2;
}

.sec-community .list-community > li {
    border-top: 1px solid #0c6468;
}

.sec-community .list-community > li .toggle-tit {
    position: relative;
    display: flex;
    min-height: 8.0208333333vw;
    padding: 2.7604166667vw 6.25vw 2.7604166667vw 0;
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1;
    align-items: center;
    cursor: pointer;
    box-sizing: border-box;
}

.sec-community .list-community > li .toggle-tit:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 3.4375vw;
    height: 3.4375vw;
    border: 1px solid #0c6468;
    border-radius: 1.71875vw;
    margin-top: -1.71875vw;
    background: url("../images/arrow-toggle.png") 50% 50%/1.1458333333vw auto no-repeat;
    transform-origin: 50% 50%;
    box-sizing: border-box;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.sec-community .list-community > li .toggle-tit span {
    display: block;
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hoverable .sec-community .list-community > li .toggle-tit:not(.open):hover span {
    transform: translate3d(1.0416666667vw, 0, 0);
}

html.ie.hoverable .sec-community .list-community > li .toggle-tit:not(.open):hover span {
    transform: translate3d(20px, 0, 0);
}

.sec-community .list-community > li .toggle-tit.open:after {
    transform: rotateZ(180deg);
}

.sec-community .list-community > li .toggle-con {
    padding-bottom: 2.96875vw;
}

.sec-community .list-community > li .list-bi {
    font-size: 0;
    margin: 0 -1.0416666667vw 0 -1.1979166667vw;
}

.sec-community .list-community > li .list-bi li {
    display: inline-block;
    margin: 0.3645833333vw 1.0416666667vw 1.71875vw 1.1979166667vw;
}

.sec-community .list-community > li .list-bi a {
    display: block;
}

.hoverable .sec-community .list-community > li .list-bi a:hover img {
    transform: translate3d(0, -1.0416666667vw, 0);
}

html.ie.hoverable .sec-community .list-community > li .list-bi a:hover img {
    transform: translate3d(0, -20px, 0);
}

.sec-community .list-community > li .list-bi img {
    display: block;
    width: 15.4166666667vw;
}

.sec-community .list-community > li .list-bi .detail-content {
    display: none;
}

@media (max-width: 767px) {
    .sec-community {
        margin-bottom: -60px;
    }

    .sec-community .visual-community {
        height: 205px;
    }

    .sec-community .visual-community .title-page {
        top: 58px;
    }

    .sec-community .visual-community > figure.slice-1 {
        right: -60px;
        top: 50px;
        width: 193px;
        height: 100px;
    }

    .sec-community .visual-community > figure.slice-2 {
        right: 90px;
        top: 100px;
        width: 140px;
        height: 85px;
    }

    .sec-community .list-community > li .toggle-tit {
        min-height: 65px;
        padding: 26px 55px 26px 0;
        font-size: 18px;
    }

    .sec-community .list-community > li .toggle-tit:after {
        width: 36px;
        height: 36px;
        background-size: 11px 6px;
        margin-top: -18px;
        border-radius: 18px;
    }

    .sec-community .list-community > li .toggle-con {
        padding: 0 0 79px;
    }

    .sec-community .list-community > li .list-bi {
        padding-top: 6px;
        margin: 0;
    }

    .sec-community .list-community > li .list-bi li {
        width: 50%;
        margin: 0;
        box-sizing: border-box;
    }

    .sec-community .list-community > li .list-bi li:nth-child(odd) {
        padding-right: 12px;
    }

    .sec-community .list-community > li .list-bi li:nth-child(even) {
        padding-left: 12px;
    }

    .sec-community .list-community > li .list-bi img {
        width: 100%;
    }
}

.sec-community-detail {
    max-width: 40.1041666667vw;
    margin: 0 auto;
}

.sec-community-detail h4 {
    padding: 2.1354166667vw 0;
    font-size: 1.6666666667vw;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

.sec-community-detail .detail-head {
    padding: 2.8645833333vw 0 1.5104166667vw;
    border-bottom: 1px solid #0c6468;
}

.sec-community-detail .detail-head > em {
    display: block;
    font-size: 0.8333333333vw;
    font-weight: 700;
    text-transform: uppercase;
}

.sec-community-detail .detail-head > strong {
    display: block;
    padding-left: 1.0416666667vw;
    font-size: 2.5vw;
    line-height: 1;
    font-weight: 700;
}

.sec-community-detail .detail-view {
    padding-top: 2.6041666667vw;
}

.sec-community-detail .detail-view > figure {
    padding-bottom: 2.6041666667vw;
    border-bottom: 1px solid #0c6468;
}

.sec-community-detail .detail-view > figure img {
    display: block;
    width: 100%;
    margin: 0 auto;
    max-width: 27.0833333333vw;
}

.sec-community-detail .detail-view ul {
    padding: 2.34375vw 0 0;
}

.sec-community-detail .detail-view ul li {
    padding-left: 1.0416666667vw;
    font-size: 1.3541666667vw;
    line-height: 2.34375vw;
}

.sec-community-detail .detail-view ul li .title {
    display: block;
    margin-left: -1.0416666667vw;
    font-size: 0.8333333333vw;
    font-weight: 700;
    line-height: 1.375;
    text-transform: uppercase;
}

.sec-community-detail .detail-view ul li + li {
    margin-top: 2.7083333333vw;
}

@media (max-width: 767px) {
    .sec-community-detail {
        max-width: 100%;
    }

    .sec-community-detail h4 {
        padding: 18px 0;
        font-size: 14px;
    }

    .sec-community-detail .detail-head {
        padding: 55px 0 16px;
    }

    .sec-community-detail .detail-head > em {
        font-size: 11px;
        padding-bottom: 3px;
    }

    .sec-community-detail .detail-head > strong {
        font-size: 22px;
        padding-left: 0;
    }

    .sec-community-detail .detail-view {
        padding-top: 26px;
    }

    .sec-community-detail .detail-view > figure {
        padding: 0 26px 26px;
    }

    .sec-community-detail .detail-view > figure img {
        max-width: 100%;
    }

    .sec-community-detail .detail-view ul {
        padding: 21px 0 0;
    }

    .sec-community-detail .detail-view ul li {
        padding-left: 15px;
        font-size: 14px;
        line-height: 21px;
    }

    .sec-community-detail .detail-view ul li .title {
        font-size: 11px;
        margin-left: -15px;
        line-height: 20px;
    }

    .sec-community-detail .detail-view ul li + li {
        margin-top: 21px;
    }
}

.sec-media {
    position: relative;
}

.sec-media .sticker-yellowgreen {
    top: 39.0625vw;
    right: 100%;
}

.sec-media .title-page {
    padding: 9.7916666667vw 0 2.5vw;
}

.sec-media .list-media {
    margin-top: 4.21875vw;
}

.sec-media .list-media ul li {
    border-top: 1px solid #0c6468;
    padding: 1.0416666667vw 0;
}

.sec-media .list-media ul li > a {
    position: relative;
    display: block;
    padding: 0 0 3.1770833333vw 0;
}

.sec-media .list-media ul li > a:after {
    content: "";
    position: absolute;
    right: 0;
    top: 1.4583333333vw;
    width: 1.25vw;
    height: 1.25vw;
    background: url("../images/icon-outlink.png") 50% 50%/contain no-repeat;
}

.sec-media .list-media ul li > a em, .sec-media .list-media ul li > a i {
    font-size: 1.25vw;
    line-height: 1.25;
    font-weight: 700;
    text-transform: uppercase;
}

.sec-media .list-media ul li > a em {
    display: block;
    padding-top: 1.25vw;
    max-width: 15.625vw;
}

.sec-media .list-media ul li > a i {
    position: absolute;
    top: 1.25vw;
    left: 50%;
    transform: translateX(-50%);
}

.sec-media .list-media ul li > a strong {
    position: relative;
    display: block;
    padding-top: 1.4583333333vw;
    padding-left: 10.6770833333vw;
    padding-bottom: 2.1354166667vw;
    font-size: 2.0833333333vw;
    line-height: 1.2;
    font-weight: 600;
}

.sec-media .list-media ul li > a strong span {
    display: block;
    display: block;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.sec-media .list-media ul li > a strong:after {
    content: "";
    position: absolute;
    left: 10.6770833333vw;
    bottom: 0;
    width: 2.2916666667vw;
    height: 1.7708333333vw;
    background: url("../images/arrow-green.svg") right 50%/auto 1.7708333333vw no-repeat;
}

.hoverable .sec-media .list-media ul li:hover strong {
    transform: translate3d(1.5625vw, 0, 0);
}

html.ie.hoverable .sec-media .list-media ul li:hover strong {
    transform: translate3d(30px, 0, 0);
}

@media (max-width: 767px) {
    .sec-media .sticker-yellowgreen {
        display: none;
    }

    .sec-media .title-page {
        padding: 58px 0;
    }

    .sec-media .list-media {
        margin-top: 48px;
    }

    .sec-media .list-media ul {
        border-bottom: 1px solid #0c6468;
    }

    .sec-media .list-media ul li {
        padding: 0;
    }

    .sec-media .list-media ul li > a {
        padding: 0 0 29px 0;
    }

    .sec-media .list-media ul li > a:after {
        top: 18px;
        width: 16px;
        height: 16px;
    }

    .sec-media .list-media ul li > a em, .sec-media .list-media ul li > a i {
        font-size: 11px;
    }

    .sec-media .list-media ul li > a i {
        top: 13px;
    }

    .sec-media .list-media ul li > a em {
        padding-top: 13px;
        max-width: 30%;
    }

    .sec-media .list-media ul li > a strong {
        padding-left: 0;
        padding-top: 19px;
        padding-bottom: 26px;
        font-size: 18px;
        line-height: 24px;
    }

    .sec-media .list-media ul li > a strong span {
        display: block;
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 5;
    }

    .sec-media .list-media ul li > a strong:after {
        left: 0;
        width: 20px;
        height: 16px;
        background-size: auto 16px;
    }
}

.sec-news {
    position: relative;
}

.sec-news .sticker-yellowgreen {
    top: 39.0625vw;
    right: 100%;
}

.sec-news .news-head {
    position: relative;
    min-height: 24.2708333333vw;
    padding: 9.8958333333vw 0 1.3541666667vw;
    box-sizing: border-box;
}

.sec-news .news-head .title-page {
    position: absolute;
    left: 0;
    top: 9.7916666667vw;
}

.sec-news .news-head .subtab ul li {
    width: 18.75vw;
    margin-left: auto;
}

.sec-news .news-head .subtab ul li a {
    display: block;
    font-weight: 700;
    font-size: 2.0833333333vw;
    line-height: 1.25;
    transition: color 0.3s;
}

.sec-news .news-head .subtab ul li a > span {
    position: relative;
}

.sec-news .news-head .subtab ul li a > span:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background-color: #ff5d31;
    display: none;
}

.sec-news .news-head .subtab ul li a sup {
    margin-left: 16px;
    font-size: 0.8333333333vw;
    line-height: 1;
    transform: translateY(-1px);
}

.hoverable .sec-news .news-head .subtab ul li a:hover, .sec-news .news-head .subtab ul li a.current {
    color: #ff5d31;
}

.sec-news .news-head .subtab ul li a.current span:after {
    display: block;
}

.sec-news .list-news {
    margin-top: 4.21875vw;
}

.sec-news .list-news ul li {
    border-top: 1px solid #0c6468;
    padding: 1.5625vw 0 4.1666666667vw;
    cursor: pointer;
}

.sec-news .list-news ul li > a {
    position: relative;
    display: block;
    min-height: 18.6979166667vw;
    padding: 1.6666666667vw 0 7.6041666667vw 20.8854166667vw;
    box-sizing: border-box;
}

.sec-news .list-news ul li > a em, .sec-news .list-news ul li > a i {
    position: absolute;
    bottom: -3px;
    font-size: 1.25vw;
    line-height: 1.25;
    font-weight: 700;
    text-transform: uppercase;
}

.sec-news .list-news ul li > a em {
    left: 20.8854166667vw;
}

.sec-news .list-news ul li > a i {
    left: 30.625vw;
}

.sec-news .list-news ul li > a strong {
    position: relative;
    display: block;
    padding-bottom: 2.1354166667vw;
    font-size: 2.0833333333vw;
    line-height: 1.2;
    font-weight: 600;
}

.sec-news .list-news ul li > a strong span {
    display: block;
    display: block;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.sec-news .list-news ul li > a strong:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 2.2916666667vw;
    height: 1.7708333333vw;
    background: url("../images/arrow-green.svg") right 50%/auto 1.7708333333vw no-repeat;
}

.sec-news .list-news ul li > a figure {
    position: absolute;
    left: 0;
    top: 0;
    width: 18.6979166667vw;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
}

.sec-news .list-news ul li > a figure:before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 100%;
}

.sec-news .list-news ul li > a figure.no-image {
    background-image: url("../images/no-image.png");
}

.hoverable .sec-news .list-news ul li:hover a {
    transform: translate3d(1.5625vw, 0, 0);
}

html.ie.hoverable .sec-news .list-news ul li:hover a {
    transform: translate3d(30px, 0, 0);
}

.sec-news .simbol-wave-m144 {
    left: 50%;
    top: -20.46875vw;
    transform: translateX(-50%);
}

@media (max-width: 767px) {
    .sec-news .simbol-wave-m144 {
        top: -132px;
        margin-left: 32px;
    }
}

.sec-news .simbol-wave-m158 {
    top: 11.8229166667vw;
    margin-left: -1.3541666667vw;
    transform: translateX(-50%);
}

@media (max-width: 767px) {
    .sec-news .simbol-wave-m158 {
        top: 137px;
        margin-left: -16px;
    }
}

@media (max-width: 767px) {
    .sec-news .sticker-yellowgreen {
        display: none;
    }

    .sec-news .news-head {
        min-height: auto;
        padding: 0 0 10px;
    }

    .sec-news .news-head .title-page {
        position: static;
        padding: 58px 0 49px;
    }

    .sec-news .news-head .subtab {
        width: calc(100% + 52px);
        height: 38px;
        margin: 0 -26px;
        overflow: hidden;
    }

    .sec-news .news-head .subtab ul {
        height: 58px;
        padding: 0 calc(50% - 107px - 11px);
        white-space: nowrap;
        font-size: 0;
        overflow-x: scroll;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }

    .sec-news .news-head .subtab ul li {
        display: inline-block;
        width: auto;
        vertical-align: top;
    }

    .sec-news .news-head .subtab ul li a {
        height: 38px;
        padding: 0 12px;
        font-size: 18px;
        line-height: 38px;
    }

    .sec-news .news-head .subtab ul li a sup {
        display: none;
    }

    .sec-news .list-news {
        margin-top: 48px;
    }

    .sec-news .list-news ul {
        border-bottom: 1px solid #0c6468;
    }

    .sec-news .list-news ul li {
        padding: 16px 0 48px;
    }

    .sec-news .list-news ul li > a {
        min-height: 118px;
        padding: 1px 0 0 133px;
    }

    .sec-news .list-news ul li > a em, .sec-news .list-news ul li > a i {
        bottom: -11px;
        font-size: 11px;
    }

    .sec-news .list-news ul li > a em {
        left: 133px;
    }

    .sec-news .list-news ul li > a i {
        left: 211px;
    }

    .sec-news .list-news ul li > a strong {
        padding-bottom: 26px;
        font-size: 18px;
        line-height: 24px;
    }

    .sec-news .list-news ul li > a strong span {
        display: block;
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .sec-news .list-news ul li > a strong:after {
        width: 20px;
        height: 16px;
        background-size: auto 16px;
    }

    .sec-news .list-news ul li > a figure {
        width: 118px;
    }
}

.result-null {
    padding: 3.125vw 0;
    text-align: center;
    font-size: 2.0833333333vw;
    line-height: 1.25;
}

@media (max-width: 767px) {
    .result-null {
        padding: 30px 0;
        font-size: 18px;
    }
}

.sec-news-detail .detail-head {
    position: relative;
    padding: 9.375vw 0 3.5416666667vw;
    border-bottom: 1px solid #0c6468;
}

.sec-news-detail .detail-head em, .sec-news-detail .detail-head i {
    position: absolute;
    left: 0;
    top: 4.8958333333vw;
    font-size: 0.8333333333vw;
    font-weight: 700;
    line-height: 1.25;
    text-transform: uppercase;
}

.sec-news-detail .detail-head i {
    left: 10.6770833333vw;
}

.sec-news-detail .detail-head h3 {
    max-width: 34.6354166667vw;
    font-size: 2.5vw;
    line-height: 1.25;
    font-weight: 700;
}

.sec-news-detail .detail-view {
    padding: 1.5104166667vw 0 7.1354166667vw;
    font-size: 1.3541666667vw;
    line-height: 1.6153846154;
}

.sec-news-detail .detail-view img {
    display: block;
    max-width: 100%;
}

.sec-news-detail .detail-sns {
    text-align: center;
    font-size: 0;
}

.sec-news-detail .detail-sns a {
    display: inline-block;
}

.sec-news-detail .detail-sns dt, .sec-news-detail .detail-sns dd {
    display: inline-block;
    font-size: 0.8333333333vw;
    line-height: 1.875;
}

.sec-news-detail .detail-sns dt {
    position: relative;
    padding-right: 1.5625vw;
    margin-right: 0.7291666667vw;
    text-transform: uppercase;
    font-weight: 700;
}

.sec-news-detail .detail-sns dt:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 1px;
    height: 0.7291666667vw;
    margin-top: -0.3645833333vw;
    background-color: #0c6468;
    opacity: 0.3;
}

.sec-news-detail .detail-sns dd {
    padding: 0 0.78125vw;
}

@media (max-width: 767px) {
    .sec-news-detail .detail-head {
        padding: 105px 0 32px;
    }

    .sec-news-detail .detail-head em, .sec-news-detail .detail-head i {
        top: 67px;
        font-size: 11px;
        line-height: 15px;
    }

    .sec-news-detail .detail-head i {
        left: 78px;
    }

    .sec-news-detail .detail-head h3 {
        max-width: 100%;
        font-size: 22px;
        line-height: 28px;
    }

    .sec-news-detail .detail-view {
        padding: 18px 0 74px;
        font-size: 14px;
        line-height: 21px;
    }

    .sec-news-detail .detail-sns dt, .sec-news-detail .detail-sns dd {
        font-size: 12px;
        line-height: 15px;
    }

    .sec-news-detail .detail-sns dt {
        padding-right: 14px;
        margin-right: 6px;
    }

    .sec-news-detail .detail-sns dt:after {
        height: 8px;
        margin-top: -4px;
    }

    .sec-news-detail .detail-sns dd {
        padding: 0 7px;
    }
}

.sec-people {
    position: relative;
}

.sec-people .svg-mask {
    position: fixed;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    z-index: -2;
}

.sec-people .title-page {
    padding: 9.7916666667vw 0 0;
    height: 24.6875vw;
    border-bottom: 1px solid #ff5d31;
    box-sizing: border-box;
}

.sec-people .list-people {
    margin-top: 0.46875vw;
}

.sec-people .list-people dt {
    display: block;
    padding: 2.4479166667vw 0 1.875vw;
    font-size: 2.5vw;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

.sec-people .list-people dd {
    padding-bottom: 6.6666666667vw;
}

.sec-people .list-people dd + dt {
    border-top: 1px solid #ff5d31;
}

.sec-people .list-people .list {
    font-size: 0;
    margin: 0 -4.1145833333vw;
}

.sec-people .list-people .list li {
    display: inline-block;
    width: 19.53125vw;
    min-height: 19.1666666667vw;
    text-align: center;
    box-sizing: border-box;
    vertical-align: top;
}

.sec-people .list-people .list li svg {
    width: 11.3020833333vw;
    height: 11.3020833333vw;
    margin: 0 auto;
}

.sec-people .list-people .list li svg image {
    width: 100%;
    height: 100%;
    mask: url(#photo-mask);
}

.sec-people .list-people .list li strong {
    display: block;
    margin: 1.4583333333vw -2.0833333333vw 0;
    font-size: 1.3541666667vw;
    font-weight: 600;
}

.sec-people .list-people .list li em {
    display: block;
    margin: 0.2604166667vw -2.0833333333vw 0;
    font-size: 1.0416666667vw;
    font-weight: 600;
    text-transform: uppercase;
}

.sec-people .list-people .list li a {
    padding: 1.5104166667vw 4.1145833333vw 1.6666666667vw;
    display: block;
}

.hoverable .sec-people .list-people .list li:hover a {
    transform: translate3d(0, -1.0416666667vw, 0);
}

html.ie.hoverable .sec-people .list-people .list li:hover a {
    transform: translate3d(0, 20px, 0);
}

.sec-people .simbol-wave-m144 {
    left: 50%;
    top: -20.46875vw;
    transform: translateX(-50%);
}

@media (max-width: 767px) {
    .sec-people .simbol-wave-m144 {
        display: none;
    }
}

.sec-people .simbol-wave-m158 {
    top: 12.2916666667vw;
    margin-left: -1.3541666667vw;
    transform: translateX(-50%);
}

@media (max-width: 767px) {
    .sec-people .simbol-wave-m158 {
        display: none;
    }
}

@media (max-width: 767px) {
    .sec-people .title-page {
        padding: 58px 0 32px;
        height: auto;
    }

    .sec-people .list-people {
        margin-top: 0;
    }

    .sec-people .list-people dt {
        padding: 22px 0 26px;
        font-size: 22px;
        line-height: 24px;
    }

    .sec-people .list-people dd {
        padding-bottom: 19px;
    }

    .sec-people .list-people .list {
        display: flex;
        margin: 0;
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .sec-people .list-people .list li {
        width: 50%;
        min-height: auto;
    }

    .sec-people .list-people .list li svg {
        width: 100%;
        height: 100%;
    }

    .sec-people .list-people .list li strong {
        margin: 10px 0 0;
        font-size: 14px;
        line-height: 16px;
    }

    .sec-people .list-people .list li em {
        margin: 3px 0 0;
        font-size: 11px;
    }

    .sec-people .list-people .list li a {
        padding: 0 20px 38px;
    }
}

.sec-people-detail {
    position: relative;
}

.sec-people-detail .simbol-wave-m219 {
    top: auto;
    bottom: -4.9479166667vw;
    margin-left: -0.625vw;
}

@media (max-width: 767px) {
    .sec-people-detail .simbol-wave-m219 {
        bottom: -120px;
        transform: translateX(-50%);
    }
}

.sec-people-detail .detail-basic {
    position: relative;
    padding-bottom: 9.1145833333vw;
}

.sec-people-detail .detail-basic em {
    display: block;
    width: 60%;
    min-height: 1em;
    padding-top: 16.9791666667vw;
    font-size: 1.6666666667vw;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

.sec-people-detail .detail-basic h3 {
    display: block;
    padding-top: 1.3020833333vw;
    padding-left: 2.6041666667vw;
    font-size: 7.0833333333vw;
    line-height: 1;
    font-weight: 700;
}

.sec-people-detail .detail-basic figure {
    position: absolute;
    right: 0;
    top: 0;
    width: 40.1041666667vw;
    max-width: 100%;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: -1;
  /* 710 x 1010 */
}

.sec-people-detail .detail-basic figure:before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 131%;
}

.sec-people-detail .detail-add {
    padding-top: 1.6666666667vw;
    border-top: 5px solid #ff5d31;
}

.sec-people-detail .detail-add li {
    padding-left: 0.78125vw;
    font-size: 1.5625vw;
    line-height: 1.1666666667;
    font-weight: 600;
}

.sec-people-detail .detail-add li h4 {
    margin-left: -0.78125vw;
    font-size: 0.8333333333vw;
    line-height: 1.75;
    font-weight: 700;
    text-transform: uppercase;
}

.sec-people-detail .detail-add li + li {
    margin-top: 0.8854166667vw;
}

.sec-people-detail .detail-view {
    margin-left: auto;
    padding: 3.2291666667vw 0 10.3125vw;
    font-size: 1.3541666667vw;
    line-height: 1.6153846154;
    text-indent: 2.34375vw;
}

@media (max-width: 767px) {
    .sec-people-detail .detail-basic {
        padding-bottom: 52px;
    }

    .sec-people-detail .detail-basic em {
        padding-top: 118px;
        min-height: 15px;
        font-size: 14px;
        line-height: 15px;
        padding-bottom: 10px;
    }

    .sec-people-detail .detail-basic h3 {
        padding-top: 3px;
        padding-left: 18px;
        font-size: 34px;
        line-height: 39px;
    }

    .sec-people-detail .detail-basic figure {
        top: 29px;
        width: 218px;
    }

    .sec-people-detail .detail-add {
        padding-top: 20px;
        border-width: 2px;
    }

    .sec-people-detail .detail-add li {
        padding-left: 16px;
        font-size: 16px;
        line-height: 17px;
    }

    .sec-people-detail .detail-add li h4 {
        margin-left: -16px;
        font-size: 11px;
        line-height: 19px;
    }

    .sec-people-detail .detail-add li + li {
        margin-top: 15px;
    }

    .sec-people-detail .detail-view {
        padding: 74px 0 0;
        font-size: 14px;
        line-height: 21px;
        text-indent: 22px;
    }
}

.visualset-why .pic-1 {
    top: 6.3020833333vw;
    left: 50%;
    width: 59.4270833333vw;
    height: 38.3854166667vw;
    margin-left: -15.1041666667vw;
    background-image: url("../images/visual-why-01.jpg");
}

.visualset-why .pic-2 {
    top: 38.2291666667vw;
    right: 50%;
    width: 44.1145833333vw;
    height: 26.5625vw;
    margin-right: 28.59375vw;
    background-image: url("../images/visual-why-02.jpg");
    background-position: 100% 50%;
}

@media (max-width: 767px) {
    .visualset-why .pic-1 {
        top: 45px;
        left: auto;
        right: -48px;
        width: 241px;
        height: 156px;
        margin-left: 0;
    }

    .visualset-why .pic-2 {
        top: 232px;
        right: auto;
        left: -130px;
        width: 226px;
        height: 136px;
        margin-right: 0;
    }
}

.sec-why {
    margin-top: 21.1458333333vw;
}

@media (max-width: 767px) {
    .sec-why {
        margin-top: 87px;
    }
}

.sec-why article[class^=why-] {
    max-width: 61.4583333333vw;
}

.sec-why article[class^=why-] p {
    text-indent: 2.3958333333vw;
    font-size: 1.3541666667vw;
    line-height: 1.6153846154;
}

@media (max-width: 767px) {
    .sec-why article[class^=why-] {
        max-width: 100%;
    }

    .sec-why article[class^=why-] p {
        text-indent: 23px;
        font-size: 14px;
        line-height: 21px;
    }
}

.sec-why .why-local .title-sub {
    padding-bottom: 2.1354166667vw;
}

.sec-why .why-local > p {
    margin-left: auto;
}

.sec-why .why-local > p + p {
    margin-top: 2.1875vw;
}

.sec-why .why-local ol {
    counter-reset: desc;
    padding-bottom: 10.5208333333vw;
}

.sec-why .why-local ol li {
    position: relative;
    counter-increment: desc;
    padding-top: 0.4166666667vw;
}

.sec-why .why-local ol li h4 {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    font-size: 1.6666666667vw;
    line-height: 1.25;
    font-weight: 700;
    text-transform: uppercase;
}

.sec-why .why-local ol li h4:before {
    content: "0" counter(desc);
    display: inline;
    margin-right: 1.7708333333vw;
    flex: none;
}

.sec-why .why-local ol li .chart {
    margin-left: auto;
    position: relative;
    height: 6.25vw;
}

.sec-why .why-local ol li .chart:before {
    content: "";
    position: absolute;
    left: 2.2916666667vw;
    right: 0.625vw;
    top: 0.6770833333vw;
    height: 2px;
    background-color: #0c6468;
    z-index: 1;
}

.sec-why .why-local ol li .chart:after {
    content: "";
    position: absolute;
    right: 0.0520833333vw;
    top: 0.4166666667vw;
    width: 0.5729166667vw;
    height: 0.5729166667vw;
    background: url("../images/arr-chart.png") 0 50%/contain no-repeat;
}

.sec-why .why-local ol li .chart span {
    position: absolute;
    top: 0;
    display: block;
    font-size: 1.0416666667vw;
    line-height: 1.2;
    padding-top: 2.3vw;
    z-index: 2;
}

.sec-why .why-local ol li .chart span:before {
    content: "";
    position: absolute;
    left: 1.5625vw;
    top: 0;
    display: block;
    width: 1.4583333333vw;
    height: 1.4583333333vw;
    border: 2px solid #0c6468;
    border-radius: 0.7291666667vw;
    background-color: #92d3b5;
    box-sizing: border-box;
}

.sec-why .why-local ol li .chart span:nth-child(1) {
    left: 0;
}

.sec-why .why-local ol li .chart span:nth-child(2) {
    left: 37%;
}

.sec-why .why-local ol li .chart span:nth-child(3) {
    left: 74.5%;
}

.sec-why .why-local ol li + li {
    margin-top: 107px;
}

@media (max-width: 767px) {
    .sec-why .why-local .title-sub {
        padding-bottom: 47px;
    }

    .sec-why .why-local > p + p {
        margin-top: 25px;
    }

    .sec-why .why-local ol {
        padding-bottom: 98px;
    }

    .sec-why .why-local ol li {
        padding-top: 0;
    }

    .sec-why .why-local ol li h4 {
        position: static;
        font-size: 16px;
        line-height: 21px;
    }

    .sec-why .why-local ol li h4:before {
        margin-right: 12px;
    }

    .sec-why .why-local ol li .chart {
        margin-top: 22px;
        height: 60px;
    }

    .sec-why .why-local ol li .chart:before {
        top: 6px;
        left: 23px;
        right: 6px;
        height: 1px;
    }

    .sec-why .why-local ol li .chart:after {
        top: 3px;
        width: 7px;
        height: 7px;
    }

    .sec-why .why-local ol li .chart span {
        font-size: 11px;
        line-height: 13px;
        padding-top: 21px;
    }

    .sec-why .why-local ol li .chart span:before {
        left: 16px;
        width: 14px;
        height: 14px;
        border-width: 1px;
        border-radius: 7px;
    }

    .sec-why .why-local ol li .chart span:nth-child(2) {
        left: 35.6%;
    }

    .sec-why .why-local ol li .chart span:nth-child(3) {
        left: 70.4%;
    }

    .sec-why .why-local ol li + li {
        margin-top: 30px;
    }
}

.sec-why .why-phased {
    position: relative;
    margin-top: 14.53125vw;
}

.sec-why .why-phased .pic {
    position: absolute;
    left: 50%;
    top: 6.0416666667vw;
    width: 72.9166666667vw;
    height: 42.8125vw;
    background: url("../images/why-01.png") 50% 50%/auto 42.8125vw no-repeat;
    transform: translateX(-50%);
    z-index: -1;
}

html.ie .sec-why .why-phased .pic {
    background-position: 50% 50% !important;
}

html:not(.ie) .sec-why .why-phased .pic {
    background-image: url("../images/why-01.jpg");
    clip-path: polygon(0% 0%, 50% 0%, 50% 21.2895377129%, 100% 21.2895377129%, 100% 100%, 50% 100%, 50% 79.0754257908%, 0% 79.0754257908%);
}

.sec-why .why-phased ol {
    margin-top: 43.75vw;
    counter-reset: desc;
}

.sec-why .why-phased ol li {
    position: relative;
    counter-increment: desc;
}

.sec-why .why-phased ol li + li {
    margin-top: 4.1666666667vw;
}

.sec-why .why-phased ol li:before {
    content: "Step " counter(desc) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 2.5vw;
    line-height: 1;
    font-weight: 700;
    color: #fff;
}

.sec-why .why-phased ol li .lock {
    margin-left: auto;
}

.sec-why .why-phased ol li .title-in {
    display: block;
}

.sec-why .why-phased ol li p {
    margin-top: 1.40625vw;
}

.sec-why .why-phased h4 {
    font-size: 2.5vw;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

.sec-why .why-phased h4 span {
    display: block;
}

.sec-why .why-phased h4 span:nth-child(2) {
    margin-left: 10.3125vw;
}

@media (max-width: 767px) {
    .sec-why .why-phased {
        margin-top: 97px;
    }

    .sec-why .why-phased .pic {
        top: 100px;
        width: 375px;
        height: 220px;
        background-size: auto 220px;
    }

    .sec-why .why-phased ol {
        margin-top: 236px;
    }

    .sec-why .why-phased ol li + li {
        margin-top: 46px;
    }

    .sec-why .why-phased ol li:before {
        position: static;
        display: block;
        font-size: 22px;
        padding-bottom: 10px;
    }

    .sec-why .why-phased h4 {
        font-size: 28px;
    }

    .sec-why .why-phased h4 span:nth-child(2) {
        margin-left: 0;
    }
}

.list-desc {
    width: 40.1041666667vw;
    max-width: 100%;
    box-sizing: border-box;
    margin-left: auto;
}

.list-desc li {
    position: relative;
    padding-left: 1.5625vw;
    font-size: 1.3541666667vw;
    line-height: 1.6153846154;
}

.list-desc li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.8854166667vw;
    width: 0.4166666667vw;
    height: 0.4166666667vw;
    background-color: #fff;
}

.list-desc li + li {
    margin-top: 2.5vw;
}

@media (max-width: 767px) {
    .list-desc {
        width: 100%;
        max-width: 100%;
    }

    .list-desc li {
        position: relative;
        padding-left: 22px;
        font-size: 14px;
        line-height: 21px;
    }

    .list-desc li:before {
        top: 7px;
        width: 6px;
        height: 6px;
    }

    .list-desc li + li {
        margin-top: 21px;
    }
}

.visualset-past .pic-1 {
    top: 10.3125vw;
    right: 20.2083333333vw;
    width: 20.5208333333vw;
    height: 28.9583333333vw;
    background-image: url("../images/visual-past-01.jpg");
}

.visualset-past .pic-2 {
    top: 22.1875vw;
    right: 1.40625vw;
    width: 20.7291666667vw;
    height: 29.21875vw;
    background-image: url("../images/visual-past-02.jpg");
}

@media (max-width: 767px) {
    .visualset-past .pic-1 {
        top: 31px;
        right: 78px;
        width: 115px;
        height: 162px;
    }

    .visualset-past .pic-2 {
        top: 98px;
        right: -28px;
        width: 116px;
        height: 164px;
    }
}

.sec-past {
    margin-top: 9.5833333333vw;
}

@media (max-width: 767px) {
    .sec-past {
        margin-top: 88px;
    }
}

.sec-past article[class^=past-] {
    max-width: 61.4583333333vw;
}

.sec-past article[class^=past-] .title-sub {
    padding-bottom: 2.1354166667vw;
}

.sec-past article[class^=past-] p {
    text-indent: 2.3958333333vw;
    font-size: 1.3541666667vw;
    line-height: 1.6153846154;
}

.sec-past article[class^=past-] > p, .sec-past article[class^=past-] .lock {
    margin-left: auto;
}

@media (max-width: 767px) {
    .sec-past article[class^=past-] {
        max-width: 100%;
    }

    .sec-past article[class^=past-] .title-sub {
        padding-bottom: 45px;
    }

    .sec-past article[class^=past-] p {
        text-indent: 23px;
        font-size: 14px;
        line-height: 21px;
    }
}

.sec-past .past-newyork {
    margin-top: -7.2916666667vw;
}

.sec-past .past-newyork .title-sub {
    padding-top: 7.2916666667vw;
}

@media (max-width: 767px) {
    .sec-past .past-newyork {
        margin-top: -88px;
    }

    .sec-past .past-newyork .title-sub {
        padding-top: 88px;
    }
}

.sec-past .past-dwell {
    position: relative;
    margin-top: 13.28125vw;
}

.sec-past .past-dwell .pic {
    position: absolute;
    left: 50%;
    top: 14.375vw;
    width: 72.9166666667vw;
    height: 42.8125vw;
    background: url("../images/past-01.jpg") 50% 50%/auto 42.8125vw no-repeat;
    transform: translateX(-50%);
    z-index: -1;
}

html.ie .sec-past .past-dwell .pic {
    background-position: 50% 50% !important;
}

html:not(.ie) .sec-past .past-dwell .pic {
    background-image: url("../images/past-01.jpg");
    clip-path: polygon(0% 0%, 50% 0%, 50% 21.2895377129%, 100% 21.2895377129%, 100% 100%, 50% 100%, 50% 79.0754257908%, 0% 79.0754257908%);
}

.sec-past .past-dwell h4 {
    font-size: 4.1666666667vw;
    line-height: 1.125;
    font-weight: 700;
    text-transform: uppercase;
}

.sec-past .past-dwell p {
    margin-top: 41.9270833333vw;
}

@media (max-width: 767px) {
    .sec-past .past-dwell {
        margin-top: 91px;
    }

    .sec-past .past-dwell .pic {
        top: 100px;
        width: 375px;
        height: 220px;
        background-size: auto 220px;
    }

    .sec-past .past-dwell h4 {
        font-size: 28px;
        line-height: 1;
    }

    .sec-past .past-dwell p {
        margin-top: 235px;
    }
}

.sec-past .past-vegas {
    margin-top: 0.5208333333vw;
}

.sec-past .past-vegas .title-sub {
    margin-top: 7.2916666667vw;
}

.sec-past .past-vegas .list-desc {
    margin-top: -1.5625vw;
}

@media (max-width: 767px) {
    .sec-past .past-vegas {
        margin-top: 0;
    }

    .sec-past .past-vegas .title-sub {
        margin-top: 47px;
    }

    .sec-past .past-vegas .list-desc {
        margin-top: 0;
    }
}

.sec-past .past-download {
    margin-top: 6.25vw;
}

.sec-past .past-download .btn-area {
    text-align: left;
}

@media (max-width: 767px) {
    .sec-past .past-download {
        margin-top: 45px;
    }

    .sec-past .past-download .btn-area {
        text-align: center;
    }
}

.visualset-casa .pic-1 {
    left: 50%;
    top: 20.9895833333vw;
    width: 27.2916666667vw;
    height: 17.7604166667vw;
    background-image: url("../images/visual-casa-01.jpg");
    margin-left: 17.3958333333vw;
}

.visualset-casa .pic-2 {
    right: 50%;
    top: 37.9166666667vw;
    width: 27.4479166667vw;
    height: 18.125vw;
    background-image: url("../images/visual-casa-02.jpg");
    margin-right: 28.5416666667vw;
}

.visualset-casa strong span {
    display: block;
}

.visualset-casa strong span:nth-child(2) {
    display: flex;
}

.visualset-casa strong span:nth-child(2):before {
    content: "";
    height: 100%;
    max-width: 10.4166666667vw;
    flex: 1 0;
}

.visualset-casa strong span:nth-child(3) {
    position: relative;
    display: inline-block;
    padding-bottom: 1.4583333333vw;
}

.visualset-casa strong span:nth-child(3):after {
    content: "";
    position: absolute;
    left: 100%;
    top: 0.6770833333vw;
    width: 5.78125vw;
    height: 7.2395833333vw;
    margin-left: 0.46875vw;
    background: url("../images/char-01.png") 50% 50%/contain no-repeat;
}

@media (max-width: 767px) {
    .visualset-casa .pic-1 {
        top: 132px;
        width: 190px;
        height: 124px;
        margin-left: 69px;
    }

    .visualset-casa .pic-2 {
        right: auto;
        left: -27px;
        top: 283px;
        width: 140px;
        height: 92px;
        margin-right: 0;
    }

    .visualset-casa strong span {
        display: block !important;
    }

    .visualset-casa strong span:nth-child(2) {
        text-indent: 8px;
    }

    .visualset-casa strong span:nth-child(2):before {
        display: none;
    }

    .visualset-casa strong span:nth-child(3) {
        padding-bottom: 0;
    }

    .visualset-casa strong span:nth-child(3):after {
        display: none;
    }

    .visualset-casa strong:after {
        content: "";
        display: block;
        width: 48px;
        height: 60px;
        margin: 8px 0 4px 125px;
        background: url("../images/char-01.png") 50% 50%/contain no-repeat;
    }
}

.sec-casa {
    position: relative;
    margin-top: 8.6979166667vw;
}

.sec-casa .simbol-ring-130 {
    left: auto;
    right: -0.3125vw;
    top: 2.34375vw;
}

@media (max-width: 767px) {
    .sec-casa {
        margin-top: 0;
    }

    .sec-casa .simbol-ring-130 {
        left: auto;
        right: -82px;
        top: 69px;
    }
}

.sec-casa .casa-model {
    max-width: 61.4583333333vw;
}

.sec-casa .casa-model .title-in, .sec-casa .casa-model .title-sub {
    padding-bottom: 2.1354166667vw;
    margin-top: 9.0625vw;
}

.sec-casa .casa-model .title-in {
    max-width: 35.15625vw;
    font-weight: 600;
}

.sec-casa .casa-model p {
    font-size: 1.3541666667vw;
    line-height: 1.6153846154;
}

.sec-casa .casa-model > p {
    margin-left: auto;
}

.sec-casa .casa-model .list-desc {
    margin-top: 2.9166666667vw;
    padding-bottom: 2.7083333333vw;
}

.sec-casa .casa-model .chart {
    margin-top: -1.0416666667vw;
}

.sec-casa .casa-model .chart img {
    display: block;
    width: 100%;
}

.sec-casa .casa-model .chart img.mobile {
    display: none;
}

@media (max-width: 767px) {
    .sec-casa .casa-model {
        max-width: 100%;
    }

    .sec-casa .casa-model .title-in, .sec-casa .casa-model .title-sub {
        padding-bottom: 45px;
        margin-top: 69px;
    }

    .sec-casa .casa-model .title-in {
        max-width: 100%;
    }

    .sec-casa .casa-model p {
        font-size: 14px;
        line-height: 21px;
    }

    .sec-casa .casa-model .list-desc {
        margin-top: 18px;
        padding-bottom: 45px;
    }

    .sec-casa .casa-model .chart {
        margin: -25px -26px 0;
    }

    .sec-casa .casa-model .chart img {
        max-width: 100%;
        width: auto;
    }

    .sec-casa .casa-model .chart img.pc {
        display: none;
    }

    .sec-casa .casa-model .chart img.mobile {
        display: block;
    }
}

.visualset-history h3 + p {
    padding-top: 5.2083333333vw;
}

.visualset-history p {
    text-indent: 10.625vw;
}

.visualset-history p + p {
    position: relative;
    margin-top: 10.78125vw;
}

.visualset-history p + p:before {
    content: "";
    position: absolute;
    left: -0.2604166667vw;
    top: -7.2395833333vw;
    width: 5.1041666667vw;
    height: 5.9375vw;
    background: url("../images/char-02.png") 50% 50%/contain no-repeat;
}

.visualset-history p + p:after {
    content: "";
    position: absolute;
    left: 4.3229166667vw;
    top: -3.3854166667vw;
    width: 5.6770833333vw;
    height: 5.8854166667vw;
    background: url("../images/char-01-v2.png") 50% 50%/contain no-repeat;
}

.visualset-history .simbol-rect {
    right: -2.6041666667vw;
    bottom: -16.9270833333vw;
}

.visualset-history .lock {
    position: relative;
    max-width: 61.4583333333vw;
    margin-top: 16.6666666667vw;
}

.visualset-history .pic-1 {
    left: 50%;
    top: 7.03125vw;
    width: 34.1666666667vw;
    height: 22.5520833333vw;
    background-image: url("../images/visual-history-01-2.jpg");
    margin-left: -8.75vw;
}

.visualset-history .pic-2 {
    right: 50%;
    top: 26.3020833333vw;
    width: 34.1666666667vw;
    height: 22.5520833333vw;
    background-image: url("../images/visual-history-02.jpg");
    margin-right: 28.3854166667vw;
}

.visualset-history .pic-3 {
    left: 50%;
    top: 64.6666666667vw;
    width: 27.8125vw;
    height: 18.4375vw;
    background-image: url("../images/visual-history-03-2.jpg");
    margin-left: 16.4583333333vw;
}

@media (max-width: 767px) {
    .visualset-history .title-page {
        font-size: 28px;
    }

    .visualset-history p {
        text-indent: 93px;
    }

    .visualset-history h3 + p {
        padding-top: 12px;
        text-indent: 45px;
    }

    .visualset-history p + p {
        margin-top: 84px;
    }

    .visualset-history p + p:before {
        left: -2px;
        top: -75px;
        width: 49px;
        height: 57px;
    }

    .visualset-history p + p:after {
        left: 34px;
        top: -34px;
        width: 54px;
        height: 55px;
    }

    .visualset-history .lock {
        height: 85px;
        max-width: 100%;
        margin-top: 0;
    }

    .visualset-history .simbol-rect {
        right: -34px;
        bottom: -96px;
    }

    .visualset-history .pic-1 {
        left: 50%;
        top: 38px;
        width: 236px;
        height: 156px;
        margin-left: -27px;
    }

    .visualset-history .pic-2 {
        display: none;
    }

    .visualset-history .pic-3 {
        left: auto;
        right: -61px;
        top: 507px;
        width: 177px;
        height: 117px;
        margin-left: 0;
    }
}

.sec-history {
    margin-top: 26.0416666667vw;
}

@media (max-width: 767px) {
    .sec-history {
        margin-top: 93px;
    }
}

.sec-history .history-list {
    position: relative;
    max-width: 61.4583333333vw;
}

.sec-history .history-list h4 {
    font-size: 4.1666666667vw;
    line-height: 1;
    padding-bottom: 14.6354166667vw;
}

.sec-history .history-list h5 {
    position: absolute;
    top: 14.9479166667vw;
    left: 10.0520833333vw;
    -right: -220px;
    color: #fff;
    z-index: -1;
    font-size: 18.6458333333vw;
    line-height: 0.8324022346;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.sec-history .history-list h5 .bar {
    display: inline-block;
    width: 401px;
    height: 39px;
    margin-left: 40px;
    background-color: #fff;
    vertical-align: middle;
    font-size: 0;
    line-height: 3000px;
    overflow: hidden;
}

.sec-history .history-list dl dt {
    float: left;
    font-size: 2.5vw;
    line-height: 1;
    font-weight: 700;
    margin-top: -0.1041666667vw;
}

.sec-history .history-list dl dd {
    position: relative;
    padding: 0 0 4.7916666667vw 2.5520833333vw;
    font-size: 0;
    margin-left: auto;
    box-sizing: border-box;
}

.sec-history .history-list dl dd:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.2083333333vw;
    bottom: 0;
    width: 2px;
    background-color: #0c6468;
    opacity: 0.4;
}

.sec-history .history-list dl dd strong {
    display: inline-block;
    font-size: 1.3541666667vw;
    line-height: 1;
    border-bottom: 2px solid #0c6468;
    text-transform: uppercase;
    font-weight: 700;
}

.sec-history .history-list dl dd em {
    display: block;
    font-size: 1.3541666667vw;
    line-height: 1.3846153846;
    margin-top: 0.2083333333vw;
}

.sec-history .history-list dl dd + dd {
    margin-top: 2.0833333333vw;
}

.sec-history .history-list dl + dl {
    margin-top: 1.9791666667vw;
}

.sec-history .history-list .simbol-rect {
    right: -2.6041666667vw;
    bottom: 33.4375vw;
}

@media (max-width: 767px) {
    .sec-history .history-list {
        max-width: 100%;
    }

    .sec-history .history-list h4 {
        font-size: 28px;
        padding-bottom: 92px;
    }

    .sec-history .history-list h5 {
        top: 78px;
        left: auto;
        right: -30px;
        max-width: 280px;
        font-size: 80px;
        line-height: 70px;
    }

    .sec-history .history-list h5 .bar {
        width: 93px;
        height: 10px;
        margin-left: 9px;
    }

    .sec-history .history-list dl {
        position: relative;
        padding-left: 108px;
    }

    .sec-history .history-list dl dt {
        position: absolute;
        left: 0;
        top: 0;
        font-size: 24px;
        margin-top: 0;
    }

    .sec-history .history-list dl dd {
        padding: 1px 0 50px 12px;
    }

    .sec-history .history-list dl dd:before {
        top: 3px;
        width: 1px;
    }

    .sec-history .history-list dl dd strong {
        font-size: 14px;
        border-width: 1px;
    }

    .sec-history .history-list dl dd em {
        font-size: 14px;
        line-height: 21px;
        margin-top: 6px;
    }

    .sec-history .history-list dl dd + dd {
        margin-top: 17px;
    }

    .sec-history .history-list dl + dl {
        margin-top: 20px;
    }

    .sec-history .simbol-rect {
        right: -125px;
        bottom: -635px;
    }
}

.visualset-hub p {
    text-indent: 7.1875vw;
    margin-top: 14.3229166667vw !important;
}

.visualset-hub strong {
    padding-bottom: 4.0625vw;
}

.visualset-hub strong span {
    position: relative;
    display: block;
}

.visualset-hub strong span:nth-child(even) {
    display: flex;
}

.visualset-hub strong span:nth-child(even):before {
    content: "";
    height: 100%;
    max-width: 10.6770833333vw;
    flex: 1 0;
}

.visualset-hub strong span:nth-child(3):after {
    content: "";
    position: absolute;
    left: 3.3854166667vw;
    top: 4.7vw;
    width: 6.5625vw;
    height: 7.8125vw;
    background: url("../images/char-02-v2.png") 50% 50%/contain no-repeat;
}

.visualset-hub .pic-1 {
    left: 50%;
    top: 20.3125vw;
    width: 29.583vw;
    height: 33.75vw;
    background-image: url("../images/visual-hub-01-2.jpg");
    margin-left: -4.4270833333vw;
}

@media (max-width: 767px) {
    .visualset-hub p {
        text-indent: 47px;
        margin-top: 45px !important;
    }

    .visualset-hub strong {
        padding-bottom: 81px;
    }

    .visualset-hub strong span:nth-child(even) {
        display: flex;
    }

    .visualset-hub strong span:nth-child(even):before {
        display: none;
    }

    .visualset-hub strong span:nth-child(3):after {
        left: 5px;
        top: 64px;
        width: 51px;
        height: 61px;
        margin-left: 0;
        margin-top: 13px;
    }

    .visualset-hub .pic-1 {
        top: 128px;
        width: 212px;
        height: 242px;
        margin-left: -25px;
    }

    .visualset-hub .pic-1:after {
        right: 10px;
        bottom: 10px;
        width: 70px;
        height: 8px;
    }
}

.btnarea-multi.heyground-bottom {
    margin-top: 3.645vw;
}

@media (max-width: 767px) {
    .btnarea-multi.heyground-bottom {
        margin-top: 30px;
    }
}

article[class^=hub-] {
    max-width: 61.4583333333vw;
}

article[class^=hub-] p {
    margin-left: auto;
    text-indent: 2.3958333333vw;
    font-size: 1.3541666667vw;
    line-height: 1.6153846154;
}

article[class^=hub-] .title-sub {
    padding-bottom: 41px;
}

@media (max-width: 767px) {
    article[class^=hub-] {
        max-width: 100%;
    }

    article[class^=hub-] .title-sub {
        padding-bottom: 45px;
    }

    article[class^=hub-] p {
        text-indent: 23px;
        font-size: 14px;
        line-height: 21px;
    }
}

.sec-hub {
    margin-top: 10.0520833333vw;
}

@media (max-width: 767px) {
    .sec-hub {
        margin-top: 90px;
    }
}

.sec-hub .hub-innovation {
    margin-top: 10.3125vw;
}

.sec-hub .hub-innovation ol {
    margin-left: auto;
    counter-reset: desc;
    padding: 2.0833333333vw 0 4.7395833333vw;
}

.sec-hub .hub-innovation ol li {
    position: relative;
    counter-increment: desc;
    padding-left: 56px;
    font-size: 1.3541666667vw;
    line-height: 1.8461538462;
    text-transform: uppercase;
    font-weight: 700;
}

.sec-hub .hub-innovation ol li:before {
    content: "0" counter(desc);
    position: absolute;
    left: 0;
    top: 0;
}

.sec-hub .hub-innovation .list-desc {
    padding-top: 2.1354166667vw;
}

@media (max-width: 767px) {
    .sec-hub .hub-innovation {
        margin-top: 88px;
    }

    .sec-hub .hub-innovation ol {
        padding: 23px 0 42px;
    }

    .sec-hub .hub-innovation ol li {
        padding-left: 30px;
        font-size: 14px;
        line-height: 25px;
    }

    .sec-hub .hub-innovation .list-desc {
        padding-top: 17px;
    }
}

.sec-full-hub {
    height: 49.5833333333vw;
}

.sec-full-hub figure {
    background-image: url("../images/hub-01-2.jpg");
}

@media (max-width: 767px) {
    .sec-full-hub {
        height: 48vw;
    }
}

.sec-hub2 {
    margin-top: 10.46875vw;
}

@media (max-width: 767px) {
    .sec-hub2 {
        margin-top: 52px;
    }
}

.sec-hub2 .send-email {
    max-width: 61.4583333333vw;
    margin-top: 10.3125vw;
    text-align: center;
    font-size: 1.3541666667vw;
    line-height: 1.5;
}

.sec-hub2 .send-email a {
    text-decoration: underline;
}

@media (max-width: 767px) {
    .sec-hub2 .send-email {
        max-width: 100%;
        margin-top: 31px;
        font-size: 14px;
        line-height: 21px;
    }
}

.sec-hub2 .hub-who ul {
    font-size: 0;
    margin: 1.9270833333vw auto 0;
    text-align: center;
}

.sec-hub2 .hub-who ul li {
    display: inline-block;
    vertical-align: top;
    padding: 0.78125vw;
    font-size: 1.4583333333vw;
    line-height: 1.2857142857;
    text-transform: uppercase;
    font-weight: 600;
    text-align: center;
}

.sec-hub2 .hub-who ul li > span {
    display: flex;
    width: 16.1458333333vw;
    height: 16.1458333333vw;
    border: 2px solid #ff5d31;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    background-color: rgba(255, 93, 49, 0.08);
}

@media (max-width: 767px) {
    .sec-hub2 .hub-who ul {
        margin-top: 33px;
        padding: 0 11px;
    }

    .sec-hub2 .hub-who ul li {
        width: 50%;
        padding: 7px;
        font-size: 14px;
        line-height: 19px;
        box-sizing: border-box;
    }

    .sec-hub2 .hub-who ul li > span {
        position: relative;
        width: 100%;
        height: auto;
        padding-top: 100%;
        box-sizing: border-box;
        border-width: 1px;
    }

    .sec-hub2 .hub-who ul li i {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        white-space: nowrap;
    }
}

.sec-hub2 .hub-biz {
    margin-top: 10.8854166667vw;
}

.sec-hub2 .hub-biz .title-sub span {
    display: block;
}

.sec-hub2 .hub-biz .title-sub span:nth-child(even) {
    display: flex;
}

.sec-hub2 .hub-biz .title-sub span:nth-child(even):before {
    content: "";
    height: 100%;
    max-width: 10.6770833333vw;
    flex: 1 0;
}

.sec-hub2 .hub-biz .descriptions {
    font-size: 0;
    margin-top: 1.3541666667vw;
    padding-bottom: 2.5520833333vw;
}

.sec-hub2 .hub-biz .descriptions ul {
    display: inline-block;
    width: 50%;
    vertical-align: top;
    box-sizing: border-box;
}

.sec-hub2 .hub-biz .descriptions ul:nth-child(1) {
    padding-right: 1.3020833333vw;
}

.sec-hub2 .hub-biz .descriptions ul:nth-child(2) {
    padding-left: 1.3020833333vw;
}

.sec-hub2 .hub-biz .descriptions ul li {
    line-height: 2.7083333333vw;
}

.sec-hub2 .hub-biz .descriptions ul li:before {
    top: 1.1458333333vw;
}

.sec-hub2 .hub-biz .descriptions ul li + li {
    margin-top: 2.7083333333vw;
}

@media (max-width: 767px) {
    .sec-hub2 .hub-biz {
        margin-top: 84px;
    }

    .sec-hub2 .hub-biz .title-sub {
        font-size: 28px;
    }

    .sec-hub2 .hub-biz .title-sub span {
        display: inline;
    }

    .sec-hub2 .hub-biz .title-sub span:nth-child(even) {
        display: inline;
    }

    .sec-hub2 .hub-biz .title-sub span:nth-child(even):before {
        display: none;
    }

    .sec-hub2 .hub-biz .descriptions {
        margin-top: 0;
        padding-bottom: 12px;
    }

    .sec-hub2 .hub-biz .descriptions ul {
        display: block;
        width: 100%;
        padding: 0 50px 0 0 !important;
    }

    .sec-hub2 .hub-biz .descriptions ul li {
        line-height: 25px;
    }

    .sec-hub2 .hub-biz .descriptions ul li:before {
        top: 11px;
    }

    .sec-hub2 .hub-biz .descriptions ul li + li {
        margin-top: 25px;
    }

    .sec-hub2 .hub-biz .descriptions ul + ul {
        margin-top: 25px;
    }
}

article[class^=ventures-] {
    max-width: 61.4583333333vw;
}

article[class^=ventures-] p {
    margin-left: auto;
    text-indent: 2.3958333333vw;
    font-size: 1.3541666667vw;
    line-height: 1.6153846154;
}

article[class^=ventures-] h5 {
    margin-left: auto;
    font-size: 1.3541666667vw;
    line-height: 1.6153846154;
    margin-top: 3.90625vw;
}

article[class^=ventures-] .title-sub {
    padding-bottom: 2.1354166667vw;
}

@media (max-width: 767px) {
    article[class^=ventures-] {
        max-width: 100%;
    }

    article[class^=ventures-] .title-sub {
        padding-bottom: 45px;
    }

    article[class^=ventures-] p {
        text-indent: 23px;
        font-size: 14px;
        line-height: 21px;
    }

    article[class^=ventures-] h5 {
        font-size: 14px;
        line-height: 21px;
        margin-top: 42px;
    }
}

.visualset-ventures p {
    text-indent: 0;
}

.visualset-ventures h3 + p {
    margin-top: 3.3333333333vw;
}

.visualset-ventures p + p {
    margin-top: 3.2291666667vw;
}

.visualset-ventures .btn-area {
    max-width: 61.4583333333vw;
    margin: 3.6458333333vw 0 6.9791666667vw;
}

.visualset-ventures .pic-1 {
    left: 50%;
    top: -5.2083333333vw;
    width: 50vw;
    height: 46.875vw;
    background-image: url("../images/visual-ventures-01.jpg");
    margin-left: -5.7291666667vw;
}

.visualset-ventures .pic-2 {
    right: 50%;
    top: calc(100% + 10.7291666667vw);
    width: 20.833vw;
    height: 29.166vw;
    background-image: url("../images/visual-ventures-02-3.jpg");
    margin-right: 26.71875vw;
}

.visualset-ventures .pic-3 {
    right: 50%;
    top: calc(100% + 17.2395833333vw);
    width: 20.833vw;
    height: 29.166vw;
    background-image: url("../images/visual-ventures-03-3.jpg");
    margin-right: 8.2291666667vw;
}

.visualset-ventures .pic-4 {
    left: 50%;
    top: calc(100% - 1.5625vw);
    width: 20.833vw;
    height: 29.166vw;
    background-image: url("../images/visual-ventures-04-3.jpg");
    margin-left: -5.7291666667vw;
}

.visualset-ventures .pic-5 {
    left: 50%;
    top: calc(100% + 17.2395833333vw);
    width: 20.833vw;
    height: 29.166vw;
    background-image: url("../images/visual-ventures-05-2.jpg");
    margin-left: 23.4375vw;
}

@media (max-width: 767px) {
    .visualset-ventures h3 + p {
        margin-top: 28px;
    }

    .visualset-ventures p + p {
        margin-top: 28px;
    }

    .visualset-ventures .btn-area {
        max-width: 100%;
        margin: 30px 0 0;
    }

    .visualset-ventures .pic-1 {
        top: -60px;
        width: 254px;
        height: 244px;
        margin-right: -17px;
        margin-top: -5px;
        margin-left: 0;
    }

    .visualset-ventures .pic-2 {
        top: calc(100% + 96px);
        width: 105px;
        height: 147px;
        margin-right: 87px;
        z-index: 1;
    }

    .visualset-ventures .pic-3 {
        top: calc(100% + 157px);
        width: 104px;
        height: 146px;
        margin-right: -8px;
    }

    .visualset-ventures .pic-4 {
        top: calc(100% - 46px);
        width: 130px;
        height: 182px;
        margin-left: -46px;
    }

    .visualset-ventures .pic-5 {
        top: calc(100% + 57px);
        width: 118px;
        height: 165px;
        margin-left: 86px;
    }
}

.sec-ventures {
    margin-top: 58.0208333333vw;
}

@media (max-width: 767px) {
    .sec-ventures {
        margin-top: 382px;
    }
}

.sec-ventures .ventures-strategy h5 {
    display: block;
    font-size: 1.3541666667vw;
    line-height: 1.6153846154;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: underline;
}

.sec-ventures .ventures-strategy .list-desc {
    margin-top: 2.0833333333vw;
}

.sec-ventures .ventures-strategy .video {
    margin-left: auto;
    font-size: 0;
    line-height: 0;
}

.sec-ventures .ventures-strategy .video video {
    width: 100%;
    margin: 0.9375vw 0 -0.5208333333vw;
}

@media (max-width: 767px) {
    .sec-ventures .ventures-strategy h5 {
        font-size: 14px;
        line-height: 21px;
    }

    .sec-ventures .ventures-strategy .list-desc {
        margin-top: 19px;
    }

    .sec-ventures .ventures-strategy .video video {
        margin: 15px 0 0;
    }
}

.sec-ventures .sec-full-ventures {
    height: 50vw;
}

.sec-ventures .sec-full-ventures figure {
    background-image: url("../images/ventures-01-3.jpg");
}

@media (max-width: 767px) {
    .sec-ventures .sec-full-ventures {
        height: 52vw;
    }
}

.sec-ventures .ventures-impact {
    margin-top: 7.34375vw;
}

@media (max-width: 767px) {
    .sec-ventures .ventures-impact {
        margin-top: 38px;
    }
}

.sec-ventures .ventures-data {
    margin-top: 9.7916666667vw;
}

.sec-ventures .ventures-data .chart {
    margin-top: -1.1979166667vw;
    font-size: 0;
}

.sec-ventures .ventures-data .chart li {
    width: 50%;
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
}

.sec-ventures .ventures-data .chart li:nth-child(odd) {
    padding-right: 1.3020833333vw;
}

.sec-ventures .ventures-data .chart li:nth-child(even) {
    padding-left: 1.3020833333vw;
}

.sec-ventures .ventures-data .chart img {
    display: block;
    max-width: 100%;
}

@media (max-width: 767px) {
    .sec-ventures .ventures-data {
        margin-top: 78px;
    }

    .sec-ventures .ventures-data .chart {
        margin-top: -45px;
    }

    .sec-ventures .ventures-data .chart li {
        width: 100%;
        display: block;
        padding: 0 !important;
        margin-top: -40px;
    }
}

.sec-ventures .ventures-impact-report {
    margin-top: 10.15625vw;
}

@media (max-width: 767px) {
    .sec-ventures .ventures-impact-report {
        margin-top: 98px;
    }
}

.sec-ventures .ventures-impact-report .image {
    width: 100%;
    margin-left: 0;
    text-indent: 0;
}

.sec-ventures .ventures-impact-report .image img {
    width: 100%;
    display: block;
}

.sec-ventures2 {
    margin-top: 10.15625vw;
}

@media (max-width: 767px) {
    .sec-ventures2 {
        margin-top: 98px;
    }
}

.sec-ventures2 .venture-with {
    margin-top: 7.7083333333vw;
}

.sec-ventures2 .venture-with .title-page {
    position: relative;
    max-width: 61.4583333333vw;
}

.sec-ventures2 .venture-with .title-page span {
    display: block;
}

.sec-ventures2 .venture-with .title-page:after {
    content: "";
    position: absolute;
    right: 0.46875vw;
    top: 100%;
    width: 9.8958333333vw;
    height: 9.8958333333vw;
    background: url("../images/icon-hoop.png") 50% 50%/contain no-repeat;
    margin-top: -0.9895833333vw;
    transform-origin: 50% 50%;
    z-index: 2;
    animation: infinite-loop 20s linear infinite;
}

@keyframes infinite-loop {
    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }
}

.sec-ventures2 .venture-with .btn-area {
    max-width: 61.4583333333vw;
}

.sec-ventures2 .venture-with dl {
    position: relative;
    margin-top: 5.8854166667vw;
}

.sec-ventures2 .venture-with dl dt {
    padding: 1.71875vw 0 0;
    font-size: 2.5vw;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    border-top: 2px solid #ff5d31;
}

.sec-ventures2 .venture-with dl dt sup {
    display: block;
}

.sec-ventures2 .venture-with dl dt strong {
    display: block;
    font-weight: 700;
    margin-left: 2.7083333333vw;
}

.sec-ventures2 .venture-with dl dd {
    padding: 2.2395833333vw 0 4.53125vw;
    max-width: 61.4583333333vw;
}

.sec-ventures2 .venture-with dl dd .list-desc {
    margin-left: auto;
}

@media (max-width: 767px) {
    .sec-ventures2 .venture-with {
        margin-top: 95px;
    }

    .sec-ventures2 .venture-with .title-page {
        max-width: 100%;
    }

    .sec-ventures2 .venture-with .title-page:after {
        right: -7px;
        width: 78px;
        height: 78px;
        margin: 6px 0 0;
    }

    .sec-ventures2 .venture-with .btn-area {
        max-width: 100%;
    }

    .sec-ventures2 .venture-with dl {
        margin: 54px 0 -30px;
    }

    .sec-ventures2 .venture-with dl dt {
        padding: 15px 0 0;
        font-size: 22px;
        margin-right: -26px;
    }

    .sec-ventures2 .venture-with dl dt strong {
        margin-left: 22px;
        margin-top: 3px;
    }

    .sec-ventures2 .venture-with dl dd {
        padding: 42px 0 43px;
        max-width: 100%;
    }
}

.visualset-vision:after {
    height: 0.7291666667vw;
}

.visualset-vision strong {
    font-size: 7.0833333333vw;
    line-height: 1.1617647059;
    margin-left: -10.6770833333vw;
}

.visualset-vision strong span {
    position: relative;
    display: block;
}

.visualset-vision strong span:nth-child(2), .visualset-vision strong span:nth-child(4), .visualset-vision strong span:nth-child(5) {
    display: flex;
}

.visualset-vision strong span:nth-child(2):before, .visualset-vision strong span:nth-child(4):before, .visualset-vision strong span:nth-child(5):before {
    content: "";
    height: 100%;
    max-width: 10.6770833333vw;
    flex: 1 0;
}

.visualset-vision strong span:nth-child(4):after {
    content: "";
    display: inline-block;
    width: 8.5416666667vw;
    height: 8.0729166667vw;
    margin: -0.2083333333vw 0 0 1.1979166667vw;
    background: url("../images/char-03.png") 50% 50%/contain no-repeat;
    vertical-align: middle;
}

.visualset-vision .pic-1 {
    left: 50%;
    top: 10.4166666667vw;
    width: 59.375vw;
    height: 31.3020833333vw;
    background-image: url("../images/visual-vision-01.jpg");
    margin-left: -15.1041666667vw;
}

.visualset-vision .pic-2 {
    position: relative;
    display: inline-block;
    width: 11.5625vw;
    height: 7.7083333333vw;
    background-image: url("../images/visual-vision-02.jpg");
    margin: 1.1979166667vw 0 0;
    vertical-align: top;
}

.visualset-vision .pic-3 {
    position: relative;
    display: inline-block;
    width: 11.5625vw;
    height: 7.7083333333vw;
    background-image: url("../images/visual-vision-03.jpg");
    margin: 0.15625vw 0.8333333333vw 0 -6.7708333333vw;
    vertical-align: top;
}

@media (max-width: 767px) {
    .visualset-vision:after {
        height: 4px;
    }

    .visualset-vision strong {
        font-size: 39px;
        line-height: 46px;
        margin-left: 0;
    }

    .visualset-vision strong span {
        display: inline !important;
        position: static;
    }

    .visualset-vision strong span:nth-child(3):after {
        content: "";
        display: inline-block;
        width: 58px;
        height: 55px;
        margin: -7px 0 0 10px;
        background: url("../images/char-03.png") 50% 50%/contain no-repeat;
        vertical-align: middle;
    }

    .visualset-vision strong span:nth-child(4):after {
        display: none;
    }

    .visualset-vision .pic-1 {
        top: 63px;
        width: 342px;
        height: 180px;
        margin-left: -40px;
    }

    .visualset-vision .pic-2 {
        position: absolute;
        left: auto;
        right: -2px;
        top: auto;
        bottom: 31px;
        display: block;
        width: 135px;
        height: 90px;
        margin: 0;
    }

    .visualset-vision .pic-3 {
        position: absolute;
        left: auto;
        right: -57px;
        top: auto;
        bottom: 47px;
        display: block;
        width: 135px;
        height: 90px;
        margin: 0;
    }
}

article[class^=vision-] {
    position: relative;
    max-width: 61.4583333333vw;
}

article[class^=vision-] p {
    margin-left: auto;
    text-indent: 2.3958333333vw;
    font-size: 1.3541666667vw;
    line-height: 1.6153846154;
}

article[class^=vision-] h5 {
    margin-left: auto;
    display: block;
    font-size: 1.3541666667vw;
    line-height: 1.6153846154;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: underline;
}

article[class^=vision-] .title-sub {
    padding-bottom: 1.09375vw;
}

@media (max-width: 767px) {
    article[class^=vision-] {
        max-width: 100%;
    }

    article[class^=vision-] p {
        text-indent: 23px;
        font-size: 14px;
        line-height: 21px;
    }

    article[class^=vision-] h5 {
        font-size: 14px;
        line-height: 21px;
    }

    article[class^=vision-] .title-sub {
        padding-bottom: 41px;
    }
}

.vision-mission {
    margin-top: 17.96875vw;
    padding-bottom: 62.5vw;
}

.vision-mission .list-desc {
    margin-top: 2.0833333333vw;
}

.vision-mission .tit {
    padding-bottom: 5.46875vw;
    font-weight: 600;
    font-size: 1.6666666667vw;
    line-height: 1.5;
}

.vision-mission .sticker-orange {
    right: 0.5208333333vw;
    bottom: 7.2916666667vw;
}

.vision-mission .pic {
    position: absolute;
    left: 50%;
    bottom: 11.1458333333vw;
    width: 61.4583333333vw;
    height: 44.2708333333vw;
    z-index: -1;
    background: url("../images/vision-01.png") 50% 50%/contain no-repeat;
    margin-left: -41.40625vw;
}

html.ie .vision-mission .pic {
    background-position: 50% 50% !important;
}

html:not(.ie) .vision-mission .pic {
    background-image: url("../images/vision-01.jpg");
    clip-path: polygon(0% 32.9411764706%, 17.3728813559% 32.9411764706%, 17.3728813559% 22.1176470588%, 34.7457627119% 22.1176470588%, 34.7457627119% 11.1764705882%, 52.1186440678% 11.1764705882%, 52.1186440678% 0%, 100% 0%, 100% 67.0588235294%, 82.8813559322% 67.0588235294%, 82.8813559322% 77.6470588235%, 65.6779661017% 77.6470588235%, 65.6779661017% 88.8235294118%, 48.3050847458% 88.8235294118%, 48.3050847458% 100%, 0% 100%);
}

.vision-mission .simbol-ring-120 {
    right: 0;
    top: -9.375vw;
}

@media (max-width: 767px) {
    .vision-mission {
        margin-top: 98px;
        padding-bottom: 386px;
    }

    .vision-mission .list-desc {
        margin-top: 19px;
    }

    .vision-mission .tit {
        padding-bottom: 55px;
        font-size: 16px;
        line-height: 22px;
    }

    .vision-mission .sticker-orange {
        right: 0;
        bottom: 4px;
    }

    .vision-mission .pic {
        bottom: 72px;
        width: 375px;
        height: 270px;
        margin: 0;
        transform: translateX(-50%);
    }

    .vision-mission .simbol-ring-120 {
        right: -10px;
        top: 0;
    }
}

.vision-core {
    padding-bottom: 51.5625vw;
}

.vision-core ol {
    margin-left: auto;
    margin-top: -0.46875vw;
    counter-reset: desc;
}

.vision-core ol li {
    position: relative;
    counter-increment: desc;
    padding: 3.0208333333vw 0 4.4270833333vw 6.5625vw;
    font-size: 1.3541666667vw;
    line-height: 1.3846153846;
    letter-spacing: 0;
}

.vision-core ol li:before {
    content: "0" counter(desc);
    position: absolute;
    left: 0;
    top: 3.4375vw;
    font-size: 2.5vw;
    font-weight: 700;
    text-transform: uppercase;
}

.vision-core ol li + li {
    border-top: 1px solid #0c6468;
}

.vision-core .pic {
    position: absolute;
    left: 50%;
    bottom: 6.6145833333vw;
    width: 73.125vw;
    height: 42.8645833333vw;
    z-index: -1;
    background: url("../images/vision-02.png") 50% 50%/contain no-repeat;
    margin-left: -30.7291666667vw;
}

html.ie .vision-core .pic {
    background-position: 50% 50% !important;
}

html:not(.ie) .vision-core .pic {
    background-image: url("../images/vision-02.jpg");
    clip-path: polygon(0% 0%, 49.8575498575% 0%, 49.8575498575% 21.2636695018%, 100% 21.2636695018%, 100% 100%, 49.8575498575% 100%, 49.8575498575% 78.9793438639%, 0% 78.9793438639%);
}

@media (max-width: 767px) {
    .vision-core {
        padding-bottom: 320px;
    }

    .vision-core ol {
        margin-top: -15px;
    }

    .vision-core ol li {
        padding: 16px 0 20px 45px;
        font-size: 14px;
        line-height: 19px;
    }

    .vision-core ol li:before {
        top: 18px;
        font-size: 22px;
    }

    .vision-core .pic {
        bottom: 39px;
        width: 378px;
        height: 222px;
        margin: 0;
        transform: translateX(-50%);
    }
}

.vision-action .simbol-ring-120 {
    right: 0;
    top: -13.9583333333vw;
}

.vision-action p + h5 {
    margin-top: 4.0104166667vw;
}

@media (max-width: 767px) {
    .vision-action .simbol-ring-120 {
        right: 24px;
        top: -60px;
    }

    .vision-action p + h5 {
        margin-top: 42px;
    }
}

.main-changemakers {
    margin-left: -11.4583333333vw;
}

.main-changemakers h3 {
    font-size: 14.5833333333vw;
    font-weight: 600;
    line-height: 13.0208333333vw;
    text-transform: uppercase;
    margin: 0 -7.8125vw;
    padding: 9vw 0;
    box-sizing: border-box;
    overflow: hidden;
}

.main-changemakers h3 span {
    display: block;
    margin-left: 100%;
}

.main-changemakers h3 span.reversed {
    margin-left: auto;
    margin-right: 100%;
    transform: rotate(180deg);
}

.main-changemakers .links {
    position: relative;
    max-width: 61.4583333333vw;
    height: 80.2083333333vw;
    margin: 0 auto;
}

.main-changemakers .links a {
    position: absolute;
    display: block;
    padding-left: 5.4166666667vw;
}

.main-changemakers .links a strong {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 3.125vw;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    z-index: 1;
}

.main-changemakers .links a strong:after {
    content: "";
    position: absolute;
    left: 0;
    top: 100%;
    width: 3.3333333333vw;
    height: 2.5vw;
    margin-top: 0.2604166667vw;
    background: url("../images/arrow-orange.svg") right 50%/auto 2.5vw no-repeat;
}

.main-changemakers .links a figure {
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
}

.main-changemakers .links a:nth-child(1) {
    right: 50%;
    top: 0;
    margin-right: 1.3020833333vw;
}

.main-changemakers .links a:nth-child(1) strong {
    top: 5.8854166667vw;
}

.main-changemakers .links a:nth-child(1) figure {
    width: 24.0104166667vw;
    height: 31.3020833333vw;
    background-image: url("../images/main-guide-01.jpg");
}

.main-changemakers .links a:nth-child(2) {
    left: 50%;
    top: 18.3333333333vw;
    margin-left: 1.3020833333vw;
}

.main-changemakers .links a:nth-child(2) strong {
    top: 9.8958333333vw;
}

.main-changemakers .links a:nth-child(2) figure {
    width: 24.0104166667vw;
    height: 31.3020833333vw;
    background-image: url("../images/main-guide-02.jpg");
}

.main-changemakers .links a:nth-child(3) {
    right: 50%;
    top: 45.3645833333vw;
    margin-right: 1.3020833333vw;
    padding-left: 2.5vw;
}

.main-changemakers .links a:nth-child(3) strong {
    top: 2.4479166667vw;
}

.main-changemakers .links a:nth-child(3) figure {
    width: 18.6979166667vw;
    height: 24.375vw;
    background-image: url("../images/main-guide-03.jpg");
}

.hoverable .main-changemakers .links a:hover strong:after {
    transform: translate3d(1.5625vw, 0, 0);
}

html.ie.hoverable .main-changemakers .links a:hover strong:after {
    transform: translate3d(30px, 0, 0);
}

@media (max-width: 767px) {
    .main-changemakers {
        margin: -80px -26px 0;
        padding: 0 26px;
        overflow: hidden;
    }

    .main-changemakers h3 {
        font-size: 64px;
        line-height: 57px;
        margin: 0 -26px;
        padding: 0 0 20px;
        overflow: hidden;
    }

    .main-changemakers .links {
        max-width: 100%;
        height: 793px;
        margin-top: 53px;
    }

    .main-changemakers .links a strong {
        font-size: 21px;
    }

    .main-changemakers .links a strong:after {
        width: 28px;
        height: 21px;
        margin-top: 4px;
        background-size: auto 21px;
    }

    .main-changemakers .links a:nth-child(1) {
        padding-left: 61px;
        right: auto;
        left: 0;
        margin: 0;
    }

    .main-changemakers .links a:nth-child(1) strong {
        top: 23px;
    }

    .main-changemakers .links a:nth-child(1) figure {
        width: 177px;
        height: 231px;
    }

    .main-changemakers .links a:nth-child(2) {
        padding-left: 91px;
        top: 272px;
        margin-left: -91px;
    }

    .main-changemakers .links a:nth-child(2) strong {
        top: 72px;
    }

    .main-changemakers .links a:nth-child(2) figure {
        width: 188px;
        height: 245px;
    }

    .main-changemakers .links a:nth-child(3) {
        padding-left: 45px;
        top: 569px;
        right: auto;
        left: 0;
    }

    .main-changemakers .links a:nth-child(3) strong {
        top: 9px;
    }

    .main-changemakers .links a:nth-child(3) figure {
        width: 153px;
        height: 199px;
    }
}

.main-highlight {
    max-width: 61.4583333333vw;
}

.main-highlight ol {
    counter-reset: desc;
}

.main-highlight ol li {
    position: relative;
    counter-increment: desc;
}

.main-highlight ol li a {
    position: relative;
    display: block;
    max-width: 40.1041666667vw;
}

.main-highlight ol li a strong {
    position: absolute;
    padding: 2.96875vw 0 0 2.6041666667vw;
    font-size: 3.125vw;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    z-index: 1;
}

.main-highlight ol li a strong:before {
    content: "0" counter(desc);
    position: absolute;
    left: 0;
    top: 0;
}

.main-highlight ol li a strong:after {
    content: "";
    position: absolute;
    left: 2.6041666667vw;
    top: 100%;
    width: 3.3333333333vw;
    height: 2.5vw;
    margin-top: 5px;
    background: url("../images/arrow-orange.svg") right 50%/auto 2.5vw no-repeat;
}

.main-highlight ol li a strong > span {
    display: block;
}

.main-highlight ol li a strong > span:nth-child(even) {
    text-indent: 2.3958333333vw;
}

.hoverable .main-highlight ol li a:hover strong:after {
    transform: translate3d(1.5625vw, 0, 0);
}

html.ie.hoverable .main-highlight ol li a:hover strong:after {
    transform: translate3d(30px, 0, 0);
}

.main-highlight ol li a figure {
    width: 40.1041666667vw;
    height: 52.5520833333vw;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
}

.main-highlight ol li:nth-child(1) a {
    margin-left: auto;
}

.main-highlight ol li:nth-child(1) a strong {
    left: -13.2291666667vw;
    top: 15.1041666667vw;
}

.main-highlight ol li:nth-child(2) a {
    margin-right: auto;
}

.main-highlight ol li:nth-child(2) a strong {
    left: 32.03125vw;
    top: 15.1041666667vw;
}

.main-highlight ol li:nth-child(3) a {
    margin-left: auto;
    margin-right: -9.375vw;
}

.main-highlight ol li:nth-child(3) a strong {
    left: -22.6041666667vw;
    top: 15.1041666667vw;
}

.main-highlight ol li + li {
    margin-top: 14.0625vw;
}

.main-highlight .slogan {
    position: sticky;
    bottom: 0;
    margin: -4vw -19.2708333333vw 0;
}

.main-highlight .slogan .mask {
    width: 100%;
    overflow: hidden;
    transform: translate(0, 3.89vw);
}

.main-highlight .slogan p {
    font-size: 14.5833333333vw;
    font-weight: 600;
    color: #ff5d31;
    white-space: nowrap;
    line-height: 1.25;
}

.main-highlight .slogan p span {
    padding-right: 0.25em;
}

@media (max-width: 767px) {
    .main-highlight {
        max-width: 100%;
        margin-top: 60px;
    }

    .main-highlight ol {
        margin: 0 -26px;
        padding: 0 26px;
        overflow: hidden;
    }

    .main-highlight ol li a {
        max-width: 260px;
    }

    .main-highlight ol li a strong {
        font-size: 21px;
        padding: 24px 0 0 0;
    }

    .main-highlight ol li a strong:after {
        left: 0;
        width: 28px;
        height: 21px;
        margin-top: 4px;
        background-size: auto 21px;
    }

    .main-highlight ol li a strong > span:nth-child(even) {
        text-indent: 0;
    }

    .main-highlight ol li a figure {
        width: 260px;
        height: 341px;
        background-position: 50% 50%;
        background-size: cover;
        background-repeat: no-repeat;
    }

    .main-highlight ol li:nth-child(1) a {
        margin-left: 50%;
        transform: translateX(-62px);
    }

    .main-highlight ol li:nth-child(1) a strong {
        left: -70px;
        top: 60px;
    }

    .main-highlight ol li:nth-child(2) a {
        margin-right: auto;
        transform: translateX(-27px);
    }

    .main-highlight ol li:nth-child(2) a strong {
        left: 199px;
        top: 102px;
    }

    .main-highlight ol li:nth-child(3) a {
        margin-left: 50%;
        margin-right: 0;
        transform: translateX(-99px);
    }

    .main-highlight ol li:nth-child(3) a strong {
        left: -63px;
        top: 60px;
    }

    .main-highlight ol li + li {
        margin-top: 114px;
    }

    .main-highlight .slogan {
        margin: 0 -26px;
    }

    .main-highlight .slogan .mask {
        transform: translate(0, 20px);
    }

    .main-highlight .slogan p {
        font-size: 70px;
        font-weight: 600;
        color: #ff5d31;
        white-space: nowrap;
        line-height: 1.25;
    }
}

.main-latest {
    margin-top: 17vw;
}

.main-latest ul {
    margin-top: 4.6354166667vw;
}

.main-latest ul li {
    border-top: 1px solid #0c6468;
    padding: 1.5625vw 0 4.1666666667vw;
    cursor: pointer;
}

.main-latest ul li > a {
    position: relative;
    display: block;
    min-height: 18.6979166667vw;
    padding: 1.6666666667vw 0 7.6041666667vw 20.8854166667vw;
    box-sizing: border-box;
}

.main-latest ul li > a em, .main-latest ul li > a i {
    position: absolute;
    bottom: -3px;
    font-size: 1.25vw;
    line-height: 1.25;
    font-weight: 700;
    text-transform: uppercase;
}

.main-latest ul li > a em {
    left: 20.8854166667vw;
}

.main-latest ul li > a i {
    left: 30.625vw;
}

.main-latest ul li > a strong {
    position: relative;
    display: block;
    padding-bottom: 2.1354166667vw;
    font-size: 2.0833333333vw;
    line-height: 1.2;
    font-weight: 600;
}

.main-latest ul li > a strong span {
    display: block;
    display: block;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.main-latest ul li > a strong:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 2.2916666667vw;
    height: 1.7708333333vw;
    background: url("../images/arrow-green.svg") right 50%/auto 1.7708333333vw no-repeat;
}

.main-latest ul li > a figure {
    position: absolute;
    left: 0;
    top: 0;
    width: 18.6979166667vw;
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
}

.main-latest ul li > a figure:before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 100%;
}

.hoverable .main-latest ul li:hover a {
    transform: translate3d(1.5625vw, 0, 0);
}

html.ie.hoverable .main-latest ul li:hover a {
    transform: translate3d(30px, 0, 0);
}

.main-latest .btn-area {
    margin-top: 1.0416666667vw;
    padding-right: 11.4583333333vw;
}

@media (max-width: 767px) {
    .main-latest {
        margin-top: 90px;
    }

    .main-latest ul li {
        padding: 16px 0 48px;
    }

    .main-latest ul li > a {
        min-height: 118px;
        padding: 1px 0 0 133px;
    }

    .main-latest ul li > a em, .main-latest ul li > a i {
        bottom: -11px;
        font-size: 11px;
    }

    .main-latest ul li > a em {
        left: 133px;
    }

    .main-latest ul li > a i {
        left: 211px;
    }

    .main-latest ul li > a strong {
        padding-bottom: 26px;
        font-size: 18px;
        line-height: 24px;
    }

    .main-latest ul li > a strong span {
        display: block;
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .main-latest ul li > a strong:after {
        width: 20px;
        height: 16px;
        background-size: auto 16px;
    }

    .main-latest ul li > a figure {
        width: 118px;
    }

    .main-latest .btn-area {
        margin-top: 0;
        padding: 0;
    }
}

.sec-main2 {
    margin-bottom: -10.4166666667vw;
}

@media (max-width: 767px) {
    .sec-main2 {
        margin-top: 5.3125vw;
        margin-bottom: -20px;
    }
}

.sec-full-main {
    position: relative;
    padding-top: 56.1979166667vw;
}

.sec-full-main figure {
    height: 56.1979166667vw;
    background-image: url("../images/main-01.jpg");
}

.sec-full-main .sticker-orange {
    right: 0;
    top: 47.65625vw;
    margin-right: -5.15625vw;
}

.sec-full-main .text {
    position: relative;
    left: 50%;
    width: 100vw;
    padding: 5.4166666667vw 0 0;
    margin-left: -47.3958333333vw;
    text-align: center;
}

.sec-full-main .text p {
    padding: 0 9.8958333333vw;
    font-size: 3.125vw;
    line-height: 1.3333333333;
}

.sec-full-main .text .btn-about {
    display: inline-block;
    margin-top: 0.8333333333vw;
    font-size: 9.3229166667vw;
    text-transform: uppercase;
}

.sec-full-main .text .btn-about span {
    display: block;
}

.sec-full-main .text .btn-about span:after {
    content: "";
    display: inline-block;
    width: 8.8020833333vw;
    height: 6.9270833333vw;
    margin: -0.2604166667vw 0 0 2.5520833333vw;
    margin-top: -1.5vw;
    background: url("../images/arrow-green.svg") right 50%/auto 6.9270833333vw no-repeat;
    vertical-align: middle;
}

.hoverable .sec-full-main .text .btn-about:hover span {
    transform: translate3d(1.5625vw, 0, 0);
}

html.ie.hoverable .sec-full-main .text .btn-about:hover span {
    transform: translate3d(30px, 0, 0);
}

@media (max-width: 767px) {
    .sec-full-main {
        padding-top: 218px;
        margin-top: 102px;
    }

    .sec-full-main figure {
        height: 218px;
    }

    .sec-full-main .sticker-orange {
        right: 25px;
        top: 146px;
        margin-right: 0;
    }

    .sec-full-main .text {
        width: 100%;
        padding: 36px 0 0;
        left: 0;
        margin: 0;
        box-sizing: border-box;
    }

    .sec-full-main .text p {
        padding: 0 26px;
        font-size: 18px;
        line-height: 24px;
    }

    .sec-full-main .text .btn-about {
        margin-top: 8px;
        font-size: 46px;
    }

    .sec-full-main .text .btn-about span:after {
        width: 39px;
        height: 30px;
        margin: -5px 0 0 17px;
        background-size: auto 30px;
    }
}

.main-people {
    margin: 11.3541666667vw -7.8125vw 0 -47.3958333333vw;
    -padding-bottom: 40.5208333333vw;
}

.main-people .people-wrap {
    position: sticky;
    top: 0;
    height: 100vh;
    padding: 0 7.8125vw 0 47.3958333333vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
}

.main-people .svg-mask {
    position: fixed;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    z-index: -2;
}

.main-people .item-people {
    font-size: 0;
    text-align: center;
    min-height: 22.4479166667vw;
    display: block;
}

.main-people .item-people svg {
    width: 15.9375vw;
    height: 15.9375vw;
    margin: 0 auto;
}

.main-people .item-people svg image {
    width: 100%;
    height: 100%;
    mask: url(#photo-mask);
}

.main-people .item-people strong {
    display: block;
    font-size: 2.0833333333vw;
    font-weight: 600;
    margin: 1.3541666667vw 0 0;
}

.main-people .item-people em {
    display: block;
    font-size: 1.5625vw;
    font-weight: 600;
    text-transform: uppercase;
    margin: 0.625vw 0 0;
}

.main-people .item-people a {
    display: block;
}

.main-people .list-people {
    margin-top: 0.8854166667vw;
    font-size: 0;
    white-space: nowrap;
}

.main-people .list-people .item-team {
    position: relative;
    display: inline-block;
    padding: 5.5729166667vw 0 0 5.2083333333vw;
    vertical-align: top;
}

.main-people .list-people .item-team .title {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 11.1458333333vw;
    height: 11.1458333333vw;
    font-size: 1.5625vw;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    background-color: #0c6468;
    border-radius: 100%;
    text-transform: uppercase;
    z-index: 2;
}

.main-people .list-people .item-team .title > span {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.main-people .list-people .item-team .title > span:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    width: 1.875vw;
    height: 1.4583333333vw;
    margin-top: 0.5208333333vw;
    background: url("../images/arrow-white.svg") right 50%/auto 1.4583333333vw no-repeat;
    transform: translateX(-50%);
}

.hoverable .main-people .list-people .item-team .title:hover span:after {
    transform: translate3d(0.12vw, 0, 0);
}

html.ie.hoverable .main-people .list-people .item-team .title:hover span:after {
    transform: translate3d(10px, 0, 0);
}

.main-people .list-people .item-team .list li {
    width: 25vw;
    display: inline-block;
    margin: 0 1.3020833333vw;
    box-sizing: border-box;
    vertical-align: top;
    text-align: center;
    white-space: normal;
}

.hoverable .main-people .list-people .item-team .list li:hover a {
    transform: translate3d(0, -1.0416666667vw, 0);
}

html.ie.hoverable .main-people .list-people .item-team .list li:hover a {
    transform: translate3d(0, -20px, 0);
}

.main-people .list-people .item-team + .item-team {
    margin-left: 0.2083333333vw;
}

.main-people .list-people .btn-more {
    position: relative;
    display: inline-block;
    width: 25vw;
    padding-top: 5.5729166667vw;
    margin-left: 1.40625vw;
    margin-right: 5.2083333333vw;
    text-align: center;
    vertical-align: top;
}

.main-people .list-people .btn-more a {
    position: relative;
}

.main-people .list-people .btn-more a:before, .main-people .list-people .btn-more a:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 7.9166666667vw;
    width: 3.6458333333vw;
    height: 2px;
    background-color: #0c6468;
    transform: translate(-50%, -50%);
    transform-origin: 50% 50%;
}

.main-people .list-people .btn-more a::after {
    transform: translate(-50%, -50%) rotate(-90deg);
}

.hoverable .main-people .list-people .btn-more:hover a {
    transform: translate3d(0, -1.0416666667vw, 0);
}

html.ie.hoverable .main-people .list-people .btn-more:hover a {
    transform: translate3d(0, -20px, 0);
}

@media (max-width: 767px) {
    .main-people {
        margin: 123px 0 0;
        padding-bottom: 160px;
    }

    .main-people .people-wrap {
        position: relative;
        height: auto;
        margin: 0 -26px;
        padding: 0;
        display: block;
        overflow: hidden;
    }

    .main-people .title-page {
        padding: 0 26px;
    }

    .main-people .item-people svg {
        width: 153px;
        height: 153px;
    }

    .main-people .item-people strong {
        margin: 21px 0 0;
        font-size: 16px;
        line-height: 22px;
    }

    .main-people .item-people em {
        margin: 4px 0 0;
        font-size: 12px;
    }

    .main-people .list-people {
        margin: 10px 0 -20px;
        padding: 0 26px 20px;
        display: block;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    .main-people .list-people .item-team {
        padding: 54px 0 0 81px;
    }

    .main-people .list-people .item-team .title {
        width: 107px;
        height: 107px;
        font-size: 15px;
    }

    .main-people .list-people .item-team .title > span:after {
        width: 18px;
        height: 14px;
        margin-top: 6px;
        background-size: auto 14px;
    }

    .main-people .list-people .item-team .list li {
        width: 180px;
        margin: 0 12px;
    }

    .main-people .list-people .item-team + .item-team {
        margin-left: 32px;
    }

    .main-people .list-people .btn-more {
        width: 180px;
        padding-top: 54px;
        margin-left: 14px;
        margin-right: -13px;
    }

    .main-people .list-people .btn-more a:before, .main-people .list-people .btn-more a:after {
        top: 76px;
        width: 35px;
        height: 1px;
    }
}