@charset "UTF-8";
@-webkit-keyframes scrollarrow {
    0% {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0)
    }
    25% {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }
    75% {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }
    to {
        -webkit-clip-path: inset(0 0 0 100%);
        clip-path: inset(0 0 0 100%)
    }
}

@keyframes scrollarrow {
    0% {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0)
    }
    25% {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }
    75% {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }
    to {
        -webkit-clip-path: inset(0 0 0 100%);
        clip-path: inset(0 0 0 100%)
    }
}

@-webkit-keyframes arrow_hover {
    0% {
        transform: translate(6px)
    }
    to {
        transform: translate(0)
    }
}

@keyframes arrow_hover {
    0% {
        transform: translate(6px)
    }
    to {
        transform: translate(0)
    }
}

@-webkit-keyframes arrow_hover_reverse {
    0% {
        transform: scaleX(-1) translate(6px)
    }
    to {
        transform: scaleX(-1) translate(0)
    }
}

@keyframes arrow_hover_reverse {
    0% {
        transform: scaleX(-1) translate(6px)
    }
    to {
        transform: scaleX(-1) translate(0)
    }
}

@-webkit-keyframes backtop_hover {
    0% {
        transform: translate(-50%, -6px) rotate(45deg)
    }
    to {
        transform: translate(-50%) rotate(45deg)
    }
}

@keyframes backtop_hover {
    0% {
        transform: translate(-50%, -6px) rotate(45deg)
    }
    to {
        transform: translate(-50%) rotate(45deg)
    }
}

@-webkit-keyframes arrowbox_hover_prev {
    0% {
        transform: translate(calc(-50% - 6px), -50%) rotate(-135deg)
    }
    to {
        transform: translate(-50%, -50%) rotate(-135deg)
    }
}

@keyframes arrowbox_hover_prev {
    0% {
        transform: translate(calc(-50% - 6px), -50%) rotate(-135deg)
    }
    to {
        transform: translate(-50%, -50%) rotate(-135deg)
    }
}

@-webkit-keyframes arrowbox_hover_next {
    0% {
        transform: translate(calc(-50% + 6px), -50%) rotate(45deg)
    }
    to {
        transform: translate(-50%, -50%) rotate(45deg)
    }
}

@keyframes arrowbox_hover_next {
    0% {
        transform: translate(calc(-50% + 6px), -50%) rotate(45deg)
    }
    to {
        transform: translate(-50%, -50%) rotate(45deg)
    }
}

@-webkit-keyframes insetWipeIn {
    0% {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0)
    }
    to {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }
}

@keyframes insetWipeIn {
    0% {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0)
    }
    to {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }
}

@-webkit-keyframes insetWipeOut {
    0% {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }
    to {
        -webkit-clip-path: inset(0 0 0 100%);
        clip-path: inset(0 0 0 100%)
    }
}

@keyframes insetWipeOut {
    0% {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }
    to {
        -webkit-clip-path: inset(0 0 0 100%);
        clip-path: inset(0 0 0 100%)
    }
}


/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */

*,
:after,
:before {
    border-style: solid;
    border-width: 0;
    box-sizing: border-box
}

html {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    line-height: 1.15
}

body {
    margin: 0
}

main {
    display: block
}

address,
blockquote,
dl,
figure,
form,
iframe,
p,
pre,
table {
    margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    margin: 0
}

ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0
}

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

hr {
    border-top-width: 1px;
    box-sizing: content-box;
    clear: both;
    color: inherit;
    height: 0;
    margin: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: inherit
}

address {
    font-style: inherit
}

a {
    background-color: transparent;
    color: inherit;
    text-decoration: none
}

