:root {
    --swiper-theme-color: #007aff
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-android .swiper-slide,.swiper-wrapper {
    transform: translate3d(0,0,0)
}

.swiper-pointer-events {
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform,height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0,0,0,.15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-centered>.swiper-wrapper::before {
    content: '';
    flex-shrink: 0;
    order: 9999
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start:var(--swiper-centered-offset-before)}

.swiper-centered.swiper-horizontal>.swiper-wrapper: :before {
    height:100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start:var(--swiper-centered-offset-before)}

.swiper-centered.swiper-vertical>.swiper-wrapper: :before {
    width:100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size)
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size)/ 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color,var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev {
    display: none!important
}

.swiper-button-next:after,.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none!important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev,.swiper-rtl .swiper-button-next {
    left: 10px;
    right: auto
}

.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after {
    content: 'prev'
}

.swiper-button-next,.swiper-rtl .swiper-button-prev {
    right: 10px;
    left: auto
}

.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after {
    content: 'next'
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0,0,0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled {
    display: none!important
}

.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));
    height: var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));
    display: inline-block;
    border-radius: 50%;
    background: var(--swiper-pagination-bullet-inactive-color,#000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity,.2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none!important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity,1);
    background: var(--swiper-pagination-color,var(--swiper-theme-color))
}

.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    transform: translate3d(0,-50%,0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap,6px) 0;
    display: block
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform,.2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap,4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform,.2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform,.2s right
}

.swiper-pagination-progressbar {
    background: rgba(0,0,0,.25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color,var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0,0,0,.1)
}

.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none!important
}

.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0,0,0,.5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color,var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    content: '';
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px)
}

.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform,opacity,height
}

.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}

@media only screen and (min-width: 768px) {
    .u-sp {
        display:none!important
    }
}

@media only screen and (max-width: 767px) {
    .u-pc {
        display:none!important
    }
}

/*! destyle.css v3.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::after,::before {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0
}

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

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;
    margin: 0
}

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

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

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

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

address {
    font-style: inherit
}

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

abbr[title] {
    -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,svg {
    vertical-align: bottom
}

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

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

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

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

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

:-moz-focusring {
    outline: auto
}

select:disabled {
    opacity: inherit
}

option {
    padding: 0
}

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

legend {
    padding: 0
}

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]:focus {
    outline: auto
}

table {
    border-color: inherit
}

caption {
    text-align: left
}

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

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

html {
    height: 100%;
    font-size: .78125vw
}

@media only screen and (min-width: 1680px) {
    html {
        font-size:13.125px
    }
}

@media only screen and (max-width: 767px) {
    html {
        font-size:2.66667vw
    }
}

body {
    /*min-height: 100%;*/
    font-family: "Noto Sans JP","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    color: #251e1c;
    background-color: #e8edeb;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

a {
    display: inline-block
}

::-moz-selection {
    background: rgba(22,131,82,.2)
}

::selection {
    background: rgba(22,131,82,.2)
}

::-moz-selection {
    background: rgba(22,131,82,.2)
}

b,strong {
    font-weight: 700
}

.screen-reader-response,.wpcf7-response-output {
    display: none
}

.grecaptcha-badge {
    /*visibility: hidden*/
}

.c-picture {
    width: 10rem
}

.c-picture picture {
    position: relative;
    display: block;
    padding-top: 100%;
    width: 100%;
    height: 0
}

.c-picture picture img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.c-svg {
    width: 10rem
}

.c-svg__inner {
    position: relative;
    padding-top: 100%
}

.c-svg__inner svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.c-bgText {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 250;
    font-size: 19.5rem;
    line-height: 1.5;
    letter-spacing: -.07em;
    color: rgba(22,131,82,.08);
    white-space: nowrap
}

@media only screen and (max-width: 767px) {
    .c-bgText {
        font-size:13.5rem
    }
}

.c-grayRevealText {
    background-image: linear-gradient(130deg,currentColor,currentColor 47.5%,rgba(141,141,141,.5) 52.5%,rgba(141,141,141,.5));
    background-position: 100% 0;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 300% 100%;
    transition: background-position 2s ease-out
}

.c-grayRevealText.is-visible {
    background-position: 0 0
}

.c-upRevealText {
    overflow: hidden
}

.c-upRevealText.is-visible .c-upRevealText__child {
    opacity: 1;
    transform: translateY(0)
}

.c-upRevealText__child {
    opacity: 0;
    display: inline-block;
    transform: translateY(60%);
    transition: 1.2s cubic-bezier(.22,.61,.36,1);
    will-change: opacity,transform
}

.c-upRevealText__child:nth-of-type(1) {
    transition-delay: 8ms
}

.c-upRevealText__child:nth-of-type(2) {
    transition-delay: 16ms
}

.c-upRevealText__child:nth-of-type(3) {
    transition-delay: 24ms
}

.c-upRevealText__child:nth-of-type(4) {
    transition-delay: 32ms
}

.c-upRevealText__child:nth-of-type(5) {
    transition-delay: 40ms
}

.c-upRevealText__child:nth-of-type(6) {
    transition-delay: 48ms
}

.c-upRevealText__child:nth-of-type(7) {
    transition-delay: 56ms
}

.c-upRevealText__child:nth-of-type(8) {
    transition-delay: 64ms
}

.c-upRevealText__child:nth-of-type(9) {
    transition-delay: 72ms
}

.c-upRevealText__child:nth-of-type(10) {
    transition-delay: 80ms
}

.c-upRevealText__child:nth-of-type(11) {
    transition-delay: 88ms
}

.c-upRevealText__child:nth-of-type(12) {
    transition-delay: 96ms
}

.c-upRevealText__child:nth-of-type(13) {
    transition-delay: 104ms
}

.c-upRevealText__child:nth-of-type(14) {
    transition-delay: 112ms
}

.c-upRevealText__child:nth-of-type(15) {
    transition-delay: .12s
}

.c-upRevealText__child:nth-of-type(16) {
    transition-delay: 128ms
}

.c-upRevealText__child:nth-of-type(17) {
    transition-delay: 136ms
}

.c-upRevealText__child:nth-of-type(18) {
    transition-delay: 144ms
}

.c-upRevealText__child:nth-of-type(19) {
    transition-delay: 152ms
}

.c-upRevealText__child:nth-of-type(20) {
    transition-delay: .16s
}

.c-upRevealText__child:nth-of-type(21) {
    transition-delay: 168ms
}

.c-upRevealText__child:nth-of-type(22) {
    transition-delay: 176ms
}

.c-upRevealText__child:nth-of-type(23) {
    transition-delay: 184ms
}

.c-upRevealText__child:nth-of-type(24) {
    transition-delay: 192ms
}

.c-upRevealText__child:nth-of-type(25) {
    transition-delay: .2s
}

.c-upRevealText__child:nth-of-type(26) {
    transition-delay: 208ms
}

.c-upRevealText__child:nth-of-type(27) {
    transition-delay: 216ms
}

.c-upRevealText__child:nth-of-type(28) {
    transition-delay: 224ms
}

.c-upRevealText__child:nth-of-type(29) {
    transition-delay: 232ms
}

.c-upRevealText__child:nth-of-type(30) {
    transition-delay: .24s
}

.c-upRevealText__child:nth-of-type(31) {
    transition-delay: 248ms
}

.c-upRevealText__child:nth-of-type(32) {
    transition-delay: 256ms
}

.c-upRevealText__child:nth-of-type(33) {
    transition-delay: 264ms
}

.c-upRevealText__child:nth-of-type(34) {
    transition-delay: 272ms
}

.c-upRevealText__child:nth-of-type(35) {
    transition-delay: .28s
}

.c-upRevealText__child:nth-of-type(36) {
    transition-delay: 288ms
}

.c-upRevealText__child:nth-of-type(37) {
    transition-delay: 296ms
}

.c-upRevealText__child:nth-of-type(38) {
    transition-delay: 304ms
}

.c-upRevealText__child:nth-of-type(39) {
    transition-delay: 312ms
}

.c-upRevealText__child:nth-of-type(40) {
    transition-delay: .32s
}

.c-upRevealText__child:nth-of-type(41) {
    transition-delay: 328ms
}

.c-upRevealText__child:nth-of-type(42) {
    transition-delay: 336ms
}

.c-upRevealText__child:nth-of-type(43) {
    transition-delay: 344ms
}

.c-upRevealText__child:nth-of-type(44) {
    transition-delay: 352ms
}

.c-upRevealText__child:nth-of-type(45) {
    transition-delay: .36s
}

.c-upRevealText__child:nth-of-type(46) {
    transition-delay: 368ms
}

.c-upRevealText__child:nth-of-type(47) {
    transition-delay: 376ms
}

.c-upRevealText__child:nth-of-type(48) {
    transition-delay: 384ms
}

.c-upRevealText__child:nth-of-type(49) {
    transition-delay: 392ms
}

.c-upRevealText__child:nth-of-type(50) {
    transition-delay: .4s
}

.c-upRevealText__child:nth-of-type(51) {
    transition-delay: 408ms
}

.c-upRevealText__child:nth-of-type(52) {
    transition-delay: 416ms
}

.c-upRevealText__child:nth-of-type(53) {
    transition-delay: 424ms
}

.c-upRevealText__child:nth-of-type(54) {
    transition-delay: 432ms
}

.c-upRevealText__child:nth-of-type(55) {
    transition-delay: .44s
}

.c-upRevealText__child:nth-of-type(56) {
    transition-delay: 448ms
}

.c-upRevealText__child:nth-of-type(57) {
    transition-delay: 456ms
}

.c-upRevealText__child:nth-of-type(58) {
    transition-delay: 464ms
}

.c-upRevealText__child:nth-of-type(59) {
    transition-delay: 472ms
}

.c-upRevealText__child:nth-of-type(60) {
    transition-delay: .48s
}

.c-upRevealText__child:nth-of-type(61) {
    transition-delay: 488ms
}

.c-upRevealText__child:nth-of-type(62) {
    transition-delay: 496ms
}

.c-upRevealText__child:nth-of-type(63) {
    transition-delay: 504ms
}

.c-upRevealText__child:nth-of-type(64) {
    transition-delay: 512ms
}

.c-upRevealText__child:nth-of-type(65) {
    transition-delay: .52s
}

.c-upRevealText__child:nth-of-type(66) {
    transition-delay: 528ms
}

.c-upRevealText__child:nth-of-type(67) {
    transition-delay: 536ms
}

.c-upRevealText__child:nth-of-type(68) {
    transition-delay: 544ms
}

.c-upRevealText__child:nth-of-type(69) {
    transition-delay: 552ms
}

.c-upRevealText__child:nth-of-type(70) {
    transition-delay: .56s
}

.c-upRevealText__child:nth-of-type(71) {
    transition-delay: 568ms
}

.c-upRevealText__child:nth-of-type(72) {
    transition-delay: 576ms
}

.c-upRevealText__child:nth-of-type(73) {
    transition-delay: 584ms
}

.c-upRevealText__child:nth-of-type(74) {
    transition-delay: 592ms
}

.c-upRevealText__child:nth-of-type(75) {
    transition-delay: .6s
}

.c-upRevealText__child:nth-of-type(76) {
    transition-delay: 608ms
}

.c-upRevealText__child:nth-of-type(77) {
    transition-delay: 616ms
}

.c-upRevealText__child:nth-of-type(78) {
    transition-delay: 624ms
}

.c-upRevealText__child:nth-of-type(79) {
    transition-delay: 632ms
}

.c-upRevealText__child:nth-of-type(80) {
    transition-delay: .64s
}

.c-upRevealText__child:nth-of-type(81) {
    transition-delay: 648ms
}

.c-upRevealText__child:nth-of-type(82) {
    transition-delay: 656ms
}

.c-upRevealText__child:nth-of-type(83) {
    transition-delay: 664ms
}

.c-upRevealText__child:nth-of-type(84) {
    transition-delay: 672ms
}

.c-upRevealText__child:nth-of-type(85) {
    transition-delay: .68s
}

.c-upRevealText__child:nth-of-type(86) {
    transition-delay: 688ms
}

.c-upRevealText__child:nth-of-type(87) {
    transition-delay: 696ms
}

.c-upRevealText__child:nth-of-type(88) {
    transition-delay: 704ms
}

.c-upRevealText__child:nth-of-type(89) {
    transition-delay: 712ms
}

.c-upRevealText__child:nth-of-type(90) {
    transition-delay: .72s
}

.c-upRevealText__child:nth-of-type(91) {
    transition-delay: 728ms
}

.c-upRevealText__child:nth-of-type(92) {
    transition-delay: 736ms
}

.c-upRevealText__child:nth-of-type(93) {
    transition-delay: 744ms
}

.c-upRevealText__child:nth-of-type(94) {
    transition-delay: 752ms
}

.c-upRevealText__child:nth-of-type(95) {
    transition-delay: .76s
}

.c-upRevealText__child:nth-of-type(96) {
    transition-delay: 768ms
}

.c-upRevealText__child:nth-of-type(97) {
    transition-delay: 776ms
}

.c-upRevealText__child:nth-of-type(98) {
    transition-delay: 784ms
}

.c-upRevealText__child:nth-of-type(99) {
    transition-delay: 792ms
}

.c-upRevealText__child:nth-of-type(100) {
    transition-delay: .8s
}

.c-upRevealText__child:nth-of-type(101) {
    transition-delay: 808ms
}

.c-upRevealText__child:nth-of-type(102) {
    transition-delay: 816ms
}

.c-upRevealText__child:nth-of-type(103) {
    transition-delay: 824ms
}

.c-upRevealText__child:nth-of-type(104) {
    transition-delay: 832ms
}

.c-upRevealText__child:nth-of-type(105) {
    transition-delay: .84s
}

.c-upRevealText__child:nth-of-type(106) {
    transition-delay: 848ms
}

.c-upRevealText__child:nth-of-type(107) {
    transition-delay: 856ms
}

.c-upRevealText__child:nth-of-type(108) {
    transition-delay: 864ms
}

.c-upRevealText__child:nth-of-type(109) {
    transition-delay: 872ms
}

.c-upRevealText__child:nth-of-type(110) {
    transition-delay: .88s
}

.c-upRevealText__child:nth-of-type(111) {
    transition-delay: 888ms
}

.c-upRevealText__child:nth-of-type(112) {
    transition-delay: 896ms
}

.c-upRevealText__child:nth-of-type(113) {
    transition-delay: 904ms
}

.c-upRevealText__child:nth-of-type(114) {
    transition-delay: 912ms
}

.c-upRevealText__child:nth-of-type(115) {
    transition-delay: .92s
}

.c-upRevealText__child:nth-of-type(116) {
    transition-delay: 928ms
}

.c-upRevealText__child:nth-of-type(117) {
    transition-delay: 936ms
}

.c-upRevealText__child:nth-of-type(118) {
    transition-delay: 944ms
}

.c-upRevealText__child:nth-of-type(119) {
    transition-delay: 952ms
}

.c-upRevealText__child:nth-of-type(120) {
    transition-delay: .96s
}

.c-upRevealText__child:nth-of-type(121) {
    transition-delay: 968ms
}

.c-upRevealText__child:nth-of-type(122) {
    transition-delay: 976ms
}

.c-upRevealText__child:nth-of-type(123) {
    transition-delay: 984ms
}

.c-upRevealText__child:nth-of-type(124) {
    transition-delay: 992ms
}

.c-upRevealText__child:nth-of-type(125) {
    transition-delay: 1s
}

.c-upRevealText__child:nth-of-type(126) {
    transition-delay: 1.008s
}

.c-upRevealText__child:nth-of-type(127) {
    transition-delay: 1.016s
}

.c-upRevealText__child:nth-of-type(128) {
    transition-delay: 1.024s
}

.c-upRevealText__child:nth-of-type(129) {
    transition-delay: 1.032s
}

.c-upRevealText__child:nth-of-type(130) {
    transition-delay: 1.04s
}

.c-upRevealText__child:nth-of-type(131) {
    transition-delay: 1.048s
}

.c-upRevealText__child:nth-of-type(132) {
    transition-delay: 1.056s
}

.c-upRevealText__child:nth-of-type(133) {
    transition-delay: 1.064s
}

.c-upRevealText__child:nth-of-type(134) {
    transition-delay: 1.072s
}

.c-upRevealText__child:nth-of-type(135) {
    transition-delay: 1.08s
}

.c-upRevealText__child:nth-of-type(136) {
    transition-delay: 1.088s
}

.c-upRevealText__child:nth-of-type(137) {
    transition-delay: 1.096s
}

.c-upRevealText__child:nth-of-type(138) {
    transition-delay: 1.104s
}

.c-upRevealText__child:nth-of-type(139) {
    transition-delay: 1.112s
}

.c-upRevealText__child:nth-of-type(140) {
    transition-delay: 1.12s
}

.c-upRevealText__child:nth-of-type(141) {
    transition-delay: 1.128s
}

.c-upRevealText__child:nth-of-type(142) {
    transition-delay: 1.136s
}

.c-upRevealText__child:nth-of-type(143) {
    transition-delay: 1.144s
}

.c-upRevealText__child:nth-of-type(144) {
    transition-delay: 1.152s
}

.c-upRevealText__child:nth-of-type(145) {
    transition-delay: 1.16s
}

.c-upRevealText__child:nth-of-type(146) {
    transition-delay: 1.168s
}

.c-upRevealText__child:nth-of-type(147) {
    transition-delay: 1.176s
}

.c-upRevealText__child:nth-of-type(148) {
    transition-delay: 1.184s
}

.c-upRevealText__child:nth-of-type(149) {
    transition-delay: 1.192s
}

.c-upRevealText__child:nth-of-type(150) {
    transition-delay: 1.2s
}

.c-upRevealText__child:nth-of-type(151) {
    transition-delay: 1.208s
}

.c-upRevealText__child:nth-of-type(152) {
    transition-delay: 1.216s
}

.c-upRevealText__child:nth-of-type(153) {
    transition-delay: 1.224s
}

.c-upRevealText__child:nth-of-type(154) {
    transition-delay: 1.232s
}

.c-upRevealText__child:nth-of-type(155) {
    transition-delay: 1.24s
}

.c-upRevealText__child:nth-of-type(156) {
    transition-delay: 1.248s
}

.c-upRevealText__child:nth-of-type(157) {
    transition-delay: 1.256s
}

.c-upRevealText__child:nth-of-type(158) {
    transition-delay: 1.264s
}

.c-upRevealText__child:nth-of-type(159) {
    transition-delay: 1.272s
}

.c-upRevealText__child:nth-of-type(160) {
    transition-delay: 1.28s
}

.c-upRevealText__child:nth-of-type(161) {
    transition-delay: 1.288s
}

.c-upRevealText__child:nth-of-type(162) {
    transition-delay: 1.296s
}

.c-upRevealText__child:nth-of-type(163) {
    transition-delay: 1.304s
}

.c-upRevealText__child:nth-of-type(164) {
    transition-delay: 1.312s
}

.c-upRevealText__child:nth-of-type(165) {
    transition-delay: 1.32s
}

.c-upRevealText__child:nth-of-type(166) {
    transition-delay: 1.328s
}

.c-upRevealText__child:nth-of-type(167) {
    transition-delay: 1.336s
}

.c-upRevealText__child:nth-of-type(168) {
    transition-delay: 1.344s
}

.c-upRevealText__child:nth-of-type(169) {
    transition-delay: 1.352s
}

.c-upRevealText__child:nth-of-type(170) {
    transition-delay: 1.36s
}

.c-upRevealText__child:nth-of-type(171) {
    transition-delay: 1.368s
}

.c-upRevealText__child:nth-of-type(172) {
    transition-delay: 1.376s
}

.c-upRevealText__child:nth-of-type(173) {
    transition-delay: 1.384s
}

.c-upRevealText__child:nth-of-type(174) {
    transition-delay: 1.392s
}

.c-upRevealText__child:nth-of-type(175) {
    transition-delay: 1.4s
}

.c-upRevealText__child:nth-of-type(176) {
    transition-delay: 1.408s
}

.c-upRevealText__child:nth-of-type(177) {
    transition-delay: 1.416s
}

.c-upRevealText__child:nth-of-type(178) {
    transition-delay: 1.424s
}

.c-upRevealText__child:nth-of-type(179) {
    transition-delay: 1.432s
}

.c-upRevealText__child:nth-of-type(180) {
    transition-delay: 1.44s
}

.c-upRevealText__child:nth-of-type(181) {
    transition-delay: 1.448s
}

.c-upRevealText__child:nth-of-type(182) {
    transition-delay: 1.456s
}

.c-upRevealText__child:nth-of-type(183) {
    transition-delay: 1.464s
}

.c-upRevealText__child:nth-of-type(184) {
    transition-delay: 1.472s
}

.c-upRevealText__child:nth-of-type(185) {
    transition-delay: 1.48s
}

.c-upRevealText__child:nth-of-type(186) {
    transition-delay: 1.488s
}

.c-upRevealText__child:nth-of-type(187) {
    transition-delay: 1.496s
}

.c-upRevealText__child:nth-of-type(188) {
    transition-delay: 1.504s
}

.c-upRevealText__child:nth-of-type(189) {
    transition-delay: 1.512s
}

.c-upRevealText__child:nth-of-type(190) {
    transition-delay: 1.52s
}

.c-upRevealText__child:nth-of-type(191) {
    transition-delay: 1.528s
}

.c-upRevealText__child:nth-of-type(192) {
    transition-delay: 1.536s
}

.c-upRevealText__child:nth-of-type(193) {
    transition-delay: 1.544s
}

.c-upRevealText__child:nth-of-type(194) {
    transition-delay: 1.552s
}

.c-upRevealText__child:nth-of-type(195) {
    transition-delay: 1.56s
}

.c-upRevealText__child:nth-of-type(196) {
    transition-delay: 1.568s
}

.c-upRevealText__child:nth-of-type(197) {
    transition-delay: 1.576s
}

.c-upRevealText__child:nth-of-type(198) {
    transition-delay: 1.584s
}

.c-upRevealText__child:nth-of-type(199) {
    transition-delay: 1.592s
}

.c-upRevealText__child:nth-of-type(200) {
    transition-delay: 1.6s
}

.c-upRevealText__child:nth-of-type(201) {
    transition-delay: 1.608s
}

.c-upRevealText__child:nth-of-type(202) {
    transition-delay: 1.616s
}

.c-upRevealText__child:nth-of-type(203) {
    transition-delay: 1.624s
}

.c-upRevealText__child:nth-of-type(204) {
    transition-delay: 1.632s
}

.c-upRevealText__child:nth-of-type(205) {
    transition-delay: 1.64s
}

.c-upRevealText__child:nth-of-type(206) {
    transition-delay: 1.648s
}

.c-upRevealText__child:nth-of-type(207) {
    transition-delay: 1.656s
}

.c-upRevealText__child:nth-of-type(208) {
    transition-delay: 1.664s
}

.c-upRevealText__child:nth-of-type(209) {
    transition-delay: 1.672s
}

.c-upRevealText__child:nth-of-type(210) {
    transition-delay: 1.68s
}

.c-upRevealText__child:nth-of-type(211) {
    transition-delay: 1.688s
}

.c-upRevealText__child:nth-of-type(212) {
    transition-delay: 1.696s
}

.c-upRevealText__child:nth-of-type(213) {
    transition-delay: 1.704s
}

.c-upRevealText__child:nth-of-type(214) {
    transition-delay: 1.712s
}

.c-upRevealText__child:nth-of-type(215) {
    transition-delay: 1.72s
}

.c-upRevealText__child:nth-of-type(216) {
    transition-delay: 1.728s
}

.c-upRevealText__child:nth-of-type(217) {
    transition-delay: 1.736s
}

.c-upRevealText__child:nth-of-type(218) {
    transition-delay: 1.744s
}

.c-upRevealText__child:nth-of-type(219) {
    transition-delay: 1.752s
}

.c-upRevealText__child:nth-of-type(220) {
    transition-delay: 1.76s
}

.c-upRevealText__child:nth-of-type(221) {
    transition-delay: 1.768s
}

.c-upRevealText__child:nth-of-type(222) {
    transition-delay: 1.776s
}

.c-upRevealText__child:nth-of-type(223) {
    transition-delay: 1.784s
}

.c-upRevealText__child:nth-of-type(224) {
    transition-delay: 1.792s
}

.c-upRevealText__child:nth-of-type(225) {
    transition-delay: 1.8s
}

.c-upRevealText__child:nth-of-type(226) {
    transition-delay: 1.808s
}

.c-upRevealText__child:nth-of-type(227) {
    transition-delay: 1.816s
}

.c-upRevealText__child:nth-of-type(228) {
    transition-delay: 1.824s
}

.c-upRevealText__child:nth-of-type(229) {
    transition-delay: 1.832s
}

.c-upRevealText__child:nth-of-type(230) {
    transition-delay: 1.84s
}

.c-upRevealText__child:nth-of-type(231) {
    transition-delay: 1.848s
}

.c-upRevealText__child:nth-of-type(232) {
    transition-delay: 1.856s
}

.c-upRevealText__child:nth-of-type(233) {
    transition-delay: 1.864s
}

.c-upRevealText__child:nth-of-type(234) {
    transition-delay: 1.872s
}

.c-upRevealText__child:nth-of-type(235) {
    transition-delay: 1.88s
}

.c-upRevealText__child:nth-of-type(236) {
    transition-delay: 1.888s
}

.c-upRevealTitle {
    overflow: hidden
}

.c-upRevealTitle>._text {
    display: inline-block;
    transform: translateY(100%)
}

.c-upRevealTitle.is-visible>._text {
    transform: translateY(0);
    transition: transform .6s ease-out
}

.c-lineRevealTitle {
    overflow: hidden
}

.c-lineRevealTitle .c-lineRevealTitle__block+.c-lineRevealTitle__block .c-lineRevealTitle__child:nth-of-type(1) {
    transition-delay: .1s
}

.c-lineRevealTitle .c-lineRevealTitle__block+.c-lineRevealTitle__block .c-lineRevealTitle__child:nth-of-type(2) {
    transition-delay: .12s
}

.c-lineRevealTitle .c-lineRevealTitle__block+.c-lineRevealTitle__block .c-lineRevealTitle__child:nth-of-type(3) {
    transition-delay: .14s
}

.c-lineRevealTitle .c-lineRevealTitle__block+.c-lineRevealTitle__block .c-lineRevealTitle__child:nth-of-type(4) {
    transition-delay: .16s
}

.c-lineRevealTitle .c-lineRevealTitle__block+.c-lineRevealTitle__block .c-lineRevealTitle__child:nth-of-type(5) {
    transition-delay: .18s
}

.c-lineRevealTitle .c-lineRevealTitle__block+.c-lineRevealTitle__block .c-lineRevealTitle__child:nth-of-type(6) {
    transition-delay: .2s
}

.c-lineRevealTitle .c-lineRevealTitle__block+.c-lineRevealTitle__block .c-lineRevealTitle__child:nth-of-type(7) {
    transition-delay: .22s
}

.c-lineRevealTitle .c-lineRevealTitle__block+.c-lineRevealTitle__block .c-lineRevealTitle__child:nth-of-type(8) {
    transition-delay: .24s
}

.c-lineRevealTitle.is-visible .c-lineRevealTitle__child {
    opacity: 1;
    transform: translateY(0)
}

.c-lineRevealTitle__child {
    opacity: 0;
    display: inline-block;
    transform: translateY(40%);
    transition: opacity .3s ease,transform .6s cubic-bezier(.22,.61,.36,1);
    will-change: opacity,transform
}

.c-lineRevealTitle__child:nth-of-type(1) {
    transition-delay: 20ms
}

.c-lineRevealTitle__child:nth-of-type(2) {
    transition-delay: 40ms
}

.c-lineRevealTitle__child:nth-of-type(3) {
    transition-delay: 60ms
}

.c-lineRevealTitle__child:nth-of-type(4) {
    transition-delay: 80ms
}

.c-lineRevealTitle__child:nth-of-type(5) {
    transition-delay: .1s
}

.c-lineRevealTitle__child:nth-of-type(6) {
    transition-delay: .12s
}

.c-lineRevealTitle__child:nth-of-type(7) {
    transition-delay: .14s
}

.c-lineRevealTitle__child:nth-of-type(8) {
    transition-delay: .16s
}

.c-lineRevealTitle__child:nth-of-type(9) {
    transition-delay: .18s
}

.c-lineRevealTitle__child:nth-of-type(10) {
    transition-delay: .2s
}

.c-lineRevealTitle__child:nth-of-type(11) {
    transition-delay: .22s
}

.c-lineRevealTitle__child:nth-of-type(12) {
    transition-delay: .24s
}

.c-lineRevealTitle__child:nth-of-type(13) {
    transition-delay: .26s
}

.c-lineRevealTitle__child:nth-of-type(14) {
    transition-delay: .28s
}

.c-lineRevealTitle__child:nth-of-type(15) {
    transition-delay: .3s
}

.c-lineRevealTitle__child:nth-of-type(16) {
    transition-delay: .32s
}

.c-lineRevealTitle__child:nth-of-type(17) {
    transition-delay: .34s
}

.c-lineRevealTitle__child:nth-of-type(18) {
    transition-delay: .36s
}

.c-lineRevealTitle__child:nth-of-type(19) {
    transition-delay: .38s
}

.c-lineRevealTitle__child:nth-of-type(20) {
    transition-delay: .4s
}

.c-lineRevealTitle__child:nth-of-type(21) {
    transition-delay: .42s
}

.c-lineRevealTitle__child:nth-of-type(22) {
    transition-delay: .44s
}

.c-lineRevealTitle__child:nth-of-type(23) {
    transition-delay: .46s
}

.c-lineRevealTitle__child:nth-of-type(24) {
    transition-delay: .48s
}

.c-lineRevealTitle__child:nth-of-type(25) {
    transition-delay: .5s
}

.c-lineRevealTitle__child:nth-of-type(26) {
    transition-delay: .52s
}

.c-lineRevealTitle__child:nth-of-type(27) {
    transition-delay: .54s
}

.c-lineRevealTitle__child:nth-of-type(28) {
    transition-delay: .56s
}

.c-lineRevealTitle__child:nth-of-type(29) {
    transition-delay: .58s
}

.c-lineRevealTitle__child:nth-of-type(30) {
    transition-delay: .6s
}

.c-lineRevealTitle__child:nth-of-type(31) {
    transition-delay: .62s
}

.c-lineRevealTitle__child:nth-of-type(32) {
    transition-delay: .64s
}

.c-lineRevealTitle__child:nth-of-type(33) {
    transition-delay: .66s
}

.c-lineRevealTitle__child:nth-of-type(34) {
    transition-delay: .68s
}

.c-lineRevealTitle__child:nth-of-type(35) {
    transition-delay: .7s
}

.c-lineRevealTitle__child:nth-of-type(36) {
    transition-delay: .72s
}

.c-lineRevealTitle__child:nth-of-type(37) {
    transition-delay: .74s
}

.c-lineRevealTitle__child:nth-of-type(38) {
    transition-delay: .76s
}

.c-lineRevealTitle__child:nth-of-type(39) {
    transition-delay: .78s
}

.c-lineRevealTitle__child:nth-of-type(40) {
    transition-delay: .8s
}

.c-lineRevealTitle__child:nth-of-type(41) {
    transition-delay: .82s
}

.c-lineRevealTitle__child:nth-of-type(42) {
    transition-delay: .84s
}

.c-lineRevealTitle__child:nth-of-type(43) {
    transition-delay: .86s
}

.c-lineRevealTitle__child:nth-of-type(44) {
    transition-delay: .88s
}

.c-lineRevealTitle__child:nth-of-type(45) {
    transition-delay: .9s
}

.c-lineRevealTitle__child:nth-of-type(46) {
    transition-delay: .92s
}

.c-fadeRevealText {
    opacity: 0;
    transition: opacity .2s ease-out
}

.c-fadeRevealText.is-visible {
    opacity: 1
}

.c-langSwitch {
    position: relative;
    display: flex;
    padding: 0 .2rem;
    background: #f4f4f4;
    border-radius: 2rem
}

.c-langSwitch ._indicator {
    position: absolute;
    top: 5%;
    left: 4%;
    width: 46%;
    height: 90%;
    transition: transform .3s ease-out
}

.c-langSwitch ._indicator::before {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #168352;
    border-radius: 2rem;
    content: "";
    transition: transform .2s ease-out
}

.c-langSwitch ._label {
    position: relative;
    display: inline-block;
    padding: .7rem 1.4rem;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: .04em;
    color: #251e1c;
    transition: color .3s ease-out
}

.c-langSwitch[data-lang=ja] ._indicator::before {
    transform-origin: left center;
    -webkit-animation: kf-lang-indicator-ja .4s ease-out 0s 1 normal none;
    animation: kf-lang-indicator-ja .4s ease-out 0s 1 normal none
}

@-webkit-keyframes kf-lang-indicator-ja {
    0% {
        transform-origin: right center;
        transform: scaleX(1.1)
    }

    45% {
        transform: scaleX(1.4)
    }

    75% {
        transform: scaleX(1)
    }

    100% {
        transform: scaleX(1)
    }
}

@keyframes kf-lang-indicator-ja {
    0% {
        transform-origin: right center;
        transform: scaleX(1.1)
    }

    45% {
        transform: scaleX(1.4)
    }

    75% {
        transform: scaleX(1)
    }

    100% {
        transform: scaleX(1)
    }
}

.c-langSwitch[data-lang=ja] ._label--ja {
    color: #fff
}

.c-langSwitch[data-lang=en] ._indicator {
    transform: translateX(102%)
}

.c-langSwitch[data-lang=en] ._indicator::before {
    transform-origin: right center;
    -webkit-animation: kf-lang-indicator-en .4s ease-out 0s 1 normal none;
    animation: kf-lang-indicator-en .4s ease-out 0s 1 normal none
}

@-webkit-keyframes kf-lang-indicator-en {
    0% {
        transform-origin: left center;
        transform: scaleX(1.1)
    }

    45% {
        transform: scaleX(1.4)
    }

    75% {
        transform: scaleX(1)
    }

    100% {
        transform: scaleX(1)
    }
}

@keyframes kf-lang-indicator-en {
    0% {
        transform-origin: left center;
        transform: scaleX(1.1)
    }

    45% {
        transform: scaleX(1.4)
    }

    75% {
        transform: scaleX(1)
    }

    100% {
        transform: scaleX(1)
    }
}

.c-langSwitch[data-lang=en] ._label--en {
    color: #fff
}

@media (hover: hover) {
    .c-langSwitch:hover ._indicator::before {
        transform:scaleX(1.1)
    }
}

.c-breadcrumbs__list {
    display: flex
}

.c-breadcrumbs__item {
    display: flex;
    align-items: center;
    font-style: normal;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: .04em;
    color: #473221
}

@media only screen and (max-width: 767px) {
    .c-breadcrumbs__item {
        font-size:.8rem
    }
}

.c-breadcrumbs__item:last-child {
    flex: 1;
    color: #168352
}

.c-breadcrumbs__item:last-child ._link {
    pointer-events: none
}

.c-breadcrumbs__item .c-svg {
    margin: 0 .4rem;
    width: .2rem
}

.c-breadcrumbs__item .c-svg__inner {
    padding-top: calc(4 / 2 * 100%)
}

.c-breadcrumbs__item ._link {
    flex: 1;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    text-decoration: underline;
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent;
    transition: -webkit-text-decoration-color .2s ease-out;
    transition: text-decoration-color .2s ease-out;
    transition: text-decoration-color .2s ease-out,-webkit-text-decoration-color .2s ease-out
}

@media (hover: hover) {
    .c-breadcrumbs__item ._link:hover {
        -webkit-text-decoration-color:currentColor;
        text-decoration-color: currentColor
    }
}

.c-steps {
    position: relative
}

.c-steps::before {
    position: absolute;
    top: 2.3rem;
    bottom: 2.3rem;
    left: .4rem;
    display: block;
    width: .2rem;
    background-color: rgba(37,30,28,.1);
    transform: translateX(-50%);
    content: ""
}

@media only screen and (max-width: 767px) {
    .c-steps::before {
        top:.3rem;
        right: 5rem;
        left: 5rem;
        width: auto;
        height: .2rem;
        transform: translateY(-50%)
    }
}

.c-steps__list {
    position: relative
}

@media only screen and (max-width: 767px) {
    .c-steps__list {
        display:flex;
        justify-content: space-between
    }
}

.c-steps__item {
    position: relative;
    padding-left: 2.3rem;
    color: #c6c6c6
}

@media only screen and (max-width: 767px) {
    .c-steps__item {
        display:flex;
        flex-direction: column;
        align-items: center;
        padding-top: 1.8rem;
        padding-left: 0;
        width: 10rem
    }
}

.c-steps__item.is-current {
    color: #251e1c
}

.c-steps__item.is-current::before {
    background-color: #168352
}

.c-steps__item:not(:first-child) {
    margin-top: 4.375vw
}

@media only screen and (max-width: 767px) {
    .c-steps__item:not(:first-child) {
        margin-top:0
    }
}

.c-steps__item::before {
    position: absolute;
    top: 50%;
    left: -.4rem;
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    transform: translateY(-50%) scale(.5);
    background-color: currentColor;
    content: ""
}

@media only screen and (max-width: 767px) {
    .c-steps__item::before {
        top:-.3rem;
        left: 50%;
        width: 1.2rem;
        height: 1.2rem;
        transform: translateX(-50%) scale(.5)
    }
}

.c-steps__item ._no {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.54;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .c-steps__item ._no {
        font-size:1.1rem;
        line-height: 1.45
    }
}

.c-steps__item ._label {
    margin-top: .4rem;
    font-style: normal;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.44;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .c-steps__item ._label {
        font-size:1.4rem;
        line-height: 1.43
    }
}

.c-stoppableAnimation.is-paused .c-stoppableAnimationTarget {
    -webkit-animation-play-state: paused!important;
    animation-play-state: paused!important
}

.c-internalLink {
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 2.1rem 5.5rem;
    background-color: #168352;
    border: 2px solid #168352;
    border-radius: 4rem;
    transition: background-color .4s ease-out,border-color .4s ease-out
}

@media only screen and (max-width: 767px) {
    .c-internalLink {
        padding:1.8rem 8.2rem
    }
}

.c-internalLink ._circle {
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    padding-top: 100%;
    width: 100%;
    height: 0;
    transform: translateY(-50%)
}

.c-internalLink ._circle::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border-radius: 50%;
    transform: scale(0);
    transition: transform .4s ease-out;
    content: ""
}

.c-internalLink ._label {
    position: relative;
    font-family: Roboto,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.15;
    letter-spacing: .04em;
    color: #fff;
    transition: color .4s ease-out
}

.c-internalLink ._icon {
    position: absolute;
    top: 50%;
    right: 1rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 3rem;
    transform: translateY(-50%)
}

@media only screen and (max-width: 767px) {
    .c-internalLink ._icon {
        right:.8rem
    }
}

.c-internalLink ._icon::after,.c-internalLink ._icon::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255,.2);
    border-radius: 50%;
    transform: translate(-50%,-50%) scale(.7);
    transition: transform .4s ease-out,background-color .4s ease-out;
    content: ""
}

.c-internalLink ._icon::after {
    background-color: #fff;
    transform: translate(-50%,-50%) scale(.16)
}

.c-internalLink ._icon .c-svg {
    position: relative;
    z-index: 1;
    width: 1.1rem;
    opacity: 0;
    transition: opacity .4s ease-out;
    -webkit-animation: kv-link-arrow-normal .4s ease-out 0s 1 normal both;
    animation: kv-link-arrow-normal .4s ease-out 0s 1 normal both
}

@-webkit-keyframes kv-link-arrow-normal {
    to {
        transform: translateX(150%) scaleY(.1)
    }
}

@keyframes kv-link-arrow-normal {
    to {
        transform: translateX(150%) scaleY(.1)
    }
}

@media (hover: hover) {
    .c-internalLink:hover ._circle::before {
        transform:scale(1)
    }

    .c-internalLink:hover ._label {
        color: #168352
    }

    .c-internalLink:hover ._icon::before {
        transform: translate(-50%,-50%) scale(0)
    }

    .c-internalLink:hover ._icon::after {
        background-color: #168352;
        transform: translate(-50%,-50%) scale(1)
    }

    .c-internalLink:hover ._icon .c-svg {
        opacity: 1;
        -webkit-animation: kv-link-arrow-hover .4s ease-out .2s 1 normal both;
        animation: kv-link-arrow-hover .4s ease-out .2s 1 normal both
    }

    @-webkit-keyframes kv-link-arrow-hover {
        from {
            transform: translateX(-150%) scaleY(.1)
        }
    }

    @keyframes kv-link-arrow-hover {
        from {
            transform: translateX(-150%) scaleY(.1)
        }
    }
}

.c-internalLink.is-disabled {
    background-color: #c6c6c6;
    border-color: #c6c6c6;
    pointer-events: none
}

.c-internalLink.is-inverse-direction {
    transform: scaleX(-1)
}

.c-internalLink.is-inverse-direction ._label {
    transform: scaleX(-1)
}

.c-internalLink.is-white {
    background-color: #fff
}

.c-internalLink.is-white ._circle::before {
    background-color: #168352
}

.c-internalLink.is-white ._label {
    color: #168352
}

.c-internalLink.is-white ._icon::after,.c-internalLink.is-white ._icon::before {
    background-color: #168352
}

.c-internalLink.is-white ._icon::after {
    background-color: #fff
}

.c-internalLink.is-white ._icon .c-svg path {
    fill: #168352
}

@media (hover: hover) {
    .c-internalLink.is-white:hover ._label {
        color:#fff
    }
}

.c-nextLink {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.6rem;
    height: 5.6rem;
    border-radius: 50%;
    background-color: #f4f4f4
}

@media only screen and (max-width: 767px) {
    .c-nextLink {
        width:3.8rem;
        height: 3.8rem
    }
}

.c-nextLink .c-svg {
    width: 1.9rem
}

@media only screen and (max-width: 767px) {
    .c-nextLink .c-svg {
        width:1.3rem
    }
}

.c-nextLink .c-svg path {
    fill: #168352
}

.c-h2 {
    position: relative;
    padding-top: 2rem;
    font-style: normal;
    font-weight: 700;
    font-size: 3.8rem;
    line-height: 1.5;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .c-h2 {
        font-size:2.2rem;
        line-height: 1.11;
        letter-spacing: 0
    }
}

.c-h2::after,.c-h2::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: .2rem;
    background-color: #168352;
    transform-origin: left center;
    transform: scaleX(.025);
    transition: transform .3s ease-out;
    content: ""
}

@media only screen and (max-width: 767px) {
    .c-h2::after,.c-h2::before {
        transform:scaleX(.062)
    }
}

.c-h2::after {
    right: 0;
    left: auto;
    width: 97%;
    background-color: rgba(37,30,28,.1);
    transform: none
}

@media only screen and (max-width: 767px) {
    .c-h2::after {
        width:93.1%
    }
}

.c-h3 {
    display: flex;
    align-items: center;
    padding: 1.5rem 1.7rem;
    font-style: normal;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: .04em;
    color: #251e1c;
    background-color: #f4f4f4;
    border-radius: .6rem
}

@media only screen and (max-width: 767px) {
    .c-h3 {
        padding:1rem 1.4rem;
        font-size: 1.4rem;
        line-height: 1.43
    }
}

.c-h3::before {
    display: inline-block;
    margin-right: 1.3rem;
    width: .3rem;
    height: 3rem;
    background-color: #168352;
    border-radius: .5rem;
    content: ""
}

@media only screen and (max-width: 767px) {
    .c-h3::before {
        margin-right:1rem;
        width: .3rem;
        height: 2.4rem
    }
}

.c-select {
    position: relative;
    font-style: normal;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1;
    color: #251e1c;
    background-color: #f4f4f4;
    border-radius: .6rem
}

@media only screen and (max-width: 767px) {
    .c-select {
        font-size:1.2rem;
        line-height: 1.17
    }
}

.c-select__btn {
    position: relative;
    padding: 1.1rem 2.4rem 1.1rem 1.4rem;
    width: 100%;
    cursor: pointer;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap
}

@media only screen and (max-width: 767px) {
    .c-select__btn {
        padding:1.2rem 2.4rem 1.2rem 1.4rem
    }
}

.c-select__btn:focus+.c-select__options {
    opacity: 1;
    visibility: visible;
    transition: opacity .2s ease-out,visibility 0s linear
}

.c-select__btn .c-svg {
    position: absolute;
    top: 50%;
    right: 1.4rem;
    width: 1rem;
    transform: translateY(-50%)
}

.c-select__btn .c-svg__inner {
    padding-top: calc(8 / 10 * 100%)
}

.c-select__options {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    min-width: 100%;
    max-width: 150%;
    opacity: 0;
    visibility: hidden;
    background-color: #f4f4f4;
    border-radius: .6rem;
    transition: opacity .2s ease-out,visibility 0s linear .4s
}

.c-select__optionBtn {
    padding: 1.1rem 1.4rem;
    width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    transition: color .2s ease-out
}

@media only screen and (max-width: 767px) {
    .c-select__optionBtn {
        padding:1.2rem 1.4rem
    }
}

@media (hover: hover) {
    .c-select__optionBtn:hover {
        color:#168352
    }
}

.c-select__optionBtn.is-active {
    color: #168352
}

.c-formH2 {
    padding-bottom: 2.7rem;
    font-style: normal;
    font-weight: 700;
    font-size: 3.8rem;
    line-height: 1;
    letter-spacing: .04em;
    color: #251e1c;
    border-bottom: 1px solid rgba(37,30,28,.1)
}

@media only screen and (max-width: 767px) {
    .c-formH2 {
        padding-bottom:1.6rem;
        font-size: 2.2rem;
        line-height: 1.41
    }
}

.c-formRow:not(:first-of-type) {
    margin-top: 3.75vw
}

@media only screen and (max-width: 767px) {
    .c-formRow:not(:first-of-type) {
        margin-top:3rem
    }
}

.c-formRow__label {
    display: flex;
    align-items: center
}

.c-formRow__label ._label {
    font-style: normal;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.44;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .c-formRow__label ._label {
        font-size:1.4rem;
        line-height: 1.43
    }
}

.c-formRow__label ._required {
    margin-left: .8rem;
    font-style: normal;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.45;
    letter-spacing: .04em;
    color: #ff3939
}

@media only screen and (max-width: 767px) {
    .c-formRow__label ._required {
        margin-left:.7rem;
        font-size: 1.1rem;
        line-height: 1.45
    }
}

.c-formRow__note {
    margin-top: .8rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.42;
    letter-spacing: .04em;
    color: #8d8d8d
}

@media only screen and (max-width: 767px) {
    .c-formRow__note {
        margin-top:.6rem;
        font-size: 1rem;
        line-height: 1.4
    }
}

.c-formRow__body {
    margin-top: 1.5rem
}

@media only screen and (max-width: 767px) {
    .c-formRow__body {
        margin-top:1.2rem
    }
}

.c-formRow__radio:not(:first-child) {
    margin-top: 1.6rem
}

.c-formRow__radio input {
    display: none
}

.c-formRow__radio label {
    position: relative;
    display: inline-block;
    padding-left: 3rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.43;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .c-formRow__radio label {
        padding-left:2.4rem;
        font-size: 1.3rem;
        line-height: 1.46
    }
}

.c-formRow__radio label::before {
    position: absolute;
    top: 50%;
    left: -.7rem;
    display: block;
    width: 2.8rem;
    height: 2.8rem;
    border: 1px solid #c6c6c6;
    border-radius: 50%;
    transform: translateY(-50%) scale(.5);
    transition: background-color .1s ease-out,border-color .1s ease-out;
    content: ""
}

@media only screen and (max-width: 767px) {
    .c-formRow__radio label::before {
        left:-.65rem;
        width: 2.6rem;
        height: 2.6rem
    }
}

.c-formRow__radio input:checked+label::before {
    background-color: #168352;
    border-color: #168352
}

.c-formRow__input,.c-formRow__textarea {
    padding: 1.8rem 2.2rem 1.9rem;
    width: 100%;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    letter-spacing: .04em;
    color: #251e1c;
    background: #f4f4f4;
    border-radius: .6rem;
    border: 1px solid transparent
}

@media only screen and (max-width: 767px) {
    .c-formRow__input,.c-formRow__textarea {
        padding:1.4rem;
        font-size: 1.3rem;
        line-height: 1.46
    }
}

.c-formRow__input::-moz-placeholder,.c-formRow__textarea::-moz-placeholder {
    color: rgba(37,30,28,.45)
}

.c-formRow__input:-ms-input-placeholder,.c-formRow__textarea:-ms-input-placeholder {
    color: rgba(37,30,28,.45)
}

.c-formRow__input::placeholder,.c-formRow__textarea::placeholder {
    color: rgba(37,30,28,.45)
}

@media only screen and (max-width: 767px) {
    .c-formRow__input::-moz-placeholder,.c-formRow__textarea::-moz-placeholder {
        color:rgba(37,30,28,.4)
    }

    .c-formRow__input:-ms-input-placeholder,.c-formRow__textarea:-ms-input-placeholder {
        color: rgba(37,30,28,.4)
    }

    .c-formRow__input::placeholder,.c-formRow__textarea::placeholder {
        color: rgba(37,30,28,.4)
    }
}

.c-formRow__input:focus,.c-formRow__textarea:focus {
    outline-color: #168352
}

.c-formRow__textarea {
    height: 24.92188vw;
    line-height: 1.71;
    resize: vertical
}

@media only screen and (max-width: 767px) {
    .c-formRow__textarea {
        height:24rem
    }
}

.c-formRow__input {
    line-height: 1.43
}

.c-formRow__input--fileName {
    width: 16.71875vw
}

@media only screen and (max-width: 767px) {
    .c-formRow__input--fileName {
        flex:1;
        width: calc(100% - 7.905rem)
    }
}

.c-formRow__file {
    display: flex
}

.c-formRow__fileInput {
    display: none
}

.c-formRow__fileButton {
    display: inline-block;
    margin-left: .3rem;
    padding: 0 3rem;
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.43;
    letter-spacing: .04em;
    color: #fff;
    background-color: #168352;
    border-radius: .6rem
}

@media only screen and (max-width: 767px) {
    .c-formRow__fileButton {
        padding:0 2.6rem;
        min-width: 7.905rem;
        font-size: 1.3rem;
        line-height: 1.46
    }
}

.c-formRow__error {
    margin-top: .6rem;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.42;
    letter-spacing: .04em;
    color: #ff3939
}

@media only screen and (max-width: 767px) {
    .c-formRow__error {
        font-size:1rem;
        line-height: 1.4
    }
}

.c-formRow__error:empty {
    display: none
}

.c-formRow__confirmationValue {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.71;
    letter-spacing: .04em;
    color: #251e1c;
    white-space: pre-wrap
}

@media only screen and (max-width: 767px) {
    .c-formRow__confirmationValue {
        font-size:1.3rem;
        line-height: 1.77
    }
}

.c-formRow.is-error .c-formRow__input,.c-formRow.is-error .c-formRow__textarea {
    background-color: #fff9f9;
    border-color: #ffe1e1
}

.c-formRow:not(.is-confirming) .c-formRow__confirmationValue {
    display: none
}

.c-formRow.is-confirming .c-formRow__body {
    margin-top: 1.2rem
}

@media only screen and (max-width: 767px) {
    .c-formRow.is-confirming .c-formRow__body {
        margin-top:.9rem
    }
}

.c-formRow.is-confirming .c-formRow__error,.c-formRow.is-confirming .c-formRow__file,.c-formRow.is-confirming .c-formRow__input,.c-formRow.is-confirming .c-formRow__note,.c-formRow.is-confirming .c-formRow__radio,.c-formRow.is-confirming .c-formRow__textarea {
    display: none
}

.c-formPrivacy {
    padding: 3.125vw 3.75vw 2.96875vw;
    border: 1px solid #c6c6c6;
    border-radius: .46875vw
}

@media only screen and (max-width: 767px) {
    .c-formPrivacy {
        padding:2.9rem 2.8rem;
        border-radius: .5rem
    }
}

.c-formPrivacy__title {
    font-style: normal;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.44;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .c-formPrivacy__title {
        font-size:1.4rem;
        line-height: 1.43
    }
}

.c-formPrivacy__description {
    margin-top: 1.2rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 2;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .c-formPrivacy__description {
        margin-top:.8rem;
        font-size: 1.1rem;
        line-height: 2.09
    }
}

.c-formPrivacy__description ._link::after {
    display: inline-block;
    margin: 0 .4rem 0 .2rem;
    width: 1.2rem;
    height: 1.2rem;
    background-image: url(/assets/img/contact/icon-target-blank.png);
    background-size: 100% 100%;
    content: ""
}

@media only screen and (max-width: 767px) {
    .c-formPrivacy__description ._link::after {
        margin:0 .3rem 0 .4rem;
        width: 1rem;
        height: 1rem
    }
}

.c-formPrivacy__agreement {
    margin-top: 2rem
}

@media only screen and (max-width: 767px) {
    .c-formPrivacy__agreement {
        margin-top:1.6rem
    }
}

.c-formPrivacy__agreement input {
    display: none
}

.c-formPrivacy__agreement label {
    display: inline-flex;
    align-items: center;
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.79;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .c-formPrivacy__agreement label {
        font-size:1.3rem;
        line-height: 1.46
    }
}

.c-formPrivacy__agreement label ._icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 1.6rem;
    width: 2rem;
    height: 2rem;
    border: .2rem solid #c6c6c6;
    border-radius: .6rem
}

@media only screen and (max-width: 767px) {
    .c-formPrivacy__agreement label ._icon {
        margin-right:1.2rem;
        width: 1.7rem;
        height: 1.7rem
    }
}

.c-formPrivacy__agreement label ._icon .c-svg {
    width: 1.2rem;
    opacity: 0;
    transition: opacity .1s ease-out
}

@media only screen and (max-width: 767px) {
    .c-formPrivacy__agreement label ._icon .c-svg {
        width:1rem
    }
}

.c-formPrivacy__agreement label ._icon .c-svg__inner {
    padding-top: calc(9 / 12 * 100%)
}

.c-formPrivacy__agreement input:checked+label ._icon .c-svg {
    opacity: 1
}

.l__header {
    position: fixed;
    z-index: 500;
    top: 0;
    left: 0;
    width: 100%
}

@media only screen and (max-width: 767px) {
    .l__header {
        position:absolute
    }
}

.l__scrollSentinel {
    position: absolute;
    top: 7.8125vw;
    left: 100px;
    width: 10px;
    height: 10px;
    opacity: 0;
    pointer-events: none
}

.l__container {
    position: relative;
    padding-top: 7.8125vw
}

@media only screen and (max-width: 767px) {
    .l__container {
        padding-top:8.3rem
    }
}

.l__container.is-transition-fade {
    transition: opacity .5s ease-out
}

html.is-animating .l__container.is-transition-fade {
    opacity: 0
}

.l__footer {
    margin-top: -2.65625vw
}

@media only screen and (max-width: 767px) {
    .l__footer {
        margin-top:-4.4rem
    }
}

.l__spMenu {
    position: fixed;
    z-index: 800;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none
}

@media only screen and (min-width: 768px) {
    .l__spMenu {
        display:none
    }
}

.l__windowSize {
    position: fixed;
    z-index: 1500;
    top: 0;
    right: 0;
    left: 0;
    height: 100vh;
    visibility: hidden;
    pointer-events: none
}

.c-hd {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 2.8125vw;
    height: 7.8125vw;
    background-color: #fff;
    transition: box-shadow .35s ease-out,opacity .35s ease-out,visibility 0s linear,transform .35s ease-out;
    transform: translateY(0)
}

@media only screen and (max-width: 767px) {
    .c-hd {
        padding-left:2rem;
        height: 8.3rem
    }
}

.c-hd.is-scrolling {
    opacity: 0;
    visibility: hidden;
    transition: box-shadow .3s ease-out,opacity .3s ease-out,visibility 0s linear .3s,transform 0s linear .3s;
    transform: translateY(-100%)
}

@media only screen and (max-width: 767px) {
    .c-hd.is-scrolling {
        opacity:1;
        visibility: visible;
        transform: none
    }
}

.c-hd__logo {
    margin-top: .625vw;
    transform-origin: center top;
    transition: transform .4s ease-out
}

.c-hd__logo .c-svg {
    width: 15.4rem
}

@media only screen and (max-width: 767px) {
    .c-hd__logo .c-svg {
        width:11.4rem
    }
}

.c-hd__logo .c-svg__inner {
    padding-top: calc(56 / 152 * 100%)
}

body[data-page-type=top] .c-hd.is-scrolled {
    box-shadow: 0 0 3.90625vw rgba(0,0,0,.03)
}

@media only screen and (max-width: 767px) {
    body[data-page-type=top] .c-hd.is-scrolled {
        box-shadow:none
    }
}

body[data-page-type=top] .c-hd.is-scrolled .c-hd__logo {
    transform: scale(.85)
}

@media only screen and (max-width: 767px) {
    body[data-page-type=top] .c-hd.is-scrolled .c-hd__logo {
        transform:scale(1)
    }
}

body:not([data-page-type=top]) .c-hd {
    box-shadow: 0 0 3.90625vw rgba(0,0,0,.03)
}

@media only screen and (max-width: 767px) {
    body:not([data-page-type=top]) .c-hd {
        height:8.3rem;
        border-bottom: .4rem solid #f4f4f4;
        box-shadow: none
    }
}

@media only screen and (max-width: 767px) {
    body:not([data-page-type=top]) .c-hd::before {
        position:absolute;
        top: 0;
        left: 13.9rem;
        display: block;
        width: 1px;
        height: 100%;
        background-color: #f4f4f4;
        content: ""
    }
}

body:not([data-page-type=top]) .c-hd__logo {
    transform: scale(.85)
}

@media only screen and (max-width: 767px) {
    body:not([data-page-type=top]) .c-hd__logo {
        margin-top:-.9rem;
        transform: scale(.8) translate(-1.4rem,.6rem)
    }
}

.c-hd__nav {
    display: flex;
    align-items: center;
    height: 100%
}

@media only screen and (max-width: 767px) {
    .c-hd__nav {
        display:none
    }
}

.c-hd__linkList {
    display: flex;
    margin-top: .3125vw
}

.c-hd__linkItem:not(:first-child) {
    margin-left: 1rem
}

.c-hd__linkItem ._link {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 0 1rem;
    height: 2.34375vw;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: .04em;
    color: #251e1c;
    transition: color .1s ease-out
}

@media (hover: hover) {
    .c-hd__linkItem ._link:hover {
        color:#168352
    }
}

.c-hd__linkItem ._link ._indicator {
    position: absolute;
    top: -.5rem;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    pointer-events: none;
    transition: opacity .6s ease-out
}

.c-hd__linkItem ._link ._indicator .c-svg {
    width: 3.2rem
}

.c-hd__linkItem ._link ._indicator .c-svg__inner {
    padding-top: calc(9 / 32 * 100%)
}

@media (hover: hover) {
    .c-hd__linkItem.is-hover-ready:hover .c-hd__linkMenu {
        opacity:1;
        visibility: visible;
        transition: opacity .6s ease-out,visibility 0s ease-out
    }
}

body[data-page-type=about] .c-hd__linkItem ._link ._indicator--about {
    opacity: 1
}

body[data-page-type=business] .c-hd__linkItem ._link ._indicator--business {
    opacity: 1
}

body[data-page-type=company] .c-hd__linkItem ._link ._indicator--company {
    opacity: 1
}

body[data-page-type=news] .c-hd__linkItem ._link ._indicator--news {
    opacity: 1
}

body[data-page-type=sustainability] .c-hd__linkItem ._link ._indicator--sustainability {
    opacity: 1
}

body[data-page-type=recruit] .c-hd__linkItem ._link ._indicator--recruit {
    opacity: 1
}

body[data-page-type=interview] .c-hd__linkItem ._link ._indicator--recruit,body[data-page-type=job] .c-hd__linkItem ._link ._indicator--recruit {
    opacity: 1
}

.c-hd__linkMenu {
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease-out,visibility 0s ease-out .2s
}

.c-hd__linkMenu ._arrow {
    position: relative
}

.c-hd__linkMenu ._arrow ._arrowInner {
    position: absolute;
    top: 0;
    left: 50%;
    padding: 1.5625vw 15.625vw 0;
    transform: translateX(-50%)
}

.c-hd__linkMenu ._arrow .c-svg {
    width: 9.53125vw
}

.c-hd__linkMenu ._arrow .c-svg__inner {
    padding-top: calc(23 / 122 * 100%)
}

.c-hd__linkMenu ._menuWrapper {
    position: absolute;
    overflow: hidden;
    top: 8.55469vw;
    left: 50%;
    padding: 3.125vw 0 3.125vw 3.125vw;
    width: 93.75vw;
    background-color: #168352;
    transform: translateX(-50%);
    border-radius: 3.125vw
}

.c-hd__langSwitch {
    margin-left: 1.9rem
}

.c-hd__contactLink {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-left: 2.65625vw;
    width: 9.92188vw;
    height: 100%;
    background-color: #168352;
    transition: background-color .4s ease-out
}

.c-hd__contactLink ._icon .c-svg {
    width: 2.8rem
}

.c-hd__contactLink ._icon .c-svg__inner {
    padding-top: calc(19 / 28 * 100%)
}

.c-hd__contactLink ._label {
    margin-top: 1.3rem;
    font-style: normal;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.45;
    letter-spacing: .04em;
    color: #fff
}

@media (hover: hover) {
    .c-hd__contactLink:hover {
        background-color:#473221
    }

    .c-hd__contactLink:hover ._icon {
        -webkit-animation: kv-contact-icon-hover .7s ease-out 0s 1 normal both;
        animation: kv-contact-icon-hover .7s ease-out 0s 1 normal both
    }

    @-webkit-keyframes kv-contact-icon-hover {
        0% {
            opacity: 1;
            transform: translate(0,0)
        }

        15% {
            opacity: .5;
            transform: translate(2rem,-.5rem) rotate(-6deg)
        }

        30% {
            opacity: 0;
            transform: translate(4rem,-1.3rem) rotate(-13.5deg)
        }

        30.1% {
            opacity: 0;
            transform: translate(-4rem,.8rem) rotate(13deg)
        }

        70% {
            opacity: 0;
            transform: translate(-4rem,.8rem) rotate(10deg)
        }

        85% {
            opacity: .5;
            transform: translate(-2rem,.48rem) rotate(6deg)
        }

        100% {
            opacity: 1;
            transform: translate(0,0)
        }
    }

    @keyframes kv-contact-icon-hover {
        0% {
            opacity: 1;
            transform: translate(0,0)
        }

        15% {
            opacity: .5;
            transform: translate(2rem,-.5rem) rotate(-6deg)
        }

        30% {
            opacity: 0;
            transform: translate(4rem,-1.3rem) rotate(-13.5deg)
        }

        30.1% {
            opacity: 0;
            transform: translate(-4rem,.8rem) rotate(13deg)
        }

        70% {
            opacity: 0;
            transform: translate(-4rem,.8rem) rotate(10deg)
        }

        85% {
            opacity: .5;
            transform: translate(-2rem,.48rem) rotate(6deg)
        }

        100% {
            opacity: 1;
            transform: translate(0,0)
        }
    }
}

.hdMenu {
    display: flex
}

.hdMenu__header {
    padding: .78125vw 1.5625vw;
    width: 15.7%
}

.hdMenu__header ._mainLink {
    font-style: normal;
    font-weight: 700;
    font-size: 2.6rem;
    line-height: 1.54;
    color: #fff
}

@media (hover: hover) {
    .hdMenu__header ._mainLink:hover ._mainLinkChild {
        background-size:0 2px;
        background-position-x: right
    }
}

.hdMenu__header ._mainLinkChild {
    background: linear-gradient(0deg,#fff,#fff) no-repeat right bottom/0 2px;
    background-size: 100% 2px;
    transition: background-size .3s ease-out
}

.hdMenu__body {
    flex: 1;
    border-left: 1px solid rgba(255,255,255,.1)
}

.normalMenu {
    padding: 1.09375vw 0 1.09375vw 3.125vw
}

.normalMenu__list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.64062vw 1.40625vw
}

.normalMenu__link {
    width: 12.73438vw
}

@media (hover: hover) {
    .normalMenu__link:hover ._visual .c-picture {
        transform:scale(1.1)
    }
}

.normalMenu__link ._visual {
    overflow: hidden;
    display: inline-block;
    border-radius: .46875vw;
    isolation: isolate
}

.normalMenu__link ._visual .c-picture {
    width: 11.95312vw;
    transition: transform .4s ease-out
}

.normalMenu__link ._visual .c-picture picture {
    padding-top: calc(120 / 153 * 100%)
}

.normalMenu__link ._title {
    margin-top: .70312vw;
    font-style: normal;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.43;
    color: #fff
}

.newsMenu {
    display: flex
}

.newsMenu__column {
    padding: .70312vw 0 1.48438vw 3.125vw
}

.newsMenu__column:not(:last-child) {
    border-right: 1px solid rgba(255,255,255,.1)
}

.newsMenu__column:nth-child(1) {
    width: 16.2%
}

.newsMenu__column:nth-child(2) {
    width: 20.3%
}

.newsMenu__column:last-child {
    flex: 1;
    padding-right: 3.90625vw
}

.newsMenu__label {
    font-style: normal;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 2.38;
    color: #fff;
    white-space: nowrap
}

.newsMenu__linkItem {
    display: flex;
    align-items: center;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 2.58;
    color: #fff
}

.newsMenu__linkItem::before {
    display: inline-block;
    content: "";
    width: .4rem;
    height: 1px;
    background: #fff;
    transition: width .2s ease-out
}

@media (hover: hover) {
    .newsMenu__linkItem:hover::before {
        width:1rem
    }
}

.newsMenu__link {
    margin-left: 1rem
}

.newsMenu__newsList {
    margin-top: .78125vw
}

.newsMenu__newsItem:not(:first-child) {
    margin-top: .8rem
}

.newsMenu__newsLink {
    width: 100%
}

@media (hover: hover) {
    .newsMenu__newsLink:hover ._titleChild {
        background-size:0 1px;
        background-position-x: right
    }
}

.newsMenu__news {
    display: flex;
    align-items: center
}

.newsMenu__news ._visual {
    overflow: hidden;
    border-radius: .6rem
}

.newsMenu__news ._visual .c-picture {
    width: 15.2rem
}

.newsMenu__news ._visual .c-picture picture {
    padding-top: calc(89 / 152 * 100%)
}

.newsMenu__news ._texts {
    flex: 1;
    margin-top: 1.1rem;
    margin-left: 2rem
}

.newsMenu__news ._meta {
    display: flex;
    align-items: center
}

.newsMenu__news ._date {
    font-family: Poppins;
    font-style: normal;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.3;
    color: #fff
}

.newsMenu__news ._category {
    margin-left: 1.1rem;
    padding: 0 1.1rem;
    border-left: 1px solid #c6c6c6;
    font-style: normal;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.3;
    color: #fff
}

.newsMenu__news ._title {
    margin-top: 1rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.83;
    letter-spacing: .04em;
    color: #f4f4f4;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical
}

.newsMenu__news ._titleChild {
    background: linear-gradient(0deg,#fff,#fff) no-repeat right bottom/0 1px;
    background-size: 100% 1px;
    transition: background-size .3s ease-out
}

.c-footer {
    position: relative;
    overflow-y: hidden;
    background: linear-gradient(180deg,rgba(244,244,244,0) 0,rgba(244,244,244,0) 49%,#f4f4f4 50%)
}

.c-footer__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

.c-footer__bg .c-svg {
    width: 100%
}

.c-footer__bg .c-svg__inner {
    padding-top: calc(763 / 1280 * 100%)
}

@media only screen and (max-width: 767px) {
    .c-footer__bg .c-svg__inner {
        padding-top:calc(814 / 375 * 100%)
    }
}

.c-footer__content {
    position: relative;
    padding: 6.40625vw 3.125vw 4.60938vw
}

@media only screen and (max-width: 767px) {
    .c-footer__content {
        padding:3rem 2rem
    }
}

.c-footer__header {
    position: relative;
    border-bottom: 1px solid rgba(0,0,0,.1);
    transition: border-color .4s ease-out .4s
}

@media only screen and (max-width: 767px) {
    .c-footer__header {
        display:flex;
        justify-content: center;
        padding: 8.2rem 0 4.6rem
    }
}

@media (hover: hover) {
    .c-footer__header:hover {
        border-color:transparent;
        transition-delay: 0s
    }
}

.c-footer__contactLink {
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: block;
    padding: 5.78125vw;
    width: 100%;
    text-align: center;
    border-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .c-footer__contactLink {
        overflow:visible;
        display: inline-block;
        padding: 0;
        width: auto
    }
}

.c-footer__contactLink ._label {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 5.7rem;
    line-height: 1;
    letter-spacing: -.05em;
    color: #168352
}

@media only screen and (max-width: 767px) {
    .c-footer__contactLink ._label {
        position:absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%,calc(-100% - 1.3rem));
        font-size: 3.6rem;
        line-height: .83;
        white-space: nowrap;
        pointer-events: none
    }
}

.c-footer__contactLink ._circle {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 100vw;
    background-color: #168352;
    border-radius: 100%;
    transform: translate(-50%,-50%) scale(0);
    transition: transform .4s ease-out .2s
}

@media only screen and (max-width: 767px) {
    .c-footer__contactLink ._circle {
        display:none
    }
}

.c-footer__contactLink ._message {
    position: absolute;
    top: 50%;
    left: 50%;
    font-style: normal;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.35;
    letter-spacing: .16em;
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
    color: #fff;
    transform: translate(-50%,-50%);
    opacity: 0;
    transition: opacity .4s ease-out 0s;
    white-space: nowrap
}

@media only screen and (max-width: 767px) {
    .c-footer__contactLink ._message {
        position:static;
        transform: none;
        opacity: 1;
        font-size: 1.1rem;
        line-height: 1.73;
        letter-spacing: .1em;
        text-align: center;
        color: #251e1c
    }
}

@media (hover: hover) {
    .c-footer__contactLink:hover ._circle {
        transform:translate(-50%,-50%) scale(1);
        transition-delay: 0s
    }

    .c-footer__contactLink:hover ._message {
        opacity: 1;
        transition-delay: .2s
    }
}

.c-footer__toTop {
    position: absolute;
    z-index: 1;
    top: -4.45312vw;
    right: 6.875vw;
    transform: translateX(50%);
    transition: transform .25s ease-out
}

@media only screen and (max-width: 767px) {
    .c-footer__toTop {
        top:-1.9rem;
        right: 2rem
    }
}

@media (hover: hover) {
    .c-footer__toTop:hover {
        transform:translate(50%,-1rem)
    }
}

.c-footer__toTop .c-svg {
    width: 7.4rem
}

@media only screen and (max-width: 767px) {
    .c-footer__toTop .c-svg {
        width:5.2rem
    }
}

.c-footer__toTop .c-svg__inner {
    padding-top: 100%
}

.c-footer__body {
    display: flex
}

@media only screen and (max-width: 767px) {
    .c-footer__body {
        flex-direction:column
    }
}

.c-footer__about {
    padding: 6.25vw 6.40625vw 6.25vw 7.96875vw;
    min-width: 31.64062vw
}

@media only screen and (max-width: 767px) {
    .c-footer__about {
        padding:4.9rem 0;
        min-width: auto
    }
}

.c-footer__about ._divider {
    margin-top: 1.48438vw;
    border-top: 1px solid rgba(0,0,0,.1)
}

@media only screen and (max-width: 767px) {
    .c-footer__about ._divider {
        margin-top:1.9rem
    }
}

.c-footer__logoLink .c-svg {
    width: 15.2rem
}

@media only screen and (max-width: 767px) {
    .c-footer__logoLink .c-svg {
        width:13.6rem
    }
}

.c-footer__logoLink .c-svg__inner {
    padding-top: calc(57 / 152 * 100%)
}

.c-footer__location {
    margin-top: 2.96875vw
}

@media only screen and (max-width: 767px) {
    .c-footer__location {
        margin-top:3.1rem
    }
}

.c-footer__location ._title {
    font-style: normal;
    font-weight: 700;
    font-size: 1.2rem;
    line-height: 2;
    letter-spacing: .04em;
    color: #251e1c
}

.c-footer__location ._address {
    margin-top: .23438vw;
    font-family: Roboto,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .c-footer__location ._address {
        margin-top:.1rem;
        line-height: 1.8
    }
}

.c-footer__location ._mapLink {
    position: relative;
    margin-left: 2.1rem;
    font-family: Roboto,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.64;
    letter-spacing: .04em;
    color: #70635f
}

.c-footer__location ._mapLink::after {
    content: "";
    display: block;
    position: relative;
    bottom: .5rem;
    width: 100%;
    height: 1px;
    background: linear-gradient(0deg,#70635f,#70635f) no-repeat right bottom/0 1px;
    background-size: 100% 1px;
    transition: background-size .3s ease-out
}

@media (hover: hover) {
    .c-footer__location ._mapLink:hover::after {
        background-size:0 1px;
        background-position-x: right
    }
}

.c-footer__contactList {
    margin-top: 1.5625vw
}

@media only screen and (max-width: 767px) {
    .c-footer__contactList {
        margin-top:2rem
    }
}

.c-footer__contactItem {
    display: flex;
    font-family: Roboto,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.67;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .c-footer__contactItem {
        line-height:2
    }
}

.c-footer__contactItem ._label {
    font-weight: 400
}

.c-footer__contactItem ._value {
    margin-left: .7rem
}

@media only screen and (max-width: 767px) {
    .c-footer__contactItem ._value a {
        text-decoration:underline
    }
}

.c-footer__nav {
    flex: 1;
    padding: 7.73438vw 0 .78125vw 8.98438vw;
    height: calc(28.8rem + 7.73438vw + .78125vw);
    border-left: 1px solid rgba(0,0,0,.1)
}

@media only screen and (max-width: 767px) {
    .c-footer__nav {
        display:flex;
        justify-content: space-between;
        padding: .2rem 0 1.2rem;
        height: auto;
        border-left: none
    }
}

.c-footer__categoryList {
    display: inline-flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 1.7rem 3.4375vw;
    height: 100%
}

@media only screen and (max-width: 767px) {
    .c-footer__categoryList {
        display:flex;
        gap: normal normal;
        width: 16.3rem
    }
}

.c-footer__categoryItem {
    width: 12.8125vw
}

@media only screen and (max-width: 767px) {
    .c-footer__categoryItem {
        width:auto
    }
}

@media only screen and (max-width: 767px) {
    .c-footer__categoryItem:not(:first-child) {
        margin-top:1.1rem
    }
}

.c-footer__category {
    position: relative
}

.c-footer__categoryLink {
    position: relative;
    display: block;
    padding: .6rem 0;
    width: 100%;
    font-style: normal;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 2.91;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .c-footer__categoryLink {
        padding:1.4rem 0;
        font-size: 1.2rem;
        line-height: 1.42
    }
}

.c-footer__categoryLink::after,.c-footer__categoryLink::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: .2rem;
    background-color: #168352;
    transform-origin: left center;
    transform: scaleX(.12);
    transition: transform .3s ease-out;
    content: ""
}

@media only screen and (max-width: 767px) {
    .c-footer__categoryLink::after,.c-footer__categoryLink::before {
        transform:scaleX(.13)
    }
}

.c-footer__categoryLink::after {
    right: 0;
    left: auto;
    width: 86.7%;
    background-color: rgba(37,30,28,.1);
    transform: none
}

@media only screen and (max-width: 767px) {
    .c-footer__categoryLink::after {
        width:85.2%
    }
}

@media (hover: hover) {
    .c-footer__categoryLink:hover::before {
        transform:scaleX(1)
    }
}

.c-footer__smallCategoryToggleBtn {
    position: absolute;
    top: .6rem;
    right: -.4rem;
    width: 6rem;
    height: 4rem
}

@media only screen and (max-width: 767px) {
    .c-footer__smallCategoryToggleBtn {
        top:.1rem;
        right: -.8rem
    }
}

.c-footer__smallCategoryToggleBtn::after,.c-footer__smallCategoryToggleBtn::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    width: .8rem;
    height: .2rem;
    background-color: #473221;
    border-radius: 1rem;
    content: "";
    transform: translate(calc(-50% + 1.8rem),-50%)
}

.c-footer__smallCategoryToggleBtn::after {
    transform: translate(calc(-50% + 1.8rem),-50%) rotate(90deg);
    transition: transform .2s ease-out
}

.c-footer__smallCategoryToggleBtn.is-open::after {
    transform: translate(calc(-50% + 1.8rem),-50%) rotate(0)
}

@media only screen and (max-width: 767px) {
    .c-footer__smallCategoryToggleBtn:not(.is-open)+.c-footer__smallCategoryList {
        max-height:0
    }
}

@media only screen and (max-width: 767px) {
    .c-footer__smallCategoryList {
        overflow:hidden;
        max-height: 25rem;
        transition: max-height .4s ease-out
    }
}

.c-footer__smallCategoryItem ._link {
    width: 100%;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 2.5;
    letter-spacing: .04em;
    color: #251e1c;
    text-decoration: underline;
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent;
    transition: -webkit-text-decoration-color .2s ease-out;
    transition: text-decoration-color .2s ease-out;
    transition: text-decoration-color .2s ease-out,-webkit-text-decoration-color .2s ease-out
}

@media only screen and (max-width: 767px) {
    .c-footer__smallCategoryItem ._link {
        font-size:1rem;
        line-height: 2.5
    }
}

@media (hover: hover) {
    .c-footer__smallCategoryItem ._link:hover {
        -webkit-text-decoration-color:currentColor;
        text-decoration-color: currentColor
    }
}

.c-footer__subContent {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4.76562vw 11.09375vw 4.45312vw;
    background-color: #251e1c
}

@media only screen and (max-width: 767px) {
    .c-footer__subContent {
        flex-direction:column;
        justify-content: flex-start;
        padding: 3rem 3rem 9rem
    }
}

.c-footer__termLinkList {
    display: flex
}

.c-footer__termLinkItem {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: .04em;
    color: #fff
}

@media only screen and (max-width: 767px) {
    .c-footer__termLinkItem {
        font-size:1rem;
        line-height: 1.4
    }
}

.c-footer__termLinkItem:not(:first-child)::before {
    display: inline-block;
    margin: 0 .4rem 0 .6rem;
    content: "/"
}

.c-footer__termLinkItem ._link {
    background: linear-gradient(90deg,#fff,#fff) no-repeat;
    background-position: left bottom;
    background-size: 0 1px;
    transition: background-size .3s ease-out
}

@media (hover: hover) {
    .c-footer__termLinkItem ._link:hover {
        background-size:100% 1px
    }
}

.c-footer__copyright {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.5;
    color: rgba(198,198,198,.7)
}

@media only screen and (max-width: 767px) {
    .c-footer__copyright {
        margin-top:1.2rem;
        font-size: 1rem
    }
}

.spMenu {
    position: relative;
    width: 100%;
    height: 100%
}

.spMenu.is-modal-open .spMenu__bar {
    transform: translateY(100%)
}

.spMenu.is-modal-open .spMenu__modal {
    opacity: 1;
    visibility: visible;
    transition: opacity .4s ease-out,visibility .4s ease-out
}

.spMenu__bar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    transition: transform .4s ease-out;
    pointer-events: auto
}

.spMenu__modal {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity .4s ease-out,visibility 0s ease-out .4s;
    pointer-events: auto
}

.menuBar {
    display: flex;
    height: 6rem;
    background-color: #fff
}

.menuBar__linkList {
    display: flex;
    width: 80%;
    height: 100%
}

.menuBar__linkItem {
    position: relative;
    flex: 1;
    height: 100%
}

.menuBar__linkItem:not(:first-child)::before {
    position: absolute;
    top: 1.4rem;
    bottom: 1.4rem;
    left: 0;
    display: inline-block;
    width: 1px;
    background-color: rgba(37,30,28,.08);
    content: ""
}

.menuBar__link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%
}

.menuBar__link ._icon--top .c-svg {
    width: 1.5rem
}

.menuBar__link ._icon--top .c-svg__inner {
    padding-top: calc(14 / 15 * 100%)
}

.menuBar__link ._icon--business .c-svg {
    width: 1.3rem
}

.menuBar__link ._icon--business .c-svg__inner {
    padding-top: calc(13 / 13 * 100%)
}

.menuBar__link ._icon--recruit .c-svg {
    width: 1.2rem
}

.menuBar__link ._icon--recruit .c-svg__inner {
    padding-top: calc(13 / 12 * 100%)
}

.menuBar__link ._icon--contact .c-svg {
    width: 1.3rem
}

.menuBar__link ._icon--contact .c-svg__inner {
    padding-top: calc(13 / 13 * 100%)
}

.menuBar__link ._label {
    margin-top: .2rem;
    font-style: normal;
    font-weight: 700;
    font-size: .9rem;
    line-height: 1.4;
    color: #251e1c
}

.menuBar__menuBtn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: 1;
    background-color: #168352
}

.menuBar__menuBtn ._icon .c-svg {
    width: 2.2rem
}

.menuBar__menuBtn ._icon .c-svg__inner {
    padding-top: calc(14 / 22 * 100%)
}

.menuBar__menuBtn ._label {
    margin-top: .2rem;
    font-style: normal;
    font-weight: 700;
    font-size: .9rem;
    line-height: 1.4;
    color: #fff
}

.menuModal {
    position: relative;
    padding: 1rem 1rem 3.3rem;
    height: 100%;
    background-color: rgba(22,131,82,.9)
}

.menuModal__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #fff;
    border-radius: 3rem;
    -webkit-mask-image: url(/assets/img/menu/mask.png);
    -webkit-mask-size: 100% auto;
    -webkit-mask-position: bottom center
}

.menuModal__header {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 3.7rem 3rem 3.2rem
}

.menuModal__header::after {
    position: absolute;
    right: 3rem;
    bottom: 0;
    left: 3rem;
    display: block;
    height: 1px;
    background-color: rgba(37,30,28,.1);
    content: ""
}

.menuModal__logoLink .c-svg {
    width: 8.6rem
}

.menuModal__logoLink .c-svg__inner {
    padding-top: calc(32 / 86 * 100%)
}

.menuModal__body {
    overflow-y: auto;
    flex: 1
}

.menuModal__content {
    padding: 3.2rem 3rem 8rem
}

.menuModal__content ._divider {
    margin-top: 3.6rem;
    color: rgba(37,30,28,.1)
}

.menuModal__menuItem:not(:first-child) {
    margin-top: .6rem
}

.menuModal__menu ._link,.menuModal__menu ._toggleBtn {
    padding: 1rem 0;
    width: 100%;
    font-style: normal;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.46;
    letter-spacing: .04em;
    color: #251e1c
}

.menuModal__menu ._toggleBtn {
    position: relative
}

.menuModal__menu ._toggleBtn::after,.menuModal__menu ._toggleBtn::before {
    position: absolute;
    top: 1.9rem;
    right: 0;
    display: block;
    width: 1.2rem;
    height: .2rem;
    background-color: #473221;
    border-radius: 10px;
    content: ""
}

.menuModal__menu ._toggleBtn::after {
    transform: rotate(90deg);
    transition: transform .2s ease-out
}

.menuModal__menu ._toggleBtn.is-child-links-open::after {
    transform: rotate(0)
}

.menuModal__menu ._toggleBtn:not(.is-child-links-open)+.menuModal__childLinkList {
    max-height: 0
}

.menuModal__childLinkList {
    overflow: hidden;
    padding-left: 1.9rem;
    max-height: 40rem;
    transition: max-height .4s ease-out
}

.menuModal__childLinkItem:first-child {
    margin-top: 1rem
}

.menuModal__childLinkItem:last-child {
    margin-bottom: 2.3rem
}

.menuModal__childLink {
    width: 100%;
    font-style: normal;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2.96;
    letter-spacing: .04em;
    color: #251e1c
}

.menuModal__copyright {
    margin-top: 3.2rem;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.5;
    color: #251e1c
}

.menuModal__close {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 5.5rem;
    height: 5.5rem;
    background-color: #fff;
    border-radius: 50%;
    transform: translateX(-50%)
}

.menuModal__close ._icon {
    position: relative;
    width: 2rem;
    height: 2rem
}

.menuModal__close ._icon::after,.menuModal__close ._icon::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 1.9rem;
    height: .2rem;
    background-color: #168352;
    border-radius: 10px;
    transform: translate(-50%,-50%) rotate(45deg);
    content: ""
}

.menuModal__close ._icon::after {
    transform: translate(-50%,-50%) rotate(-45deg)
}

.menuModal__close ._label {
    font-style: normal;
    font-weight: 700;
    font-size: .9rem;
    line-height: 1.4;
    text-align: center;
    color: #168352
}

@media only screen and (max-width: 767px) {
    [data-page-type=top] .l__container {
        padding-top:10.8rem
    }
}

.tp {
    padding-top: 3.35938vw
}

@media only screen and (max-width: 767px) {
    .tp {
        padding-top:0
    }
}

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

.tp__about {
    margin-top: 6.79687vw
}

@media only screen and (max-width: 767px) {
    .tp__about {
        margin-top:3.1rem
    }
}

@media only screen and (max-width: 767px) {
    .tp__business {
        margin-top:6.4rem
    }
}

@media only screen and (max-width: 767px) {
    .tp__sdgs {
        margin-top:8.8rem
    }
}

@media only screen and (max-width: 767px) {
    .tp__news {
        margin-top:7.8rem
    }
}

.tp__opening {
    position: fixed;
    z-index: 1400;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.tp-bg {
    position: relative;
    height: 100%
}

.tp-bg__about {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity 2s ease-out,visibility 0s ease-out
}

.tp-bg__about.is-hidden {
    opacity: 0;
    visibility: hidden;
    transition: opacity 2s ease-out,visibility 0s ease-out 2s
}

.tp-bg__about ._canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

@media only screen and (max-width: 767px) {
    .tp-bg__about ._canvas {
        transform:scale(1.6,1.4)
    }
}

.tp-kv {
    position: relative;
    overflow: hidden;
    padding: 0 3.125vw
}

.tp-kv__bg {
    position: absolute;
    overflow: hidden;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: opacity .8s ease-out .4s,transform .8s ease-out .4s
}

.tp-kv__bg ._text {
    display: inline-block;
    margin-top: 2.34375vw;
    margin-left: 15.39062vw;
    padding-right: 4rem;
    -webkit-mask-image: linear-gradient(90deg,#fff 0,#fff 50%,rgba(255,255,255,0) 85%,rgba(255,255,255,0) 100%);
    -webkit-mask-size: 200% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 0 0;
    transition: -webkit-mask-position 2.6s ease-out .4s;
    white-space: nowrap
}

@media only screen and (max-width: 767px) {
    .tp-kv__bg ._text {
        margin-top:8.1rem;
        margin-left: 5.2rem
    }
}

@media only screen and (max-width: 767px) {
    .tp-kv__bg ._text:lang(en-US) {
        margin-top:9.4rem
    }
}

.tp-kv__header {
    position: relative;
    padding: 1.71875vw 4.76562vw
}

@media only screen and (max-width: 767px) {
    .tp-kv__header {
        padding:1rem .8rem
    }
}

.tp-kv__title {
    font-style: normal;
    font-weight: 700;
    font-size: 4.5rem;
    line-height: 1.4;
    letter-spacing: .1em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .tp-kv__title {
        font-size:2.9rem;
        line-height: 1.5
    }
}

.tp-kv__title:lang(en-US) {
    letter-spacing: .02em
}

.tp-kv__title ._text {
    display: inline-block;
    transition: opacity .4s ease-out .3s,transform .4s ease-out .3s
}

.tp-kv__message {
    display: inline-block;
    margin-top: 2.1875vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.7rem;
    line-height: 1.88;
    letter-spacing: .1em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .tp-kv__message {
        margin-top:1.5rem;
        font-size: 1.4rem;
        line-height: 2.07
    }
}

body[data-page-count="1"] .tp-kv__messageLine {
    display: inline-block;
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
    transition: transform .4s ease-out .4s,-webkit-clip-path .4s ease-out .4s;
    transition: transform .4s ease-out .4s,clip-path .4s ease-out .4s;
    transition: transform .4s ease-out .4s,clip-path .4s ease-out .4s,-webkit-clip-path .4s ease-out .4s
}

.tp-kv__scroll {
    position: absolute;
    right: 4.76562vw;
    bottom: .54688vw;
    padding: 1rem;
    background-color: #fff;
    border-radius: 50%;
    transition: opacity .8s ease-out 1s
}

@media only screen and (max-width: 767px) {
    .tp-kv__scroll {
        right:-.2rem;
        bottom: -5.5rem
    }
}

@media only screen and (max-width: 767px) {
    .tp-kv__scroll:lang(en-US) {
        bottom:-6.8rem
    }
}

.tp-kv__scroll ._scroll .c-svg {
    width: 11rem
}

@media only screen and (max-width: 767px) {
    .tp-kv__scroll ._scroll .c-svg {
        width:6.9rem
    }
}

.tp-kv__scroll ._scroll .c-svg__inner {
    padding-top: calc(111 / 110 * 100%)
}

.tp-kv__scroll ._arrow {
    position: absolute;
    overflow: hidden;
    top: 50%;
    left: 50%;
    padding: 1.8rem;
    border-radius: 50%;
    transform: translate(-50%,-50%)
}

@media only screen and (max-width: 767px) {
    .tp-kv__scroll ._arrow {
        padding:1rem
    }
}

.tp-kv__scroll ._arrow .c-svg {
    width: 3.8rem;
    -webkit-animation: kf-scroll-arrow 2s ease-in-out 0s infinite normal both;
    animation: kf-scroll-arrow 2s ease-in-out 0s infinite normal both
}

@media only screen and (max-width: 767px) {
    .tp-kv__scroll ._arrow .c-svg {
        width:2.4rem
    }
}

@-webkit-keyframes kf-scroll-arrow {
    0% {
        transform: translateY(0)
    }

    20% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(170%)
    }

    50.01% {
        transform: translateY(-170%)
    }

    90% {
        transform: translateY(0)
    }

    100% {
        transform: translateY(0)
    }
}

@keyframes kf-scroll-arrow {
    0% {
        transform: translateY(0)
    }

    20% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(170%)
    }

    50.01% {
        transform: translateY(-170%)
    }

    90% {
        transform: translateY(0)
    }

    100% {
        transform: translateY(0)
    }
}

.tp-kv__scroll ._arrow .c-svg__inner {
    padding-top: calc(39 / 38 * 100%)
}

.tp-kv__body {
    position: relative
}

@media only screen and (max-width: 767px) {
    .tp-kv__body {
        margin-top:5.1rem;
        padding: 0 .8rem
    }
}

@media only screen and (max-width: 767px) {
    .tp-kv__body:lang(en-US) {
        margin-top:6.4rem
    }
}

.tp-kv__visual {
    position: relative;
    padding-top: calc(645 / 1199 * 100%);
    height: 0;
    transition: opacity .6s ease-out,transform .6s ease-out
}

@media only screen and (max-width: 767px) {
    .tp-kv__visual {
        padding-top:calc(860 / 670 * 100%)
    }
}

.tp-kv__visual ._canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .tp-kv__visual ._canvas {
        border-radius:3rem
    }
}

.tp-kv__brandLink {
    position: fixed;
    z-index: 2;
    top: calc(100vh - 2.55469vw);
    top: calc(100dvh - 2.55469vw);
    left: 1.95312vw;
    transform: translateY(-100%);
    transition: opacity .6s ease-out,visibility 0s linear
}

@media only screen and (max-width: 767px) {
    .tp-kv__brandLink {
        display:none
    }
}

.tp-kv__brandLink.is-hidden {
    opacity: 0;
    visibility: hidden;
    transition: opacity .6s ease-out,visibility 0s linear .6s
}

.tp-kv__brandLink ._link {
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.5rem 2.1rem;
    background-color: #168352;
    border: 2px solid #168352;
    border-radius: 4rem;
    transition: opacity .8s ease-out 1s
}

.tp-kv__brandLink ._link::before {
    position: relative;
    z-index: 1;
    display: inline-block;
    margin-right: .6rem;
    width: .4rem;
    height: .4rem;
    background-color: #fff;
    border-radius: 1rem;
    content: "";
    transition: background-color .4s ease-out
}

.tp-kv__brandLink ._link ._label {
    position: relative;
    z-index: 1;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.45;
    letter-spacing: .04em;
    color: #fff;
    transition: color .2s ease-out
}

.tp-kv__brandLink ._link::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    width: 15rem;
    height: 15rem;
    background-color: #fff;
    border-radius: 50%;
    content: "";
    transform: translate(-50%,-50%) scale(0);
    transition: transform .4s ease-out
}

@media (hover: hover) {
    .tp-kv__brandLink ._link:hover::before {
        background-color:#168352
    }

    .tp-kv__brandLink ._link:hover ._label {
        color: #168352
    }

    .tp-kv__brandLink ._link:hover::after {
        transform: translate(-50%,-50%) scale(1)
    }
}

.tp-kv__news {
    position: fixed;
    top: calc(100vh - 2.55469vw);
    top: calc(100dvh - 2.55469vw);
    right: .78125vw;
    transform: translateY(-100%);
    transition: opacity .6s ease-out,transform .6s ease-out,visibility 0s linear
}

@media only screen and (max-width: 767px) {
    .tp-kv__news {
        top:calc(100vh - 1rem - 6rem);
        top: calc(100svh - 1rem - 6rem);
        right: auto;
        left: 1rem
    }
}

.tp-kv__news.is-hidden {
    opacity: 0;
    transform: translate(70%,-100%);
    visibility: hidden;
    transition: opacity .6s ease-out,transform .6s ease-out,visibility 0s linear .6s
}

@media only screen and (max-width: 767px) {
    .tp-kv__news.is-hidden {
        transform:translate(-70%,-100%)
    }
}

.tp-kvNews {
    display: flex;
    align-items: center;
    padding: 2.6rem 2.8rem;
    width: 37.7rem;
    background-color: #473221;
    border-radius: .4rem;
    transition: opacity .8s ease-out 1s
}

@media only screen and (max-width: 767px) {
    .tp-kvNews {
        flex-direction:column;
        align-items: flex-start;
        padding: 1.5rem 1.8rem 1.5rem;
        width: 15.2rem
    }
}

.tp-kvNews__title {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 2.64;
    color: #eaeaea
}

@media only screen and (max-width: 767px) {
    .tp-kvNews__title {
        font-size:1.1rem;
        line-height: 1.5
    }
}

.tp-kvNews__divider {
    margin: 0 2.2rem
}

@media only screen and (max-width: 767px) {
    .tp-kvNews__divider {
        display:none
    }
}

.tp-kvNews__divider .c-svg {
    width: .4rem
}

.tp-kvNews__divider .c-svg__inner {
    padding-top: calc(41 / 4 * 100%)
}

.tp-kvNews__content {
    flex: 1
}

@media only screen and (max-width: 767px) {
    .tp-kvNews__content {
        display:flex;
        flex-direction: column;
        margin-top: -1.6rem;
        width: 100%
    }
}

.tp-kvNews__date {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.5;
    color: #a0968d
}

@media only screen and (max-width: 767px) {
    .tp-kvNews__date {
        align-self:flex-end;
        font-size: .8rem
    }
}

.tp-kvNews__newsTitle {
    margin-top: .3rem;
    font-style: normal;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.64;
    letter-spacing: .1em;
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
    font-feature-settings: "palt" on;
    color: #e7e0da;
    transition: -webkit-text-decoration-color .1s ease-out;
    transition: text-decoration-color .1s ease-out;
    transition: text-decoration-color .1s ease-out,-webkit-text-decoration-color .1s ease-out;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical
}

@media only screen and (max-width: 767px) {
    .tp-kvNews__newsTitle {
        margin-top:.4rem;
        font-size: 1rem;
        line-height: 1.5
    }
}

@media (hover: hover) {
    .tp-kvNews__newsTitle:hover {
        -webkit-text-decoration-color:transparent;
        text-decoration-color: transparent
    }
}

.tp-kv.is-waiting-opening .tp-kv__title ._text {
    opacity: 0;
    transform: translateY(100%);
    transition: none
}

.tp-kv.is-waiting-opening .tp-kv__message .tp-kv__messageLine {
    transform: translateY(100%);
    -webkit-clip-path: inset(0 0 100%);
    clip-path: inset(0 0 100%);
    transition: none
}

.tp-kv.is-waiting-opening .tp-kv__visual {
    opacity: 0;
    transform: translateY(3.125vw);
    transition: none
}

.tp-kv.is-waiting-opening .tp-kv__bg {
    opacity: 0;
    transform: translateX(5%);
    transition: none
}

.tp-kv.is-waiting-opening .tp-kv__bg ._text {
    -webkit-mask-position: 200% 0
}

.tp-kv.is-waiting-opening .tp-kv__scroll {
    opacity: 0;
    transition: none
}

.tp-kv.is-waiting-opening .tp-kv__brandLink ._link {
    opacity: 0;
    transition: none
}

.tp-kv.is-waiting-opening .tp-kvNews {
    opacity: 0;
    transition: none
}

.tp-ab {
    overflow: hidden
}

.tp-ab__header {
    padding: 6.25vw 12.89062vw
}

@media only screen and (max-width: 767px) {
    .tp-ab__header {
        padding:4rem 2rem
    }
}

.tp-ab__title {
    display: inline-block
}

.tp-ab__title .c-svg {
    width: 100%
}

.tp-ab__title .c-svg__inner {
    padding-top: calc(19 / 332 * 100%)
}

.tp-ab__title ._text {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 8rem;
    line-height: 1.1;
    letter-spacing: -.05em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .tp-ab__title ._text {
        font-size:4.6rem;
        line-height: 1.5
    }
}

.tp-ab__message {
    display: flex;
    justify-content: center;
    margin-top: 6.5625vw;
    padding-left: 3.125vw
}

@media only screen and (max-width: 767px) {
    .tp-ab__message {
        flex-direction:column;
        margin-top: 1rem;
        padding: 2rem
    }
}

.tp-ab__message ._title {
    font-style: normal;
    font-weight: 700;
    font-size: 2.6rem;
    line-height: 1.79;
    letter-spacing: .1em;
    color: #473221
}

@media only screen and (min-width: 768px) {
    .tp-ab__message ._title {
        -webkit-text-orientation:mixed;
        text-orientation: mixed;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl
    }
}

@media only screen and (max-width: 767px) {
    .tp-ab__message ._title {
        font-size:2rem;
        line-height: 1.5
    }
}

.tp-ab__message ._message {
    margin-top: 3.98437vw;
    margin-left: 8.04688vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: .1em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .tp-ab__message ._message {
        margin-top:2.8rem;
        margin-left: 0;
        font-size: 1.4rem;
        line-height: 1.71
    }
}

.tp-ab__body {
    margin-top: 13.04688vw;
    padding: 3.125vw
}

@media only screen and (max-width: 767px) {
    .tp-ab__body {
        margin-top:1.3rem;
        padding: 1.1rem 2rem
    }
}

.tp-ab__content {
    position: relative;
    background-color: rgba(255,255,255,.7);
    box-shadow: 0 0 3.90625vw rgba(0,0,0,.03);
    border-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .tp-ab__content {
        border-radius:2rem
    }
}

.tp-ab__label {
    position: absolute;
    top: -20vw;
    left: -4.84375vw
}

@media only screen and (max-width: 767px) {
    .tp-ab__label {
        top:-10.7rem;
        left: 2rem
    }
}

.tp-ab__label .c-bgText {
    font-size: 25.6rem
}

@media only screen and (max-width: 767px) {
    .tp-ab__label .c-bgText {
        font-size:13.5rem
    }
}

.tp-ab__contentDivider {
    margin: 0 7.8125vw;
    border-color: rgba(37,30,28,.1)
}

@media only screen and (max-width: 767px) {
    .tp-ab__contentDivider {
        display:none
    }
}

.tp-abContent {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7.8125vw 7.89062vw
}

@media only screen and (max-width: 767px) {
    .tp-abContent {
        flex-direction:column;
        padding: 2.5rem 3rem
    }
}

.tp-abContent:first-of-type {
    padding-top: 10.15625vw
}

@media only screen and (max-width: 767px) {
    .tp-abContent:first-of-type {
        padding-top:7.6rem
    }
}

.tp-abContent:last-of-type {
    padding-bottom: 10.15625vw
}

@media only screen and (max-width: 767px) {
    .tp-abContent:last-of-type {
        padding-bottom:5.8rem
    }
}

.tp-abContent:nth-of-type(even) {
    flex-direction: row-reverse
}

@media only screen and (max-width: 767px) {
    .tp-abContent:nth-of-type(even) {
        flex-direction:column
    }
}

.tp-abContent__header {
    width: 26.32813vw
}

@media only screen and (max-width: 767px) {
    .tp-abContent__header {
        width:100%
    }
}

.tp-abContent__title {
    position: relative;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 4.6rem;
    line-height: 2.2;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .tp-abContent__title {
        font-size:2.5rem;
        line-height: 2.8;
        letter-spacing: .02em
    }
}

.tp-abContent__title::after,.tp-abContent__title::before {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 100%;
    height: .2rem;
    background-color: #168352;
    transform-origin: left center;
    transform: scaleX(.06);
    content: ""
}

.tp-abContent__title::after {
    right: 0;
    left: auto;
    width: 93%;
    background-color: rgba(37,30,28,.1);
    transform: none
}

@media only screen and (max-width: 767px) {
    .tp-abContent__slider {
        margin-top:.8rem
    }
}

.tp-abContent__message {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .tp-abContent__message {
        margin-top:3.1rem;
        font-size: 1.3rem;
        line-height: 1.77;
        letter-spacing: .1em
    }
}

.tp-abContent__links {
    margin-top: 3rem
}

@media only screen and (max-width: 767px) {
    .tp-abContent__links {
        margin-top:3rem;
        text-align: center
    }
}

.tp-abContent__visual {
    position: relative;
    overflow: hidden;
    border-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .tp-abContent__visual {
        margin-top:.8rem;
        border-radius: 3rem
    }
}

.tp-abContent__visual--bordered {
    border: 1px solid #f4f4f4
}

.tp-abContent__visual .c-picture {
    width: 45.23438vw
}

@media only screen and (max-width: 767px) {
    .tp-abContent__visual .c-picture {
        width:100%
    }
}

.tp-abContent__visual .c-picture picture {
    padding-top: calc(900 / 1158 * 100%)
}

@media only screen and (max-width: 767px) {
    .tp-abContent__visual .c-picture picture {
        padding-top:calc(196 / 275 * 100%)
    }
}

.tp-abSlider {
    position: relative;
    overflow: hidden;
    margin-top: -15.625vw;
    margin-right: -11.5625vw;
    width: 56.875vw
}

@media only screen and (max-width: 767px) {
    .tp-abSlider {
        margin-top:0;
        margin-right: -16.4rem;
        margin-left: -16.4rem;
        width: auto
    }
}

.tp-abSlider__list {
    display: inline-flex;
    -webkit-animation: kf-about-slider 70s linear 0s infinite normal both;
    animation: kf-about-slider 70s linear 0s infinite normal both
}

.tp-abSlider__list:nth-child(2) {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation-delay: -35s;
    animation-delay: -35s
}

@-webkit-keyframes kf-about-slider {
    from {
        transform: translateX(100%)
    }

    to {
        transform: translateX(-100%)
    }
}

@keyframes kf-about-slider {
    from {
        transform: translateX(100%)
    }

    to {
        transform: translateX(-100%)
    }
}

.tp-abSlider__item {
    padding: 0 .46875vw
}

@media only screen and (max-width: 767px) {
    .tp-abSlider__item {
        padding:0 .3rem
    }
}

.tp-abSlider__item .c-picture {
    overflow: hidden;
    width: 23.4375vw;
    border-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .tp-abSlider__item .c-picture {
        width:11rem;
        border-radius: 3rem
    }
}

.tp-abSlider__item .c-picture picture {
    padding-top: calc(1096 / 600 * 100%)
}

@media only screen and (max-width: 767px) {
    .tp-abSlider__item .c-picture picture {
        padding-top:calc(204 / 110 * 100%)
    }
}

.tp-bs {
    display: flex;
    justify-content: space-between;
    padding: 11.17188vw 11.09375vw 3.59375vw 12.89062vw
}

@media only screen and (max-width: 767px) {
    .tp-bs {
        overflow:hidden;
        flex-direction: column;
        padding: 2rem
    }
}

.tp-bs__header {
    width: 22.1875vw
}

@media only screen and (max-width: 767px) {
    .tp-bs__header {
        width:auto
    }
}

.tp-bs__title {
    display: inline-block
}

.tp-bs__title .c-svg {
    width: 100%
}

.tp-bs__title .c-svg__inner {
    padding-top: calc(19 / 234 * 100%)
}

.tp-bs__title ._text {
    font-style: normal;
    font-weight: 700;
    font-size: 5.8rem;
    line-height: 1.5;
    letter-spacing: .02em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .tp-bs__title ._text {
        font-size:4rem
    }
}

.tp-bs__message {
    margin-top: 3.35938vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: .1em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .tp-bs__message {
        margin-top:3.2rem;
        font-size: 1.4rem;
        line-height: 1.71
    }
}

.tp-bs__links {
    margin-top: 3.125vw
}

@media only screen and (max-width: 767px) {
    .tp-bs__links {
        display:flex;
        justify-content: center;
        margin-top: 2.9rem
    }
}

.tp-bs__body {
    padding-top: 1.64062vw
}

@media only screen and (max-width: 767px) {
    .tp-bs__body {
        margin-top:3.4rem
    }
}

@media only screen and (max-width: 767px) {
    .tp-bsLink {
        width:100%
    }
}

@media (hover: hover) {
    .tp-bsLink:hover .tp-bsLink__inner {
        color:#168352
    }

    .tp-bsLink:hover .tp-bsLink__inner::before {
        transform: scaleX(1)
    }

    .tp-bsLink:hover .tp-bsLink__icon::before {
        transform: translate(-50%,-50%) scale(0)
    }

    .tp-bsLink:hover .tp-bsLink__icon::after {
        background-color: #168352;
        transform: translate(-50%,-50%) scale(1)
    }

    .tp-bsLink:hover .tp-bsLink__icon .c-svg {
        opacity: 1;
        -webkit-animation: kv-link-arrow-hover .4s ease-out .2s 1 normal both;
        animation: kv-link-arrow-hover .4s ease-out .2s 1 normal both
    }

    @-webkit-keyframes kv-link-arrow-hover {
        from {
            transform: translateX(-150%) scaleY(.1)
        }
    }

    @keyframes kv-link-arrow-hover {
        from {
            transform: translateX(-150%) scaleY(.1)
        }
    }

    .tp-bsLink:hover .tp-bsLink__visual {
        opacity: 1;
        transform: translateY(-50%) scale(1)
    }
}

.tp-bsLink__inner {
    position: relative;
    display: flex;
    align-items: flex-start;
    padding: 4.4rem 0 4.2rem;
    width: 43.4375vw;
    color: #251e1c;
    transition: color .3s ease-out
}

@media only screen and (max-width: 767px) {
    .tp-bsLink__inner {
        padding:2.7rem 0 2.1rem;
        width: auto
    }
}

.tp-bsLink__inner::after,.tp-bsLink__inner::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: .2rem;
    background-color: #168352;
    transform-origin: left center;
    transform: scaleX(.032);
    transition: transform .3s ease-out;
    content: ""
}

@media only screen and (max-width: 767px) {
    .tp-bsLink__inner::after,.tp-bsLink__inner::before {
        transform:scaleX(.048)
    }
}

.tp-bsLink__inner::after {
    right: 0;
    left: auto;
    width: 96.4%;
    background-color: rgba(37,30,28,.1);
    transform: none
}

@media only screen and (max-width: 767px) {
    .tp-bsLink__inner::after {
        width:94.6%
    }
}

.tp-bsLink__no {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.5
}

@media only screen and (max-width: 767px) {
    .tp-bsLink__no {
        line-height:1.9
    }
}

.tp-bsLink__label {
    margin-left: 2.1rem;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 2.8rem;
    line-height: 1.11
}

@media only screen and (max-width: 767px) {
    .tp-bsLink__label {
        font-size:2rem;
        line-height: 1.55
    }
}

.tp-bsLink__visual {
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 3.3rem;
    opacity: 0;
    transform: translateY(-50%) scale(.9);
    transition: opacity .4s ease-out,transform .4s ease-out
}

@media only screen and (max-width: 767px) {
    .tp-bsLink__visual {
        right:1rem
    }
}

.tp-bsLink__visual .c-picture {
    width: 17rem
}

@media only screen and (max-width: 767px) {
    .tp-bsLink__visual .c-picture {
        width:13rem
    }
}

.tp-bsLink__visual .c-picture picture {
    padding-top: calc(340 / 340 * 100%)
}

.tp-bsLink__icon {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: .4rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 5.5rem;
    height: 5.5rem;
    transform: translateY(-50%)
}

@media only screen and (max-width: 767px) {
    .tp-bsLink__icon {
        right:-.7rem;
        width: 5rem;
        height: 5rem
    }
}

.tp-bsLink__icon::after,.tp-bsLink__icon::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: rgba(71,50,33,.08);
    border-radius: 50%;
    transform: translate(-50%,-50%) scale(.7);
    transition: transform .4s ease-out,background-color .4s ease-out;
    content: ""
}

.tp-bsLink__icon::after {
    background-color: #168352;
    transform: translate(-50%,-50%) scale(.16)
}

.tp-bsLink__icon .c-svg {
    position: relative;
    z-index: 1;
    width: 1.9rem;
    opacity: 0;
    transition: opacity .4s ease-out;
    -webkit-animation: kv-link-arrow-normal .4s ease-out 0s 1 normal both;
    animation: kv-link-arrow-normal .4s ease-out 0s 1 normal both
}

@keyframes kv-link-arrow-normal {
    to {
        transform: translateX(150%) scaleY(.1)
    }
}

.tp-sdgs {
    padding: 5.78125vw 7.8125vw 10.07812vw
}

.tp-sdgs__header {
    text-align: center
}

.tp-sdgs__title {
    display: inline-block;
    background: url(/assets/img/top/sdgs/title-bg.jpg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    -webkit-mask-image: url(/assets/img/top/sdgs/sdgs.png);
    -webkit-mask-size: 100% 100%
}

.tp-sdgs__title .c-picture {
    width: 48.6rem;
    opacity: 0;
    pointer-events: none
}

@media only screen and (max-width: 767px) {
    .tp-sdgs__title .c-picture {
        width:26rem
    }
}

.tp-sdgs__title .c-picture picture {
    padding-top: calc(584 / 1944 * 100%)
}

.tp-sdgs__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 2.96875vw;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .tp-sdgs__body {
        margin-top:2.9rem
    }
}

.tp-sdgs__message {
    font-style: normal;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: .1em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .tp-sdgs__message {
        font-size:1.4rem;
        line-height: 1.71
    }
}

.tp-sdgs__links {
    margin-top: 3.125vw
}

@media only screen and (max-width: 767px) {
    .tp-sdgs__links {
        margin-top:3.9rem
    }
}

.tp-ne {
    padding: 7.10938vw 0 7.8125vw;
    background-color: #f4f4f4
}

@media only screen and (max-width: 767px) {
    .tp-ne {
        padding:4rem 0 6.9rem
    }
}

.tp-ne__title {
    font-style: normal;
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 1.03;
    letter-spacing: .02em;
    color: #251e1c;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .tp-ne__title {
        font-size:2.4rem;
        line-height: 1.54
    }
}

.tp-ne__body {
    margin-top: 2.1875vw
}

@media only screen and (max-width: 767px) {
    .tp-ne__body {
        margin-top:.1rem
    }
}

.tp-ne__newsList {
    display: flex;
    justify-content: center;
    padding: 3rem 0
}

@media only screen and (max-width: 767px) {
    .tp-ne__newsList {
        overflow:auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
        justify-content: flex-start
    }

    .tp-ne__newsList::-webkit-scrollbar {
        display: none
    }
}

.tp-ne__newsItem {
    display: flex
}

.tp-ne__newsItem:not(:first-child) {
    margin-left: 1.40625vw
}

@media only screen and (max-width: 767px) {
    .tp-ne__newsItem:not(:first-child) {
        margin-left:1.5rem
    }
}

.tp-ne__newsItem:first-child {
    padding-left: 2rem
}

.tp-ne__newsItem:last-child {
    padding-right: 2rem
}

.tp-ne__links {
    display: flex;
    justify-content: center;
    margin-top: 1.5625vw
}

@media only screen and (max-width: 767px) {
    .tp-ne__links {
        margin-top:.9rem
    }
}

.tp-newsItem {
    display: flex;
    position: relative;
    z-index: 1;
    overflow: hidden;
    width: 32rem;
    border-radius: 4rem;
    box-shadow: 0 0 5rem rgba(0,0,0,.03)
}

@media only screen and (max-width: 767px) {
    .tp-newsItem {
        width:26rem;
        border-radius: 3rem
    }
}

.tp-newsItem__link {
    display: flex;
    width: 100%
}

.tp-newsItem__inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #fff
}

.tp-newsItem__header {
    overflow: hidden
}

.tp-newsItem__header .c-picture {
    width: 100%;
    transition: transform .4s ease-out
}

.tp-newsItem__header .c-picture picture {
    padding-top: calc(190 / 320 * 100%)
}

@media only screen and (max-width: 767px) {
    .tp-newsItem__header .c-picture picture {
        padding-top:calc(150 / 260 * 100%)
    }
}

.tp-newsItem__body {
    padding: 3.9rem 4rem;
    flex-grow: 1
}

@media only screen and (max-width: 767px) {
    .tp-newsItem__body {
        padding:2.4rem 3rem 3.4rem
    }
}

.tp-newsItem__meta {
    display: flex;
    align-items: center
}

.tp-newsItem__meta ._divider {
    margin: 0 1.1rem;
    width: 1px;
    height: 1.3rem;
    background-color: #c6c6c6
}

.tp-newsItem__date {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #168352
}

@media only screen and (max-width: 767px) {
    .tp-newsItem__date {
        font-size:1.1rem
    }
}

.tp-newsItem__category {
    font-style: normal;
    font-weight: 700;
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: 0;
    color: #473221
}

@media only screen and (max-width: 767px) {
    .tp-newsItem__category {
        font-size:1.1rem
    }
}

.tp-newsItem__title {
    margin-top: .7rem;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.79;
    letter-spacing: .04em;
    color: #251e1c;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical
}

@media only screen and (max-width: 767px) {
    .tp-newsItem__title {
        margin-top:.3rem;
        font-size: 1.3rem;
        line-height: 1.92
    }
}

@media (hover: hover) {
    .tp-newsItem__link:hover .tp-newsItem__header .c-picture {
        transform:scale(1.1)
    }

    .tp-newsItem__link:hover .tp-newsItem__titleChild {
        background-size: 0 1px;
        background-position-x: right
    }
}

.tp-newsItem__titleChild {
    background: linear-gradient(0deg,#000,#000) no-repeat right bottom/0 1px;
    background-size: 100% 1px;
    transition: background-size .3s ease-out
}

.tp-rc {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 9.375vw 11.09375vw 10.3125vw 15.78125vw
}

@media only screen and (max-width: 767px) {
    .tp-rc {
        flex-direction:column;
        align-items: center;
        padding: 12.5rem 2rem 9.2rem
    }
}

.tp-rc__bg {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    transform: translateY(-50%)
}

.tp-rc__bg .c-picture {
    width: 100%
}

.tp-rc__bg .c-picture picture {
    padding-top: calc(1080 / 2132 * 100%)
}

@media only screen and (max-width: 767px) {
    .tp-rc__bg .c-picture picture {
        padding-top:calc(640 / 375 * 100%)
    }
}

.tp-rc__header {
    position: relative;
    margin-bottom: 18px
}

.tp-rc__title {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 5.7rem;
    line-height: 1;
    letter-spacing: -.05em;
    color: #fff
}

@media only screen and (max-width: 767px) {
    .tp-rc__title {
        font-size:4rem;
        line-height: .85
    }
}

.tp-rc__message {
    display: inline-block;
    margin-top: 1.64062vw;
    font-style: normal;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: .1em;
    color: #f4f4f4
}

@media only screen and (max-width: 767px) {
    .tp-rc__message {
        margin-top:2.1rem;
        font-weight: 400;
        font-size: 1.4rem;
        line-height: 1.93
    }
}

.tp-rc__body {
    position: relative
}

@media only screen and (max-width: 767px) {
    .tp-rc__body {
        margin-top:1rem
    }
}

.tp-rc__link {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 28.7rem;
    height: 28.7rem;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.4);
    transition: border-color .6s cubic-bezier(0,0,.5,1)
}

@media only screen and (max-width: 767px) {
    .tp-rc__link {
        width:18rem;
        height: 18rem
    }
}

@media (hover: hover) {
    .tp-rc__link:hover {
        border-color:rgba(255,255,255,0)
    }

    .tp-rc__link:hover ._progress circle {
        stroke-dashoffset: 0
    }
}

.tp-rc__link ._label {
    font-style: normal;
    font-weight: 700;
    font-size: 1.7rem;
    line-height: 1.59;
    letter-spacing: .16em;
    color: #fff;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .tp-rc__link ._label {
        font-size:1.6rem;
        line-height: 1.5;
        letter-spacing: .1em
    }
}

.tp-rc__link ._progress {
    position: absolute;
    top: -1.3rem;
    right: -1.3rem;
    bottom: -1.3rem;
    left: -1.3rem;
    transform: rotate(-90deg)
}

.tp-rc__link ._progress .c-svg {
    width: 100%
}

.tp-rc__link ._progress .c-svg__inner {
    padding-top: 100%
}

.tp-rc__link ._progress circle {
    stroke-dasharray: 245px;
    stroke-dashoffset: 245px;
    transition: stroke-dashoffset .6s cubic-bezier(0,0,.5,1)
}

.tp-op {
    position: relative;
    width: 100%;
    height: 100%;
    pointer-events: auto
}

.tp-op.is-finished {
    display: none
}

body:not([data-page-count="1"]) .tp-op {
    display: none
}

.tp-op__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    transform-origin: top center
}

.tp-op__svg {
    position: relative;
    width: 100%;
    height: 100%
}

.ni__header {
    /*padding: 5.46875vw 12.89062vw 5.15625vw*/
    padding: 5.46875vw 17vw 5.15625vw

}
.ni__title {
   /*margin-top: 1.25vw;*/
  font-style: normal;
  font-weight: 700;
  font-size: 5.8rem;
  line-height: 1.45;
  letter-spacing: -0.05em;
  color: #006934;
}

@media only screen and (max-width: 767px) {
    .ni__header {
        padding:4rem 1rem 5.2rem
    }
   .ni__title {
       /*margin-top: 1.25vw;*/
      font-style: normal;
      font-weight: 700;
      font-size: 5.8rem;
      line-height: 1.45;
      letter-spacing: -0.10em;
      color: #006934;
   }
}



@media only screen and (max-width: 767px) {
    .ni__title {
        margin-top:.8rem;
        font-size: 4rem
    }
}

.ni__description {
    margin-top: 3.125vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .ni__description {
        margin-top:2.2rem;
        font-size: 1.4rem;
        line-height: 1.86
    }
}

.ni__divider .c-svg {
    width: 100%
}

.ni__divider .c-svg__inner {
    padding-top: calc(32 / 1280 * 100%)
}

@media only screen and (max-width: 767px) {
    .ni__divider .c-svg__inner {
        padding-top:calc(18 / 375 * 100%)
    }
}

.ni__body {
    padding: 7.8125vw 11.09375vw
}

@media only screen and (max-width: 767px) {
    .ni__body {
        padding:2.8rem 2.1rem 18.9rem
    }
}

.cbd {
    padding: 3.125vw 3.125vw 0
}

@media only screen and (max-width: 767px) {
    .cbd {
        padding:4rem 2rem 10rem
    }
}

.cbd__header {
    position: relative
}

.cbd__kv {
    overflow: hidden;
    border-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .cbd__kv {
        margin-top:2.6rem;
        border-radius: 3rem
    }
}

.cbd__kv .c-picture {
    width: 100%
}

.cbd__kv .c-picture picture {
    padding-top: calc(486 / 1200 * 100%)
}

@media only screen and (max-width: 767px) {
    .cbd__kv .c-picture picture {
        padding-top:calc(210 / 335 * 100%)
    }
}

.cbd__headerTexts {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2.8125vw 3.125vw 0;
    width: 42.96875vw;
    height: 17.96875vw;
    background-color: #fff;
    border-top-right-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .cbd__headerTexts {
        position:static;
        padding: 0;
        width: auto;
        height: auto
    }
}

.cbd__title {
    margin-top: 1.6rem;
    font-style: normal;
    font-weight: 700;
    font-size: 4.5rem;
    line-height: 1.44;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .cbd__title {
        margin-top:.8rem;
        font-size: 3.2rem;
        line-height: 1.43
    }
}

.cbd__body {
    display: flex;
    padding: 0 3.125vw
}

@media only screen and (max-width: 767px) {
    .cbd__body {
        margin-top:4rem;
        padding: 0
    }
}

.cbd__content {
    flex: 1;
    border-left: .46875vw solid #f4f4f4
}

@media only screen and (max-width: 767px) {
    .cbd__content {
        border:none
    }
}

@media only screen and (max-width: 767px) {
    body[data-page-type=business] .cbd {
        padding:4rem 2rem 19rem
    }
}

body[data-page-type=business] .cbd__title {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif
}

@media only screen and (max-width: 767px) {
    body[data-page-type=business] .cbd__title {
        font-size:3.8rem
    }
}

@media only screen and (max-width: 767px) {
    body[data-page-type=business] .cbd__kv {
        margin-top:2rem
    }
}

.cb-menu {
    padding: 5.46875vw 0;
    min-width: 16.40625vw
}

@media only screen and (max-width: 767px) {
    .cb-menu {
        position:fixed;
        z-index: 700;
        top: 0;
        left: 0;
        padding: 0;
        min-width: auto;
        width: 100%;
        height: 100vh;
        pointer-events: none
    }
}

.cb-menu.is-open {
    z-index: 900
}

.cb-menu.is-open .cb-menu__toggle ._icon ._bar:nth-child(1) {
    transform: translate(-50%,-50%) rotate(45deg)
}

.cb-menu.is-open .cb-menu__toggle ._icon ._bar:nth-child(2) {
    visibility: hidden;
    opacity: 0
}

.cb-menu.is-open .cb-menu__toggle ._icon ._bar:nth-child(3) {
    transform: translate(-50%,-50%) rotate(-45deg)
}

.cb-menu.is-open .cb-menu__toggle ._icon ._bar::before {
    content: none
}

.cb-menu.is-open .cb-menu__toggle ._icon ._bar::after {
    margin-left: 0;
    transform: scaleX(1.45)
}

.cb-menu.is-open ._inner {
    opacity: 1;
    visibility: visible;
    transition: opacity .4s ease-out,visibility 0s ease-out
}

.cb-menu ._inner {
    position: sticky;
    top: 8.59375vw
}

@media only screen and (max-width: 767px) {
    .cb-menu ._inner {
        position:static;
        top: auto;
        padding: 7.2rem 2rem;
        height: 100%;
        background-color: rgba(37,30,28,.4);
        opacity: 0;
        visibility: hidden;
        transition: opacity .4s ease-out,visibility 0s ease-out .4s;
        pointer-events: auto
    }
}

.cb-menu__toggle {
    position: absolute;
    z-index: 1;
    top: 2rem;
    right: 2rem;
    display: flex;
    align-items: center;
    padding: .9rem 1.2rem .9rem 2.3rem;
    background-color: #168352;
    border-radius: 10rem;
    pointer-events: auto
}

.cb-menu__toggle ._label {
    font-style: normal;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: .04em;
    color: #fff
}

.cb-menu__toggle ._icon {
    position: relative;
    display: inline-block;
    margin-left: .9rem;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: #fff
}

.cb-menu__toggle ._icon ._bar {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transform: translate(-50%,-50%);
    transition: transform .4s ease-out
}

.cb-menu__toggle ._icon ._bar:nth-child(1) {
    transform: translate(-50%,calc(-50% - .3rem))
}

.cb-menu__toggle ._icon ._bar:nth-child(3) {
    transform: translate(-50%,calc(-50% + .3rem))
}

.cb-menu__toggle ._icon ._bar::before {
    display: block;
    width: .3rem;
    height: .3rem;
    transform: scale(.5);
    background-color: #168352;
    border-radius: 50%;
    content: ""
}

.cb-menu__toggle ._icon ._bar::after {
    display: block;
    margin-left: .1rem;
    width: .6rem;
    height: .1rem;
    background-color: #168352;
    content: "";
    transition: transform .4s ease-out
}

@media only screen and (max-width: 767px) {
    .cbSidebar {
        overflow:auto;
        max-height: 100%;
        background-color: #fff;
        border-radius: 3rem
    }
}

.cbSidebar__mainLink {
    padding: 3rem 0;
    width: 100%;
    font-style: normal;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.72;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .cbSidebar__mainLink {
        padding:2rem 3rem;
        font-size: 1.5rem;
        line-height: 1.46
    }
}

@media (hover: hover) {
    .cbSidebar__mainLink:hover .cbSidebar__mainLinkChild {
        background-size:0 2px;
        background-position-x: right
    }
}

.cbSidebar__mainLinkChild {
    display: inline-block;
    height: 2.6rem;
    background: linear-gradient(0deg,#000,#000) no-repeat right bottom/0 2px;
    background-size: 100% 2px;
    transition: background-size .2s ease-out
}

@media only screen and (max-width: 767px) {
    .cbSidebar__mainLinkChild {
        height:1.9rem;
        background-size: 100% 1px
    }
}

.cbSidebar__childList {
    padding-top: .8rem;
    padding-right: 2rem;
    border-top: 1px solid #168352
}

@media only screen and (max-width: 767px) {
    .cbSidebar__childList {
        padding:.8rem 3rem 1.2rem
    }
}

.cbSidebar__childItem {
    border-bottom: 1px solid rgba(37,30,28,.1)
}

@media only screen and (max-width: 767px) {
    .cbSidebar__childItem:last-child {
        border:none
    }
}

.cbSidebar__childLink {
    position: relative;
    padding: 2rem 0 2.5rem;
    width: 100%;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.08;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .cbSidebar__childLink {
        padding:1.8rem 0
    }
}

.cbSidebar__childLink::after {
    position: absolute;
    bottom: -.1rem;
    left: 0;
    display: block;
    width: 100%;
    height: .1rem;
    background-color: #168352;
    transform-origin: left center;
    transform: scaleX(0);
    transition: transform .3s ease-out;
    content: ""
}

@media only screen and (max-width: 767px) {
    .cbSidebar__childLink::after {
        content:none
    }
}

@media (hover: hover) {
    .cbSidebar__childLink:hover::after {
        transform:scaleX(1)
    }
}

.cbSidebar__childItem.is-current .cbSidebar__childLink {
    font-weight: 700;
    color: #168352;
    pointer-events: none
}

.cbSidebar__childItem.is-current .cbSidebar__childLink::before {
    display: inline-block;
    margin-right: .4rem;
    width: .8rem;
    height: .8rem;
    background-color: currentColor;
    border-radius: 50%;
    transform: scale(.5);
    content: ""
}

[data-page-type=company][data-small-page-type=top] .ni__body {
    padding: 7.8125vw 11.09375vw 16.5625vw
}

@media only screen and (max-width: 767px) {
    [data-page-type=company][data-small-page-type=top] .ni__body {
        padding:6.7rem 2.1rem 18.9rem
    }
}

.company__message {
    display: flex;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .company__message {
        flex-direction:column
    }
}

.company__messageHeader {
    width: 43.4375vw
}

@media only screen and (max-width: 767px) {
    .company__messageHeader {
        width:100%
    }
}

.company__messageHeader ._link {
    position: relative;
    z-index: 1;
    overflow: hidden;
    width: 100%;
    border-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .company__messageHeader ._link {
        border-radius:3rem
    }
}

@media (hover: hover) {
    .company__messageHeader ._link:hover .c-picture {
        transform:scale(1.05)
    }
}

.company__messageHeader .c-picture {
    width: 100%;
    transition: transform .4s ease-out
}

.company__messageHeader .c-picture picture {
    padding-top: calc(374 / 556 * 100%)
}

@media only screen and (max-width: 767px) {
    .company__messageHeader .c-picture picture {
        padding-top:calc(195 / 335 * 100%)
    }
}

.company__messageBody {
    margin-left: 4.6875vw
}

@media only screen and (max-width: 767px) {
    .company__messageBody {
        margin-top:1rem;
        margin-left: 0;
        width: 100%
    }
}

.company__messageTitle {
    font-style: normal;
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 1.44;
    letter-spacing: .04em;
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .company__messageTitle {
        font-size:2.2rem;
        line-height: 1.45
    }
}

.company__messageDescription {
    margin-top: 2.34375vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .company__messageDescription {
        margin-top:1.5rem;
        font-size: 1.3rem;
        line-height: 1.54
    }
}

.company__messageLink {
    margin-top: 3.04688vw
}

@media only screen and (max-width: 767px) {
    .company__messageLink {
        display:flex;
        justify-content: center;
        margin-top: 3rem
    }
}

.company__divider {
    margin-top: 7.8125vw;
    border-color: rgba(37,30,28,.1)
}

@media only screen and (max-width: 767px) {
    .company__divider {
        margin-top:5rem
    }
}

.company__linkList {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 5.46875vw normal;
    margin-top: 7.8125vw
}

@media only screen and (max-width: 767px) {
    .company__linkList {
        margin-top:4.6rem;
        gap: 4rem normal
    }
}

.company__linkItem {
    width: 24.375vw
}

@media only screen and (max-width: 767px) {
    .company__linkItem {
        width:16rem
    }
}

.company__link {
    display: inline
}

@media (hover: hover) {
    .company__link:hover ._visual .c-picture {
        transform:scale(1.1)
    }
}

.company__link ._visual {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .company__link ._visual {
        border-radius:2rem
    }
}

.company__link ._visual .c-picture {
    width: 100%;
    transition: transform .4s ease-out
}

.company__link ._visual .c-picture picture {
    padding-top: calc(220 / 312 * 100%)
}

.company__link ._title {
    margin-top: 1.5625vw;
    font-style: normal;
    font-weight: 700;
    font-size: 1.9rem;
    line-height: 1.47;
    letter-spacing: .04em;
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .company__link ._title {
        margin-top:.8rem;
        font-size: 1.3rem;
        line-height: 1.46
    }
}

.company__link ._description {
    margin-top: 1.09375vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.3rem;
    line-height: 1.85;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .company__link ._description {
        margin-top:.8rem;
        font-size: 1.2rem;
        line-height: 1.33
    }
}

.companyMessage {
    padding: 7.03125vw 0 15.54687vw 6.25vw
}

@media only screen and (max-width: 767px) {
    .companyMessage {
        padding:0 0 8.4rem
    }
}

.companyMessage__title {
    font-style: normal;
    font-weight: 700;
    font-size: 3rem;
    line-height: 1.53;
    letter-spacing: .04em;
    color: #473221
}

@media only screen and (max-width: 767px) {
    .companyMessage__title {
        font-size:2.2rem;
        line-height: 1.73;
        letter-spacing: .04em
    }
}

.companyMessage__visual {
    margin-top: 3.90625vw
}

@media only screen and (max-width: 767px) {
    .companyMessage__visual {
        margin-top:2.4rem
    }
}

.companyMessage__visual .c-picture {
    width: 100%
}

.companyMessage__visual .c-picture picture {
    padding-top: calc(477 / 824 * 100%)
}

@media only screen and (max-width: 767px) {
    .companyMessage__visual .c-picture picture {
        padding-top:calc(195 / 335 * 100%)
    }
}

.companyMessage__message {
    margin-top: 3.125vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .companyMessage__message {
        margin-top:3.2rem;
        font-size: 1.4rem;
        line-height: 1.86;
        letter-spacing: .04em
    }
}

.companyMessage__signature {
    margin-top: 6.25vw;
    text-align: right
}

@media only screen and (max-width: 767px) {
    .companyMessage__signature {
        margin-top:4rem
    }
}

.companyMessage__signature ._roll {
    font-style: normal;
    font-weight: 400;
    font-size: 2rem;
    line-height: 1.2;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .companyMessage__signature ._roll {
        font-size:1.6rem;
        line-height: 1.5
    }
}

.companyMessage__signature ._name {
    font-style: normal;
    font-weight: 700;
    font-size: 3rem;
    line-height: 1.8;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .companyMessage__signature ._name {
        font-size:2.4rem;
        line-height: 1.6
    }
}

.companyGroup {
    padding: 7.8125vw 0 18.04688vw 6.25vw
}

@media only screen and (max-width: 767px) {
    .companyGroup {
        padding:0 0 9rem
    }
}

.companyGroup__group:not(:first-child) {
    margin-top: 9.375vw
}

@media only screen and (max-width: 767px) {
    .companyGroup__group:not(:first-child) {
        margin-top:8rem
    }
}

.companyGroup__list {
    margin-top: 3.75vw
}

@media only screen and (max-width: 767px) {
    .companyGroup__list {
        margin-top:3.7rem
    }
}

.companyGroup__listItem:not(:first-child) {
    margin-top: 4.6875vw
}

@media only screen and (max-width: 767px) {
    .companyGroup__listItem:not(:first-child) {
        margin-top:5rem
    }
}

.companyGroup__companyBody {
    display: flex;
    justify-content: space-between;
    margin-top: 2.73438vw
}

@media only screen and (max-width: 767px) {
    .companyGroup__companyBody {
        margin-top:2.4rem
    }
}

.companyGroup__companyVisual {
    width: 17.26562vw
}

@media only screen and (max-width: 767px) {
    .companyGroup__companyVisual {
        width:11rem
    }
}

.companyGroup__companyVisual ._logo .c-picture {
    overflow: hidden;
    width: 100%;
    border-radius: 3.125vw;
    border: 1px solid #f4f4f4
}

@media only screen and (max-width: 767px) {
    .companyGroup__companyVisual ._logo .c-picture {
        border-radius:2rem
    }
}

.companyGroup__companyMeta {
    padding-top: .9375vw;
    width: 42.42188vw
}

@media only screen and (max-width: 767px) {
    .companyGroup__companyMeta {
        padding-top:0;
        width: 20.1rem
    }
}

@media only screen and (max-width: 767px) {
    .companyGroup__companyMeta:first-child {
        width:auto
    }
}

.companyGroup__companyMetaItem {
    display: flex
}

@media only screen and (max-width: 767px) {
    .companyGroup__companyMetaItem {
        flex-direction:column
    }
}

.companyGroup__companyMetaItem:not(:first-child) {
    margin-top: 1.2rem
}

@media only screen and (max-width: 767px) {
    .companyGroup__companyMetaItem:not(:first-child) {
        margin-top:1.7rem
    }
}

.companyGroup__companyMetaItem ._label {
    width: 8.90625vw;
    font-style: normal;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.71;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .companyGroup__companyMetaItem ._label {
        width:auto;
        font-size: 1.3rem;
        line-height: 1.54
    }
}

.companyGroup__companyMetaItem ._value {
    flex: 1;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.71;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .companyGroup__companyMetaItem ._value {
        flex:0;
        margin-top: .4rem;
        font-size: 1.3rem;
        line-height: 1.54
    }
}

.companyGroup__companyUrl {
    display: inline-flex;
    align-items: center;
    margin-top: 2.7rem;
    padding: .5rem .4rem;
    font-style: normal;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.42;
    letter-spacing: .04em;
    color: #168352;
    border-bottom: 1px solid currentColor;
    transition: border-color .2s ease-out
}

@media only screen and (max-width: 767px) {
    .companyGroup__companyUrl {
        margin-top:1.2rem;
        font-size: 1.2rem
    }
}

@media (hover: hover) {
    .companyGroup__companyUrl:hover {
        border-color:transparent
    }
}

.companyGroup__companyUrl .c-svg {
    margin-left: 1rem;
    width: 1.3rem
}

@media only screen and (max-width: 767px) {
    .companyGroup__companyUrl .c-svg {
        margin-left:1.2rem;
        width: 1rem
    }
}

.companyGroup__companyUrl .c-svg__inner {
    padding-top: calc(14 / 13 * 100%)
}

.companyOfficer {
    padding: 7.8125vw 0 15.9375vw 6.25vw
}

@media only screen and (max-width: 767px) {
    .companyOfficer {
        padding:0 0 7.2rem
    }
}

.companyOfficer__officers:not(:first-child) {
    margin-top: 9.375vw
}

@media only screen and (max-width: 767px) {
    .companyOfficer__officers:not(:first-child) {
        margin-top:8.9rem
    }
}

.companyOfficer__list {
    display: flex;
    flex-wrap: wrap;
    gap: 3.125vw 1.40625vw;
    margin-top: 3.75vw
}

@media only screen and (max-width: 767px) {
    .companyOfficer__list {
        justify-content:space-between;
        gap: 2.9rem normal;
        margin-top: 3.5rem
    }
}

.companyOfficer__listItem {
    width: calc(262 / 824 * 100%)
}

@media only screen and (max-width: 767px) {
    .companyOfficer__listItem {
        width:16rem
    }
}

.companyOfficer__listItem.is-text-only {
    padding-top: .3rem
}

@media only screen and (max-width: 767px) {
    .companyOfficer__listItem.is-text-only {
        padding-top:0;
        padding-right: 1.5rem;
        width: auto
    }
}

.companyOfficer__member ._visual {
    overflow: hidden;
    border-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .companyOfficer__member ._visual {
        border-radius:3rem
    }
}

.companyOfficer__member ._visual .c-picture {
    width: 100%
}

.companyOfficer__member ._visual .c-picture picture {
    padding-top: calc(320 / 262 * 100%)
}

.companyOfficer__member ._about:not(:first-child) {
    margin-top: .70312vw
}

.companyOfficer__member ._roll {
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 2.58;
    letter-spacing: .04em;
    color: #8d8d8d
}

@media only screen and (max-width: 767px) {
    .companyOfficer__member ._roll {
        font-size:1rem;
        line-height: 3.1
    }
}

.companyOfficer__member ._name {
    font-style: normal;
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.11;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .companyOfficer__member ._name {
        font-size:1.6rem;
        line-height: 1
    }
}

.companyOfficer__member ._kana {
    margin-left: .7rem;
    font-style: normal;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 2.82;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .companyOfficer__member ._kana {
        margin-left:0;
        font-size: 1rem;
        line-height: 1.3
    }
}

.companyPurpose {
    padding: 7.89062vw 0 16.71875vw 6.25vw
}

@media only screen and (max-width: 767px) {
    .companyPurpose {
        padding:0 1.5rem 8.3rem
    }
}

.companyPurpose__block {
    display: flex
}

@media only screen and (max-width: 767px) {
    .companyPurpose__block {
        flex-flow:column
    }
}

.companyPurpose__block+.companyPurpose__block {
    margin-top: 7.65625vw;
    padding-top: 7.8125vw;
    border-top: 1px solid rgba(37,30,28,.1)
}

@media only screen and (max-width: 767px) {
    .companyPurpose__block+.companyPurpose__block {
        margin-top:5.4rem;
        padding-top: 6rem
    }
}

.companyPurpose__title {
    display: flex;
    flex-flow: column;
    width: 26.2rem
}

@media only screen and (max-width: 767px) {
    .companyPurpose__title {
        width:auto
    }
}

.companyPurpose__title ._main {
    margin-left: -.3125vw;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 5.1rem;
    font-weight: 600;
    line-height: .72;
    letter-spacing: -.04em
}

@media only screen and (max-width: 767px) {
    .companyPurpose__title ._main {
        font-size:4.2rem;
        line-height: .88
    }
}

.companyPurpose__title ._sub {
    margin-top: 1.32812vw;
    font-style: normal;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.06em;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .companyPurpose__title ._sub {
        margin-top:.6rem;
        font-size: 1.3rem;
        line-height: 2.38
    }
}

.companyPurpose__texts {
    position: relative;
    margin-left: 11rem;
    width: 46.7rem
}

@media only screen and (max-width: 767px) {
    .companyPurpose__texts {
        margin:4rem 0 0;
        width: auto
    }
}

.companyPurpose__texts:lang(en-US) {
    width: 45.2rem
}

@media only screen and (max-width: 767px) {
    .companyPurpose__texts:lang(en-US) {
        width:auto
    }
}

.companyPurpose__texts::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 2.34375vw;
    height: 1px;
    background: green
}

@media only screen and (max-width: 767px) {
    .companyPurpose__texts::before {
        width:2.8rem
    }
}

.companyPurpose__textsHead {
    padding-top: 3.125vw;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.64;
    letter-spacing: .04em;
    color: #168352
}

@media only screen and (max-width: 767px) {
    .companyPurpose__textsHead {
        padding-top:2.6rem;
        font-size: 2.2rem;
        line-height: 1.54
    }
}

.companyPurpose__textsBody {
    margin-top: 2.03125vw;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .companyPurpose__textsBody {
        margin-top:2.2rem;
        padding-right: .9rem;
        font-size: 1.5rem;
        line-height: 1.73
    }
}

.companyOutline {
    padding: 7.8125vw 0 17.5vw 6.25vw
}

@media only screen and (max-width: 767px) {
    .companyOutline {
        padding:0 0 9.1rem
    }
}

.companyOutline__basicInformationBody {
    margin-top: 3.75vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__basicInformationBody {
        margin-top:3.7rem
    }
}

.companyOutline__group {
    margin-top: 9.375vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__group {
        margin-top:14.2rem
    }
}

.companyOutline__groupBody {
    margin-top: 3.67188vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__groupBody {
        margin-top:3.7rem
    }
}

.companyOutline__groupMessage {
    font-style: normal;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .companyOutline__groupMessage {
        font-size:1.4rem;
        line-height: 1.86
    }
}

.companyOutline__groupLink {
    margin-top: 3.125vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__groupLink {
        display:flex;
        justify-content: center;
        margin-top: 2.9rem
    }
}

.companyOutline__tieUp {
    margin-top: 9.375vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__tieUp {
        margin-top:8rem
    }
}

.companyOutline__tieUpCompanies {
    display: flex;
    justify-content: space-between;
    margin-top: 3.75vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__tieUpCompanies {
        margin-top:3.7rem
    }
}

.companyOutline__tieUpCompanyItem {
    width: 29.6875vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__tieUpCompanyItem {
        width:16rem
    }
}

.companyOutline__tieUpCompany {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 29.14062vw;
    border: 2px solid rgba(37,30,28,.1);
    border-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__tieUpCompany {
        height:16rem;
        border-radius: 3rem
    }
}

.companyOutline__tieUpCompany ._logo {
    width: 21.01562vw;
    height: 11.01562vw;
    -o-object-fit: contain;
    object-fit: contain
}

@media only screen and (max-width: 767px) {
    .companyOutline__tieUpCompany ._logo {
        width:12.2rem;
        height: 7.2rem
    }
}

.companyOutline__tieUpCompanyLink {
    display: inline-flex;
    align-items: center;
    margin-top: 1.25vw;
    padding: .4rem .4rem;
    font-style: normal;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.43;
    letter-spacing: .04em;
    color: #168352;
    border-bottom: 1px solid currentColor;
    transition: border-color .2s ease-out
}

@media only screen and (max-width: 767px) {
    .companyOutline__tieUpCompanyLink {
        margin-top:.9rem;
        padding: .4rem .5rem;
        font-size: 1.2rem;
        line-height: 1.42
    }
}

@media (hover: hover) {
    .companyOutline__tieUpCompanyLink:hover {
        border-color:transparent
    }
}

.companyOutline__tieUpCompanyLink .c-svg {
    margin-left: .8rem;
    width: 1.4rem
}

@media only screen and (max-width: 767px) {
    .companyOutline__tieUpCompanyLink .c-svg {
        margin-left:.7rem;
        width: 1.1rem
    }
}

.companyOutline__tieUpCompanyLink .c-svg__inner {
    padding-top: calc(14 / 13 * 100%)
}

.companyOutline__client {
    margin-top: 9.375vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__client {
        margin-top:8rem
    }
}

.companyOutline__clientBody {
    display: flex;
    gap: normal 5vw;
    margin-top: 3.75vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__clientBody {
        flex-direction:column;
        margin-top: 3.7rem
    }
}

.companyOutline__membership {
    margin-top: 9.375vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__membership {
        margin-top:8rem
    }
}

.companyOutline__membershipBody {
    display: flex;
    gap: normal 5vw;
    margin-top: 3.75vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__membershipBody {
        flex-direction:column;
        margin-top: 3.7rem
    }
}

.companyOutline__relevantSites {
    margin-top: 9.375vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__relevantSites {
        margin-top:8rem
    }
}

.companyOutline__relevantSitesBody {
    margin-top: 3.75vw
}

@media only screen and (max-width: 767px) {
    .companyOutline__relevantSitesBody {
        margin-top:3.7rem
    }
}

.companyOutline__relevantSitesList {
    display: flex;
    gap: 2.10938vw 1.40625vw;
    flex-wrap: wrap
}

@media only screen and (max-width: 767px) {
    .companyOutline__relevantSitesList {
        gap:1.5rem normal;
        justify-content: space-between
    }
}

.companyOutline__relevantSitesItem {
    width: calc((100% - (1.484vw * 2))/ 3)
}

@media only screen and (max-width: 767px) {
    .companyOutline__relevantSitesItem {
        width:16rem
    }
}

.co-companyInfoList__item {
    display: flex;
    border-bottom: 1px solid rgba(37,30,28,.1)
}

.co-companyInfoList__item:first-child {
    border-top: 1px solid rgba(37,30,28,.1)
}

.co-companyInfoList__item ._label {
    padding: 2.03125vw 2.57812vw;
    width: 15.625vw;
    font-style: normal;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.86;
    letter-spacing: .04em;
    color: #251e1c;
    background-color: #f4f4f4;
    border-right: 1px solid rgba(37,30,28,.1)
}

@media only screen and (max-width: 767px) {
    .co-companyInfoList__item ._label {
        padding:2.3rem 1.6rem 2.4rem;
        width: 10.5rem;
        font-size: 1.3rem;
        line-height: 1.54
    }
}

.co-companyInfoList__item ._value {
    flex: 1;
    padding: 2.03125vw 2.57812vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.71;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .co-companyInfoList__item ._value {
        padding:2.3rem 1.8rem 2.4rem 1.6rem;
        font-size: 1.3rem;
        line-height: 1.54
    }
}

.co-companyInfoList__item ._value li:not(:first-child) {
    margin-top: .625vw
}

@media only screen and (max-width: 767px) {
    .co-companyInfoList__item ._value li:not(:first-child) {
        margin-top:.8rem
    }
}

.co-companyInfoList__item ._link {
    margin-top: .4rem;
    padding: .4rem .3rem;
    font-style: normal;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.43;
    letter-spacing: .04em;
    color: #168352;
    border-bottom: 1px solid currentColor;
    transition: border-color .2s ease-out
}

@media only screen and (max-width: 767px) {
    .co-companyInfoList__item ._link {
        font-size:1.3rem;
        line-height: 1.46
    }
}

@media (hover: hover) {
    .co-companyInfoList__item ._link:hover {
        border-color:transparent
    }
}

.co-companySlide {
    margin-top: 4.6875vw
}

@media only screen and (max-width: 767px) {
    .co-companySlide {
        margin-top:5rem
    }
}

.co-companySlide iframe {
    margin-top: 3.51562vw!important;
    width: 100%!important;
    height: 36.09375vw!important
}

@media only screen and (max-width: 767px) {
    .co-companySlide iframe {
        margin-top:2.3rem!important;
        height: 18.9rem!important
    }
}

.co-companyOrganization {
    position: relative;
    margin-top: 4.6875vw
}

@media only screen and (max-width: 767px) {
    .co-companyOrganization {
        margin-top:5rem
    }
}

.co-companyOrganization .c-picture {
    margin-top: 3.51562vw;
    width: 100%
}

@media only screen and (max-width: 767px) {
    .co-companyOrganization .c-picture {
        margin-top:2.3rem
    }
}

.co-companyOrganization .c-picture picture {
    padding-top: calc(2844 / 1646 * 100%)
}

.co-companyOrganization__btn {
    position: absolute;
    bottom: -6.2rem;
    left: 50%;
    display: flex;
    align-items: center;
    padding: 1rem 1.7rem 1rem 2.3rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: 6.2rem;
    background: #168352;
    transform: translateX(-50%)
}

@media only screen and (min-width: 768px) {
    .co-companyOrganization__btn {
        display:none
    }
}

.co-companyOrganization__btn ._text {
    font-family: Roboto,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .04em;
    color: #fff
}

.co-companyOrganization__btn ._zoom {
    margin-left: .7rem
}

.co-companyOrganization__btn ._zoom .c-svg {
    width: 1.7rem;
    height: 1.7rem
}

.co-companyOrganization__btn ._zoom path {
    stroke: #fff
}

.co-companyClient {
    flex: 1
}

@media only screen and (max-width: 767px) {
    .co-companyClient {
        width:100%
    }
}

@media only screen and (max-width: 767px) {
    .co-companyClient:not(:first-child) {
        margin-top:5rem
    }
}

.co-companyClient__list {
    margin-top: 2.73438vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.86;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .co-companyClient__list {
        margin-top:2.4rem;
        font-size: 1.3rem;
        line-height: 2.15
    }
}

.co-companyClient__list ._slash {
    margin: 0 .6rem
}

@media only screen and (max-width: 767px) {
    .co-companyClient__list ._slash {
        margin:0 .5rem
    }
}

.co-companyMembership {
    flex: 1
}

@media only screen and (max-width: 767px) {
    .co-companyMembership {
        width:100%
    }
}

@media only screen and (max-width: 767px) {
    .co-companyMembership:not(:first-child) {
        margin-top:5rem
    }
}

.co-companyMembership__list {
    margin-top: 2.73438vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.86;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .co-companyMembership__list {
        margin-top:2.4rem;
        font-size: 1.3rem;
        line-height: 2.15
    }
}

.co-companyMembership__list ._slash {
    margin: 0 .6rem
}

@media only screen and (max-width: 767px) {
    .co-companyMembership__list ._slash {
        margin:0 .5rem
    }
}

.co-companyRelevantSite {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1.79687vw 2.42188vw;
    min-height: 100%;
    border: 2px solid rgba(37,30,28,.1);
    border-radius: .46875vw
}

@media only screen and (max-width: 767px) {
    .co-companyRelevantSite {
        padding:2.4rem 1.4rem;
        border-radius: .6rem
    }
}

.co-companyRelevantSite__title {
    font-style: normal;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.38;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .co-companyRelevantSite__title {
        font-size:1.4rem;
        line-height: 1.57
    }
}

.co-companyRelevantSite__link {
    display: flex;
    align-items: center;
    margin-top: .9375vw;
    padding: .4rem .4rem;
    font-style: normal;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.43;
    letter-spacing: .04em;
    color: #168352;
    border-bottom: 1px solid currentColor;
    transition: border-color .2s ease-out
}

@media only screen and (max-width: 767px) {
    .co-companyRelevantSite__link {
        margin-top:1.2rem;
        padding: .4rem .5rem;
        font-size: 1.2rem;
        line-height: 1.42
    }
}

@media (hover: hover) {
    .co-companyRelevantSite__link:hover {
        border-color:transparent
    }
}

.co-companyRelevantSite__link .c-svg {
    margin-left: .8rem;
    width: 1.4rem
}

@media only screen and (max-width: 767px) {
    .co-companyRelevantSite__link .c-svg {
        margin-left:.7rem;
        width: 1.1rem
    }
}

.co-companyRelevantSite__link .c-svg__inner {
    padding-top: calc(14 / 13 * 100%)
}

.companyHistory {
    padding: 7.8125vw 0 17.10938vw 6.25vw
}

@media only screen and (max-width: 767px) {
    .companyHistory {
        padding:0 0 9rem
    }
}

.companyHistory__link {
    display: flex
}

.companyHistory__linkItem {
    border-radius: 6px;
    background: #f4f4f4
}

.companyHistory__linkItem+.companyHistory__linkItem {
    margin-left: .70312vw
}

@media only screen and (max-width: 767px) {
    .companyHistory__linkItem+.companyHistory__linkItem {
        margin-left:.5rem
    }
}

.companyHistory__linkItemContents {
    display: flex;
    align-items: center;
    padding: .85938vw 1.01562vw
}

@media only screen and (max-width: 767px) {
    .companyHistory__linkItemContents {
        padding:1.4rem .8rem 1.2rem .9rem
    }
}

@media (hover: hover) {
    .companyHistory__linkItemContents:hover ._arrow .c-svg {
        -webkit-animation:kf-scroll-arrow .8s ease-in-out 0s normal both;
        animation: kf-scroll-arrow .8s ease-in-out 0s normal both
    }
}

.companyHistory__linkItemContents ._arrow {
    overflow: hidden
}

.companyHistory__linkItemContents ._arrow .c-svg {
    width: 1.1rem;
    height: 1.1rem
}

@media only screen and (max-width: 767px) {
    .companyHistory__linkItemContents ._arrow .c-svg {
        width:.9rem;
        height: .9rem
    }
}

.companyHistory__linkItemContents ._text {
    padding-left: .3rem;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1
}

@media only screen and (max-width: 767px) {
    .companyHistory__linkItemContents ._text {
        padding-left:.4rem;
        font-size: 1.2rem
    }
}

.companyHistory__linkItemContents ._year {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif
}

.companyHistory__timeline {
    margin-top: 3.125vw;
    border: 0 solid rgba(37,30,28,.1);
    border-width: 1px 0
}

@media only screen and (max-width: 767px) {
    .companyHistory__timeline {
        margin-top:3.9rem
    }
}

.companyHistory__timelineBlock {
    display: flex;
    align-items: flex-start;
    padding: 2.42188vw 0 2.26562vw
}

@media only screen and (max-width: 767px) {
    .companyHistory__timelineBlock {
        padding:2.9rem 0 2.3rem
    }
}

.companyHistory__timelineBlock+.companyHistory__timelineBlock {
    border-top: 1px solid rgba(37,30,28,.1)
}

.companyHistory__timelineBlockHead {
    display: flex;
    align-items: center;
    position: relative;
    min-width: 5.9375vw;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.29
}

@media only screen and (max-width: 767px) {
    .companyHistory__timelineBlockHead {
        min-width:5rem;
        font-size: 1.5rem
    }
}

.companyHistory__timelineBlockHead::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -1.79687vw;
    width: .46875vw;
    height: .46875vw;
    transform: translateY(-50%);
    border-radius: 100%;
    background: #168352
}

@media only screen and (max-width: 767px) {
    .companyHistory__timelineBlockHead::after {
        right:-1.1rem;
        width: .4rem;
        height: .4rem
    }
}

.companyHistory__timelineBlockHead ._year {
    margin-left: .15625vw;
    font-family: "Noto Sans JP","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2.06
}

@media only screen and (max-width: 767px) {
    .companyHistory__timelineBlockHead ._year {
        margin-left:.2rem;
        font-size: 1.1rem
    }
}

.companyHistory__timelineBlockBody {
    margin-top: .3125vw;
    margin-left: 4.92188vw;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .companyHistory__timelineBlockBody {
        margin-top:0;
        margin-left: 2.8rem;
        font-size: 1.3rem;
        line-height: 1.53
    }
}

.companyNetwork {
    padding: 7.8125vw 0 15vw 6.25vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork {
        padding:0 0 6.2rem
    }
}

.companyNetwork__headOfficeInfo {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: 3.75vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__headOfficeInfo {
        flex-flow:column;
        margin-top: 3.8rem
    }
}

.companyNetwork__headOfficeInfoHead:lang(en-US) {
    width: 22.57812vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__headOfficeInfoHead:lang(en-US) {
        width:100%
    }
}

.companyNetwork__headOfficeInfoHead ._address {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .companyNetwork__headOfficeInfoHead ._address {
        font-size:1.5rem;
        line-height: 1.73
    }
}

@media only screen and (max-width: 767px) {
    .companyNetwork__headOfficeInfoBody {
        display:flex;
        flex-flow: wrap;
        margin: 3.5rem 0 0
    }
}

@media only screen and (max-width: 767px) {
    .companyNetwork__contact {
        display:flex;
        flex-flow: column;
        width: 13.4rem
    }
}

@media only screen and (max-width: 767px) {
    .companyNetwork__contact:lang(en-US) {
        width:calc((100% - 3.4rem)/ 2)
    }
}

.companyNetwork__contact+.companyNetwork__contact {
    margin-top: .70312vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__contact+.companyNetwork__contact {
        margin:0
    }
}

@media only screen and (max-width: 767px) {
    .companyNetwork__contact:nth-child(2n) {
        margin-left:3.4rem
    }
}

@media only screen and (max-width: 767px) {
    .companyNetwork__contact:nth-child(n+3) {
        margin-top:2.2rem
    }
}

.companyNetwork__map {
    position: relative;
    display: flex;
    align-items: center;
    margin-top: 2.34375vw;
    padding: .8rem 1.6rem .8rem 1.9rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background: #168352;
    border: 2px solid #168352;
    border-radius: 6.2rem;
    overflow: hidden;
    z-index: 1
}

@media only screen and (max-width: 767px) {
    .companyNetwork__map {
        margin-top:2.3rem;
        padding: 1.3rem 1.8rem 1.1rem 1.8rem
    }
}

.companyNetwork__map::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    width: 15rem;
    height: 15rem;
    background-color: #fff;
    border-radius: 50%;
    content: "";
    transform: translate(-50%,-50%) scale(0);
    transition: transform .4s ease-out
}

@media (hover: hover) {
    .companyNetwork__map:hover::after {
        transform:translate(-50%,-50%) scale(1)
    }

    .companyNetwork__map:hover ._text {
        color: #168352
    }

    .companyNetwork__map:hover ._external path {
        stroke: #168352
    }
}

.companyNetwork__map ._text {
    font-family: Roboto,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: .04em;
    color: #fff;
    z-index: 1;
    transition: color .2s ease-out
}

.companyNetwork__map ._external {
    margin-left: 1rem
}

@media only screen and (max-width: 767px) {
    .companyNetwork__map ._external {
        margin-left:.7rem
    }
}

.companyNetwork__map ._external .c-svg {
    width: 1.4rem;
    height: 1.4rem
}

.companyNetwork__map ._external .c-svg svg {
    z-index: 1
}

.companyNetwork__map ._external path {
    stroke: #fff;
    transition: stroke .2s ease-out
}

.companyNetwork__division {
    flex: 1;
    min-width: 14.84375vw;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.53;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .companyNetwork__division {
        flex:initial;
        margin: 0;
        min-width: auto
    }
}

.companyNetwork__contact {
    display: flex
}

.companyNetwork__fax,.companyNetwork__tel {
    font-size: 1.3rem;
    line-height: 1.61;
    letter-spacing: .058em
}

.companyNetwork__tel {
    margin-left: auto;
    text-decoration: none;
    pointer-events: none
}

@media only screen and (max-width: 767px) {
    .companyNetwork__tel {
        margin:.4rem 0 0;
        -webkit-text-decoration: auto;
        text-decoration: auto;
        pointer-events: auto
    }
}

.companyNetwork__fax {
    margin-left: 1.09375vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__fax {
        margin-left:0
    }
}

@media only screen and (max-width: 767px) {
    .companyNetwork__telNumber {
        text-decoration:underline
    }
}

.companyNetwork__link {
    display: flex;
    margin-top: 3.75vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__link {
        margin-top:3rem
    }
}

.companyNetwork__linkItem {
    border-radius: 6px;
    background: #f4f4f4
}

.companyNetwork__linkItem+.companyNetwork__linkItem {
    margin-left: .70312vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__linkItem+.companyNetwork__linkItem {
        margin-left:.9rem
    }
}

.companyNetwork__linkItemContents {
    display: flex;
    align-items: center;
    padding: 1.01562vw .9375vw .78125vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__linkItemContents {
        padding:1.4rem .6rem 1.4rem .5rem
    }
}

@media (hover: hover) {
    .companyNetwork__linkItemContents:hover ._arrow .c-svg {
        -webkit-animation:kf-scroll-arrow .8s ease-in-out 0s normal both;
        animation: kf-scroll-arrow .8s ease-in-out 0s normal both
    }
}

.companyNetwork__linkItemContents ._arrow {
    overflow: hidden
}

.companyNetwork__linkItemContents ._arrow .c-svg {
    width: 1.1rem;
    height: 1.1rem
}

@media only screen and (max-width: 767px) {
    .companyNetwork__linkItemContents ._arrow .c-svg {
        width:.9rem;
        height: .9rem
    }
}

.companyNetwork__linkItemContents ._text {
    padding-left: .5rem;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1
}

@media only screen and (max-width: 767px) {
    .companyNetwork__linkItemContents ._text {
        padding-left:.4rem;
        font-size: 1rem
    }
}

.companyNetwork__branchOfficeInfo {
    margin-top: 3.125vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__branchOfficeInfo {
        margin-top:4rem
    }
}

.companyNetwork__branchOfficeInfoBody {
    margin-top: .39062vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__branchOfficeInfoBody {
        margin-top:-.5rem
    }
}

.companyNetwork__branchOfficeInfoItem+.companyNetwork__branchOfficeInfoItem {
    margin-top: 3.75vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__branchOfficeInfoItem+.companyNetwork__branchOfficeInfoItem {
        margin-top:2rem
    }
}

.companyNetwork__infoListItem {
    display: flex;
    position: relative;
    padding: 2.34375vw 0 2.5vw 2.8125vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__infoListItem {
        padding:3rem
    }
}

.companyNetwork__infoListItem+.companyNetwork__infoListItem {
    border-top: 1px solid rgba(37,30,28,.1)
}

.companyNetwork__detail {
    display: flex
}

@media only screen and (max-width: 767px) {
    .companyNetwork__detail {
        flex-flow:column;
        width: 100%
    }
}

.companyNetwork__detailHead {
    min-width: 13.59375vw;
    width: 13.59375vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__detailHead {
        min-width:100%;
        width: auto
    }
}

.companyNetwork__detailHead ._office {
    position: relative;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.43;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .companyNetwork__detailHead ._office {
        font-size:1.4rem;
        line-height: 1.64
    }
}

.companyNetwork__detailHead ._office::before {
    content: "";
    display: block;
    position: absolute;
    top: 1.2rem;
    left: -2rem;
    width: 1.2rem;
    height: 2px;
    background: #251e1c
}

@media only screen and (max-width: 767px) {
    .companyNetwork__detailHead ._office::before {
        top:1rem;
        left: -1.6rem;
        width: .8rem
    }
}

.companyNetwork__detailBody {
    margin-left: 5.46875vw;
    width: calc(100% - 13.593vw)
}

@media only screen and (max-width: 767px) {
    .companyNetwork__detailBody {
        display:flex;
        flex-flow: column;
        margin: .8rem 0 0;
        width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .companyNetwork__detailBody:lang(en-US) {
        width:100%
    }
}

.companyNetwork__detailBody ._address {
    max-width: 41rem;
    max-width: 30.46875vw;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.73;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .companyNetwork__detailBody ._address {
        order:1;
        min-width: 100%;
        max-width: 100%;
        font-size: 1.3rem;
        line-height: 1.69
    }
}

.companyNetwork__detailBody .companyNetwork__contact {
    margin-top: 1.5625vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__detailBody .companyNetwork__contact {
        flex-flow:wrap;
        align-items: baseline;
        order: 3;
        margin: 1.6rem 0 0;
        width: 100%
    }
}

.companyNetwork__detailBody .companyNetwork__contact+.companyNetwork__contact {
    margin-top: .46875vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__detailBody .companyNetwork__contact+.companyNetwork__contact {
        margin-top:1rem
    }
}

.companyNetwork__detailBody .companyNetwork__contact .companyNetwork__division {
    min-width: 13.67188vw;
    margin-right: 1.79687vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__detailBody .companyNetwork__contact .companyNetwork__division {
        margin:.2rem 0 0;
        width: 100%;
        min-width: auto
    }
}

.companyNetwork__detailBody .companyNetwork__contact .companyNetwork__tel {
    margin: 0
}

@media only screen and (max-width: 767px) {
    .companyNetwork__detailBody .companyNetwork__contact .companyNetwork__tel {
        margin-top:.4rem;
        margin-right: 1.8rem
    }
}

.companyNetwork__detailBody .companyNetwork__contact .companyNetwork__fax {
    margin-left: 1.5625vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__detailBody .companyNetwork__contact .companyNetwork__fax {
        margin-top:.4rem;
        margin-left: 0
    }
}

.companyNetwork__detailBody .companyNetwork__map {
    position: absolute;
    top: 2.8rem;
    right: 0;
    margin: 0
}

@media only screen and (max-width: 767px) {
    .companyNetwork__detailBody .companyNetwork__map {
        order:2;
        position: static;
        top: 0;
        right: 0;
        margin-top: 1.3rem
    }
}

._branchOffice {
    margin-top: 9.375vw
}

@media only screen and (max-width: 767px) {
    ._branchOffice {
        margin-top:8rem
    }
}

.companyNetwork__businessHour {
    margin-top: 1.5625vw
}

@media only screen and (max-width: 767px) {
    .companyNetwork__businessHour {
        order:4;
        margin-top: 1.6rem
    }
}

.companyNetwork__businessHour ._line {
    font-size: 1.3rem;
    line-height: 1.61;
    letter-spacing: .058em
}

.business {
    padding: 1.40625vw 0 8.90625vw
}

@media only screen and (max-width: 767px) {
    .business {
        padding:3.9rem 0 0
    }
}

.business__mainVisual {
    overflow: hidden;
    border-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .business__mainVisual {
        border-radius:3rem
    }
}

.business__mainVisual .c-picture {
    width: 100%
}

.business__mainVisual .c-picture picture {
    padding-top: calc(1212 / 1994 * 100%)
}

@media only screen and (max-width: 767px) {
    .business__mainVisual .c-picture picture {
        padding-top:calc(887 / 670 * 100%)
    }
}

.business__divider {
    margin: 7.57812vw 0 7.8125vw;
    border-color: rgba(37,30,28,.1)
}

@media only screen and (max-width: 767px) {
    .business__divider {
        margin:4rem 0
    }
}

.business__pageItem:not(:first-child) {
    margin-top: 6.25vw
}

@media only screen and (max-width: 767px) {
    .business__pageItem:not(:first-child) {
        margin-top:6.4rem
    }
}

.business__pageItem:nth-child(odd) .business__page {
    justify-content: flex-end
}

.business__pageItem:nth-child(odd) .business__pageContent {
    right: auto;
    left: -4.6875vw
}

.business__page {
    position: relative;
    display: flex
}

@media only screen and (max-width: 767px) {
    .business__page {
        flex-direction:column
    }
}

.business__pageVisual {
    overflow: hidden;
    border-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .business__pageVisual {
        border-radius:3rem
    }
}

.business__pageVisual .c-picture {
    width: 56.09375vw
}

@media only screen and (max-width: 767px) {
    .business__pageVisual .c-picture {
        width:100%
    }
}

.business__pageVisual .c-picture picture {
    padding-top: calc(880 / 1436 * 100%)
}

@media only screen and (max-width: 767px) {
    .business__pageVisual .c-picture picture {
        padding-top:calc(896 / 1436 * 100%)
    }
}

.business__pageContent {
    position: absolute;
    top: 50%;
    right: -4.6875vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.5625vw 3.90625vw 1.5625vw 4.6875vw;
    width: 41.09375vw;
    min-height: 23.4375vw;
    background-color: #fff;
    border-radius: 3.125vw;
    transform: translateY(-50%)
}

@media only screen and (max-width: 767px) {
    .business__pageContent {
        position:static;
        top: auto;
        right: auto;
        left: auto;
        align-items: center;
        margin-top: 2.4rem;
        padding: 0;
        width: auto;
        min-height: auto;
        transform: none;
        border-radius: 0
    }
}

.business__pageContent ._title {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 4rem;
    line-height: .95;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .business__pageContent ._title {
        font-size:2.2rem;
        line-height: 1;
        text-align: center
    }
}

.business__pageContent ._description {
    margin-top: 1.17188vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.44;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .business__pageContent ._description {
        margin-top:1.1rem;
        font-size: 1.3rem;
        line-height: 1.54;
        text-align: center
    }
}

.business__pageContent ._link {
    margin-top: 2.34375vw
}

@media only screen and (max-width: 767px) {
    .business__pageContent ._link {
        margin-top:2.2rem
    }
}

.bu-detailHeading__title {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.53;
    letter-spacing: .04em;
    color: #473221
}

@media only screen and (max-width: 767px) {
    .bu-detailHeading__title {
        font-size:2.2rem;
        line-height: 1.72
    }
}

.bu-detailHeading__text {
    margin-top: 2.34375vw;
    font-size: 1.6rem;
    line-height: 1.62;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .bu-detailHeading__text {
        margin-top:2.2rem;
        font-size: 1.4rem;
        line-height: 1.42
    }
}

.bu-detailBody {
    position: relative;
    margin-top: 3.90625vw;
    padding-top: 5.3125vw;
    border-top: 1px solid rgba(37,30,28,.1)
}

@media only screen and (max-width: 767px) {
    .bu-detailBody {
        margin-top:4rem;
        padding-top: 4.8rem
    }
}

.bu-detailBody__info {
    display: grid;
    grid-template-areas: 'title visual' 'text visual';
    justify-content: space-between
}

@media only screen and (max-width: 767px) {
    .bu-detailBody__info {
        grid-template-areas:'title' 'visual' 'text'
    }
}

@media only screen and (min-width: 768px) {
    .bu-detailBody__info:nth-child(even) {
        grid-template-areas:'visual title' 'visual text'
    }
}

.bu-detailBody__info+.bu-detailBody__info {
    margin-top: 3.90625vw
}

@media only screen and (max-width: 767px) {
    .bu-detailBody__info+.bu-detailBody__info {
        margin-top:4.8rem
    }
}

.bu-detailBody__info._lists {
    display: block;
    grid-template-areas: none;
    justify-content: inherit
}

.bu-detailBody__info._lists .bu-detailBody__text,.bu-detailBody__info._lists .bu-detailBody__titles {
    width: 100%
}

@media only screen and (max-width: 767px) {
    .bu-detailBody__info._lists .bu-detailBody__text {
        margin-top:1.7rem
    }
}

@media only screen and (max-width: 767px) {
    .bu-detailBody__info._lists .bu-detailBody__visual {
        width:16.4rem;
        height: 16.4rem
    }
}

.bu-detailBody__visual {
    grid-area: visual;
    width: 29.6875vw;
    height: 29.14062vw
}

@media only screen and (max-width: 767px) {
    .bu-detailBody__visual {
        margin-top:1.5rem;
        width: 100%;
        height: 32.8rem
    }
}

.bu-detailBody__visual .c-picture {
    width: 100%;
    height: 100%
}

.bu-detailBody__visual .c-picture picture {
    padding: 0;
    height: 100%
}

.bu-detailBody__titles {
    display: flex;
    grid-area: title;
    align-items: center;
    margin-top: auto;
    width: 29.6875vw;
    height: 3.6rem
}

@media only screen and (max-width: 767px) {
    .bu-detailBody__titles {
        margin:0;
        width: 100%;
        height: auto
    }
}

.bu-detailBody__icon .c-svg {
    width: 3.6rem
}

@media only screen and (max-width: 767px) {
    .bu-detailBody__icon .c-svg {
        width:3rem
    }
}

.bu-detailBody__title {
    margin-left: .8rem;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .bu-detailBody__title {
        font-size:1.8rem;
        line-height: 1.44
    }
}

.bu-detailBody__text {
    grid-area: text;
    margin-top: 1.32812vw;
    width: 29.6875vw;
    font-size: 1.4rem;
    line-height: 1.57;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .bu-detailBody__text {
        margin-top:2.4rem;
        width: 100%;
        line-height: 1.85
    }
}

.bu-detailBody__list {
    display: flex;
    justify-content: space-between;
    margin-top: 3.75vw
}

@media only screen and (max-width: 767px) {
    .bu-detailBody__list {
        margin-top:1rem
    }
}

.bu-detailBody__companyUrl {
    display: inline-flex;
    align-items: center;
    margin-top: 1.5rem;
    padding: .5rem .4rem;
    font-style: normal;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.42;
    letter-spacing: .04em;
    color: #168352;
    border-bottom: 1px solid currentColor;
    transition: border-color .2s ease-out
}

@media only screen and (max-width: 767px) {
    .bu-detailBody__companyUrl {
        margin-top:.8rem;
        font-size: 1.2rem
    }
}

@media (hover: hover) {
    .bu-detailBody__companyUrl:hover {
        border-color:transparent
    }
}

.bu-detailBody__companyUrl .c-svg {
    margin-left: 1rem;
    width: 1.3rem
}

@media only screen and (max-width: 767px) {
    .bu-detailBody__companyUrl .c-svg {
        margin-left:.8rem;
        width: 1.2rem
    }
}

.bu-detailBody__companyUrl .c-svg__inner {
    padding-top: calc(14 / 13 * 100%)
}

.businessHomeGarden {
    padding: 7.03125vw 0 16.40625vw 6.25vw
}

@media only screen and (max-width: 767px) {
    .businessHomeGarden {
        padding:0
    }
}

@media only screen and (min-width: 768px) {
    [data-small-page-type=consumer_contents] .cbd__headerTexts {
        padding:3.125vw 3.125vw 1.875vw 3.125vw
    }
}

@media only screen and (max-width: 767px) {
    [data-small-page-type=consumer_contents] .cbd__title {
        line-height:1.1
    }
}

.businessConsumerContents {
    padding: 7.03125vw 0 20vw 6.25vw
}

@media only screen and (max-width: 767px) {
    .businessConsumerContents {
        padding:0
    }
}

.businessLogistics {
    padding: 7.03125vw 0 16.40625vw 6.25vw
}

@media only screen and (max-width: 767px) {
    .businessLogistics {
        padding:0
    }
}

.businessAgriPro {
    padding: 7.03125vw 0 16.40625vw 6.25vw
}

@media only screen and (max-width: 767px) {
    .businessAgriPro {
        padding:0
    }
}

.businessFarmFoods {
    padding: 7.03125vw 0 16.40625vw 6.25vw
}

@media only screen and (max-width: 767px) {
    .businessFarmFoods {
        padding:0
    }
}

.news__header {
    display: flex;
    align-items: center;
    justify-content: space-between
}

@media only screen and (max-width: 767px) {
    .news__category {
        width:16rem
    }
}

.news__year {
    width: 10.8rem
}

@media only screen and (max-width: 767px) {
    .news__year {
        width:16rem
    }
}

.news__categoryList {
    display: flex
}

.news__categoryItem:not(:first-child) {
    margin-left: 3.3rem
}

.news__categoryBtn {
    position: relative;
    font-style: normal;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: .93;
    color: #251e1c;
    transition: color .2s ease-out
}

@media (hover: hover) {
    .news__categoryBtn:hover {
        color:#168352
    }
}

.news__categoryBtn.is-active {
    color: #168352
}

.news__categoryBtn.is-active::before {
    position: absolute;
    top: -1.2rem;
    left: 50%;
    display: block;
    width: .8rem;
    height: .8rem;
    border-radius: 50%;
    background-color: #168352;
    transform: translateX(-50%) scale(.5);
    content: ""
}

.news__body {
    margin-top: 4.76562vw
}

@media only screen and (max-width: 767px) {
    .news__body {
        margin-top:2.9rem
    }
}

.news__list {
    display: flex;
    flex-wrap: wrap;
    gap: 3.20312vw calc((100% - calc(320 / 996 * 100%) * 3)/ 2)
}

@media only screen and (max-width: 767px) {
    .news__list {
        gap:3.2rem normal
    }
}

.news__item {
    z-index: 1;
    overflow: hidden;
    width: calc(320 / 996 * 100%);
    border-radius: 3.125vw;
    box-shadow: 0 0 3.90625vw rgba(0,0,0,.03);
    border: 1px solid #f4f4f4
}

@media only screen and (max-width: 767px) {
    .news__item {
        width:100%;
        border-radius: 3rem
    }
}

.news__item ._link {
    width: 100%
}

@media (hover: hover) {
    .news__item ._link:hover .news__newsHeader .c-picture {
        transform:scale(1.1)
    }

    .news__item ._link:hover .news__newsTitleChild {
        background-size: 0 1px;
        background-position-x: right
    }
}

.news__item ._link .news__newsTitleChild {
    background: linear-gradient(0deg,#000,#000) no-repeat right bottom/0 1px;
    background-size: 100% 1px;
    transition: background-size .3s ease-out
}

.news__newsHeader {
    overflow: hidden
}

.news__newsHeader .c-picture {
    width: 100%;
    transition: transform .4s ease-out
}

.news__newsHeader .c-picture picture {
    padding-top: calc(190 / 320 * 100%)
}

@media only screen and (max-width: 767px) {
    .news__newsHeader .c-picture picture {
        padding-top:calc(192 / 335 * 100%)
    }
}

.news__newsBody {
    padding: 2.34375vw 3.125vw 3.125vw
}

@media only screen and (max-width: 767px) {
    .news__newsBody {
        padding:2.4rem 2.9rem 3.5rem
    }
}

.news__newsMeta ._date {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 1.2rem;
    line-height: 2.58;
    color: #168352
}

@media only screen and (max-width: 767px) {
    .news__newsMeta ._date {
        font-size:1.1rem;
        line-height: 1.91
    }
}

.news__newsMeta ._category {
    position: relative;
    margin-left: 1rem;
    padding-left: 1rem;
    font-style: normal;
    font-weight: 700;
    font-size: 1.2rem;
    line-height: 2.58;
    color: #473221
}

@media only screen and (max-width: 767px) {
    .news__newsMeta ._category {
        font-size:1.1rem;
        line-height: 1.91
    }
}

.news__newsMeta ._category::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 1px;
    height: 1rem;
    background-color: #c6c6c6;
    transform: translateY(-50%);
    content: ""
}

.news__newsTitle {
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.79;
    letter-spacing: .04em;
    color: #251e1c;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical
}

@media only screen and (max-width: 767px) {
    .news__newsTitle {
        font-size:1.3rem;
        line-height: 1.92
    }
}

.news__pagination {
    display: flex;
    justify-content: center;
    margin-top: 5.78125vw
}

@media only screen and (max-width: 767px) {
    .news__pagination {
        margin-top:3.2rem
    }
}

.news__paginationInner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.news__nextLink,.news__prevLink {
    position: absolute;
    top: 50%;
    right: -7.7rem;
    transform: translateY(-50%);
    overflow: hidden
}

@media only screen and (max-width: 767px) {
    .news__nextLink,.news__prevLink {
        right:-3.2rem
    }
}

@media (hover: hover) {
    .news__nextLink:hover .c-svg,.news__prevLink:hover .c-svg {
        -webkit-animation:scroll-arrow-hover .6s ease-out 1 normal both;
        animation: scroll-arrow-hover .6s ease-out 1 normal both
    }
}

.news__prevLink {
    right: auto;
    left: -7.7rem;
    transform: translateY(-50%) rotate(180deg)
}

@media only screen and (max-width: 767px) {
    .news__prevLink {
        left:-3.2rem
    }
}

.news__pageList {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 2rem
}

.news__pageItem {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #251e1c;
    transition: color .2s ease-out
}

@media only screen and (max-width: 767px) {
    .news__pageItem {
        font-size:1.3rem;
        line-height: 1.54
    }
}

@media (hover: hover) {
    .news__pageItem:hover {
        color:#168352
    }
}

.news__pageItem:not(:first-child) {
    margin-left: 1rem
}

@media only screen and (max-width: 767px) {
    .news__pageItem:not(:first-child) {
        margin-left:.1rem
    }
}

.news__pageItem.is-current {
    color: #168352
}

.news__pageItem.is-hidden {
    height: 3rem
}

@media only screen and (max-width: 767px) {
    .news__pageItem.is-hidden {
        height:2.8rem
    }
}

.news__pageItem.is-hidden+.is-hidden {
    display: none
}

.news__pageItem ._link {
    padding: 1rem 1.5rem
}

@media only screen and (max-width: 767px) {
    .news__pageItem ._link {
        padding:1rem
    }
}

.nd {
    padding: 6.25vw 11.09375vw 18.67188vw
}

@media only screen and (max-width: 767px) {
    .nd {
        padding:2rem 2rem 20.1rem
    }
}

.nd__breadcrumbs {
    display: flex;
    justify-content: flex-end;
    padding: 0 1.79687vw
}

@media only screen and (max-width: 767px) {
    .nd__breadcrumbs {
        justify-content:flex-start;
        padding: 0
    }
}

.nd__content {
    margin-top: 1.25vw;
    padding: 7.5vw 10.85938vw 7.34375vw;
    border: 1px solid #f4f4f4;
    box-shadow: 0 0 3.90625vw rgba(0,0,0,.03);
    border-radius: 1.5625vw
}

@media only screen and (max-width: 767px) {
    .nd__content {
        margin-top:.8rem;
        padding: 3.2rem 2.9rem 5.4rem;
        border-radius: 2rem
    }
}

.nd__header {
    position: relative;
    padding-bottom: 2.42188vw
}

@media only screen and (max-width: 767px) {
    .nd__header {
        padding-bottom:2.6rem
    }
}

.nd__header::after,.nd__header::before {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: .2rem;
    background-color: #168352;
    transform-origin: left center;
    transform: scaleX(.0278);
    transition: transform .3s ease-out;
    content: ""
}

@media only screen and (max-width: 767px) {
    .nd__header::after,.nd__header::before {
        transform:scaleX(.06)
    }
}

.nd__header::after {
    right: 0;
    left: auto;
    width: 96.9%;
    background-color: rgba(37,30,28,.1);
    transform: none
}

@media only screen and (max-width: 767px) {
    .nd__header::after {
        width:93.1%
    }
}

.nd__meta ._date {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 2.21;
    color: #168352
}

@media only screen and (max-width: 767px) {
    .nd__meta ._date {
        font-size:1.1rem;
        line-height: 1.91
    }
}

.nd__meta ._category {
    position: relative;
    margin-left: .8rem;
    padding-left: 1rem;
    font-style: normal;
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 2.21;
    color: #473221
}

@media only screen and (max-width: 767px) {
    .nd__meta ._category {
        font-size:1.1rem;
        line-height: 1.91
    }
}

.nd__meta ._category::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 1px;
    height: 1.3rem;
    transform: translateY(-50%);
    background-color: #c6c6c6;
    content: ""
}

.nd__title {
    margin-top: 1.32812vw;
    font-style: normal;
    font-weight: 700;
    font-size: 4.5rem;
    line-height: 1.44;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .nd__title {
        margin-top:.7rem;
        font-size: 2.4rem;
        line-height: 1.46
    }
}

.nd__body {
    margin-top: 5.07812vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .nd__body {
        margin-top:2.5rem;
        font-size: 1.3rem;
        line-height: 1.85
    }
}

.nd__body p {
    white-space: pre-wrap
}

.nd__body p:not(:first-child) {
    margin-top: 1.875vw
}

@media only screen and (max-width: 767px) {
    .nd__body p:not(:first-child) {
        margin-top:2.4rem
    }
}

.nd__body figure:not(:first-child) {
    margin-top: 4.45312vw
}

@media only screen and (max-width: 767px) {
    .nd__body figure:not(:first-child) {
        margin-top:3.3rem
    }
}

.nd__body figure:not(:first-child)+p {
    margin-top: 4.45312vw
}

@media only screen and (max-width: 767px) {
    .nd__body figure:not(:first-child)+p {
        margin-top:3.4rem
    }
}

.nd__body figure.is-half-width figcaption,.nd__body figure.is-half-width img {
    width: 50%
}

@media only screen and (max-width: 767px) {
    .nd__body figure.is-half-width figcaption,.nd__body figure.is-half-width img {
        width:100%
    }
}

.nd__body img {
    width: 100%;
    border-radius: 3.125vw!important
}

@media only screen and (max-width: 767px) {
    .nd__body img {
        border-radius:3rem!important
    }
}

.nd__body figcaption {
    margin-top: .625vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.42;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .nd__body figcaption {
        margin-top:.6rem;
        font-size: 1.2rem;
        line-height: 1.5
    }
}

.nd__body a {
    text-decoration: underline;
    -webkit-text-decoration-color: currentColor;
    text-decoration-color: currentColor;
    word-break: break-word;
    transition: -webkit-text-decoration-color .2s ease-out;
    transition: text-decoration-color .2s ease-out;
    transition: text-decoration-color .2s ease-out,-webkit-text-decoration-color .2s ease-out
}

@media (hover: hover) {
    .nd__body a:hover {
        -webkit-text-decoration-color:transparent;
        text-decoration-color: transparent
    }
}

.nd__nav {
    display: flex;
    justify-content: center;
    margin-top: 6.5625vw
}

@media only screen and (max-width: 767px) {
    .nd__nav {
        margin-top:4rem
    }
}

.nd__navInner {
    position: relative
}

.nd__navInner ._nextLink,.nd__navInner ._prevLink {
    position: absolute;
    top: 50%;
    left: -15.3rem;
    overflow: hidden;
    transform: translateY(-50%) rotate(180deg)
}

@media only screen and (max-width: 767px) {
    .nd__navInner ._nextLink,.nd__navInner ._prevLink {
        left:-6.6rem
    }
}

@media (hover: hover) {
    .nd__navInner ._nextLink:hover .c-svg,.nd__navInner ._prevLink:hover .c-svg {
        -webkit-animation:scroll-arrow-hover .6s ease-out 1 normal both;
        animation: scroll-arrow-hover .6s ease-out 1 normal both
    }
}

.nd__navInner ._nextLink {
    right: -15.3rem;
    left: auto;
    transform: translateY(-50%)
}

@media only screen and (max-width: 767px) {
    .nd__navInner ._nextLink {
        right:-6.6rem
    }
}

@-webkit-keyframes scroll-arrow-hover {
    0% {
        transform: translateX(0)
    }

    20% {
        transform: translateX(0)
    }

    50% {
        transform: translateX(140%)
    }

    50.01% {
        transform: translateX(-140%)
    }

    90% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(0)
    }
}

@keyframes scroll-arrow-hover {
    0% {
        transform: translateX(0)
    }

    20% {
        transform: translateX(0)
    }

    50% {
        transform: translateX(140%)
    }

    50.01% {
        transform: translateX(-140%)
    }

    90% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(0)
    }
}

.nd__navInner ._indexLink {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #251e1c;
    text-decoration: underline;
    -webkit-text-decoration-color: currentColor;
    text-decoration-color: currentColor;
    transition: -webkit-text-decoration-color .2s ease-out;
    transition: text-decoration-color .2s ease-out;
    transition: text-decoration-color .2s ease-out,-webkit-text-decoration-color .2s ease-out
}

@media (hover: hover) {
    .nd__navInner ._indexLink:hover {
        -webkit-text-decoration-color:transparent;
        text-decoration-color: transparent
    }
}

.br__header {
    position: relative
}

.br__texts {
    position: absolute;
    top: 16.3rem;
    left: 16.5rem;
    z-index: 1
}

@media only screen and (max-width: 767px) {
    .br__texts {
        top:4rem;
        left: 2rem;
        width: 33.5rem
    }
}

.br__texts .c-breadcrumbs__item:first-child {
    color: #fff
}

.br__texts .c-breadcrumbs__item path {
    fill: #fff
}

.br__title {
    margin-top: 3.2rem;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 8rem;
    font-weight: 600;
    line-height: 1;
    color: #fff
}

@media only screen and (max-width: 767px) {
    .br__title {
        margin-top:1.5rem;
        font-size: 4.7rem;
        letter-spacing: .04em
    }
}

.br__description {
    margin-top: 3.5rem;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.88;
    letter-spacing: .04em;
    color: #fff
}

@media only screen and (max-width: 767px) {
    .br__description {
        margin-top:2.4rem;
        font-size: 1.4rem
    }
}

.br__kv {
    width: 100%;
    height: 100%
}

.br__kv .c-picture {
    width: 100%
}

.br__kv picture {
    padding-top: calc(480 / 1280 * 100%)
}

@media only screen and (max-width: 767px) {
    .br__kv picture {
        padding-top:34rem
    }
}

.br__body {
    padding: 7.8125vw 11.09375vw 16.71875vw
}

@media only screen and (max-width: 767px) {
    .br__body {
        padding:4rem 2rem 19rem
    }
}

.brand__link {
    display: flex
}

.brand__linkItem {
    border-radius: 6px;
    background: #f4f4f4
}

.brand__linkItem+.brand__linkItem {
    margin-left: .70312vw
}

@media only screen and (max-width: 767px) {
    .brand__linkItem+.brand__linkItem {
        margin-left:.8rem
    }
}

.brand__linkItemContents {
    display: flex;
    align-items: center;
    padding: .85938vw 1.01562vw
}

@media only screen and (max-width: 767px) {
    .brand__linkItemContents {
        padding:1.4rem .6rem 1.4rem .6rem
    }
}

@media (hover: hover) {
    .brand__linkItemContents:hover ._arrow .c-svg {
        -webkit-animation:kf-scroll-arrow .8s ease-in-out 0s normal both;
        animation: kf-scroll-arrow .8s ease-in-out 0s normal both
    }
}

.brand__linkItemContents ._arrow {
    overflow: hidden
}

.brand__linkItemContents ._arrow .c-svg {
    width: 1.1rem;
    height: 1.1rem
}

@media only screen and (max-width: 767px) {
    .brand__linkItemContents ._arrow .c-svg {
        width:.9rem;
        height: .9rem
    }
}

.brand__linkItemContents ._text {
    padding-left: .3rem;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1
}

@media only screen and (max-width: 767px) {
    .brand__linkItemContents ._text {
        padding-left:.4rem;
        font-size: 1rem
    }
}

.brand__detail {
    display: block
}

.brand__detail:first-of-type {
    margin-top: 4.6875vw
}

@media only screen and (max-width: 767px) {
    .brand__detail:first-of-type {
        margin-top:4rem
    }
}

.brand__detail:not(:first-of-type) {
    margin-top: 9.375vw
}

@media only screen and (max-width: 767px) {
    .brand__detail:not(:first-of-type) {
        margin-top:8rem
    }
}

.brand__detailText {
    margin-top: 3.90625vw;
    font-size: 1.6rem;
    line-height: 1.62;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .brand__detailText {
        margin-top:4.4rem;
        font-size: 1.4rem;
        line-height: 1.42
    }
}

.brand__products:first-of-type {
    margin-top: 3.51562vw
}

@media only screen and (max-width: 767px) {
    .brand__products:first-of-type {
        margin-top:3.2rem
    }
}

.brand__products:not(:first-of-type) {
    margin-top: 6.25vw
}

@media only screen and (max-width: 767px) {
    .brand__products:not(:first-of-type) {
        margin-top:5rem
    }
}

.brand__productsList {
    display: flex;
    justify-content: space-between;
    margin-top: 3.90625vw
}

@media only screen and (max-width: 767px) {
    .brand__productsList {
        flex-flow:wrap;
        margin-top: 2.4rem
    }
}

@media only screen and (max-width: 767px) {
    .brand__productsItem {
        width:16.4rem
    }
}

@media only screen and (max-width: 767px) {
    .brand__productsItem._large {
        width:100%
    }
}

.brand__productsItem._large .brand__productsVisual ._image {
    width: 51.25vw
}

@media only screen and (max-width: 767px) {
    .brand__productsItem._large .brand__productsVisual ._image {
        width:100%
    }
}

@media only screen and (max-width: 767px) {
    .brand__productsItem._large+.brand__productsItem {
        margin-top:2.5rem
    }
}

@media only screen and (max-width: 767px) {
    .brand__productsItem:nth-child(n+3) {
        margin-top:2.5rem
    }
}

.brand__productsVisual ._image {
    width: 24.375vw
}

@media only screen and (max-width: 767px) {
    .brand__productsVisual ._image {
        width:16.4rem
    }
}

.brand__productsVisual .c-picture {
    width: 100%
}

.brand__productsVisual .c-picture picture {
    padding-top: 25vw
}

@media only screen and (max-width: 767px) {
    .brand__productsVisual .c-picture picture {
        height:16.4rem
    }
}

.brand__productsText {
    margin-top: 1.09375vw;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.333;
    letter-spacing: .04em;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .brand__productsText {
        margin-top:.8rem;
        font-size: 1.2rem
    }
}

.brand__detailList {
    margin-top: 3.90625vw
}

@media only screen and (max-width: 767px) {
    .brand__detailList {
        margin-top:3.2rem
    }
}

.brand__detailItem {
    display: flex;
    justify-content: space-between;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .brand__detailItem {
        flex-flow:column
    }
}

.brand__detailItem:not(:first-of-type) {
    margin-top: 2.34375vw
}

@media only screen and (max-width: 767px) {
    .brand__detailItem:not(:first-of-type) {
        margin-top:4.8rem
    }
}

.brand__detailVisual ._image {
    width: 41.25vw
}

@media only screen and (max-width: 767px) {
    .brand__detailVisual ._image {
        width:33.5rem
    }
}

.brand__detailVisual .c-picture {
    width: 100%
}

.brand__detailVisual .c-picture picture {
    padding-top: 25.39062vw
}

@media only screen and (max-width: 767px) {
    .brand__detailVisual .c-picture picture {
        padding-top:20.6rem
    }
}

.brand__detailIntroduction {
    width: 31.09375vw
}

@media only screen and (max-width: 767px) {
    .brand__detailIntroduction {
        margin-top:2.1rem;
        width: 100%
    }
}

.brand__detailIntroduction ._name {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 2.6rem;
    font-weight: 700;
    line-height: .92
}

@media only screen and (max-width: 767px) {
    .brand__detailIntroduction ._name {
        font-size:2.2rem;
        line-height: 1
    }
}

@media only screen and (max-width: 767px) {
    .brand__detailIntroduction ._ja {
        font-size:1.8rem
    }
}

.brand__detailIntroduction ._text {
    margin-top: 1.40625vw;
    font-size: 1.5rem;
    line-height: 1.66;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .brand__detailIntroduction ._text {
        margin-top:1.2rem;
        font-size: 1.3rem;
        line-height: 1.53
    }
}

.brand__detailIntroduction ._url {
    display: inline-flex;
    align-items: center;
    margin-top: 1.09375vw;
    padding: .5rem .4rem;
    font-style: normal;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.42;
    letter-spacing: .04em;
    color: #168352;
    border-bottom: 1px solid currentColor;
    transition: border-color .2s ease-out
}

@media only screen and (max-width: 767px) {
    .brand__detailIntroduction ._url {
        margin-top:.6rem;
        font-size: 1.2rem
    }
}

@media (hover: hover) {
    .brand__detailIntroduction ._url:hover {
        border-color:transparent
    }
}

.brand__detailIntroduction ._url .c-svg {
    margin-left: 1rem;
    width: 1.3rem
}

@media only screen and (max-width: 767px) {
    .brand__detailIntroduction ._url .c-svg {
        margin-left:.8rem;
        width: 1.2rem
    }
}

.brand__detailIntroduction ._url .c-svg__inner {
    padding-top: calc(14 / 13 * 100%)
}

@media only screen and (max-width: 767px) {
    .su .c-h2 {
        padding-top:1.8rem;
        line-height: 1.4
    }
}

.su__header {
    position: relative
}

.su__texts {
    position: absolute;
    top: 12.73438vw;
    left: 12.89062vw;
    z-index: 1;
    max-width: 95rem
}

@media only screen and (max-width: 767px) {
    .su__texts {
        top:4rem;
        left: 2rem;
        width: 33.5rem
    }
}

.su__texts .c-breadcrumbs__item:first-child {
    color: #fff
}

.su__texts .c-breadcrumbs__item path {
    fill: #fff
}

.su__title {
    margin-top: 3.2rem;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 8rem;
    font-weight: 600;
    line-height: 1;
    color: #fff
}

@media only screen and (max-width: 767px) {
    .su__title {
        margin-top:1.5rem;
        font-size: 4.7rem;
        letter-spacing: .04em
    }
}

.su__description {
    margin-top: 3.5rem;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.88;
    letter-spacing: .04em;
    color: #fff
}

@media only screen and (max-width: 767px) {
    .su__description {
        margin-top:2.4rem;
        font-size: 1.4rem
    }
}

.su__kv {
    width: 100%;
    height: 100%
}

.su__kv .c-picture {
    width: 100%
}

.su__kv picture {
    padding-top: calc(480 / 1280 * 100%)
}

@media only screen and (max-width: 767px) {
    .su__kv picture {
        padding-top:36.6rem
    }
}

.su__body {
    padding: 7.8125vw 11.09375vw 16.71875vw
}

@media only screen and (max-width: 767px) {
    .su__body {
        padding:4rem 2rem 19rem
    }
}

.sustainability__link {
    display: flex
}

@media only screen and (max-width: 767px) {
    .sustainability__link {
        flex-flow:wrap
    }
}

.sustainability__linkItem {
    border-radius: .6rem;
    background: #f4f4f4
}

.sustainability__linkItem+.sustainability__linkItem {
    margin-left: .70312vw
}

@media only screen and (max-width: 767px) {
    .sustainability__linkItem+.sustainability__linkItem {
        margin-left:.8rem
    }
}

@media only screen and (max-width: 767px) {
    .sustainability__linkItem:nth-child(2) {
        margin-right:1rem
    }
}

@media only screen and (max-width: 767px) {
    .sustainability__linkItem:nth-child(2):lang(en-US) {
        margin:.8rem 1rem 0 0
    }
}

@media only screen and (max-width: 767px) {
    .sustainability__linkItem:nth-child(3) {
        margin-left:0
    }
}

@media only screen and (max-width: 767px) {
    .sustainability__linkItem:nth-child(n+3) {
        margin-top:.8rem
    }
}

.sustainability__linkItemContents {
    display: flex;
    align-items: center;
    padding: .85938vw 1.01562vw
}

@media only screen and (max-width: 767px) {
    .sustainability__linkItemContents {
        padding:1.4rem .6rem 1.4rem .6rem
    }
}

@media (hover: hover) {
    .sustainability__linkItemContents:hover ._arrow .c-svg {
        -webkit-animation:kf-scroll-arrow .8s ease-in-out 0s normal both;
        animation: kf-scroll-arrow .8s ease-in-out 0s normal both
    }
}

.sustainability__linkItemContents ._arrow {
    overflow: hidden
}

.sustainability__linkItemContents ._arrow .c-svg {
    width: 1.1rem;
    height: 1.1rem
}

@media only screen and (max-width: 767px) {
    .sustainability__linkItemContents ._arrow .c-svg {
        width:.9rem;
        height: .9rem
    }
}

.sustainability__linkItemContents ._text {
    padding-left: .3rem;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1
}

@media only screen and (max-width: 767px) {
    .sustainability__linkItemContents ._text {
        padding-left:.4rem;
        font-size: 1rem
    }
}

.sustainability__detail {
    display: block
}

.sustainability__detail:first-of-type {
    margin-top: 4.6875vw
}

@media only screen and (max-width: 767px) {
    .sustainability__detail:first-of-type {
        margin-top:4rem
    }
}

.sustainability__detail:not(:first-of-type) {
    margin-top: 9.375vw
}

@media only screen and (max-width: 767px) {
    .sustainability__detail:not(:first-of-type) {
        margin-top:8rem
    }
}

@media only screen and (max-width: 767px) {
    .sustainability__detail._workLifeBalance .sustainability__detailText {
        margin-top:4rem;
        line-height: 1.57
    }
}

@media only screen and (max-width: 767px) {
    .sustainability__detail._workLifeBalance ._url {
        margin-top:1.4rem
    }
}

.sustainability__detailText {
    margin-top: 3.90625vw;
    font-size: 1.6rem;
    line-height: 1.62;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .sustainability__detailText {
        margin-top:4.4rem;
        font-size: 1.4rem;
        line-height: 1.42
    }
}

.sustainability__environments:first-of-type {
    margin-top: 3.51562vw
}

@media only screen and (max-width: 767px) {
    .sustainability__environments:first-of-type {
        margin-top:3.2rem
    }
}

.sustainability__environments:not(:first-of-type) {
    margin-top: 6.25vw
}

@media only screen and (max-width: 767px) {
    .sustainability__environments:not(:first-of-type) {
        margin-top:5rem
    }
}

.sustainability__productsList {
    display: flex;
    justify-content: space-between;
    margin-top: 3.90625vw
}

@media only screen and (max-width: 767px) {
    .sustainability__productsList {
        flex-flow:wrap;
        margin-top: 2.4rem
    }
}

@media only screen and (max-width: 767px) {
    .sustainability__productsItem {
        width:16.4rem
    }
}

.sustainability__productsVisual ._image {
    width: 38.125vw
}

@media only screen and (max-width: 767px) {
    .sustainability__productsVisual ._image {
        width:16.4rem
    }
}

.sustainability__productsVisual .c-picture {
    width: 100%
}

.sustainability__productsVisual .c-picture picture {
    padding-top: 25vw
}

@media only screen and (max-width: 767px) {
    .sustainability__productsVisual .c-picture picture {
        padding-top:10.7rem
    }
}

.sustainability__productsText {
    margin-top: 2.34375vw;
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .sustainability__productsText {
        margin-top:2.5rem;
        font-size: 1.3rem;
        line-height: 1.53
    }
}

.sustainability__detail ._url {
    display: inline-flex;
    align-items: center;
    margin-top: 1.09375vw;
    padding: .5rem .4rem;
    font-style: normal;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.42;
    letter-spacing: .04em;
    color: #168352;
    border-bottom: 1px solid currentColor;
    transition: border-color .2s ease-out
}

@media only screen and (max-width: 767px) {
    .sustainability__detail ._url {
        margin-top:.6rem;
        font-size: 1.2rem
    }
}

@media (hover: hover) {
    .sustainability__detail ._url:hover {
        border-color:transparent
    }
}

.sustainability__detail ._url .c-svg {
    margin-left: 1rem;
    width: 1.3rem
}

@media only screen and (max-width: 767px) {
    .sustainability__detail ._url .c-svg {
        margin-left:.8rem;
        width: 1.2rem
    }
}

.sustainability__detail ._url .c-svg__inner {
    padding-top: calc(14 / 13 * 100%)
}

.sustainability__detail ._pdf {
    color: #cb2b1d
}

.sustainability__energySavingsList {
    display: flex;
    justify-content: space-between;
    margin-top: 3.90625vw
}

@media only screen and (max-width: 767px) {
    .sustainability__energySavingsList {
        flex-flow:wrap;
        margin-top: 2.4rem
    }
}

.sustainability__energySavingsItem {
    display: grid;
    grid-template-rows: 5.8rem calc(4rem + 1.09375vw) 1fr;
    padding: 2.34375vw 2.1875vw;
    width: 18.51562vw;
    border: 2px solid #f4f4f4;
    border-radius: 4rem
}

@media only screen and (max-width: 767px) {
    .sustainability__energySavingsItem {
        grid-template-rows:4.8rem calc(6rem + .8rem) 1fr;
        padding: 2.4rem 2.2rem;
        width: 16.3rem;
        border-radius: 2rem
    }
}

.sustainability__energySavingsItem:lang(en-US) {
    grid-template-rows: 5.8rem calc(8rem + 1.09375vw) 1fr
}

@media only screen and (max-width: 767px) {
    .sustainability__energySavingsItem:lang(en-US) {
        grid-template-rows:4.8rem calc(7.95rem + .8rem) 1fr
    }
}

@media only screen and (max-width: 767px) {
    .sustainability__energySavingsItem:nth-child(n+3) {
        margin-top:1rem
    }
}

.sustainability__energySavingsItem ._icon .c-svg {
    margin: 0 auto;
    width: 4.53125vw
}

@media only screen and (max-width: 767px) {
    .sustainability__energySavingsItem ._icon .c-svg {
        width:4.8rem
    }
}

.sustainability__energySavingsItem ._title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 1.09375vw 0 0 -1.5rem;
    width: calc(100% + 3rem);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .04em;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .sustainability__energySavingsItem ._title {
        margin-top:.8rem;
        font-size: 1.3rem;
        line-height: 1.53
    }
}

.sustainability__energySavingsItem ._text {
    margin-top: .78125vw;
    font-size: 1.4rem;
    line-height: 1.71;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .sustainability__energySavingsItem ._text {
        margin-top:1.2rem;
        font-size: 1.2rem;
        line-height: 1.66
    }
}

.sustainability__informations {
    margin-top: 3.75vw
}

@media only screen and (max-width: 767px) {
    .sustainability__informations {
        margin-top:4.3rem
    }
}

.sustainability__informationsItem {
    display: grid;
    grid-template-areas: 'title visual' 'introduction visual';
    grid-template-rows: -webkit-max-content 1fr;
    grid-template-rows: max-content 1fr;
    padding-bottom: 50px;
}

@media only screen and (max-width: 767px) {
    .sustainability__informationsItem {
        grid-template-areas:'title' 'visual' 'introduction'
    }
}

.sustainability__informationsItem+.sustainability__informationsItem {
    margin-top: 6.25vw
}

@media only screen and (max-width: 767px) {
    .sustainability__informationsItem+.sustainability__informationsItem {
        margin-top:3.2rem;
        padding-top: 3.2rem;
        border-top: 1px solid rgba(37,30,28,.1)
    }
}

.sustainability__informationsTitle {
    grid-area: title;
    margin-bottom: 20px;
    background-color: #ddd;
    padding: 10px 5px;
}

.sustainability__informationsTitle ._sub {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .04em;
    color: #168352
}

.sustainability__informationsTitle ._main {
    /*margin-top: .78125vw;*/
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.31;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .sustainability__informationsTitle ._main {
        margin-top:.5rem;
        font-size: 2rem
    }
}

.sustainability__informationsIntroduction {
    grid-area: introduction;
    margin-top: 1.32812vw
}

@media only screen and (max-width: 767px) {
    .sustainability__informationsIntroduction {
        margin-top:2rem
    }
}

.sustainability__informationsIntroduction ._description {
    font-size: 1.4rem;
    line-height: 1.71;
    letter-spacing: .04em;
    width: 13.21875vw
}

@media only screen and (max-width: 767px) {
    .sustainability__informationsIntroduction ._description {
        font-size:1.3rem;
        line-height: 1.53;
        width: 100%;
        padding-bottom: 50px
    }
}

.sustainability__informationsVisual {
    display: flex;
    grid-area: visual;
    justify-content: space-between;
    /*margin-left: 4.6875vw;*/
    margin-left: 3.6875vw;

    width: 49.21875vw
}

@media only screen and (max-width: 767px) {
    .sustainability__informationsVisual {
        margin:2.3rem 0 0;
        width: 100%
    }
}

.sustainability__informationsVisualItem {
    width: 23.82812vw
}

@media only screen and (max-width: 767px) {
    .sustainability__informationsVisualItem {
        width:16.4rem
    }
}

.sustainability__informationsVisualItem ._image .c-picture {
    width: 100%
}

.sustainability__informationsVisualItem ._image .c-picture picture {
    padding-top: 25.39062vw
}

@media only screen and (max-width: 767px) {
    .sustainability__informationsVisualItem ._image .c-picture picture {
        padding-top:16.4rem
    }
}

.sustainability__informationsVisualItem ._caption {
    margin-top: .54688vw;
    font-size: 1.3rem;
    line-height: 1.84;
    letter-spacing: .04em;
    color: #000;
    text-align: right
}

@media only screen and (max-width: 767px) {
    .sustainability__informationsVisualItem ._caption {
        margin-top:.6rem;
        font-size: 1rem;
        line-height: 1.4
    }
}

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

.ab__body {
    position: relative;
    margin-top: -.54688vw;
    padding: 0 3.125vw 16.71875vw
}

@media only screen and (max-width: 767px) {
    .ab__body {
        padding:1.6rem 2rem 19rem
    }
}

.ab__kv {
    position: relative;
    overflow: hidden;
    -webkit-mask-image: url(/assets/img/about/mask-kv.png);
    -webkit-mask-size: 100% 100%
}

@media only screen and (max-width: 767px) {
    .ab__kv {
        -webkit-mask-image:url(/assets/img/about/mask-kv-sp.png)
    }
}

.ab__kv.is-stopping .ab__slider {
    -webkit-animation-play-state: paused;
    animation-play-state: paused
}

.ab__slider {
    display: inline-flex;
    -webkit-animation: about-slider 90s linear 0s infinite normal both;
    animation: about-slider 90s linear 0s infinite normal both
}

@media only screen and (max-width: 767px) {
    .ab__slider {
        -webkit-animation-duration:70s;
        animation-duration: 70s
    }
}

@-webkit-keyframes about-slider {
    from {
        transform: translateX(100%)
    }

    to {
        transform: translateX(-100%)
    }
}

@keyframes about-slider {
    from {
        transform: translateX(100%)
    }

    to {
        transform: translateX(-100%)
    }
}

.ab__slider+.ab__slider {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation-delay: -45s;
    animation-delay: -45s
}

@media only screen and (max-width: 767px) {
    .ab__slider+.ab__slider {
        -webkit-animation-delay:-35s;
        animation-delay: -35s
    }
}

.ab__sliderItem .c-picture {
    width: 65.39062vw
}

@media only screen and (max-width: 767px) {
    .ab__sliderItem .c-picture {
        width:37.5rem
    }
}

.ab__sliderItem .c-picture picture {
    padding-top: 37.5vw
}

@media only screen and (max-width: 767px) {
    .ab__sliderItem .c-picture picture {
        padding-top:30.6rem
    }
}

.about__copy {
    display: flex;
    flex-flow: column;
    position: relative;
    margin: 0 auto;
    width: 53.2rem
}

@media only screen and (max-width: 767px) {
    .about__copy {
        width:27.5rem
    }
}

.about__copy ._logo {
    padding-right: 1.5rem
}

@media only screen and (max-width: 767px) {
    .about__copy ._logo {
        padding-right:0
    }
}

.about__copy ._logo .c-svg {
    margin: 0 auto;
    width: 26rem
}

@media only screen and (max-width: 767px) {
    .about__copy ._logo .c-svg {
        width:13.8rem
    }
}

.about__copy ._logo .c-svg .c-svg__inner {
    padding-top: 14rem
}

@media only screen and (max-width: 767px) {
    .about__copy ._logo .c-svg .c-svg__inner {
        padding-top:7.3rem
    }
}

.about__copy ._title {
    margin-top: 9.1rem;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.96;
    letter-spacing: .035em
}

@media only screen and (max-width: 767px) {
    .about__copy ._title {
        margin-top:7.2rem;
        font-size: 1.7rem;
        line-height: 1.88
    }
}

.about__copy ._description {
    margin-top: 4.4rem;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.68;
    letter-spacing: .035em
}

@media only screen and (max-width: 767px) {
    .about__copy ._description {
        margin-top:3rem;
        font-size: 1.4rem;
        line-height: 2.14;
        letter-spacing: .042em
    }
}

.about__detail {
    display: block;
    margin-top: 9.6875vw
}

@media only screen and (max-width: 767px) {
    .about__detail {
        margin-top:9rem
    }
}

.about__detailItem {
    opacity: 0;
    position: relative;
    overflow: hidden;
    border-radius: 4rem;
    transition: opacity .8s ease-out;
    -webkit-mask-image: url(/assets/img/about/mask-detail.png);
    -webkit-mask-size: 100% 100%
}

@media only screen and (max-width: 767px) {
    .about__detailItem {
        border-radius:3rem;
        -webkit-mask-image: url(/assets/img/about/mask-detail-sp.png)
    }
}

.about__detailItem+.about__detailItem {
    margin-top: 7.03125vw
}

@media only screen and (max-width: 767px) {
    .about__detailItem+.about__detailItem {
        margin-top:4rem
    }
}

.about__detailItem:nth-of-type(even) .about__detailTexts {
    left: 7.96875vw
}

@media only screen and (max-width: 767px) {
    .about__detailItem:nth-of-type(even) .about__detailTexts {
        left:3.1rem
    }
}

.about__detailItem.is-visible {
    opacity: 1
}

.about__detailItem.is-visible .about__detailBg {
    transform: scale(1)
}

.about__detailBg {
    transform: scale(1.1);
    transition: transform 1s ease-out
}

.about__detailBg .c-picture {
    width: 100%
}

.about__detailBg .c-picture picture {
    padding-top: 50.39062vw
}

@media only screen and (max-width: 767px) {
    .about__detailBg .c-picture picture {
        padding-top:23.4rem
    }
}

.about__detailTexts {
    position: absolute;
    top: 7.26563vw;
    right: 11.09375vw
}

@media only screen and (max-width: 767px) {
    .about__detailTexts {
        top:2.4rem;
        right: 2.9rem
    }
}

.about__detailTitle {
    display: flex;
    align-items: baseline;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-weight: 600;
    color: #fff;
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, .4))
}

.about__detailTitle ._sub {
    display: flex;
    align-items: baseline;
    font-size: 5rem
}

@media only screen and (max-width: 767px) {
    .about__detailTitle ._sub {
        font-size:1.5rem
    }
}

.about__detailTitle ._main {
    display: flex;
    align-items: baseline;
    margin-left: 1.4rem;
    font-size: 6.8rem
}

@media only screen and (max-width: 767px) {
    .about__detailTitle ._main {
        margin-left:.6rem;
        font-size: 2.5rem
    }
}

.about__detailCatch {
    margin-top: .8rem;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: .04em;
    color: #fff;
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, .4))
}

@media only screen and (max-width: 767px) {
    .about__detailCatch {
        margin-top:.5rem;
        font-size: 1rem
    }
}

.about__movie {
    display: block;
    margin-top: 9.375vw;
    padding-top: 8.90625vw;
    border-top: 1px solid rgba(37,30,28,.1)
}

@media only screen and (max-width: 767px) {
    .about__movie {
        margin-top:5rem;
        padding-top: 5rem
    }
}

.about__movieTitle {
    font-size: 4rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .about__movieTitle {
        font-size:2.4rem
    }
}

.about__movieDescription {
    margin-top: 2.10938vw;
    font-size: 1.6rem;
    line-height: 1.62;
    letter-spacing: .04em;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .about__movieDescription {
        margin:1.7rem auto 0;
        width: 30.5rem;
        font-size: 1.4rem;
        line-height: 1.42
    }
}

.about__movieItem {
    margin: 4.6875vw auto 0;
    width: 77.8125vw
}

@media only screen and (max-width: 767px) {
    .about__movieItem {
        margin:4rem auto 0;
        width: 30.5rem
    }
}

.about__movieBtn {
    position: relative;
    z-index: 1;
    overflow: hidden;
    width: 100%;
    border-radius: 3.125vw
}

@media only screen and (max-width: 767px) {
    .about__movieBtn {
        border-radius:3rem
    }
}

@media (hover: hover) {
    .about__movieBtn:hover ._thumbnail {
        transform:scale(1.1)
    }
}

.about__movieBtn ._thumbnail {
    width: 100%;
    transition: transform .4s ease-out
}

.about__movieBtn ._thumbnail picture {
    padding-top: calc(1120 / 1992 * 100%)
}

@media only screen and (max-width: 767px) {
    .about__movieBtn ._thumbnail picture {
        padding-top:calc(342 / 610 * 100%)
    }
}

.about__movieBtn ._play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 9.6875vw;
    transform: translate(-50%,-50%)
}

@media only screen and (max-width: 767px) {
    .about__movieBtn ._play {
        width:4rem
    }
}

.about__movieBtn ._play .c-svg__inner {
    padding-top: 100%
}

.aboutVideoModal {
    position: fixed;
    z-index: 1000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0,0,0,.9);
    transition: opacity .6s ease-out,visibility 0s linear
}

.aboutVideoModal.is-hidden {
    visibility: hidden;
    opacity: 0;
    transition: opacity .6s ease-out,visibility 0s linear .6s
}

.aboutVideoModal__iframe {
    width: 87.96875vw;
    height: 49.53125vw
}

@media (min-aspect-ratio: 8 / 5) {
    .aboutVideoModal__iframe {
        width:140vh;
        height: 79vh
    }
}

@media only screen and (max-width: 767px) {
    .aboutVideoModal__iframe {
        width:35.5rem;
        height: 20rem;
        max-height: 86%
    }
}

.aboutVideoModal__closeBtn {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 6.9rem;
    height: 6.9rem
}

@media only screen and (max-width: 767px) {
    .aboutVideoModal__closeBtn {
        top:20px;
        right: 20px;
        width: 55px;
        height: 55px
    }
}

@media (hover: hover) {
    .aboutVideoModal__closeBtn:hover .c-svg__inner path {
        transform:scale(1.15)
    }
}

.aboutVideoModal__closeBtn .c-svg {
    width: 100%
}

.aboutVideoModal__closeBtn .c-svg__inner {
    padding-top: 100%
}

.aboutVideoModal__closeBtn .c-svg__inner path {
    transform-origin: center center;
    transition: transform .2s ease-out
}

.contactContent {
    display: flex
}

@media only screen and (max-width: 767px) {
    .contactContent {
        display:block;
        padding-top: 2rem
    }
}

.contactContent__sidebar {
    padding-right: 3.125vw;
    width: 21.71875vw
}

@media only screen and (max-width: 767px) {
    .contactContent__sidebar {
        padding:1.9rem .8rem;
        width: auto
    }
}

.contactContent__sidebarInner {
    position: sticky;
    top: 8.59375vw
}

@media only screen and (max-width: 767px) {
    .contactContent__sidebarInner {
        position:static;
        top: auto
    }
}

.contactContent__form {
    flex: 1
}

@media only screen and (max-width: 767px) {
    .contactContent__form {
        margin-top:3.6rem
    }
}

.contactTop {
    margin-top: -.3125vw;
    padding-bottom: 9.45312vw
}

@media only screen and (max-width: 767px) {
    .contactTop {
        padding-bottom:.2rem
    }
}

.contactTop__section:not(:first-of-type) {
    margin-top: 7.26563vw
}

@media only screen and (max-width: 767px) {
    .contactTop__section:not(:first-of-type) {
        margin-top:6.2rem
    }
}

.contactTop__inputs {
    margin-top: 3.125vw
}

@media only screen and (max-width: 767px) {
    .contactTop__inputs {
        margin-top:3.2rem
    }
}

.contactTop__privacy {
    margin-top: 7.5vw
}

@media only screen and (max-width: 767px) {
    .contactTop__privacy {
        margin-top:4.8rem
    }
}

.contactTop__recaptchaMessage {
    margin-top: 1.875vw;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .contactTop__recaptchaMessage {
        margin-top:2.8rem;
        font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
        font-size: 1.2rem;
        line-height: 1.5
    }
}

.contactTop__recaptchaMessage a {
    text-decoration: underline
}

.contactTop__confirm {
    margin-top: 4.375vw
}

@media only screen and (max-width: 767px) {
    .contactTop__confirm {
        display:flex;
        justify-content: center;
        margin-top: 4rem
    }
}

@media only screen and (max-width: 767px) {
    .contactTop__confirm .c-internalLink {
        padding:1.6rem 6rem
    }
}

.contactTop__confirm .c-internalLink ._label {
    font-size: 1.2rem;
    line-height: 1.42
}

.contactTop__submitButtons {
    display: flex;
    flex-wrap: wrap;
    margin-top: 7.26563vw
}

@media only screen and (max-width: 767px) {
    .contactTop__submitButtons {
        flex-direction:column-reverse;
        align-items: center;
        margin-top: 4.6rem
    }
}

@media only screen and (max-width: 767px) {
    .contactTop__returnButton {
        margin-top:1.6rem
    }
}

.contactTop__returnButton .c-internalLink {
    padding: 2rem 8.7rem
}

@media only screen and (max-width: 767px) {
    .contactTop__returnButton .c-internalLink {
        padding:1.6rem 9.1rem
    }
}

.contactTop__returnButton .c-internalLink ._label {
    font-size: 1.2rem;
    line-height: 1.42
}

.contactTop__submitButton {
    margin-left: 40px
}

@media only screen and (max-width: 767px) {
    .contactTop__submitButton {
        margin-left:0
    }
}

.contactTop__submitButton .c-internalLink {
    padding: 2rem 8.7rem
}

@media only screen and (max-width: 767px) {
    .contactTop__submitButton .c-internalLink {
        padding:1.6rem 9.1rem
    }
}

.contactTop__submitButton .c-internalLink ._label {
    font-size: 1.2rem;
    line-height: 1.42
}

.contactTop__submitError {
    margin-bottom: 4rem;
    width: 100%;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.42;
    letter-spacing: .04em;
    color: #ff3939
}

@media only screen and (max-width: 767px) {
    .contactTop__submitError {
        order:1;
        margin-bottom: 2.6rem;
        font-size: 1rem;
        line-height: 1.4
    }
}

.contactTop__submitError:empty {
    display: none
}

.contactTop:not(.is-confirming) .contactTop__dummyPrivacy,.contactTop:not(.is-confirming) .contactTop__submitButtons {
    display: none
}

.contactTop.is-confirming .contactTop__confirm,.contactTop.is-confirming .contactTop__privacy,.contactTop.is-confirming .contactTop__recaptchaMessage {
    display: none
}

.contactComplete {
    padding-bottom: 9.6875vw
}

@media only screen and (max-width: 767px) {
    .contactComplete {
        padding-bottom:0
    }
}

.contactComplete__section {
    margin-top: -.23438vw
}

@media only screen and (max-width: 767px) {
    .contactComplete__section {
        margin-top:-.1rem
    }
}

.contactComplete__message {
    margin-top: 3.125vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.71;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .contactComplete__message {
        margin-top:3.2rem;
        font-size: 1.3rem;
        line-height: 1.77
    }
}

.contactComplete__links {
    margin-top: 6.71875vw
}

@media only screen and (max-width: 767px) {
    .contactComplete__links {
        display:flex;
        justify-content: center;
        margin-top: 4.8rem
    }
}

.contactComplete__links .c-internalLink {
    padding: 2.1rem 7.8rem
}

@media only screen and (max-width: 767px) {
    .contactComplete__links .c-internalLink {
        padding:1.8rem 8.2rem
    }
}

.contactComplete__links .c-internalLink ._icon {
    right: 1.3rem
}

@media only screen and (max-width: 767px) {
    .contactComplete__links .c-internalLink ._icon {
        right:.8rem
    }
}

.recruit+.l__footer {
    position: relative;
    z-index: 2
}

.r__breadcrumbs {
    position: absolute;
    top: 1.5625vw;
    left: 3.90625vw;
    z-index: 3
}

.r__breadcrumbs .c-breadcrumbs__item {
    color: #fff
}

.r__breadcrumbs .c-breadcrumbs__item:last-child {
    color: #168352
}

.r__breadcrumbs .c-svg path {
    fill: #fff
}

@media only screen and (max-width: 767px) {
    .r__breadcrumbs {
        top:1rem;
        left: 2rem
    }
}

.r-mod-mv {
    position: relative
}

.r-mod-mv .c-picture {
    width: 100%;
    position: relative;
    z-index: 1
}

.r-mod-mv .c-picture picture {
    padding-top: 32.8125%
}

.r-mod-mv .dec-svg {
    width: 12.65625vw;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -6.32812vw;
    z-index: 2
}

.r-mod-mv .dec-svg svg {
    width: 100%;
    height: auto
}

.r-mod-mv .dec-svg path {
    fill: #fff
}

@media only screen and (max-width: 767px) {
    .r-mod-mv .c-picture picture {
        padding-top:83.46667%
    }

    .r-mod-mv .dec-svg {
        width: 8.6rem;
        margin-left: -4.3rem
    }
}

.r-mod-mv__hdg {
    color: #fff;
    text-align: center;
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    transform: translateY(-50%);
    z-index: 2;
    margin-top: -2.5rem
}

.r-mod-mv__hdg span {
    display: block
}

.r-mod-mv__hdg .en {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2.64286
}

.r-mod-mv__hdg .ja {
    font-size: 6rem;
    font-weight: 700;
    line-height: .51667;
    margin-top: 1.79687vw
}

@media only screen and (max-width: 767px) {
    .r-mod-mv__hdg {
        margin-top:-1rem
    }

    .r-mod-mv__hdg .ja {
        font-size: 3.5rem;
        line-height: 1.22857;
        margin-top: .5rem
    }
}

.r-mod-cnv {
    padding: 9.375vw 0 9.6875vw;
    overflow: hidden;
    position: relative
}

.r-mod-cnv.bg-gray {
    background-color: #fafafa
}

.r-mod-cnv .inner {
    text-align: center;
    position: relative;
    z-index: 2
}

.r-mod-cnv .join {
    color: #473221;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 8rem;
    font-weight: 600;
    line-height: .4625
}

.r-mod-cnv .text {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.875;
    letter-spacing: .04em;
    margin-top: 3.90625vw
}

.r-mod-cnv .bg {
    position: absolute;
    right: -2.9rem;
    bottom: -19.1rem;
    z-index: 1
}

.r-mod-cnv .bg .c-bgText {
    color: #168352;
    font-size: 35.5rem;
    font-weight: 100;
    line-height: 1.50141;
    opacity: .06
}

@media only screen and (max-width: 767px) {
    .r-mod-cnv {
        margin-bottom:2.2rem;
        padding: 7.5rem 0 8.4rem;
        z-index: 1
    }

    .r-mod-cnv .join {
        font-size: 4.9rem;
        line-height: .7551
    }

    .r-mod-cnv .text {
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1.85714;
        margin-top: 3rem
    }

    .r-mod-cnv .bg {
        right: -3.6rem;
        bottom: -5.7rem
    }

    .r-mod-cnv .bg .c-bgText {
        font-size: 12.5rem;
        line-height: 1.504;
        opacity: .08
    }
}

.r-mod-cnv__entry {
    width: 53rem;
    margin: 4.6875vw auto 0
}

.r-mod-cnv__entry a {
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 7.55556;
    background: linear-gradient(90deg,#168352 0,#be5500 100%);
    display: block;
    border-radius: 7rem;
    position: relative;
    overflow: hidden;
    transition: color .4s ease-out
}

@media only screen and (min-width: 768px) {
    .r-mod-cnv__entry a:before {
        content:"";
        display: block;
        width: 54rem;
        height: 54rem;
        background-color: #fff;
        border-radius: 50%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%) scale(0);
        transition: transform .4s ease-out
    }
}

@media (hover: hover) {
    .r-mod-cnv__entry a:hover {
        color:#168352
    }

    .r-mod-cnv__entry a:hover:before {
        transform: translate(-50%,-50%) scale(1)
    }

    .r-mod-cnv__entry a:hover .label {
        border-color: #168352
    }

    .r-mod-cnv__entry a:hover .icon:before {
        transform: translate(-50%,-50%) scale(0)
    }

    .r-mod-cnv__entry a:hover .icon:after {
        background-color: #168352;
        transform: translate(-50%,-50%) scale(.8)
    }

    .r-mod-cnv__entry a:hover .icon .c-svg {
        opacity: 1;
        -webkit-animation: kv-link-arrow-hover .4s ease-out .2s 1 normal both;
        animation: kv-link-arrow-hover .4s ease-out .2s 1 normal both
    }
}

.r-mod-cnv__entry .label {
    position: relative;
    border-radius: 7rem;
    border: transparent 2px solid;
    transition: border-color .4s ease-out
}

.r-mod-cnv__entry .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    position: absolute;
    top: 50%;
    right: 4.3rem;
    transform: translateY(-50%)
}

.r-mod-cnv__entry .icon:after,.r-mod-cnv__entry .icon:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: rgba(255,255,255,.2);
    border-radius: 50%;
    transform: translate(-50%,-50%) scale(1);
    transition: transform .4s ease-out,background-color .4s ease-out
}

.r-mod-cnv__entry .icon:after {
    background-color: #fff;
    transform: translate(-50%,-50%) scale(.24)
}

.r-mod-cnv__entry .icon .c-svg {
    position: relative;
    z-index: 1;
    width: 1.1rem;
    opacity: 0;
    transition: opacity .4s ease-out;
    -webkit-animation: kv-link-arrow-normal .4s ease-out 0s 1 normal both;
    animation: kv-link-arrow-normal .4s ease-out 0s 1 normal both
}

@media only screen and (max-width: 767px) {
    .r-mod-cnv__entry {
        width:25rem;
        margin-top: 3.5rem
    }

    .r-mod-cnv__entry a {
        font-size: 1.4rem;
        line-height: 6;
        border-radius: 4.2rem
    }

    .r-mod-cnv__entry .label {
        border: none;
        border-radius: 4.2rem
    }

    .r-mod-cnv__entry .icon {
        width: 2.6rem;
        height: 2.6rem;
        right: 1.6rem
    }

    .r-mod-cnv__entry .icon:after {
        transform: translate(-50%,-50%) scale(.23)
    }
}

.r-tpMv {
    width: 100%;
    height: calc(100vh - 7.8125vw);
    position: relative
}

.r-tpMv:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: .4;
    background: linear-gradient(90deg,#000 58.67%,rgba(0,0,0,0) 100%);
    z-index: 2
}

.r-tpMv .visual {
    display: block;
    width: 100%;
    max-width: none;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: relative;
    z-index: 1
}

.r-tpMv+.r-tpSect {
    margin-top: 7.03125vw
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span {
    opacity: 1;
    transform: translate3d(0,0,0)
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(2) {
    transition-delay: 40ms
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(3) {
    transition-delay: 80ms
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(4) {
    transition-delay: .12s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(5) {
    transition-delay: .16s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(6) {
    transition-delay: .2s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(7) {
    transition-delay: .24s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(8) {
    transition-delay: .28s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(9) {
    transition-delay: .32s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(10) {
    transition-delay: .36s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(11) {
    transition-delay: .4s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(12) {
    transition-delay: .44s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(13) {
    transition-delay: .48s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(14) {
    transition-delay: .52s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(15) {
    transition-delay: .56s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(16) {
    transition-delay: .6s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(17) {
    transition-delay: .64s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(18) {
    transition-delay: .68s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(19) {
    transition-delay: .72s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(20) {
    transition-delay: .76s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(21) {
    transition-delay: .8s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(22) {
    transition-delay: .84s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(23) {
    transition-delay: .88s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line span:nth-child(24) {
    transition-delay: .92s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line {
    margin-top: -.5rem
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(1) {
    transition-delay: .16s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(2) {
    transition-delay: .2s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(3) {
    transition-delay: .24s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(4) {
    transition-delay: .28s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(5) {
    transition-delay: .32s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(6) {
    transition-delay: .36s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(7) {
    transition-delay: .4s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(8) {
    transition-delay: .44s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(9) {
    transition-delay: .48s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(10) {
    transition-delay: .52s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(11) {
    transition-delay: .56s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(12) {
    transition-delay: .6s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(13) {
    transition-delay: .64s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(14) {
    transition-delay: .68s
}

.r-tpMv.is-visible .r-tpMv__hdg .txt-line+.txt-line span:nth-child(15) {
    transition-delay: .72s
}

.r-tpMv.is-visible .r-tpMv__hdg .ja {
    opacity: 1;
    transform: translate3d(0,0,0)
}

.r-tpMv.is-visible .r-tpMv__inner:before {
    opacity: .7
}

.r-tpMv.is-visible .r-tpMv__inner:after {
    -webkit-animation: r-tpMv-scrlbar 2.6s 1.2s infinite;
    animation: r-tpMv-scrlbar 2.6s 1.2s infinite
}

.r-tpMv.is-visible .r-tpMv__entryCnv {
    opacity: 1;
    visibility: visible
}

@media only screen and (max-width: 767px) {
    .r-tpMv {
        height:68.4rem
    }

    .r-tpMv:before {
        opacity: 1;
        background: #000;
        z-index: 1
    }

    .r-tpMv .visual {
        opacity: .6;
        z-index: 2
    }

    .r-tpMv+.r-tpSect {
        margin-top: 6rem
    }
}

.r-tpMv__inner {
    width: 100%;
    height: 100%
}

.r-tpMv__inner:after,.r-tpMv__inner:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 3
}

.r-tpMv__inner:before {
    width: 1px;
    height: 4rem;
    background: #f4f4f4;
    border-radius: 10px 10px 0 0;
    margin-left: -.5px;
    opacity: 0;
    transition: opacity .8s 1.2s ease-out
}

.r-tpMv__inner:after {
    width: 3px;
    height: 1.5rem;
    background: #f4f4f4;
    border-radius: 10px;
    margin-left: -1.5px;
    bottom: 2.5rem;
    z-index: 4;
    opacity: 0
}

.r-tpMv__hdg {
    color: #fff;
    white-space: nowrap;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 3;
    margin-top: -.8rem
}

.r-tpMv__hdg>span {
    display: block
}

.r-tpMv__hdg .en {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 5rem;
    font-weight: 600;
    line-height: 1
}

.r-tpMv__hdg .ja {
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 1.47368;
    letter-spacing: .1em;
    margin-top: 1.01562vw;
    opacity: 0;
    transform: translate3d(0,1.4rem,0);
    transition: opacity .6s .7s ease,transform .6s .7s ease
}

.r-tpMv__hdg .txt-line {
    display: flex;
    justify-content: center;
    line-height: 1.16;
    overflow: hidden
}

.r-tpMv__hdg .txt-line span {
    display: block;
    opacity: 0;
    transform: translate3d(0,105%,0);
    transition: opacity .3s ease,transform .6s cubic-bezier(.785,.135,.15,.86)
}

@media only screen and (max-width: 767px) {
    .r-tpMv__hdg {
        position:static;
        transform: translate(0,0);
        margin-top: 0
    }

    .r-tpMv__hdg .en {
        font-size: 2rem;
        font-weight: 700
    }

    .r-tpMv__hdg .ja {
        font-size: 1.4rem;
        line-height: 1.42857;
        margin-top: 1.3rem
    }

    .r-tpMv__hdg .txt-line {
        line-height: 1.3
    }

    .r-tpMv__hdg .txt-line+.txt-line {
        margin-top: -.1rem
    }
}

.r-tpMv__entryCnv {
    text-align: center;
    width: 21.6rem;
    position: fixed;
    right: 2.34375vw;
    bottom: 2.34375vw;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: opacity .8s 1.2s ease-out,visibility .8s 1.2s ease-out
}

.r-tpMv__entryCnv.is-hidden .btn {
    opacity: 0;
    visibility: hidden
}

.r-tpMv__entryCnv .btn {
    opacity: 1;
    visibility: visible;
    transition: opacity .4s ease,visibility .4s ease
}

.r-tpMv__entryCnv .btn .label {
    position: relative;
    z-index: 1;
    border-radius: 3.3rem;
    border: transparent 2px solid;
    transition: border-color .4s ease-out;
    padding-right: .5rem
}

.r-tpMv__entryCnv .btn .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    position: absolute;
    top: 50%;
    right: 1.7rem;
    transform: translateY(-50%)
}

.r-tpMv__entryCnv .btn .icon:after,.r-tpMv__entryCnv .btn .icon:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: rgba(255,255,255,.2);
    border-radius: 50%;
    transform: translate(-50%,-50%) scale(1);
    transition: transform .4s ease-out,background-color .4s ease-out
}

.r-tpMv__entryCnv .btn .icon:after {
    background-color: #fff;
    transform: translate(-50%,-50%) scale(.2)
}

.r-tpMv__entryCnv .btn .c-svg {
    position: relative;
    z-index: 1;
    width: 1.1rem;
    opacity: 0;
    transition: opacity .4s ease-out;
    -webkit-animation: kv-link-arrow-normal .4s ease-out 0s 1 normal both;
    animation: kv-link-arrow-normal .4s ease-out 0s 1 normal both
}

.r-tpMv__entryCnv .btn a {
    z-index: 1;
    color: #fff;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 4.76923;
    background: linear-gradient(90deg,#168352 0,#be5500 100%);
    display: block;
    border-radius: 3.3rem;
    position: relative;
    overflow: hidden;
    transition: color .4s ease-out
}

@media only screen and (min-width: 768px) {
    .r-tpMv__entryCnv .btn a:before {
        content:"";
        display: block;
        width: 22rem;
        height: 22rem;
        background-color: #fff;
        border-radius: 50%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%) scale(0);
        transition: transform .4s ease-out
    }
}

@media (hover: hover) {
    .r-tpMv__entryCnv .btn a:hover {
        color:#168352
    }

    .r-tpMv__entryCnv .btn a:hover:before {
        transform: translate(-50%,-50%) scale(1)
    }

    .r-tpMv__entryCnv .btn a:hover .label {
        border-color: #168352
    }

    .r-tpMv__entryCnv .btn a:hover .icon:before {
        transform: translate(-50%,-50%) scale(0)
    }

    .r-tpMv__entryCnv .btn a:hover .icon:after {
        background-color: #168352;
        transform: translate(-50%,-50%) scale(1.5)
    }

    .r-tpMv__entryCnv .btn a:hover .icon .c-svg {
        opacity: 1;
        -webkit-animation: kv-link-arrow-hover .4s ease-out .2s 1 normal both;
        animation: kv-link-arrow-hover .4s ease-out .2s 1 normal both
    }
}

@media only screen and (max-width: 767px) {
    .r-tpMv__entryCnv {
        width:19.6rem;
        position: static;
        margin: 4rem auto 0
    }

    .r-tpMv__entryCnv .btn .label {
        border-radius: 3.1rem;
        border: none;
        padding-right: 1.5rem
    }

    .r-tpMv__entryCnv .btn a {
        font-size: 1.2rem;
        line-height: 5.16667;
        border-radius: 3.1rem
    }
}

@media only screen and (max-width: 767px) {
    .r-tpMv__wrap {
        position:absolute;
        top: 50%;
        right: 0;
        left: 0;
        margin-top: 2rem;
        transform: translateY(-50%);
        z-index: 3
    }
}

@-webkit-keyframes r-tpMv-scrlbar {
    0% {
        transform: translate3d(0,0,0);
        opacity: 0
    }

    40% {
        opacity: 1
    }

    80% {
        transform: translate3d(0,2.5rem,0);
        opacity: 0
    }

    100% {
        opacity: 0
    }
}

@keyframes r-tpMv-scrlbar {
    0% {
        transform: translate3d(0,0,0);
        opacity: 0
    }

    40% {
        opacity: 1
    }

    80% {
        transform: translate3d(0,2.5rem,0);
        opacity: 0
    }

    100% {
        opacity: 0
    }
}

.r-tpSect+.r-tpSect {
    margin-top: 7.8125vw
}

@media only screen and (max-width: 767px) {
    .r-tpSect+.r-tpSect {
        margin-top:6rem
    }

    .r-tpSect+.r-mod-cnv {
        margin-top: 3.5rem
    }
}

.r-tpSect__hdg02 {
    text-align: center
}

.r-tpSect__hdg02>span {
    display: block
}

.r-tpSect__hdg02 .en {
    color: #168352;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2.64286;
    opacity: 1;
    transition: opacity .8s ease
}

.r-tpSect__hdg02 .ja {
    color: #473221;
    font-size: 6rem;
    font-weight: 700;
    line-height: 1.1;
    margin-top: .46875vw
}

.r-tpSect__hdg02 .ja .e-font {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 7.5rem;
    font-weight: 600;
    line-height: .88
}

.r-tpSect__hdg02 .txt-line {
    display: inline-flex;
    overflow: hidden
}

.r-tpSect__hdg02 .txt-line span {
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .3s ease,transform .6s cubic-bezier(0,.55,.45,1)
}

.r-tpSect__hdg02 .txt-line span:nth-child(2) {
    transition-delay: 70ms
}

.r-tpSect__hdg02 .txt-line span:nth-child(3) {
    transition-delay: .14s
}

.r-tpSect__hdg02 .txt-line span:nth-child(4) {
    transition-delay: .21s
}

.r-tpSect__hdg02 .txt-line span:nth-child(5) {
    transition-delay: .28s
}

.r-tpSect__hdg02 .txt-line span:nth-child(6) {
    transition-delay: .35s
}

.r-tpSect__hdg02 .txt-line span:nth-child(7) {
    transition-delay: .42s
}

.r-tpSect__hdg02 .txt-line span:nth-child(8) {
    transition-delay: .49s
}

.r-tpSect__hdg02 .txt-line span:nth-child(9) {
    transition-delay: .56s
}

.r-tpSect__hdg02 .txt-line span:nth-child(10) {
    transition-delay: .63s
}

.r-tpSect__hdg02 .txt-line span:nth-child(11) {
    transition-delay: .7s
}

.r-tpSect__hdg02 .txt-line span:nth-child(12) {
    transition-delay: .77s
}

.r-tpSect__hdg02 .txt-line span:nth-child(13) {
    transition-delay: .84s
}

.r-tpSect__hdg02 .txt-line span:nth-child(14) {
    transition-delay: .91s
}

.r-tpSect__hdg02 .txt-line span:nth-child(15) {
    transition-delay: .98s
}

.r-tpSect__hdg02 .txt-line span:nth-child(16) {
    transition-delay: 1.05s
}

.r-tpSect__hdg02 .txt-line span:nth-child(17) {
    transition-delay: 1.12s
}

.r-tpSect__hdg02 .txt-line span:nth-child(18) {
    transition-delay: 1.19s
}

.r-tpSect__hdg02 .txt-line span:nth-child(19) {
    transition-delay: 1.26s
}

.r-tpSect__hdg02 .txt-line span:nth-child(20) {
    transition-delay: 1.33s
}

.r-tpSect__hdg02 .txt-line span:nth-child(21) {
    transition-delay: 1.4s
}

.r-tpSect__hdg02 .txt-line span:nth-child(22) {
    transition-delay: 1.47s
}

.r-tpSect__hdg02 .txt-line span:nth-child(23) {
    transition-delay: 1.54s
}

.r-tpSect__hdg02 .txt-line span:nth-child(24) {
    transition-delay: 1.61s
}

.r-tpSect__hdg02.is-hidden .en {
    opacity: 0;
    transition: none
}

.r-tpSect__hdg02.is-hidden .txt-line span {
    opacity: 0;
    transform: translate3d(0,105%,0);
    transition: none
}

@media only screen and (max-width: 767px) {
    .r-tpSect__hdg02 .ja {
        font-size:3.6rem;
        margin-top: .7rem
    }

    .r-tpSect__hdg02 .ja .e-font {
        font-size: 5.1rem;
        line-height: .78431
    }
}

.r-tpAbout {
    margin-top: -1.09375vw
}

@media only screen and (max-width: 767px) {
    .r-tpAbout {
        margin-top:0
    }
}

.r-tpAbout__image {
    width: 38.35938vw;
    position: relative;
    z-index: 2;
    opacity: 1;
    transition: opacity 1s .4s ease
}

.r-tpAbout__image .wrap {
    overflow: hidden;
    border-radius: 0 0 0 4rem;
    filter: drop-shadow(2.6rem 2.3rem 2.7rem rgba(0, 0, 0, .15))
}

.r-tpAbout__image .c-picture {
    width: 100%
}

.r-tpAbout__image .c-picture picture {
    padding-top: 130.95723%
}

.r-tpAbout__image .name {
    color: #fff;
    font-size: 1.2rem;
    letter-spacing: .04em;
    line-height: 1.08333;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    text-orientation: upright;
    position: absolute;
    top: 13.28125vw;
    right: .78125vw
}

.r-tpAbout__image .name span {
    display: block
}

.r-tpAbout__image .name span+span {
    margin-right: .625vw
}

@media only screen and (max-width: 767px) {
    .r-tpAbout__image {
        width:auto;
        overflow: hidden;
        padding-top: 2.6rem;
        margin-left: -.4rem
    }

    .r-tpAbout__image .wrap {
        border-radius: 0;
        filter: none
    }

    .r-tpAbout__image .c-picture {
        width: 34.5rem
    }

    .r-tpAbout__image .c-picture picture {
        padding-top: 93.91304%
    }

    .r-tpAbout__image .name {
        font-size: 1.1rem;
        line-height: 1.18182;
        top: 14.4rem;
        right: 4rem
    }

    .r-tpAbout__image .name span+span {
        margin-right: .8rem
    }
}

.r-tpAbout__heading {
    padding-left: 4.375vw;
    position: relative;
    z-index: 2
}

.r-tpAbout__heading .dec-svg {
    width: 8.98438vw;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -4.49219vw;
    z-index: 2
}

.r-tpAbout__heading .dec-svg svg {
    width: 100%;
    height: auto
}

.r-tpAbout__heading .dec-svg path {
    fill: #f4f4f4
}

.r-tpAbout__heading .lyt {
    display: flex;
    align-items: flex-end;
    position: relative
}

.r-tpAbout__heading .lyt:before {
    content: "";
    display: block;
    position: absolute;
    width: 87.10938vw;
    height: 41.01562vw;
    right: 0;
    bottom: 0;
    background: #168352;
    z-index: 1;
    border-radius: 4rem 0 0 4rem;
    transition: width .8s cubic-bezier(.645,.045,.355,1)
}

.r-tpAbout__heading.is-hidden .lyt:before {
    width: 0;
    transition: none
}

.r-tpAbout__heading.is-hidden .r-tpAbout__image {
    opacity: 0;
    transition: none
}

.r-tpAbout__heading.is-hidden .r-tpAbout__headingCol .btn,.r-tpAbout__heading.is-hidden .r-tpAbout__headingCol .num,.r-tpAbout__heading.is-hidden .r-tpAbout__headingCol .text,.r-tpAbout__heading.is-hidden .r-tpAbout__headingCol .title {
    opacity: 0;
    transform: translate3d(0,1.5rem,0);
    transition: none
}

@media only screen and (max-width: 767px) {
    .r-tpAbout__heading {
        padding-left:2rem
    }

    .r-tpAbout__heading .dec-svg {
        width: 8.6rem;
        margin-left: -4.3rem
    }

    .r-tpAbout__heading .lyt {
        display: block
    }

    .r-tpAbout__heading .lyt:before {
        width: 100%;
        height: auto;
        top: 10.8rem
    }
}

.r-tpAbout__headingCol {
    color: #fff;
    flex: 1;
    padding: 0 11.09375vw 8.35938vw 8.51562vw;
    position: relative;
    z-index: 2
}

.r-tpAbout__headingCol .num {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 3.3rem;
    font-weight: 600;
    line-height: 1.12121;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s .6s ease,transform .6s .6s ease
}

.r-tpAbout__headingCol .title {
    font-size: 4.4rem;
    font-weight: 700;
    line-height: 1.09091;
    letter-spacing: .04em;
    margin-top: 2.03125vw;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s .7s ease,transform .6s .7s ease
}

.r-tpAbout__headingCol .text {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 2.13333;
    letter-spacing: .04em;
    margin-top: 1.875vw;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s .8s ease,transform .6s .8s ease
}

.r-tpAbout__headingCol .btn {
    text-align: center;
    width: 24.8rem;
    margin-top: 3.125vw;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s .9s ease,transform .6s .9s ease
}

.r-tpAbout__headingCol .btn a {
    color: #168352;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 3.6;
    background-color: #fff;
    display: block;
    border-radius: 3rem;
    position: relative;
    overflow: hidden;
    border: #fff 3px solid;
    transition: color .4s ease-out,background-color .4s ease-out
}

.r-tpAbout__headingCol .btn a:after,.r-tpAbout__headingCol .btn a:before {
    content: "";
    width: 2.3rem;
    height: 2.3rem;
    display: block;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 2.2rem;
    margin-top: -1.15rem;
    transition: transform .4s ease-out,background-color .4s ease-out
}

.r-tpAbout__headingCol .btn a:before {
    background-color: rgba(22,131,82,.2)
}

.r-tpAbout__headingCol .btn a:after {
    background-color: #168352;
    transform: scale(.217)
}

@media (hover: hover) {
    .r-tpAbout__headingCol .btn a:hover {
        color:#fff;
        background-color: #168352
    }

    .r-tpAbout__headingCol .btn a:hover:after {
        background-color: rgba(255,255,255,.2);
        transform: scale(1)
    }

    .r-tpAbout__headingCol .btn a:hover:before {
        background-color: #fff;
        transform: scale(.217)
    }
}

@media only screen and (max-width: 767px) {
    .r-tpAbout__headingCol {
        margin-top:2rem;
        padding: 0 2rem 7rem 4.2rem
    }

    .r-tpAbout__headingCol .num {
        font-size: 1.8rem;
        line-height: 2.05556;
        margin-left: .8rem
    }

    .r-tpAbout__headingCol .title {
        font-size: 2.8rem;
        line-height: 1.71429;
        margin-top: -.7rem
    }

    .r-tpAbout__headingCol .text {
        font-size: 1.4rem;
        line-height: 2;
        margin: .4rem 0 0 .8rem
    }

    .r-tpAbout__headingCol .btn {
        width: 23.5rem;
        margin: 3rem 0 0 .8rem
    }

    .r-tpAbout__headingCol .btn .icon {
        width: 2rem;
        height: 2rem;
        right: 1.5rem
    }

    .r-tpAbout__headingCol .btn .icon:after {
        transform: translate(-50%,-50%) scale(.2175)
    }

    .r-tpAbout__headingCol .btn a {
        font-size: 1.3rem;
        line-height: 4.15385;
        border-radius: 2.7rem;
        border: none
    }

    .r-tpAbout__headingCol .btn a:after,.r-tpAbout__headingCol .btn a:before {
        width: 2rem;
        height: 2rem;
        right: 1.5rem;
        margin-top: -1rem
    }

    .r-tpAbout__headingCol .btn a:after {
        transform: scale(.2175)
    }
}

.r-tpAbout__body {
    background: #f4f4f4;
    margin-top: -21.64062vw;
    padding: 28.35937vw 11.09375vw 8.59375vw;
    border-radius: 4rem;
    position: relative;
    z-index: 1
}

.r-tpAbout__body .lyt {
    display: flex;
    justify-content: space-between
}

@media only screen and (max-width: 767px) {
    .r-tpAbout__body {
        margin-top:-43.3rem;
        padding: 47.3rem 2rem 6rem
    }

    .r-tpAbout__body .lyt {
        display: block
    }
}

.r-tpAbout__bodyCol {
    width: 37.34375vw;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s ease,transform .6s ease
}

.r-tpAbout__bodyCol+.r-tpAbout__bodyCol {
    transition-delay: .2s
}

.r-tpAbout__bodyCol.is-hidden {
    opacity: 0;
    transform: translate3d(0,1.5rem,0);
    transition: none
}

.r-tpAbout__bodyCol a {
    z-index: 1;
    display: block;
    overflow: hidden;
    border-radius: 4rem;
    position: relative
}

@media (hover: hover) {
    .r-tpAbout__bodyCol a:hover .bg img {
        transform:scale(1.1)
    }

    .r-tpAbout__bodyCol a:hover .arr svg {
        transform: translate3d(.5rem,0,0)
    }
}

.r-tpAbout__bodyCol .bg {
    position: relative
}

.r-tpAbout__bodyCol .bg img {
    transition: transform .4s ease-out
}

.r-tpAbout__bodyCol .c-picture {
    width: 100%
}

.r-tpAbout__bodyCol .c-picture picture {
    padding-top: 61.50628%
}

.r-tpAbout__bodyCol .text {
    color: #fff;
    text-align: center;
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    transform: translateY(-50%)
}

.r-tpAbout__bodyCol .text .num {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 3.3rem;
    font-weight: 600;
    line-height: 1.12121
}

.r-tpAbout__bodyCol .text .txt {
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.19231;
    letter-spacing: .04em;
    margin-top: .85938vw
}

.r-tpAbout__bodyCol .arr {
    background-color: #168352;
    width: 5.7rem;
    height: 5.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 2rem;
    bottom: 2rem;
    border-radius: 100%
}

.r-tpAbout__bodyCol .arr svg {
    width: 1.9rem;
    height: 1.9rem;
    display: block;
    transition: transform .4s ease-out
}

@media only screen and (max-width: 767px) {
    .r-tpAbout__bodyCol {
        width:100%
    }

    .r-tpAbout__bodyCol+.r-tpAbout__bodyCol {
        transition-delay: 0s
    }

    .r-tpAbout__bodyCol .c-picture picture {
        padding-top: 61.49254%
    }

    .r-tpAbout__bodyCol+.r-tpAbout__bodyCol {
        margin-top: 3rem
    }

    .r-tpAbout__bodyCol a {
        border-radius: 3rem
    }

    .r-tpAbout__bodyCol .text .num {
        font-size: 2.1rem;
        line-height: 1.7619
    }

    .r-tpAbout__bodyCol .text .txt {
        font-size: 1.8rem;
        line-height: 1.72222;
        margin-top: -.6rem
    }

    .r-tpAbout__bodyCol .arr {
        width: 4rem;
        height: 4rem
    }

    .r-tpAbout__bodyCol .arr svg {
        width: 1.3rem;
        height: 1.3rem
    }
}

.r-tpInterview {
    margin-top: 6.25vw
}

@media only screen and (max-width: 767px) {
    .r-tpInterview {
        margin-top:4.5rem
    }
}

.r-tpInterview__column:last-child a {
    padding-bottom: 0
}

.r-tpInterview__column:last-child .dec-svg {
    bottom: -1px
}

.r-tpInterview__column a {
    display: block;
    position: relative;
    padding-bottom: .78125vw
}

.r-tpInterview__column a:before {
    content: "";
    display: block;
    background-color: #168352;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    opacity: 1;
    transition: opacity .6s ease
}

@media (hover: hover) {
    .r-tpInterview__column a:hover .image img {
        transform:scale(1.1)
    }

    .r-tpInterview__column a:hover .detail .c {
        text-decoration: none
    }
}

.r-tpInterview__column .image {
    overflow: hidden;
    position: relative;
    z-index: 2;
    -webkit-clip-path: polygon(0 0,100% 0,100% 100%,0 100%);
    clip-path: polygon(0 0,100% 0,100% 100%,0 100%);
    transition: -webkit-clip-path .8s .4s cubic-bezier(.645,.045,.355,1);
    transition: clip-path .8s .4s cubic-bezier(.645,.045,.355,1);
    transition: clip-path .8s .4s cubic-bezier(.645,.045,.355,1),-webkit-clip-path .8s .4s cubic-bezier(.645,.045,.355,1)
}

.r-tpInterview__column .image img {
    transition: transform .4s ease-out
}

.r-tpInterview__column .c-picture {
    width: 100%
}

.r-tpInterview__column .c-picture picture {
    padding-top: 35.9375%
}

.r-tpInterview__column .dec-svg {
    width: 16.875vw;
    position: absolute;
    bottom: .74219vw;
    left: 11.09375vw;
    z-index: 3;
    opacity: 1;
    transition: opacity .2s .4s ease
}

.r-tpInterview__column .dec-svg svg {
    width: 100%;
    height: auto
}

.r-tpInterview__column .dec-svg path {
    fill: #168352
}

.r-tpInterview__column .detail {
    box-sizing: border-box;
    width: 28.125vw;
    padding: 3.125vw;
    background: #fff;
    border-radius: 4rem;
    position: absolute;
    bottom: -2.65625vw;
    right: 3.125vw;
    z-index: 3;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s .75s ease,transform .6s .75s ease
}

.r-tpInterview__column .detail .cap {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.44444;
    text-decoration: underline
}

.r-tpInterview__column .detail .txt {
    color: #8d8d8d;
    font-size: 1.3rem;
    line-height: 1.84615;
    letter-spacing: .04em;
    margin-top: 1.17188vw
}

.r-tpInterview__column:nth-child(even) .dec-svg {
    left: auto;
    right: 11.09375vw
}

.r-tpInterview__column:nth-child(even) .detail {
    right: auto;
    left: 3.125vw
}

.r-tpInterview__column:nth-child(even).is-hidden .image {
    -webkit-clip-path: polygon(0 0,0 0,0 100%,0 100%);
    clip-path: polygon(0 0,0 0,0 100%,0 100%)
}

.r-tpInterview__column.is-hidden .dec-svg,.r-tpInterview__column.is-hidden a:before {
    opacity: 0;
    transition: none
}

.r-tpInterview__column.is-hidden .image {
    -webkit-clip-path: polygon(100% 0,100% 0,100% 100%,100% 100%);
    clip-path: polygon(100% 0,100% 0,100% 100%,100% 100%);
    transition: none
}

.r-tpInterview__column.is-hidden .detail {
    opacity: 0;
    transform: translate3d(0,1rem,0);
    transition: none
}

@media only screen and (max-width: 767px) {
    .r-tpInterview__column:last-child a {
        padding-bottom:2rem
    }

    .r-tpInterview__column a {
        padding-bottom: 2rem
    }

    .r-tpInterview__column .dec-svg {
        display: none
    }

    .r-tpInterview__column .c-picture picture {
        padding-top: 82.93333%
    }

    .r-tpInterview__column .detail {
        width: 33.5rem;
        padding: 3rem;
        border-radius: 3rem;
        position: relative;
        bottom: 0;
        right: 0;
        margin: -9.4rem auto 0
    }

    .r-tpInterview__column .detail:after,.r-tpInterview__column .detail:before {
        content: "";
        display: block;
        position: absolute
    }

    .r-tpInterview__column .detail:before {
        width: 4rem;
        height: 4rem;
        background-color: #168352;
        border-radius: 50%;
        right: 2rem;
        bottom: 2rem
    }

    .r-tpInterview__column .detail:after {
        width: 1.3rem;
        height: 1.3rem;
        background: url(../img/recruit/arrow.svg) no-repeat;
        background-position: center center;
        background-size: contain;
        right: 3.3rem;
        bottom: 3.3rem
    }

    .r-tpInterview__column .detail .cap {
        font-size: 1.4rem;
        line-height: 1.42857
    }

    .r-tpInterview__column .detail .txt {
        width: 24rem;
        font-size: 1.1rem;
        line-height: 1.81818;
        margin-top: 1.2rem
    }

    .r-tpInterview__column:nth-child(even) .detail {
        right: 0;
        left: 0
    }
}

.r-tpInterview__toList {
    opacity: 1;
    transition: opacity .6s ease
}

.r-tpInterview__toList.is-hidden {
    opacity: 0;
    transition: none
}

.r-tpInterview__toList .btn a {
    color: #fff;
    font-family: Roboto,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 2rem;
    font-weight: 700;
    height: 12.5vw;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #168352;
    line-height: 1;
    position: relative;
    transition: background-color .4s ease-out
}

@media (hover: hover) {
    .r-tpInterview__toList .btn a:hover {
        background-color:#473221
    }

    .r-tpInterview__toList .btn a:hover .arr {
        transform: translate3d(.5rem,0,0)
    }

    .r-tpInterview__toList .btn a:hover .arr svg path {
        fill: #473221
    }
}

.r-tpInterview__toList .btn span {
    display: block
}

.r-tpInterview__toList .btn .label {
    padding-left: 9rem
}

.r-tpInterview__toList .btn .arr {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.6rem;
    height: 5.6rem;
    margin-left: 3.4rem;
    background-color: #fff;
    border-radius: 50%;
    transition: transform .4s ease-out
}

.r-tpInterview__toList .btn .arr svg {
    width: 1.9rem;
    height: auto
}

.r-tpInterview__toList .btn .arr path {
    fill: #168352;
    transition: fill .4s ease-out
}

@media only screen and (max-width: 767px) {
    .r-tpInterview__toList {
        width:23.5rem;
        margin: 3rem auto 0
    }

    .r-tpInterview__toList .btn a {
        font-size: 1.3rem;
        height: auto;
        display: block;
        line-height: 4.15385;
        text-align: center;
        border-radius: 2.7rem;
        background-color: #168352
    }

    .r-tpInterview__toList .btn .label {
        padding-left: 0
    }

    .r-tpInterview__toList .btn .arr {
        width: 2rem;
        height: 2rem;
        background-color: rgba(255,255,255,.2);
        position: absolute;
        top: 50%;
        right: 1.7rem;
        margin: -1rem 0 0;
        transition: transform .4s ease-out
    }

    .r-tpInterview__toList .btn .arr svg {
        display: none
    }

    .r-tpInterview__toList .btn .arr:before {
        content: "";
        display: block;
        width: .4rem;
        height: .4rem;
        background-color: #fff;
        border-radius: 50%
    }
}

.r-interviewList {
    margin-top: 5.46875vw;
    padding-bottom: 10.15625vw
}

.r-interviewList .inner {
    padding: 0 7.96875vw
}

.r-interviewList .lead {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: .04em;
    text-align: center
}

.r-interviewList .lyt {
    border-top: rgba(37,30,28,.1) 1px solid;
    margin-top: 5.46875vw;
    padding-top: 6.25vw;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.r-interviewList__col {
    width: 39.6875vw;
    margin-bottom: 4.6875vw
}

.r-interviewList__col a {
    display: block
}

@media (hover: hover) {
    .r-interviewList__col a:hover .image img {
        transform:scale(1.1)
    }

    .r-interviewList__col a:hover .title {
        text-decoration: none
    }
}

.r-interviewList__col .image {
    z-index: 1;
    overflow: hidden;
    position: relative;
    border-radius: 4rem
}

.r-interviewList__col .image img {
    transition: transform .4s ease-out
}

.r-interviewList__col .c-picture {
    width: 100%
}

.r-interviewList__col .c-picture picture {
    padding-top: 70.86614%
}

.r-interviewList__col .dec-svg {
    width: 5.3125vw;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -2.65625vw
}

.r-interviewList__col .dec-svg svg {
    width: 100%;
    height: auto
}

.r-interviewList__col .dec-svg path {
    fill: #fff
}

.r-interviewList__col .title {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.44444;
    text-decoration: underline;
    margin-top: 1.17188vw
}

.r-interviewList__col .sub {
    color: #8d8d8d;
    font-size: 1.3rem;
    line-height: 2;
    letter-spacing: .04em;
    margin-top: 1.17188vw
}

.r-interviewList__col ._department {
    margin-left: 1rem
}

@media only screen and (max-width: 767px) {
    .r-interviewList {
        margin-top:4rem;
        padding-bottom: 5rem
    }

    .r-interviewList .inner {
        padding: 0 2rem
    }

    .r-interviewList .lead {
        font-size: 1.5rem;
        line-height: 1.86667;
        text-align: left
    }

    .r-interviewList .lyt {
        margin-top: 4rem;
        padding-top: 5rem;
        display: block
    }

    .r-interviewList__col {
        width: 100%;
        margin-bottom: 4rem
    }

    .r-interviewList__col .image {
        border-radius: 3rem
    }

    .r-interviewList__col .c-picture picture {
        padding-top: 71.04478%
    }

    .r-interviewList__col .dec-svg {
        width: 6.8rem;
        margin-left: -3.4rem
    }

    .r-interviewList__col .title {
        font-size: 1.4rem;
        line-height: 1.42857;
        margin-top: 1.5rem
    }

    .r-interviewList__col .sub {
        font-size: 1.1rem;
        line-height: 2.36364;
        margin-top: 1rem
    }
}

.r-interview {
    padding-bottom: 10.9375vw
}

@media only screen and (max-width: 767px) {
    .r-interview {
        padding-bottom:9rem
    }

    .r-interview__body {
        margin-top: 5rem
    }

    .r-interview__body .inner {
        padding: 0 2rem
    }
}

.r-iHeading__heading {
    display: flex;
    flex-direction: column-reverse
}

.r-iHeading__bc {
    padding: 1.5625vw 3.90625vw 0
}

@media only screen and (max-width: 767px) {
    .r-iHeading__bc {
        padding:1rem 2rem 0
    }
}

.r-iHeading__hdg {
    margin-top: 3.59375vw;
    padding: 0 7.96875vw;
    display: flex
}

@media only screen and (max-width: 767px) {
    .r-iHeading__hdg {
        margin-top:3rem;
        padding: 0 2rem;
        display: block
    }
}

.r-iHeading__title {
    font-size: 2.7rem;
    font-weight: 700;
    line-height: 1.40741;
    flex: 1
}

@media only screen and (max-width: 767px) {
    .r-iHeading__title {
        font-size:1.8rem;
        line-height: 1.61111
    }
}

.r-iHeading__data {
    box-sizing: border-box;
    width: 24.84375vw;
    border-left: #168352 2px solid;
    padding-left: 1.64062vw;
    margin-left: 6.5625vw;
    display: flex;
    align-items: center
}

.r-iHeading__data .s {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: .95833;
    letter-spacing: .04em
}

.r-iHeading__data .t {
    font-size: 1.4rem;
    line-height: 1.64286;
    letter-spacing: .04em;
    margin-top: .78125vw
}

.r-iHeading__data .t .note {
    color: #8d8d8d;
    font-size: 1.2rem;
    line-height: 1.91667;
    display: inline-block
}

@media only screen and (max-width: 767px) {
    .r-iHeading__data {
        width:100%;
        padding-left: 1.6rem;
        margin: 2.2rem 0 0;
        display: block
    }

    .r-iHeading__data .s {
        font-size: 1.4rem;
        line-height: 1.64286
    }

    .r-iHeading__data .t {
        font-size: 1.1rem;
        line-height: 1.72727;
        margin-top: 0
    }

    .r-iHeading__data .t .note {
        font-size: 1rem;
        line-height: 1.9
    }
}

.r-iHeading__visual {
    margin-top: 3.28125vw;
    position: relative;
    overflow: hidden
}

.r-iHeading__visual:before {
    content: "";
    display: block;
    padding-top: 46.40625%
}

.r-iHeading__visual .visual {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top center;
    object-position: top center
}

.r-iHeading__visual .dec-svg {
    width: 12.65625vw;
    position: absolute;
    bottom: -1px;
    left: 50%;
    margin-left: -6.32812vw
}

.r-iHeading__visual .dec-svg svg {
    width: 100%;
    height: auto
}

.r-iHeading__visual .dec-svg path {
    fill: #fff
}

@media only screen and (max-width: 767px) {
    .r-iHeading__visual {
        margin-top:2.6rem
    }

    .r-iHeading__visual:before {
        padding-top: 83.46667%
    }

    .r-iHeading__visual .dec-svg {
        width: 8.6rem;
        margin-left: -4.3rem
    }
}

.r-iBody {
    margin-top: 7.8125vw
}

.r-iBody .inner {
    padding: 0 7.96875vw
}

@media only screen and (max-width: 767px) {
    .r-iBody {
        margin-top:5rem
    }

    .r-iBody .inner {
        padding: 0 2rem
    }
}

.r-iBody__qaBlock .lyt {
    display: flex;
    align-items: flex-start
}

@media only screen and (max-width: 767px) {
    .r-iBody__qaBlock .lyt {
        display:block
    }
}

.r-iBody__qaBlock.is-hidden .r-iBody__qaCol,.r-iBody__qaBlock.is-hidden .r-iBody__qaImage {
    opacity: 0;
    transform: translate3d(0,1.5rem,0);
    transition: none
}

.r-iBody__qaImage {
    width: 41.875vw;
    border-radius: 4rem;
    overflow: hidden;
    margin-right: 4.6875vw;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s ease,transform .6s ease
}

.r-iBody__qaImage .c-picture {
    width: 100%
}

.r-iBody__qaImage .c-picture picture {
    padding-top: 76.49254%
}

.r-iBody__qaImage+.r-iBody__qaCol {
    transition-delay: .2s
}

@media only screen and (max-width: 767px) {
    .r-iBody__qaImage {
        width:100%;
        margin-right: 0
    }

    .r-iBody__qaImage .c-picture picture {
        padding-top: 76.1194%
    }

    .r-iBody__qaImage+.r-iBody__qaCol {
        margin-top: 2rem
    }
}

.r-iBody__qaCol {
    flex: 1;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s ease,transform .6s ease
}

.r-iBody__qaCol .q {
    width: 100%;
    display: table;
    padding-bottom: .78125vw;
    border-bottom: #168352 1px solid
}

.r-iBody__qaCol .q>span {
    display: table-cell;
    vertical-align: top
}

.r-iBody__qaCol .q .fig {
    text-align: center;
    width: 4.6rem
}

.r-iBody__qaCol .q .fig span {
    color: #fff;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 3.28571;
    letter-spacing: .04em;
    background-color: #168352;
    border-radius: 50%;
    display: block
}

.r-iBody__qaCol .q .t {
    color: #168352;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5625;
    padding: 1rem 0 0 1.5rem
}

.r-iBody__qaCol .lead {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.38889;
    letter-spacing: .04em;
    margin-top: 2.34375vw;
    white-space: pre-wrap
}

.r-iBody__qaCol .text {
    font-size: 1.4rem;
    line-height: 1.71429;
    letter-spacing: .04em;
    margin-top: 1.5625vw;
    white-space: pre-wrap
}

.r-iBody__qaCol .text+.text {
    margin-top: 1.5em
}

@media only screen and (max-width: 767px) {
    .r-iBody__qaCol .q {
        padding-bottom:1.4rem
    }

    .r-iBody__qaCol .q .fig {
        width: 3.4rem
    }

    .r-iBody__qaCol .q .fig span {
        font-size: 1.1rem;
        line-height: 3.09091
    }

    .r-iBody__qaCol .q .t {
        font-size: 1.4rem;
        line-height: 1.35714;
        padding: .4rem 0 0 1.4rem
    }

    .r-iBody__qaCol .lead {
        font-size: 1.5rem;
        line-height: 1.46667;
        margin-top: 2rem
    }

    .r-iBody__qaCol .text {
        font-size: 1.2rem;
        line-height: 1.66667;
        margin-top: 2rem
    }
}

.r-iBody__schedule {
    margin-top: 7.8125vw;
    background: #fafafa;
    border-radius: 4rem;
    padding: 5.625vw 0 3.90625vw;
    opacity: 1;
    transition: opacity .8s ease
}

.r-iBody__schedule .wrap {
    padding: 0 4.92188vw
}

.r-iBody__schedule .tl {
    max-width: 95rem;
    margin: 2.34375vw auto 0;
    padding-top: 4rem;
    position: relative
}

.r-iBody__schedule .tl:after,.r-iBody__schedule .tl:before {
    content: "";
    display: block;
    box-sizing: border-box;
    width: .9rem;
    height: .9rem;
    background: #fff;
    border: #473221 1px solid;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    margin-left: -.45rem;
    z-index: 2
}

.r-iBody__schedule .tl:before {
    top: 0;
    opacity: 1;
    transition: opacity .4s .4s ease
}

.r-iBody__schedule .tl:after {
    bottom: 1.6rem;
    opacity: 1;
    transition: opacity .4s 1.2s ease
}

.r-iBody__schedule.is-hidden {
    opacity: 0;
    transition: none
}

.r-iBody__schedule.is-hidden .tl:after,.r-iBody__schedule.is-hidden .tl:before {
    opacity: 0;
    transition: none
}

.r-iBody__schedule.is-hidden .r-iBody__scheduleTl:before {
    transform: scaleY(0);
    transition: none
}

.r-iBody__schedule.is-hidden .r-iBody__scheduleTl li:before {
    width: 0;
    transition: none
}

.r-iBody__schedule.is-hidden .r-iBody__scheduleTlcol .ttl .t,.r-iBody__schedule.is-hidden .r-iBody__scheduleTlcol .ttl .time {
    opacity: 0;
    transition: none
}

.r-iBody__schedule.is-hidden .r-iBody__scheduleTlcol .ttl .t {
    transform: translate3d(0,.5rem,0)
}

.r-iBody__schedule.is-hidden .r-iBody__scheduleTlcol .text {
    opacity: 0;
    transform: translate3d(0,.5rem,0);
    transition: none
}

.r-iBody__schedule.is-hidden .r-iBody__scheduleBox {
    opacity: 0;
    transform: translate3d(0,1.5rem,0);
    transition: none
}

@media only screen and (max-width: 767px) {
    .r-iBody__schedule {
        margin-top:5rem;
        padding: 4rem 0 2rem
    }

    .r-iBody__schedule .wrap {
        padding: 0 2rem
    }

    .r-iBody__schedule .tl {
        margin: 2rem 0 0;
        padding: 1.3rem 0 2.8rem
    }

    .r-iBody__schedule .tl:after,.r-iBody__schedule .tl:before {
        left: .3rem;
        margin-left: 0
    }

    .r-iBody__schedule .tl:after {
        bottom: 0
    }
}

.r-iBody__scheduleTitle {
    text-align: center
}

.r-iBody__scheduleTitle span {
    display: block
}

.r-iBody__scheduleTitle .en {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 3rem;
    font-weight: 500;
    line-height: .76667
}

.r-iBody__scheduleTitle .ja {
    color: #8d8d8d;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.78571;
    margin-top: .625vw
}

@media only screen and (max-width: 767px) {
    .r-iBody__scheduleTitle .en {
        font-size:2.2rem;
        line-height: 1.04545
    }

    .r-iBody__scheduleTitle .ja {
        font-size: 1rem;
        line-height: 2.5;
        margin-top: 0
    }
}

.r-iBody__scheduleTl:before {
    content: "";
    display: block;
    width: 1px;
    background: #168352;
    position: absolute;
    top: 0;
    bottom: 1.6rem;
    left: 50%;
    margin-left: -.5px;
    z-index: 1;
    transform-origin: top center;
    transform: scaleY(1);
    transition: transform .8s .5s cubic-bezier(.645,.045,.355,1)
}

.r-iBody__scheduleTl li {
    box-sizing: border-box;
    width: 50%;
    height: 8.5rem;
    margin-left: auto;
    padding-left: 12.1rem;
    position: relative;
    z-index: 2
}

.r-iBody__scheduleTl li:before {
    content: "";
    display: block;
    width: 8.2rem;
    height: 1px;
    background: #168352;
    position: absolute;
    top: 1.4rem;
    left: 0;
    z-index: 1;
    transition: width .3s .75s cubic-bezier(.645,.045,.355,1)
}

.r-iBody__scheduleTl li:nth-child(odd) {
    text-align: right;
    margin: 0 auto 0 0;
    padding: 0 12.1rem 0 0
}

.r-iBody__scheduleTl li:nth-child(odd):before {
    right: 0;
    left: auto
}

.r-iBody__scheduleTl li:nth-child(odd) .r-iBody__scheduleTlcol {
    padding: 0 0 0 27.12843%
}

.r-iBody__scheduleTl li:nth-child(odd) .r-iBody__scheduleTlcol .ttl .time {
    right: auto;
    left: 100%;
    padding: 0 0 0 1.9rem
}

.r-iBody__scheduleTl li:nth-child(odd) .r-iBody__scheduleTlcol .ttl .time:after {
    right: 100%;
    left: auto;
    transform: translate(50%,-50%)
}

.r-iBody__scheduleTl li:nth-child(2):before {
    transition-delay: .9s
}

.r-iBody__scheduleTl li:nth-child(2) .r-iBody__scheduleTlcol .ttl .t {
    transition-delay: 1.15s
}

.r-iBody__scheduleTl li:nth-child(2) .r-iBody__scheduleTlcol .ttl .time {
    transition-delay: .75s
}

.r-iBody__scheduleTl li:nth-child(2) .r-iBody__scheduleTlcol .text {
    transition-delay: 1.15s
}

.r-iBody__scheduleTl li:nth-child(3):before {
    transition-delay: 1.05s
}

.r-iBody__scheduleTl li:nth-child(3) .r-iBody__scheduleTlcol .ttl .t {
    transition-delay: 1.3s
}

.r-iBody__scheduleTl li:nth-child(3) .r-iBody__scheduleTlcol .ttl .time {
    transition-delay: .9s
}

.r-iBody__scheduleTl li:nth-child(3) .r-iBody__scheduleTlcol .text {
    transition-delay: 1.3s
}

.r-iBody__scheduleTl li:nth-child(4):before {
    transition-delay: 1.2s
}

.r-iBody__scheduleTl li:nth-child(4) .r-iBody__scheduleTlcol .ttl .t {
    transition-delay: 1.45s
}

.r-iBody__scheduleTl li:nth-child(4) .r-iBody__scheduleTlcol .ttl .time {
    transition-delay: 1.05s
}

.r-iBody__scheduleTl li:nth-child(4) .r-iBody__scheduleTlcol .text {
    transition-delay: 1.45s
}

.r-iBody__scheduleTl li:nth-child(5):before {
    transition-delay: 1.35s
}

.r-iBody__scheduleTl li:nth-child(5) .r-iBody__scheduleTlcol .ttl .t {
    transition-delay: 1.6s
}

.r-iBody__scheduleTl li:nth-child(5) .r-iBody__scheduleTlcol .ttl .time {
    transition-delay: 1.2s
}

.r-iBody__scheduleTl li:nth-child(5) .r-iBody__scheduleTlcol .text {
    transition-delay: 1.6s
}

.r-iBody__scheduleTl li:nth-child(6):before {
    transition-delay: 1.5s
}

.r-iBody__scheduleTl li:nth-child(6) .r-iBody__scheduleTlcol .ttl .t {
    transition-delay: 1.75s
}

.r-iBody__scheduleTl li:nth-child(6) .r-iBody__scheduleTlcol .ttl .time {
    transition-delay: 1.35s
}

.r-iBody__scheduleTl li:nth-child(6) .r-iBody__scheduleTlcol .text {
    transition-delay: 1.75s
}

@media only screen and (max-width: 767px) {
    .r-iBody__scheduleTl {
        padding-top:1rem
    }

    .r-iBody__scheduleTl:before {
        bottom: 0;
        left: .7rem;
        margin-left: 0
    }

    .r-iBody__scheduleTl li {
        width: 100%;
        height: auto;
        margin-left: 0;
        padding-left: 8.4rem
    }

    .r-iBody__scheduleTl li+li,.r-iBody__scheduleTl li+li:nth-child(odd) {
        margin-top: 4rem
    }

    .r-iBody__scheduleTl li:before {
        width: 6.1rem;
        top: 1.3rem;
        left: .7rem
    }

    .r-iBody__scheduleTl li:after {
        content: "";
        display: block;
        width: 1.5rem;
        height: 1.5rem;
        background: #fff;
        border: #168352 2px solid;
        border-radius: 50%;
        position: absolute;
        top: .6rem;
        left: 0;
        z-index: 2
    }

    .r-iBody__scheduleTl li:nth-child(odd) {
        text-align: left;
        margin: 0;
        padding: 0 0 0 8.4rem
    }

    .r-iBody__scheduleTl li:nth-child(odd):before {
        right: auto;
        left: .7rem
    }

    .r-iBody__scheduleTl li:nth-child(odd) .r-iBody__scheduleTlcol {
        padding: 0 1rem 0 0
    }

    .r-iBody__scheduleTl li:nth-child(odd) .r-iBody__scheduleTlcol .ttl .time {
        right: 100%;
        left: auto;
        padding: 0 2rem 0 0
    }
}

.r-iBody__scheduleTlcol {
    padding-right: 27.12843%
}

.r-iBody__scheduleTlcol .ttl span {
    display: block
}

.r-iBody__scheduleTlcol .ttl .t {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.78571;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s 1s ease,transform .6s 1s ease
}

.r-iBody__scheduleTlcol .ttl .time {
    color: #168352;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4375;
    white-space: nowrap;
    position: absolute;
    top: .4rem;
    right: 100%;
    padding-right: 1.9rem;
    z-index: 2;
    opacity: 1;
    transition: opacity .3s .6s ease
}

.r-iBody__scheduleTlcol .ttl .time:after {
    content: "";
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background: #fff;
    border: #168352 2px solid;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translate(-50%,-50%)
}

.r-iBody__scheduleTlcol .text {
    font-size: 1.2rem;
    line-height: 1.58333;
    letter-spacing: .04em;
    margin-top: .6rem;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s 1s ease,transform .6s 1s ease;
    white-space: pre-wrap
}

@media only screen and (max-width: 767px) {
    .r-iBody__scheduleTlcol {
        padding-right:1rem
    }

    .r-iBody__scheduleTlcol .ttl {
        position: relative
    }

    .r-iBody__scheduleTlcol .ttl .time {
        top: -1.1rem;
        right: 100%;
        padding-right: 2rem
    }

    .r-iBody__scheduleTlcol .ttl .time:after {
        display: none
    }

    .r-iBody__scheduleTlcol .text {
        font-size: 1.1rem;
        line-height: 1.54545
    }
}

.r-iBody__scheduleBox {
    background-color: #fff;
    border-radius: 4rem;
    padding: 2.34375vw 5.85938vw;
    margin-top: 1.5625vw;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s 1.4s ease,transform .6s 1.4s ease
}

.r-iBody__scheduleBox p {
    font-size: 1.4rem;
    line-height: 1.71429;
    letter-spacing: .04em;
    white-space: pre-wrap
}

.r-iBody__scheduleBox p+p {
    margin-top: 1.5em
}

@media only screen and (max-width: 767px) {
    .r-iBody__scheduleBox {
        border-radius:3rem;
        padding: 2rem;
        margin-top: 3rem
    }

    .r-iBody__scheduleBox p {
        font-size: 1.2rem;
        line-height: 1.5
    }
}

.r-iBody__wImage {
    margin-top: 7.8125vw;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s ease,transform .6s ease
}

.r-iBody__wImage .c-picture {
    width: 100%
}

.r-iBody__wImage .c-picture picture {
    padding-top: 53.04688%
}

.r-iBody__wImage.is-hidden {
    opacity: 0;
    transform: translate3d(0,1.5rem,0);
    transition: none
}

@media only screen and (max-width: 767px) {
    .r-iBody__wImage {
        margin-top:3rem
    }

    .r-iBody__wImage .c-picture picture {
        padding-top: 53.06667%
    }
}

.r-iBody__faq .r-iBody__qaBlock {
    padding: 7.8125vw 0
}

.r-iBody__faq .r-iBody__qaBlock:nth-child(odd) {
    background-color: #f4f4f4
}

.r-iBody__faq .r-iBody__qaBlock.is-reversed .lyt {
    flex-direction: row-reverse
}

.r-iBody__faq .r-iBody__qaBlock.is-reversed .r-iBody__qaImage {
    margin: 0 0 0 4.6875vw
}

@media only screen and (max-width: 767px) {
    .r-iBody__faq .r-iBody__qaBlock {
        padding:5rem 0
    }

    .r-iBody__faq .r-iBody__qaBlock.is-reversed .r-iBody__qaImage {
        margin: 0
    }
}

.r-iBody__other {
    margin: 7.8125vw 3.125vw 0;
    padding: 4.60938vw 0 0;
    border-top: rgba(71,50,33,.2) 2px solid
}

.r-iBody__other .title {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.13636;
    text-align: center
}

.r-iBody__other .r-iBody__otherList {
    margin: 4.6875vw -3.125vw 0
}

@media only screen and (max-width: 767px) {
    .r-iBody__other {
        margin:5rem 2rem 0;
        padding: 3.9rem 0 0
    }

    .r-iBody__other .title {
        font-size: 1.8rem;
        line-height: 1.38889
    }

    .r-iBody__other .r-iBody__otherList {
        margin: 4.8rem -2rem 0
    }
}

.r-iBody__toList {
    width: 24rem;
    margin: 3.90625vw auto 0
}

.r-iBody__toList a {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 4.4;
    text-align: center;
    background: #168352;
    display: block;
    border-radius: 3.5rem;
    position: relative;
    overflow: hidden;
    transition: color .4s ease-out
}

@media only screen and (min-width: 768px) {
    .r-iBody__toList a:before {
        content:"";
        display: block;
        width: 24rem;
        height: 24rem;
        background-color: #fff;
        border-radius: 50%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%) scale(0);
        transition: transform .4s ease-out
    }
}

@media (hover: hover) {
    .r-iBody__toList a:hover {
        color:#168352
    }

    .r-iBody__toList a:hover:before {
        transform: translate(-50%,-50%) scale(1)
    }

    .r-iBody__toList a:hover .label {
        border-color: #168352
    }

    .r-iBody__toList a:hover .icon:before {
        transform: translate(-50%,-50%) scale(0)
    }

    .r-iBody__toList a:hover .icon:after {
        background-color: #168352;
        transform: translate(-50%,-50%) scale(1.3)
    }

    .r-iBody__toList a:hover .icon .c-svg {
        opacity: 1;
        -webkit-animation: kv-link-arrow-hover .4s ease-out .2s 1 normal both;
        animation: kv-link-arrow-hover .4s ease-out .2s 1 normal both
    }
}

.r-iBody__toList .label {
    position: relative;
    border-radius: 3.5rem;
    border: transparent 2px solid;
    transition: border-color .4s ease-out
}

.r-iBody__toList .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.3rem;
    height: 2.3rem;
    position: absolute;
    top: 50%;
    left: 2.3rem;
    transform: translateY(-50%) rotate(180deg)
}

.r-iBody__toList .icon:after,.r-iBody__toList .icon:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: rgba(255,255,255,.2);
    border-radius: 50%;
    transform: translate(-50%,-50%) scale(1);
    transition: transform .4s ease-out,background-color .4s ease-out
}

.r-iBody__toList .icon:after {
    background-color: #fff;
    transform: translate(-50%,-50%) scale(.217)
}

.r-iBody__toList .icon .c-svg {
    position: relative;
    z-index: 1;
    width: 1.1rem;
    opacity: 0;
    transition: opacity .4s ease-out;
    -webkit-animation: kv-link-arrow-normal .4s ease-out 0s 1 normal both;
    animation: kv-link-arrow-normal .4s ease-out 0s 1 normal both
}

@media only screen and (max-width: 767px) {
    .r-iBody__toList {
        width:23.5rem;
        margin-top: 3.5rem
    }

    .r-iBody__toList a {
        line-height: 3.6;
        border-radius: 2.7rem
    }

    .r-iBody__toList .label {
        border-radius: 2.7rem;
        border: none
    }

    .r-iBody__toList .icon {
        width: 2rem;
        height: 2rem;
        left: 1.7rem
    }

    .r-iBody__toList .icon:after {
        transform: translate(-50%,-50%) scale(.2175)
    }
}

.r-iBody__otherList .slide__btn {
    width: 5.6rem;
    height: 5.6rem;
    background-color: #fff;
    border-radius: 50%;
    margin-top: -2.8rem;
    box-shadow: 0 0 4rem rgba(0,0,0,.15)
}

.r-iBody__otherList .slide__btn.swiper-button-prev {
    left: 4.60938vw
}

.r-iBody__otherList .slide__btn.swiper-button-next {
    right: 4.60938vw
}

.r-iBody__otherList .slide__btn.swiper-button-next .arrow {
    transform: rotate(180deg)
}

.r-iBody__otherList .slide__btn:after {
    display: none
}

.r-iBody__otherList .slide__btn .arrow {
    display: block;
    width: 1.9rem;
    height: 1.9rem
}

@media only screen and (min-width: 768px) {
    .r-iBody__otherList:after,.r-iBody__otherList:before {
        content:"";
        display: block;
        width: 5.78125vw;
        background-color: #fff;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        z-index: 2;
        opacity: .6
    }

    .r-iBody__otherList:before {
        right: 0
    }

    .r-iBody__otherList:after {
        left: 0
    }
}

.r-iBody__otherList .r-iBody__otherListitem {
    width: 26.5625vw;
    margin: 0 1.09375vw
}

@media only screen and (max-width: 767px) {
    .r-iBody__otherList .slide__btn {
        display:none
    }

    .r-iBody__otherList .r-iBody__otherListitem {
        width: 26.4rem;
        margin: 0 .75rem
    }
}

.r-iBody__otherListitemCol a {
    display: block
}

@media (hover: hover) {
    .r-iBody__otherListitemCol a:hover .image img {
        transform:scale(1.1)
    }

    .r-iBody__otherListitemCol a:hover .ttl {
        text-decoration: none
    }
}

.r-iBody__otherListitemCol .image {
    z-index: 1;
    overflow: hidden;
    border-radius: 4rem;
    position: relative
}

.r-iBody__otherListitemCol .image .dec-svg {
    width: 5.3125vw;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -2.65625vw
}

.r-iBody__otherListitemCol .image .dec-svg svg {
    width: 100%;
    height: auto
}

.r-iBody__otherListitemCol .image .dec-svg path {
    fill: #fff
}

.r-iBody__otherListitemCol .image img {
    transition: transform .4s ease-out
}

.r-iBody__otherListitemCol .c-picture {
    width: 100%
}

.r-iBody__otherListitemCol .c-picture picture {
    padding-top: 70.88235%
}

.r-iBody__otherListitemCol .ttl {
    margin-top: 1.17188vw;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.46667;
    text-decoration: underline
}

.r-iBody__otherListitemCol .sub {
    color: #8d8d8d;
    font-size: 1.2rem;
    line-height: 2.16667;
    letter-spacing: .04em;
    margin-top: 1.5625vw
}

.r-iBody__otherListitemCol ._department {
    margin-left: 1rem
}

@media only screen and (max-width: 767px) {
    .r-iBody__otherListitemCol .image {
        border-radius:3rem
    }

    .r-iBody__otherListitemCol .image .dec-svg {
        width: 5.2rem;
        margin-left: -2.6rem
    }

    .r-iBody__otherListitemCol .c-picture picture {
        padding-top: 70.83333%
    }

    .r-iBody__otherListitemCol .ttl {
        margin-top: 1.5rem;
        font-size: 1.4rem;
        line-height: 1.42857
    }

    .r-iBody__otherListitemCol .sub {
        font-size: 1.1rem;
        line-height: 2.36364;
        margin-top: 1rem
    }
}

.r-job {
    margin-top: 7.03125vw;
    padding-bottom: 14.84375vw
}

.r-job .inner {
    padding: 0 14.0625vw
}

@media only screen and (max-width: 767px) {
    .r-job {
        margin-top:4rem;
        padding-bottom: 9rem
    }

    .r-job .inner {
        padding: 0 2rem
    }
}

.r-job__anc {
    display: flex;
    flex-wrap: wrap
}

.r-job__anc+.r-job__sect {
    margin-top: 4.0625vw
}

.r-job__anc li {
    margin: 0 .625vw .625vw 0
}

.r-job__anc li a {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2.57143;
    display: block;
    background-color: #f4f4f4;
    border-radius: .6rem;
    padding: 0 1.4rem 0 2.7rem;
    position: relative
}

@media (hover: hover) {
    .r-job__anc li a:hover .icon svg path {
        -webkit-animation:kf-scroll-arrow .8s ease-in-out 0s normal both;
        animation: kf-scroll-arrow .8s ease-in-out 0s normal both
    }
}

.r-job__anc li span {
    display: block;
    overflow: hidden
}

.r-job__anc li .icon {
    width: .7rem;
    position: absolute;
    top: 50%;
    left: 1.4rem;
    margin-top: -.45rem
}

.r-job__anc li .icon svg {
    width: 100%;
    height: auto;
    display: block
}

@media only screen and (max-width: 767px) {
    .r-job__anc+.r-job__sect {
        margin-top:4rem
    }

    .r-job__anc li {
        margin: 0 .9rem .9rem 0
    }

    .r-job__anc li a {
        line-height: 2.71429;
        padding: 0 .9rem 0 2rem
    }

    .r-job__anc li .icon {
        left: .9rem
    }
}

.r-job__sect+.r-job__sect {
    margin-top: 7.03125vw
}

.r-job__sect .non-result {
    font-size: 1.6rem;
    letter-spacing: .04em;
    line-height: 1.625
}

.r-job__sect .hdg02 {
    font-size: 3.8rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: .81579;
    padding-top: 2.5vw;
    position: relative
}

.r-job__sect .hdg02:after,.r-job__sect .hdg02:before {
    content: "";
    display: block;
    height: 2px;
    position: absolute;
    top: 0;
    left: 0
}

.r-job__sect .hdg02:before {
    width: 100%;
    background-color: rgba(37,30,28,.1)
}

.r-job__sect .hdg02:after {
    width: 1.5625vw;
    background-color: #168352;
    border-right: #fff 2px solid
}

@media only screen and (max-width: 767px) {
    .r-job__sect+.r-job__sect {
        margin-top:7rem
    }

    .r-job__sect .non-result {
        font-size: 1.4rem
    }

    .r-job__sect .hdg02 {
        font-size: 2.2rem;
        letter-spacing: 0;
        line-height: 1.40909;
        padding-top: 1.6rem
    }

    .r-job__sect .hdg02:after {
        width: 2rem
    }
}

.r-job__items {
    margin-top: 4.84375vw;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.r-job__items li {
    width: 34.76562vw;
    margin-bottom: 2.34375vw
}

.r-job__items li a {
    color: #fff;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    height: 14.0625vw;
    background-color: #168352;
    border: #168352 2px solid;
    border-radius: 4rem;
    padding: 0 7.8125vw 0 4.53125vw;
    position: relative;
    transition: color .4s ease-out,background-color .4s ease-out
}

@media (hover: hover) {
    .r-job__items li a:hover {
        color:#168352;
        background-color: #fff
    }

    .r-job__items li a:hover .icon {
        background-color: #168352
    }

    .r-job__items li a:hover .icon path {
        fill: #fff
    }
}

.r-job__items li .label {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: .04em;
    display: block
}

.r-job__items li .icon {
    width: 5.7rem;
    height: 5.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    right: 3.125vw;
    margin-top: -2.85rem;
    background-color: #fff;
    border-radius: 50%;
    transition: background-color .4s ease-out
}

.r-job__items li .arr-svg {
    display: block;
    width: 1.9rem
}

.r-job__items li .arr-svg svg {
    width: 100%;
    height: auto
}

.r-job__items li .arr-svg path {
    fill: #168352;
    transition: fill .4s ease-out
}

@media only screen and (max-width: 767px) {
    .r-job__items {
        margin-top:3.2rem;
        display: block
    }

    .r-job__items li {
        width: 100%;
        margin-bottom: 1rem
    }

    .r-job__items li a {
        height: 11.6rem;
        border: none;
        border-radius: 3rem;
        padding: 0 7rem 0 3rem
    }

    .r-job__items li .label {
        font-size: 1.6rem;
        line-height: 1.9375
    }

    .r-job__items li .icon {
        width: 4rem;
        height: 4rem;
        right: 3rem;
        margin-top: -2rem
    }

    .r-job__items li .arr-svg {
        width: 1.3rem
    }
}

.r-job__sectBlock {
    margin-top: 4.6875vw
}

.r-job__sectBlock+.r-job__sectBlock {
    margin-top: 6.25vw
}

.r-job__sectBlock .hdg03 {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .04em;
    padding: 1.17188vw 1.32812vw;
    background-color: #f4f4f4;
    border-radius: .6rem
}

.r-job__sectBlock .hdg03 span {
    display: block;
    padding: .39062vw 0 .39062vw 1.25vw;
    position: relative
}

.r-job__sectBlock .hdg03 span:before {
    content: "";
    display: block;
    width: 3px;
    background-color: #168352;
    border-radius: 4px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0
}

.r-job__sectBlock .text {
    font-size: 1.6rem;
    line-height: 1.625;
    letter-spacing: .04em;
    margin-top: 3.90625vw
}

@media only screen and (max-width: 767px) {
    .r-job__sectBlock {
        margin-top:4rem
    }

    .r-job__sectBlock+.r-job__sectBlock {
        margin-top: 5rem
    }

    .r-job__sectBlock .hdg03 {
        font-size: 1.4rem;
        line-height: 1.42857;
        padding: 1rem 1.4rem
    }

    .r-job__sectBlock .hdg03 span {
        padding: .2rem 0 .2rem 1.3rem
    }

    .r-job__sectBlock .text {
        font-size: 1.7rem;
        line-height: 1.58824;
        margin: 2.5rem 1.6rem 0
    }
}

.r-job__blockDetail {
    margin-top: 3.90625vw;
    padding-bottom: 3.125vw;
    display: flex;
    border-bottom: rgba(37,30,28,.1) 1px solid
}

.r-job__blockDetail+.r-job__blockDetail {
    margin-top: 3.125vw
}

.r-job__blockDetail dt {
    width: 15.625vw;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.4375
}

.r-job__blockDetail dt span {
    display: block;
    padding-left: 2rem;
    position: relative
}

.r-job__blockDetail dt span:before {
    content: "";
    display: block;
    width: 1.2rem;
    height: 2px;
    background: #251e1c;
    position: absolute;
    top: 1.1rem;
    left: 0;
    border-radius: 3px
}

.r-job__blockDetail dd {
    flex: 1
}

.r-job__blockDetail dd .t {
    font-size: 1.5rem;
    letter-spacing: .04em;
    line-height: 1.73333;
    white-space: pre-wrap
}

.r-job__blockDetail dd .t+.t {
    margin-top: 1.5em
}

@media only screen and (max-width: 767px) {
    .r-job__blockDetail {
        margin-top:2.5rem;
        padding-bottom: 2rem;
        display: block
    }

    .r-job__blockDetail+.r-job__blockDetail {
        margin-top: 1.7rem
    }

    .r-job__blockDetail dt {
        width: 100%;
        font-size: 1.4rem;
        line-height: 1.64286
    }

    .r-job__blockDetail dt span {
        padding-left: 1.6rem
    }

    .r-job__blockDetail dt span:before {
        width: .8rem
    }

    .r-job__blockDetail dd {
        margin-top: .8rem;
        padding-left: 1.6rem
    }
}

.r-job__entry {
    width: 24rem;
    margin: 4.6875vw auto 0
}

.r-job__entry a {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 4.4;
    text-align: center;
    background: linear-gradient(90deg,#168352 0,#be5500 100%);
    display: block;
    border-radius: 3.5rem;
    position: relative;
    overflow: hidden;
    transition: color .4s ease-out
}

@media only screen and (min-width: 768px) {
    .r-job__entry a:before {
        content:"";
        display: block;
        width: 24rem;
        height: 24rem;
        background-color: #fff;
        border-radius: 50%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%) scale(0);
        transition: transform .4s ease-out
    }
}

@media (hover: hover) {
    .r-job__entry a:hover {
        color:#168352
    }

    .r-job__entry a:hover:before {
        transform: translate(-50%,-50%) scale(1)
    }

    .r-job__entry a:hover .label {
        border-color: #168352
    }

    .r-job__entry a:hover .icon:before {
        transform: translate(-50%,-50%) scale(0)
    }

    .r-job__entry a:hover .icon:after {
        background-color: #168352;
        transform: translate(-50%,-50%) scale(1.3)
    }

    .r-job__entry a:hover .icon .c-svg {
        opacity: 1;
        -webkit-animation: kv-link-arrow-hover .4s ease-out .2s 1 normal both;
        animation: kv-link-arrow-hover .4s ease-out .2s 1 normal both
    }
}

.r-job__entry .label {
    position: relative;
    border-radius: 3.5rem;
    border: transparent 2px solid;
    transition: border-color .4s ease-out
}

.r-job__entry .icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.3rem;
    height: 2.3rem;
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%)
}

.r-job__entry .icon:after,.r-job__entry .icon:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: rgba(255,255,255,.2);
    border-radius: 50%;
    transform: translate(-50%,-50%) scale(1);
    transition: transform .4s ease-out,background-color .4s ease-out
}

.r-job__entry .icon:after {
    background-color: #fff;
    transform: translate(-50%,-50%) scale(.217)
}

.r-job__entry .c-svg {
    position: relative;
    z-index: 1;
    width: 1.1rem;
    opacity: 0;
    transition: opacity .4s ease-out;
    -webkit-animation: kv-link-arrow-normal .4s ease-out 0s 1 normal both;
    animation: kv-link-arrow-normal .4s ease-out 0s 1 normal both
}

.r-job__entry .c-svg .c-svg__inner {
    display: block
}

@media only screen and (max-width: 767px) {
    .r-job__entry {
        width:23.5rem;
        margin-top: 4rem
    }

    .r-job__entry a {
        line-height: 3.6;
        border-radius: 2.7rem
    }

    .r-job__entry .label {
        border-radius: 2.7rem;
        border: none
    }

    .r-job__entry .icon {
        width: 2rem;
        height: 2rem;
        right: 1.5rem
    }

    .r-job__entry .icon:after {
        transform: translate(-50%,-50%) scale(.2175)
    }
}

.r-about {
    margin: 6.25vw 0 .78125vw;
    padding: 0 3.125vw
}

.r-about .about_section+.about_section {
    margin-top: 5.07812vw
}

.r-about .r-about__svg svg {
    display: block;
    width: 100%;
    height: auto
}

@media only screen and (max-width: 767px) {
    .r-about {
        margin:4rem 0 0;
        padding: 0 1rem
    }

    .r-about .about_section+.about_section {
        margin-top: 5rem
    }
}

.r-about__body {
    background-color: #f4f4f4;
    border-radius: 4rem;
    padding: 5.7rem 4.84375vw 6rem
}

@media only screen and (max-width: 767px) {
    .r-about__body {
        border-radius:3rem;
        padding: 4rem 1rem 5rem
    }
}

.r-about__heading {
    text-align: center;
    padding-bottom: 3rem;
    border-bottom: rgba(37,30,28,.1) 1px solid;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s ease,transform .6s ease
}

.r-about__heading.is-hidden {
    opacity: 0;
    transform: translate3d(0,1.5rem,0);
    transition: none
}

.r-about__heading .hdg {
    color: #168352;
    font-size: 4rem;
    font-weight: 700;
    line-height: .8;
    letter-spacing: .04em;
    margin-bottom: 1rem
}

.r-about__heading .date {
    color: #8d8d8d;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 2.46154;
    letter-spacing: .04em;
    margin-top: .1rem
}

@media only screen and (max-width: 767px) {
    .r-about__heading {
        padding-bottom:3rem
    }

    .r-about__heading .hdg {
        font-size: 2.8rem;
        line-height: 1.14286;
        margin-bottom: 1rem
    }

    .r-about__heading .date {
        font-size: 1.2rem;
        line-height: 2.66667;
        margin-top: -.6rem
    }
}

.r-about__data {
    text-align: center;
    margin-top: 3rem;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .8s ease-out
}

.r-about__data.is-hidden {
    opacity: 0;
    transition: none
}

.r-about__data .dataList {
    display: flex;
    justify-content: center
}

.r-about__data .dataList li {
    white-space: nowrap;
    margin-left: 4.6rem;
    padding: 2.9rem 0 2.5rem 4.5rem;
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center
}

.r-about__data .dataList li:before {
    content: "";
    display: block;
    width: 1px;
    background-color: #251e1c;
    opacity: .1;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0
}

.r-about__data .dataList li:first-child {
    margin-left: 0;
    padding-left: 0
}

.r-about__data .dataList li:first-child:before {
    display: none
}

.r-about__data .dataList span {
    display: block
}

.r-about__data .dataList .text,.r-about__data .dataList .txt {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: .04em
}

.r-about__data .dataList .data {
    display: flex;
    align-items: flex-end
}

.r-about__data .dataList .num {
    color: #168352;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 5.6rem;
    font-weight: 600;
    line-height: .57143;
    letter-spacing: -.03em;
    white-space: nowrap;
    text-align: right;
    padding-bottom: .3rem;
    margin: 0 .4rem 0 1.1rem;
    position: relative
}

.r-about__data .dataList .num.is-spread-letter-spacing {
    letter-spacing: .15em
}

.r-about__data .dataList .num:before {
    content: attr(data-number) "";
    opacity: 0;
    display: block
}

.r-about__data .dataList .note {
    color: #8d8d8d;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 2.90909;
    letter-spacing: .04em;
    position: absolute;
    left: 7.9rem;
    bottom: -.7rem
}

@media only screen and (max-width: 767px) {
    .r-about__data {
        margin-top:0;
        padding: 0 1rem
    }

    .r-about__data .dataList {
        justify-content: flex-start;
        flex-wrap: wrap
    }

    .r-about__data .dataList li {
        box-sizing: border-box;
        width: 50%;
        border-top: rgba(37,30,28,.1) 1px solid;
        margin-left: 0;
        padding: 1.9rem 0 2rem;
        margin-bottom: 2rem;
        display: block
    }

    .r-about__data .dataList li:before {
        top: 2rem
    }

    .r-about__data .dataList li:first-child:before,.r-about__data .dataList li:nth-child(2n+1):before {
        display: none
    }

    .r-about__data .dataList li:first-child,.r-about__data .dataList li:first-child+li {
        border-top: none
    }

    .r-about__data .dataList .text,.r-about__data .dataList .txt {
        font-size: 1.4rem;
        line-height: 2.28571
    }

    .r-about__data .dataList .txt {
        line-height: 1
    }

    .r-about__data .dataList .data {
        justify-content: center;
        margin-top: .7rem
    }

    .r-about__data .dataList .num {
        font-size: 4.6rem;
        line-height: .69565;
        padding-bottom: 0;
        margin: 0 .3rem 0 0
    }

    .r-about__data .dataList .note {
        font-size: .9rem;
        line-height: 3.55556;
        position: static;
        margin-bottom: -2.4rem
    }

    .r-about__data+.r-about__lyt {
        margin-top: 1rem
    }
}

.r-about__info {
    border: #168352 2px solid;
    border-radius: 4rem;
    background-color: #fff;
    overflow: hidden;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s ease,transform .6s ease
}

.r-about__info.is-hidden {
    opacity: 0;
    transform: translate3d(0,1.5rem,0);
    transition: none
}

.r-about__info.is-hidden .r-about__info_list {
    opacity: 0;
    transform: translate3d(0,1rem,0);
    transition: none
}

.r-about__info.is-hidden .r-about__piechart .c-circle {
    stroke-dasharray: 0,0,0,100!important;
    stroke: transparent!important;
    transition: none
}

.r-about__info.is-hidden .r-about__piechart .r-chart01__text,.r-about__info.is-hidden .r-about__piechart .r-chart02__icon,.r-about__info.is-hidden .r-about__piechart .r-chart02__text p,.r-about__info.is-hidden .r-about__piechart.piechart03 .icon {
    opacity: 0;
    transition: none
}

.r-about__info.is-hidden .r-about__piechart .r-chart02__text line {
    transition: none
}

.r-about__info.is-hidden .r-about__piechart .r-chart02__text .linePath01 {
    stroke-dashoffset: 50
}

.r-about__info.is-hidden .r-about__piechart .r-chart02__text .linePath02 {
    stroke-dashoffset: 100
}

.r-about__info.is-hidden .r-about__genderRatioCol.boys .pict:before,.r-about__info.is-hidden .r-about__genderRatioCol.girls .pict:before {
    transform: scaleX(0);
    transition: none
}

.r-about__info.is-hidden .r-about__genderRatioCol .text {
    opacity: 0;
    transition: none
}

.r-about__info.is-hidden .r-about__barchart .side li.box:before,.r-about__info.is-hidden .r-about__barchart .side li.career:before,.r-about__info.is-hidden .r-about__barchart .side li.new:before,.r-about__info.is-hidden .r-about__barchart .side li.out:before {
    height: 0;
    transition: none
}

.r-about__info.is-hidden .r-about__barchart .side li.box .bar,.r-about__info.is-hidden .r-about__barchart .side li.career .bar,.r-about__info.is-hidden .r-about__barchart .side li.new .bar,.r-about__info.is-hidden .r-about__barchart .side li.out .bar {
    transform: translate(-50%,0)
}

.r-about__info.is-hidden .r-about__barchart .side .bar {
    opacity: 0;
    transition: none
}

.r-about__info.is-hidden .r-about__barchart .side li.box .icon,.r-about__info.is-hidden .r-about__barchart .side li.out .icon {
    opacity: 0;
    transition: none
}

.r-about__info.is-hidden .r-about__barchart .side li.box .icon {
    transform: translate3d(0,-20.2rem,0)
}

.r-about__info.is-hidden .r-about__barchart .side li.out .icon {
    transform: translate3d(0,-6rem,0)
}

.r-about__info.is-hidden .r-about__sidebarchart .vertical li.item01:before,.r-about__info.is-hidden .r-about__sidebarchart .vertical li.item02:before,.r-about__info.is-hidden .r-about__sidebarchart .vertical li.item03:before,.r-about__info.is-hidden .r-about__sidebarchart .vertical li.item04:before,.r-about__info.is-hidden .r-about__sidebarchart .vertical li.item05:before,.r-about__info.is-hidden .r-about__sidebarchart .vertical li.item06:before {
    width: 0;
    transition: none
}

.r-about__info.is-hidden .r-about__sidebarchart .vertical li.item01 .icon,.r-about__info.is-hidden .r-about__sidebarchart .vertical li.item02 .icon,.r-about__info.is-hidden .r-about__sidebarchart .vertical li.item03 .icon,.r-about__info.is-hidden .r-about__sidebarchart .vertical li.item04 .icon,.r-about__info.is-hidden .r-about__sidebarchart .vertical li.item05 .icon,.r-about__info.is-hidden .r-about__sidebarchart .vertical li.item06 .icon {
    opacity: 0;
    transform: translate3d(0,0,0);
    transition: none
}

.r-about__info.is-hidden .r-about__singleNumchart.baby .text .icon {
    -webkit-animation: none;
    animation: none
}

.r-about__info.is-hidden .r-about__tool li.mail .in .icon,.r-about__info.is-hidden .r-about__tool li.phone .in .icon {
    -webkit-animation: none;
    animation: none
}

.r-about__info .infoTitle {
    height: 8.8rem;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.45455;
    text-align: center;
    background-color: #168352;
    display: flex;
    align-items: center;
    justify-content: center
}

.r-about__info .infoTitle span {
    display: block
}

@media only screen and (max-width: 767px) {
    .r-about__info {
        width:100%;
        height: 100%;
        border-radius: 3rem
    }

    .r-about__info .infoTitle {
        height: 5.9rem;
        font-size: 1.3rem;
        line-height: 1.38462
    }

    .r-about__info.is-hidden .r-about__barchart .side li.box .icon {
        transform: translate3d(0,-9.9rem,0)
    }

    .r-about__info.is-hidden .r-about__barchart .side li.out .icon {
        transform: translate3d(0,-2.2rem,0)
    }
}

.r-about__info_list {
    margin-top: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    opacity: 1;
    transform: translate3d(0,0,0);
    transition: opacity .6s .2s ease,transform .6s .2s ease
}

.r-about__info_list li {
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: .04em;
    padding-left: 1.7rem;
    position: relative;
    margin-left: 1.5rem
}

.r-about__info_list li:before {
    content: "";
    display: block;
    width: 1.1rem;
    height: 1.1rem;
    border-radius: .4rem;
    position: absolute;
    left: 0;
    bottom: 0
}

.r-about__info_list li:first-child {
    margin-left: 0
}

.r-about__info_list li.color01:before {
    background-color: #74b9d2
}

.r-about__info_list li.color02:before {
    background-color: #678cbb
}

.r-about__info_list li.color03:before {
    background-color: #57bba3
}

.r-about__info_list li.color04:before {
    background-color: #eec244
}

.r-about__info_list li.color05:before {
    background-color: #e9765d
}

.r-about__info_list li.color06:before {
    background-color: #31a378
}

.r-about__info_list li.girls:before {
    background-color: #eb7bbe
}

.r-about__info_list li.boys:before {
    background-color: #5881d1
}

.r-about__info_list+.r-about__piechart {
    margin-top: 4.2rem
}

.r-about__info_list.piechart05 {
    margin-top: 2.2rem
}

@media only screen and (max-width: 767px) {
    .r-about__info_list {
        margin:1rem 1rem 0
    }

    .r-about__info_list li {
        font-size: 1rem;
        padding-left: 1.1rem;
        margin: 0 .25rem .5rem
    }

    .r-about__info_list li:before {
        width: .8rem;
        height: .8rem;
        border-radius: .3rem;
        top: 50%;
        bottom: auto;
        margin-top: -.4rem
    }

    .r-about__info_list+.r-about__piechart {
        margin-top: .7rem
    }

    .r-about__info_list.piechart05 {
        margin-top: 1rem
    }
}

.r-about__piechart {
    width: 27.4rem;
    padding-top: 27.4rem;
    margin: 8rem auto 5.2rem;
    position: relative
}

.r-about__piechart .circle {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: visible
}

.r-about__piechart .c-circle {
    fill: transparent;
    stroke-width: 31.8309886184;
    stroke-dashoffset: 25;
    transition: stroke-dasharray 1.6s .4s cubic-bezier(0,.55,.45,1),stroke .4s .4s ease
}

.r-about__piechart .c-circle.color01 {
    stroke: #74b9d2
}

.r-about__piechart .c-circle.color02 {
    stroke: #678cbb
}

.r-about__piechart .c-circle.color03 {
    stroke: #57bba3
}

.r-about__piechart .c-circle.color04 {
    stroke: #eec244
}

.r-about__piechart .c-circle.color05 {
    stroke: #e9765d
}

.r-about__piechart .c-circle.color06 {
    stroke: #31a378
}

.r-about__piechart .c-circle.pie01 {
    stroke-dasharray: 10,90,0,0
}

.r-about__piechart .c-circle.pie02 {
    stroke-dasharray: 0,10,25,65
}

.r-about__piechart .c-circle.pie03 {
    stroke-dasharray: 0,35,33,32
}

.r-about__piechart .c-circle.pie04 {
    stroke-dasharray: 0,68,21,11
}

.r-about__piechart .c-circle.pie05 {
    stroke-dasharray: 0,89,11,0
}

.r-about__piechart .c-circle.pie06 {
    stroke-dasharray: 26,74,0,0
}

.r-about__piechart .c-circle.pie07 {
    stroke-dasharray: 0,26,12,62
}

.r-about__piechart .c-circle.pie08 {
    stroke-dasharray: 0,38,23,39
}

.r-about__piechart .c-circle.pie09 {
    stroke-dasharray: 0,61,20,19
}

.r-about__piechart .c-circle.pie10 {
    stroke-dasharray: 0,81,19,0
}

.r-about__piechart .c-circle.pie11 {
    stroke-dasharray: 52,48,0,0
}

.r-about__piechart .c-circle.pie12 {
    stroke-dasharray: 0,52,48,0
}

.r-about__piechart .c-circle.pie13 {
    stroke-dasharray: 48,52,0,0
}

.r-about__piechart .c-circle.pie14 {
    stroke-dasharray: 0,48,52,0
}

.r-about__piechart .c-circle.pie15 {
    stroke-dasharray: 56,44,0,0
}

.r-about__piechart .c-circle.pie16 {
    stroke-dasharray: 0,56,19,25
}

.r-about__piechart .c-circle.pie17 {
    stroke-dasharray: 0,75,25,0
}

.r-about__piechart .r-chart01__text {
    color: #fff;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1.7rem;
    font-weight: 700;
    line-height: .76471;
    letter-spacing: .04em;
    position: absolute;
    opacity: 1;
    transition: opacity .4s 1.6s ease
}

.r-about__piechart .r-chart01__text .fontM {
    font-size: 2.6rem;
    line-height: .5
}

.r-about__piechart .r-chart01__text .fontL {
    font-size: 3.6rem;
    line-height: .36111
}

.r-about__piechart .r-chart01__text.pie01 {
    top: 3.8rem;
    left: 15.1rem
}

.r-about__piechart .r-chart01__text.pie02 {
    top: 11.8rem;
    left: 20.2rem
}

.r-about__piechart .r-chart01__text.pie03 {
    top: 20.4rem;
    left: 11.1rem
}

.r-about__piechart .r-chart01__text.pie04 {
    top: 11.8rem;
    left: 3.6rem
}

.r-about__piechart .r-chart01__text.pie05 {
    top: 3.8rem;
    left: 9.2rem
}

.r-about__piechart .r-chart01__text.pie06 {
    top: 7.2rem;
    left: 17.7rem
}

.r-about__piechart .r-chart01__text.pie07 {
    top: 16.6rem;
    left: 20.3rem
}

.r-about__piechart .r-chart01__text.pie08 {
    top: 21rem;
    left: 11.8rem
}

.r-about__piechart .r-chart01__text.pie09 {
    top: 15.1rem;
    left: 3.9rem
}

.r-about__piechart .r-chart01__text.pie10 {
    top: 6.3rem;
    left: 7.6rem
}

.r-about__piechart .r-chart01__text.pie11 {
    top: 13.1rem;
    left: 21.4rem
}

.r-about__piechart .r-chart01__text.pie12 {
    top: 13.1rem;
    left: 1rem
}

.r-about__piechart .r-chart01__text.pie15 {
    top: 13.4rem;
    left: 17.7rem
}

.r-about__piechart .r-chart01__text.pie16 {
    top: 18.2rem;
    left: 5.3rem
}

.r-about__piechart .r-chart01__text.pie17 {
    top: 7.6rem;
    left: 6.3rem
}

.r-about__piechart .r-chart02__text {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1.7rem;
    font-weight: 700;
    line-height: .76471;
    padding: 0 .4rem 1.6rem .4rem;
    position: absolute;
    top: -1.2rem
}

.r-about__piechart .r-chart02__text p {
    opacity: 1;
    transition: opacity .4s 2s ease
}

.r-about__piechart .r-chart02__text .js-shuffleEl {
    color: #168352;
    font-size: 4.6rem;
    line-height: .28261;
    text-align: right;
    white-space: nowrap;
    display: inline-block;
    position: relative
}

.r-about__piechart .r-chart02__text .js-shuffleEl:before {
    content: attr(data-number) "";
    opacity: 0;
    display: block
}

.r-about__piechart .r-chart02__text .numText {
    display: block;
    position: absolute;
    top: 0;
    right: 0
}

.r-about__piechart .r-chart02__text .line {
    display: block;
    height: auto;
    position: absolute;
    top: 100%;
    margin-top: -.5rem
}

.r-about__piechart .r-chart02__text line {
    transition: stroke-dashoffset .3s cubic-bezier(.645,.045,.355,1)
}

.r-about__piechart .r-chart02__text .linePath01 {
    stroke-dasharray: 50;
    stroke-dashoffset: 0;
    transition-delay: 1.6s
}

.r-about__piechart .r-chart02__text .linePath02 {
    stroke-dasharray: 100;
    stroke-dashoffset: 0;
    transition-delay: 1.9s
}

.r-about__piechart .r-chart02__text.pie13 {
    right: -5.6rem
}

.r-about__piechart .r-chart02__text.pie13 .line {
    width: 12.2rem;
    right: 0
}

.r-about__piechart .r-chart02__text.pie14 {
    left: -4.4rem
}

.r-about__piechart .r-chart02__text.pie14 .line {
    width: 12.1rem;
    left: 0
}

.r-about__piechart .r-chart02__icon {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: .86667;
    text-align: center;
    white-space: nowrap;
    position: absolute;
    top: 10.2rem;
    opacity: 1;
    transition: opacity .4s 1.6s ease
}

.r-about__piechart .r-chart02__icon span {
    display: block
}

.r-about__piechart .r-chart02__icon .icon {
    margin: 0 auto
}

.r-about__piechart .r-chart02__icon.pie13 {
    right: 3.1rem
}

.r-about__piechart .r-chart02__icon.pie13 .icon {
    width: 6rem;
    height: 4.2rem;
    margin-top: 2rem
}

.r-about__piechart .r-chart02__icon.pie14 {
    left: 2.7rem
}

.r-about__piechart .r-chart02__icon.pie14 .icon {
    width: 8.1rem;
    height: 5rem;
    margin-top: 1.4rem
}

.r-about__piechart.piechart03 .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 13.2rem;
    height: 13.2rem;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -6.6rem 0 0 -6.6rem;
    opacity: 1;
    transition: opacity .4s .2s ease
}

.r-about__piechart.piechart03 .icon svg {
    width: 5.8rem;
    height: auto
}

.r-about__piechart.piechart05 {
    width: 28rem;
    padding-top: 28rem;
    margin: 2.4rem auto 3.7rem
}

@media only screen and (max-width: 767px) {
    .r-about__piechart {
        width:13rem;
        padding-top: 13rem;
        margin: 4.7rem auto 1.7rem
    }

    .r-about__piechart .r-chart01__text {
        font-size: 1.1rem;
        line-height: 1.18182
    }

    .r-about__piechart .r-chart01__text .fontM {
        font-size: 1.2rem;
        line-height: 1.08333
    }

    .r-about__piechart .r-chart01__text .fontL {
        font-size: 2.1rem;
        line-height: .61905
    }

    .r-about__piechart .r-chart01__text.pie01 {
        text-align: center;
        top: 1rem;
        left: 7.3rem
    }

    .r-about__piechart .r-chart01__text.pie02 {
        top: 5.5rem;
        left: 9.1rem
    }

    .r-about__piechart .r-chart01__text.pie03 {
        top: 9.2rem;
        left: 5.1rem
    }

    .r-about__piechart .r-chart01__text.pie04 {
        top: 5.3rem;
        left: 1.4rem
    }

    .r-about__piechart .r-chart01__text.pie05 {
        text-align: center;
        top: 1rem;
        left: 4.6rem
    }

    .r-about__piechart .r-chart01__text.pie06 {
        top: 3.1rem;
        left: 8.2rem
    }

    .r-about__piechart .r-chart01__text.pie07 {
        top: 7.6rem;
        left: 9.5rem
    }

    .r-about__piechart .r-chart01__text.pie08 {
        top: 9.7rem;
        left: 5.4rem
    }

    .r-about__piechart .r-chart01__text.pie09 {
        top: 6.9rem;
        left: 1.7rem
    }

    .r-about__piechart .r-chart01__text.pie10 {
        top: 2.7rem;
        left: 3.5rem
    }

    .r-about__piechart .r-chart01__text.pie11 {
        top: 6.1rem;
        left: 10rem
    }

    .r-about__piechart .r-chart01__text.pie12 {
        top: 6.1rem;
        left: .5rem
    }

    .r-about__piechart .r-chart01__text.pie15 {
        top: 6.6rem;
        left: 8.5rem
    }

    .r-about__piechart .r-chart01__text.pie16 {
        top: 8.9rem;
        left: 2.3rem
    }

    .r-about__piechart .r-chart01__text.pie17 {
        top: 3.6rem;
        left: 2.8rem
    }

    .r-about__piechart .r-chart02__text {
        font-size: 1rem;
        line-height: 1.3;
        padding: 0 .2rem 1.1rem .2rem;
        top: -2.1rem
    }

    .r-about__piechart .r-chart02__text .js-shuffleEl {
        font-size: 2rem;
        line-height: .65
    }

    .r-about__piechart .r-chart02__text .line {
        margin-top: -.4rem
    }

    .r-about__piechart .r-chart02__text.pie13 {
        right: -.3rem
    }

    .r-about__piechart .r-chart02__text.pie13 .line {
        width: 5.2rem
    }

    .r-about__piechart .r-chart02__text.pie14 {
        left: -.2rem
    }

    .r-about__piechart .r-chart02__text.pie14 .line {
        width: 5.2rem
    }

    .r-about__piechart .r-chart02__icon {
        font-size: .8rem;
        line-height: 1.625;
        top: 4.5rem
    }

    .r-about__piechart .r-chart02__icon.pie13 {
        right: 1.1rem
    }

    .r-about__piechart .r-chart02__icon.pie13 .icon {
        width: 2.9rem;
        height: 2rem;
        margin-top: .6rem
    }

    .r-about__piechart .r-chart02__icon.pie14 {
        left: 1.1rem
    }

    .r-about__piechart .r-chart02__icon.pie14 .icon {
        width: 3.8rem;
        height: 2.4rem;
        margin-top: .3rem
    }

    .r-about__piechart.piechart03 {
        margin-top: 2.2rem
    }

    .r-about__piechart.piechart03 .icon {
        width: 6.2rem;
        height: 6.2rem;
        margin: -3.1rem 0 0 -3.1rem
    }

    .r-about__piechart.piechart03 .icon svg {
        width: 2.7rem
    }

    .r-about__piechart.piechart05 {
        width: 14.2rem;
        padding-top: 14.2rem;
        margin: 3.2rem auto 0
    }
}

.r-about__genderRatio {
    margin: 4.2rem 0 6rem;
    display: flex;
    justify-content: center
}

@media only screen and (max-width: 767px) {
    .r-about__genderRatio {
        margin:1.5rem 0 3.5rem
    }
}

.r-about__genderRatioCol .text {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 3.4rem;
    font-weight: 500;
    line-height: .38235;
    letter-spacing: .04em;
    margin-top: 5rem;
    opacity: 1;
    transition: opacity .4s .6s ease
}

.r-about__genderRatioCol .text .js-shuffleEl {
    font-size: 6.4rem;
    font-weight: 700;
    line-height: .20312;
    white-space: nowrap;
    text-align: right;
    display: inline-block;
    position: relative
}

.r-about__genderRatioCol .text .js-shuffleEl:before {
    content: attr(data-number) "";
    opacity: 0;
    display: block
}

.r-about__genderRatioCol .text .numText {
    display: block;
    position: absolute;
    top: 0;
    right: 0
}

.r-about__genderRatioCol .pict {
    height: 10.8rem;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #d8d8d8;
    position: relative
}

.r-about__genderRatioCol .pict:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: transform 1s .4s cubic-bezier(0,.55,.45,1)
}

.r-about__genderRatioCol.girls {
    text-align: right
}

.r-about__genderRatioCol.girls .text .js-shuffleEl {
    color: #eb7bbe
}

.r-about__genderRatioCol.girls .pict {
    width: 16.7rem;
    margin-right: 3rem;
    -webkit-mask-image: url(../img/recruit/about/about_icon_girl.svg);
    mask-image: url(../img/recruit/about/about_icon_girl.svg)
}

.r-about__genderRatioCol.girls .pict:before {
    transform-origin: right center;
    transform: scaleX(.88024);
    background: #eb7bbe
}

.r-about__genderRatioCol.boys {
    margin-left: 1rem
}

.r-about__genderRatioCol.boys .text {
    text-align: center
}

.r-about__genderRatioCol.boys .text .js-shuffleEl {
    color: #5881d1
}

.r-about__genderRatioCol.boys .pict {
    width: 31.6rem;
    -webkit-mask-image: url(../img/recruit/about/about_icon_boy.svg);
    mask-image: url(../img/recruit/about/about_icon_boy.svg)
}

.r-about__genderRatioCol.boys .pict:before {
    transform-origin: left center;
    transform: scaleX(.97468);
    background: #5881d1
}

@media only screen and (max-width: 767px) {
    .r-about__genderRatioCol .text {
        font-size:2rem;
        line-height: .65;
        margin-top: 3rem
    }

    .r-about__genderRatioCol .text .js-shuffleEl {
        font-size: 3.4rem;
        line-height: .38235
    }

    .r-about__genderRatioCol .pict {
        height: 6.1rem
    }

    .r-about__genderRatioCol.girls .text {
        margin-right: -.4rem
    }

    .r-about__genderRatioCol.girls .pict {
        width: 9.4rem;
        margin-right: 2.2rem
    }

    .r-about__genderRatioCol.girls .pict:before {
        transform: scaleX(.88298)
    }

    .r-about__genderRatioCol.boys {
        margin-left: 0
    }

    .r-about__genderRatioCol.boys .text {
        text-align: left;
        padding-left: 3.5rem
    }

    .r-about__genderRatioCol.boys .pict {
        width: 17.84rem
    }

    .r-about__genderRatioCol.boys .pict:before {
        transform: scaleX(.95291)
    }
}

.r-about__barchart {
    display: flex;
    max-width: 34.4rem;
    padding: 0 4.7rem 0 3.2rem;
    margin: 9.4rem auto 6.6rem auto
}

.r-about__barchart .vertical {
    padding: 0 1.4rem 2.8rem 0;
    position: relative
}

.r-about__barchart .vertical:before {
    content: "";
    display: block;
    background: #168352;
    width: .3rem;
    border-radius: .4rem;
    position: absolute;
    top: -.1rem;
    right: 0;
    bottom: 3.4rem
}

.r-about__barchart .vertical li {
    color: #8d8d8d;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: .86667;
    letter-spacing: .04em;
    text-align: right;
    position: relative
}

.r-about__barchart .vertical li:before {
    content: "";
    display: block;
    background: #d9d9d9;
    width: 22.4rem;
    height: .2rem;
    border-radius: .4rem;
    position: absolute;
    top: .2rem;
    left: 100%;
    margin-left: 1.4rem
}

.r-about__barchart .vertical li+li {
    margin-top: 6.9rem
}

.r-about__barchart .vertical li:last-child:before {
    display: none
}

.r-about__barchart .side {
    flex: 1;
    display: flex;
    align-items: flex-end
}

.r-about__barchart .side ul {
    width: 100%;
    display: flex;
    justify-content: center;
    position: relative
}

.r-about__barchart .side ul:before {
    content: "";
    display: block;
    background: #168352;
    height: .3rem;
    border-radius: .4rem;
    position: absolute;
    top: 0;
    right: 0;
    left: -.3rem
}

.r-about__barchart .side li {
    color: #168352;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: .8125;
    letter-spacing: .04em;
    text-align: center;
    padding-top: 2.2rem;
    position: relative
}

.r-about__barchart .side li small {
    font-size: 1.3rem;
    line-height: 1.15385;
    letter-spacing: .04em
}

.r-about__barchart .side li+li {
    margin-left: 5.7rem
}

.r-about__barchart .side li:before {
    content: "";
    display: block;
    width: 5.4rem;
    border-radius: .4rem .4rem 0 0;
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -2.7rem;
    transition: height 1.6s .4s cubic-bezier(0,.55,.45,1)
}

.r-about__barchart .side li.item01:before {
    background: #eec244
}

.r-about__barchart .side li.item02:before {
    background: #e9765d
}

.r-about__barchart .side li.career .bar {
    transform: translate(-50%,-40rem)
}

.r-about__barchart .side li.career:before {
    height: 37.7rem
}

.r-about__barchart .side li.new .bar {
    transform: translate(-50%,-4.7rem)
}

.r-about__barchart .side li.new:before {
    height: 3.1rem
}

.r-about__barchart .side li.box .icon,.r-about__barchart .side li.out .icon {
    display: block;
    box-sizing: border-box;
    width: 9.4rem;
    height: 9.4rem;
    background-color: #fff;
    border: transparent 4px solid;
    border-radius: 50%;
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -4.7rem;
    background-repeat: no-repeat;
    opacity: 1;
    transition: opacity .4s 1.8s ease,transform .4s 1.8s cubic-bezier(.34,1.56,.64,1)
}

.r-about__barchart .side li.box .icon svg,.r-about__barchart .side li.out .icon svg {
    height: auto;
    display: block
}

.r-about__barchart .side li.box .bar {
    transform: translate(-50%,-42.5rem)
}

.r-about__barchart .side li.box:before {
    height: 40.2rem
}

.r-about__barchart .side li.box .icon {
    border-color: #eec244;
    transform: translate3d(0,-22.2rem,0);
    padding: 1.4rem 0 0 1.7rem
}

.r-about__barchart .side li.box .icon svg {
    width: 5.9rem
}

.r-about__barchart .side li.out .bar {
    transform: translate(-50%,-29.8rem)
}

.r-about__barchart .side li.out:before {
    height: 27.8rem
}

.r-about__barchart .side li.out .icon {
    border-color: #e9765d;
    transform: translate3d(0,-8rem,0);
    padding: 1rem 0 0 1.2rem
}

.r-about__barchart .side li.out .icon svg {
    width: 6.3rem
}

.r-about__barchart .side .bar {
    display: block;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: .7;
    letter-spacing: normal;
    text-align: right;
    white-space: nowrap;
    position: absolute;
    bottom: 100%;
    left: 50%;
    background: #fff;
    padding: 0 .4rem;
    opacity: 1;
    transition: opacity .4s .4s ease,transform 1.6s .4s cubic-bezier(0,.55,.45,1)
}

.r-about__barchart .side .bar em {
    font-style: normal;
    font-weight: 700;
    display: inline-block;
    position: relative
}

.r-about__barchart .side .bar em:before {
    content: attr(data-number) "";
    opacity: 0;
    display: block
}

.r-about__barchart .side .bar .numText {
    display: block;
    position: absolute;
    top: 0;
    right: 0
}

.r-about__barchart.barchart02 {
    margin-top: 5.8rem;
    margin-bottom: 2.9rem
}

.r-about__barchart.barchart02 .vertical {
    padding-bottom: 3.8rem
}

.r-about__barchart.barchart02 .vertical:before {
    bottom: 4.1rem
}

.r-about__barchart.barchart02 .vertical li+li {
    margin-top: 5.4rem
}

.r-about__barchart.barchart02 .side li {
    padding-top: 1.4rem
}

.r-about__barchart.barchart02 .side li+li {
    margin-left: 1rem
}

@media only screen and (max-width: 767px) {
    .r-about__barchart {
        max-width:none;
        padding: 0 1.6rem 0 1rem;
        margin: 3rem auto 4rem auto
    }

    .r-about__barchart .vertical {
        padding: 0 .7rem 1.1rem 0
    }

    .r-about__barchart .vertical:before {
        width: .15rem;
        top: -.3rem;
        bottom: 1.4rem
    }

    .r-about__barchart .vertical li {
        font-size: .8rem;
        line-height: 1
    }

    .r-about__barchart .vertical li:before {
        width: 10.8rem;
        height: .1rem;
        top: 0;
        margin-left: .8rem
    }

    .r-about__barchart .vertical li+li {
        margin-top: 3rem
    }

    .r-about__barchart .side ul:before {
        height: .15rem;
        left: -.15rem
    }

    .r-about__barchart .side li {
        font-size: .8rem;
        line-height: 1;
        white-space: nowrap;
        padding-top: .7rem
    }

    .r-about__barchart .side li small {
        font-size: .7rem;
        line-height: 1.42857
    }

    .r-about__barchart .side li+li {
        margin-left: 2.8rem
    }

    .r-about__barchart .side li:before {
        width: 2.7rem;
        margin-left: -1.35rem
    }

    .r-about__barchart .side li.career .bar {
        transform: translate(-50%,-19.8rem)
    }

    .r-about__barchart .side li.career:before {
        height: 18.8rem
    }

    .r-about__barchart .side li.new .bar {
        transform: translate(-50%,-2.2rem)
    }

    .r-about__barchart .side li.new:before {
        height: 1.5rem
    }

    .r-about__barchart .side li.box .icon,.r-about__barchart .side li.out .icon {
        width: 5.1rem;
        height: 5.1rem;
        margin-left: -2.55rem;
        border-width: 2px
    }

    .r-about__barchart .side li.box .bar {
        transform: translate(-50%,-22.05rem)
    }

    .r-about__barchart .side li.box:before {
        height: 21.1rem
    }

    .r-about__barchart .side li.box .icon {
        padding: .75rem 0 0 .9rem;
        transform: translate3d(0,-11.9rem,0)
    }

    .r-about__barchart .side li.box .icon svg {
        width: 3.2rem
    }

    .r-about__barchart .side li.out .bar {
        transform: translate(-50%,-15.35rem)
    }

    .r-about__barchart .side li.out:before {
        height: 14.7rem
    }

    .r-about__barchart .side li.out .icon {
        padding: .65rem 0 0 .57rem;
        transform: translate3d(0,-4.2rem,0)
    }

    .r-about__barchart .side li.out .icon svg {
        width: 3.4rem
    }

    .r-about__barchart .side .bar {
        font-size: 1.3rem;
        padding: 0 .2rem
    }

    .r-about__barchart.barchart02 {
        margin-top: 2.65rem;
        margin-bottom: 2.15rem
    }

    .r-about__barchart.barchart02 .vertical {
        padding-bottom: 2rem
    }

    .r-about__barchart.barchart02 .vertical:before {
        top: -.1rem;
        bottom: 2.2rem
    }

    .r-about__barchart.barchart02 .vertical li+li {
        margin-top: 2.7rem
    }

    .r-about__barchart.barchart02 .side li {
        padding-top: .5rem
    }

    .r-about__barchart.barchart02 .side li+li {
        margin-left: -.5rem
    }
}

.r-about__sidebarchart {
    display: flex;
    flex-direction: row-reverse;
    max-width: 70.9rem;
    padding: 0 4rem 0 2.4rem;
    margin: 5.8rem auto 6.9rem auto
}

.r-about__sidebarchart .vertical {
    padding: 2.7rem 0 5.8rem;
    position: relative;
    right: -.3rem
}

.r-about__sidebarchart .vertical:before {
    content: "";
    display: block;
    background: #168352;
    width: .3rem;
    border-radius: .4rem;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 2.2rem
}

.r-about__sidebarchart .vertical li {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.08333;
    letter-spacing: .04em;
    text-align: right;
    position: relative;
    padding-right: 1.3rem
}

.r-about__sidebarchart .vertical li .icon,.r-about__sidebarchart .vertical li:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 100%
}

.r-about__sidebarchart .vertical li:before {
    height: 4.4rem;
    border-radius: 0 .4rem .4rem 0;
    margin-top: -2.2rem;
    transition: width 1.6s .4s cubic-bezier(0,.55,.45,1)
}

.r-about__sidebarchart .vertical li .icon {
    opacity: 1;
    transition: opacity .4s .4s ease,transform 1.6s .4s cubic-bezier(0,.55,.45,1)
}

.r-about__sidebarchart .vertical li+li {
    margin-top: 5rem
}

.r-about__sidebarchart .vertical li.item01 {
    color: #e55656
}

.r-about__sidebarchart .vertical li.item01:before {
    width: 47rem;
    background: #e55656
}

.r-about__sidebarchart .vertical li.item01 .icon {
    width: 7.1rem;
    height: 6.8rem;
    margin-top: -3.4rem;
    transform: translate3d(38.5rem,0,0)
}

.r-about__sidebarchart .vertical li.item02 {
    color: #eec244
}

.r-about__sidebarchart .vertical li.item02:before {
    width: 27.7rem;
    background: #eec244
}

.r-about__sidebarchart .vertical li.item02 .icon {
    width: 5.3rem;
    height: 5.1rem;
    margin-top: -2.55rem;
    transform: translate3d(20.8rem,0,0)
}

.r-about__sidebarchart .vertical li.item03 {
    color: #a184cf
}

.r-about__sidebarchart .vertical li.item03:before {
    width: 23.3rem;
    background: #a184cf
}

.r-about__sidebarchart .vertical li.item03 .icon {
    width: 5.3rem;
    height: 5.9rem;
    margin-top: -2.95rem;
    transform: translate3d(15.4rem,0,0)
}

.r-about__sidebarchart .vertical li.item04 {
    color: #57bb79
}

.r-about__sidebarchart .vertical li.item04:before {
    width: 21.2rem;
    background: #57bb79
}

.r-about__sidebarchart .vertical li.item04 .icon {
    width: 6.1rem;
    height: 5.6rem;
    margin-top: -2.8rem;
    transform: translate3d(12.6rem,0,0)
}

.r-about__sidebarchart .vertical li.item05 {
    color: #74b9d2
}

.r-about__sidebarchart .vertical li.item05:before {
    width: 10.7rem;
    background: #74b9d2
}

.r-about__sidebarchart .vertical li.item05 .icon {
    width: 6.1rem;
    height: 5.9rem;
    margin-top: -2.95rem;
    transform: translate3d(4rem,0,0)
}

.r-about__sidebarchart .vertical li.item06 {
    color: #92d9d5
}

.r-about__sidebarchart .vertical li.item06:before {
    width: 10.7rem;
    background: #92d9d5
}

.r-about__sidebarchart .vertical li.item06 .icon {
    width: 4.8rem;
    height: 5.8rem;
    margin-top: -2.9rem;
    transform: translate3d(4.5rem,0,0)
}

.r-about__sidebarchart .side {
    flex: 1;
    display: flex;
    align-items: flex-end
}

.r-about__sidebarchart .side ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
    position: relative
}

.r-about__sidebarchart .side ul:before {
    content: "";
    display: block;
    background: #168352;
    height: .3rem;
    border-radius: .4rem;
    position: absolute;
    top: 0;
    right: .7rem;
    left: 0
}

.r-about__sidebarchart .side li {
    color: #8d8d8d;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: .86667;
    letter-spacing: .04em;
    padding-top: 1.2rem;
    position: relative
}

.r-about__sidebarchart .side li:before {
    content: "";
    display: block;
    background: #d9d9d9;
    width: .2rem;
    height: 39rem;
    border-radius: .4rem;
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -.1rem
}

.r-about__sidebarchart .side li:first-child {
    left: -.3rem
}

.r-about__sidebarchart .side li:first-child:before {
    display: none
}

@media only screen and (max-width: 767px) {
    .r-about__sidebarchart {
        max-width:none;
        padding: 0 1rem 0 .4rem;
        margin: 2.1rem 0 3.3rem
    }

    .r-about__sidebarchart .vertical {
        padding: 1.4rem 0 2.3rem;
        right: -.2rem
    }

    .r-about__sidebarchart .vertical:before {
        width: .2rem;
        border-radius: .2rem;
        bottom: 1rem
    }

    .r-about__sidebarchart .vertical li {
        font-size: .6rem;
        line-height: 1;
        padding-right: .7rem
    }

    .r-about__sidebarchart .vertical li:before {
        height: 2.2rem;
        border-radius: 0 .2rem .2rem 0;
        margin-top: -1.1rem
    }

    .r-about__sidebarchart .vertical li+li {
        margin-top: 2.6rem
    }

    .r-about__sidebarchart .vertical li.item01:before {
        width: 23.1rem
    }

    .r-about__sidebarchart .vertical li.item01 .icon {
        width: 3.6rem;
        height: 3.4rem;
        margin-top: -1.8rem;
        transform: translate3d(19.3rem,0,0)
    }

    .r-about__sidebarchart .vertical li.item02:before {
        width: 13.6rem
    }

    .r-about__sidebarchart .vertical li.item02 .icon {
        width: 2.6rem;
        height: 2.5rem;
        margin-top: -1.25rem;
        transform: translate3d(10.5rem,0,0)
    }

    .r-about__sidebarchart .vertical li.item03:before {
        width: 11.5rem
    }

    .r-about__sidebarchart .vertical li.item03 .icon {
        width: 2.6rem;
        height: 2.9rem;
        margin-top: -1.45rem;
        transform: translate3d(7.9rem,0,0)
    }

    .r-about__sidebarchart .vertical li.item04:before {
        width: 10.4rem
    }

    .r-about__sidebarchart .vertical li.item04 .icon {
        width: 3rem;
        height: 2.8rem;
        margin-top: -1.5rem;
        transform: translate3d(6.4rem,0,0)
    }

    .r-about__sidebarchart .vertical li.item05:before {
        width: 5.2rem
    }

    .r-about__sidebarchart .vertical li.item05 .icon {
        width: 3.1rem;
        height: 3rem;
        margin-top: -1.5rem;
        transform: translate3d(2.1rem,0,0)
    }

    .r-about__sidebarchart .vertical li.item06:before {
        width: 5.2rem
    }

    .r-about__sidebarchart .vertical li.item06 .icon {
        width: 2.4rem;
        height: 2.9rem;
        margin-top: -1.45rem;
        transform: translate3d(2.3rem,0,0)
    }

    .r-about__sidebarchart .side ul:before {
        height: .2rem;
        border-radius: .2rem;
        right: .4rem
    }

    .r-about__sidebarchart .side li {
        font-size: .7rem;
        line-height: 1;
        padding-top: .5rem
    }

    .r-about__sidebarchart .side li:before {
        width: .1rem;
        height: 19rem;
        border-radius: .2rem;
        margin-left: -.05rem
    }

    .r-about__sidebarchart .side li:first-child {
        left: -.2rem
    }
}

.r-about__singleNumchart {
    display: flex;
    justify-content: center;
    margin: 8.1rem 0 7.25rem;
    position: relative
}

.r-about__singleNumchart .text {
    letter-spacing: -.4em;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif
}

.r-about__singleNumchart .text .num {
    color: #168352;
    font-size: 6.1rem;
    font-weight: 700;
    line-height: .21311;
    letter-spacing: -.03em;
    text-align: right;
    white-space: nowrap;
    display: inline-flex;
    justify-content: flex-end
}

.r-about__singleNumchart .text .num span {
    display: block
}

.r-about__singleNumchart .text .num .js-shuffleEl {
    position: relative
}

.r-about__singleNumchart .text .num .js-shuffleEl:before {
    content: attr(data-number) "";
    opacity: 0;
    display: block
}

.r-about__singleNumchart .text .num .numText {
    position: absolute;
    top: 0;
    right: 0
}

.r-about__singleNumchart .text .perce {
    font-size: 3rem;
    font-weight: 500;
    line-height: .43333;
    letter-spacing: .04em;
    margin-left: .8rem;
    display: inline-block
}

.r-about__singleNumchart .text .perce.ja {
    font-family: "Noto Sans JP","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-weight: 700
}

.r-about__singleNumchart .text .note {
    display: block;
    color: #8d8d8d;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.18182;
    white-space: nowrap;
    text-align: center;
    position: absolute;
    top: 100%;
    left: 10.5rem;
    margin-top: 4.5rem
}

.r-about__singleNumchart.baby .text {
    padding-left: 14.8rem;
    position: relative;
    left: -1.95rem
}

.r-about__singleNumchart.baby .text .icon {
    display: block;
    width: 10.8rem;
    height: 13.5rem;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -6.75rem;
    -webkit-animation: r-ab-baby 2.4s .6s ease-in-out infinite;
    animation: r-ab-baby 2.4s .6s ease-in-out infinite
}

@media only screen and (max-width: 767px) {
    .r-about__singleNumchart {
        margin:4.5rem 0
    }

    .r-about__singleNumchart .text .num {
        font-size: 3.1rem;
        line-height: .41935
    }

    .r-about__singleNumchart .text .num.num01 {
        width: 3rem
    }

    .r-about__singleNumchart .text .num.num02 {
        width: 7.8rem
    }

    .r-about__singleNumchart .text .perce {
        font-size: 2rem;
        line-height: .65;
        margin-left: .5rem
    }

    .r-about__singleNumchart .text .note {
        font-size: .8rem;
        line-height: 1.625;
        margin-top: 2.5rem;
        right: 0;
        left: 0
    }

    .r-about__singleNumchart.baby {
        justify-content: flex-start
    }

    .r-about__singleNumchart.baby .text {
        width: 100%;
        padding-left: 7.9rem;
        left: 0
    }

    .r-about__singleNumchart.baby .text .icon {
        width: 5.3rem;
        height: 6.6rem;
        left: 1rem;
        margin-top: -3.3rem
    }
}

@-webkit-keyframes r-ab-baby {
    0%,100% {
        transform: translate3d(0,0,0)
    }

    40% {
        transform: translate3d(.6rem,-.4rem,0)
    }

    50% {
        transform: translate3d(.6rem,-.4rem,0)
    }
}

@keyframes r-ab-baby {
    0%,100% {
        transform: translate3d(0,0,0)
    }

    40% {
        transform: translate3d(.6rem,-.4rem,0)
    }

    50% {
        transform: translate3d(.6rem,-.4rem,0)
    }
}

.r-about__tool {
    margin: 3.5rem 3.51562vw 4.7rem
}

.r-about__tool ul {
    display: flex;
    flex-wrap: wrap
}

.r-about__tool li {
    text-align: center;
    box-sizing: border-box;
    width: 33.33333%;
    padding: 3.6rem 0;
    border-left: #d9d9d9 2px solid;
    border-top: #d9d9d9 2px solid
}

.r-about__tool li.top {
    text-align: left;
    width: 50%;
    border-top: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0 3.2rem
}

.r-about__tool li.top .tool {
    font-size: 2rem;
    line-height: 1.3;
    letter-spacing: .04em
}

.r-about__tool li.top .num {
    margin-top: 3.5rem
}

.r-about__tool li.top .num span {
    font-size: 7.4rem;
    line-height: .17568;
    letter-spacing: -.03em
}

.r-about__tool li.top .in {
    position: relative
}

.r-about__tool li.top .icon {
    display: block;
    position: absolute;
    left: 0
}

.r-about__tool li.phone .in {
    padding-left: 10.1rem;
    margin-left: -2.8rem
}

.r-about__tool li.phone .icon {
    width: 8.1rem;
    height: 11.8rem;
    top: 50%;
    transform: translateY(-50%);
    -webkit-animation: r-ab-phone 3.6s .6s infinite;
    animation: r-ab-phone 3.6s .6s infinite
}

.r-about__tool li.mail .in {
    padding-left: 12.2rem
}

.r-about__tool li.mail .icon {
    width: 9.9rem;
    height: 7rem;
    bottom: -.8rem;
    -webkit-animation: r-ab-mail 3.6s .6s infinite ease-in-out;
    animation: r-ab-mail 3.6s .6s infinite ease-in-out
}

.r-about__tool li:first-child,.r-about__tool li:nth-child(3) {
    border-left: none
}

.r-about__tool .tool {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: .72222;
    letter-spacing: .04em
}

.r-about__tool .num {
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-weight: 500;
    font-size: 3rem;
    line-height: .43333;
    margin-top: 3.8rem
}

.r-about__tool .num .js-shuffleEl {
    font-weight: 700;
    color: #168352;
    font-size: 5.6rem;
    line-height: .23214;
    letter-spacing: -.03em;
    text-align: right;
    white-space: nowrap;
    display: inline-block;
    position: relative
}

.r-about__tool .num .js-shuffleEl.is-spread-letter-spacing {
    letter-spacing: .15em
}

.r-about__tool .num .js-shuffleEl:before {
    content: attr(data-number) "";
    opacity: 0;
    display: block
}

.r-about__tool .num .numText {
    display: block;
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (max-width: 767px) {
    .r-about__tool {
        margin:1.3rem 1rem 1.7rem
    }

    .r-about__tool li {
        padding: 1.8rem 0
    }

    .r-about__tool li.top {
        padding: 0 0 2.1rem
    }

    .r-about__tool li.top .tool {
        font-size: 1rem;
        line-height: 1.3
    }

    .r-about__tool li.top .num {
        margin-top: 1.7rem
    }

    .r-about__tool li.top .num span {
        font-size: 3.3rem;
        line-height: .19697
    }

    .r-about__tool li.phone .in {
        padding-left: 5rem;
        margin-left: -1.45rem
    }

    .r-about__tool li.phone .icon {
        width: 4.1rem;
        height: 6rem
    }

    .r-about__tool li.mail .in {
        padding-left: 6.1rem
    }

    .r-about__tool li.mail .icon {
        width: 5rem;
        height: 3.6rem;
        bottom: -.6rem
    }

    .r-about__tool .tool {
        font-size: .9rem;
        line-height: .72222
    }

    .r-about__tool .num {
        font-weight: 500;
        font-size: 1.5rem;
        line-height: .43333;
        margin-top: 1.86rem
    }

    .r-about__tool .num .js-shuffleEl {
        font-size: 2.8rem;
        line-height: .23214
    }
}

@-webkit-keyframes r-ab-mail {
    0%,100% {
        transform: translate3d(0,0,0);
        opacity: 1
    }

    5% {
        transform: translate3d(0,0,0);
        opacity: 1
    }

    15% {
        transform: translate3d(10%,0,0);
        opacity: 0
    }

    20% {
        transform: translate3d(-10%,0,0);
        opacity: 0
    }

    30% {
        transform: translate3d(0,0,0);
        opacity: 1
    }
}

@keyframes r-ab-mail {
    0%,100% {
        transform: translate3d(0,0,0);
        opacity: 1
    }

    5% {
        transform: translate3d(0,0,0);
        opacity: 1
    }

    15% {
        transform: translate3d(10%,0,0);
        opacity: 0
    }

    20% {
        transform: translate3d(-10%,0,0);
        opacity: 0
    }

    30% {
        transform: translate3d(0,0,0);
        opacity: 1
    }
}

@-webkit-keyframes r-ab-phone {
    0%,100% {
        transform: translate3d(0,-50%,0)
    }

    5% {
        transform: translate3d(-.1rem,-50%,0)
    }

    7% {
        transform: translate3d(.1rem,-50%,0)
    }

    9% {
        transform: translate3d(-.1rem,-50%,0)
    }

    11% {
        transform: translate3d(.1rem,-50%,0)
    }

    13% {
        transform: translate3d(-.1rem,-50%,0)
    }

    15% {
        transform: translate3d(0,-50%,0)
    }
}

@keyframes r-ab-phone {
    0%,100% {
        transform: translate3d(0,-50%,0)
    }

    5% {
        transform: translate3d(-.1rem,-50%,0)
    }

    7% {
        transform: translate3d(.1rem,-50%,0)
    }

    9% {
        transform: translate3d(-.1rem,-50%,0)
    }

    11% {
        transform: translate3d(.1rem,-50%,0)
    }

    13% {
        transform: translate3d(-.1rem,-50%,0)
    }

    15% {
        transform: translate3d(0,-50%,0)
    }
}

.r-about__lyt {
    margin: 4.2rem -.74349% 0;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap
}

.r-about__lyt .column {
    width: 48.5348%;
    margin: 0 .7326% 1.5rem
}

.r-about__lyt .column.wide {
    width: 65.20147%
}

.r-about__lyt .column.narrow {
    width: 31.86813%
}

.r-about__lyt .column.order1 {
    order: 1
}

.r-about__lyt .column.order2 {
    order: 2
}

.r-about__lyt .column.order3 {
    order: 3
}

.r-about__lyt .column.order4 {
    order: 4
}

.r-about__lyt .column.order5 {
    order: 5
}

.r-about__lyt .column.order6 {
    order: 6
}

.r-about__lyt .column.mb00 {
    margin-bottom: 0
}

.r-about__lyt .column.spaceAdjuster {
    display: flex;
    justify-content: space-between;
    margin: -27.6rem .7326% 0 34.06593%
}

.r-about__lyt .column.spaceAdjuster .in {
    width: 48.8764%
}

.r-about__lyt .column.spaceAdjuster .r-about__info {
    height: 27.6rem
}

@media only screen and (max-width: 767px) {
    .r-about__lyt {
        margin:3rem 0 0;
        align-items: normal;
        justify-content: space-between
    }

    .r-about__lyt .column {
        width: 48.65672%;
        margin: 0 0 .9rem
    }

    .r-about__lyt .column.wide {
        width: 100%
    }

    .r-about__lyt .column.wide.spaceAdjuster {
        width: 48.65672%
    }

    .r-about__lyt .column.narrow {
        width: 48.65672%
    }

    .r-about__lyt .column.order1,.r-about__lyt .column.order2,.r-about__lyt .column.order3,.r-about__lyt .column.order4,.r-about__lyt .column.order5,.r-about__lyt .column.order6 {
        order: 0
    }

    .r-about__lyt .column.mb00.spmb {
        margin-bottom: .9rem
    }

    .r-about__lyt .column.spaceAdjuster {
        display: block;
        margin: 0
    }

    .r-about__lyt .column.spaceAdjuster .in {
        width: 100%
    }

    .r-about__lyt .column.spaceAdjuster .in+.in {
        margin-top: .9rem
    }

    .r-about__lyt .column.spaceAdjuster .r-about__info {
        height: auto
    }
}

.recruitEntry {
    display: flex
}

@media only screen and (max-width: 767px) {
    .recruitEntry {
        display:block;
        padding-top: 2rem
    }
}

.recruitEntry__sidebar {
    padding-right: 3.125vw;
    width: 21.71875vw
}

@media only screen and (max-width: 767px) {
    .recruitEntry__sidebar {
        padding:1.9rem .8rem;
        width: auto
    }
}

.recruitEntry__sidebarInner {
    position: sticky;
    top: 8.59375vw
}

@media only screen and (max-width: 767px) {
    .recruitEntry__sidebarInner {
        position:static;
        top: auto
    }
}

.recruitEntry__form {
    flex: 1
}

@media only screen and (max-width: 767px) {
    .recruitEntry__form {
        margin-top:3.6rem
    }
}

.entryTop {
    margin-top: -.3125vw;
    padding-bottom: 9.45312vw
}

@media only screen and (max-width: 767px) {
    .entryTop {
        padding-bottom:.2rem
    }
}

.entryTop__section:not(:first-of-type) {
    margin-top: 7.26563vw
}

@media only screen and (max-width: 767px) {
    .entryTop__section:not(:first-of-type) {
        margin-top:6.2rem
    }
}

.entryTop__inputs {
    margin-top: 3.125vw
}

@media only screen and (max-width: 767px) {
    .entryTop__inputs {
        margin-top:3.2rem
    }
}

.entryTop__jobsHistory.is-hidden {
    display: none
}

.entryTop__privacy {
    margin-top: 7.5vw
}

@media only screen and (max-width: 767px) {
    .entryTop__privacy {
        margin-top:4.8rem
    }
}

.entryTop__recaptchaMessage {
    margin-top: 1.875vw;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .entryTop__recaptchaMessage {
        margin-top:2.8rem;
        font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
        font-size: 1.2rem;
        line-height: 1.5
    }
}

.entryTop__recaptchaMessage a {
    text-decoration: underline
}

.entryTop__confirm {
    margin-top: 4.375vw
}

@media only screen and (max-width: 767px) {
    .entryTop__confirm {
        display:flex;
        justify-content: center;
        margin-top: 4rem
    }
}

@media only screen and (max-width: 767px) {
    .entryTop__confirm .c-internalLink {
        padding:1.6rem 6rem
    }
}

.entryTop__confirm .c-internalLink ._label {
    font-size: 1.2rem;
    line-height: 1.42
}

.entryTop__submitButtons {
    display: flex;
    flex-wrap: wrap;
    margin-top: 7.26563vw
}

@media only screen and (max-width: 767px) {
    .entryTop__submitButtons {
        flex-direction:column-reverse;
        align-items: center;
        margin-top: 4.6rem
    }
}

@media only screen and (max-width: 767px) {
    .entryTop__returnButton {
        margin-top:1.6rem
    }
}

.entryTop__returnButton .c-internalLink {
    padding: 2rem 8.7rem
}

@media only screen and (max-width: 767px) {
    .entryTop__returnButton .c-internalLink {
        padding:1.6rem 9.1rem
    }
}

.entryTop__returnButton .c-internalLink ._label {
    font-size: 1.2rem;
    line-height: 1.42
}

.entryTop__submitButton {
    margin-left: 40px
}

@media only screen and (max-width: 767px) {
    .entryTop__submitButton {
        margin-left:0
    }
}

.entryTop__submitButton .c-internalLink {
    padding: 2rem 8.7rem
}

@media only screen and (max-width: 767px) {
    .entryTop__submitButton .c-internalLink {
        padding:1.6rem 9.1rem
    }
}

.entryTop__submitButton .c-internalLink ._label {
    font-size: 1.2rem;
    line-height: 1.42
}

.entryTop__submitError {
    margin-bottom: 4rem;
    width: 100%;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.42;
    letter-spacing: .04em;
    color: #ff3939
}

@media only screen and (max-width: 767px) {
    .entryTop__submitError {
        order:1;
        margin-bottom: 2.6rem;
        font-size: 1rem;
        line-height: 1.4
    }
}

.entryTop__submitError:empty {
    display: none
}

.entryTop:not(.is-confirming) .entryTop__dummyPrivacy,.entryTop:not(.is-confirming) .entryTop__submitButtons {
    display: none
}

.entryTop.is-confirming .entryTop__confirm,.entryTop.is-confirming .entryTop__privacy,.entryTop.is-confirming .entryTop__recaptchaMessage {
    display: none
}

.recruitComplete {
    padding-bottom: 9.6875vw
}

@media only screen and (max-width: 767px) {
    .recruitComplete {
        padding-bottom:0
    }
}

.recruitComplete__section {
    margin-top: -.23438vw
}

@media only screen and (max-width: 767px) {
    .recruitComplete__section {
        margin-top:-.1rem
    }
}

.recruitComplete__message {
    margin-top: 3.125vw;
    font-style: normal;
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 1.71;
    letter-spacing: .04em;
    color: #251e1c
}

@media only screen and (max-width: 767px) {
    .recruitComplete__message {
        margin-top:3.2rem;
        font-size: 1.3rem;
        line-height: 1.77
    }
}

.recruitComplete__links {
    margin-top: 6.71875vw
}

@media only screen and (max-width: 767px) {
    .recruitComplete__links {
        display:flex;
        justify-content: center;
        margin-top: 4.8rem
    }
}

.recruitComplete__links .c-internalLink {
    padding: 2.1rem 7.8rem
}

@media only screen and (max-width: 767px) {
    .recruitComplete__links .c-internalLink {
        padding:1.8rem 8.2rem
    }
}

.recruitComplete__links .c-internalLink ._icon {
    right: 1.3rem
}

@media only screen and (max-width: 767px) {
    .recruitComplete__links .c-internalLink ._icon {
        right:.8rem
    }
}

.ptd {
    padding: 0 1.79687vw 8.90625vw
}

@media only screen and (max-width: 767px) {
    .ptd {
        padding:4rem 0 0
    }
}

.ptd__items+.ptd__items {
    margin-top: 4.6875vw
}

@media only screen and (max-width: 767px) {
    .ptd__items+.ptd__items {
        margin-top:5rem
    }
}

.ptd__descriptions {
    margin-top: 2.73438vw
}

@media only screen and (max-width: 767px) {
    .ptd__descriptions {
        margin-top:2.5rem
    }
}

.ptd__description {
    position: relative;
    font-size: 1.6rem;
    line-height: 1.625;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .ptd__description {
        font-size:1.3rem;
        line-height: 1.69
    }
}

@media only screen and (max-width: 767px) {
    .ptd__description+.ptd__bulletList,.ptd__description+.ptd__numberList {
        margin-top:.4rem
    }
}

.ptd__bulletList ._bulletListItem {
    padding-left: 2.3rem;
    text-indent: -.8rem
}

@media only screen and (max-width: 767px) {
    .ptd__bulletList ._bulletListItem {
        padding-left:1.5rem;
        text-indent: -.6rem
    }
}

.ptd__bulletList ._bulletListItem::before {
    content: '・';
    display: inline-block;
    position: relative;
    left: -.7rem
}

@media only screen and (max-width: 767px) {
    .ptd__bulletList ._bulletListItem::before {
        left:-.4rem
    }
}

.ptd__bulletList ._bulletListItem:not(:first-child) {
    margin-top: .15625vw
}

@media only screen and (max-width: 767px) {
    .ptd__bulletList ._bulletListItem:not(:first-child) {
        margin-top:.4rem
    }
}

.ptd__numberList {
    counter-reset: number 0
}

.ptd__numberList ._numberListItem {
    padding-left: 2.3rem;
    text-indent: -.8rem
}

@media only screen and (max-width: 767px) {
    .ptd__numberList ._numberListItem {
        padding-left:1.5rem;
        text-indent: -.6rem
    }
}

.ptd__numberList ._numberListItem::before {
    content: counter(number) ")";
    display: inline-block;
    position: relative;
    left: -.7rem;
    counter-increment: number 1
}

@media only screen and (max-width: 767px) {
    .ptd__numberList ._numberListItem::before {
        left:-.4rem
    }
}

.ptd__numberList ._numberListItem:not(:first-child) {
    margin-top: .15625vw
}

@media only screen and (max-width: 767px) {
    .ptd__numberList ._numberListItem:not(:first-child) {
        margin-top:.4rem
    }
}

.notFound {
    padding: 12.73438vw 0 12.96875vw;
    background: url(/assets/img/404/bg.jpg) no-repeat;
    background-size: cover
}

@media only screen and (max-width: 767px) {
    .notFound {
        padding:6.4rem 0 11.3rem;
        background-image: url(/assets/img/404/bg-sp.jpg)
    }
}

.notFound__contents {
    display: flex;
    flex-flow: column;
    align-items: center;
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.notFound__title {
    display: flex;
    flex-flow: column;
    font-family: Poppins,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-weight: 600;
    text-align: center
}

.notFound__title ._main {
    font-size: 4.6rem;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .notFound__title ._main {
        font-size:3.4rem
    }
}

.notFound__title ._sub {
    margin-top: 1.5625vw;
    font-size: 2rem;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .notFound__title ._sub {
        margin-top:1rem;
        font-size: 1.4rem
    }
}

.notFound__text {
    margin-top: 2.8125vw;
    font-size: 1.4rem;
    letter-spacing: .04em
}

@media only screen and (max-width: 767px) {
    .notFound__text {
        margin-top:3rem;
        font-size: 1.3rem
    }
}

.notFound__button {
    margin-top: 5vw
}

@media only screen and (max-width: 767px) {
    .notFound__button {
        margin-top:4.7rem
    }
}

.notFound__button .c-internalLink {
    padding: 2.1rem 7.8rem
}

@media only screen and (max-width: 767px) {
    .notFound__button .c-internalLink {
        padding:1.8rem 8.2rem
    }
}