abbr[title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: inherit
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

embed,
iframe,
img,
object {
    vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border-radius: 0;
    color: inherit;
    font: inherit;
    margin: 0;
    outline: 0;
    padding: 0;
    text-align: inherit;
    vertical-align: middle
}

[type=checkbox] {
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox
}

[type=radio] {
    -webkit-appearance: radio;
    -moz-appearance: radio;
    appearance: radio
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer
}

[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled],
button[disabled] {
    cursor: default
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

select::-ms-expand {
    display: none
}

fieldset,
option {
    padding: 0
}

fieldset {
    margin: 0;
    min-width: 0
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

label[for] {
    cursor: pointer
}

details {
    display: block
}

summary {
    display: list-item
}

[contenteditable] {
    outline: none
}

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

caption {
    text-align: left
}

td,
th {
    padding: 0;
    vertical-align: top
}

th {
    font-weight: 700;
    text-align: left
}

[hidden],
template {
    display: none
}

body,
html {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "palt";
    font-family: futura-pt, a-otf-gothic-bbb-pr6n, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: .1em;
    line-height: 2.4285
}

html:not(.wf-active),
html:not(.wf-active) * {
    color: transparent!important
}

.spbr {
    display: none
}

.pcbr {
    display: block;
    height: 0;
    width: 0
}

@media (max-width:1023px) {
    .spbr {
        display: block;
        height: 0;
        width: 0
    }
    .pcbr {
        display: none
    }
}


/*! locomotive-scroll v4.1.1 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */

html.has-scroll-smooth {
    overflow: hidden
}

html.has-scroll-dragging {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.has-scroll-smooth body {
    overflow: hidden
}

.has-scroll-smooth [data-scroll-container] {
    min-height: 100vh
}

[data-scroll-direction=horizontal] [data-scroll-container] {
    display: inline-block;
    height: 100vh;
    white-space: nowrap
}

[data-scroll-direction=horizontal] [data-scroll-section] {
    display: inline-block;
    height: 100%;
    vertical-align: top;
    white-space: nowrap
}

.c-scrollbar {
    height: 100%;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform-origin: center right;
    transition: transform .3s, opacity .3s;
    width: 11px
}

.c-scrollbar:hover {
    transform: scaleX(1.45)
}

.c-scrollbar:hover,
.has-scroll-dragging .c-scrollbar,
.has-scroll-scrolling .c-scrollbar {
    opacity: 1
}

[data-scroll-direction=horizontal] .c-scrollbar {
    bottom: 0;
    height: 10px;
    top: auto;
    transform: scaleY(1);
    width: 100%
}

[data-scroll-direction=horizontal] .c-scrollbar:hover {
    transform: scaleY(1.3)
}

.c-scrollbar_thumb {
    background-color: #000;
    border-radius: 10px;
    cursor: -webkit-grab;
    cursor: grab;
    margin: 2px;
    opacity: .5;
    position: absolute;
    right: 0;
    top: 0;
    width: 7px
}

.has-scroll-dragging .c-scrollbar_thumb {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

[data-scroll-direction=horizontal] .c-scrollbar_thumb {
    bottom: 0;
    right: auto
}

.arrowlinkbtn,
.arrowlinkbtn--back {
    border-top: 1px solid rgba(0, 0, 0, .1);
    color: #000;
    display: inline-block;
    font-size: 17px;
    height: auto;
    letter-spacing: .1em;
    line-height: 24px;
    padding: 10px 50px 0 0;
    position: relative;
    text-decoration: none;
    width: auto
}

.arrowlinkbtn--back:after,
.arrowlinkbtn:after {
    background-image: url(../images/arrow_bk.png);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: 120px;
    content: "";
    display: block;
    height: 6px;
    position: absolute;
    right: 0;
    top: 19px;
    width: 31px
}

body:not(.touch) .arrowlinkbtn--back:before,
body:not(.touch) .arrowlinkbtn:before {
    background-color: #000;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    top: -1px;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
    width: 100%
}

body:not(.touch) .arrowlinkbtn--back:hover:before,
body:not(.touch) .arrowlinkbtn:hover:before {
    transform: scaleX(1);
    transform-origin: left center
}

body:not(.touch) .arrowlinkbtn--back:hover:after,
body:not(.touch) .arrowlinkbtn:hover:after {
    -webkit-animation: arrow_hover 1s cubic-bezier(.19, 1, .22, 1) 0s infinite;
    animation: arrow_hover 1s cubic-bezier(.19, 1, .22, 1) 0s infinite
}

.arrowlinkbtn--back {
    padding-left: 50px;
    padding-right: 0
}

.arrowlinkbtn--back:after {
    left: 0;
    right: auto;
    transform: scaleX(-1)
}

body:not(.touch) .arrowlinkbtn--back:before {
    transform-origin: left center
}

body:not(.touch) .arrowlinkbtn--back:hover:before {
    transform-origin: right center
}

body:not(.touch) .arrowlinkbtn--back:hover:after {
    -webkit-animation: arrow_hover_reverse 1s cubic-bezier(.19, 1, .22, 1) 0s infinite;
    animation: arrow_hover_reverse 1s cubic-bezier(.19, 1, .22, 1) 0s infinite
}

@media (max-width:1023px) {
    .arrowlinkbtn,
    .arrowlinkbtn--back {
        font-size: 15px;
        letter-spacing: .1em;
        line-height: 24px;
        padding: 4px 36px 4px 0
    }
    .arrowlinkbtn--back:after,
    .arrowlinkbtn:after {
        height: 4px;
        right: 0;
        top: 16px;
        width: 22px
    }
    .arrowlinkbtn--back {
        padding-left: 32px;
        padding-right: 0
    }
}

.verticalheading {
    height: auto;
    padding-right: 14px;
    position: absolute;
    width: 64px
}

.verticalheading__en {
    color: grey;
    display: block;
    font-size: 11px;
    height: auto;
    letter-spacing: .1em;
    line-height: 14px;
    position: absolute;
    right: 0;
    top: 4px;
    transform: translate(100%) rotate(90deg);
    transform-origin: left top;
    white-space: nowrap;
    width: auto
}

.verticalheading__ja {
    font-feature-settings: normal;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 34px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .2em;
    line-height: 48px
}

.verticalheading__ja,
.verticalheading__sub {
    display: block;
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.verticalheading__sub {
    font-feature-settings: normal;
    color: grey;
    font-size: 14px;
    height: auto;
    letter-spacing: .1em;
    line-height: 20px;
    position: absolute;
    right: 70px;
    top: 0;
    transform-origin: left top;
    width: auto
}

@media (max-width:1023px) {
    .verticalheading {
        padding-right: 14px;
        width: 44px
    }
    .verticalheading__en {
        font-size: 9px;
        letter-spacing: .1em;
        line-height: 11px;
        top: 2px
    }
    .verticalheading__ja {
        font-size: 22px;
        letter-spacing: .2em;
        line-height: 32px
    }
    .verticalheading__sub {
        font-size: 13px;
        letter-spacing: .1em;
        line-height: 32px;
        margin: 16px 0 0;
        position: relative;
        right: auto;
        top: auto;
        white-space: nowrap
    }
}

.cliplist {
    align-items: stretch;
    display: flex;
    flex-flow: row wrap;
    height: auto;
    justify-content: flex-start;
    position: relative;
    width: 100%
}

.cliplist:before {
    background-color: #f2f2f2;
    content: "";
    display: block;
    height: calc(100% - 154px);
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.cliplist__item {
    background-color: #fff;
    flex: 0 1 25%;
    padding-bottom: 38px;
    position: relative;
    width: 25%;
    z-index: 1
}

.cliplist__item__link {
    display: block;
    height: auto;
    width: 100%
}

.cliplist__item__thumb {
    border-bottom: 4px solid #e5e5e5;
    height: auto;
    overflow: hidden;
    position: relative;
    width: 100%
}

[data-term="1"] .cliplist__item__thumb {
    border-bottom-color: #3f8eda
}

[data-term="2"] .cliplist__item__thumb {
    border-bottom-color: #ff7b91
}

[data-term="3"] .cliplist__item__thumb {
    border-bottom-color: #b6b072
}

[data-term="4"] .cliplist__item__thumb {
    border-bottom-color: #dc801e
}

[data-term="5"] .cliplist__item__thumb {
    border-bottom-color: #399a4a
}

[data-term="6"] .cliplist__item__thumb {
    border-bottom-color: red
}

[data-term="7"] .cliplist__item__thumb {
    border-bottom-color: #662d80
}

[data-term="8"] .cliplist__item__thumb {
    border-bottom-color: #0033b2
}

.cliplist__item__thumb__image {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    height: 0;
    padding-top: 75%;
    position: relative;
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    width: 100%
}

.cliplist.ready .cliplist__item.is-inview .cliplist__item__thumb__image {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
}

.cliplist__item__thumb__term {
    background-color: #000;
    bottom: 0;
    color: #fff;
    display: inline-block;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    height: 28px;
    left: 0;
    letter-spacing: .1em;
    line-height: 28px;
    min-width: 112px;
    padding: 0 10px;
    position: absolute;
    text-align: center;
    width: auto
}

.cliplist__item__body {
    height: 100px;
    margin-top: 16px;
    position: relative;
    width: 100%
}

.cliplist__item:nth-child(4n+1) .cliplist__item__body {
    padding-left: 30px
}

.cliplist__item__body:before {
    background-color: #000;
    content: "";
    display: block;
    height: 4px;
    left: 0;
    position: absolute;
    top: -20px;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
    width: 100%
}

body:not(.touch) .cliplist__item:hover .cliplist__item__body:before {
    transform: scaleX(1);
    transform-origin: left center
}

.cliplist__item__date {
    color: grey;
    font-size: 15px;
    letter-spacing: .1em;
    line-height: 24px
}

.cliplist__item__title {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    height: auto;
    letter-spacing: .25em;
    line-height: 24px;
    margin-top: 4px;
    max-height: 48px;
    overflow: hidden;
    padding-right: 30px;
    position: relative;
    width: 100%
}

.cliplist__item__likes {
    color: grey;
    font-size: 13px;
    letter-spacing: .1em;
    line-height: 20px;
    margin-top: 4px;
    padding-left: 20px;
    position: relative
}

.cliplist__item__likes:before {
    background-image: url(../images/heart.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 15px 15px;
    content: "";
    display: block;
    height: 15px;
    left: 0;
    position: absolute;
    top: 2px;
    width: 15px
}

.cliplist__categories {
    font-size: 0;
    letter-spacing: 0;
    line-height: 0px;
    position: relative
}

.cliplist__categories__term {
    border: 1px solid #e5e5e5;
    display: inline-block;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    height: 28px;
    letter-spacing: .1em;
    line-height: 26px;
    margin: 10px 10px 0 0;
    min-width: 110px;
    padding: 0 10px;
    position: relative;
    text-align: center;
    width: auto
}

.cliplist__categories__term:before {
    -webkit-animation: insetWipeOut .5s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both;
    animation: insetWipeOut .5s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both;
    border: 1px solid #000;
    content: "";
    display: block;
    height: calc(100% + 2px);
    left: -1px;
    position: absolute;
    top: -1px;
    width: calc(100% + 2px)
}

body:not(.touch) .cliplist__categories__term:hover:before {
    -webkit-animation: insetWipeIn .5s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both;
    animation: insetWipeIn .5s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both
}

.cliplist__categories__dropdown {
    display: none
}

@media (max-width:1023px) {
    .cliplist:before {
        display: none
    }
    .cliplist__item {
        flex: 0 1 50%;
        padding-bottom: 20px;
        width: 50%
    }
    .cliplist__item:last-child:nth-child(odd):after {
        background-color: #f2f2f2;
        content: "";
        display: block;
        height: 0;
        left: 100%;
        padding-top: calc(75% + 2px);
        position: absolute;
        top: 0;
        width: 100%
    }
    .cliplist__item__thumb {
        border-bottom-width: 2px
    }
    .cliplist__item__thumb__term {
        font-size: 9px;
        height: 24px;
        letter-spacing: .1em;
        line-height: 24px;
        min-width: 92px;
        padding: 0 10px
    }
    .cliplist__item__body {
        height: auto;
        margin-top: 10px
    }
    .cliplist__item:nth-child(4n+1) .cliplist__item__body {
        padding-left: 0
    }
    .cliplist__item:nth-child(odd) .cliplist__item__body {
        padding-left: 15px
    }
    .cliplist__item__body:before {
        display: none
    }
    .cliplist__item__date {
        font-size: 13px;
        letter-spacing: .1em;
        line-height: 22px
    }
    .cliplist__item__title {
        display: block;
        font-size: 13px;
        letter-spacing: .25em;
        line-height: 23px;
        margin-top: 2px;
        max-height: none;
        overflow: visible;
        padding-right: 15px
    }
    .cliplist__item__likes {
        font-size: 12px;
        letter-spacing: .1em;
        margin-top: 4px;
        padding-left: 20px
    }
    .cliplist__categories__list {
        display: none
    }
    .cliplist__categories__dropdown {
        display: block;
        height: 44px;
        position: relative;
        width: 100%
    }
    .cliplist__categories__dropdown__label {
        border: 1px solid #e5e5e5;
        display: block;
        font-family: dnp-shuei-mincho-pr6n, sans-serif;
        font-size: 13px;
        font-style: normal;
        font-weight: 500;
        height: 100%;
        letter-spacing: .1em;
        line-height: 24px;
        padding: 9px 20px;
        position: relative;
        width: 100%;
        z-index: 0
    }
    .cliplist__categories__dropdown__label:after {
        background-image: url(../images/selection.png);
        background-position: 50%;
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: block;
        height: 44px;
        position: absolute;
        right: 4px;
        top: -1px;
        width: 44px;
        z-index: 0
    }
    .cliplist__categories__dropdown__select {
        display: block;
        font-size: 16px;
        height: 100%;
        left: 0;
        opacity: 0;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 1
    }
}

.conversation,
.conversation--even,
.conversation--odd {
    margin: 180px auto 0;
    padding: 0 0 0 17.6471%;
    position: relative;
    width: 100%
}

.conversation--odd .conversation__label {
    text-align: right
}

.conversation--odd .conversation__block:nth-of-type(odd) .conversation__images {
    margin-left: -11.9048%;
    order: 1
}

.conversation--odd .conversation__block:nth-of-type(odd) .conversation__contents {
    order: 2
}

.conversation--odd .conversation__block:nth-of-type(2n) .conversation__images {
    margin-right: -11.9048%;
    order: 2
}

.conversation--odd .conversation__block:nth-of-type(2n) .conversation__contents {
    order: 1
}

.conversation--even .conversation__label {
    text-align: left
}

.conversation--even .conversation__block:nth-of-type(odd) .conversation__images {
    margin-right: -11.9048%;
    order: 2
}

.conversation--even .conversation__block:nth-of-type(odd) .conversation__contents {
    order: 1
}

.conversation--even .conversation__block:nth-of-type(2n) .conversation__images {
    margin-left: -11.9048%;
    order: 1
}

.conversation--even .conversation__block:nth-of-type(2n) .conversation__contents {
    order: 2
}

.conversation__label {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 42px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 62px
}

.conversation__block {
    align-items: stretch;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin-top: 100px
}

.conversation__block:nth-of-type(odd) .conversation__images {
    margin-left: -11.9048%;
    order: 1
}

.conversation__block:nth-of-type(odd) .conversation__contents {
    order: 2
}

.conversation__block:nth-of-type(2n) .conversation__images {
    margin-right: -11.9048%;
    order: 2
}

.conversation__block:nth-of-type(2n) .conversation__contents {
    order: 1
}

.conversation__images {
    flex: 0 1 40%;
    width: 40%
}

.conversation__images img {
    display: block;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    width: 100%
}

.conversation__images img+img {
    margin-top: 10px
}

.conversation__images img.vertical {
    width: 75%
}

.conversation__contents {
    flex: 0 1 60%;
    flex-basis: 60%;
    width: 60%
}

.conversation__contents p {
    position: relative
}

.conversation__contents p:before {
    background-color: #ccc;
    content: "";
    display: block;
    height: 1px;
    left: -60px;
    position: absolute;
    top: 16px;
    width: 40px
}

.conversation__contents p span {
    color: grey
}

.conversation__contents p+p {
    margin-top: 34px
}

.conversation__eyecatch {
    height: auto;
    margin: 180px 0;
    overflow: hidden;
    position: relative;
    width: 100%
}

.conversation__eyecatch>div {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 0;
    padding-top: 56.25%;
    width: 100%
}

@media (max-width:1023px) {
    .conversation,
    .conversation--even,
    .conversation--odd {
        margin: 70px 0 0;
        padding: 0 0 0 30px;
        width: 100%
    }
    .conversation--even .conversation__label,
    .conversation--odd .conversation__label {
        text-align: left
    }
    .conversation--even .conversation__block:nth-of-type(2n) .conversation__images,
    .conversation--even .conversation__block:nth-of-type(odd) .conversation__images,
    .conversation--odd .conversation__block:nth-of-type(2n) .conversation__images,
    .conversation--odd .conversation__block:nth-of-type(odd) .conversation__images {
        margin-left: 0;
        margin-right: 0;
        order: 2
    }
    .conversation--even .conversation__block:nth-of-type(2n) .conversation__contents,
    .conversation--even .conversation__block:nth-of-type(odd) .conversation__contents,
    .conversation--odd .conversation__block:nth-of-type(2n) .conversation__contents,
    .conversation--odd .conversation__block:nth-of-type(odd) .conversation__contents {
        order: 1
    }
    .conversation__label {
        font-size: 22px;
        letter-spacing: .25em;
        line-height: 32px
    }
    .conversation__label br {
        display: none
    }
    .conversation__block {
        display: block;
        margin-top: 0
    }
    .conversation__contents,
    .conversation__images {
        margin-top: 26px;
        width: 100%
    }
    .conversation__contents p:before {
        left: -30px;
        width: 20px
    }
    .conversation__eyecatch {
        margin: 100px 0;
        width: calc(100% + 30px)
    }
}

.footer {
    height: auto;
    margin-top: 100px;
    padding-top: 100px;
    position: relative;
    width: 100%
}

.footer:before {
    background-color: rgba(0, 0, 0, .1);
    content: "";
    display: block;
    height: 1px;
    left: calc(50% - 100px);
    position: absolute;
    top: 0;
    width: 200px
}

.footer__container {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500;
    height: auto;
    margin: 0 auto;
    max-width: 1000px;
    padding: 140px 0 210px;
    position: relative;
    width: calc(100% - 200px)
}

.footer__logo {
    display: block;
    height: 180px;
    left: 0;
    position: absolute;
    top: 0;
    width: 340px
}

.footer__logo a {
    background-image: url(../images/footer_logo.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    color: transparent;
    display: block;
    height: 100%;
    overflow: hidden;
    text-indent: 200%;
    white-space: nowrap;
    width: 100%
}

.footer__sns {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    position: absolute;
    right: 0;
    top: 24px
}

.footer__sns__ig {
    display: block;
    flex: 0 0 auto;
    font-size: 11px;
    letter-spacing: .25em;
    line-height: 22px;
    margin-left: 40px;
    padding-left: 30px;
    position: relative;
    white-space: nowrap
}

.footer__sns__ig:before {
    background-image: url(../images/icon_instagram_bk.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 22px;
    left: 0;
    position: absolute;
    top: 0;
    width: 22px
}

.footer__sns__pin {
    color: transparent;
    display: block;
    flex: 0 0 auto;
    height: 22px;
    margin-left: 40px;
    overflow: hidden;
    padding-left: 30px;
    position: relative;
    text-indent: 200%;
    white-space: nowrap;
    width: 22px
}

.footer__sns__pin:before {
    background-image: url(../images/icon_pinterest_bk.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 22px;
    left: 0;
    position: absolute;
    top: 0;
    width: 22px
}

.footer__name {
    font-size: 24px;
    letter-spacing: .25em;
    line-height: 30px
}

.footer__info {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap;
    font-size: 13px;
    justify-content: flex-start;
    letter-spacing: .25em;
    line-height: 32px;
    margin-top: 28px
}

.footer__info__address {
    flex: 0 1 auto;
    margin-right: 100px
}

.footer__info__tel {
    flex: 0 1 auto
}

.footer__asides {
    align-items: stretch;
    bottom: 100px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    left: 0;
    position: absolute;
    z-index: 0
}

.footer__asides__link {
    display: block;
    flex: 0 1 auto;
    font-size: 13px;
    letter-spacing: .25em;
    line-height: 32px;
    position: relative;
    width: auto
}

.footer__asides__link+.footer__asides__link {
    margin-left: 24px
}

.footer__asides__link+.footer__asides__link:before {
    background-color: #000;
    content: "";
    display: block;
    height: 13px;
    left: -14px;
    opacity: .5;
    position: absolute;
    top: 9px;
    width: 1px
}

.footer__asides__link:after {
    background-color: #000;
    bottom: 4px;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    opacity: .5;
    position: absolute;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
    width: calc(100% - .25em)
}

body:not(.touch) .footer__asides__link:hover:after {
    transform: scaleX(1);
    transform-origin: left center
}

.footer__backtop {
    bottom: 94px;
    display: block;
    height: 34px;
    position: absolute;
    right: 0;
    width: 55px
}

.footer__backtop:before {
    background-color: #000;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.footer__backtop:after {
    border-color: #000;
    border-style: solid;
    border-width: 1px 0 0 1px;
    content: "";
    display: block;
    height: 37px;
    left: 50%;
    position: absolute;
    top: 15px;
    transform: translate(-50%) rotate(45deg);
    width: 37px
}

body:not(.touch) .footer__backtop:hover:after {
    -webkit-animation: backtop_hover 1s cubic-bezier(.19, 1, .22, 1) 0s infinite;
    animation: backtop_hover 1s cubic-bezier(.19, 1, .22, 1) 0s infinite
}

@media (max-width:1023px) {
    .footer {
        height: auto;
        margin-top: 40px;
        padding-bottom: 66px;
        padding-top: 50px;
        position: relative;
        width: 100%
    }
    .footer:before {
        left: calc(50% - 50px);
        width: 100px
    }
    .footer__container {
        height: auto;
        margin: 0 auto;
        padding: 0;
        width: calc(100% - 60px)
    }
    .footer__logo {
        height: 50px;
        left: auto;
        margin: 0 auto;
        position: relative;
        top: auto;
        width: 215px
    }
    .footer__name {
        font-size: 18px;
        line-height: 24px;
        margin-top: 50px
    }
    .footer__info,
    .footer__name {
        letter-spacing: .25em;
        text-align: center
    }
    .footer__info {
        display: block;
        font-size: 13px;
        line-height: 23px;
        margin-top: 20px
    }
    .footer__info__address {
        margin-right: 0
    }
    .footer__info__tel {
        margin-top: 23px
    }
    .footer__sns {
        align-items: flex-start;
        display: flex;
        flex-flow: row nowrap;
        justify-content: center;
        margin-top: 35px;
        position: relative;
        right: auto;
        top: auto
    }
    .footer__sns__ig {
        font-size: 9px;
        letter-spacing: .25em
    }
    .footer__sns__ig,
    .footer__sns__pin {
        margin-left: 10px;
        margin-right: 10px
    }
    .footer__asides {
        align-items: flex-start;
        bottom: auto;
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        left: auto;
        margin: 35px auto 0;
        position: relative;
        width: 260px
    }
    .footer__asides__link {
        font-size: 11px;
        height: 32px;
        letter-spacing: .25em;
        line-height: 32px
    }
    .footer__asides__link+.footer__asides__link:before {
        height: 11px;
        top: 10px
    }
    .footer__asides__link:nth-child(odd) {
        margin-left: 0!important
    }
    .footer__asides__link:nth-child(odd):before {
        display: none!important
    }
    .footer__backtop {
        bottom: auto;
        margin: 40px auto 50px;
        position: relative;
        right: auto
    }
}

.header {
    height: 250px;
    position: static;
    width: 100%
}

.header__title {
    display: block;
    height: 140px; /*左上ロゴ大きさ*/
    left: 100px;
    position: absolute;
    top: 96px;
    transform: translateZ(1px);
    transform-style: preserve-3d;
    width: 282px;
    z-index: 10
}

.header__title a {
    background-image: url(../images/head_logo_bk.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    color: transparent;
    display: block;
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    text-indent: 200%;
    top: 0;
    white-space: nowrap;
    width: 100%
}

.header__news {
    display: none
}

.header__news.disable {
    display: none!important
}

.header__nav__submenu,
.header__sub {
    align-items: stretch;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    position: absolute;
    right: 220px;
    top: 48px;
    transform-style: preserve-3d;
    z-index: 100
}

.header__nav__submenu__catalog,
.header__nav__submenu__inquiry,
.header__nav__submenu__modelhouse,
.header__sub__catalog,
.header__sub__inquiry,
.header__sub__modelhouse {
    display: block;
    flex: 0 1 auto;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    height: 20px;
    letter-spacing: .25em;
    line-height: 20px;
    margin-left: 25px;
    position: relative;
    white-space: nowrap;
    width: auto
}

.header__nav__submenu__catalog:before,
.header__nav__submenu__inquiry:before,
.header__nav__submenu__modelhouse:before,
.header__sub__catalog:before,
.header__sub__inquiry:before,
.header__sub__modelhouse:before {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    content: "";
    display: block;
    height: 20px;
    left: 0;
    position: absolute;
    top: 0;
    width: 20px
}

.header__nav__submenu__catalog:after,
.header__nav__submenu__inquiry:after,
.header__nav__submenu__modelhouse:after,
.header__sub__catalog:after,
.header__sub__inquiry:after,
.header__sub__modelhouse:after {
    background-color: #000;
    bottom: -3px;
    content: "";
    display: block;
    height: 1px;
    opacity: .5;
    position: absolute;
    right: 1px;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
    width: calc(100% - .25em)
}

body:not(.touch) .header__nav__submenu__catalog:hover:after,
body:not(.touch) .header__nav__submenu__inquiry:hover:after,
body:not(.touch) .header__nav__submenu__modelhouse:hover:after,
body:not(.touch) .header__sub__catalog:hover:after,
body:not(.touch) .header__sub__inquiry:hover:after,
body:not(.touch) .header__sub__modelhouse:hover:after {
    transform: scaleX(1);
    transform-origin: left center
}

.header__nav__submenu__modelhouse,
.header__sub__modelhouse {
    padding-left: 28px;
    width: 134px
}

.header__nav__submenu__modelhouse:before,
.header__sub__modelhouse:before {
    background-image: url(../images/icon_home_bk.png);
    top: -1px
}

.header__nav__submenu__modelhouse:after,
.header__sub__modelhouse:after {
    width: calc(100% - 29px)
}

.header__nav__submenu__catalog,
.header__sub__catalog {
    padding-left: 27px;
    width: 75px
}

.header__nav__submenu__catalog:before,
.header__sub__catalog:before {
    background-image: url(../images/icon_file_bk.png);
    top: -1px
}

.header__nav__submenu__catalog:after,
.header__sub__catalog:after {
    width: calc(100% - 28px)
}

.header__nav__submenu__inquiry,
.header__sub__inquiry {
    padding-left: 30px;
    width: 111px
}

.header__nav__submenu__inquiry:before,
.header__sub__inquiry:before {
    background-image: url(../images/icon_mail_bk.png)
}

.header__nav__submenu__inquiry:after,
.header__sub__inquiry:after {
    width: calc(100% - 31px)
}

.header__toggle {
    cursor: pointer;
    display: block;
    height: 80px;
    position: fixed;
    right: 60px;
    top: 18px;
    transform: translateZ(3px);
    width: 80px;
    z-index: 101
}

.header__toggle:after,
.header__toggle:before {
    background-color: #000;
    content: "";
    display: block;
    height: 3px;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    width: 80px
}

.header__toggle:before {
    top: calc(50% - 5px)
}

.header__toggle:after {
    top: calc(50% + 5px)
}

.header.open .header__toggle:after,
.header.open .header__toggle:before {
    background-color: #fff;
    top: 50%
}

.header.open .header__toggle:before {
    transform: translate(-50%, -50%) rotate(45deg)
}

.header.open .header__toggle:after {
    transform: translate(-50%, -50%) rotate(-45deg)
}

.header__nav {
    -webkit-animation: insetWipeOut .75s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both;
    animation: insetWipeOut .75s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both;
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    height: 0;
    overflow: hidden;
    position: fixed;
    top: 0;
    transform: translateZ(2px);
    transition: height 0s linear .75s;
    width: 100%;
    z-index: 100
}

.header.open .header__nav {
    -webkit-animation: insetWipeIn .75s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both;
    animation: insetWipeIn .75s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both;
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: height 0s linear 0s
}

.header__nav__container {
    background-color: #000;
    background-image: url(../images/menu_bg.jpg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100vh;
    left: 0;
    position: absolute;
    top: 0;
    transition: visibility 0s linear .75s;
    visibility: hidden;
    width: 100%
}

.header.open .header__nav__container {
    transition: visibility 0s linear 0s;
    visibility: visible
}

.header__nav__logo {
    background-image: url(../images/nav_logo_wh.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    color: transparent;
    display: block;
    height: 85px;
    left: 60px;
    overflow: hidden;
    text-indent: 200%;
    top: 52px;
    white-space: nowrap;
    width: 182px
}

.header__nav__logo,
.header__nav__submenu {
    position: absolute;
    z-index: 1
}

.header__nav__submenu__modelhouse {
    color: #fff
}

.header__nav__submenu__modelhouse:before {
    background-image: url(../images/icon_home_wh.png)
}

.header__nav__submenu__modelhouse:after {
    background-color: #fff
}

.header__nav__submenu__catalog {
    color: #fff
}

.header__nav__submenu__catalog:before {
    background-image: url(../images/icon_file_wh.png)
}

.header__nav__submenu__catalog:after {
    background-color: #fff
}

.header__nav__submenu__inquiry {
    color: #fff
}

.header__nav__submenu__inquiry:before {
    background-image: url(../images/icon_mail_wh.png)
}

.header__nav__submenu__inquiry:after {
    background-color: #fff
}

.header__nav__menu {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    height: 100%;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.header__nav__menu__list {
    align-items: flex-start;
    display: flex;
    flex-basis: 0 0 auto;
    flex-flow: row-reverse nowrap;
    height: auto;
    justify-content: center;
    position: relative;
    width: auto
}

.header__nav__menu__item+.header__nav__menu__item {
    margin-right: 42px
}

.header__nav__menu__link {
    color: #fff;
    display: block;
    padding: 0 20px 0 0;
    position: relative;
    width: 60px
}

.header__nav__menu__link .en {
    display: block;
    font-size: 11px;
    letter-spacing: .1em;
    line-height: 20px;
    position: absolute;
    right: 0;
    top: 0;
    transform: translate(100%) rotate(90deg);
    transform-origin: left top;
    white-space: nowrap
}

.header__nav__menu__link .ja {
    font-feature-settings: normal;
    display: block;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 28px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .2em;
    line-height: 40px;
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.header__nav__menu__link:before {
    background-color: #fff;
    content: "";
    display: block;
    height: calc(100% - .2em);
    left: -4px;
    opacity: .5;
    position: absolute;
    top: 0;
    transform: scaleY(0);
    transform-origin: center bottom;
    transition: transform .75s cubic-bezier(.19, 1, .22, 1);
    width: 1px
}

body:not(.touch) .header__nav__menu__link:hover:before {
    transform: scaleY(1);
    transform-origin: center top
}

.header__nav__asides {
    align-items: stretch;
    bottom: 50px;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    position: absolute;
    right: 60px;
    z-index: 0
}

.header__nav__asides__link {
    color: #fff;
    display: block;
    flex: 0 1 auto;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    height: 20px;
    letter-spacing: .25em;
    line-height: 20px;
    position: relative;
    width: auto
}

.header__nav__asides__link+.header__nav__asides__link {
    margin-left: 24px
}

.header__nav__asides__link+.header__nav__asides__link:before {
    background-color: #fff;
    content: "";
    display: block;
    height: 11px;
    left: -12px;
    opacity: .5;
    position: absolute;
    top: 5px;
    width: 1px
}

.header__nav__asides__link:after {
    background-color: #fff;
    bottom: -3px;
    content: "";
    display: block;
    height: 1px;
    opacity: .5;
    position: absolute;
    right: 1px;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
    width: calc(100% - .25em)
}

body:not(.touch) .header__nav__asides__link:hover:after {
    transform: scaleX(1);
    transform-origin: left center
}

.header__nav__meta {
    bottom: 50px;
    color: #fff;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500;
    left: 60px;
    position: absolute
}

.header__nav__meta__sns__ig {
    display: block;
    font-size: 11px;
    letter-spacing: .25em;
    line-height: 22px;
    margin-top: 20px;
    padding-left: 30px;
    position: relative
}

.header__nav__meta__sns__ig:before {
    background-image: url(../images/icon_instagram_wh.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 22px;
    left: 0;
    position: absolute;
    top: 0;
    width: 22px
}

.header__nav__meta__sns__pin {
    color: transparent;
    display: block;
    height: 22px;
    margin-top: 20px;
    overflow: hidden;
    padding-left: 30px;
    position: relative;
    text-indent: 200%;
    white-space: nowrap;
    width: 22px
}

.header__nav__meta__sns__pin:before {
    background-image: url(../images/icon_pinterest_wh.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 22px;
    left: 0;
    position: absolute;
    top: 0;
    width: 22px
}

.header__nav__meta__info {
    margin-top: 50px
}

.header__nav__meta__info__name {
    font-size: 14px;
    letter-spacing: .25em
}

.header__nav__meta__info__address {
    font-size: 11px;
    letter-spacing: .25em;
    line-height: 31px;
    margin-top: 0
}

@media (max-width:1023px) {
    .header {
        height: 140px;
        position: static;
        width: 100%
    }
    .header__nav__container {
        background-color: #000;
        background-image: none;
        overflow: scroll
    }
    .header__nav__container__inner {
        background-image: url(../images/menu_bg_sp.jpg);
        background-position: bottom;
        background-repeat: no-repeat;
        background-size: cover;
        height: auto;
        min-height: 100%;
        padding-bottom: 116px;
        padding-top: 150px;
        position: relative;
        width: 100%;
        z-index: 2
    }
    .header__title {
        height: 120px; /*スマホ左上ロゴ大きさ*/
        left: 30px;
        top: 65px;
        width: 154px;
        z-index: 10
    }
    .header__title a {
        background-image: url(../images/head_logo_sp_bk.png)
    }
    .header__toggle {
        height: 66px;
        right: 5px;
        top: 0;
        width: 66px
    }
    .header__toggle:after,
    .header__toggle:before {
        height: 2px;
        width: 55px
    }
    .header__toggle:before {
        top: calc(50% - 3px)
    }
    .header__toggle:after {
        top: calc(50% + 4px)
    }
    body.index .header__news {
        bottom: 66px;
        display: block;
        position: fixed;
        right: 0;
        transform: translateY(0) translateZ(2px);
        transition: transform .5s cubic-bezier(.19, 1, .22, 1);
        width: 50%;
        z-index: 10
    }
    body.index .header__news.hide {
        pointer-events: none;
        transform: translateY(100%) translateZ(2px)!important
    }
    .header__news__btn {
        background-color: #000;
        color: #fff;
        display: block;
        font-family: dnp-shuei-mincho-pr6n, sans-serif;
        font-size: 13px;
        font-style: normal;
        font-weight: 500;
        height: 44px;
        letter-spacing: .25em;
        line-height: 24px;
        padding: 10px 15px;
        position: relative;
        transform: translateY(100%);
        transition: transform .5s cubic-bezier(.19, 1, .22, 1) 1s;
        width: 100%
    }
    .header__news__btn:before {
        border-color: #fff;
        border-style: solid;
        border-width: 1px 1px 0 0;
        content: "";
        display: block;
        height: 10px;
        position: absolute;
        right: 20px;
        top: calc(50% - 8px);
        transform: rotate(135deg);
        width: 10px
    }
    body.index .transitionmask.reveal+.header .header__news__btn {
        transform: translateY(0)
    }
    .header__nav__submenu,
    .header__sub {
        background-color: #fff;
        bottom: 0;
        height: 66px;
        justify-content: center;
        padding: 5px 0 17px;
        position: fixed;
        right: 0;
        top: auto;
        transform: translateZ(3px);
        width: 100%;
        z-index: 110
    }
    .header__nav__submenu__catalog,
    .header__nav__submenu__inquiry,
    .header__nav__submenu__modelhouse,
    .header__sub__catalog,
    .header__sub__inquiry,
    .header__sub__modelhouse {
        display: block;
        flex: 0 1 auto;
        font-size: 9px;
        height: 44px;
        letter-spacing: .25em;
        line-height: 18px;
        padding: 13px 0;
        position: relative
    }
    .header__nav__submenu__catalog:before,
    .header__nav__submenu__inquiry:before,
    .header__nav__submenu__modelhouse:before,
    .header__sub__catalog:before,
    .header__sub__inquiry:before,
    .header__sub__modelhouse:before {
        top: 12px
    }
    .header__nav__submenu__catalog:after,
    .header__nav__submenu__inquiry:after,
    .header__nav__submenu__modelhouse:after,
    .header__sub__catalog:after,
    .header__sub__inquiry:after,
    .header__sub__modelhouse:after {
        display: none
    }
    .header__nav__submenu__modelhouse,
    .header__sub__modelhouse {
        margin-left: 0;
        padding-left: 26px;
        width: 112px
    }
    .header__nav__submenu__modelhouse:before,
    .header__sub__modelhouse:before {
        background-image: url(../images/icon_home_bk.png);
        top: 11px
    }
    .header__nav__submenu__catalog,
    .header__sub__catalog {
        margin-left: 25px;
        padding-left: 25px;
        width: 64px
    }
    .header__nav__submenu__catalog:before,
    .header__sub__catalog:before {
        background-image: url(../images/icon_file_bk.png);
        top: 11px
    }
    .header__nav__submenu__catalog:after,
    .header__sub__catalog:after {
        background-color: #e5e5e5;
        content: "";
        display: block;
        height: 20px;
        left: -13px;
        position: absolute;
        top: 12px;
        width: 1px
    }
    .header__nav__submenu__inquiry,
    .header__sub__inquiry {
        margin-left: 25px;
        padding-left: 28px;
        width: 94px
    }
    .header__nav__submenu__inquiry:before,
    .header__sub__inquiry:before {
        background-image: url(../images/icon_mail_bk.png)
    }
    .header__nav__submenu__inquiry:after,
    .header__sub__inquiry:after {
        background-color: #e5e5e5;
        content: "";
        display: block;
        height: 20px;
        left: -13px;
        position: absolute;
        top: 12px;
        width: 1px
    }
    .header__nav__logo {
        background-image: url(../images/head_logo_sp_wh.png);
        height: 75px; /*スマホトグルメニューロゴサイズ*/
        left: 30px;
        top: 65px;
        width: 154px;
        z-index: 10
    }
    .header__nav__menu {
        display: block;
        height: auto;
        margin: 0 auto;
        position: relative;
        width: 236px
    }
    .header__nav__menu__list {
        align-items: flex-start;
        flex-flow: row-reverse wrap;
        justify-content: center
    }
    .header__nav__menu__item {
        margin-bottom: 10px;
        margin-top: 10px
    }
    .header__nav__menu__item+.header__nav__menu__item {
        margin-left: 9px;
        margin-right: 9px
    }
    .header__nav__menu__link {
        color: #fff;
        display: block;
        padding: 0 15px 0 0;
        position: relative;
        width: 41px
    }
    .header__nav__menu__link .en {
        font-size: 9px;
        letter-spacing: .1em;
        line-height: 15px
    }
    .header__nav__menu__link .ja {
        font-size: 18px;
        letter-spacing: .2em;
        line-height: 26px
    }
    .header__nav__menu__link:before {
        display: none
    }
    .header__nav__meta {
        bottom: auto;
        left: auto;
        margin-top: 25px;
        position: relative
    }
    .header__nav__meta__sns {
        align-items: flex-start;
        display: flex;
        flex-flow: row wrap;
        height: auto;
        justify-content: center;
        width: 100%
    }
    .header__nav__meta__sns__ig {
        font-size: 9px;
        letter-spacing: .25em;
        line-height: 18px;
        margin: 0 10px;
        padding: 13px 0 13px 30px
    }
    .header__nav__meta__sns__ig:before {
        top: 11px
    }
    .header__nav__meta__sns__pin {
        height: 44px;
        margin: 0 10px;
        padding: 13px 0;
        width: 22px
    }
    .header__nav__meta__sns__pin:before {
        top: 11px
    }
    .header__nav__meta__info {
        margin-top: 30px;
        padding: 0 20px;
        text-align: center;
        width: 100%
    }
    .header__nav__meta__info__name {
        font-size: 14px;
        letter-spacing: .25em
    }
    .header__nav__meta__info__address {
        font-size: 11px;
        letter-spacing: .25em;
        line-height: 21px;
        margin-top: 6px
    }
    .header__nav__asides {
        align-items: flex-start;
        bottom: auto;
        flex-flow: row wrap;
        height: auto;
        justify-content: center;
        margin: 30px auto 0;
        position: relative;
        right: auto;
        width: 300px
    }
    .header__nav__asides__link {
        font-size: 11px;
        height: 32px;
        letter-spacing: .25em;
        line-height: 32px
    }
    .header__nav__asides__link+.header__nav__asides__link {
        margin-left: 24px
    }
    .header__nav__asides__link+.header__nav__asides__link:before {
        left: -12px;
        top: 10px
    }
    .header__nav__asides__link:last-child {
        margin-left: 0
    }
    .header__nav__asides__link:last-child:before,
    .header__nav__submenu {
        display: none
    }
    .header__nav__submenu__modelhouse {
        color: #000
    }
    .header__nav__submenu__modelhouse:before {
        background-image: url(../images/icon_home_bk.png)
    }
    .header__nav__submenu__modelhouse:after {
        display: none
    }
    .header__nav__submenu__catalog {
        color: #000
    }
    .header__nav__submenu__catalog:before {
        background-image: url(../images/icon_file_bk.png)
    }
    .header__nav__submenu__catalog:after {
        display: none
    }
    .header__nav__submenu__inquiry {
        color: #000
    }
    .header__nav__submenu__inquiry:before {
        background-image: url(../images/icon_mail_bk.png)
    }
    .header__nav__submenu__inquiry:after {
        display: none
    }
}

@media (max-width:374px) {
    .header__nav__submenu__catalog,
    .header__nav__submenu__inquiry,
    .header__nav__submenu__modelhouse,
    .header__sub__catalog,
    .header__sub__inquiry,
    .header__sub__modelhouse {
        text-align: center
    }
    .header__nav__submenu__catalog:before,
    .header__nav__submenu__inquiry:before,
    .header__nav__submenu__modelhouse:before,
    .header__sub__catalog:before,
    .header__sub__inquiry:before,
    .header__sub__modelhouse:before {
        display: none
    }
    .header__nav__submenu__modelhouse,
    .header__sub__modelhouse {
        padding-left: 0;
        width: 86px
    }
    .header__nav__submenu__catalog,
    .header__sub__catalog {
        padding-left: 0;
        width: 39px
    }
    .header__nav__submenu__inquiry,
    .header__sub__inquiry {
        padding-left: 0;
        width: 66px
    }
}

.horizontalCarousel {
    font-size: 0;
    height: auto;
    letter-spacing: 0;
    line-height: 0px;
    overflow: hidden;
    position: relative;
    white-space: nowrap;
    width: 100%
}

.horizontalCarousel__container {
    display: inline-block;
    height: auto;
    position: relative;
    width: 100%
}

.horizontalCarousel__image {
    display: inline-block;
    height: auto;
    margin-right: 10px;
    position: relative;
    width: 30.5556%
}

.horizontalCarousel__image>div {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    height: 0;
    padding-top: 75%;
    width: 100%
}

@media (max-width:1023px) {
    .horizontalCarousel__image {
        display: inline-block;
        height: auto;
        margin-right: 5px;
        position: relative;
        width: 58.6667%
    }
}

.listcarousel {
    height: auto;
    position: relative;
    width: 100%
}

.listcarousel,
.listcarousel * {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.listcarousel__viewport {
    height: auto;
    overflow: hidden;
    position: relative;
    width: 100%
}

.listcarousel__container {
    font-size: 0;
    height: auto;
    letter-spacing: 0;
    line-height: 0px;
    position: relative;
    white-space: nowrap;
    width: 100%
}

.listcarousel__item {
    color: #000;
    display: inline-block;
    height: auto;
    padding-right: 21px;
    position: relative;
    text-decoration: none;
    transition: transform .75s cubic-bezier(.19, 1, .22, 1);
    vertical-align: top;
    width: calc(33.3333% + 7px)
}

.listcarousel__item__img {
    display: block;
    height: 0;
    overflow: hidden;
    padding-top: 133.3333%;
    position: relative;
    width: 100%
}

.listcarousel__item__img>div {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    width: 100%
}

.listcarousel.ready .listcarousel__item.is-inview .listcarousel__item__img>div {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
}

.listcarousel__item__title {
    padding: 20px 110px 0 0;
    position: relative
}

.listcarousel__item__title:before {
    background-color: #000;
    content: "";
    display: block;
    height: 4px;
    left: 0;
    position: absolute;
    top: 0;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
    width: 100%
}

body:not(.touch) .listcarousel__item:hover .listcarousel__item__title:before {
    transform: scaleX(1);
    transform-origin: left center
}

.listcarousel__item__title__name {
    font-size: 18px;
    line-height: 24px
}

.listcarousel__item__title__name,
.listcarousel__item__title__venue {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    white-space: normal
}

.listcarousel__item__title__venue {
    color: grey;
    font-size: 13px;
    line-height: 20px;
    margin-top: 5px
}

.listcarousel__item__title__year {
    color: grey;
    font-size: 15px;
    letter-spacing: .1em;
    line-height: 20px;
    position: absolute;
    right: 20px;
    top: 20px
}

.listcarousel__next,
.listcarousel__prev {
    background-color: #fff;
    cursor: pointer;
    display: block;
    height: 55px;
    margin-top: calc(22.2222% - 58.2222px);
    position: absolute;
    top: 0;
    transform: translateY(-50%);
    width: 55px;
    z-index: 1
}

.listcarousel__next span,
.listcarousel__prev span {
    display: block;
    height: 100%;
    position: relative;
    width: 100%
}

.listcarousel__next span:before,
.listcarousel__prev span:before {
    border-color: #000;
    border-style: solid;
    border-width: 1px 1px 0 0;
    content: "";
    display: block;
    height: 15px;
    left: 50%;
    position: absolute;
    top: 50%;
    width: 15px
}

body:not(.touch) .listcarousel__next:hover span,
body:not(.touch) .listcarousel__prev:hover span {
    -webkit-animation: hoverblink .3s linear 0s 1 normal both;
    animation: hoverblink .3s linear 0s 1 normal both
}

.listcarousel__next.disabled,
.listcarousel__prev.disabled {
    cursor: default
}

.listcarousel__next.disabled span,
.listcarousel__prev.disabled span {
    -webkit-animation: none!important;
    animation: none!important;
    opacity: .1!important
}

.listcarousel__next.disabled span:before,
.listcarousel__prev.disabled span:before {
    -webkit-animation: none!important;
    animation: none!important
}

.listcarousel__prev {
    left: 0
}

.listcarousel__prev span:before {
    left: calc(50% + 3px);
    transform: translate(-50%, -50%) rotate(-135deg)
}

body:not(.touch) .listcarousel__prev:hover span:before {
    -webkit-animation: arrowbox_hover_prev 1s cubic-bezier(.19, 1, .22, 1) 0s infinite;
    animation: arrowbox_hover_prev 1s cubic-bezier(.19, 1, .22, 1) 0s infinite
}

.listcarousel__next {
    right: 0
}

.listcarousel__next span:before {
    left: calc(50% - 3px);
    transform: translate(-50%, -50%) rotate(45deg)
}

body:not(.touch) .listcarousel__next:hover span:before {
    -webkit-animation: arrowbox_hover_next 1s cubic-bezier(.19, 1, .22, 1) 0s infinite;
    animation: arrowbox_hover_next 1s cubic-bezier(.19, 1, .22, 1) 0s infinite
}

@media (max-width:1023px) {
    .listcarousel__viewport {
        padding-right: 30px
    }
    .listcarousel__next,
    .listcarousel__prev {
        margin-top: calc(22.2222% - 12px)
    }
}

@media (max-width:640px) {
    .listcarousel {
        width: calc(100% + 30px)
    }
    .listcarousel__viewport {
        padding-right: 0
    }
    .listcarousel__item {
        padding-right: 15px;
        width: 60%
    }
    .listcarousel__item__img {
        padding-top: 133.3333%
    }
    .listcarousel__item__title {
        padding: 10px 0 0;
        position: relative
    }
    .listcarousel__item__title:before {
        display: none
    }
    .listcarousel__item__title__name {
        font-size: 16px;
        letter-spacing: .25em;
        line-height: 21px
    }
    .listcarousel__item__title__venue {
        font-size: 10px;
        letter-spacing: .25em;
        line-height: 15px;
        margin-top: 5px
    }
    .listcarousel__item__title__year {
        font-size: 14px;
        letter-spacing: .1em;
        line-height: 18px;
        margin-top: 10px;
        position: relative;
        right: auto;
        top: auto
    }
    .listcarousel__next,
    .listcarousel__prev {
        height: 44px;
        margin-top: calc(40% - 10px);
        width: 44px
    }
    .listcarousel__next span:before,
    .listcarousel__prev span:before {
        height: 12px;
        width: 12px
    }
}

.newslist,
.newslist__article {
    height: auto;
    position: relative;
    width: 100%
}

.newslist__article {
    border-top: 1px solid rgba(0, 0, 0, .1);
    display: block
}

body:not(.touch) .newslist__article:before {
    background-color: #000;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    top: -1px;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
    width: 100%
}

body:not(.touch) .newslist__article:hover:before {
    transform: scaleX(1);
    transform-origin: left center
}

body:not(.touch) .newslist__article:hover .newslist__article__link:after {
    -webkit-animation: arrow_hover 1s cubic-bezier(.19, 1, .22, 1) 0s infinite;
    animation: arrow_hover 1s cubic-bezier(.19, 1, .22, 1) 0s infinite
}

.newslist__article__link {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    min-height: 144px;
    padding: 12px 0;
    position: relative
}

.newslist__article__link:after {
    background-image: url(../images/arrow_bk.png);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: 120px 10px;
    content: "";
    display: block;
    height: 6px;
    position: absolute;
    right: 0;
    top: calc(50% - 3px);
    width: 30px
}

.newslist__article__image {
    flex: 0 0 220px;
    height: auto;
    overflow: hidden;
    padding-right: 60px;
    position: relative;
    width: 220px
}

.newslist__article__image>div {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 0;
    padding-top: 75%;
    width: 100%
}

.newslist__article__body {
    flex: 0 1 auto;
    flex-basis: auto;
    height: auto;
    padding: 14px 60px 0 0;
    width: auto
}

.newslist__article__body>* {
    max-width: 760px
}

.newslist__article__date {
    color: grey;
    font-size: 15px;
    letter-spacing: .1em;
    line-height: 20px
}

.newslist__article__title {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    margin-top: 4px
}

.newslist__article__excerpt,
.newslist__article__title {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    line-height: 28px;
    max-height: 56px;
    overflow: hidden
}

.newslist__article__excerpt {
    font-size: 14px;
    height: auto;
    letter-spacing: .1em;
    margin-top: 12px;
    width: 100%
}

@media (max-width:1023px) {
    .newslist__article__link {
        padding-left: 30px
    }
}

@media (max-width:680px) {
    .newslist__article__link {
        display: block;
        min-height: 0;
        padding: 20px 0 20px 30px
    }
    .newslist__article__link:after {
        bottom: 0;
        height: 4px;
        position: absolute;
        right: 0;
        top: auto;
        width: 24px
    }
    .newslist__article__image {
        min-width: 135px;
        padding-right: 0;
        width: 50%
    }
    .newslist__article__body {
        padding-right: 0;
        padding-top: 0
    }
    .newslist__article__date {
        font-size: 14px;
        letter-spacing: .1em;
        line-height: 20px;
        margin-top: 16px
    }
    .newslist__article__title {
        display: block;
        font-size: 16px;
        letter-spacing: .25em;
        line-height: 26px;
        margin-top: 2px;
        max-height: 100%;
        overflow: visible
    }
    .newslist__article__excerpt {
        display: block;
        line-height: 34px;
        margin-top: 7px;
        max-height: 100%;
        overflow: visible
    }
}

.numbercover,
.numbercover--left,
.numbercover--right {
    height: auto;
    position: relative;
    width: 100%
}

.numbercover__bg {
    height: 0;
    overflow: hidden;
    padding-top: 56.25%;
    position: relative;
    width: 100%
}

.numbercover__bg>div {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.numbercover__contents {
    align-items: flex-start;
    bottom: 78px;
    color: #fff;
    display: flex;
    flex-flow: row-reverse nowrap;
    justify-content: flex-end;
    position: absolute;
    right: 78px;
    transform: translateZ(1px)
}

.numbercover__num {
    text-align: center;
    width: 100%
}

.numbercover__num__label {
    display: block;
    font-size: 13px;
    letter-spacing: .1em;
    line-height: 20px
}

.numbercover__num__number {
    display: block;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 60px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 72px
}

.numbercover__title {
    border-top: 1px solid hsla(0, 0%, 100%, .4);
    display: flex;
    flex-flow: row-reverse nowrap;
    margin-top: 10px;
    padding: 26px 10px 0;
    position: relative
}

.numbercover__title__en {
    font-feature-settings: normal;
    display: block;
    font-size: 13px;
    letter-spacing: .1em;
    line-height: 22px;
    margin-left: 6px;
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.numbercover__title__ja {
    font-feature-settings: normal;
    display: block;
    font-size: 34px;
    line-height: 44px
}

.numbercover__lead,
.numbercover__title__ja {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .2em;
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.numbercover__lead {
    font-feature-settings: normal;
    font-size: 18px;
    line-height: 38px;
    margin-right: 40px;
    padding-top: 130px
}

.numbercover--right .numbercover__contents {
    flex-flow: row-reverse nowrap;
    left: auto;
    right: 78px
}

.numbercover--right .numbercover__lead {
    margin-left: 0;
    margin-right: 40px
}

.numbercover--left .numbercover__contents {
    flex-flow: row nowrap;
    left: 78px;
    right: auto
}

.numbercover--left .numbercover__lead {
    margin-left: 40px;
    margin-right: 0
}

@media (max-width:1279px) {
    .numbercover__bg {
        height: 600px;
        padding-top: 0
    }
}

@media (max-width:1023px) {
    .numbercover__bg {
        height: 0;
        padding-top: 75%
    }
    .numbercover__contents {
        bottom: auto;
        color: #000;
        justify-content: flex-start;
        padding-top: 26px;
        position: relative;
        right: auto;
        width: 100%
    }
    .numbercover__num {
        border-bottom: 1px solid hsla(0, 0%, 100%, .4);
        color: #fff;
        padding: 0 5px 2px;
        position: absolute;
        text-align: center;
        top: -20px;
        transform: translateY(-100%);
        width: auto
    }
    .numbercover__num__label {
        display: block;
        font-size: 9px;
        letter-spacing: .1em;
        line-height: 12px
    }
    .numbercover__num__number {
        display: block;
        font-size: 38px;
        letter-spacing: 0;
        line-height: 46px
    }
    .numbercover__title {
        border-top: 0;
        display: flex;
        flex-flow: row-reverse nowrap;
        margin-top: 0;
        padding: 0;
        position: relative
    }
    .numbercover__title__en {
        font-size: 9px;
        letter-spacing: .1em;
        line-height: 20px;
        margin-left: 0
    }
    .numbercover__title__ja {
        font-size: 22px;
        letter-spacing: .2em;
        line-height: 32px
    }
    .numbercover__lead {
        font-size: 14px;
        letter-spacing: .2em;
        line-height: 24px;
        margin-right: 24px;
        padding-top: 0
    }
    .numbercover--right .numbercover__contents {
        flex-flow: row-reverse nowrap;
        left: auto;
        padding-right: 30px;
        right: auto
    }
    .numbercover--right .numbercover__num {
        left: auto;
        right: 30px
    }
    .numbercover--right .numbercover__lead {
        margin-left: 0;
        margin-right: 24px
    }
    .numbercover--left .numbercover__contents {
        flex-flow: row nowrap;
        left: auto;
        padding-left: 30px;
        right: auto
    }
    .numbercover--left .numbercover__num {
        left: 30px;
        right: auto
    }
    .numbercover--left .numbercover__lead {
        margin-left: 24px;
        margin-right: 0
    }
}

.pagecover,
.pagecover--left,
.pagecover--right {
    padding-left: 15%;
    position: relative;
    width: 100%
}

.pagecover--left>.verticalheading,
.pagecover--right>.verticalheading,
.pagecover>.verticalheading {
    left: calc(15% - 120px)
}

.pagecover--left .pagecover__image>div,
.pagecover--right .pagecover__image>div,
.pagecover .pagecover__image>div {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s
}

.pagecover.reveal .pagecover__image>div,
.reveal.pagecover--left .pagecover__image>div,
.reveal.pagecover--right .pagecover__image>div {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
}

.pagecover--right {
    padding-left: 15%;
    padding-right: 0
}

.pagecover--right>.verticalheading {
    left: calc(15% - 120px);
    right: auto
}

.pagecover--right .pagecover__main {
    padding-left: 0;
    padding-right: 17.6471%
}

.pagecover--right .pagecover__main__body {
    order: 1
}

.pagecover--right .pagecover__main__catch {
    justify-content: flex-start;
    order: 2
}

.pagecover--left {
    padding-left: 0;
    padding-right: 15%
}

.pagecover--left>.verticalheading {
    left: auto;
    right: calc(15% - 120px)
}

.pagecover--left .pagecover__main {
    padding-left: 17.6471%;
    padding-right: 0
}

.pagecover--left .pagecover__main__body {
    order: 2
}

.pagecover--left .pagecover__main__catch {
    justify-content: flex-end;
    order: 1
}

.pagecover__image {
    height: 0;
    overflow: hidden;
    padding-top: 56.25%;
    position: relative;
    width: 100%
}

.pagecover__image>div {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%
}

.pagecover__main {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    padding-right: 17.6471%;
    position: relative;
    width: 100%;
    z-index: 1
}

.pagecover__main__body {
    flex: 0 1 auto;
    margin-top: 100px;
    order: 1;
    width: 600px
}

.pagecover__main__catch {
    display: flex;
    flex: 0 0 300px;
    flex-flow: row-reverse wrap;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500;
    justify-content: flex-start;
    margin-top: -123px;
    order: 2;
    transform: translateZ(1px)
}

.pagecover__main__catch .sub {
    font-feature-settings: normal;
    font-size: 18px;
    line-height: 38px;
    margin-left: 8px
}

.pagecover__main__catch .main,
.pagecover__main__catch .sub {
    display: block;
    letter-spacing: .2em;
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.pagecover__main__catch .main {
    font-feature-settings: normal;
    font-size: 42px;
    line-height: 62px
}

@media (max-width:1023px) {
    .pagecover,
    .pagecover--left,
    .pagecover--right {
        padding-left: 75px
    }
    .pagecover--left>.verticalheading,
    .pagecover--right>.verticalheading,
    .pagecover>.verticalheading {
        left: 13px
    }
    .pagecover--right {
        padding-left: 75px;
        padding-right: 0
    }
    .pagecover--right>.verticalheading {
        left: 13px
    }
    .pagecover--right .pagecover__main {
        padding-left: 0;
        padding-right: 30px
    }
    .pagecover--right .pagecover__main__catch {
        order: 1;
        padding-right: 15px
    }
    .pagecover--right .pagecover__main__body {
        order: 2
    }
    .pagecover--left {
        padding-left: 0;
        padding-right: 75px
    }
    .pagecover--left>.verticalheading {
        left: auto;
        right: 13px
    }
    .pagecover--left .pagecover__main {
        padding-left: 30px;
        padding-right: 0
    }
    .pagecover--left .pagecover__main__catch {
        order: 1;
        padding-left: 15px
    }
    .pagecover--left .pagecover__main__body {
        order: 2
    }
    .pagecover__image {
        padding-top: 75%
    }
    .pagecover__main {
        align-items: flex-start;
        display: flex;
        flex-flow: column nowrap;
        justify-content: flex-start;
        padding-right: 60px
    }
    .pagecover__main__body {
        margin-top: 20px;
        max-width: 600px;
        width: 100%
    }
    .pagecover__main__catch {
        display: flex;
        flex: 0 0 auto;
        flex-flow: row-reverse wrap;
        justify-content: flex-start;
        margin-top: -65px;
        width: 100%
    }
    .pagecover__main__catch .sub {
        font-size: 14px;
        letter-spacing: .2em;
        line-height: 24px;
        margin-left: 16px
    }
    .pagecover__main__catch .main {
        font-size: 22px;
        letter-spacing: .2em;
        line-height: 32px
    }
}

.pager {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    height: auto;
    justify-content: space-between;
    position: relative;
    width: 100%
}

.pager__next,
.pager__prev {
    color: transparent;
    display: block;
    height: 44px;
    overflow: hidden;
    text-indent: 200%;
    white-space: nowrap;
    width: 80px
}

.pager__next:before,
.pager__prev:before {
    background-image: url(../images/arrow_bk.png);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: 120px 10px;
    content: "";
    display: block;
    height: 10px;
    position: absolute;
    right: 0;
    top: 17px;
    width: 80px
}

.pager__prev:before {
    left: 0;
    right: auto;
    transform: scaleX(-1)
}

span.pager__next,
span.pager__prev {
    pointer-events: none
}

span.pager__next:before,
span.pager__prev:before {
    opacity: .1
}

.pager__pagenation {
    flex: 0 1 auto;
    font-size: 0;
    letter-spacing: 0;
    line-height: 0px;
    padding: 0 20px;
    text-align: center
}

.pager__pagenation__page {
    border: 1px solid #e5e5e5;
    color: #000;
    display: inline-block;
    font-size: 15px;
    height: 44px;
    line-height: 42px;
    margin: 6px;
    min-width: 44px;
    padding: 0 10px;
    text-align: center;
    width: auto
}

.pager__pagenation__page.current {
    background-color: #000;
    border-color: #000;
    color: #fff
}

.pager__pagenation__page.extend {
    border-color: transparent
}

@media (max-width:1023px) {
    .pager {
        display: block;
        padding-bottom: 40px
    }
    .pager__next,
    .pager__prev {
        bottom: -20px;
        display: block;
        height: 44px;
        position: absolute;
        width: 60px
    }
    .pager__next:before,
    .pager__prev:before {
        height: 5px;
        right: 0;
        top: 19px;
        width: 60px
    }
    .pager__prev {
        left: 0
    }
    .pager__next {
        right: 0
    }
    .pager__pagenation {
        padding: 0;
        width: 100%
    }
    .pager__pagenation__page {
        margin: 3px
    }
}

.pillar__left,
.pillar__right {
    color: grey;
    font-size: 11px;
    height: 20px;
    letter-spacing: .1em;
    line-height: 20px;
    mix-blend-mode: difference;
    pointer-events: none;
    position: fixed;
    text-align: center;
    width: 100vh;
    z-index: 99
}

.pillar__left {
    bottom: 0;
    left: 30px;
    transform: rotate(-90deg);
    transform-origin: left center
}

.pillar__right {
    bottom: 0;
    right: 30px;
    transform: rotate(90deg);
    transform-origin: right center
}

@media (max-width:1024px) {
    .pillar {
        display: none
    }
}

.sidebyblock,
.sidebyblock--left,
.sidebyblock--right {
    align-items: stretch;
    display: flex;
    flex-flow: row nowrap;
    height: auto;
    justify-content: space-between;
    padding-right: 15%;
    position: relative;
    width: 100%
}

.sidebyblock__image {
    flex: 0 1 67.2131%;
    overflow: hidden;
    position: relative;
    width: 67.2131%
}

.sidebyblock__image>div {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 0;
    padding-top: 75%;
    width: 100%
}

.sidebyblock__body {
    flex: 0 1 32.7869%;
    padding-left: 9.83607%;
    width: 32.7869%
}

.sidebyblock--left {
    flex-flow: row nowrap;
    padding-left: 0;
    padding-right: 15%
}

.sidebyblock--left .sidebyblock__body {
    padding-left: 9.83607%;
    padding-right: 0
}

.sidebyblock--left .verticalheading {
    left: auto;
    right: calc(15% - 120px)
}

.sidebyblock--right {
    flex-flow: row-reverse nowrap;
    padding-left: 15%;
    padding-right: 0
}

.sidebyblock--right .sidebyblock__body {
    padding-left: 0;
    padding-right: 9.83607%
}

.sidebyblock--right .verticalheading {
    left: calc(15% - 120px);
    right: auto
}

@media (max-width:1023px) {
    .sidebyblock,
    .sidebyblock--left,
    .sidebyblock--right {
        display: block
    }
    .sidebyblock__image {
        width: 100%
    }
    .sidebyblock__body {
        margin-top: 30px;
        width: 100%
    }
    .sidebyblock--left {
        padding-right: 75px
    }
    .sidebyblock--left .sidebyblock__body {
        padding-left: 30px;
        padding-right: 0
    }
    .sidebyblock--left .verticalheading {
        right: 13px
    }
    .sidebyblock--right {
        padding-left: 75px
    }
    .sidebyblock--right .sidebyblock__body {
        padding-left: 0;
        padding-right: 30px
    }
    .sidebyblock--right .verticalheading {
        left: 13px
    }
}

.sidebysection,
.sidebysection--left,
.sidebysection--right {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap;
    height: auto;
    justify-content: space-between;
    position: relative;
    width: 85%
}

.sidebysection--left {
    margin-left: 0;
    margin-right: auto
}

.sidebysection--left .verticalheading {
    right: -120px
}

.sidebysection--left .sidebysection__image {
    order: 1
}

.sidebysection--left .sidebysection__body {
    order: 2;
    padding-left: 40px
}

.sidebysection--left .sidebysection__body__text {
    justify-content: flex-start
}

.sidebysection--left .sidebysection__body__link {
    text-align: right
}

.sidebysection--left .sidebysection__body__subimg {
    left: auto;
    margin: 60px 0 0 auto;
    right: -80px
}

@media (max-width:1440px) {
    .sidebysection--left .sidebysection__body__subimg {
        right: calc(282px - 100%)
    }
}

.sidebysection--right {
    margin-left: auto;
    margin-right: 0
}

.sidebysection--right .verticalheading {
    left: -120px
}

.sidebysection--right .sidebysection__image {
    order: 2
}

.sidebysection--right .sidebysection__body {
    order: 1;
    padding-right: 40px
}

.sidebysection--right .sidebysection__body__text {
    justify-content: flex-end
}

.sidebysection--right .sidebysection__body__link {
    text-align: left
}

.sidebysection--right .sidebysection__body__subimg {
    left: -120px;
    margin: 60px auto 0 0;
    right: auto
}

.sidebysection__image {
    align-items: flex-start;
    display: flex;
    flex: 0 1 calc(50% + 210px);
    flex-basis: calc(50% + 210px);
    flex-flow: column nowrap;
    justify-content: flex-start;
    overflow: hidden;
    position: relative;
    width: calc(50% + 210px)
}

.sidebysection__image img {
    display: block;
    height: auto;
    width: 100%
}

.sidebysection__image__inner {
    height: auto;
    overflow: hidden;
    position: relative;
    width: 100%
}

.sidebysection__body {
    flex: 0 1 calc(50% - 210px);
    flex-basis: calc(50% - 210px);
    height: auto;
    width: calc(50% - 210px)
}

.sidebysection__body__text {
    font-feature-settings: normal;
    display: flex;
    flex-flow: column nowrap;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .2em;
    line-height: 38px;
    white-space: nowrap;
    width: 100%;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.sidebysection__body__link {
    margin-top: 50px
}

.sidebysection__body__subimg {
    height: auto;
    margin-top: 60px;
    overflow: hidden;
    position: relative;
    width: calc(100% + 40px)
}

.sidebysection__body__subimg img {
    display: block;
    height: auto;
    width: 100%
}

@media (max-width:1440px) {
    .sidebysection__body__subimg {
        max-width: 400px;
        width: calc(100% + 120px)
    }
}

.sidebysection__body__subimg__inner {
    height: auto;
    overflow: hidden;
    position: relative;
    width: 100%
}

@media (max-width:1280px) {
    .sidebysection__body {
        flex-basis: 334px;
        width: 334px
    }
    .sidebysection__image {
        flex-basis: calc(100% - 334px);
        width: calc(100% - 334px)
    }
}

@media (max-width:1023px) {
    .sidebysection,
    .sidebysection--left,
    .sidebysection--right {
        display: block;
        width: calc(100% - 75px)
    }
    .sidebysection--left .verticalheading {
        right: -62px
    }
    .sidebysection--left .sidebysection__body {
        margin-right: -75px;
        padding-left: 0
    }
    .sidebysection--left .sidebysection__body__text {
        justify-content: flex-end;
        order: 1;
        padding-left: 45px
    }
    .sidebysection--left .sidebysection__body__link {
        order: 3;
        padding-left: 45px;
        text-align: left
    }
    .sidebysection--left .sidebysection__body__subimg {
        left: auto;
        margin: 30px 0 0 auto;
        order: 2;
        right: auto
    }
    .sidebysection--right .verticalheading {
        left: -62px
    }
    .sidebysection--right .sidebysection__body {
        margin-left: -75px;
        padding-right: 0
    }
    .sidebysection--right .sidebysection__body__text {
        justify-content: flex-start;
        order: 2;
        padding-right: 45px
    }
    .sidebysection--right .sidebysection__body__link {
        order: 3;
        padding-right: 45px;
        text-align: right
    }
    .sidebysection--right .sidebysection__body__subimg {
        left: auto;
        margin: 30px auto 0 0;
        order: 1;
        right: auto
    }
    .sidebysection__image {
        display: block;
        width: 100%
    }
    .sidebysection__body {
        align-items: flex-start;
        display: flex;
        flex-flow: row wrap;
        margin-top: 26px;
        padding: 0;
        width: calc(100% + 75px)
    }
    .sidebysection__body__text {
        flex: 0 1 64%;
        font-size: 14px;
        letter-spacing: .2em;
        line-height: 24px;
        width: 64%
    }
    .sidebysection__body__subimg {
        flex: 0 1 36%;
        height: auto;
        margin-top: 0;
        width: 36%
    }
    .sidebysection__body__subimg img {
        display: block;
        height: auto;
        width: 100%
    }
    .sidebysection__body__link {
        flex: 0 1 100%;
        margin-top: 30px;
        width: 100%
    }
}

.slideimages {
    height: auto;
    position: relative;
    width: 100%
}

.slideimages__container {
    height: 0;
    overflow: hidden;
    padding-top: 56.25%;
    position: relative;
    width: 100%
}

.slideimages__container__inner,
.slideimages__image {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.slideimages__image {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    overflow: hidden;
    transition: -webkit-clip-path 0s linear 1.5s;
    transition: clip-path 0s linear 1.5s;
    transition: clip-path 0s linear 1.5s, -webkit-clip-path 0s linear 1.5s;
    z-index: 0
}

.slideimages__image>div {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    width: 100%
}

.manual .slideimages__image {
    transition: visibility 0s linear .75s, -webkit-clip-path 0s linear .75s;
    transition: clip-path 0s linear .75s, visibility 0s linear .75s;
    transition: clip-path 0s linear .75s, visibility 0s linear .75s, -webkit-clip-path 0s linear .75s;
    visibility: hidden
}

.slideimages__pager {
    font-size: 0;
    height: 40px;
    letter-spacing: 0;
    line-height: 0px;
    padding: 10px 0 0;
    position: relative;
    text-align: left;
    width: 100%
}

.slideimages__pager__page {
    background-color: rgba(0, 0, 0, .1);
    display: inline-block;
    height: 1px;
    margin-top: 10px;
    position: relative;
    width: 20px
}

.slideimages__pager__page+.slideimages__pager__page {
    margin-left: 10px
}

.slideimages__pager__page:before {
    background-color: #000;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1) 0s;
    width: 100%
}

.slideimages__caption {
    bottom: 0;
    position: absolute;
    right: 0
}

.slideimages__caption__text {
    bottom: 10px;
    color: grey;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px;
    opacity: 0;
    position: absolute;
    right: 0;
    transition: opacity 0s linear 0s;
    white-space: nowrap
}

.slideimages__next,
.slideimages__prev {
    background-color: #fff;
    bottom: 0;
    cursor: pointer;
    display: block;
    height: 55px;
    position: absolute;
    width: 55px;
    z-index: 1
}

.slideimages__next:before,
.slideimages__prev:before {
    border-color: #000;
    border-style: solid;
    border-width: 1px 1px 0 0;
    content: "";
    display: block;
    height: 16px;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 16px
}

.moving .slideimages__next,
.moving .slideimages__prev {
    pointer-events: none
}

.slideimages__prev {
    right: 55px
}

.slideimages__prev:before {
    left: calc(50% + 3px);
    transform: translate(-50%, -50%) rotate(-135deg)
}

body:not(.touch) .slideimages__prev:hover:before {
    -webkit-animation: arrowbox_hover_prev 1s cubic-bezier(.19, 1, .22, 1) 0s infinite;
    animation: arrowbox_hover_prev 1s cubic-bezier(.19, 1, .22, 1) 0s infinite
}

.slideimages__next {
    right: 0
}

.slideimages__next:before {
    left: calc(50% - 3px);
    transform: translate(-50%, -50%) rotate(45deg)
}

body:not(.touch) .slideimages__next:hover:before {
    -webkit-animation: arrowbox_hover_next 1s cubic-bezier(.19, 1, .22, 1) 0s infinite;
    animation: arrowbox_hover_next 1s cubic-bezier(.19, 1, .22, 1) 0s infinite
}

.slideimages[data-position="0"] .slideimages__image[data-num="0"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    z-index: 1
}

.slideimages[data-position="0"] .slideimages__pager__page[data-num="0"]:before {
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 5s linear 0s
}

.slideimages[data-position="0"] .slideimages__caption__text:first-child {
    opacity: 1;
    transition-delay: 0s
}

.slideimages.manual[data-position="0"] .slideimages__image[data-num="0"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    visibility: visible;
    z-index: 1
}

.slideimages.manual[data-position="0"] .slideimages__pager__page[data-num="0"]:before {
    transition: transform .5s cubic-bezier(.19, 1, .22, 1) 0s
}

.slideimages[data-position="1"] .slideimages__image[data-num="1"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    z-index: 1
}

.slideimages[data-position="1"] .slideimages__pager__page[data-num="1"]:before {
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 5s linear 0s
}

.slideimages[data-position="1"] .slideimages__caption__text:nth-child(2) {
    opacity: 1;
    transition-delay: 0s
}

.slideimages.manual[data-position="1"] .slideimages__image[data-num="1"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    visibility: visible;
    z-index: 1
}

.slideimages.manual[data-position="1"] .slideimages__pager__page[data-num="1"]:before {
    transition: transform .5s cubic-bezier(.19, 1, .22, 1) 0s
}

.slideimages[data-position="2"] .slideimages__image[data-num="2"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    z-index: 1
}

.slideimages[data-position="2"] .slideimages__pager__page[data-num="2"]:before {
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 5s linear 0s
}

.slideimages[data-position="2"] .slideimages__caption__text:nth-child(3) {
    opacity: 1;
    transition-delay: 0s
}

.slideimages.manual[data-position="2"] .slideimages__image[data-num="2"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    visibility: visible;
    z-index: 1
}

.slideimages.manual[data-position="2"] .slideimages__pager__page[data-num="2"]:before {
    transition: transform .5s cubic-bezier(.19, 1, .22, 1) 0s
}

.slideimages[data-position="3"] .slideimages__image[data-num="3"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    z-index: 1
}

.slideimages[data-position="3"] .slideimages__pager__page[data-num="3"]:before {
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 5s linear 0s
}

.slideimages[data-position="3"] .slideimages__caption__text:nth-child(4) {
    opacity: 1;
    transition-delay: 0s
}

.slideimages.manual[data-position="3"] .slideimages__image[data-num="3"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    visibility: visible;
    z-index: 1
}

.slideimages.manual[data-position="3"] .slideimages__pager__page[data-num="3"]:before {
    transition: transform .5s cubic-bezier(.19, 1, .22, 1) 0s
}

.slideimages[data-position="4"] .slideimages__image[data-num="4"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    z-index: 1
}

.slideimages[data-position="4"] .slideimages__pager__page[data-num="4"]:before {
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 5s linear 0s
}

.slideimages[data-position="4"] .slideimages__caption__text:nth-child(5) {
    opacity: 1;
    transition-delay: 0s
}

.slideimages.manual[data-position="4"] .slideimages__image[data-num="4"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    visibility: visible;
    z-index: 1
}

.slideimages.manual[data-position="4"] .slideimages__pager__page[data-num="4"]:before {
    transition: transform .5s cubic-bezier(.19, 1, .22, 1) 0s
}

.slideimages[data-position="5"] .slideimages__image[data-num="5"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    z-index: 1
}

.slideimages[data-position="5"] .slideimages__pager__page[data-num="5"]:before {
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 5s linear 0s
}

.slideimages[data-position="5"] .slideimages__caption__text:nth-child(6) {
    opacity: 1;
    transition-delay: 0s
}

.slideimages.manual[data-position="5"] .slideimages__image[data-num="5"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    visibility: visible;
    z-index: 1
}

.slideimages.manual[data-position="5"] .slideimages__pager__page[data-num="5"]:before {
    transition: transform .5s cubic-bezier(.19, 1, .22, 1) 0s
}

.slideimages[data-position="6"] .slideimages__image[data-num="6"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    z-index: 1
}

.slideimages[data-position="6"] .slideimages__pager__page[data-num="6"]:before {
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 5s linear 0s
}

.slideimages[data-position="6"] .slideimages__caption__text:nth-child(7) {
    opacity: 1;
    transition-delay: 0s
}

.slideimages.manual[data-position="6"] .slideimages__image[data-num="6"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    visibility: visible;
    z-index: 1
}

.slideimages.manual[data-position="6"] .slideimages__pager__page[data-num="6"]:before {
    transition: transform .5s cubic-bezier(.19, 1, .22, 1) 0s
}

.slideimages[data-position="7"] .slideimages__image[data-num="7"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    z-index: 1
}

.slideimages[data-position="7"] .slideimages__pager__page[data-num="7"]:before {
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 5s linear 0s
}

.slideimages[data-position="7"] .slideimages__caption__text:nth-child(8) {
    opacity: 1;
    transition-delay: 0s
}

.slideimages.manual[data-position="7"] .slideimages__image[data-num="7"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    visibility: visible;
    z-index: 1
}

.slideimages.manual[data-position="7"] .slideimages__pager__page[data-num="7"]:before {
    transition: transform .5s cubic-bezier(.19, 1, .22, 1) 0s
}

.slideimages[data-position="8"] .slideimages__image[data-num="8"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    z-index: 1
}

.slideimages[data-position="8"] .slideimages__pager__page[data-num="8"]:before {
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 5s linear 0s
}

.slideimages[data-position="8"] .slideimages__caption__text:nth-child(9) {
    opacity: 1;
    transition-delay: 0s
}

.slideimages.manual[data-position="8"] .slideimages__image[data-num="8"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    visibility: visible;
    z-index: 1
}

.slideimages.manual[data-position="8"] .slideimages__pager__page[data-num="8"]:before {
    transition: transform .5s cubic-bezier(.19, 1, .22, 1) 0s
}

.slideimages[data-position="9"] .slideimages__image[data-num="9"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    z-index: 1
}

.slideimages[data-position="9"] .slideimages__pager__page[data-num="9"]:before {
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 5s linear 0s
}

.slideimages[data-position="9"] .slideimages__caption__text:nth-child(10) {
    opacity: 1;
    transition-delay: 0s
}

.slideimages.manual[data-position="9"] .slideimages__image[data-num="9"] {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s;
    transition: clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s, visibility 0s linear 0s, -webkit-clip-path .75s cubic-bezier(.19, 1, .22, 1) 0s;
    visibility: visible;
    z-index: 1
}

.slideimages.manual[data-position="9"] .slideimages__pager__page[data-num="9"]:before {
    transition: transform .5s cubic-bezier(.19, 1, .22, 1) 0s
}

@media (max-width:1023px) {
    .slideimages__pager {
        height: 20px;
        padding: 0
    }
    .slideimages__pager__page {
        height: 1px;
        margin-top: 10px;
        width: 15px
    }
    .slideimages__pager__page+.slideimages__pager__page {
        margin-left: 5px
    }
    .slideimages__caption {
        height: 12px;
        margin-top: 2px;
        position: relative;
        width: 100%
    }
    .slideimages__caption__text {
        bottom: 0;
        font-size: 10px;
        left: 0;
        line-height: 12px;
        right: auto
    }
    .slideimages__next,
    .slideimages__prev {
        height: 44px;
        width: 44px
    }
    .slideimages__next:before,
    .slideimages__prev:before {
        height: 13px;
        width: 13px
    }
    .slideimages__prev {
        right: 44px
    }
    .slideimages__prev:before {
        left: calc(50% + 3px);
        transform: translate(-50%, -50%) rotate(-135deg)
    }
    .slideimages__next {
        right: 0
    }
    .slideimages__next:before {
        left: calc(50% - 3px);
        transform: translate(-50%, -50%) rotate(45deg)
    }
}

.transitionmask {
    background: #fff;
    display: block;
    height: 100%;
    left: 0;
    opacity: .999999;
    pointer-events: auto;
    position: fixed;
    top: 0;
    transform: scaleX(1) translateZ(10px);
    transform-origin: right center;
    width: 100%;
    z-index: 9999
}

.transitionmask.reveal {
    height: 0;
    opacity: 0;
    pointer-events: none;
    transform: scaleX(0) translateZ(10px);
    transform-origin: right center;
    transition: transform .75s cubic-bezier(.19, 1, .22, 1) .5s, opacity 0s linear 1.25s, width 0s linear 1.25s, height 0s linear 1.25s;
    width: 0
}

.transitionmask.reveal.transition {
    height: 100%;
    opacity: .999999;
    pointer-events: auto;
    transform: scaleX(1) translateZ(10px);
    transform-origin: left center;
    transition: transform .75s cubic-bezier(.19, 1, .22, 1) 0s, opacity 0s linear 0s, width 0s linear 0s, height 0s linear 0s;
    width: 100%
}

.videoblock {
    height: auto;
    position: relative;
    width: 100%
}

.videoblock__media {
    height: 0;
    overflow: hidden;
    padding-top: 56.25%;
    position: relative;
    width: 100%
}

.videoblock__media>* {
    display: block;
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%
}

.videoblock__duration {
    background-color: rgba(0, 0, 0, .1);
    height: 1px;
    margin: 20px 0 0 20px;
    max-width: 400px;
    position: relative;
    width: calc(100% - 40px)
}

.videoblock__duration__progress {
    background-color: #000;
    display: block;
    height: 1px;
    position: relative;
    transform: scaleX(0);
    transform-origin: left center;
    width: 100%
}

@media (max-width:1023px) {
    .videoblock__duration {
        margin: 10px 0 0 10px;
        max-width: 130px;
        width: calc(100% - 20px)
    }
}

.workslist {
    display: flex;
    flex-flow: row wrap;
    justify-content: stretch;
    position: relative
}

.workslist:before {
    background-color: #f2f2f2;
    content: "";
    display: block;
    height: calc(100% - 98px);
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.workslist__item {
    background-color: #fff;
    flex: 0 1 33.3333%;
    height: auto;
    position: relative;
    width: 33.3333%;
    z-index: 1
}

.workslist__item__link {
    display: block
}

.workslist__item__thumb {
    height: auto;
    width: 100%
}

.workslist__item__thumb>div {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    display: block;
    height: 0;
    padding-top: 75%;
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    width: 100%
}

.workslist.ready .workslist__item.is-inview .workslist__item__thumb>div {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
}

.workslist__item__body {
    height: 80px;
    margin-top: 18px;
    padding-right: 110px;
    position: relative;
    width: 100%
}

.workslist__item:nth-child(3n+1) .workslist__item__body {
    padding-left: 30px
}

.workslist__item__body:before {
    background-color: #000;
    content: "";
    display: block;
    height: 4px;
    left: 0;
    position: absolute;
    top: -18px;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
    width: 100%
}

body:not(.touch) .workslist__item:hover .workslist__item__body:before {
    transform: scaleX(1);
    transform-origin: left center
}

.workslist__item__title {
    font-size: 18px;
    height: 24px;
    line-height: 24px
}

.workslist__item__title,
.workslist__item__venue {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    overflow: hidden;
    position: relative;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%
}

.workslist__item__venue {
    color: grey;
    font-size: 13px;
    height: 18px;
    line-height: 18px;
    margin-top: 6px
}

.workslist__item__year {
    color: grey;
    font-size: 15px;
    letter-spacing: .1em;
    line-height: 24px;
    position: absolute;
    right: 30px;
    top: 0
}

@media (max-width:1023px) {
    .workslist {
        display: block
    }
    .workslist:before {
        display: none
    }
    .workslist__item {
        width: 100%
    }
    .workslist__item+.workslist__item {
        margin-top: 20px
    }
    .workslist__item__body {
        height: auto;
        margin-top: 10px;
        padding-left: 30px;
        padding-right: 85px
    }
    .workslist__item__body:before {
        display: none
    }
    .workslist__item__title {
        font-size: 16px;
        line-height: 21px
    }
    .workslist__item__title,
    .workslist__item__venue {
        height: auto;
        letter-spacing: .25em;
        overflow: visible;
        white-space: normal
    }
    .workslist__item__venue {
        font-size: 10px;
        line-height: 14px;
        margin-top: 4px
    }
    .workslist__item__year {
        font-size: 12px;
        letter-spacing: .1em;
        line-height: 21px;
        right: 20px;
        top: 0
    }
}

.century__story__section__body__text,
.contact__content,
.contact__text,
.contact__thanks,
.modelhouse__article__profile__body,
.sidebyblock__body,
.single__journal__body,
.works__article__contents,
.wysiwyg {
    position: relative;
    word-break: break-word
}

.century__story__section__body__text>:first-child,
.contact__content>:first-child,
.contact__text>:first-child,
.contact__thanks>:first-child,
.modelhouse__article__profile__body>:first-child,
.sidebyblock__body>:first-child,
.single__journal__body>:first-child,
.works__article__contents>:first-child,
.wysiwyg>:first-child {
    margin-top: 0
}

.century__story__section__body__text>:last-child,
.contact__content>:last-child,
.contact__text>:last-child,
.contact__thanks>:last-child,
.modelhouse__article__profile__body>:last-child,
.sidebyblock__body>:last-child,
.single__journal__body>:last-child,
.works__article__contents>:last-child,
.wysiwyg>:last-child {
    margin-bottom: 0
}

.century__story__section__body__text p,
.contact__content p,
.contact__text p,
.contact__thanks p,
.modelhouse__article__profile__body p,
.sidebyblock__body p,
.single__journal__body p,
.works__article__contents p,
.wysiwyg p {
    font-size: 14px;
    letter-spacing: .1em;
    line-height: 2.4285;
    margin-bottom: 2.4285em;
    margin-top: 2.4285em
}

.century__story__section__body__text img,
.contact__content img,
.contact__text img,
.contact__thanks img,
.modelhouse__article__profile__body img,
.sidebyblock__body img,
.single__journal__body img,
.works__article__contents img,
.wysiwyg img {
    display: block;
    height: auto;
    margin: 60px auto;
    max-width: 100%
}

.century__story__section__body__text img.vertical,
.contact__content img.vertical,
.contact__text img.vertical,
.contact__thanks img.vertical,
.modelhouse__article__profile__body img.vertical,
.sidebyblock__body img.vertical,
.single__journal__body img.vertical,
.works__article__contents img.vertical,
.wysiwyg img.vertical {
    margin-left: auto;
    margin-right: auto;
    width: 66.6666%
}

.century__story__section__body__text hr,
.contact__content hr,
.contact__text hr,
.contact__thanks hr,
.modelhouse__article__profile__body hr,
.sidebyblock__body hr,
.single__journal__body hr,
.works__article__contents hr,
.wysiwyg hr {
    background-color: #e5e5e5;
    border: 0;
    display: block;
    height: 1px;
    margin: 60px auto;
    max-width: 200px;
    padding: 0;
    width: 50%
}

.century__story__section__body__text a,
.contact__content a,
.contact__text a,
.contact__thanks a,
.modelhouse__article__profile__body a,
.sidebyblock__body a,
.single__journal__body a,
.works__article__contents a,
.wysiwyg a {
    color: #000;
    text-decoration: underline
}

.century__story__section__body__text a.arrowlinkbtn,
.century__story__section__body__text a.arrowlinkbtn--back,
.contact__content a.arrowlinkbtn,
.contact__content a.arrowlinkbtn--back,
.contact__text a.arrowlinkbtn,
.contact__text a.arrowlinkbtn--back,
.contact__thanks a.arrowlinkbtn,
.contact__thanks a.arrowlinkbtn--back,
.modelhouse__article__profile__body a.arrowlinkbtn,
.modelhouse__article__profile__body a.arrowlinkbtn--back,
.sidebyblock__body a.arrowlinkbtn,
.sidebyblock__body a.arrowlinkbtn--back,
.single__journal__body a.arrowlinkbtn,
.single__journal__body a.arrowlinkbtn--back,
.works__article__contents a.arrowlinkbtn,
.works__article__contents a.arrowlinkbtn--back,
.wysiwyg a.arrowlinkbtn,
.wysiwyg a.arrowlinkbtn--back {
    text-decoration: none
}

.century__story__section__body__text dl,
.contact__content dl,
.contact__text dl,
.contact__thanks dl,
.modelhouse__article__profile__body dl,
.sidebyblock__body dl,
.single__journal__body dl,
.works__article__contents dl,
.wysiwyg dl {
    display: flex;
    flex-flow: row wrap;
    position: relative;
    width: 100%
}

.century__story__section__body__text dl dt,
.contact__content dl dt,
.contact__text dl dt,
.contact__thanks dl dt,
.modelhouse__article__profile__body dl dt,
.sidebyblock__body dl dt,
.single__journal__body dl dt,
.works__article__contents dl dt,
.wysiwyg dl dt {
    flex: 1 1 140px;
    height: auto;
    width: 140px
}

.century__story__section__body__text dl dd,
.contact__content dl dd,
.contact__text dl dd,
.contact__thanks dl dd,
.modelhouse__article__profile__body dl dd,
.sidebyblock__body dl dd,
.single__journal__body dl dd,
.works__article__contents dl dd,
.wysiwyg dl dd {
    flex: 1 1 calc(100% - 140px);
    flex-basis: calc(100% - 140px);
    height: auto;
    width: calc(100% - 140px)
}

.century__story__section__body__text blockquote,
.contact__content blockquote,
.contact__text blockquote,
.contact__thanks blockquote,
.modelhouse__article__profile__body blockquote,
.sidebyblock__body blockquote,
.single__journal__body blockquote,
.works__article__contents blockquote,
.wysiwyg blockquote {
    background-color: #f9f9f9;
    padding: 30px 40px
}

.century__story__section__body__text .wp-caption,
.contact__content .wp-caption,
.contact__text .wp-caption,
.contact__thanks .wp-caption,
.modelhouse__article__profile__body .wp-caption,
.sidebyblock__body .wp-caption,
.single__journal__body .wp-caption,
.works__article__contents .wp-caption,
.wysiwyg .wp-caption {
    height: auto;
    margin: 0 auto;
    width: 100%!important
}

.century__story__section__body__text .wp-caption>img,
.contact__content .wp-caption>img,
.contact__text .wp-caption>img,
.contact__thanks .wp-caption>img,
.modelhouse__article__profile__body .wp-caption>img,
.sidebyblock__body .wp-caption>img,
.single__journal__body .wp-caption>img,
.works__article__contents .wp-caption>img,
.wysiwyg .wp-caption>img {
    margin: 0 auto
}

.century__story__section__body__text .wp-caption>img+img,
.contact__content .wp-caption>img+img,
.contact__text .wp-caption>img+img,
.contact__thanks .wp-caption>img+img,
.modelhouse__article__profile__body .wp-caption>img+img,
.sidebyblock__body .wp-caption>img+img,
.single__journal__body .wp-caption>img+img,
.works__article__contents .wp-caption>img+img,
.wysiwyg .wp-caption>img+img {
    margin-top: 16px
}

.century__story__section__body__text .wp-caption .wp-caption-text,
.contact__content .wp-caption .wp-caption-text,
.contact__text .wp-caption .wp-caption-text,
.contact__thanks .wp-caption .wp-caption-text,
.modelhouse__article__profile__body .wp-caption .wp-caption-text,
.sidebyblock__body .wp-caption .wp-caption-text,
.single__journal__body .wp-caption .wp-caption-text,
.works__article__contents .wp-caption .wp-caption-text,
.wysiwyg .wp-caption .wp-caption-text {
    color: grey;
    line-height: 22px;
    margin-top: 16px;
    text-align: center
}

.century__story__section__body__text .arrowlinkbtn,
.century__story__section__body__text .arrowlinkbtn--back,
.contact__content .arrowlinkbtn,
.contact__content .arrowlinkbtn--back,
.contact__text .arrowlinkbtn,
.contact__text .arrowlinkbtn--back,
.contact__thanks .arrowlinkbtn,
.contact__thanks .arrowlinkbtn--back,
.modelhouse__article__profile__body .arrowlinkbtn,
.modelhouse__article__profile__body .arrowlinkbtn--back,
.sidebyblock__body .arrowlinkbtn,
.sidebyblock__body .arrowlinkbtn--back,
.single__journal__body .arrowlinkbtn,
.single__journal__body .arrowlinkbtn--back,
.works__article__contents .arrowlinkbtn,
.works__article__contents .arrowlinkbtn--back,
.wysiwyg .arrowlinkbtn,
.wysiwyg .arrowlinkbtn--back {
    font-size: 14px
}

@media (max-width:1023px) {
    .century__story__section__body__text h3,
    .contact__content h3,
    .contact__text h3,
    .contact__thanks h3,
    .modelhouse__article__profile__body h3,
    .sidebyblock__body h3,
    .single__journal__body h3,
    .works__article__contents h3,
    .wysiwyg h3 {
        font-size: 16px;
        letter-spacing: .2em;
        line-height: 32px;
        margin: 30px 0 10px
    }
    .century__story__section__body__text img,
    .contact__content img,
    .contact__text img,
    .contact__thanks img,
    .modelhouse__article__profile__body img,
    .sidebyblock__body img,
    .single__journal__body img,
    .works__article__contents img,
    .wysiwyg img {
        margin: 30px auto
    }
    .century__story__section__body__text hr,
    .contact__content hr,
    .contact__text hr,
    .contact__thanks hr,
    .modelhouse__article__profile__body hr,
    .sidebyblock__body hr,
    .single__journal__body hr,
    .works__article__contents hr,
    .wysiwyg hr {
        margin: 40px auto
    }
    .century__story__section__body__text blockquote,
    .contact__content blockquote,
    .contact__text blockquote,
    .contact__thanks blockquote,
    .modelhouse__article__profile__body blockquote,
    .sidebyblock__body blockquote,
    .single__journal__body blockquote,
    .works__article__contents blockquote,
    .wysiwyg blockquote {
        padding: 14px 20px
    }
}

.century__cover {
    padding-bottom: 80px;
    position: relative
}

.century__cover:before {
    background-color: #e0ece8;
    content: "";
    display: block;
    height: calc(100% - 140px);
    position: absolute;
    right: 0;
    top: 140px;
    width: calc(100% - 100px);
    z-index: -1
}

.century__story {
    margin-top: 200px;
    position: relative
}

.century__story .verticalheading {
    left: calc(15% - 120px)
}

.century__story__section {
    margin-top: 150px
}

.century__story__section:nth-of-type(odd) .century__story__section__cover {
    margin-left: auto
}

.century__story__section:nth-of-type(odd) .century__story__section__body__text {
    order: 1
}

.century__story__section:nth-of-type(odd) .century__story__section__body__images {
    margin-right: -11.9047619%;
    order: 2
}

.century__story__section:nth-of-type(2n) .century__story__section__cover {
    margin-right: auto
}

.century__story__section:nth-of-type(2n) .century__story__section__body__text {
    order: 2
}

.century__story__section:nth-of-type(2n) .century__story__section__body__images {
    margin-left: -11.9047619%;
    order: 1
}

.century__story__section__cover {
    width: 85%
}

.century__story__section__body {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin-top: 100px;
    padding: 0 15%;
    width: 100%
}

.century__story__section__body__text {
    flex: 0 1 60%;
    width: 60%
}

.century__story__section__body__images {
    flex: 0 1 40%;
    width: 40%
}

.century__story__section__body__images img {
    display: block;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    width: 100%
}

.century__story__section__body__images img+img {
    margin-top: 20px
}

.century__story__section__body__images img.vertical {
    width: 75%
}

.century__carousel {
    margin-top: 200px
}

.century__history {
    margin-top: 200px;
    padding: 0 15%
}

.century__history .verticalheading {
    right: calc(15% - 120px)
}

.century__history__block {
    border-top: 1px solid #e5e5e5;
    padding: 23px 0 23px 240px;
    position: relative
}

.century__history__year {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    left: 0;
    letter-spacing: .25em;
    line-height: 34px;
    position: absolute
}

.century__history__line {
    padding-left: 80px;
    position: relative
}

.century__history__line .month {
    font-size: 14px;
    left: 0;
    letter-spacing: .1em;
    line-height: 34px;
    position: absolute
}

@media (max-width:1023px) {
    .century__cover {
        padding-bottom: 30px
    }
    .century__cover:before {
        height: calc(100% - 30px);
        top: 30px;
        width: calc(100% - 30px)
    }
    .century__cover .pagecover__main__body,
    .century__cover .pagecover__main__catch {
        padding-left: 30px
    }
    .century__story {
        margin-top: 90px
    }
    .century__story .verticalheading {
        left: 13px
    }
    .century__story__section {
        margin-top: 60px
    }
    .century__story__section:nth-of-type(odd) .century__story__section__body {
        padding: 0 30px 0 75px
    }
    .century__story__section:nth-of-type(odd) .century__story__section__body__images {
        margin-left: 0;
        margin-right: 0
    }
    .century__story__section:nth-of-type(2n) .century__story__section__body {
        padding: 0 75px 0 30px
    }
    .century__story__section:nth-of-type(2n) .century__story__section__body__images {
        margin-left: 0;
        margin-right: 0
    }
    .century__story__section__cover {
        width: calc(100% - 75px)
    }
    .century__story__section__body {
        display: block;
        margin-top: 25px;
        padding: 0 60px;
        width: 100%
    }
    .century__story__section__body__text {
        width: 100%
    }
    .century__story__section__body__images {
        margin-top: 30px;
        width: 100%
    }
    .century__story__section__body__images img {
        display: block;
        height: auto;
        width: 100%
    }
    .century__story__section__body__images img+img {
        margin-top: 10px
    }
    .century__carousel {
        margin-top: 70px
    }
    .century__history {
        margin-top: 90px;
        padding: 0 75px 0 30px
    }
    .century__history .verticalheading {
        right: 13px
    }
    .century__history__block {
        border-top: 1px solid #e5e5e5;
        padding: 12px 0;
        position: relative
    }
    .century__history__year {
        font-size: 16px;
        letter-spacing: .25em;
        line-height: 34px;
        position: relative
    }
    .century__history__line {
        padding-left: 60px;
        position: relative
    }
    .century__history__line .month {
        font-size: 14px;
        left: 0;
        letter-spacing: .1em;
        line-height: 34px;
        position: absolute
    }
}

.clip__cover+.clip__index {
    margin-top: 160px
}

.clip__index__group {
    position: relative;
    width: 85%
}

.clip__index__group+.clip__index__group {
    margin-top: 80px
}

.clip__index__group:nth-child(odd) {
    margin-left: auto
}

.clip__index__group:nth-child(odd) .verticalheading {
    left: -120px
}

.clip__index__group:nth-child(odd) .clip__index__link {
    padding-right: 17.6471%;
    text-align: left
}

.clip__index__group:nth-child(odd):not(:only-child) .cliplist__item__body {
    padding-left: 0
}

.clip__index__group:nth-child(2n),
.clip__index__group:only-child {
    margin-left: 0;
    margin-right: auto
}

.clip__index__group:nth-child(2n) .verticalheading,
.clip__index__group:only-child .verticalheading {
    left: auto;
    right: -120px
}

.clip__index__group:nth-child(2n) .clip__index__link,
.clip__index__group:only-child .clip__index__link {
    padding-left: 17.6471%;
    padding-right: 0;
    text-align: right
}

.clip__index__group[data-term="1"] .verticalheading__en {
    color: #3f8eda
}

.clip__index__group[data-term="2"] .verticalheading__en {
    color: #ff7b91
}

.clip__index__group[data-term="3"] .verticalheading__en {
    color: #b6b072
}

.clip__index__group[data-term="4"] .verticalheading__en {
    color: #dc801e
}

.clip__index__group[data-term="5"] .verticalheading__en {
    color: #399a4a
}

.clip__index__group[data-term="6"] .verticalheading__en {
    color: red
}

.clip__index__group[data-term="7"] .verticalheading__en {
    color: #662d80
}

.clip__index__group[data-term="8"] .verticalheading__en {
    color: #0033b2
}

.clip__index__back {
    padding-left: 17.6471%;
    text-align: left
}

.clip__index__sub {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin: 80px auto 0;
    position: relative;
    width: 70%
}

.clip__index__sub>.cliplist__categories {
    flex: 0 1 auto;
    height: auto;
    max-width: 640px;
    padding-right: 40px;
    width: auto
}

@media (max-width:1023px) {
    .clip__cover+.clip__index {
        margin-top: 60px
    }
    .clip__index__group {
        width: calc(100% - 75px)
    }
    .clip__index__group+.clip__index__group {
        margin-top: 40px
    }
    .clip__index__group:nth-child(odd) .verticalheading {
        left: -62px
    }
    .clip__index__group:nth-child(odd) .clip__index__link {
        padding-right: 75px
    }
    .clip__index__group:nth-child(odd) .cliplist__item:nth-child(odd) .cliplist__item__body {
        padding-left: 0
    }
    .clip__index__group:nth-child(2n) .verticalheading,
    .clip__index__group:only-child .verticalheading {
        left: auto;
        right: -62px
    }
    .clip__index__group:nth-child(2n) .clip__index__link,
    .clip__index__group:only-child .clip__index__link {
        padding-left: 75px
    }
    .clip__index__group:nth-child(2n) .cliplist__item:nth-child(odd) .cliplist__item__body,
    .clip__index__group:only-child .cliplist__item:nth-child(odd) .cliplist__item__body {
        padding-left: 15px
    }
    .clip__index__back {
        padding-left: 30px
    }
    .clip__index__sub {
        display: block;
        margin: 40px 75px 0 30px;
        width: calc(100% - 105px)
    }
    .clip__index__sub>.cliplist__categories {
        max-width: 100%;
        padding-right: 0
    }
}

.company__cover {
    position: relative
}

.company__cover .pagecover__main__catch .sub {
    margin-left: 0;
    margin-right: 8px
}

.company__cover__portrait {
    flex: 1 1 100%;
    margin-right: -120px;
    margin-top: 20px;
    width: 100%
}

.company__cover__portrait__inner {
    margin: 0 auto;
    max-width: 300px;
    width: 100%
}

.company__cover__portrait__image {
    display: block;
    height: auto;
    width: 100%
}

.company__cover__portrait__job {
    color: grey;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 18px;
    margin-top: 28px
}

.company__cover__portrait__name {
    line-height: 36px;
    margin-top: 5px
}

.company__cover__portrait__name .en,
.company__cover__portrait__name .ja {
    display: inline-block;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500;
    vertical-align: baseline
}

.company__cover__portrait__name .ja {
    font-size: 24px;
    letter-spacing: .25em;
    margin-right: 10px
}

.company__cover__portrait__name .en {
    font-size: 13px;
    letter-spacing: .25em
}

.company__carousel {
    margin-top: 200px
}

.company__outline {
    margin-top: 200px;
    padding: 0 15%
}

.company__outline .verticalheading {
    left: calc(15% - 120px)
}

.company__outline__block {
    border-top: 1px solid #e5e5e5;
    padding: 23px 0 23px 240px;
    position: relative
}

.company__outline__term {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    left: 0;
    letter-spacing: .25em;
    line-height: 34px;
    position: absolute
}

.company__outline__body,
.company__outline__body--hasLink {
    position: relative
}

.company__outline__body--hasLink {
    align-items: flex-end;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between
}

.company__outline__body--hasLink .link {
    padding-left: 20px
}

.company__100year {
    margin-top: 200px;
    padding: 100px 0;
    position: relative
}

.company__100year:before {
    background-color: #e0ece8;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 85%;
    z-index: -1
}

.company__100year .verticalheading {
    top: 50px
}

.company__100year .sidebysection__body {
    padding-top: 50px
}

.company__people {
    margin-top: 200px;
    padding: 0 15%
}

.company__people .verticalheading {
    right: calc(15% - 120px)
}

.company__people .conversation--even,
.company__people .conversation--odd {
    padding-left: 0
}

.company__people__member {
    margin: 0 auto;
    width: 75%
}

@media (max-width:1440px) {
    .company__people__member {
        width: 300px
    }
}

@media (max-width:1190px) {
    .company__people__member {
        width: 100%
    }
}

.company__people__member__image {
    display: block;
    height: auto;
    width: 100%
}

.company__people__member__job {
    color: grey;
    font-size: 13px;
    line-height: 20px;
    margin-top: 26px
}

.company__people__member__job,
.company__people__member__name {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em
}

.company__people__member__name {
    font-size: 18px;
    line-height: 28px;
    margin-top: 4px
}

@media (max-width:1023px) {
    .company__cover {
        position: relative
    }
    .company__cover .pagecover__main__catch .sub {
        margin-left: 0;
        margin-right: 8px
    }
    .company__cover .pagecover__image>div {
        background-position: 100%
    }
    .company__cover__portrait {
        flex: 0 1 calc(50% + 40px);
        margin-left: -45px;
        margin-right: auto;
        margin-top: 120px;
        padding-right: 40px;
        width: calc(50% + 40px)
    }
    .company__cover__portrait__inner {
        margin: 0 auto;
        max-width: 100%;
        width: 100%
    }
    .company__cover__portrait__image {
        display: block;
        height: auto;
        margin: 0 auto 0 0;
        max-width: 300px;
        width: 100%
    }
    .company__cover__portrait__job {
        font-size: 10px;
        letter-spacing: .25em;
        line-height: 14px;
        margin-top: 12px;
        white-space: nowrap
    }
    .company__cover__portrait__name {
        line-height: 32px;
        margin-top: 0;
        white-space: nowrap
    }
    .company__cover__portrait__name .ja {
        font-size: 16px;
        letter-spacing: .25em;
        margin-right: 10px
    }
    .company__cover__portrait__name .en {
        font-size: 10px;
        letter-spacing: .25em
    }
    .company__carousel {
        margin-top: 70px
    }
    .company__outline {
        margin-top: 90px;
        padding: 0 30px 0 75px
    }
    .company__outline .verticalheading {
        left: 13px
    }
    .company__outline__block {
        padding: 12px 0
    }
    .company__outline__term {
        font-size: 16px;
        letter-spacing: .25em;
        line-height: 34px;
        position: relative
    }
    .company__outline__body,
    .company__outline__body--hasLink {
        position: relative
    }
    .company__outline__body--hasLink {
        display: block
    }
    .company__outline__body--hasLink .link {
        margin-top: 18px;
        padding-left: 0
    }
    .company__100year {
        margin-top: 90px;
        padding: 30px 0
    }
    .company__100year:before {
        width: calc(100% - 30px)
    }
    .company__100year .verticalheading {
        top: 0
    }
    .company__100year .sidebysection__body {
        padding-top: 0
    }
    .company__100year .sidebysection__body__link,
    .company__100year .sidebysection__body__text {
        padding-left: 60px
    }
    .company__people {
        margin-top: 90px;
        padding: 0 75px 0 30px
    }
    .company__people .verticalheading {
        right: 13px
    }
    .company__people .conversation--even,
    .company__people .conversation--odd {
        padding-left: 0;
        padding-right: 0;
        width: 100%
    }
    .company__people__section {
        width: 100%
    }
    .company__people__member {
        margin-left: auto;
        margin-right: auto;
        width: 75%
    }
    .company__people__member__job {
        font-size: 10px;
        letter-spacing: .25em;
        line-height: 14px;
        margin-top: 12px
    }
    .company__people__member__name {
        font-size: 16px;
        letter-spacing: .25em;
        line-height: 32px;
        margin-top: 0
    }
}

@media (max-width:374px) {
    .company__cover .pagecover__image>div {
        background-position: 100% 100%;
        background-size: auto 130%
    }
    .company__100year .sidebysection__body__text p br,
    .company__100year .sidebysection__body__text p span.pcbr,
    .company__100year .sidebysection__body__text p span.spbr {
        display: block;
        height: 0;
        width: 0
    }
    .company__100year .sidebysection__body__text p br:first-child,
    .company__100year .sidebysection__body__text p br:nth-child(2),
    .company__100year .sidebysection__body__text p br:nth-child(4),
    .company__100year .sidebysection__body__text p br:nth-child(6),
    .company__100year .sidebysection__body__text p br:nth-child(8),
    .company__100year .sidebysection__body__text p br:nth-child(9),
    .company__100year .sidebysection__body__text p span.pcbr:first-child,
    .company__100year .sidebysection__body__text p span.pcbr:nth-child(2),
    .company__100year .sidebysection__body__text p span.pcbr:nth-child(4),
    .company__100year .sidebysection__body__text p span.pcbr:nth-child(6),
    .company__100year .sidebysection__body__text p span.pcbr:nth-child(8),
    .company__100year .sidebysection__body__text p span.pcbr:nth-child(9),
    .company__100year .sidebysection__body__text p span.spbr:first-child,
    .company__100year .sidebysection__body__text p span.spbr:nth-child(2),
    .company__100year .sidebysection__body__text p span.spbr:nth-child(4),
    .company__100year .sidebysection__body__text p span.spbr:nth-child(6),
    .company__100year .sidebysection__body__text p span.spbr:nth-child(8),
    .company__100year .sidebysection__body__text p span.spbr:nth-child(9) {
        display: none
    }
}

.contact__main {
    padding-left: 15%;
    padding-right: 15%;
    padding-top: 1px;
    position: relative
}

.contact__main:before {
    background-color: #e5e5e5;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    width: 85%
}

.contact__main .verticalheading {
    right: calc(15% - 120px)
}

.contact__heading {
    color: grey;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 28px;
    position: relative
}

.contact__heading:before {
    background-color: #ccc;
    content: "";
    display: block;
    height: 1px;
    left: -60px;
    position: absolute;
    top: 14px;
    width: 40px
}

.contact__text {
    margin-top: 90px
}

.contact__text>*,
.contact__text>span>* {
    max-width: 760px
}

.contact__text>.contact__heading {
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 30px;
    max-width: 100%;
    padding-bottom: 30px
}

.contact__text .contact__heading+* {
    margin-top: 0
}

.contact__text__note {
    color: grey;
    padding-left: 1.25em;
    position: relative
}

.contact__text__note>span.star {
    left: 0;
    position: absolute
}

.contact__thanks {
    margin-top: 90px
}

.contact__thanks>* {
    max-width: 760px
}

.contact__thanks>.contact__heading {
    margin-bottom: 30px;
    max-width: 100%
}

.contact__thanks .contact__heading+* {
    margin-top: 0
}

.contact__tel {
    margin-top: 90px
}

.contact__tel__body {
    border: 1px solid #e5e5e5;
    margin-top: 30px;
    padding: 30px;
    text-align: center
}

.contact__tel__lead {
    font-size: 14px;
    line-height: 34px
}

.contact__tel__number {
    color: grey;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 60px
}

.contact__tel__info {
    color: grey;
    font-size: 14px;
    line-height: 34px
}

.contact__cal {
    margin-top: 90px;
    max-width: 760px
}

.contact__cal__label {
    color: grey;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 28px;
    text-align: center
}

.contact__cal__main {
    border: 1px solid #e5e5e5;
    margin: 20px 0 0;
    overflow: hidden;
    position: relative
}

.contact__cal__main__vline {
    background-color: #e1e1e1;
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 1px;
    z-index: -1
}

.contact__cal__main__vline:first-child {
    left: 14.28%
}

.contact__cal__main__vline:nth-child(2) {
    left: 28.56%
}

.contact__cal__main__vline:nth-child(3) {
    left: 42.84%
}

.contact__cal__main__vline:nth-child(4) {
    left: 57.12%
}

.contact__cal__main__vline:nth-child(5) {
    left: 71.4%
}

.contact__cal__main__vline:nth-child(6) {
    left: 85.68%
}

.contact__cal__main__week {
    background-color: grey;
    border-bottom: 1px solid grey;
    display: flex;
    flex-flow: row nowrap;
    position: relative
}

.contact__cal__main__week>div {
    color: #fff;
    flex: 0 0 14.28%;
    font-size: 15px;
    line-height: 20px;
    padding: 5px 0;
    position: relative;
    text-align: center;
    width: 14.28%;
    z-index: 1
}

.contact__cal__main__days {
    display: flex;
    flex-flow: row wrap;
    margin-bottom: -1px
}

.contact__cal__main__days .day {
    border-bottom: 1px solid #e1e1e1;
    flex: 0 0 14.28%;
    min-height: 80px;
    padding: 0 0 10px;
    position: relative;
    width: 14.28%
}

.contact__cal__main__days .date {
    font-size: 15px;
    line-height: 32px;
    padding: 2px 14px
}

.contact__cal__main__days label {
    background-color: #e5e5e5;
    cursor: pointer;
    display: block;
    font-size: 13px;
    height: auto;
    letter-spacing: .1em;
    line-height: 20px;
    margin: 0 auto;
    padding: 6px 5px;
    position: relative;
    text-align: center;
    width: calc(100% - 20px)
}

.contact__cal__main__days label input {
    display: block;
    height: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 0;
    z-index: 0
}

.contact__cal__main__days label+label {
    margin-top: 2px
}

.contact__cal__main__days:before {
    border-bottom: 1px solid #e1e1e1;
    content: "";
    display: block;
    height: auto;
    width: 0
}

.contact__cal__main__days[data-startday="0"]:before {
    width: 0
}

.contact__cal__main__days[data-startday="1"]:before {
    width: 14.28%
}

.contact__cal__main__days[data-startday="2"]:before {
    width: 28.56%
}

.contact__cal__main__days[data-startday="3"]:before {
    width: 42.84%
}

.contact__cal__main__days[data-startday="4"]:before {
    width: 57.12%
}

.contact__cal__main__days[data-startday="5"]:before {
    width: 71.4%
}

.contact__cal__main__days[data-startday="6"]:before {
    width: 85.68%
}

.contact__form {
    margin-top: 90px
}

.contact__form .contact__heading {
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 30px;
    padding-bottom: 30px
}

.contact__form__note {
    font-size: 14px;
    letter-spacing: .1em;
    line-height: 34px;
    margin-bottom: 30px
}

.contact__form__note ul li {
    padding-left: 1em;
    position: relative
}

.contact__form__note ul li:before {
    content: "・";
    left: 0;
    position: absolute
}

.contact__form__part {
    display: block;
    padding-left: 32%;
    position: relative
}

.contact__form__part+.contact__form__part {
    margin-top: 30px
}

.contact__form__part__label {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    height: auto;
    left: 0;
    letter-spacing: .25em;
    line-height: 28px;
    padding: 13px 120px 13px 0;
    position: absolute;
    width: 32%
}

.contact__form__part__label__required {
    background-color: #000;
    color: #fff;
    display: block;
    font-size: 11px;
    height: 28px;
    letter-spacing: .1em;
    line-height: 28px;
    position: absolute;
    right: 38px;
    text-align: center;
    top: 13px;
    width: 70px
}

.contact__form__part__input {
    display: flex;
    flex-flow: row nowrap;
    height: auto;
    width: 100%
}

.contact__form__part__input+.contact__form__part__input {
    margin-top: 30px
}

.contact__form__part__input input,
.contact__form__part__input textarea {
    background-color: #f5f5f5;
    display: block;
    font-size: 14px;
    height: auto;
    letter-spacing: .1em;
    line-height: 28px;
    padding: 13px 20px;
    width: 100%
}

.contact__form__part__input__preferred {
    font-size: 14px;
    letter-spacing: .1em;
    line-height: 28px;
    padding: 13px 0
}

.contact__form__part__input__radio {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start
}

.contact__form__part__input__radio>label {
    cursor: pointer;
    display: block;
    flex: 0 1 auto;
    height: auto;
    position: relative;
    width: auto
}

.contact__form__part__input__radio>label input {
    display: block;
    height: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 0;
    z-index: 0
}

.contact__form__part__input__radio>label span {
    display: block;
    font-size: 14px;
    letter-spacing: .1em;
    line-height: 28px;
    padding: 13px 0 13px 50px;
    position: relative
}

.contact__form__part__input__radio>label span:before {
    border: 1px solid #e5e5e5;
    border-radius: 50%;
    content: "";
    display: block;
    height: 34px;
    left: 0;
    position: absolute;
    top: 10px;
    width: 34px
}

.contact__form__part__input__radio>label span:after {
    background-color: #f5f5f5;
    border-radius: 50%;
    content: "";
    display: block;
    height: 22px;
    left: 6px;
    position: absolute;
    top: 16px;
    width: 22px
}

.contact__form__part__input__radio>label input:checked+span:after {
    background-color: #000
}

.contact__form__part__input__radio>label:not(:last-child) {
    margin-right: 30px
}

.contact__form__part__input__checks {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start
}

.contact__form__part__input__checks label {
    cursor: pointer;
    display: block;
    flex: 0 1 calc(50% - 10px);
    flex-basis: calc(50% - 10px);
    margin-left: 20px;
    margin-top: 10px;
    position: relative;
    width: calc(50% - 10px)
}

.contact__form__part__input__checks label input {
    display: block;
    height: 0;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 0
}

.contact__form__part__input__checks label span {
    display: block;
    font-size: 14px;
    letter-spacing: .1em;
    line-height: 24px;
    padding: 5px 0 5px 50px;
    position: relative
}

.contact__form__part__input__checks label span:after,
.contact__form__part__input__checks label span:before {
    content: "";
    display: block;
    height: 34px;
    left: 0;
    position: absolute;
    top: 0;
    width: 34px
}

.contact__form__part__input__checks label span:before {
    border: 1px solid #e5e5e5
}

.contact__form__part__input__checks label span:after {
    background-image: url(../images/checkmark.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 34px 34px;
    opacity: 0
}

.contact__form__part__input__checks label input:checked+span:after {
    opacity: 1
}

.contact__form__part__input__checks label:nth-child(odd) {
    margin-left: 0
}

.contact__form__part__input__prefix {
    font-size: 14px;
    line-height: 28px;
    margin-right: 20px;
    padding: 13px 0
}

.contact__form__part__input__prefix+input {
    max-width: 300px
}

.contact__form__notice {
    border-top: 1px solid #e5e5e5;
    font-size: 14px;
    letter-spacing: .1em;
    line-height: 34px;
    margin-top: 50px;
    padding-top: 40px;
    position: relative
}

.contact__form__notice__label {
    max-width: 760px
}

.contact__form__notice__detail {
    color: grey;
    max-width: 760px
}

.contact__form__send {
    margin-top: 90px
}

.contact__form__send__button {
    background-color: #000;
    color: #fff;
    display: block;
    font-size: 17px;
    height: 54px;
    letter-spacing: .1em;
    line-height: 34px;
    margin: 0 auto;
    min-width: 360px;
    padding: 10px 20px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap
}

.contact__form__send__button:before {
    background-image: url(../images/icon_mail_wh.png);
    background-position: 50%;
    background-size: 20px 20px;
    height: 20px;
    margin-right: 10px;
    top: -2px;
    width: 20px
}

.contact__form__send__button:after,
.contact__form__send__button:before {
    background-repeat: no-repeat;
    content: "";
    display: inline-block;
    position: relative;
    vertical-align: middle
}

.contact__form__send__button:after {
    background-image: url(../images/arrow_wh.png);
    background-position: 100% 100%;
    background-size: 120px 10px;
    height: 5px;
    margin-left: 20px;
    top: -3px;
    width: 30px
}

@media (max-width:1023px) {
    .contact__main {
        padding-left: 30px;
        padding-right: 75px
    }
    .contact__main:before {
        width: calc(100% - 75px)
    }
    .contact__main .verticalheading {
        right: 13px
    }
    .contact__heading {
        font-size: 16px!important;
        letter-spacing: .25em!important;
        line-height: 24px!important;
        padding: 0;
        position: relative
    }
    .contact__heading:before {
        height: 1px;
        left: -30px;
        top: 12px;
        width: 20px
    }
    .contact__text {
        margin-top: 40px
    }
    .contact__text>.contact__heading {
        margin-bottom: 10px;
        padding-bottom: 10px
    }
    .contact__thanks {
        margin-top: 40px
    }
    .contact__thanks>.contact__heading {
        margin-bottom: 10px
    }
    .contact__tel {
        margin-top: 40px
    }
    .contact__tel__body {
        border: 1px solid #e5e5e5;
        margin-top: 15px;
        padding: 15px 10px
    }
    .contact__tel__number {
        font-size: 26px;
        letter-spacing: 0;
        line-height: 50px
    }
    .contact__cal {
        margin-top: 30px
    }
    .contact__cal__label {
        font-size: 16px;
        letter-spacing: .25em;
        line-height: 26px
    }
    .contact__cal__main {
        margin: 10px 0 0
    }
    .contact__cal__main__week>div {
        font-size: 12px;
        line-height: 18px;
        padding: 3px 0
    }
    .contact__cal__main__days .day {
        min-height: 30px;
        padding: 0 0 2px
    }
    .contact__cal__main__days .date {
        font-size: 12px;
        line-height: 24px;
        padding: 2px 8px
    }
    .contact__cal__main__days label {
        font-size: 9px;
        letter-spacing: .1em;
        line-height: 14px;
        padding: 2px 0;
        white-space: nowrap;
        width: calc(100% - 4px)
    }
    .contact__cal__main__days label+label {
        margin-top: 2px
    }
    .contact__form {
        margin-top: 40px
    }
    .contact__form .contact__heading {
        border-bottom: 1px solid #e5e5e5;
        margin-bottom: 15px;
        padding-bottom: 15px
    }
    .contact__form__note {
        font-size: 14px;
        letter-spacing: .1em;
        line-height: 34px;
        margin-bottom: 30px
    }
    .contact__heading+.contact__form__note {
        border-top: none;
        margin-top: 0;
        padding-top: 0
    }
    .contact__form__part {
        padding-left: 0
    }
    .contact__form__part+.contact__form__part {
        margin-top: 20px
    }
    .contact__form__part__label {
        font-size: 16px;
        height: auto;
        letter-spacing: .25em;
        line-height: 26px;
        padding: 0 70px 10px 0;
        position: relative;
        width: 100%
    }
    .contact__form__part__label__required {
        font-size: 9px;
        height: 24px;
        letter-spacing: .1em;
        line-height: 24px;
        right: 0;
        top: 1px;
        width: 60px
    }
    .contact__form__part__input {
        display: flex;
        flex-flow: row nowrap;
        height: auto;
        width: 100%
    }
    .contact__form__part__input+.contact__form__part__input {
        margin-top: 10px
    }
    .contact__form__part__input input,
    .contact__form__part__input textarea {
        padding: 8px 10px
    }
    .contact__form__part__input textarea {
        height: 240px
    }
    .contact__form__part__input__preferred {
        padding: 8px 0
    }
    .contact__form__part__input__checks label {
        flex: 0 1 100%;
        flex-basis: 100%;
        margin-left: 0;
        margin-top: 0;
        width: 100%
    }
    .contact__form__part__input__checks label:nth-child(n+2) {
        margin-top: 10px
    }
    .contact__form__part__input__prefix {
        font-size: 14px;
        line-height: 28px;
        margin-right: 10px;
        padding: 8px 0;
        white-space: nowrap
    }
    .contact__form__part__input__prefix+input {
        max-width: 300px
    }
    .contact__form__notice {
        margin-top: 30px;
        padding-top: 20px
    }
    .contact__form__notice__label {
        max-width: 760px
    }
    .contact__form__notice__detail {
        color: grey;
        max-width: 760px
    }
    .contact__form__send {
        margin-top: 40px
    }
    .contact__form__send__button {
        font-size: 14px;
        letter-spacing: .1em;
        line-height: 34px;
        max-width: 480px;
        min-width: 0;
        padding: 10px 5px;
        width: 100%
    }
    .contact__form__send__button:before {
        background-size: 20px 20px;
        height: 20px;
        margin-right: 10px;
        top: -2px;
        width: 20px
    }
    .contact__form__send__button:after {
        height: 4px;
        margin-left: 10px;
        top: -3px;
        width: 20px
    }
}

.index .header {
    height: 0
}

.index__hero {
    height: auto;
    position: relative;
    width: 100%
}

.index__hero__images {
    position: relative;
    z-index: 0
}

.index__hero__images .slideimages {
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s
}

.index__hero__images .slideimages .slideimages__container {
    height: 100%;
    padding-top: 0
}

.index__hero__images .slideimages.reveal {
    -webkit-clip-path: inset(0 0 0 0)!important;
    clip-path: inset(0 0 0 0)!important
}

.index__hero__images .slideimages.image1 {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    height: 100vh;
    width: 50%
}

.index__hero__images .slideimages.image1 .slideimages__container {
    height: calc(100% - 40px)
}

.index__hero__images .slideimages.image1 .slideimages__pager {
    text-align: right
}

.index__hero__images .slideimages.image1 .slideimages__pager__page+.index__hero__images .slideimages.image1 .slideimages__pager__page {
    margin-left: 0;
    margin-right: 10px
}

.index__hero__images .slideimages.image2 {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    height: calc(50vh + 322px);
    margin-top: calc(50vh - 202px);
    padding-bottom: 40px;
    width: calc(50% - 220px)
}

.index__hero__images .slideimages.image2 .slideimages__pager {
    bottom: 0;
    position: absolute
}

.index__hero__images .slideimages.image3 {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    height: calc(100vh - 200px);
    width: calc(50% - 300px)
}

.index__hero__images .slideimages.image3 .slideimages__container {
    height: calc(100% - 40px)
}

.index__hero__images .slideimages.image3 .slideimages__pager {
    text-align: right
}

.index__hero__images .slideimages.image3 .slideimages__pager__page+.index__hero__images .slideimages.image3 .slideimages__pager__page {
    margin-left: 0;
    margin-right: 10px
}

.index__hero__images .slideimages.image4 {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    height: calc(100vh - 160px);
    margin: 100px 100px 0 120px;
    padding-bottom: 40px;
    width: calc(50% + 80px)
}

.index__hero__images .slideimages.image4 .slideimages__pager {
    bottom: 0;
    position: absolute
}

.index__hero__images__group {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    height: auto;
    justify-content: space-between;
    position: relative;
    width: 100%
}

.index__hero__meta {
    height: 100vh;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1
}

.index__hero__arrow {
    -webkit-animation: scrollarrow 2s cubic-bezier(.19, 1, .22, 1) 1s infinite;
    animation: scrollarrow 2s cubic-bezier(.19, 1, .22, 1) 1s infinite;
    background-image: url(../images/arrow_wh.png);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: 120px 10px;
    bottom: 70px;
    display: block;
    height: 10px;
    left: -20px;
    position: absolute;
    transform: rotate(90deg);
    transform-origin: right bottom;
    width: 120px
}

.index__hero__catch {
    color: #000;
    display: block;
    height: 403px;
    left: calc(50% - 34px);
    padding: 0 30px 0 0;
    position: absolute;
    top: calc(50% - 202px);
    width: 166px
}

.index__hero__catch .verticalheading__en {
    color: #000;
    display: block;
    font-size: 13px;
    height: auto;
    letter-spacing: .1em;
    line-height: 18px;
    position: absolute;
    right: 0;
    top: 5px;
    transform: translate(100%) rotate(90deg);
    transform-origin: left top;
    white-space: nowrap;
    width: auto
}

.index__hero__catch .verticalheading__ja {
    font-feature-settings: normal;
    display: block;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .2em;
    line-height: 68px;
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.index__news {
    height: auto;
    margin: 200px auto 0;
    padding: 0;
    position: relative;
    width: 70%
}

.index__news__title {
    position: absolute;
    right: -120px;
    top: 0
}

.index__news__body {
    height: auto;
    position: relative;
    width: 100%
}

.index__works {
    height: auto;
    margin: 200px 0 0 auto;
    padding: 0;
    position: relative;
    width: 85%
}

.index__works__title {
    left: -120px;
    position: absolute;
    top: 0
}

.index__works__body {
    height: auto;
    position: relative;
    width: 100%
}

.index__works__body .listcarousel__viewport {
    padding-right: 220px
}

.index__works__body .listcarousel__next {
    right: 214px
}

.index__works__link {
    margin-top: 50px
}

.index__modelhouse {
    margin-top: 120px
}

.index__modelhouse .sidebysection__body__text {
    padding-right: 12px
}

.index__modelhouse .sidebysection__body__text p ruby {
    position: relative
}

.index__modelhouse .sidebysection__body__text p rt {
    ruby-align: start;
    color: grey;
    font-size: .61em;
    left: 10px;
    letter-spacing: .25em;
    position: relative;
    text-align: left;
    text-justify: none;
    transform: translate(10px)
}

.index__modelhouse .sidebysection__body__text p+p {
    margin-right: 12px
}

.index__philosophy {
    margin: 300px auto 0;
    position: relative;
    width: 70%
}

.index__philosophy>.verticalheading {
    left: -120px
}

.index__philosophy__body {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    position: relative
}

.index__philosophy__body__bg {
    background-image: url(../images/index_philosophy_bg.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    height: 828px;
    left: -100px;
    position: absolute;
    top: -160px;
    width: 828px;
    z-index: -1
}

.index__philosophy__lead {
    align-items: flex-start;
    display: flex;
    flex: 0 1 50%;
    flex-flow: row nowrap;
    justify-content: center;
    padding-left: 60px;
    width: 50%
}

.index__philosophy__lead__ja {
    font-feature-settings: normal;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500;
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.index__philosophy__lead__ja .sub {
    display: block;
    font-size: 18px;
    letter-spacing: .2em;
    line-height: 24px;
    margin-left: 15px
}

.index__philosophy__lead__ja .main {
    display: block;
    font-size: 48px;
    letter-spacing: .2em;
    line-height: 68px
}

.index__philosophy__lead__en {
    font-feature-settings: normal;
    font-size: 13px;
    letter-spacing: .1em;
    line-height: 22px;
    margin-left: 38px;
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.index__philosophy__text {
    flex: 0 1 50%;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 38px;
    padding: 0 0 40px 60px;
    white-space: nowrap;
    width: 50%
}

.index__philosophy__menu {
    align-items: flex-start;
    display: flex;
    flex-flow: row-reverse wrap;
    height: auto;
    justify-content: space-around;
    margin: 20px auto 0;
    max-width: 1000px;
    position: relative;
    width: 100%
}

.index__philosophy__menu__btn {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 50%;
    display: block;
    flex: 0 1 calc(50% - 60px);
    flex-basis: calc(50% - 60px);
    margin-top: 40px;
    overflow: hidden;
    position: relative;
    width: calc(50% - 60px)
}

.index__philosophy__menu__btn:before {
    content: "";
    display: block;
    height: 0;
    padding-top: 100%;
    position: relative;
    width: 100%;
    z-index: -1
}

.index__philosophy__menu__btn.message {
    transform: translate(16.36%, -40%)
}

.index__philosophy__menu__btn.message .index__philosophy__menu__btn__label {
    width: 68px
}

.index__philosophy__menu__btn.quality {
    transform: translate(10.45%)
}

.index__philosophy__menu__btn.quality .index__philosophy__menu__btn__label {
    width: 68px
}

.index__philosophy__menu__btn.numbers {
    transform: translate(-10.91%, -40%)
}

.index__philosophy__menu__btn.numbers .index__philosophy__menu__btn__label {
    width: 112px
}

.index__philosophy__menu__btn.collalboration {
    transform: translate(-15.91%)
}

.index__philosophy__menu__btn.collalboration .index__philosophy__menu__btn__label {
    width: 156px
}

body:not(.touch) .index__philosophy__menu__btn .index__philosophy__menu__btn__arrow:after {
    background-color: #fff;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    top: -1px;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
    width: 100%
}

body:not(.touch) .index__philosophy__menu__btn:hover .index__philosophy__menu__btn__arrow:after {
    transform: scaleX(1);
    transform-origin: left center
}

body:not(.touch) .index__philosophy__menu__btn:hover .index__philosophy__menu__btn__arrow:before {
    -webkit-animation: arrow_hover 1s cubic-bezier(.19, 1, .22, 1) 0s infinite;
    animation: arrow_hover 1s cubic-bezier(.19, 1, .22, 1) 0s infinite
}

.index__philosophy__menu__btn__image {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 120%;
    left: -10%;
    position: absolute;
    top: -10%;
    width: 120%
}

.message .index__philosophy__menu__btn__image {
    background-image: url(../images/index_philosophy_1.jpg)
}

.quality .index__philosophy__menu__btn__image {
    background-image: url(../images/index_philosophy_2.jpg)
}

.numbers .index__philosophy__menu__btn__image {
    background-image: url(../images/index_philosophy_3.jpg)
}

.collalboration .index__philosophy__menu__btn__image {
    background-image: url(../images/index_philosophy_4.jpg)
}

.index__philosophy__menu__btn__label {
    bottom: auto;
    left: 50%;
    padding-right: 24px;
    position: absolute;
    right: auto;
    top: 23%;
    transform: translateX(-50%) translateZ(1px);
    z-index: 1
}

.index__philosophy__menu__btn__label .verticalheading__en {
    color: #fff;
    font-size: 13px;
    letter-spacing: .1em;
    line-height: 18px
}

.index__philosophy__menu__btn__label .verticalheading__ja {
    color: #fff;
    font-size: 34px;
    letter-spacing: .2em;
    line-height: 44px
}

.index__philosophy__menu__btn__arrow {
    border-top: 1px solid hsla(0, 0%, 100%, .4);
    bottom: 35px;
    display: block;
    height: 35px;
    left: calc(50% - 47px);
    position: absolute;
    transform: translateZ(1px);
    width: 94px
}

.index__philosophy__menu__btn__arrow:before {
    background-image: url(../images/arrow_wh.png);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: 120px;
    bottom: 0;
    content: "";
    display: block;
    height: 6px;
    left: calc(50% - 15px);
    position: absolute;
    width: 31px
}

.index__philosophy__link {
    height: auto;
    margin: 0 auto;
    max-width: 1000px;
    position: relative;
    text-align: right;
    width: 100%
}

@media (max-width:1280px) {
    .index__philosophy__lead {
        flex: 0 1 calc(100% - 448px);
        flex-basis: calc(100% - 448px);
        padding-left: 30px;
        width: calc(100% - 448px)
    }
    .index__philosophy__text {
        flex: 0 1 448px;
        width: 448px
    }
    .index__philosophy__menu {
        margin-left: calc(50% - 448px);
        width: 896px
    }
}

.index__interview {
    margin-top: 180px;
    padding: 100px 0;
    position: relative
}

.index__interview:before {
    background-color: #f3f2e6;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: calc(100% - 220px);
    z-index: -1
}

.index__interview .verticalheading {
    top: 50px
}

.index__interview .sidebysection__body {
    padding-top: 50px
}

.index__interview .sidebysection__body__link {
    margin-top: 170px
}

.index__clip {
    margin: 200px 0 0 auto;
    position: relative;
    width: 85%
}

.index__clip .verticalheading {
    left: -120px
}

.index__clip__list {
    height: auto;
    width: 100%
}

.index__clip__list .cliplist__item__body {
    padding-left: 0!important
}

.index__clip__sub {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    position: relative;
    width: calc(100% - 220px)
}

.index__clip__sub>.cliplist__categories {
    flex: 0 1 auto;
    height: auto;
    max-width: 640px;
    padding-right: 40px;
    width: auto
}

.index__100year {
    margin-top: 200px;
    padding: 100px 0;
    position: relative
}

.index__100year:before {
    background-color: #e0ece8;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: calc(100% - 220px);
    z-index: -1
}

.index__100year .verticalheading {
    top: 50px
}

.index__100year .sidebysection__body {
    padding-top: 50px
}

@media (max-width:1023px) {
    .index__hero {
        height: auto;
        position: relative;
        width: 100%
    }
    .index__hero__images {
        position: relative;
        z-index: 0
    }
    .index__hero__images .slideimages.image1 {
        height: 100vw;
        max-height: 640px;
        width: 100%
    }
    .index__hero__images .slideimages.image1 .slideimages__container {
        height: 100%
    }
    .index__hero__images .slideimages.image1 .slideimages__pager {
        padding-left: 15px;
        text-align: left
    }
    .index__hero__images .slideimages.image1 .slideimages__pager__page+.index__hero__images .slideimages.image1 .slideimages__pager__page {
        margin-left: 5px;
        margin-right: 0
    }
    .index__hero__images .slideimages.image2 {
        height: auto;
        margin: 30px 0 0 auto;
        max-width: 32%;
        padding-bottom: 20px;
        width: calc(50% - 68px)
    }
    .index__hero__images .slideimages.image2 .slideimages__container {
        height: 0;
        padding-top: 133.3333%
    }
    .index__hero__images .slideimages.image3 {
        height: auto;
        max-width: 32%;
        position: absolute;
        top: -20px;
        transform: translateY(-100%);
        width: calc(50% - 68px)
    }
    .index__hero__images .slideimages.image3 .slideimages__container {
        height: 0;
        padding-top: 133.3333%
    }
    .index__hero__images .slideimages.image4 {
        height: auto;
        margin: 80px auto 0;
        max-width: 550px;
        padding-bottom: 20px;
        width: calc(100% - 90px)
    }
    .index__hero__images .slideimages.image4 .slideimages__container {
        height: 0;
        padding-top: 75%
    }
    .index__hero__images .slideimages.image4 .slideimages__pager {
        text-align: center
    }
    .index__hero__images__group {
        display: block;
        height: auto;
        position: relative;
        width: auto
    }
    .index__hero__meta {
        height: 100vw;
        max-height: 640px;
        position: absolute;
        width: 100%
    }
    .index__hero__meta:before {
        background: linear-gradient(0deg, hsla(0, 0%, 100%, .5), hsla(0, 0%, 100%, 0));
        bottom: 0;
        content: "";
        display: block;
        height: 190px;
        left: 0;
        position: absolute;
        width: 100%;
        z-index: 0
    }
    .index__hero__arrow {
        background-image: url(../images/arrow_bk.png);
        bottom: 30px;
        height: 6px;
        left: -30px;
        position: absolute;
        width: 60px;
        z-index: 1
    }
    .index__hero__catch {
        bottom: -122px;
        height: 236px;
        left: calc(50% - 51px);
        top: auto;
        transform: none;
        width: 102px
    }
    .index__hero__catch .verticalheading__en {
        color: #000;
        font-size: 11px;
        letter-spacing: .1em;
        line-height: 18px
    }
    .index__hero__catch .verticalheading__ja {
        font-size: 28px;
        letter-spacing: .2em;
        line-height: 38px
    }
    .index__news {
        margin: 80px auto 0 0;
        width: calc(100% - 75px)
    }
    .index__news__title {
        right: -62px
    }
    .index__news__body {
        height: auto;
        position: relative;
        width: 100%
    }
    .index__works {
        margin: 100px 0 0 auto;
        width: calc(100% - 75px)
    }
    .index__works__title {
        left: -62px
    }
    .index__works__body {
        height: auto;
        position: relative;
        width: 100%
    }
    .index__works__body .listcarousel__viewport {
        padding-right: 30px
    }
    .index__works__body .listcarousel__next {
        right: 30px
    }
    .index__works__link {
        margin-top: 30px
    }
    .index__modelhouse {
        margin-top: 80px
    }
    .index__modelhouse .sidebysection__body__text {
        padding-right: 0
    }
    .index__philosophy {
        margin: 80px auto 0;
        position: relative;
        width: calc(100% - 60px)
    }
    .index__philosophy>.verticalheading {
        left: -17px
    }
    .index__philosophy:before {
        background-image: url(../images/index_philosophy_bg.png);
        background-position: 50%;
        background-repeat: no-repeat;
        background-size: 112% auto;
        content: "";
        display: block;
        height: 0;
        left: -30px;
        padding-top: calc(112% + 67px);
        position: absolute;
        top: -20px;
        width: calc(100% + 60px);
        z-index: -1
    }
    .index__philosophy__body {
        display: block;
        margin-left: auto;
        margin-right: auto;
        max-width: 640px;
        position: relative
    }
    .index__philosophy__body__bg {
        display: none
    }
    .index__philosophy__lead {
        align-items: flex-start;
        display: flex;
        flex-flow: row nowrap;
        justify-content: flex-end;
        padding-left: 0;
        padding-top: 60px;
        width: 100%
    }
    .index__philosophy__lead__ja .sub {
        font-size: 14px;
        letter-spacing: .2em;
        line-height: 24px;
        margin-left: 12px
    }
    .index__philosophy__lead__ja .main {
        font-size: 28px;
        letter-spacing: .2em;
        line-height: 38px
    }
    .index__philosophy__lead__en {
        font-size: 11px;
        letter-spacing: .1em;
        line-height: 20px;
        margin-left: 22px
    }
    .index__philosophy__text {
        font-size: 14px;
        letter-spacing: .25em;
        line-height: 28px;
        margin-top: 25px;
        padding: 0;
        white-space: normal;
        width: 100%
    }
    .index__philosophy__text br {
        display: none
    }
    .index__philosophy__menu {
        display: block;
        margin: 10px auto 0;
        max-width: 640px;
        width: 100%
    }
    .index__philosophy__menu__btn {
        margin-top: 40px;
        width: 69.8413%
    }
    .index__philosophy__menu__btn.message {
        margin: 0 -18px 0 auto;
        transform: none
    }
    .index__philosophy__menu__btn.message .index__philosophy__menu__btn__label {
        width: 46px
    }
    .index__philosophy__menu__btn.quality {
        margin: -20px auto 0 -18px;
        transform: none
    }
    .index__philosophy__menu__btn.quality .index__philosophy__menu__btn__label {
        width: 46px
    }
    .index__philosophy__menu__btn.numbers {
        margin: -20px -18px 0 auto;
        transform: none
    }
    .index__philosophy__menu__btn.numbers .index__philosophy__menu__btn__label {
        width: 78px
    }
    .index__philosophy__menu__btn.collalboration {
        margin: -20px auto 0 -18px;
        transform: none
    }
    .index__philosophy__menu__btn.collalboration .index__philosophy__menu__btn__label {
        width: 110px
    }
    .index__philosophy__menu__btn__label {
        padding-right: 14px;
        top: 50%;
        transform: translate(-50%, calc(-50% - 8px)) translateZ(1px)
    }
    .index__philosophy__menu__btn__label .verticalheading__en {
        font-size: 9px;
        letter-spacing: .1em;
        line-height: 12px
    }
    .index__philosophy__menu__btn__label .verticalheading__ja {
        font-size: 22px;
        letter-spacing: .2em;
        line-height: 32px
    }
    .index__philosophy__menu__btn__arrow {
        bottom: 0;
        height: 36px;
        left: calc(50% - 24px);
        width: 48px
    }
    .index__philosophy__menu__btn__arrow:before {
        bottom: 17px;
        height: 4px;
        left: calc(50% - 12px);
        width: 24px
    }
    .index__philosophy__link {
        max-width: 640px
    }
    .index__interview {
        margin-top: 80px;
        padding: 30px 0
    }
    .index__interview:before {
        width: calc(100% - 30px)
    }
    .index__interview .verticalheading {
        top: auto
    }
    .index__interview .sidebysection__body {
        padding-top: 0
    }
    .index__interview .sidebysection__body__link {
        margin-top: 20px
    }
    .index__interview .sidebysection__body__link,
    .index__interview .sidebysection__body__text {
        padding-right: 60px
    }
    .index__interview .sidebysection__body__text p br:first-child,
    .index__interview .sidebysection__body__text p br:nth-child(3) {
        display: none
    }
    .index__clip {
        margin: 100px 0 0 auto;
        width: calc(100% - 75px)
    }
    .index__clip .verticalheading {
        left: -62px
    }
    .index__clip__list {
        height: auto;
        width: 100%
    }
    .index__clip__sub {
        display: block;
        width: calc(100% - 30px)
    }
    .index__clip__sub>.cliplist__categories {
        max-width: 100%;
        padding-right: 0;
        width: 100%
    }
    .index__clip__sub__link {
        margin-top: 30px;
        text-align: right
    }
    .index__100year {
        margin-top: 80px;
        padding: 30px 0;
        position: relative
    }
    .index__100year:before {
        width: calc(100% - 30px)
    }
    .index__100year .sidebysection__body__link {
        margin-top: 30px
    }
    .index__100year .verticalheading {
        top: auto
    }
    .index__100year .sidebysection__body {
        padding-top: 0
    }
    .index__100year .sidebysection__body__link,
    .index__100year .sidebysection__body__text {
        padding-left: 60px
    }
}

@media (max-width:640px) {
    .index__works__body .listcarousel__viewport {
        padding-right: 0
    }
    .index__works__body .listcarousel__next {
        right: 0
    }
}

@media (max-width:374px) {
    .index__interview .sidebysection__body__text p br:first-of-type,
    .index__interview .sidebysection__body__text p br:nth-of-type(3),
    .index__interview .sidebysection__body__text p br:nth-of-type(5),
    .index__interview .sidebysection__body__text p br:nth-of-type(6) {
        display: none
    }
    .index__interview .sidebysection__body__text p span {
        display: block;
        height: 0;
        width: 0
    }
    .index__interview .sidebysection__body__subimg {
        margin-top: 60px
    }
    .index__100year .sidebysection__body__text p br,
    .index__100year .sidebysection__body__text p span.pcbr,
    .index__100year .sidebysection__body__text p span.spbr {
        display: block;
        height: 0;
        width: 0
    }
    .index__100year .sidebysection__body__text p br:first-child,
    .index__100year .sidebysection__body__text p br:nth-child(2),
    .index__100year .sidebysection__body__text p br:nth-child(4),
    .index__100year .sidebysection__body__text p br:nth-child(6),
    .index__100year .sidebysection__body__text p br:nth-child(8),
    .index__100year .sidebysection__body__text p br:nth-child(9),
    .index__100year .sidebysection__body__text p span.pcbr:first-child,
    .index__100year .sidebysection__body__text p span.pcbr:nth-child(2),
    .index__100year .sidebysection__body__text p span.pcbr:nth-child(4),
    .index__100year .sidebysection__body__text p span.pcbr:nth-child(6),
    .index__100year .sidebysection__body__text p span.pcbr:nth-child(8),
    .index__100year .sidebysection__body__text p span.pcbr:nth-child(9),
    .index__100year .sidebysection__body__text p span.spbr:first-child,
    .index__100year .sidebysection__body__text p span.spbr:nth-child(2),
    .index__100year .sidebysection__body__text p span.spbr:nth-child(4),
    .index__100year .sidebysection__body__text p span.spbr:nth-child(6),
    .index__100year .sidebysection__body__text p span.spbr:nth-child(8),
    .index__100year .sidebysection__body__text p span.spbr:nth-child(9) {
        display: none
    }
}

.interview .works__recent__link {
    text-align: left
}

.interview__cover {
    padding-bottom: 80px;
    position: relative
}

.interview__cover:before {
    background-color: #f2f1e5;
    content: "";
    display: block;
    height: calc(100% - 140px);
    left: 0;
    position: absolute;
    top: 140px;
    width: calc(100% - 100px);
    z-index: -1
}

.interview__index {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-top: 100px;
    padding: 0 15%;
    width: 100%
}

.interview__index__item {
    flex: 0 1 calc(50% - 20px);
    height: auto;
    width: calc(50% - 20px)
}

.interview__index__item:nth-child(n+3) {
    margin-top: 90px
}

.interview__index__item__link {
    display: block
}

.interview__index__item__thumb {
    align-items: flex-start;
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    display: flex;
    flex-flow: row nowrap;
    height: auto;
    justify-content: space-between;
    position: relative;
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    width: 100%
}

.interview__index__item__thumb.is-inview {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
}

.interview__index__item__thumb__img1,
.interview__index__item__thumb__img2 {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    height: 0;
    padding-top: 66.6667%;
    width: 50%
}

.interview__index__item__thumb__img2 {
    margin-top: 8.3333%
}

.interview__index__item__label {
    color: grey;
    font-size: 15px;
    letter-spacing: .1em;
    line-height: 20px;
    margin-top: 18px
}

.interview__index__item__title {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 28px;
    margin-top: 12px
}

.interview__index__item__lead {
    font-size: 14px;
    letter-spacing: .1em;
    line-height: 24px;
    margin-top: 10px
}

.interview__article__cover {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap;
    height: auto;
    justify-content: space-between;
    padding-right: 17.6471%;
    position: relative;
    width: 117.6471%
}

.interview__article__cover .interview__article__cover__image__inner>img {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s
}

.interview__article__cover .interview__article__cover__body__subimg>img {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) .25s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) .25s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) .25s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) .25s
}

.interview__article__cover.reveal .interview__article__cover__body__subimg>img,
.interview__article__cover.reveal .interview__article__cover__image__inner>img {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
}

.interview__article__cover__image {
    flex: 0 1 calc(50% + 250px);
    flex-basis: calc(50% + 250px);
    overflow: hidden;
    padding-bottom: 100px;
    position: relative;
    width: calc(50% + 250px)
}

.interview__article__cover__image img {
    display: block;
    height: auto;
    width: 100%
}

.interview__article__cover__image__inner {
    height: auto;
    overflow: hidden;
    position: relative;
    width: 100%
}

.interview__article__cover__body {
    flex: 0 1 calc(50% - 250px);
    flex-basis: calc(50% - 250px);
    height: auto;
    padding-left: 80px;
    width: calc(50% - 250px)
}

.interview__article__cover__body__text {
    font-feature-settings: normal;
    display: flex;
    flex-flow: column nowrap;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    justify-content: center;
    letter-spacing: .2em;
    line-height: 38px;
    padding-top: 70px;
    white-space: nowrap;
    width: 100%;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.interview__article__cover__body__link {
    margin-top: 60px
}

.interview__article__cover__body__subimg {
    height: auto;
    margin: 120px 0 0 auto;
    overflow: hidden;
    position: relative;
    width: calc(100% + 120px)
}

.interview__article__cover__body__subimg img {
    display: block;
    height: auto;
    width: 100%
}

.interview__article__spec {
    padding-left: 17.6471%;
    width: calc(50% + 250px)
}

.interview__article__spec dl {
    align-items: stretch;
    display: flex;
    flex-flow: row wrap;
    height: auto;
    justify-content: space-between;
    position: relative;
    width: 100%
}

.interview__article__spec div {
    border-top: 1px solid #e5e5e5;
    flex: 0 1 calc(50% - 20px);
    flex-basis: calc(50% - 20px);
    font-size: 14px;
    letter-spacing: .1em;
    line-height: 28px;
    padding: 13px 0;
    width: calc(50% - 20px)
}

.interview__article__spec dt {
    font-weight: 400
}

.interview__article__spec dd {
    color: grey
}

@media (max-width:1023px) {
    .interview__cover {
        padding-bottom: 40px
    }
    .interview__cover .pagecover__main {
        padding-right: 60px
    }
    .interview__cover:before {
        height: calc(100% - 30px);
        left: 0;
        top: 30px;
        width: calc(100% - 30px)
    }
    .interview__index {
        display: block;
        margin-top: 50px;
        padding: 0 30px 0 75px
    }
    .interview__index__item {
        height: auto;
        width: 100%
    }
    .interview__index__item+.interview__index__item {
        margin-top: 40px
    }
    .interview__index__item__thumb {
        align-items: flex-start;
        display: flex;
        flex-flow: row nowrap;
        height: auto;
        justify-content: space-between;
        position: relative;
        width: 100%
    }
    .interview__index__item__thumb__img1,
    .interview__index__item__thumb__img2 {
        background-position: 50%;
        background-repeat: no-repeat;
        background-size: cover;
        display: block;
        height: 0;
        padding-top: 66.6667%;
        width: 50%
    }
    .interview__index__item__thumb__img2 {
        margin-top: 8.3333%
    }
    .interview__index__item__label {
        font-size: 12px;
        letter-spacing: .1em;
        line-height: 20px;
        margin-top: 12px
    }
    .interview__index__item__title {
        font-size: 16px;
        letter-spacing: .25em;
        line-height: 26px;
        margin-top: 6px
    }
    .interview__index__item__lead {
        font-size: 14px;
        letter-spacing: .1em;
        line-height: 28px;
        margin-top: 2px
    }
    .interview__article__cover {
        display: block;
        height: auto;
        padding-right: 75px;
        position: relative;
        width: calc(100% + 75px)
    }
    .interview__article__cover__image {
        padding-bottom: 0;
        width: 100%
    }
    .interview__article__cover__body {
        align-items: flex-start;
        display: flex;
        flex-flow: row wrap;
        margin-top: 26px;
        padding: 0;
        width: calc(100% + 75px)
    }
    .interview__article__cover__body__text {
        flex: 0 1 64%;
        font-size: 14px;
        justify-content: flex-end;
        letter-spacing: .2em;
        line-height: 24px;
        padding: 0 0 0 45px;
        width: 64%
    }
    .interview__article__cover__body__subimg {
        flex: 0 1 36%;
        height: auto;
        margin-top: 30px;
        width: 36%
    }
    .interview__article__cover__body__subimg img {
        display: block;
        height: auto;
        width: 100%
    }
    .interview__article__spec {
        margin-top: 30px;
        padding-left: 30px;
        width: 100%
    }
    .interview__article__spec dl {
        display: block
    }
    .interview__article__spec div {
        width: 100%
    }
}

.legal__main {
    padding-left: 15%;
    padding-right: 15%;
    padding-top: 1px;
    position: relative
}

.legal__main:before {
    background-color: #e5e5e5;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    width: 85%
}

.legal__main .verticalheading {
    right: calc(15% - 120px)
}

.legal__body {
    max-width: 760px;
    padding-top: 90px;
    width: 100%
}

@media (min-width:1440px) {
    .legal__body {
        max-width: 76%
    }
}

.legal__body__lead {
    margin-bottom: 60px
}

.legal__body__block {
    margin-top: 60px
}

.legal__body__block h3 {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 28px;
    margin-bottom: 18px
}

.legal__body__block a {
    color: #000;
    text-decoration: underline
}

.legal__body__block ol,
.legal__body__block p {
    margin-top: 12px
}

.legal__body__block ol {
    counter-reset: count
}

.legal__body__block ol li {
    padding-left: 2em;
    position: relative
}

.legal__body__block ol li:before {
    content: "(" counter(count) ")";
    counter-increment: count;
    left: 0;
    position: absolute
}

@media (max-width:1023px) {
    .legal__main {
        padding-left: 30px;
        padding-right: 75px
    }
    .legal__main:before {
        width: calc(100% - 75px)
    }
    .legal__main .verticalheading {
        right: 13px
    }
    .legal__body {
        padding-top: 60px
    }
    .legal__body__lead {
        margin-bottom: 60px
    }
    .legal__body__block {
        margin-top: 40px
    }
    .legal__body__block h3 {
        margin-bottom: 14px
    }
    .legal__body__block ol,
    .legal__body__block p {
        margin-top: 12px
    }
}

.modelhouse__carousel {
    margin-top: 180px
}

.modelhouse__concept {
    margin-top: 200px
}

.modelhouse__concept .sidebysection__body__subimg {
    margin-top: 180px
}

.modelhouse__concept .slideimages__container,
.modelhouse__concept .videoblock__media {
    padding-top: 75%
}

.modelhouse__concept__text {
    margin-top: auto;
    padding-left: 26.2773723%;
    padding-top: 60px
}

.modelhouse__point {
    margin-left: auto;
    margin-top: 200px;
    position: relative;
    width: 85%
}

.modelhouse__point>.verticalheading {
    left: -120px
}

.modelhouse__point__section {
    position: relative;
    width: 82.3529%
}

.modelhouse__point__section+.modelhouse__point__section {
    margin-top: 60px
}

.modelhouse__point__section:nth-of-type(odd) .modelhouse__point__section__image {
    margin-left: 0;
    margin-right: auto
}

.modelhouse__point__section:nth-of-type(odd) .modelhouse__point__section__text {
    margin-left: auto;
    margin-right: 0;
    padding-right: 0
}

.modelhouse__point__section:nth-of-type(odd)>.verticalheading {
    right: calc(20% - 32px);
    top: 60px
}

.modelhouse__point__section:nth-of-type(2n) .modelhouse__point__section__image {
    margin-left: auto;
    margin-right: 0
}

.modelhouse__point__section:nth-of-type(2n) .modelhouse__point__section__text {
    margin-left: 0;
    margin-right: auto;
    padding-left: 0
}

.modelhouse__point__section:nth-of-type(2n)>.verticalheading {
    left: calc(20% - 32px);
    top: 60px
}

.modelhouse__point__section .verticalheading__en {
    color: #000;
    font-size: 13px;
    right: -2px
}

.modelhouse__point__section__image {
    height: auto;
    overflow: hidden;
    position: relative;
    width: 60%;
    z-index: 0
}

.modelhouse__point__section__image img {
    display: block;
    height: auto;
    width: 100%
}

.modelhouse__point__section__text {
    background-color: #fff;
    height: auto;
    margin: -130px 0 0;
    min-height: 130px;
    padding: 30px 40px;
    position: relative;
    width: calc(40% + 80px);
    z-index: 1
}

@media (max-width:1279px) {
    .modelhouse__point__section:nth-of-type(2n)>.verticalheading,
    .modelhouse__point__section:nth-of-type(odd)>.verticalheading {
        top: 0
    }
}

.modelhouse__gallery {
    margin-top: 180px;
    position: relative;
    width: 85%
}

.modelhouse__gallery>.verticalheading {
    right: -120px
}

.modelhouse__gallery__main .slideimages__pager {
    text-align: right
}

.modelhouse__crosstalk {
    margin-top: 180px
}

.modelhouse__crosstalk__caption {
    color: grey;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 20px;
    margin-top: 20px;
    text-align: center;
    width: 100%
}

.modelhouse__movie {
    margin: 180px auto 0;
    position: relative;
    width: 70%
}

.modelhouse__movie>.verticalheading {
    right: -120px
}

.modelhouse__movie__main {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    position: relative;
    width: 100%
}

.modelhouse__movie__link {
    display: block;
    flex: 0 1 calc(50% - 20px);
    flex-basis: calc(50% - 20px);
    width: calc(50% - 20px)
}

.modelhouse__movie__link>img {
    display: block;
    height: auto;
    width: 100%
}

.modelhouse__movie__link__image {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    height: auto;
    overflow: hidden;
    position: relative;
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    width: 100%
}

.modelhouse__movie__link__image>img {
    display: block;
    height: auto;
    width: 100%
}

.modelhouse__movie.ready .modelhouse__movie__link.is-inview .modelhouse__movie__link__image {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
}

.modelhouse__movie__label {
    margin-top: 16px;
    padding-left: 65px;
    padding-right: 60px;
    position: relative
}

.modelhouse__movie__label__play {
    border: 1px solid #e5e5e5;
    border-radius: 50%;
    height: 45px;
    left: 0;
    position: absolute;
    top: 6px;
    width: 45px
}

.modelhouse__movie__label__play:after {
    border-color: transparent transparent transparent #000;
    border-style: solid;
    border-width: 5px 0 5px 8px;
    content: "";
    display: block;
    height: 0;
    left: calc(50% - 3px);
    position: absolute;
    top: calc(50% - 5px);
    width: 0
}

.modelhouse__movie__label__play:before {
    -webkit-animation: insetWipeOut .5s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both;
    animation: insetWipeOut .5s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both;
    border: 1px solid #000;
    border-radius: 50%;
    content: "";
    display: block;
    height: calc(100% + 2px);
    left: -1px;
    position: absolute;
    top: -1px;
    width: calc(100% + 2px)
}

body:not(.touch) .modelhouse__movie__link:hover .modelhouse__movie__label__play:before {
    -webkit-animation: insetWipeIn .5s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both;
    animation: insetWipeIn .5s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both
}

.modelhouse__movie__label__title {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 28px
}

.modelhouse__movie__label__duration {
    color: grey;
    font-size: 15px;
    letter-spacing: .1em;
    line-height: 20px;
    position: absolute;
    right: 20px;
    top: 0
}

.modelhouse__access {
    margin: 180px 0 0 auto;
    position: relative;
    width: 85%
}

.modelhouse__access>.verticalheading {
    left: -120px
}

.modelhouse__access__main {
    height: 0;
    padding-top: 65.5738%;
    position: relative;
    width: 100%
}

.modelhouse__access__main>* {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.modelhouse__article {
    margin-right: auto;
    position: relative;
    width: 85%
}

.modelhouse__article .verticalheading {
    right: -120px
}

.modelhouse__article__cover .modelhouse__article__cover__main__image>img {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s
}

.modelhouse__article__cover.reveal .modelhouse__article__cover__main__image>img {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
}

.modelhouse__article__cover__main {
    position: relative
}

.modelhouse__article__cover__main__image {
    display: block;
    height: auto;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 0
}

.modelhouse__article__cover__main__image img {
    display: block;
    height: auto;
    width: 100%
}

.modelhouse__article__cover__main__names {
    align-items: stretch;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    margin: 28px 0 0
}

.modelhouse__article__cover__main__names div {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500;
    position: relative;
    text-align: center
}

.modelhouse__article__cover__main__names div .job {
    color: grey;
    display: block;
    font-size: 13px;
    letter-spacing: .25em;
    line-height: 20px
}

.modelhouse__article__cover__main__names div .name {
    display: block;
    font-size: 18px;
    letter-spacing: .25em;
    line-height: 26px;
    margin-top: 6px
}

.modelhouse__article__cover__main__names div+div {
    padding-left: 130px
}

.modelhouse__article__cover__main__names div+div:after,
.modelhouse__article__cover__main__names div+div:before {
    background-color: #ccc;
    content: "";
    display: block;
    height: 1px;
    left: 43px;
    position: absolute;
    top: 50%;
    width: 44px
}

.modelhouse__article__cover__main__names div+div:before {
    transform: rotate(45deg)
}

.modelhouse__article__cover__main__names div+div:after {
    transform: rotate(-45deg)
}

.modelhouse__article__cover__sub {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-evenly;
    margin-top: 90px;
    position: static
}

.modelhouse__article__cover__sub__text {
    flex: 0 0 calc(100% - 400px);
    height: auto;
    width: calc(100% - 400px)
}

.modelhouse__article__cover__sub__text p {
    font-feature-settings: normal;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 38px;
    margin: 0 auto;
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.modelhouse__article__cover__sub__image {
    flex: 0 1 400px;
    height: auto;
    margin-right: -170px;
    overflow: hidden;
    width: 400px
}

.modelhouse__article__cover__sub__image img {
    display: block;
    height: auto;
    max-width: 100%
}

.modelhouse__article__cover__title {
    left: 100px;
    position: absolute;
    top: 50px;
    z-index: 1
}

.modelhouse__article__cover__title__label {
    display: block;
    font-size: 13px;
    letter-spacing: .1em;
    line-height: 20px
}

.modelhouse__article__cover__title__main {
    font-size: 42px;
    line-height: 62px
}

.modelhouse__article__cover__title__main,
.modelhouse__article__cover__title__sub {
    display: block;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em
}

.modelhouse__article__cover__title__sub {
    font-size: 18px;
    line-height: 26px;
    margin-top: 10px
}

@media (max-width:1279px) {
    .modelhouse__article__cover__title {
        left: 60px
    }
    .modelhouse__article__cover__title__main {
        font-size: 38px;
        letter-spacing: .25em;
        line-height: 56px
    }
    .modelhouse__article__cover__title__sub {
        font-size: 16px;
        letter-spacing: .25em;
        line-height: 24px;
        margin-top: 4px
    }
}

@media (max-width:1160px) {
    .modelhouse__article__cover__sub__text {
        flex: 0 0 666px;
        height: auto;
        width: 666px
    }
    .modelhouse__article__cover__sub__image {
        flex: 0 1 calc(100% - 666px);
        margin-right: 0;
        width: calc(100% - 666px)
    }
    .modelhouse__article__cover__sub__image img {
        margin-right: -120px;
        max-width: none;
        width: calc(100% + 80px)
    }
}

.modelhouse__article__profile {
    margin: 180px 0 0 auto;
    position: relative;
    width: 82.3529%
}

.modelhouse__article__profile .verticalheading {
    left: -120px
}

.modelhouse__article__profile__main {
    align-items: stretch;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between
}

.modelhouse__article__profile__block {
    flex: 0 1 calc(50% - 20px);
    flex-basis: calc(50% - 20px);
    height: auto;
    position: relative;
    width: calc(50% - 20px)
}

.modelhouse__article__profile__image {
    display: block;
    height: auto;
    max-width: 100%
}

.modelhouse__article__profile__job {
    color: grey;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 18px;
    margin-top: 28px
}

.modelhouse__article__profile__name {
    line-height: 36px;
    margin-top: 5px
}

.modelhouse__article__profile__name .en,
.modelhouse__article__profile__name .ja {
    display: inline-block;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500;
    vertical-align: baseline
}

.modelhouse__article__profile__name .ja {
    font-size: 24px;
    letter-spacing: .25em;
    margin-right: 10px
}

.modelhouse__article__profile__name .en {
    font-size: 13px;
    letter-spacing: .25em
}

.modelhouse__article__profile__body {
    margin-top: 40px
}

.modelhouse__article__back {
    margin: 100px 0 0 auto;
    width: 82.3529%
}

@media (max-width:1023px) {
    .modelhouse__carousel {
        margin-top: 70px
    }
    .modelhouse__concept {
        align-items: flex-start;
        display: flex;
        flex-flow: column nowrap;
        justify-content: flex-start;
        margin-top: 90px
    }
    .modelhouse__concept:before {
        content: "";
        display: block;
        height: 0;
        min-height: 0;
        padding-top: calc(75% + 50px);
        width: 100%
    }
    .modelhouse__concept .sidebysection__body {
        flex-basis: auto;
        height: auto;
        margin-top: 0;
        order: 1
    }
    .modelhouse__concept .sidebysection__body__subimg {
        margin-top: 50px
    }
    .modelhouse__concept .sidebysection__image {
        flex-basis: auto;
        height: auto;
        order: 2;
        position: static
    }
    .modelhouse__concept .modelhouse__concept__video {
        left: 0;
        position: absolute;
        top: 0
    }
    .modelhouse__concept .modelhouse__concept__text {
        margin: 30px 0 0;
        padding: 0 0 0 30px
    }
    .modelhouse__point {
        margin-top: 90px;
        width: calc(100% - 75px)
    }
    .modelhouse__point>.verticalheading {
        left: -62px
    }
    .modelhouse__point__section {
        position: relative;
        width: calc(100% - 75px)
    }
    .modelhouse__point__section+.modelhouse__point__section {
        margin-top: 30px
    }
    .modelhouse__point__section .verticalheading {
        background-color: #fff;
        margin-top: calc(75% - 38px);
        padding: 20px 15px 20px 16px;
        position: absolute;
        right: -75px;
        top: 0;
        width: 75px;
        z-index: 1
    }
    .modelhouse__point__section .verticalheading .verticalheading__en {
        font-size: 9px;
        right: 15px;
        top: 20px
    }
    .modelhouse__point__section:nth-of-type(odd)>.verticalheading {
        right: -75px;
        top: 0
    }
    .modelhouse__point__section:nth-of-type(2n) .modelhouse__point__section__text {
        padding-left: 30px;
        width: calc(100% + 30px)
    }
    .modelhouse__point__section:nth-of-type(2n)>.verticalheading {
        left: -45px;
        top: 0
    }
    .modelhouse__point__section__image {
        width: calc(100% + 30px)
    }
    .modelhouse__point__section__text {
        height: auto;
        margin: 20px auto 0;
        min-height: 0;
        padding: 0;
        width: 100%;
        z-index: 0
    }
    .modelhouse__gallery {
        margin-top: 90px;
        width: calc(100% - 75px)
    }
    .modelhouse__gallery>.verticalheading {
        right: -62px
    }
    .modelhouse__gallery .slideimages__container {
        padding-top: 75%
    }
    .modelhouse__crosstalk {
        margin-top: 90px
    }
    .modelhouse__crosstalk__caption {
        font-size: 10px;
        letter-spacing: .25em;
        margin-top: 14px;
        text-align: left
    }
    .modelhouse__movie {
        margin: 90px auto 0;
        width: calc(100% - 150px)
    }
    .modelhouse__movie>.verticalheading {
        right: -62px
    }
    .modelhouse__movie__main {
        display: block;
        width: 100%
    }
    .modelhouse__movie__link {
        width: 100%
    }
    .modelhouse__movie__link+.modelhouse__movie__link {
        margin-top: 30px
    }
    .modelhouse__movie__label {
        margin-top: 12px;
        padding-left: 50px;
        padding-right: 30px;
        position: relative
    }
    .modelhouse__movie__label__play {
        height: 34px;
        top: 0;
        width: 34px
    }
    .modelhouse__movie__label__play:after {
        border-width: 4px 0 4px 6px;
        left: calc(50% - 2px);
        top: calc(50% - 4px)
    }
    .modelhouse__movie__label__title {
        font-size: 14px;
        letter-spacing: .25em;
        line-height: 24px
    }
    .modelhouse__movie__label__duration {
        font-size: 12px;
        letter-spacing: .1em;
        line-height: 16px;
        right: 0;
        top: 3px
    }
    .modelhouse__access {
        margin: 90px 0 0 auto;
        width: calc(100% - 75px)
    }
    .modelhouse__access>.verticalheading {
        left: -65px
    }
    .modelhouse__access__main {
        padding-top: 100%
    }
    .modelhouse__article {
        width: calc(100% - 75px)
    }
    .modelhouse__article .verticalheading {
        right: -62px
    }
    .modelhouse__article__cover__main__image {
        height: 0;
        overflow: hidden;
        padding-top: 75%;
        width: 100%
    }
    .modelhouse__article__cover__main__image img {
        display: block;
        height: 100%;
        left: 50%;
        position: absolute;
        top: 0;
        transform: translateX(-50%);
        width: auto
    }
    .modelhouse__article__cover__main__names {
        margin: 12px 0 0
    }
    .modelhouse__article__cover__main__names div .job {
        font-size: 10px;
        letter-spacing: .25em;
        line-height: 15px
    }
    .modelhouse__article__cover__main__names div .name {
        font-size: 13px;
        letter-spacing: .25em;
        line-height: 18px;
        margin-top: 2px
    }
    .modelhouse__article__cover__main__names div+div {
        padding-left: 28px
    }
    .modelhouse__article__cover__main__names div+div:after,
    .modelhouse__article__cover__main__names div+div:before {
        height: 1px;
        left: 5px;
        width: 17px
    }
    .modelhouse__article__cover__sub {
        align-items: center;
        flex-flow: row wrap;
        justify-content: space-between;
        margin-top: 30px;
        position: relative;
        width: calc(100% + 75px)
    }
    .modelhouse__article__cover__title {
        align-items: flex-start;
        display: flex;
        flex: 0 1 64%;
        flex-flow: row-reverse nowrap;
        justify-content: center;
        left: auto;
        order: 1;
        position: relative;
        top: auto;
        width: 64%;
        z-index: 1
    }
    .modelhouse__article__cover__title__label {
        font-feature-settings: normal;
        font-size: 8px;
        letter-spacing: .1em;
        line-height: 10px;
        order: 2;
        white-space: nowrap;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl
    }
    .modelhouse__article__cover__title__main {
        font-feature-settings: normal;
        font-size: 22px;
        line-height: 32px;
        margin: 0;
        order: 3
    }
    .modelhouse__article__cover__title__main,
    .modelhouse__article__cover__title__sub {
        letter-spacing: .25em;
        white-space: nowrap;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl
    }
    .modelhouse__article__cover__title__sub {
        font-feature-settings: normal;
        font-size: 14px;
        line-height: 24px;
        margin: 0 0 0 10px;
        order: 1
    }
    .modelhouse__article__cover__sub__image {
        flex: 0 1 36%;
        height: auto;
        margin-right: 0;
        order: 2;
        width: 36%
    }
    .modelhouse__article__cover__sub__image img {
        display: block;
        height: auto;
        max-width: none;
        width: 100%
    }
    .modelhouse__article__cover__sub__text {
        flex: 0 0 100%;
        height: auto;
        margin-top: 22px;
        order: 3;
        padding: 0 75px 0 30px;
        width: 100%
    }
    .modelhouse__article__cover__sub__text p {
        font-feature-settings: "palt";
        font-family: futura-pt, a-otf-gothic-bbb-pr6n, sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        letter-spacing: .1em;
        line-height: 34px;
        margin: 0 auto;
        white-space: normal;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb
    }
    .modelhouse__article__profile {
        left: 75px;
        margin: 90px 0 0 auto;
        width: 100%
    }
    .modelhouse__article__profile .verticalheading {
        left: -62px
    }
    .modelhouse__article__profile__main {
        display: block;
        padding-right: 30px
    }
    .modelhouse__article__profile__block {
        height: auto;
        width: 100%
    }
    .modelhouse__article__profile__block+.modelhouse__article__profile__block {
        margin-top: 60px
    }
    .modelhouse__article__profile__image {
        max-width: 100%;
        min-width: 150px;
        width: 55%
    }
    .modelhouse__article__profile__job {
        font-size: 10px;
        letter-spacing: .25em;
        line-height: 14px;
        margin-top: 12px
    }
    .modelhouse__article__profile__name {
        line-height: 32px;
        margin-top: 0
    }
    .modelhouse__article__profile__name .ja {
        font-size: 16px;
        letter-spacing: .25em;
        margin-right: 10px
    }
    .modelhouse__article__profile__name .en {
        font-size: 10px;
        letter-spacing: .25em
    }
    .modelhouse__article__profile__body {
        margin-top: 12px
    }
    .modelhouse__article__back {
        margin: 40px 0 0 auto;
        padding-left: 75px;
        width: 100%
    }
}

@media (max-width:374px) {
    .modelhouse__cover .pagecover__main__catch .main span.spbr {
        display: none
    }
    .modelhouse__concept .sidebysection__body__subimg {
        margin-top: 80px
    }
    .modelhouse__crosstalk .modelhouse__crosstalk__caption span:first-child {
        display: block;
        height: 0;
        width: 0
    }
    .modelhouse__movie__label__title br {
        display: none
    }
    .modelhouse__article__cover__main__names div .job {
        font-size: 9px;
        letter-spacing: .25em;
        line-height: 13px
    }
    .modelhouse__article__cover__main__names div .name {
        font-size: 11px;
        letter-spacing: .25em;
        line-height: 15px;
        margin-top: 2px
    }
    .modelhouse__article__cover__main__names div+div {
        padding-left: 16px
    }
    .modelhouse__article__cover__main__names div+div:after,
    .modelhouse__article__cover__main__names div+div:before {
        height: 1px;
        left: 3px;
        width: 8px
    }
}

.philosophy__message {
    margin-top: 60px;
    padding-top: 120px
}

.philosophy__message__text {
    margin-top: 90px;
    padding-left: 26.2773723%
}

.philosophy__message__link {
    margin-top: 40px;
    text-align: left
}

.philosophy__quality {
    margin-top: 60px;
    padding-top: 120px
}

.philosophy__quality__heading {
    padding: 0 15% 90px;
    position: relative
}

.philosophy__quality__heading .verticalheading {
    left: calc(15% - 120px);
    top: 100%
}

.philosophy__quality__lead {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 42px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 62px;
    text-align: right
}

.philosophy__quality__section+.philosophy__quality__section {
    margin-top: 140px
}

.philosophy__quality__section:nth-child(2n) {
    padding-left: 15%
}

.philosophy__quality__section:nth-child(odd) {
    padding-right: 15%
}

.philosophy__quality__group {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    margin-top: 100px
}

.philosophy__quality__section:nth-child(2n) .philosophy__quality__group {
    padding-right: 17.6471%
}

.philosophy__quality__section:nth-child(odd) .philosophy__quality__group {
    padding-left: 17.6471%
}

.philosophy__quality__group__label {
    color: grey;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 28px;
    margin: -52px 0 24px;
    position: relative;
    width: 100%
}

.philosophy__quality__group__label:before {
    background-color: #ccc;
    content: "";
    display: block;
    height: 1px;
    left: -60px;
    position: absolute;
    top: 50%;
    width: 40px
}

.philosophy__quality__block {
    flex: 0 1 calc(33.3333% - 14px);
    flex-basis: calc(33.3333% - 14px);
    margin-left: 21px;
    width: calc(33.3333% - 14px)
}

.philosophy__quality__block:nth-of-type(n+4) {
    margin-top: 40px
}

.philosophy__quality__block:nth-of-type(3n+1) {
    margin-left: 0
}

.philosophy__quality__block__image {
    display: block;
    height: auto;
    width: 100%
}

.philosophy__quality__block__title {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 28px;
    margin-top: 20px;
    padding-right: 20px
}

.philosophy__quality__block__text {
    line-height: 28px;
    margin-top: 10px;
    padding-right: 20px
}

.philosophy__100year {
    margin-top: 200px;
    padding: 100px 0;
    position: relative
}

.philosophy__100year:before {
    background-color: #e0ece8;
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 85%;
    z-index: -1
}

.philosophy__100year .verticalheading {
    top: 50px
}

.philosophy__100year .sidebysection__body {
    padding-top: 50px
}

.philosophy__numbers {
    margin-top: 140px;
    padding-left: 15%;
    padding-top: 120px;
    position: relative
}

.philosophy__numbers .verticalheading {
    left: calc(15% - 120px)
}

.philosophy__numbers__cover {
    height: auto;
    overflow: hidden;
    position: relative;
    width: 100%
}

.philosophy__numbers__cover>div {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    height: 0;
    padding-top: 56.25%;
    width: 100%
}

.philosophy__numbers__body {
    align-items: stretch;
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    margin-top: -80px;
    padding-right: 17.6471%;
    position: relative;
    transform: translateZ(1px)
}

.philosophy__numbers__block {
    background-color: #fff;
    flex: 0 1 calc(33.3333% - 14px);
    height: auto;
    margin-right: 21px;
    max-width: calc(33.3333% - 14px);
    padding: 30px 40px;
    width: calc(33.3333% - 14px)
}

.philosophy__numbers__block:nth-child(3n+3) {
    margin-right: 0
}

.philosophy__numbers__block:nth-child(n+4) {
    border-top: 1px solid #e5e5e5;
    margin-top: 30px
}

.philosophy__numbers__block__label {
    align-items: flex-end;
    display: flex;
    flex-flow: row nowrap;
    font-size: 18px;
    height: auto;
    justify-content: flex-start;
    letter-spacing: .25em;
    line-height: 28px;
    min-height: 56px;
    width: 100%
}

.philosophy__numbers__block__label,
.philosophy__numbers__block__number {
    color: grey;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500
}

.philosophy__numbers__block__number {
    font-size: 0;
    letter-spacing: 0;
    line-height: 0px;
    margin-top: 0;
    vertical-align: baseline;
    white-space: nowrap
}

.philosophy__numbers__block__number .num {
    display: inline-block;
    font-size: 60px;
    letter-spacing: 0;
    line-height: 72px
}

.philosophy__numbers__block__number .unit {
    display: inline-block;
    font-size: 13px;
    letter-spacing: .25em;
    line-height: 20px;
    margin-left: 12px;
    position: relative;
    top: -3px
}

.philosophy__numbers__block__text {
    line-height: 28px;
    margin-top: 20px
}

.philosophy__area {
    margin-top: 180px
}

.philosophy__collabo {
    margin-top: 60px;
    padding-top: 120px
}

@media (max-width:1023px) {
    .philosophy__message {
        margin-top: 0;
        padding-top: 60px
    }
    .philosophy__message .sidebysection--left {
        display: flex;
        flex-flow: column nowrap;
        padding-bottom: 50px
    }
    .philosophy__message .sidebysection--left:before {
        content: "";
        display: block;
        height: 0;
        padding-top: 75%;
        width: 100%
    }
    .philosophy__message .sidebysection__body {
        flex-basis: auto;
        order: 1
    }
    .philosophy__message .sidebysection__image {
        order: 2;
        position: static
    }
    .philosophy__message .sidebysection__image__inner {
        position: static
    }
    .philosophy__message .sidebysection__image__inner>img {
        left: 0;
        position: absolute;
        top: 0
    }
    .philosophy__message .philosophy__message__text {
        margin-top: 20px;
        padding-left: 30px
    }
    .philosophy__message .philosophy__message__link {
        bottom: 0;
        left: 30px;
        position: absolute;
        text-align: right;
        width: calc(100% - 30px)
    }
    .philosophy__quality {
        margin-top: 0;
        padding-top: 60px
    }
    .philosophy__quality__heading {
        padding: 0 30px 30px 75px;
        position: relative
    }
    .philosophy__quality__heading .verticalheading {
        left: 13px;
        top: 100%
    }
    .philosophy__quality__lead {
        font-size: 22px;
        letter-spacing: .25em;
        line-height: 32px;
        text-align: left
    }
    .philosophy__quality__lead br {
        display: none
    }
    .philosophy__quality__section+.philosophy__quality__section {
        margin-top: 60px
    }
    .philosophy__quality__section:nth-child(2n) {
        padding-left: 75px
    }
    .philosophy__quality__section:nth-child(odd) {
        padding-right: 75px
    }
    .philosophy__quality__group {
        display: block;
        margin-top: 24px;
        width: calc(100% - 30px)
    }
    .philosophy__quality__section:nth-child(2n) .philosophy__quality__group {
        margin-left: 0;
        margin-right: auto;
        padding-right: 0
    }
    .philosophy__quality__section:nth-child(odd) .philosophy__quality__group {
        margin-left: auto;
        margin-right: 0;
        padding-left: 0
    }
    .philosophy__quality__group__label {
        font-size: 16px;
        letter-spacing: .25em;
        line-height: 24px;
        margin: 0 0 14px
    }
    .philosophy__quality__group__label:before {
        left: -30px;
        width: 20px
    }
    .philosophy__quality__block {
        margin-left: 0;
        width: 100%
    }
    .philosophy__quality__block+.philosophy__quality__block {
        margin-top: 30px
    }
    .philosophy__quality__block:nth-of-type(n+4) {
        margin-top: 0
    }
    .philosophy__quality__block:nth-of-type(3n+1) {
        margin-left: 0
    }
    .philosophy__quality__block__title {
        font-size: 16px;
        letter-spacing: .25em;
        line-height: 24px;
        margin-top: 16px;
        padding-right: 0
    }
    .philosophy__quality__block__text {
        font-size: 14px;
        line-height: 28px;
        margin-top: 6px;
        padding-right: 0
    }
    .philosophy__100year {
        margin-top: 60px;
        padding: 30px 0
    }
    .philosophy__100year:before {
        width: calc(100% - 30px)
    }
    .philosophy__100year .verticalheading {
        top: auto
    }
    .philosophy__100year .sidebysection__body {
        padding-top: 0
    }
    .philosophy__100year .sidebysection__body__link,
    .philosophy__100year .sidebysection__body__text {
        padding-left: 60px
    }
    .philosophy__numbers {
        margin-top: 0;
        padding-left: 75px;
        padding-top: 60px
    }
    .philosophy__numbers .verticalheading {
        left: 13px
    }
    .philosophy__numbers__cover>div {
        padding-top: 75%
    }
    .philosophy__numbers__body {
        display: block;
        margin-top: -40px;
        padding-right: 45px
    }
    .philosophy__numbers__block {
        height: auto;
        margin-right: 0;
        max-width: 100%;
        padding: 25px 0;
        width: 100%
    }
    .philosophy__numbers__block:nth-child(3n+3) {
        margin-right: 0
    }
    .philosophy__numbers__block:nth-child(n+4) {
        margin-top: 0
    }
    .philosophy__numbers__block+.philosophy__numbers__block {
        border-top: 1px solid #e5e5e5
    }
    .philosophy__numbers__block__label {
        font-size: 16px;
        letter-spacing: .25em;
        line-height: 26px;
        min-height: 0
    }
    .philosophy__numbers__block__number {
        margin-top: 0
    }
    .philosophy__numbers__block__number .num {
        font-size: 38px;
        letter-spacing: 0;
        line-height: 48px
    }
    .philosophy__numbers__block__number .unit {
        font-size: 13px;
        letter-spacing: .25em;
        line-height: 20px;
        margin-left: 12px;
        top: -3px
    }
    .philosophy__numbers__block__text {
        font-size: 14px;
        line-height: 28px;
        margin-top: 4px
    }
    .philosophy__area {
        margin-top: 60px
    }
    .philosophy__area .sidebyblock__image>div {
        padding-top: 100%
    }
    .philosophy__collabo {
        margin-top: 0;
        padding-top: 60px
    }
}

@media (max-width:374px) {
    .philosophy__100year .sidebysection__body__text p br,
    .philosophy__100year .sidebysection__body__text p span.pcbr,
    .philosophy__100year .sidebysection__body__text p span.spbr {
        display: block;
        height: 0;
        width: 0
    }
    .philosophy__100year .sidebysection__body__text p br:first-child,
    .philosophy__100year .sidebysection__body__text p br:nth-child(2),
    .philosophy__100year .sidebysection__body__text p br:nth-child(4),
    .philosophy__100year .sidebysection__body__text p br:nth-child(6),
    .philosophy__100year .sidebysection__body__text p br:nth-child(8),
    .philosophy__100year .sidebysection__body__text p br:nth-child(9),
    .philosophy__100year .sidebysection__body__text p span.pcbr:first-child,
    .philosophy__100year .sidebysection__body__text p span.pcbr:nth-child(2),
    .philosophy__100year .sidebysection__body__text p span.pcbr:nth-child(4),
    .philosophy__100year .sidebysection__body__text p span.pcbr:nth-child(6),
    .philosophy__100year .sidebysection__body__text p span.pcbr:nth-child(8),
    .philosophy__100year .sidebysection__body__text p span.pcbr:nth-child(9),
    .philosophy__100year .sidebysection__body__text p span.spbr:first-child,
    .philosophy__100year .sidebysection__body__text p span.spbr:nth-child(2),
    .philosophy__100year .sidebysection__body__text p span.spbr:nth-child(4),
    .philosophy__100year .sidebysection__body__text p span.spbr:nth-child(6),
    .philosophy__100year .sidebysection__body__text p span.spbr:nth-child(8),
    .philosophy__100year .sidebysection__body__text p span.spbr:nth-child(9),
    .philosophy__numbers__block__label br {
        display: none
    }
}

.single {
    margin-right: auto;
    position: relative;
    width: 85%
}

.single .verticalheading {
    right: -120px
}

.single__article {
    border-top: 1px solid #e5e5e5;
    position: relative
}

.single__article__header {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    padding: 60px 120px 40px 100px;
    position: relative
}

.single__article__header__title {
    flex: 0 1 auto;
    height: auto;
    width: auto
}

.single__article__header__maintitle {
    font-size: 34px;
    line-height: 1.5
}

.single__article__header__maintitle,
.single__article__header__subtitle {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em
}

.single__article__header__subtitle {
    color: grey;
    font-size: 13px;
    line-height: 18px;
    margin-top: 10px
}

.single__article__header__info {
    color: grey;
    font-size: 15px;
    letter-spacing: .1em;
    line-height: 18px;
    padding: 12px 0 0 20px;
    white-space: nowrap
}

.single__article__header__nav {
    height: 42px;
    position: absolute;
    right: 0;
    top: 60px;
    width: 80px
}

.single__article__header__nav__next,
.single__article__header__nav__prev {
    color: transparent;
    display: block;
    font-size: 0;
    height: 42px;
    letter-spacing: 0;
    line-height: 0px;
    position: absolute;
    top: 0;
    width: 22px
}

.single__article__header__nav__next:before,
.single__article__header__nav__prev:before {
    border-color: #000;
    border-style: solid;
    border-width: 1px 1px 0 0;
    content: "";
    display: block;
    height: 29px;
    left: 50%;
    position: absolute;
    top: 50%;
    width: 29px
}

span.single__article__header__nav__next,
span.single__article__header__nav__prev {
    opacity: .1;
    pointer-events: none
}

.single__article__header__nav__prev {
    left: 0
}

.single__article__header__nav__prev:before {
    left: calc(50% + 10px);
    transform: translate(-50%, -50%) rotate(-135deg)
}

body:not(.touch) .single__article__header__nav__prev:hover:before {
    -webkit-animation: arrowbox_hover_prev 1s cubic-bezier(.19, 1, .22, 1) 0s infinite;
    animation: arrowbox_hover_prev 1s cubic-bezier(.19, 1, .22, 1) 0s infinite
}

.single__article__header__nav__next {
    right: 0
}

.single__article__header__nav__next:before {
    left: calc(50% - 10px);
    transform: translate(-50%, -50%) rotate(45deg)
}

body:not(.touch) .single__article__header__nav__next:hover:before {
    -webkit-animation: arrowbox_hover_next 1s cubic-bezier(.19, 1, .22, 1) 0s infinite;
    animation: arrowbox_hover_next 1s cubic-bezier(.19, 1, .22, 1) 0s infinite
}

.single__article__body {
    position: relative;
    width: 100%
}

.single__journal {
    border-top: 1px solid #e5e5e5;
    padding-left: 17.6471%;
    position: relative
}

.single__journal__header {
    margin-top: 90px;
    max-width: 760px
}

.single__journal__header+.company__outline__body,
.single__journal__header+.company__outline__body--hasLink {
    margin-top: 80px!important;
    max-width: 760px
}

.single__journal__header__title {
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 34px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .25em;
    line-height: 1.5
}

.single__journal__header__date {
    color: grey;
    display: block;
    font-size: 15px;
    letter-spacing: .1em;
    line-height: 20px;
    margin-top: 10px
}

.single__journal__header__info {
    font-size: 0;
    letter-spacing: 0;
    line-height: 0px;
    margin-top: 26px
}

.single__journal__header__info__category {
    background-color: #000;
    color: #fff;
    display: inline-block;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    height: auto;
    letter-spacing: .1em;
    line-height: 28px;
    min-width: 110px;
    padding: 0 10px;
    text-align: center
}

.single__journal__header__info__likes {
    color: grey;
    display: inline-block;
    font-size: 15px;
    height: auto;
    letter-spacing: .1em;
    line-height: 28px;
    margin-left: 40px;
    padding-left: 28px;
    position: relative;
    width: auto
}

.single__journal__header__info__likes:before {
    background-image: url(../images/heart.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    content: "";
    display: block;
    height: 20px;
    left: 0;
    position: absolute;
    top: 4px;
    width: 20px
}

.single__journal__header__tags {
    border-top: 1px solid #e5e5e5;
    font-size: 0;
    letter-spacing: 0;
    line-height: 0px;
    margin-top: 30px;
    padding-top: 20px
}

.single__journal__header__tags__term {
    border-bottom: 1px solid #e5e5e5;
    color: grey;
    display: inline-block;
    font-size: 13px;
    letter-spacing: .1em;
    line-height: 32px;
    margin-right: 32px;
    position: relative
}

.single__journal__header__tags__term:last-child {
    margin-right: 0
}

body:not(.touch) .single__journal__header__tags__term {
    transition: color .1s linear
}

body:not(.touch) .single__journal__header__tags__term:before {
    background-color: #000;
    bottom: -1px;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
    width: 100%
}

body:not(.touch) .single__journal__header__tags__term:hover {
    color: #000
}

body:not(.touch) .single__journal__header__tags__term:hover:before {
    transform: scaleX(1);
    transform-origin: left center
}

.single__journal__body {
    margin-top: 80px;
    max-width: 760px
}

.single__journal__back,
.single__journal__tags {
    margin: 80px 0 0;
    max-width: 760px
}

.single__journal__tags {
    border: 1px solid #e5e5e5;
    font-size: 0;
    letter-spacing: 0;
    line-height: 0px;
    padding: 20px 15px 30px 45px
}

.single__journal__tags li {
    display: inline-block;
    margin-right: 32px;
    margin-top: 10px
}

.single__journal__tags a {
    border-bottom: 1px solid #e5e5e5;
    color: grey;
    display: inline-block;
    font-size: 13px;
    letter-spacing: .1em;
    line-height: 24px;
    padding: 4px 0;
    position: relative
}

.single__journal__tags li:last-child {
    margin-right: 0
}

body:not(.touch) .single__journal__tags a {
    transition: color .1s linear
}

body:not(.touch) .single__journal__tags a:before {
    background-color: #000;
    bottom: -1px;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
    width: 100%
}

body:not(.touch) .single__journal__tags a:hover {
    color: #000
}

body:not(.touch) .single__journal__tags a:hover:before {
    transform: scaleX(1);
    transform-origin: left center
}

@media (max-width:1023px) {
    .single {
        width: calc(100% - 75px)
    }
    .single .verticalheading {
        right: -62px
    }
    .single__article__header {
        display: block;
        padding: 15px 60px 15px 30px;
        position: relative
    }
    .single__article__header__maintitle {
        font-size: 22px;
        letter-spacing: .25em;
        line-height: 30px
    }
    .single__article__header__subtitle {
        font-size: 10px;
        letter-spacing: .25em;
        line-height: 14px;
        margin-top: 3px
    }
    .single__article__header__info {
        font-size: 12px;
        letter-spacing: .1em;
        line-height: 16px;
        margin-top: 12px;
        padding: 0
    }
    .single__article__header__nav {
        height: 30px;
        position: absolute;
        right: 0;
        top: 20px;
        width: 52px
    }
    .single__article__header__nav__next,
    .single__article__header__nav__prev {
        height: 30px;
        width: 26px
    }
    .single__article__header__nav__next:before,
    .single__article__header__nav__prev:before {
        height: 22px;
        width: 22px
    }
    .single__article__header__nav__prev:before {
        left: -6px;
        right: auto;
        transform: translate(50%, -50%) rotate(-135deg)
    }
    .single__article__header__nav__next:before {
        left: auto;
        right: -6px;
        transform: translate(-50%, -50%) rotate(45deg)
    }
    .single__journal {
        padding-left: 30px
    }
    .single__journal__header {
        margin-top: 14px;
        max-width: 100%
    }
    .single__journal__header+.company__outline__body,
    .single__journal__header+.company__outline__body--hasLink {
        margin-top: 40px!important
    }
    .single__journal__header__title {
        font-size: 22px;
        letter-spacing: .25em;
        line-height: 32px
    }
    .single__journal__header__date {
        font-size: 12px;
        letter-spacing: .1em;
        line-height: 20px;
        margin-top: 0
    }
    .single__journal__header__info {
        margin-top: 14px
    }
    .single__journal__header__info__category {
        font-size: 9px;
        letter-spacing: .1em;
        line-height: 24px;
        min-width: 92px;
        padding: 0 10px
    }
    .single__journal__header__info__likes {
        font-size: 12px;
        letter-spacing: .1em;
        line-height: 24px;
        margin-left: 20px;
        padding-left: 24px
    }
    .single__journal__header__info__likes:before {
        background-size: 16px 16px;
        height: 16px;
        left: 0;
        top: 4px;
        width: 16px
    }
    .single__journal__header__tags {
        border-top: 1px solid #e5e5e5;
        margin-top: 20px;
        padding-top: 10px
    }
    .single__journal__body {
        margin-top: 40px;
        max-width: 100%
    }
    .single__journal__back {
        margin: 40px 0 0;
        max-width: 100%
    }
    .single__journal__tags {
        margin: 40px 0 0;
        max-width: none;
        padding: 10px 20px 20px;
        width: 100%
    }
    .single__journal__tags li {
        margin-right: 24px;
        margin-top: 10px
    }
    .single__journal__tags a,
    .single__journal__tags li {
        display: inline-block;
        max-width: 100%;
        overflow: hidden
    }
    .single__journal__tags a {
        font-size: 13px;
        letter-spacing: .1em;
        line-height: 34px;
        position: relative;
        text-overflow: ellipsis;
        white-space: nowrap;
        width: auto
    }
}

.works__index {
    height: auto;
    margin-right: auto;
    position: relative;
    width: 85%
}

.works__index .verticalheading {
    right: -120px
}

.works__index .pager {
    margin-left: auto;
    margin-top: 80px;
    max-width: 85%
}

.works__article__body {
    align-items: flex-start;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    position: relative
}

.works__article__images {
    flex: 0 1 70.49%;
    position: relative;
    transform-style: preserve-3d;
    width: 70.49%
}

.works__article__images img {
    display: block;
    height: auto;
    margin: 0 auto;
    max-width: 100%;
    width: 100%
}

.works__article__images img+img {
    margin-top: 10px
}

.works__article__images img:first-child {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    transition: -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s;
    transition: clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s, -webkit-clip-path 1.5s cubic-bezier(.23, 1, .32, 1) 0s
}

.works__article__images.ready img:first-child.is-inview {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0)
}

.works__article__contents {
    box-sizing: border-box;
    flex: 0 1 29.51%;
    padding: 60px 0 0 80px;
    position: relative;
    width: 29.51%
}

.works__related {
    margin-left: auto;
    margin-top: 200px;
    position: relative;
    width: 85%
}

.works__related .verticalheading {
    left: -120px
}

.works__related .cliplist__item__body {
    padding-left: 0!important
}

.works__related__link {
    margin-right: auto;
    text-align: left;
    width: 85%
}

.works__recent {
    margin-right: auto;
    margin-top: 120px;
    position: relative;
    width: 85%
}

.works__recent .verticalheading {
    right: -120px
}

.works__recent__link {
    margin-left: auto;
    padding-left: 17.6471%;
    text-align: right
}

@media (max-width:1023px) {
    .works__index {
        width: calc(100% - 75px)
    }
    .works__index .verticalheading {
        right: -62px
    }
    .works__index .pager {
        margin-left: 30px;
        margin-top: 50px;
        max-width: none;
        width: calc(100% + 15px)
    }
    .works__article__body {
        display: block
    }
    .works__article__images {
        width: 100%
    }
    .works__article__images img+img {
        margin-top: 5px
    }
    .works__article__contents {
        padding: 40px 0 0 30px;
        width: 100%
    }
    .works__related {
        margin-top: 100px;
        width: calc(100% - 75px)
    }
    .works__related .verticalheading {
        left: -62px
    }
    .works__related__link {
        margin-top: 20px;
        width: calc(100% - 30px)
    }
    .works__recent {
        margin-top: 80px;
        width: calc(100% - 75px)
    }
    .works__recent .verticalheading {
        right: -62px
    }
    .works__recent__link {
        margin-top: 30px;
        padding-left: 0;
        width: calc(100% - 30px)
    }
}


/* Localized */