@charset "UTF-8";

/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
img,
legend {
    border: 0
}

body,
mark {
    color: #000
}

a,
a:focus,
a:hover,
a:link {
    color: #333;
    outline: 0;
    text-decoration: none
}

a,
a:hover {
    text-decoration: none
}

body::after,
html {
    background-color: #fff
}

.editor table,
table {
    border-collapse: collapse
}

#header .header__gnav-inr,
#news #sec01 .sec01__flexbox-l {
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical
}

#others,
#top {
    overflow-x: hidden
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
    display: block
}

audio,
canvas,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden] {
    display: none
}

html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

h1 {
    font-size: 2em
}

abbr[title] {
    border-bottom: 1px dotted
}

b,
strong {
    font-weight: 700
}

dfn {
    font-style: italic
}

mark {
    background: #ff0
}

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word
}

q {
    quotes: "\201C" "\201D" "\2018" "\2019"
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 0
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    padding: 0
}

button,
input,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0
}

body,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    font-family: "Noto Sans JP", sans-serif
}

button,
input {
    line-height: normal
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled],
input[disabled] {
    cursor: default
}

input[type=checkbox],
input[type=radio] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0
}

input[type=search] {
    -webkit-appearance: textfield;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto;
    vertical-align: top
}

table {
    border-spacing: 0
}

html {
    font-size: 62.5%
}

body,
dd,
dl,
dt,
h1,
h2,
h3,
h4,
h5,
h6,
img,
li,
ol,
p,
pre,
ul {
    margin: 0;
    padding: 0
}

body {
    margin: 0;
    font-size: 1.3em;
    font-size: 13px;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.5;
    letter-spacing: 1px;
    padding-top: 0;
    background-repeat: repeat
}

body * {
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    font-weight: 600
}

@media (min-width:767px) {

    body.cursornone,
    body.cursornone a:hover {
        cursor: none !important
    }
}

a {
    cursor: pointer;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

a:focus,
a:hover,
a:link {
    cursor: pointer;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

ol,
ul {
    list-style-type: none
}

::selection {
    background-color: rgba(69, 182, 154, .7);
    color: #fff
}

::-moz-selection {
    background-color: rgba(69, 182, 154, .7);
    color: #fff
}

body::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity .8s ease;
    transition: opacity .8s ease
}

body.fadeOut::after {
    opacity: 1;
    visibility: visible
}

.moveBox .inr {
    display: block;
    position: relative;
    overflow: hidden;
    width: auto;
    font-style: normal
}

.moveBox .inr:before {
    background-color: #3d3e8a;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    -webkit-transition: all .8s cubic-bezier(.77, 0, .175, 1);
    transition: all .8s cubic-bezier(.77, 0, .175, 1)
}

.bgbox-l.on::before,
.moveBox .inr:after {
    content: "";
    height: 100%;
    background-color: #45b69a;
    width: 100%
}

.moveBox .inr:after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    -webkit-transition: all .8s cubic-bezier(.77, 0, .175, 1);
    transition: all .8s cubic-bezier(.77, 0, .175, 1);
    -webkit-transition-delay: .1s;
    transition-delay: .1s
}

.moveBox.vt.showTime .inr:after,
.moveBox.vt.showTime .inr:before {
    top: 100%
}

.moveBox.hr.showTime .inr:after,
.moveBox.hr.showTime .inr:before {
    left: 100%
}

.fadeIn {
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    -webkit-transition: all .8s cubic-bezier(.25, .46, .45, .94);
    transition: all .8s cubic-bezier(.25, .46, .45, .94)
}

.fadeIn.on {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.fadeIn.fadeOnly {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.fadeBlur {
    opacity: 0;
    -webkit-filter: blur(100px);
    filter: blur(100px);
    -webkit-transition: all .8s cubic-bezier(.25, .46, .45, .94);
    transition: all .8s cubic-bezier(.25, .46, .45, .94)
}

#header,
.imgShadow img {
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

.fadeBlur.on {
    opacity: 1 !important;
    -webkit-filter: blur(0) !important;
    filter: blur(0) !important
}

.imgShadow {
    line-height: 0
}

.imgShadow img {
    display: inline-block;
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    -webkit-transform: translate(7px, 7px);
    transform: translate(7px, 7px);
    -webkit-transition-delay: .8s;
    transition-delay: .8s;
    max-width: 100%
}

.imgShadow.on img {
    -webkit-transform: translate(0);
    transform: translate(0);
    -webkit-box-shadow: 14px 14px 0 #f0f0f0;
    box-shadow: 14px 14px 0 #f0f0f0
}

@media (max-width:834px) {
    .imgShadow img {
        -webkit-transform: translate(3px, 3px);
        transform: translate(3px, 3px)
    }

    .imgShadow.on img {
        -webkit-box-shadow: 6px 6px 0 #f0f0f0;
        box-shadow: 6px 6px 0 #f0f0f0
    }
}

.scaleIn {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    opacity: 0;
    -webkit-transform: scale(1.04) translateY(13px);
    transform: scale(1.04) translateY(13px);
    -webkit-transition: all .8s cubic-bezier(.25, .46, .45, .94);
    transition: all .8s cubic-bezier(.25, .46, .45, .94)
}

.scaleIn.on {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.smooth {
    opacity: 0
}

.smooth.on {
    -webkit-animation-name: smooth;
    animation-name: smooth;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-transform-origin: left;
    transform-origin: left;
    opacity: 0
}

.bgbox,
.bgbox-l.on::before {
    -webkit-animation-duration: 1s;
    -webkit-animation-fill-mode: forwards
}

@-webkit-keyframes smooth {
    from {
        -webkit-transform: translate3d(0, 50px, 0) skewY(3deg);
        transform: translate3d(0, 50px, 0) skewY(3deg);
        opacity: 0
    }

    to {
        -webkit-transform: translate3d(0, 0, 0) skewY(0);
        transform: translate3d(0, 0, 0) skewY(0);
        opacity: 1
    }
}

@keyframes smooth {
    from {
        -webkit-transform: translate3d(0, 50px, 0) skewY(3deg);
        transform: translate3d(0, 50px, 0) skewY(3deg);
        opacity: 0
    }

    to {
        -webkit-transform: translate3d(0, 0, 0) skewY(0);
        transform: translate3d(0, 0, 0) skewY(0);
        opacity: 1
    }
}

.bgbox {
    -webkit-animation-name: bgbox;
    animation-name: bgbox;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    position: relative;
    overflow: hidden;
    opacity: 0;
    display: inline-block
}

@-webkit-keyframes bgbox {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes bgbox {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.bgbox-l,
.bginr.on {
    opacity: 0
}

.bgbox-l.on::before {
    -webkit-animation-name: bg-l;
    animation-name: bg-l;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    position: absolute
}

@-webkit-keyframes bg-l {
    0% {
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transform: scaleX(0);
        transform: scaleX(0)
    }

    50% {
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    50.001% {
        -webkit-transform-origin: right;
        transform-origin: right
    }

    100% {
        -webkit-transform-origin: right;
        transform-origin: right;
        -webkit-transform: scaleX(0);
        transform: scaleX(0)
    }
}

@keyframes bg-l {
    0% {
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transform: scaleX(0);
        transform: scaleX(0)
    }

    50% {
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }

    50.001% {
        -webkit-transform-origin: right;
        transform-origin: right
    }

    100% {
        -webkit-transform-origin: right;
        transform-origin: right;
        -webkit-transform: scaleX(0);
        transform: scaleX(0)
    }
}

.bginr.on {
    -webkit-animation-name: bginr;
    animation-name: bginr;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-delay: .6s;
    animation-delay: .6s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes bginr {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@keyframes bginr {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

#header {
    position: relative;
    z-index: 600;
    top: 0;
    width: 100%;
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#header .header__logo {
    position: absolute;
    top: 50px;
    left: 40px
}

#header .header__logo a:hover {
    opacity: .8
}

@media (max-width:1024px) {
    body {
        padding-top: 0
    }

    #header .header__logo {
        top: 20px;
        left: 30px
    }
}

@media (max-width:520px) {
    body {
        font-size: 12px
    }

    #header .header__logo {
        top: 12px;
        left: 30px
    }

    #header .header__logo a {
        max-width: 180px;
        display: block
    }

    #header .header__logo a img {
        max-width: 100%
    }
}

#header .header__gnav {
    position: absolute;
    right: 70px;
    top: 70px
}

@media (max-width:1024px) {
    #header .header__gnav {
        right: 30px;
        top: 40px
    }
}

@media (max-width:834px) {
    #header .header__gnav {
        display: none
    }
}

#header .header__gnav-inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

#header .header__gnav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 20px
}

#header .header__gnav-list>li {
    margin-right: 40px;
    position: relative
}

@media (min-width:767px) {
    #header .header__gnav-list>li:hover .header__gnav-dropdown {
        opacity: 1;
        -webkit-transform: translate(-50%, 100%);
        transform: translate(-50%, 100%)
    }

    #header .header__gnav-dropdown>li a:hover .header__gnav-dropdown_text {
        text-shadow: #fff 0 0 0, #fff 0 1.5em 0
    }
}

#header .header__gnav-list>li:last-child {
    margin-right: 0
}

#header .header__gnav-list>li:nth-child(2)::before {
    content: "(4)";
    color: #000;
    position: absolute;
    font-size: 11px;
    right: -3px;
    top: 0;
    -webkit-transform: translate(100%, -60%);
    transform: translate(100%, -60%);
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

#header .header__gnav-dropdown {
    position: absolute;
    bottom: -10px;
    left: 50%;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    -webkit-transform: translate(-50%, 102%);
    transform: translate(-50%, 102%);
    background-color: rgba(0, 0, 0, .6);
    padding: 10px;
    border-radius: 8px;
    opacity: 0
}

#header .header__gnav-dropdown>li {
    margin-bottom: 5px
}

#header .header__gnav-dropdown>li:last-child {
    margin-bottom: 0
}

#header .header__gnav-dropdown>li a {
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    display: block
}

#header .header__gnav-dropdown_text {
    font-size: 14px;
    letter-spacing: 1px;
    white-space: nowrap;
    overflow: hidden;
    line-height: 1;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    color: rgba(255, 255, 255, 0);
    text-shadow: #fff 0 -1.5em 0, #fff 0 0 0
}

#header .header__gnav-contactbtn,
#header .header__gnav-text {
    font-size: 18px;
    line-height: 1;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

#header .header__gnav-link {
    line-height: 1;
    overflow: hidden;
    display: block
}

#header .header__gnav-link:hover .header__gnav-text {
    text-shadow: #000 0 0 0, #000 0 1.5em 0
}

#header .header__gnav-text {
    overflow: hidden;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    color: transparent;
    text-shadow: #000 0 -1.5em 0, #000 0 0 0
}

#header .header__gnav-contactbtn {
    color: #fff;
    background-color: #000;
    border: 1px solid #000;
    padding: 10px 20px;
    border-radius: 8px
}

@media (min-width:767px) {
    #header .header__gnav-contactbtn:hover {
        background-color: #fff;
        color: #000
    }
}

#header .header__menu {
    cursor: pointer;
    display: none;
    height: 90px;
    width: 90px;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1010
}

#header .header__menu-line,
#header .header__menu-text {
    position: absolute;
    left: 50%;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

@media (max-width:834px) {
    #header .header__menu {
        display: block;
        height: 70px;
        width: 70px
    }
}

#header .header__menu-line {
    background-color: #000;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    height: 10px;
    width: 10px;
    border-radius: 25px;
    top: 34px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

@media (max-width:834px) {
    #header .header__menu-line {
        top: 22px
    }
}

#header .header__menu-line02 {
    opacity: 0
}

#header .header__menu-text {
    font-size: 14px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    top: 54px
}

#header .header__nav,
#header .header__nav-list_text {
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

@media (max-width:834px) {
    #header .header__menu-text {
        top: 36px
    }
}

#header .header__menu.active .header__menu-line {
    background-color: #fff
}

#header .header__menu.active .header__menu-line01 {
    top: 44px;
    -webkit-transform: translateX(-50%) rotate(-45deg);
    transform: translateX(-50%) rotate(-45deg);
    height: 3px;
    width: 40px;
    opacity: 1
}

@media (max-width:834px) {
    #header .header__menu.active .header__menu-line01 {
        top: 34px
    }
}

#header .header__menu.active .header__menu-line02 {
    top: 44px;
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
    height: 3px;
    width: 40px;
    opacity: 1
}

@media (max-width:834px) {
    #header .header__menu.active .header__menu-line02 {
        top: 34px
    }
}

#header .header__menu.active .header__menu-text {
    opacity: 0
}

#header .header__nav {
    height: 100%;
    width: 100%;
    display: block;
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    visibility: hidden;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 990;
    -webkit-transform: translateX(5%);
    transform: translateX(5%);
    opacity: 0
}

#header .header__nav::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .4);
    position: fixed;
    top: 0;
    left: 0
}

#header .header__nav-subtext {
    color: #fff
}

#header .header__nav-box {
    overflow-y: scroll;
    width: 100%;
    height: 100%;
    background-color: #231815;
    z-index: 1;
    position: absolute;
    right: 0
}

#header .header__nav-inr {
    padding: 160px 50px 60px;
    position: relative
}

#header .header__nav-logo {
    position: absolute;
    top: 20px;
    left: 30px
}

@media (max-width:520px) {
    #header .header__nav-inr {
        padding: 120px 50px 60px
    }

    #header .header__nav-logo {
        top: 12px;
        left: 30px;
        max-width: 180px;
        display: block
    }

    #header .header__nav-logo img {
        max-width: 100%
    }
}

#header .header__nav-list {
    margin-bottom: 50px
}

#header .header__nav-list_mb0 {
    margin-bottom: 10px !important
}

#header .header__nav-list>li {
    margin-bottom: 38px;
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

#header .header__nav-list>li:last-child {
    margin-bottom: 0
}

#header .header__nav-list>li:nth-child(2)::before {
    content: "(4)";
    color: #fff;
    position: absolute;
    font-size: 11px;
    right: -3px;
    top: 0;
    -webkit-transform: translate(100%, -60%);
    transform: translate(100%, -60%);
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

#contactbox,
#footer {
    background-color: #000;
    position: relative;
    z-index: 1
}

#header .header__nav-list_link {
    line-height: 1;
    overflow: hidden;
    display: block
}

#header .header__nav-list_text {
    font-size: 18px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    overflow: hidden;
    line-height: 1;
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    color: #fff
}

#footer .footer__nav-text,
#header .header__nav-link01_text {
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    overflow: hidden
}

#header .header__nav-sublist {
    padding-left: 20px
}

#header .header__nav-sublist_text {
    font-size: 15px;
    color: #fff;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:520px) {
    #header .header__nav-sublist_text {
        font-size: 13px
    }
}

#header .header__nav-sublist>li {
    margin-bottom: 10px
}

#header .header__nav-sublist>li:last-child {
    margin-bottom: 0
}

#header .header__nav-contact {
    margin-bottom: 40px
}

#header .header__nav-contact .bscBtn01__link {
    margin: 0 auto
}

#header .header__nav-sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 30px
}

#header .header__nav-sns li {
    margin-right: 50px
}

#header .header__nav-sns li:last-child {
    margin-right: 0
}

#header .header__nav-link01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 50px
}

#header .header__nav-link01>li {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

#header .header__nav-link01>li:first-child {
    margin-right: 10px;
    padding-right: 10px;
    border-right: 1px solid #fff;
    margin-bottom: 0;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:834px) {
    #header .header__nav-link01>li:first-child {
        margin-right: 10px;
        padding-right: 10px
    }
}

#header .header__nav-link01_link {
    line-height: 1;
    overflow: hidden;
    display: block
}

#header .header__nav-link01_text {
    font-size: 11px;
    letter-spacing: 0;
    line-height: 1;
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    color: #9fa0a0
}

#header .header__nav-textbox {
    color: #fff
}

#header .header__nav-textbox_en {
    font-size: 24px;
    line-height: 1.2;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    margin-bottom: 10px
}

#header .header__nav-textbox_ja {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 18px
}

#contactbox .contactbox__link a,
#contactbox__cursor,
#footer .footer__link01 li:first-child,
#footer .footer__link01 li:nth-child(2),
#footer .footer__link01 li:nth-child(3),
#footer .footer__nav li:nth-child(2) .footer__nav-inr::before,
#footer .footer__nav-text,
#footer .footer__tel a,
#footer .footer__tel p,
#header .header__nav-textbox_cp,
#submv .submv__titlebox-en {
    font-weight: 600 !important;
    font-family: Jost, sans-serif
}

#header .header__nav-textbox_cp {
    font-size: 14px;
    color: #9fa0a0
}

#header .header__nav.active {
    visibility: visible;
    opacity: 1;
    top: 0;
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

#contactbox {
    padding: 80px 0 0
}

#contactbox .contactbox__inr {
    padding: 0 70px
}

#contactbox .contactbox__title {
    color: #fff;
    font-size: 25px
}

@media (max-width:834px) {
    #contactbox .contactbox__inr {
        padding: 0 30px
    }

    #contactbox .contactbox__title {
        font-size: 16px
    }
}

#contactbox .contactbox__link a {
    padding: 18px 0;
    font-size: 8vw;
    letter-spacing: 5px;
    line-height: 1;
    color: #fff;
    white-space: nowrap;
    display: block;
    width: 100%
}

#contactbox__cursor,
#footer .footer__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    color: #fff
}

@media (max-width:834px) {
    #contactbox .contactbox__link a {
        font-size: 68px;
        padding: 12px 0
    }
}

#contactbox .contactbox__text {
    color: #fff;
    font-size: 18px
}

@media (max-width:834px) {
    #contactbox .contactbox__text {
        font-size: 13px;
        letter-spacing: 1px
    }
}

#contactbox__cursor {
    position: fixed;
    width: 130px;
    height: 130px;
    top: 0;
    left: 0;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    font-size: 15px;
    line-height: 1;
    background: rgba(0, 0, 0, .4);
    -webkit-backdrop-filter: blur(9px);
    backdrop-filter: blur(9px);
    border-radius: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 3;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity .3s;
    transition: opacity .3s
}

#footer {
    width: 100%;
    padding: 140px 0 130px;
    overflow: hidden
}

#footer .footer__plogo {
    position: absolute;
    bottom: -30px;
    right: 25%;
    z-index: -1
}

@media (max-width:1024px) {
    #footer {
        padding: 100px 0 80px
    }

    #footer .footer__plogo {
        max-width: 240px;
        right: 20px
    }

    #footer .footer__plogo img {
        max-width: 100%;
        height: auto
    }
}

@media (max-width:834px) {
    #footer {
        padding: 60px 0 40px
    }

    #footer .footer__plogo {
        max-width: 380px
    }
}

@media (max-width:520px) {
    #footer .footer__plogo {
        max-width: 240px
    }
}

#footer .footer__inr {
    padding: 0 70px
}

#footer .footer__flex {
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

#footer .footer__flex-l,
#footer .footer__flex-r {
    width: 50%
}

@media (max-width:834px) {
    #footer .footer__inr {
        padding: 0 30px
    }

    #footer .footer__flex {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #footer .footer__flex-l,
    #footer .footer__flex-r {
        width: 100%
    }
}

#footer .footer__flex-r {
    text-align: right
}

#footer .footer__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 120px
}

@media (max-width:1024px) {
    #footer .footer__nav {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 40px
    }
}

@media (max-width:834px) {
    #footer .footer__nav {
        margin-bottom: 20px;
        padding-bottom: 60px;
        border-bottom: 1px solid #fff
    }
}

#footer .footer__nav-inr {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    margin: 0 auto
}

#footer .footer__nav-link {
    line-height: 1;
    overflow: hidden;
    display: block
}

#footer .footer__nav-link:hover .footer__nav-text {
    text-shadow: #fff 0 0 0, #fff 0 1.5em 0
}

#footer .footer__nav-text {
    font-size: 30px;
    line-height: 1;
    letter-spacing: 3px;
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    color: rgba(255, 255, 255, 0);
    text-shadow: #fff 0 -1.5em 0, #fff 0 0 0
}

#footer .footer__link01-text,
.bscBtn01__arrow {
    -webkit-transition: color .3s cubic-bezier(.455, .03, .515, .955);
    transition: color .3s cubic-bezier(.455, .03, .515, .955);
    letter-spacing: -0.05em;
    display: inline-block;
    white-space: nowrap; /*一行落ち防ぐやつ*/
    line-height: 1.3;
}

@media (max-width:1200px) {
    #footer .footer__nav-text {
        font-size: 22px
    }
}

@media (max-width:1024px) {
    #footer .footer__nav-text {
        font-size: 22px
    }
}

@media (max-width:834px) {
    #footer .footer__nav-text {
        font-size: 18px
    }
}

#footer .footer__nav li {
    margin-right: 50px;
    position: relative
}

#footer .footer__nav li:last-child {
    margin-right: 0
}

#footer .footer__nav li:nth-child(2) .footer__nav-inr::before {
    content: "(4)";
    color: #fff;
    position: absolute;
    font-size: 12px;
    right: -3px;
    top: 0;
    -webkit-transform: translate(100%, -40%);
    transform: translate(100%, -40%)
}

.editor ul li::before,
.head01:after {
    content: ""
}

@media (max-width:1200px) {
    #footer .footer__nav li {
        margin-right: 30px
    }
}

@media (max-width:1024px) {
    #footer .footer__nav li {
        width: 50%;
        margin-right: 0;
        margin-bottom: 10px
    }

    #footer .footer__link01 {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media (max-width:834px) {
    #footer .footer__nav li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
        text-align: center
    }

    #footer .footer__nav li:last-child {
        margin-bottom: 0
    }
}

#footer .footer__link01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px
}

#footer .footer__link01-pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#footer .footer__link01-sp {
    display: none
}

#footer .footer__link01 li:first-child,
#footer .footer__link01 li:nth-child(2) {
    margin-right: 30px;
    padding-right: 30px;
    border-right: 1px solid #fff
}

@media (max-width:1024px) {
    #footer .footer__link01 li {
        width: 100%;
        margin-bottom: 10px;
    }

    #footer .footer__link01 li:last-child {
        border-right: none;
        margin-bottom: 0;
    }
}

@media (max-width:834px) {
    #footer .footer__link01-pc {
        display: none
    }

#footer .footer__link01-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: block; /* flex*/
    flex-direction: column;  /* ここ縦並び足した */
    align-items: center; /* ここ中央寄せた下 */
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

#footer .footer__link01 li:first-child,
#footer .footer__link01 li:nth-child(2) {
    margin-right: 0; /* 10px */
    padding-right: 0; /* 10px */
    border-right: none; /* 元はこれ1px solid #fff */
    margin-bottom: 10px; /* 0 */
    text-align: center; /* ここ足した */
}

#footer .footer__link01 li {
    display: block; /*ここ足した　*/
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: 100%; /* fit-content */
    margin-left: auto;
    margin-right: auto;
    text-align: center; /* ここ足した */
}
}

#footer .footer__link01-link {
    line-height: 1;
    overflow: hidden;
    display: inline-block /* block */
}

@media (max-width:1024px) {
    #footer .footer__link01-link {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }
}

@media (min-width:767px) {
    #contactbox__cursor.active {
        opacity: 1;
        pointer-events: none
    }

    #footer .footer__link01-link:hover .footer__link01-text {
        text-shadow: #fff 0 0 0, #fff 0 1.5em 0
    }

    #footer .footer__tel a {
        pointer-events: none
    }
}

#footer .footer__link01-text {
    font-size: 17px;
    overflow: hidden;
    line-height: 1;
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    color: rgba(255, 255, 255, 0);
    text-shadow: #fff 0 -1.5em 0, #fff 0 0 0
}

#news,
#newsdetail {
    overflow: clip
}

@media (max-width:1200px) {
    #footer .footer__link01-text {
        font-size: 14px
    }
}

#footer .footer__cp {
    color: #fff
}

#footer .footer__cp-pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#footer .footer__cp-sp {
    display: none
}

#footer .footer__logo {
    margin-bottom: 40px
}

@media (max-width:834px) {
    #footer .footer__link01-text {
        font-size: 12px;
        letter-spacing: 0;
    }

    #footer .footer__cp-pc {
        display: none
    }

    #footer .footer__cp-sp {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        text-align: center
    }

    #footer .footer__logo {
        margin: 0 auto 20px;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
        display: block;
        line-height: 0
    }

    #footer .footer__logo img {
        height: auto
    }

    #footer .footer__address {
        text-align: center;
        font-size: 12px
    }
}

#footer .footer__address {
    line-height: 2.4;
    margin-bottom: 5px
}

#footer .footer__tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-bottom: 50px
}

#footer .footer__sns,
#submv .submv__inr {
    display: -webkit-box;
    display: -ms-flexbox
}

#footer .footer__tel a,
#footer .footer__tel p {
    font-size: 18px;
    color: #fff
}

@media (max-width:1200px) {

    #footer .footer__tel a,
    #footer .footer__tel p {
        font-size: 14px
    }
}

@media (max-width:834px) {
    #footer .footer__tel {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    #footer .footer__tel a,
    #footer .footer__tel p {
        font-size: 12px
    }
}

#footer .footer__tel a {
    margin-right: 10px
}

#footer .footer__sns {
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#footer .footer__sns li {
    margin-right: 50px
}

#footer .footer__sns li:last-child {
    margin-right: 0
}

.editor img {
    max-width: 100%;
    height: auto
}

.editor p {
    font-size: 16px;
    line-height: 2
}

.editor .wp-block-image {
    background-color: #f7f8f8;
    padding: 50px 10px;
    text-align: center
}

@media (max-width:834px) {
    #footer .footer__sns {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 50px
    }

    .editor p {
        font-size: 13px
    }

    .editor .wp-block-image {
        padding: 30px 10px
    }
}

@media (min-width:767px) {
    #footer .footer__nav>li:hover .footer__gnav-dropdown {
        opacity: 1;
        -webkit-transform: translate(-50%, 100%);
        transform: translate(-50%, 100%)
    }

    #footer .footer__gnav-dropdown>li a:hover .footer__gnav-dropdown_text {
        text-shadow: #fff 0 0 0, #fff 0 1.5em 0
    }
}

#footer .footer__nav>li:last-child {
    margin-right: 0
}

#footer .footer__nav>li:nth-child(2)::before {
    content: "(4)";
    color: #000;
    position: absolute;
    font-size: 11px;
    right: -3px;
    top: 0;
    -webkit-transform: translate(100%, -60%);
    transform: translate(100%, -60%);
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

#footer .footer__gnav-dropdown {
    position: absolute;
    bottom: -10px;
    left: 50%;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    -webkit-transform: translate(-50%, 102%);
    transform: translate(-50%, 102%);
    background-color: rgba(255, 255, 255, .4);
    padding: 10px;
    border-radius: 8px;
    opacity: 0
}

@media (max-width:1024px) {
    #footer .footer__gnav-dropdown {
        display: none
    }
}

#footer .footer__gnav-dropdown>li {
    margin-bottom: 5px
}

#footer .footer__gnav-dropdown>li:last-child {
    margin-bottom: 0
}

#footer .footer__gnav-dropdown>li a {
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
    display: block
}

#footer .footer__gnav-dropdown_text {
    font-size: 14px;
    letter-spacing: 1px;
    white-space: nowrap;
    overflow: hidden;
    line-height: 1;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    color: rgba(255, 255, 255, 0);
    text-shadow: #fff 0 -1.5em 0, #fff 0 0 0
}

.editor h1,
.editor h2,
.editor h3,
.editor h4,
.editor h5,
.editor h6 {
    line-height: 1.4;
    margin-bottom: 1em
}

.editor ul {
    margin-bottom: 15px
}

.editor ul li {
    line-height: 170%;
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 5px;
    position: relative
}

.editor ul li::before {
    display: inline-block;
    width: 10px;
    height: 10px;
    left: 0;
    background-color: #acacac;
    border-radius: 10px;
    margin-right: .5em
}

.editor a {
    text-decoration: underline;
    font-size: 16px;
    line-height: 2
}

.editor table {
    border-left: 1px solid #dedede;
    border-top: 1px solid #dedede;
    width: 100%
}

.editor table td,
.editor table th {
    background-color: #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-right: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
    line-height: 1.4;
    padding: 20px 20px 17px;
    text-align: left
}

.editor table th {
    background-color: #dedede;
    border-bottom: 1px solid #fff
}

.editor table tr.head th {
    background-color: #45b69a;
    color: #fff
}

.editor table tr:last-child th {
    border-bottom: 1px solid #dedede
}

#submv .submv__inr {
    height: 620px;
    width: 100%;
    padding: 0 100px 0 200px;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-image: url(../cmn_img/submv_bkg.png);
    background-size: cover;
    background-position: left top
}

@media (max-width:1500px) {
    #submv .submv__inr {
        padding: 0 60px
    }
}

@media (max-width:1024px) {
    #submv .submv__inr {
        height: 480px;
        padding: 0 30px
    }
}

@media (max-width:834px) {
    .editor a {
        font-size: 13px
    }

    #submv .submv__inr {
        height: 420px;
        padding: 0 30px
    }
}

#submv .submv__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%
}

#submv .submv__titlebox-en {
    font-size: 110px;
    line-height: 1;
    margin-bottom: 30px
}

@media (max-width:1024px) {
    #submv .submv__titlebox-en {
        font-size: 50px
    }
}

@media (max-width:834px) {
    #submv .submv__titlebox-en {
        font-size: 48px;
        margin-bottom: 10px
    }
}

@media (max-width:520px) {
    #submv .submv__inr {
        height: 340px;
        padding: 0 30px
    }

    #submv .submv__titlebox-en {
        font-size: 38px;
        margin-bottom: 8px
    }
}

#submv .submv__titlebox-ja {
    font-size: 23px;
    font-weight: 400
}

@media (max-width:1024px) {
    #submv .submv__titlebox-ja {
        font-size: 20px
    }
}

@media (max-width:834px) {
    #submv .submv__titlebox-ja {
        font-size: 18px
    }
}

@media (max-width:520px) {
    #submv .submv__titlebox-ja {
        font-size: 14px
    }
}

#submv .submv__titlebox-ja02 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background-color: #000;
    padding: 8px 30px;
    border-radius: 50px;
    font-size: 22px;
    font-weight: 400;
    color: #fff
}

#submv .submv__titlebox-ja02 span {
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    font-size: 26px;
    margin-right: 3px;
    color: #fff
}

@media (max-width:1024px) {
    #submv .submv__titlebox-ja02 {
        padding: 8px 20px;
        font-size: 18px
    }

    #submv .submv__titlebox-ja02 span {
        font-size: 20px
    }
}

@media (max-width:834px) {
    #submv .submv__titlebox-ja02 {
        padding: 8px 20px;
        font-size: 15px
    }

    #submv .submv__titlebox-ja02 span {
        font-size: 14px
    }
}

#submv .submv__titlebox-text {
    font-size: 30px;
    font-weight: 600;
    line-height: 2;
    margin-top: 30px
}

@media (max-width:1024px) {
    #submv .submv__titlebox-text {
        font-size: 22px
    }
}

@media (max-width:834px) {
    #submv .submv__titlebox-text {
        font-size: 14px
    }
}

.bscBtn01.c01 .bscBtn01__link {
    background-color: #fff;
    border: 1px solid #fff;
    color: #000
}

@media (min-width:767px) {
    .bscBtn01.c01 .bscBtn01__link:hover {
        background-color: #000;
        color: #fff;
        letter-spacing: 3px
    }

    .bscBtn01.c01 .bscBtn01__link:hover .bscBtn01__arrow {
        border-radius: 25px;
        width: 30px;
        height: 5px;
        background-color: #fff
    }

    .bscBtn01.c01 .bscBtn01__link:hover .bscBtn01__arrow-inr::after,
    .bscBtn01.c01 .bscBtn01__link:hover .bscBtn01__arrow-inr::before {
        width: 16px
    }
}

.bscBtn01.c01 .bscBtn01__arrow {
    background-color: #000
}

.bscBtn01.c01 .bscBtn01__arrow-inr::after,
.bscBtn01.c01 .bscBtn01__arrow-inr::before {
    background-color: #fff
}

.bscBtn01.c02 .bscBtn01__link {
    background-color: #000;
    color: #fff;
    border: 1px solid #000
}

@media (min-width:767px) {
    .bscBtn01.c02 .bscBtn01__link:hover {
        background-color: #fff;
        color: #000;
        letter-spacing: 3px
    }

    .bscBtn01.c02 .bscBtn01__link:hover .bscBtn01__arrow {
        border-radius: 25px;
        width: 30px;
        height: 5px;
        background-color: #000
    }

    .bscBtn01.c02 .bscBtn01__link:hover .bscBtn01__arrow-inr::after,
    .bscBtn01.c02 .bscBtn01__link:hover .bscBtn01__arrow-inr::before {
        width: 16px
    }
}

.bscBtn01.c02 .bscBtn01__arrow {
    background-color: #fff
}

.bscBtn01.c02 .bscBtn01__arrow-inr::after,
.bscBtn01.c02 .bscBtn01__arrow-inr::before,
.bscBtn01__arrow,
.head01:after {
    background-color: #000
}

.bscBtn01.size01 .bscBtn01__link {
    font-size: 16px;
    width: 320px;
    padding: 20px 40px 20px 30px
}

@media (max-width:1024px) {
    .bscBtn01.size01 .bscBtn01__link {
        max-width: 320px;
        width: 100%
    }
}

@media (max-width:834px) {
    .bscBtn01.size01 .bscBtn01__link {
        font-size: 14px
    }
}

.bscBtn01__link {
    font-size: 18px;
    position: relative;
    width: 330px;
    display: block;
    padding: 40px 40px 40px 30px;
    border-radius: 10px
}

@media (max-width:1024px) {
    .bscBtn01__link {
        max-width: 330px;
        width: 100%;
        padding: 30px 40px 30px 20px
    }
}

@media (max-width:834px) {
    .bscBtn01__link {
        font-size: 14px;
        max-width: 330px;
        width: 100%;
        display: block;
        padding: 30px 40px 30px 20px
    }
}

.bscBtn01__arrow {
    position: absolute;
    top: 50%;
    right: 30px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

.bscBtn01__arrow-inr {
    position: relative;
    display: block;
    height: 100%
}

.bscBtn01__arrow-inr::after,
.bscBtn01__arrow-inr::before {
    content: "";
    position: absolute;
    right: 0;
    height: 5px;
    border-radius: 25px;
    width: 0;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

.bscBtn01__arrow-inr::before {
    top: 0;
    -webkit-transform: translate(0, 100%) rotate(-45deg);
    transform: translate(0, 100%) rotate(-45deg)
}

.bscBtn01__arrow-inr::after {
    bottom: 0;
    -webkit-transform: translate(0, -100%) rotate(45deg);
    transform: translate(0, -100%) rotate(45deg)
}

.head01 {
    font-size: 16px;
    letter-spacing: 2px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    position: relative;
    padding-left: 28px
}

.head01:after {
    height: 1px;
    width: 18px;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%)
}

@media (max-width:520px) {
    .head01 {
        font-size: 14px
    }
}

.head02 {
    font-size: 30px
}

@media (max-width:834px) {
    .head02 {
        font-size: 22px
    }
}

.head03,
.head04 {
    font-size: 1.3em;
    margin-bottom: 1em
}

.head03 {
    background-color: #45b69a;
    color: #fff;
    border-bottom: 1px solid #45b69a;
    line-height: 1.3;
    padding: 1em
}

.head04 {
    line-height: 1.4
}

.scInr,
.scInrS,
.scInrSS,
.scInrW,
.scInrWW {
    margin: 0 auto
}

@font-face {
    font-family: icomoon;
    src: url(fonts/icomoon.eot?l7up8e);
    src: url(fonts/icomoon.eot?l7up8e#iefix) format("embedded-opentype"), url(fonts/icomoon.ttf?l7up8e) format("truetype"), url(fonts/icomoon.woff?l7up8e) format("woff"), url(fonts/icomoon.svg?l7up8e#icomoon) format("svg");
    font-weight: 400;
    font-style: normal;
    font-display: block
}

[class*=" icon-"],
[class^=icon-] {
    font-family: icomoon !important;
    speak: never;
    font-style: normal;
    font-weight: 400;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

#breadcrumbs .breadcrumbs__text,
.pager a,
.pager span {
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

.icon-file:before {
    content: "\e900"
}

.icon-search:before {
    content: "\e901"
}

.icon-tel:before {
    content: "\e902"
}

.icon-mail:before {
    content: "\e903"
}

.icon-phone-hang-up:before {
    content: "\e943"
}

.icon-cancel-circle:before {
    content: "\ea0d"
}

.icon-arrow-up2:before {
    content: "\ea3a"
}

.icon-arrow-right2:before {
    content: "\ea3c"
}

.icon-arrow-down2:before {
    content: "\ea3e"
}

.icon-arrow-left2:before {
    content: "\ea40"
}

.icon-circle-up:before {
    content: "\ea41"
}

.icon-circle-right:before {
    content: "\ea42"
}

.icon-circle-down:before {
    content: "\ea43"
}

.icon-circle-left:before {
    content: "\ea44"
}

.icon-instagram:before {
    content: "\ea92"
}

.icon-twitter:before {
    content: "\ea96"
}

.icon-chevron-left:before {
    content: "\f053"
}

.icon-chevron-right:before {
    content: "\f054"
}

.icon-plus-circle:before {
    content: "\f055"
}

.icon-minus-circle:before {
    content: "\f056"
}

.icon-times-circle:before {
    content: "\f057"
}

.icon-check-circle:before {
    content: "\f058"
}

.icon-angle-double-left:before {
    content: "\f100"
}

.icon-angle-double-right:before {
    content: "\f101"
}

.icon-angle-left:before {
    content: "\f104"
}

.icon-angle-right:before {
    content: "\f105"
}

.icon-angle-up:before {
    content: "\f106"
}

.icon-angle-down:before {
    content: "\f107"
}

@font-face {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 300;
    src: url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Light.woff2) format("woff2"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Light.woff) format("woff"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Light.eot) format("eot"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Light.ttf) format("truetype")
}

@font-face {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 400;
    src: url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Regular.woff2) format("woff2"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Regular.woff) format("woff"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Regular.eot) format("eot"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Regular.ttf) format("truetype")
}

@font-face {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 500;
    src: url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Medium.woff2) format("woff2"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Medium.woff) format("woff"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Medium.eot) format("eot"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Medium.ttf) format("truetype")
}

@font-face {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 600;
    src: url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-SemiBold.woff2) format("woff2"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-SemiBold.woff) format("woff"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-SemiBold.eot) format("eot"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-SemiBold.ttf) format("truetype")
}

@font-face {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    src: url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Bold.woff2) format("woff2"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Bold.woff) format("woff"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Bold.eot) format("eot"), url(/assets/cmn_css/fonts/Noto_Sans_JP/NotoSansJP-Bold.ttf) format("truetype")
}

@font-face {
    font-family: Jost, sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    src: url(/assets/cmn_css/fonts/Jost/Jost-Light.woff2) format("woff2"), url(/assets/cmn_css/fonts/Jost/Jost-Light.woff) format("woff"), url(/assets/cmn_css/fonts/Jost/Jost-Light.eot) format("eot"), url(/assets/cmn_css/fonts/Jost/Jost-Light.ttf) format("truetype")
}

@font-face {
    font-family: Jost, sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    src: url(/assets/cmn_css/fonts/Jost/Jost-Regular.woff2) format("woff2"), url(/assets/cmn_css/fonts/Jost/Jost-Regular.woff) format("woff"), url(/assets/cmn_css/fonts/Jost/Jost-Regular.eot) format("eot"), url(/assets/cmn_css/fonts/Jost/Jost-Regular.ttf) format("truetype")
}

@font-face {
    font-family: Jost, sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    src: url(/assets/cmn_css/fonts/Jost/Jost-Medium.woff2) format("woff2"), url(/assets/cmn_css/fonts/Jost/Jost-Medium.woff) format("woff"), url(/assets/cmn_css/fonts/Jost/Jost-Medium.eot) format("eot"), url(/assets/cmn_css/fonts/Jost/Jost-Medium.ttf) format("truetype")
}

@font-face {
    font-family: Jost, sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    src: url(/assets/cmn_css/fonts/Jost/Jost-SemiBold.woff2) format("woff2"), url(/assets/cmn_css/fonts/Jost/Jost-SemiBold.woff) format("woff"), url(/assets/cmn_css/fonts/Jost/Jost-SemiBold.eot) format("eot"), url(/assets/cmn_css/fonts/Jost/Jost-SemiBold.ttf) format("truetype")
}

@font-face {
    font-family: Jost, sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    src: url(/assets/cmn_css/fonts/Jost/Jost-Bold.woff2) format("woff2"), url(/assets/cmn_css/fonts/Jost/Jost-Bold.woff) format("woff"), url(/assets/cmn_css/fonts/Jost/Jost-Bold.eot) format("eot"), url(/assets/cmn_css/fonts/Jost/Jost-Bold.ttf) format("truetype")
}

.scInrWW {
    max-width: 1550px;
    width: 100%
}

@media (max-width:1630px) {
    .scInrWW {
        width: 90%
    }
}

@media (max-width:834px) {
    .scInrWW {
        width: 100%;
        padding: 0 30px
    }
}

.scInrW {
    max-width: 1480px;
    width: 100%
}

@media (max-width:1560px) {
    .scInrW {
        width: 90%
    }
}

@media (max-width:834px) {
    .scInrW {
        width: 100%;
        padding: 0 30px
    }
}

.scInr {
    max-width: 1100px;
    width: 100%
}

@media (max-width:1320px) {
    .scInr {
        width: 90%
    }
}

@media (max-width:834px) {
    .scInr {
        width: 100%;
        padding: 0 30px
    }
}

.scInrS {
    max-width: 1000px;
    width: 100%
}

@media (max-width:1080px) {
    .scInrS {
        width: 90%
    }
}

@media (max-width:834px) {
    .scInrS {
        width: 100%;
        padding: 0 30px
    }
}

.scInrSS {
    max-width: 880px;
    width: 100%
}

@media (max-width:960px) {
    .scInrSS {
        width: 90%
    }
}

.is-pc {
    display: block !important
}

@media (max-width:834px) {
    .is-pc {
        display: none !important
    }
}

.is-pconly {
    display: block !important
}

.is-pcunder {
    display: none !important
}

@media (max-width:1024px) {
    .is-pconly {
        display: none !important
    }

    .is-pcunder {
        display: block !important
    }
}

.is-tab {
    display: block !important
}

@media (max-width:520px) {
    .is-tab {
        display: none !important
    }
}

.is-sp {
    display: none !important
}

@media (max-width:834px) {
    .is-sp {
        display: block !important
    }
}

.is-sponly {
    display: none !important
}

@media (max-width:520px) {
    .is-sponly {
        display: block !important
    }
}

@media (max-width:834px) {
    #breadcrumbs {
        display: none
    }
}

#breadcrumbs .breadcrumbs__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#breadcrumbs .breadcrumbs__link.nolink {
    pointer-events: none
}

#breadcrumbs .breadcrumbs__link.nolink>span {
    color: #000
}

#breadcrumbs .breadcrumbs__text {
    color: #9fa0a0;
    font-size: 14px
}

#breadcrumbs .breadcrumbs__arrow {
    width: 4px;
    height: 4px;
    background-color: #000;
    border-radius: 50px;
    display: block;
    margin: 0 20px
}

@media (max-width:1024px) {
    #breadcrumbs .breadcrumbs__text {
        font-size: 12px
    }

    #breadcrumbs .breadcrumbs__arrow {
        margin: 0 10px
    }
}

.pager {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.pager a,
.pager span {
    font-size: 20px;
    line-height: 1;
    margin: 0 20px;
    color: #b5b5b6
}

@media (max-width:834px) {

    .pager a,
    .pager span {
        font-size: 16px;
        margin: 0 15px
    }
}

.pager a.current,
.pager span.current {
    pointer-events: none;
    color: #231815
}

@media (min-width:767px) {

    .pager a:hover,
    .pager span:hover {
        color: #231815
    }

    .pager a.prev:hover,
    .pager span.prev:hover {
        -webkit-transform: scale(1.2) translateX(-3px);
        transform: scale(1.2) translateX(-3px)
    }

    .pager a.next:hover,
    .pager span.next:hover {
        -webkit-transform: scale(1.2) translateX(3px);
        transform: scale(1.2) translateX(3px)
    }
}

.pager a.disabled,
.pager span.disabled {
    pointer-events: none;
    opacity: .6
}

#topcontrol {
    display: none;
    z-index: 900;
    position: fixed;
    right: 20px;
    bottom: 20px;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

#topcontrol a {
    background-color: #45b69a;
    display: block;
    height: 60px;
    width: 60px;
    filter: alpha(opacity=70) !important;
    opacity: .7 !important;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out
}

#topcontrol a:hover {
    filter: alpha(opacity=10) !important;
    opacity: 1 !important;
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
}

#topcontrol a::after {
    content: "";
    display: block;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    color: #fff;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 26px;
    left: 22px;
    border-radius: 2px
}

@media (max-width:1024px) {

    #topcontrol,
    #topcontrol a {
        width: 40px;
        height: 40px
    }

    #topcontrol {
        bottom: 10px !important;
        right: 10px !important
    }

    #topcontrol a::after {
        top: 18px;
        left: 14px;
        border-width: 2px
    }
}

.cat {
    display: inline-block;
    width: 100px;
    padding: .6em 1em;
    text-align: center;
    margin-left: 1em;
    text-decoration: none;
    vertical-align: middle;
    font-weight: 600
}

.cat01 {
    border: 1px solid #d03629;
    color: #d03629
}

.cat02 {
    border: 1px solid #004106;
    color: #004106
}

.cat03,
.cat04 {
    border: 1px solid #720440;
    color: #720440
}

table.bsctable01 {
    border: 1px solid #ddd;
    width: 100%
}

table.bsctable01 tr {
    border-bottom: 1px solid #ddd
}

table.bsctable01 th {
    background-color: #f4f4f4;
    border-right: 1px solid #ddd;
    width: 230px;
    padding: 20px 10px
}

#news #sec01 .sec01__newsbox-title>li.current-cat::before,
.newslist__arrow {
    background-color: #000
}

@media (max-width:834px) {
    .cat {
        margin: 5px 2%
    }

    table.bsctable01 th {
        padding: 15px 10px
    }

    table.bsctable01 td,
    table.bsctable01 th {
        width: 100%;
        display: block
    }
}

table.bsctable01 td {
    padding: 20px;
    font-weight: 600
}

.newslist.nolist>li>p,
.newslist__link {
    padding: 45px 60px 45px 20px;
    display: block
}

#news #sec01 .sec01__newsbox-title>li,
#newsdetail #sec01 .sec01__titleflex-cat,
#newsdetail #sec01 .sec01__titleflex-date,
.newslist__cat,
.newslist__date {
    font-weight: 600 !important;
    font-family: Jost, sans-serif
}

table.bsctable01 td,
table.bsctable01 th {
    font-size: 14px
}

.newslist>li {
    border-bottom: 1px solid #efefef
}

.newslist>li:first-child {
    border-top: 1px solid #efefef
}

.newslist.nolist>li>p {
    font-size: 16px
}

.newslist__link {
    position: relative
}

@media (min-width:767px) {
    .newslist__link:hover {
        letter-spacing: 3px
    }

    .newslist__link:hover .newslist__arrow {
        border-radius: 25px;
        width: 30px;
        height: 5px
    }

    .newslist__link:hover .newslist__arrow-inr::after,
    .newslist__link:hover .newslist__arrow-inr::before {
        width: 16px
    }
}

.newslist__title {
    font-size: 16px;
    line-height: 2;
    color: #595757;
    margin-bottom: 20px
}

@media (max-width:834px) {
    .newslist__link {
        padding: 25px 20px 25px 0
    }

    .newslist__title {
        font-size: 13px;
        line-height: 1.4;
        margin-bottom: 10px
    }
}

.newslist__date {
    font-size: 16px;
    color: #9fa0a0;
    margin-right: 30px
}

@media (max-width:834px) {
    .newslist__date {
        font-size: 12px;
        margin-right: 10px
    }
}

.newslist__cat {
    font-size: 16px;
    color: teal
}

.newslist__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.newslist__arrow {
    position: absolute;
    top: 50%;
    right: 30px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

.newslist__arrow-inr {
    position: relative;
    display: block;
    height: 100%
}

.newslist__arrow-inr::after,
.newslist__arrow-inr::before {
    content: "";
    position: absolute;
    right: 0;
    height: 5px;
    border-radius: 25px;
    width: 0;
    background-color: #000;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

.newslist__arrow-inr::before {
    top: 0;
    -webkit-transform: translate(0, 100%) rotate(-45deg);
    transform: translate(0, 100%) rotate(-45deg)
}

.newslist__arrow-inr::after {
    bottom: 0;
    -webkit-transform: translate(0, -100%) rotate(45deg);
    transform: translate(0, -100%) rotate(45deg)
}

#news #sec01 {
    padding-bottom: 180px
}

#news #sec01 .sec01__flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media (max-width:834px) {
    .newslist__cat {
        font-size: 12px
    }

    .newslist__arrow {
        right: 0
    }

    #news #sec01 {
        padding-bottom: 80px
    }

    #news #sec01 .sec01__flexbox {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 0
    }
}

#news #sec01 .sec01__flexbox-l {
    width: 360px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media (max-width:834px) {
    #news #sec01 .sec01__flexbox-l {
        width: 100%;
        margin-bottom: 30px
    }
}

#news #sec01 .sec01__flexbox-r {
    width: calc(100% - 360px)
}

@media (max-width:834px) {
    #news #sec01 .sec01__flexbox-r {
        width: 100%
    }

    #news #sec01 .sec01__newsbox-title {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

#news #sec01 .sec01__newsbox-title>li {
    font-size: 16px;
    margin-bottom: 30px;
    position: relative;
    padding-left: 18px;
    line-height: 1.4;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    color: #efefef;
    cursor: pointer
}

@media (min-width:767px) {
    #news #sec01 .sec01__newsbox-title>li:hover {
        letter-spacing: 3px;
        color: #000
    }

    #news #sec01 .sec01__newsbox-title>li:hover::before {
        background-color: #000
    }
}

#news #sec01 .sec01__newsbox-title>li.current-cat {
    color: #000;
    pointer-events: none
}

#news #sec01 .sec01__newsbox-title>li::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: #efefef;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#news #sec01 .sec01__newsbox-title>li:last-child {
    margin-bottom: 0
}

@media (max-width:834px) {
    #news #sec01 .sec01__newsbox-title>li {
        font-size: 16px;
        padding-left: 10px;
        letter-spacing: 1px;
        width: 50%;
        margin-bottom: 20px
    }

    #news #sec01 .sec01__newsbox-title>li:nth-child(even) {
        width: 60%
    }

    #news #sec01 .sec01__newsbox-title>li:nth-child(odd) {
        width: 38%
    }

    #news #sec01 .sec01__newsbox-title>li:first-child {
        width: 100%
    }

    #news #sec01 .sec01__newsbox-title>li:last-child {
        margin-bottom: 20px
    }

    #news #sec01 .sec01__newsbox-title>li::before {
        width: 5px;
        height: 5px
    }
}

@media (max-width:520px) {
    #news #sec01 .sec01__newsbox-title>li {
        font-size: 14px
    }
}

#news #sec01 .sec01__newsbox-list {
    margin-bottom: 80px
}

#newsdetail {
    background-color: #f7f8f8
}

@media (max-width:1024px) {
    #newsdetail .bscBtn01__link {
        width: 330px
    }
}

#newsdetail #sec01 {
    padding: 200px 0
}

@media (max-width:834px) {
    #newsdetail .bscBtn01__link {
        width: 240px;
        margin: 0 auto 40px
    }

    #newsdetail #sec01 {
        padding: 140px 0 80px
    }
}

#newsdetail #sec01 .sec01__titleinr {
    max-width: 1500px;
    margin: 0 auto;
    width: 90%
}

#newsdetail #sec01 .sec01__titleflex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px
}

#newsdetail #sec01 .sec01__titleflex-date {
    font-size: 16px;
    color: #9fa0a0;
    margin-right: 30px
}

@media (max-width:834px) {
    #newsdetail #sec01 .sec01__titleflex-date {
        font-size: 12px;
        margin-right: 10px
    }
}

#newsdetail #sec01 .sec01__titleflex-cat {
    font-size: 16px;
    color: teal
}

@media (max-width:834px) {
    #newsdetail #sec01 .sec01__titleflex-cat {
        font-size: 12px
    }
}

#newsdetail #sec01 .sec01__titleflex-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#newsdetail #sec01 .sec01__title {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 80px
}

@media (max-width:834px) {
    #newsdetail #sec01 .sec01__title {
        font-size: 22px;
        margin-bottom: 60px
    }
}

@media (max-width:520px) {
    #newsdetail #sec01 .sec01__title {
        font-size: 18px;
        margin-bottom: 30px
    }
}

#newsdetail #sec01 .sec01__box {
    background-color: #fff;
    width: 90%;
    margin: 0 auto;
    padding: 160px 0
}

@media (max-width:834px) {
    #newsdetail #sec01 .sec01__box {
        padding: 100px 0
    }
}

@media (max-width:520px) {
    #newsdetail #sec01 .sec01__box {
        padding: 60px 0
    }
}

#newsdetail #sec01 .sec01__box .editor {
    padding-bottom: 80px;
    margin-bottom: 80px;
    border-bottom: 1px solid #efefef
}

@media (max-width:834px) {
    #newsdetail #sec01 .sec01__box .editor {
        padding-bottom: 60px;
        margin-bottom: 60px
    }
}

@media (max-width:520px) {
    #newsdetail #sec01 .sec01__box .editor {
        padding-bottom: 30px;
        margin-bottom: 30px
    }
}

#newsdetail #sec01 .sec01__btnlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#newsdetail #sec01 .sec01__btnlist-next,
#newsdetail #sec01 .sec01__btnlist-prev {
    font-size: 26px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    position: relative
}

@media (max-width:834px) {
    #newsdetail #sec01 .sec01__btnlist {
        width: 240px;
        margin: 0 auto
    }

    #newsdetail #sec01 .sec01__btnlist-next,
    #newsdetail #sec01 .sec01__btnlist-prev {
        font-size: 16px
    }
}

#newsdetail #sec01 .sec01__btnlist-next_arrow,
#newsdetail #sec01 .sec01__btnlist-prev_arrow {
    position: absolute;
    top: 50%;
    right: 30px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #000;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#newsdetail #sec01 .sec01__btnlist-next_arrow-inr,
#newsdetail #sec01 .sec01__btnlist-prev_arrow-inr {
    position: relative;
    display: block;
    height: 100%
}

#newsdetail #sec01 .sec01__btnlist-next_arrow-inr::after,
#newsdetail #sec01 .sec01__btnlist-next_arrow-inr::before,
#newsdetail #sec01 .sec01__btnlist-prev_arrow-inr::after,
#newsdetail #sec01 .sec01__btnlist-prev_arrow-inr::before {
    content: "";
    position: absolute;
    height: 5px;
    border-radius: 25px;
    width: 0;
    background-color: #000;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#newsdetail #sec01 .sec01__btnlist-next {
    padding-right: 30px
}

#newsdetail #sec01 .sec01__btnlist-next_arrow,
#newsdetail #sec01 .sec01__btnlist-next_arrow-inr::after,
#newsdetail #sec01 .sec01__btnlist-next_arrow-inr::before {
    right: 0
}

#newsdetail #sec01 .sec01__btnlist-next_arrow-inr::before {
    top: 0;
    -webkit-transform: translate(0, 100%) rotate(-45deg);
    transform: translate(0, 100%) rotate(-45deg)
}

#newsdetail #sec01 .sec01__btnlist-next_arrow-inr::after {
    bottom: 0;
    -webkit-transform: translate(0, -100%) rotate(45deg);
    transform: translate(0, -100%) rotate(45deg)
}

#newsdetail #sec01 .sec01__btnlist-prev {
    padding-left: 30px
}

@media (min-width:767px) {
    #newsdetail #sec01 .sec01__btnlist-next:hover {
        letter-spacing: 3px
    }

    #newsdetail #sec01 .sec01__btnlist-next:hover .sec01__btnlist-next_arrow {
        border-radius: 25px;
        width: 20px;
        height: 5px
    }

    #newsdetail #sec01 .sec01__btnlist-next:hover .sec01__btnlist-next_arrow-inr::after,
    #newsdetail #sec01 .sec01__btnlist-next:hover .sec01__btnlist-next_arrow-inr::before {
        width: 16px
    }

    #newsdetail #sec01 .sec01__btnlist-prev:hover {
        letter-spacing: 3px
    }

    #newsdetail #sec01 .sec01__btnlist-prev:hover .sec01__btnlist-prev_arrow {
        border-radius: 25px;
        width: 20px;
        height: 5px
    }

    #newsdetail #sec01 .sec01__btnlist-prev:hover .sec01__btnlist-prev_arrow-inr::after,
    #newsdetail #sec01 .sec01__btnlist-prev:hover .sec01__btnlist-prev_arrow-inr::before {
        width: 16px
    }
}

#newsdetail #sec01 .sec01__btnlist-prev_arrow {
    left: 0
}

#newsdetail #sec01 .sec01__btnlist-prev_arrow-inr::after,
#newsdetail #sec01 .sec01__btnlist-prev_arrow-inr::before {
    left: -5px
}

#newsdetail #sec01 .sec01__btnlist-prev_arrow-inr::before {
    top: 0;
    -webkit-transform: translate(0, 100%) rotate(-130deg);
    transform: translate(0, 100%) rotate(-130deg)
}

#newsdetail #sec01 .sec01__btnlist-prev_arrow-inr::after {
    bottom: 0;
    -webkit-transform: translate(0, -100%) rotate(130deg);
    transform: translate(0, -100%) rotate(130deg)
}

#blog {
    color: #000
}

#blog .blog__list li {
    float: left;
    margin-right: 5%;
    width: 30%;
    position: relative;
    z-index: 3;
    padding: 0;
    height: 400px
}

#blog .blog__list li:nth-child(3n) {
    margin-right: 0
}

@media (max-width:1024px) {
    #blog .blog__list li {
        width: 48%;
        margin-bottom: 30px;
        margin-right: 4%
    }

    #blog .blog__list li:nth-child(3n) {
        margin-right: 4%
    }

    #blog .blog__list li:nth-child(2n) {
        margin-right: 0
    }
}

@media (max-width:520px) {
    #blog .blog__list li {
        display: block;
        width: 100%;
        margin: 0 auto 30px
    }

    #blog .blog__list li:nth-child(2n),
    #blog .blog__list li:nth-child(3n) {
        margin: 0 auto 30px
    }
}

#blog .blog__list a {
    display: block
}

#blog .blog__list a:hover .blog__list_imgboxinr-img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

#blog .blog__list a:hover .blog__list_imgboxinr-img::after {
    background-color: rgba(0, 0, 0, .3)
}

#blog .blog__list a:hover .blog__list_textbox .blog__list_textbox-more span {
    right: -35px;
    -webkit-transform: translate(100%, -50%);
    transform: translate(100%, -50%)
}

#blog .blog__list_imginr {
    height: 200px;
    width: 100%;
    position: relative;
    margin-bottom: 10px;
    padding-bottom: 80px
}

@media (max-width:1024px) {
    #blog .blog__list_imginr {
        height: 240px
    }
}

@media (max-width:834px) {
    #blog .blog__list_imginr {
        height: 200px
    }
}

#blog .blog__list_imginr time {
    font-size: 24px;
    position: absolute;
    bottom: -20px;
    left: 0;
    z-index: 2
}

#blog .blog__list_imgboxinr {
    height: 200px;
    width: 100%;
    overflow: hidden
}

@media (max-width:1024px) {
    #blog .blog__list_imgboxinr {
        height: 240px
    }
}

@media (max-width:834px) {
    #blog .blog__list_imgboxinr {
        height: 200px
    }
}

#blog .blog__list_imgboxinr-img {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    width: 100%;
    height: 100%;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#blog .blog__list_imgboxinr-img::after {
    content: "";
    height: 100%;
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .8s cubic-bezier(.165, .84, .44, 1);
    transition: all .8s cubic-bezier(.165, .84, .44, 1)
}

#blog .blog__list_textbox {
    position: absolute;
    background-color: #fff;
    border: 1px solid #000;
    padding: 40px 10px 10px;
    width: 90%;
    right: -20px;
    top: 180px
}

@media (max-width:1024px) {
    #blog .blog__list_textbox {
        top: 220px
    }
}

@media (max-width:834px) {
    #blog .blog__list_textbox {
        top: 200px;
        width: 100%;
        right: 0
    }
}

@media (max-width:520px) {
    #blog .blog__list_textbox {
        width: 100%;
        right: 0
    }
}

#blog .blog__list_textbox-text {
    font-size: 14px;
    line-height: 2;
    font-weight: 400;
    margin-bottom: 20px;
    height: 60px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}

#blog .blog__list_textbox-more {
    display: inline-block;
    position: relative;
    font-weight: 400
}

#blog .blog__list_textbox-more span {
    line-height: 0;
    position: absolute;
    top: 50%;
    right: -30px;
    -webkit-transform: translate(100%, -50%);
    transform: translate(100%, -50%);
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#blog .blogdetail__titlebox {
    padding-bottom: 1em;
    border-bottom: 1px solid #000;
    margin-bottom: 3em;
    color: #000
}

#blog .blogdetail__titlebox time {
    font-size: 1.3em;
    display: inline-block;
    vertical-align: middle;
    font-weight: 600;
    margin-right: 10px
}

#blog .blogdetail__titlebox-title {
    margin-top: 5px;
    font-size: 2.5em
}

#contact {
    overflow: clip
}

#contact #sec01 {
    padding: 0 0 180px
}

#contact #sec01 .req {
    color: teal;
    margin-left: 5px
}

#contact #sec01 .sec01__flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#contact #sec01 .sec01__flexbox-l {
    width: 320px
}

@media (max-width:834px) {
    #contact #sec01 {
        padding: 0 0 120px
    }

    #contact #sec01 .sec01__flexbox {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #contact #sec01 .sec01__flexbox-l {
        width: 100%;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 50px
    }
}

#contact #sec01 .sec01__flexbox-r {
    width: 650px
}

@media (max-width:1024px) {
    #contact #sec01 .sec01__flexbox-r {
        width: calc(100% - 380px)
    }
}

#contact #sec01 .sec01__stickybox {
    position: -webkit-sticky;
    position: sticky;
    top: 60px
}

#contact #sec01 .sec01__text01 {
    font-size: 16px;
    margin-bottom: 30px
}

@media (max-width:834px) {
    #contact #sec01 .sec01__flexbox-r {
        width: 100%
    }

    #contact #sec01 .sec01__text01 {
        font-size: 13px;
        margin-bottom: 20px
    }
}

#contact #sec01 .sec01__text02 {
    font-size: 18px;
    line-height: 2
}

#contact #sec01 .sec01__currentbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    margin-bottom: 120px
}

@media (max-width:834px) {
    #contact #sec01 .sec01__text02 {
        font-size: 14px
    }

    #contact #sec01 .sec01__currentbox {
        margin-bottom: 60px
    }
}

#contact #sec01 .sec01__currentbox::before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 5px;
    left: 0;
    display: block;
    background-color: #efefef;
    z-index: -1
}

#contact #sec01 .sec01__currentbox-ja {
    font-size: 16px;
    color: #efefef
}

@media (max-width:834px) {
    #contact #sec01 .sec01__currentbox-ja {
        font-size: 15px
    }
}

#contact #sec01 .sec01__currentbox-en {
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    font-size: 13px;
    color: #dcdddd;
    margin-bottom: 16px
}

@media (max-width:834px) {
    #contact #sec01 .sec01__currentbox-en {
        margin-bottom: 6px
    }
}

#contact #sec01 .sec01__currentbox-circle {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #efefef;
    display: block;
    margin: 0 auto
}

#contact #sec01 .sec01__currentbox li {
    width: 50%;
    text-align: center
}

#contact #sec01 .sec01__currentbox li.current .sec01__currentbox-ja {
    color: #231815
}

#contact #sec01 .sec01__currentbox li.current .sec01__currentbox-circle {
    background-color: #000
}

#contact #sec01 .sec01__form {
    width: 100%;
    margin: 0 auto
}

#contact #sec01 .sec01__form td,
#contact #sec01 .sec01__form th {
    display: block;
    width: 100%;
    text-align: left
}

#contact #sec01 .sec01__form td {
    margin-bottom: 40px
}

#contact #sec01 .sec01__form input,
#contact #sec01 .sec01__form select,
#contact #sec01 .sec01__form textarea {
    background-color: #f7f8f8;
    border: 1px solid #f7f8f8;
    padding: 25px 20px;
    font-size: 16px;
    width: 100%
}

#contact #sec01 .sec01__form input::-webkit-input-placeholder,
#contact #sec01 .sec01__form select::-webkit-input-placeholder,
#contact #sec01 .sec01__form textarea::-webkit-input-placeholder {
    color: #9fa0a0;
    font-size: 16px
}

#contact #sec01 .sec01__form input:-ms-input-placeholder,
#contact #sec01 .sec01__form select:-ms-input-placeholder,
#contact #sec01 .sec01__form textarea:-ms-input-placeholder {
    color: #9fa0a0;
    font-size: 16px
}

#contact #sec01 .sec01__form input::-ms-input-placeholder,
#contact #sec01 .sec01__form select::-ms-input-placeholder,
#contact #sec01 .sec01__form textarea::-ms-input-placeholder {
    color: #9fa0a0;
    font-size: 16px
}

#contact #sec01 .sec01__form input::placeholder,
#contact #sec01 .sec01__form select::placeholder,
#contact #sec01 .sec01__form textarea::placeholder {
    color: #9fa0a0;
    font-size: 16px
}

@media (max-width:834px) {

    #contact #sec01 .sec01__form input::-webkit-input-placeholder,
    #contact #sec01 .sec01__form select::-webkit-input-placeholder,
    #contact #sec01 .sec01__form textarea::-webkit-input-placeholder {
        font-size: 14px
    }

    #contact #sec01 .sec01__form input:-ms-input-placeholder,
    #contact #sec01 .sec01__form select:-ms-input-placeholder,
    #contact #sec01 .sec01__form textarea:-ms-input-placeholder {
        font-size: 14px
    }

    #contact #sec01 .sec01__form input::-ms-input-placeholder,
    #contact #sec01 .sec01__form select::-ms-input-placeholder,
    #contact #sec01 .sec01__form textarea::-ms-input-placeholder {
        font-size: 14px
    }

    #contact #sec01 .sec01__form input::placeholder,
    #contact #sec01 .sec01__form select::placeholder,
    #contact #sec01 .sec01__form textarea::placeholder {
        font-size: 14px
    }

    #contact #sec01 .sec01__form input,
    #contact #sec01 .sec01__form select,
    #contact #sec01 .sec01__form textarea {
        font-size: 12px;
        padding: 18px 20px
    }
}

#contact #sec01 .sec01__form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    padding: 25px 35px 25px 20px;
    background-image: url(../cmn_img/arrow01_b.svg);
    background-repeat: no-repeat;
    background-size: 14px auto;
    background-position: right 12px center
}

#contact #sec01 .sec01__form textarea {
    height: 200px
}

#contact #sec01 .sec01__form-title {
    font-size: 16px;
    font-weight: 500
}

#contact #sec01 .sec01__form-text {
    text-align: center;
    line-height: 1.8;
    margin-bottom: 50px
}

@media (max-width:834px) {
    #contact #sec01 .sec01__form select {
        padding: 18px 35px 18px 20px
    }

    #contact #sec01 .sec01__form textarea {
        height: 140px
    }

    #contact #sec01 .sec01__form-text {
        font-size: 13px;
        margin-bottom: 30px
    }
}

#contact #sec01 .sec01__form-th {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 10px
}

#contact #sec01 .sec01__form-td {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#contact #sec01 .sec01__form-td p {
    width: 100%
}

#contact #sec01 .sec01__agreebox {
    margin-bottom: 80px;
    font-size: 16px
}

@media (max-width:834px) {
    #contact #sec01 .sec01__agreebox {
        margin-bottom: 60px;
        font-size: 13px
    }
}

#contact #sec01 .sec01__agreebox a {
    border-bottom: 2px solid #000
}

#contact #sec01 .sec01__agreebox-btn input {
    position: relative;
    width: 16px;
    height: 16px;
    border: 1px solid #000;
    vertical-align: -3px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin-right: 10px
}

#contact #sec01 .sec01__agreebox-btn input:checked:before {
    content: "";
    position: absolute;
    top: 1px;
    left: 4px;
    -webkit-transform: rotate(50deg);
    transform: rotate(50deg);
    width: 4px;
    height: 8px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000
}

#contact #sec01 .sec01__btnbox-submit {
    margin: 0 auto;
    position: relative;
    width: 330px;
    max-width: 100%
}

#contact #sec01 .sec01__btnbox-submit.disabled {
    pointer-events: none;
    opacity: .8
}

@media (min-width:767px) {
    #contact #sec01 .sec01__btnbox-submit:hover {
        background-color: #fff;
        color: #fff;
        letter-spacing: 3px
    }

    #contact #sec01 .sec01__btnbox-submit:hover .sec01__btnbox-arrow {
        border-radius: 25px;
        width: 30px;
        height: 5px;
        background-color: #fff
    }

    #contact #sec01 .sec01__btnbox-submit:hover .sec01__btnbox-arrow-inr::after,
    #contact #sec01 .sec01__btnbox-submit:hover .sec01__btnbox-arrow-inr::before {
        width: 16px
    }
}

#contact #sec01 .sec01__btnbox-submit input {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-image: none;
    font-family: inherit;
    font-size: 18px;
    position: relative;
    width: 100%;
    display: block;
    padding: 40px 40px 40px 30px;
    border-radius: 10px;
    text-align: left;
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#thanks #sec01 .sec01__currentbox-en,
#thanks #sec01 .sec01__title,
#top #mv .mv__maintext {
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:1024px) {
    #contact #sec01 .sec01__btnbox-submit input {
        max-width: 330px;
        width: 100%;
        padding: 30px 40px 30px 20px
    }
}

@media (max-width:834px) {
    #contact #sec01 .sec01__btnbox-submit input {
        font-size: 14px;
        max-width: 330px;
        width: 100%;
        display: block;
        padding: 30px 40px 30px 20px
    }
}

#contact #sec01 .sec01__btnbox-arrow {
    position: absolute;
    top: 50%;
    right: 30px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #fff;
    z-index: 1;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#contact #sec01 .sec01__btnbox-arrow-inr {
    position: relative;
    display: block;
    height: 100%
}

#contact #sec01 .sec01__btnbox-arrow-inr::after,
#contact #sec01 .sec01__btnbox-arrow-inr::before {
    content: "";
    position: absolute;
    right: 0;
    height: 5px;
    border-radius: 25px;
    width: 0;
    background-color: #fff;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#contact #sec01 .sec01__btnbox-arrow-inr::before {
    top: 0;
    -webkit-transform: translate(0, 100%) rotate(-45deg);
    transform: translate(0, 100%) rotate(-45deg)
}

#contact #sec01 .sec01__btnbox-arrow-inr::after {
    bottom: -5px;
    -webkit-transform: translate(0, -100%) rotate(45deg);
    transform: translate(0, -100%) rotate(45deg)
}

#thanks #sec01 {
    padding: 250px 0 190px
}

@media (max-width:834px) {
    #thanks #sec01 {
        padding: 180px 0 120px
    }
}

#thanks #sec01 .sec01__inr {
    max-width: 640px;
    margin: 0 auto;
    width: 90%
}

#thanks #sec01 .sec01__currentbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative
}

#thanks #sec01 .sec01__currentbox::before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 5px;
    left: 0;
    display: block;
    background-color: #efefef;
    z-index: -1
}

#thanks #sec01 .sec01__currentbox-ja {
    font-size: 16px;
    color: #efefef
}

@media (max-width:834px) {
    #thanks #sec01 .sec01__currentbox-ja {
        font-size: 15px
    }
}

#thanks #sec01 .sec01__currentbox-en {
    font-size: 13px;
    color: #dcdddd;
    margin-bottom: 16px
}

@media (max-width:834px) {
    #thanks #sec01 .sec01__currentbox-en {
        margin-bottom: 6px
    }
}

#thanks #sec01 .sec01__currentbox-circle {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #efefef;
    display: block;
    margin: 0 auto
}

#thanks #sec01 .sec01__currentbox li.current .sec01__currentbox-circle,
#top #mv .mv__bkg {
    background-color: #000
}

#thanks #sec01 .sec01__currentbox li {
    width: 50%;
    text-align: center
}

#thanks #sec01 .sec01__currentbox li.current .sec01__currentbox-ja {
    color: #231815
}

#thanks #sec01 .sec01__json {
    margin-bottom: -50px
}

@media (max-width:834px) {
    #thanks #sec01 .sec01__json {
        max-width: 80%;
        margin: 0 auto -30px
    }
}

#thanks #sec01 .sec01__textbox {
    text-align: center
}

#thanks #sec01 .sec01__title {
    font-size: 40px;
    margin-bottom: 20px
}

@media (max-width:834px) {
    #thanks #sec01 .sec01__title {
        font-size: 24px;
        margin-bottom: 10px
    }
}

#thanks #sec01 .sec01__subtitle {
    font-size: 20px;
    margin-bottom: 40px
}

@media (max-width:834px) {
    #thanks #sec01 .sec01__subtitle {
        font-size: 16px;
        margin-bottom: 30px
    }
}

#thanks #sec01 .sec01__text {
    font-size: 14px;
    line-height: 2.2;
    margin-bottom: 60px
}

@media (max-width:834px) {
    #thanks #sec01 .sec01__text {
        font-size: 13px;
        line-height: 1.8;
        margin-bottom: 40px
    }
}

#thanks #sec01 .bscBtn01__link {
    margin: 0 auto;
    text-align: left
}

#top #mv .mv__inr {
    max-width: 100%;
    width: 100%;
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

#top #mv .mv__bkg {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 1
}

#top #mv .mv__video {
    width: 100%;
    height: 100vh;
    background: url(../cmn_img/top/mv_img.png) center/cover no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: -1
}

#top #mv .mv__video::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #fff;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0
}

#top #mv .mv__video video {
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%)
}

#top #mv .mv__maintext {
    position: absolute;
    bottom: 70px;
    left: 80px;
    font-size: 4vw;
    line-height: 1.2;
    color: #fff;
    white-space: nowrap;
    mix-blend-mode: exclusion
}

#top #mv .mv__maintext-ja {
    font-family: "Noto Sans JP", sans-serif;
    margin-left: 20px
}

#top #mv .mv__scrolldown-text,
#top #sec01 .sec01__maintext,
#top #sec02 .sec02__textbox-title span {
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:834px) {
    #top #mv .mv__video video {
        height: 100%
    }

    #top #mv .mv__maintext-ja {
        display: block;
        margin-left: 0;
        margin-top: 10px;
        font-size: 24px
    }
}

@media (max-width:520px) {
    #thanks #sec01 {
        padding: 120px 0
    }

    #top #mv .mv__maintext-ja {
        font-size: 20px
    }
}

@media (max-width:1024px) {
    #top #mv .mv__maintext {
        left: 40px;
        bottom: 40px
    }
}

@media (max-width:834px) {
    #top #mv .mv__maintext {
        font-size: 28px;
        left: 20px
    }

    #top #mv .mv__scrolldown {
        display: none
    }
}

@media (max-width:520px) {
    #top #mv .mv__maintext {
        font-size: 24px;
        bottom: 60px
    }
}

#top #mv .mv__scrolldown {
    position: absolute;
    bottom: 80px;
    right: 65px;
    mix-blend-mode: exclusion
}

#top #mv .mv__scrolldown-text {
    position: relative;
    padding-bottom: 80px;
    color: #fff;
    font-size: 13px
}

#top #mv .mv__scrolldown-text::after,
#top #mv .mv__scrolldown-text:before {
    position: absolute;
    bottom: 0;
    left: 50%;
    background: #fff;
    content: ""
}

#top #mv .mv__scrolldown-text:before {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    -webkit-animation: scroll01 1.6s ease-in-out infinite, scroll02 1.6s ease-out infinite;
    animation: scroll01 1.6s ease-in-out infinite, scroll02 1.6s ease-out infinite
}

#top #mv .mv__scrolldown-text::after {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 2px;
    height: 65px
}

@-webkit-keyframes scroll01 {
    0% {
        bottom: 65px
    }

    100% {
        bottom: 0
    }
}

@keyframes scroll01 {
    0% {
        bottom: 65px
    }

    100% {
        bottom: 0
    }
}

@-webkit-keyframes scroll02 {

    0%,
    100% {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    80% {
        opacity: .9
    }
}

@keyframes scroll02 {

    0%,
    100% {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    80% {
        opacity: .9
    }
}

#top #sec01 {
    background-color: #000;
    position: relative
}

#top #sec01 .sec01__triggerarea {
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#top #sec01 .sec01__inr {
    position: relative;
    padding: 0 80px;
    width: 100%;
    display: block
}

@media (max-width:1024px) {
    #top #mv .mv__scrolldown {
        right: 25px
    }

    #top #sec01 .sec01__inr {
        padding: 0 40px
    }
}

#top #sec01 .sec01__maintext {
    font-size: 190px;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 30px;
    white-space: nowrap;
    opacity: 0
}

@media (max-width:834px) {
    #top #sec01 .sec01__inr {
        padding: 0 20px
    }

    #top #sec01 .sec01__maintext {
        margin-bottom: 40px
    }
}

@media (max-width:520px) {
    #top #sec01 .sec01__maintext {
        margin-bottom: 20px
    }
}

#top #sec01 .sec01__maintext-ja {
    font-family: "Noto Sans JP", sans-serif;
    margin-left: 20px
}

@media (max-width:1024px) {
    #top #sec01 .sec01__maintext-ja {
        display: block;
        margin-left: 0;
        margin-top: 10px
    }
}

#top #sec01 .sec01__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media (max-width:834px) {
    #top #sec01 .sec01__flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: relative
    }
}

#top #sec01 .sec01__imgbox {
    position: relative;
    z-index: 0;
    width: calc(100% - 600px)
}

@media (max-width:1024px) {
    #top #sec01 .sec01__imgbox {
        position: absolute;
        bottom: 80px;
        left: 0
    }

    #top #sec01 .sec01__imgbox-inr {
        position: relative
    }
}

#top #sec01 .sec01__imgbox-img {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    -webkit-animation: horizontal 2s ease-in-out infinite alternate;
    animation: horizontal 2s ease-in-out infinite alternate
}

@-webkit-keyframes horizontal {
    0% {
        -webkit-transform: translate3d(0, 20%, 0);
        transform: translate3d(0, 20%, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 30%, 0);
        transform: translate3d(0, 30%, 0)
    }
}

#top #sec01 .sec01__imgbox-img img {
    -webkit-animation: vertical 6s ease-in-out infinite alternate;
    animation: vertical 6s ease-in-out infinite alternate
}

@media (max-width:834px) {
    #top #sec01 .sec01__imgbox-img img {
        width: 380px;
        height: auto
    }
}

@-webkit-keyframes vertical {
    0% {
        -webkit-transform: translate3d(-80%, 0, 0);
        transform: translate3d(-80%, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(10%, 0, 0);
        transform: translate3d(10%, 0, 0)
    }
}

#top #sec01 .sec01__textbox {
    width: 580px;
    position: relative;
    z-index: 1
}

#top #sec01 .sec01__textbox-text {
    margin-bottom: 40px;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 3px;
    color: #595757
}

@media (max-width:834px) {
    #top #sec01 .sec01__textbox-text {
        margin-bottom: 40px;
        font-size: 13px;
        line-height: 2;
        letter-spacing: 2px
    }
}

@media (max-width:520px) {
    #top #sec01 .sec01__textbox-text {
        line-height: 1.8
    }
}

#top #sec02 {
    padding: 160px 0 120px;
    background-color: #f7f8f8
}

@media (max-width:1024px) {
    #top #sec01 .sec01__textbox {
        width: 100%
    }

    #top #sec02 {
        padding: 100px 0
    }
}

#top #sec02 .sec02__inr {
    height: 100vh;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

#top #sec02 .sec02__spbtn {
    display: none
}

@media (max-width:834px) {
    #top #sec02 {
        padding: 80px 0
    }

    #top #sec02 .sec02__inr {
        height: auto
    }

    #top #sec02 .sec02__pcbtn {
        display: none
    }

    #top #sec02 .sec02__spbtn {
        display: block;
        margin-bottom: 60px
    }

    #top #sec02 .sec02__spbtn a {
        margin: 0 auto
    }
}

#top #sec02 .sec02__maintitle {
    margin-bottom: 60px
}

@media (max-width:834px) {
    #top #sec02 .sec02__maintitle {
        margin-bottom: 30px
    }
}

#top #sec02 .sec02__flex01,
#top #sec02 .sec02__flex02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

#top #sec02 .sec02__flex01 {
    margin-bottom: 80px
}

#top #sec02 .sec02__flex01-l {
    width: calc(100% - 600px)
}

@media (max-width:1200px) {
    #top #sec02 .sec02__flex01-l {
        width: calc(100% - 480px)
    }
}

@media (max-width:834px) {
    #top #sec02 .sec02__flex01 {
        margin-bottom: 120px
    }

    #top #sec02 .sec02__flex01-l {
        width: 100%
    }
}

#top #sec02 .sec02__flex01-r {
    width: 580px
}

@media (max-width:1200px) {
    #top #sec02 .sec02__flex01-r {
        width: 440px
    }
}

@media (max-width:834px) {
    #top #sec02 .sec02__flex01-r {
        width: 100%
    }

    #top #sec02 .sec02__flex02 {
        margin-bottom: 120px
    }

    #top #sec02 .sec02__flex02-l {
        display: none
    }
}

#top #sec02 .sec02__flex02-l {
    width: 360px;
    padding-top: 30px
}

@media (max-width:1200px) {
    #top #sec02 .sec02__flex02-l {
        width: 280px
    }
}

@media (max-width:1024px) {
    #top #sec02 .sec02__flex02-l {
        width: 210px
    }
}

#top #sec02 .sec02__flex02-r {
    width: calc(100% - 360px)
}

#top #sec02 .sec02__textbox-title {
    font-size: 30px;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 50px
}

#top #sec02 .sec02__textbox-title span {
    font-weight: 400
}

#notfound #sec01 .sec01__mainbox-en,
#top #sec02 .sec02__pbox-text,
#top #sec02 .sec02__servicebox-title li,
#top #sec02 .sec02__servicebox-titlebox_titleen,
#top #sec02 .sec02__servicebox-titlebox_titleja span,
#top #sec03 .sec03__tabbox-title>li,
#top #sec04 .sec04__textbox-title {
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:1200px) {
    #top #sec02 .sec02__flex02-r {
        width: calc(100% - 280px)
    }

    #top #sec02 .sec02__textbox-title {
        font-size: 24px
    }
}

@media (max-width:1024px) {
    #top #sec02 .sec02__flex02-r {
        width: calc(100% - 210px)
    }

    #top #sec02 .sec02__textbox-title {
        font-size: 20px
    }
}

@media (max-width:834px) {
    #top #sec02 .sec02__flex02-r {
        width: 100%
    }

    #top #sec02 .sec02__textbox-title {
        margin-bottom: 30px
    }
}

#top #sec02 .sec02__textbox-text {
    font-size: 16px;
    line-height: 2.2;
    margin-bottom: 18px;
    color: #595757
}

#top #sec02 .sec02__servicebox-titlebox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 80px;
    border-bottom: 1px solid #efefef
}

#top #sec02 .sec02__servicebox-titlebox_inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: calc(100% - 140px)
}

@media (max-width:834px) {
    #top #sec02 .sec02__textbox-text {
        font-size: 13px;
        line-height: 2;
        letter-spacing: 1px
    }

    #top #sec02 .sec02__servicebox-titlebox {
        border-bottom: none;
        height: auto;
        margin-bottom: 30px
    }

    #top #sec02 .sec02__servicebox-titlebox_inr {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

#top #sec02 .sec02__servicebox-titlebox_titlenum {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    width: 140px
}

#top #sec02 .sec02__servicebox-titlebox_titlenum span {
    font-size: 11px
}

@media (max-width:834px) {
    #top #sec02 .sec02__servicebox-titlebox_titlenum {
        font-size: 14px
    }

    #top #sec02 .sec02__servicebox-titlebox_titleja {
        margin-bottom: 40px
    }
}

#top #sec02 .sec02__servicebox-titlebox_titleja {
    font-size: 22px
}

#top #sec02 .sec02__servicebox-titlebox_titleja span {
    font-size: 26px
}

@media (max-width:1024px) {
    #top #sec02 .sec02__servicebox-titlebox_titleja {
        font-size: 18px
    }

    #top #sec02 .sec02__servicebox-titlebox_titleja span {
        font-family: Jost, sans-serif;
        font-weight: 600 !important;
        font-size: 20px
    }
}

#top #sec02 .sec02__servicebox-titlebox_titleja-pc {
    display: block
}

#top #sec02 .sec02__servicebox-titlebox_titleja-sp {
    display: none
}

@media (max-width:834px) {
    #top #sec02 .sec02__servicebox-titlebox_titleja-pc {
        display: none
    }

    #top #sec02 .sec02__servicebox-titlebox_titleja-sp {
        display: block
    }
}

#top #sec02 .sec02__servicebox-titlebox_titleen {
    font-size: 14px
}

#top #sec02 .sec02__servicebox-titlebox_titleen-pimg {
    display: none
}

@media (max-width:834px) {
    #top #sec02 .sec02__servicebox-titlebox_titleen {
        position: relative
    }

    #top #sec02 .sec02__servicebox-titlebox_titleen-pimg {
        display: block;
        position: absolute;
        right: -26px;
        top: -16px;
        max-width: 80px
    }

    #top #sec02 .sec02__servicebox-titlebox_titleen-pimg img,
    #top #sec02 .sec02__servicebox-titlebox_titleen-pimg picture {
        max-width: 100%;
        height: auto
    }
}

#top #sec02 .sec02__servicebox-scrollbox {
    padding-left: 140px;
    padding-top: 20px;
    padding-bottom: 30px;
    position: relative
}

#top #sec02 .sec02__servicebox-scrollbox-inr {
    position: absolute;
    left: 0;
    top: 80px;
    width: 100%;
    background-color: #f7f8f8
}

@media (max-width:834px) {
    #top #sec02 .sec02__servicebox-scrollbox {
        padding-left: 0;
        padding-bottom: 0;
        padding-top: 0
    }

    #top #sec02 .sec02__servicebox-scrollbox .bscBtn01__link {
        margin: 0 auto
    }

    #top #sec02 .sec02__servicebox-scrollbox-inr {
        position: static
    }

    #top #sec02 .sec02__servicebox-scrollbox_flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 40px
    }
}

#top #sec02 .sec02__servicebox-scrollbox_img {
    position: absolute;
    bottom: 0;
    right: 0
}

#top #sec02 .sec02__servicebox-scrollbox_img lottie-player {
    max-width: 140px;
    width: 100%;
    height: auto
}

@media (max-width:834px) {
    #top #sec02 .sec02__servicebox-scrollbox_img {
        position: static;
        width: 140px
    }

    #top #sec02 .sec02__servicebox-scrollbox_img lottie-player {
        max-width: 100%;
        width: 100%;
        height: auto
    }
}

@media (max-width:520px) {
    #top #sec02 .sec02__servicebox-scrollbox_img {
        width: 80px
    }
}

#top #sec02 .sec02__servicebox-scrollbox_textbox {
    max-width: 330px;
    margin-bottom: 30px
}

@media (max-width:834px) {
    #top #sec02 .sec02__servicebox-scrollbox_textbox {
        max-width: 100%;
        width: calc(100% - 160px);
        margin-bottom: 0
    }
}

@media (max-width:520px) {
    #top #sec02 .sec02__servicebox-scrollbox_textbox {
        width: calc(100% - 100px)
    }
}

#top #sec02 .sec02__servicebox-scrollbox_textbox p {
    font-size: 15px;
    line-height: 1.8;
    color: #595757
}

@media (max-width:834px) {
    #top #sec02 .sec02__servicebox-scrollbox_textbox p {
        font-size: 13px;
        line-height: 2;
        letter-spacing: 1px
    }
}

#top #sec02 .sec02__servicebox-title {
    padding-left: 20px;
    border-left: 1px solid #000;
    position: relative
}

#top #sec02 .sec02__servicebox-title::after,
#top #sec02 .sec02__servicebox-title::before {
    content: "";
    background-color: #f7f8f8;
    left: -1px;
    width: 10px;
    height: 11px;
    position: absolute
}

#top #sec02 .sec02__servicebox-title::after {
    bottom: 0
}

#top #sec02 .sec02__servicebox-title::before {
    top: 0
}

#top #sec02 .sec02__servicebox-title li {
    font-size: 16px;
    margin-bottom: 50px;
    position: relative;
    color: #c9caca
}

#top #sec02 .sec02__servicebox-title li::before {
    content: "";
    position: absolute;
    left: -20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-color: #000;
    width: 10px;
    height: 1px
}

#top #sec02 .sec02__servicebox-title li:last-child {
    margin-bottom: 0
}

@media (max-width:1024px) {
    #top #sec02 .sec02__servicebox-title li {
        font-size: 14px
    }
}

#top #sec02 .sec02__servicebox-title_pinr {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

#top #sec02 .sec02__servicebox-title_pimg {
    position: absolute;
    right: -30px;
    top: -12px;
    max-width: 60px;
    opacity: 0
}

#top #sec02 .sec02__servicebox-title_pimg img {
    max-width: 100%;
    height: auto
}

#top #sec02 .sec02__servicebox-list li {
    background-color: #f7f8f8;
    position: relative
}

#top #sec02 .sec02__servicebox-list li.li05 {
    background-color: #f7f8f8;
    height: 250px;
    width: 100%
}

@media (max-width:834px) {
    #top #sec02 .sec02__servicebox-list li {
        padding-bottom: 80px;
        margin-bottom: 80px;
        border-bottom: 1px solid #efefef
    }

    #top #sec02 .sec02__servicebox-list li:nth-child(4) {
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: none
    }

    #top #sec02 .sec02__servicebox-list li.li05 {
        display: none
    }

    #top #sec02 .sec02__pbox-textbox01 {
        margin-bottom: 10px
    }
}

#top #sec02 .sec02__pbox-textbox01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#top #sec02 .sec02__pbox-textbox02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

#top #sec02 .sec02__pbox-text {
    font-size: 105px;
    line-height: 1;
    white-space: nowrap
}

#top #sec02 .sec02__pbox-movie {
    margin: 0 20px;
    overflow: hidden;
    border-radius: 50px;
    line-height: 0;
    min-width: 160px;
    width: 160px
}

@media (max-width:1024px) {
    #top #sec02 .sec02__pbox-text {
        font-size: 42px
    }

    #top #sec02 .sec02__pbox-movie {
        min-width: 120px;
        width: 120px;
        height: auto
    }
}

@media (max-width:834px) {
    #top #sec02 .sec02__pbox-text {
        font-size: 56px
    }

    #top #sec02 .sec02__pbox-movie {
        min-width: 80px;
        width: 80px;
        height: auto
    }
}

#top #sec02 .sec02__pbox-movie video {
    width: 100%
}

#top #sec03 {
    padding: 120px 0 160px;
    background-color: #fff
}

@media (max-width:1024px) {
    #top #sec03 {
        padding: 100px 0
    }
}

#top #sec03 .sec03__spbtn {
    display: none
}

@media (max-width:834px) {
    #top #sec03 {
        padding: 80px 0
    }

    #top #sec03 .sec03__pcbtn {
        display: none
    }

    #top #sec03 .sec03__spbtn {
        display: block
    }

    #top #sec03 .sec03__spbtn a {
        margin: 0 auto
    }
}

#top #sec03 .sec03__maintitle {
    margin-left: auto;
    text-align: right;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin-bottom: 80px
}

#top #sec03 .sec03__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media (max-width:834px) {
    #top #sec03 .sec03__maintitle {
        text-align: left;
        margin-left: 0;
        margin-bottom: 40px
    }

    #top #sec03 .sec03__flex {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 60px
    }
}

#top #sec03 .sec03__flex-l {
    width: 360px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media (max-width:834px) {
    #top #sec03 .sec03__flex-l {
        width: 100%;
        margin-bottom: 30px
    }
}

#top #sec03 .sec03__flex-r {
    width: calc(100% - 360px)
}

#top #sec03 .sec03__tabbox-title {
    margin-bottom: 60px
}

@media (max-width:834px) {
    #top #sec03 .sec03__flex-r {
        width: 100%
    }

    #top #sec03 .sec03__tabbox-title {
        margin-bottom: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

#top #sec03 .sec03__tabbox-title>li {
    font-size: 16px;
    margin-bottom: 30px;
    position: relative;
    padding-left: 18px;
    line-height: 1.4;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    color: #efefef;
    cursor: pointer
}

#top #sec03 .sec03__tabbox-title>li>a {
    pointer-events: none
}

@media (min-width:767px) {
    #top #sec03 .sec03__tabbox-title>li:hover {
        letter-spacing: 3px;
        color: #000
    }

    #top #sec03 .sec03__tabbox-title>li:hover::before {
        background-color: #000
    }
}

#top #sec03 .sec03__tabbox-title>li.current-cat {
    color: #000;
    pointer-events: none
}

#top #sec03 .sec03__tabbox-title>li.current-cat::before {
    background-color: #000
}

#top #sec03 .sec03__tabbox-title>li::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: #efefef;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#top #sec03 .sec03__tabbox-title>li:last-child {
    margin-bottom: 0
}

@media (max-width:834px) {
    #top #sec03 .sec03__tabbox-title>li {
        font-size: 16px;
        padding-left: 10px;
        letter-spacing: 1px;
        width: 50%;
        margin-bottom: 20px
    }

    #top #sec03 .sec03__tabbox-title>li:nth-child(even) {
        width: 60%
    }

    #top #sec03 .sec03__tabbox-title>li:nth-child(odd) {
        width: 38%
    }

    #top #sec03 .sec03__tabbox-title>li:first-child {
        width: 100%
    }

    #top #sec03 .sec03__tabbox-title>li:last-child {
        margin-bottom: 20px
    }

    #top #sec03 .sec03__tabbox-title>li::before {
        width: 5px;
        height: 5px
    }
}

#top #sec03 .sec03__tabbox-list>li {
    display: none
}

#top #sec04 .sec04__inr {
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative
}

#top #sec04 .sec04__bkg01,
#top #sec04 .sec04__bkg02 {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 50%;
    height: 100vh;
    background-position: center;
    background-size: cover;
    z-index: 1
}

#top #sec04 .sec04__bkg01 {
    left: 0;
    background-image: url(../cmn_img/top/sec04_img01.png)
}

#top #sec04 .sec04__bkg02 {
    right: 0;
    background-image: url(../cmn_img/top/sec04_img02.png)
}

@media (max-width:834px) {

    #top #sec04 .sec04__bkg01,
    #top #sec04 .sec04__bkg02 {
        width: 100vw;
        height: 50vh
    }

    #top #sec04 .sec04__bkg01 {
        left: 50%;
        top: 0;
        -webkit-transform: translatex(-50%);
        transform: translatex(-50%)
    }

    #top #sec04 .sec04__bkg02 {
        right: 50%;
        top: auto;
        bottom: 0;
        -webkit-transform: translatex(50%);
        transform: translatex(50%)
    }
}

#top #sec04 .sec04__img01,
#top #sec04 .sec04__img02,
#top #sec04 .sec04__img03,
#top #sec04 .sec04__img04 {
    position: absolute;
    opacity: 0
}

#top #sec04 .sec04__img01 img,
#top #sec04 .sec04__img01 picture,
#top #sec04 .sec04__img02 img,
#top #sec04 .sec04__img02 picture,
#top #sec04 .sec04__img03 img,
#top #sec04 .sec04__img03 picture,
#top #sec04 .sec04__img04 img,
#top #sec04 .sec04__img04 picture {
    max-width: 100%;
    height: auto
}

#top #sec04 .sec04__img01 {
    top: 20px;
    left: 10%;
    max-width: 440px
}

@media (max-width:1024px) {
    #top #sec04 .sec04__img01 {
        max-width: 280px
    }
}

@media (max-width:520px) {
    #top #sec03 .sec03__tabbox-title>li {
        font-size: 14px
    }

    #top #sec04 .sec04__img01 {
        max-width: 200px
    }
}

#top #sec04 .sec04__img02 {
    right: 0;
    top: 20px;
    max-width: 380px
}

@media (max-width:1600px) {
    #top #sec04 .sec04__img02 {
        max-width: 320px
    }
}

@media (max-width:1024px) {
    #top #sec04 .sec04__img02 {
        max-width: 240px
    }
}

@media (max-width:834px) {
    #top #sec04 .sec04__img02 {
        max-width: 140px
    }
}

@media (max-width:520px) {
    #top #sec04 .sec04__img02 {
        max-width: 100px;
        top: 40px
    }
}

#top #sec04 .sec04__img03 {
    left: 0;
    bottom: 0;
    max-width: 220px
}

@media (max-width:1024px) {
    #top #sec04 .sec04__img03 {
        max-width: 180px
    }
}

@media (max-width:834px) {
    #top #sec04 .sec04__img03 {
        max-width: 120px
    }
}

@media (max-width:520px) {
    #top #sec04 .sec04__img03 {
        max-width: 100px;
        left: 0
    }
}

#top #sec04 .sec04__img04 {
    right: 10%;
    bottom: -20px;
    max-width: 380px
}

@media (max-width:1024px) {
    #top #sec04 .sec04__img04 {
        max-width: 240px
    }
}

@media (max-width:520px) {
    #top #sec04 .sec04__img04 {
        max-width: 180px;
        right: 3%
    }
}

#top #sec04 .sec04__textbox {
    max-width: 480px;
    margin: 0 auto;
    text-align: center;
    opacity: 0
}

#top #sec04 .sec04__textbox-title {
    font-size: 40px;
    line-height: 1;
    margin-bottom: 20px
}

@media (max-width:834px) {
    #top #sec04 .sec04__img04 {
        bottom: 20px
    }

    #top #sec04 .sec04__textbox-title {
        font-size: 32px
    }
}

#top #sec04 .sec04__textbox-text {
    font-size: 16px;
    line-height: 2.4;
    margin-bottom: 50px
}

#top #sec04 .sec04__textbox .bscBtn01 {
    text-align: left
}

#top #sec04 .sec04__textbox .bscBtn01 a {
    margin: 0 auto
}

#notfound {
    overflow: clip
}

#notfound #header {
    position: absolute
}

#notfound #sec01 {
    margin-top: 220px;
    background-color: #000;
    padding: 280px 0 160px
}

@media (max-width:1024px) {
    #top #sec04 .sec04__textbox-text {
        font-size: 14px
    }

    #notfound #sec01 {
        margin-top: 160px;
        padding: 140px 0 120px
    }
}

@media (max-width:834px) {
    #top #sec04 .sec04__textbox-text {
        font-size: 13px;
        letter-spacing: 0
    }

    #notfound #sec01 {
        margin-top: 100px
    }
}

@media (max-width:520px) {
    #notfound #sec01 {
        padding: 80px 0 60px
    }
}

#notfound #sec01 .sec01__box {
    width: 100%;
    position: relative;
    z-index: 1;
    text-align: center;
    color: #fff;
    padding: 120px 30px
}

#notfound #sec01 .sec01__box::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #fff;
    background: rgba(255, 255, 255, .25);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    border-radius: 10px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1
}

#notfound #sec01 .sec01__box .bscBtn01 {
    text-align: left
}

#notfound #sec01 .sec01__box .bscBtn01__link {
    margin: 0 auto
}

#notfound #sec01 .sec01__mainbox-en {
    font-size: 120px;
    position: relative;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -58%);
    transform: translate(-50%, -58%);
    width: 100%;
    white-space: nowrap;
    color: #fff;
    z-index: 0;
    line-height: 1
}

@media (max-width:1200px) {
    #notfound #sec01 .sec01__mainbox-en {
        font-size: 8vw
    }
}

#notfound #sec01 .sec01__mainbox-ja {
    font-size: 32px;
    margin-bottom: 60px
}

@media (max-width:1024px) {
    #notfound #sec01 .sec01__mainbox-ja {
        font-size: 26px;
        margin-bottom: 30px
    }
}

@media (max-width:834px) {
    #notfound #sec01 .sec01__box {
        padding: 60px 30px 40px
    }

    #notfound #sec01 .sec01__mainbox-ja {
        font-size: 18px;
        margin-bottom: 20px
    }
}

#notfound #sec01 .sec01__mainbox-text {
    font-size: 20px;
    margin-bottom: 40px;
    line-height: 2
}

#notfound #sec01 .sec01__mainbox-inr {
    position: relative;
    z-index: 1
}

#notfound #sec01 .sec01__imgbox {
    position: relative;
    z-index: 0;
    width: calc(100% - 600px)
}

@media (max-width:1024px) {
    #notfound #sec01 .sec01__mainbox-text {
        font-size: 18px;
        margin-bottom: 30px
    }

    #notfound #sec01 .sec01__imgbox {
        position: absolute;
        bottom: 80px;
        left: 0
    }

    #notfound #sec01 .sec01__imgbox-inr {
        position: relative
    }
}

#notfound #sec01 .sec01__imgbox-img {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    -webkit-animation: horizontal 2s ease-in-out infinite alternate;
    animation: horizontal 2s ease-in-out infinite alternate
}

@keyframes horizontal {
    0% {
        -webkit-transform: translate3d(0, 20%, 0);
        transform: translate3d(0, 20%, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 30%, 0);
        transform: translate3d(0, 30%, 0)
    }
}

#notfound #sec01 .sec01__imgbox-img img {
    -webkit-animation: vertical 6s ease-in-out infinite alternate;
    animation: vertical 6s ease-in-out infinite alternate
}

@media (max-width:834px) {
    #notfound #sec01 .sec01__mainbox-text {
        font-size: 14px
    }

    #notfound #sec01 .sec01__imgbox-img img {
        width: 380px;
        height: auto
    }
}

@keyframes vertical {
    0% {
        -webkit-transform: translate3d(-80%, 0, 0);
        transform: translate3d(-80%, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(10%, 0, 0);
        transform: translate3d(10%, 0, 0)
    }
}

#sitemap .sitemap-title {
    text-align: center;
    font-size: 2.3em;
    color: #45b69a;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    line-height: 1.4;
    letter-spacing: .1em;
    position: relative;
    margin-bottom: 1.6em
}

#sitemap .sitemap-title::after {
    content: attr(data-text);
    display: block;
    font-size: .45em;
    font-weight: 400;
    letter-spacing: .15em;
    margin-top: .25em
}

#sitemap .sitemap__list h2 a,
#sitemap .sitemap__list h2.linkNone {
    color: #fff;
    padding: 1.2em 1em;
    background-color: #45b69a;
    margin-top: 2em;
    text-decoration: none
}

#sitemap .sitemap__list h2 a {
    display: block;
    font-size: 16px
}

#sitemap .sitemap__list h2 a:hover {
    opacity: .8
}

#sitemap .sitemap__list h2 a i {
    font-size: .8em;
    display: inline-block;
    vertical-align: middle;
    margin-right: .5em
}

#sitemap .sitemap__list h2.linkNone {
    display: block
}

#sitemap .sitemap__list ul {
    overflow: hidden;
    margin-top: 1em;
    margin-bottom: 0
}

#addvalue,
#development,
#service,
#solution {
    overflow: clip
}

#sitemap .sitemap__list ul+h3 {
    margin-top: 2em
}

#sitemap .sitemap__list ul li {
    float: left;
    width: 48%;
    border-bottom: 1px solid #ccc
}

#sitemap .sitemap__list ul li:nth-child(2n) {
    float: right
}

#sitemap .sitemap__list ul li+li+li {
    margin-top: 1.5em
}

#sitemap .sitemap__list ul li a {
    display: block;
    padding: .7em 0 .7em 1em;
    text-decoration: none;
    position: relative;
    line-height: 1.3;
    font-size: 16px;
    font-family: YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, verdana, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

#sitemap .sitemap__list ul li a::before {
    content: "-";
    display: inline-block;
    margin-right: .5em;
    font-weight: 600;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0
}

#sitemap .sitemap__list ul li a:hover {
    -webkit-transform: translateX(.5em);
    transform: translateX(.5em);
    color: #45b69a
}

#service .js-scroll-overlap:not(.is-disabled) {
    --sticky-offset: -1px;
    top: var(--sticky-offset)
}

@media (max-width:834px) {
    #sitemap .sitemap__list ul li {
        float: none;
        width: 100%
    }

    #sitemap .sitemap__list ul li:nth-child(2n) {
        float: none
    }

    #sitemap .sitemap__list ul li+li {
        margin-top: 1em
    }

    #service .js-scroll-overlap:not(.is-disabled) {
        position: static
    }
}

#service #sec01 .sec__inr {
    padding: 160px 0;
    background-color: #000;
    position: relative
}

#service #sec01 .sec01__img01 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0;
    -webkit-animation: horizontal01 2s ease-in-out infinite alternate;
    animation: horizontal01 2s ease-in-out infinite alternate
}

@-webkit-keyframes horizontal01 {
    0% {
        -webkit-transform: translate3d(0, 20%, 0);
        transform: translate3d(0, 20%, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 30%, 0);
        transform: translate3d(0, 30%, 0)
    }
}

@keyframes horizontal01 {
    0% {
        -webkit-transform: translate3d(0, 20%, 0);
        transform: translate3d(0, 20%, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 30%, 0);
        transform: translate3d(0, 30%, 0)
    }
}

#service #sec01 .sec01__img01 img {
    -webkit-animation: vertical01 6s ease-in-out infinite alternate;
    animation: vertical01 6s ease-in-out infinite alternate
}

@-webkit-keyframes vertical01 {
    0% {
        -webkit-transform: translate3d(-10%, 0, 0);
        transform: translate3d(-10%, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(10%, 0, 0);
        transform: translate3d(10%, 0, 0)
    }
}

@keyframes vertical01 {
    0% {
        -webkit-transform: translate3d(-10%, 0, 0);
        transform: translate3d(-10%, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(10%, 0, 0);
        transform: translate3d(10%, 0, 0)
    }
}

#service #sec01 .sec01__img02 {
    position: absolute;
    bottom: 10%;
    left: 10%;
    z-index: 0;
    -webkit-animation: horizontal02 2s ease-in-out infinite alternate;
    animation: horizontal02 2s ease-in-out infinite alternate
}

@-webkit-keyframes horizontal02 {
    0% {
        -webkit-transform: translate3d(0, 20%, 0);
        transform: translate3d(0, 20%, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 30%, 0);
        transform: translate3d(0, 30%, 0)
    }
}

@keyframes horizontal02 {
    0% {
        -webkit-transform: translate3d(0, 20%, 0);
        transform: translate3d(0, 20%, 0)
    }

    100% {
        -webkit-transform: translate3d(0, 30%, 0);
        transform: translate3d(0, 30%, 0)
    }
}

#service #sec01 .sec01__img02 img {
    -webkit-animation: vertical02 6s ease-in-out infinite alternate;
    animation: vertical02 6s ease-in-out infinite alternate
}

@-webkit-keyframes vertical02 {
    0% {
        -webkit-transform: translate3d(-80%, 0, 0);
        transform: translate3d(-80%, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(10%, 0, 0);
        transform: translate3d(10%, 0, 0)
    }
}

@keyframes vertical02 {
    0% {
        -webkit-transform: translate3d(-80%, 0, 0);
        transform: translate3d(-80%, 0, 0)
    }

    100% {
        -webkit-transform: translate3d(10%, 0, 0);
        transform: translate3d(10%, 0, 0)
    }
}

#service #sec01 .sec01__mainbox {
    margin-bottom: 30px;
    color: #fff
}

#service #sec01 .sec01__mainbox-ja {
    font-size: 42px;
    line-height: 1.8;
    margin-bottom: 20px
}

@media (max-width:1024px) {
    #service #sec01 .sec__inr {
        padding: 100px 0
    }

    #service #sec01 .sec01__mainbox-ja {
        font-size: 28px
    }
}

@media (max-width:834px) {
    #service #sec01 .sec__inr {
        padding: 80px 0
    }

    #service #sec01 .sec01__mainbox-ja {
        font-size: 22px
    }
}

@media (max-width:520px) {
    #service #sec01 .sec01__mainbox-ja {
        font-size: 20px
    }
}

#service #sec01 .sec01__mainbox-en {
    font-size: 20px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:1024px) {
    #service #sec01 .sec01__mainbox-en {
        font-size: 16px
    }
}

@media (max-width:520px) {
    #service #sec01 .sec01__mainbox-en {
        font-size: 12px
    }
}

#service #sec01 .sec01__flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    z-index: 1;
    position: relative
}

#service #sec01 .sec01__textbox {
    width: 480px;
    color: #fff
}

@media (max-width:834px) {
    #service #sec01 .sec01__flexbox {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #service #sec01 .sec01__textbox {
        width: 100%;
        margin-bottom: 40px
    }
}

#service #sec01 .sec01__textbox-line {
    width: 1px;
    height: 180px;
    background-color: #fff;
    margin: 0 auto 80px
}

@media (max-width:1024px) {
    #service #sec01 .sec01__textbox-line {
        height: 120px;
        margin: 0 auto 60px
    }
}

@media (max-width:834px) {
    #service #sec01 .sec01__textbox-line {
        height: 80px;
        margin: 0 auto 40px
    }
}

#service #sec01 .sec01__textbox-title {
    font-size: 28px;
    margin-bottom: 20px
}

@media (max-width:1024px) {
    #service #sec01 .sec01__textbox-title {
        font-size: 20px
    }
}

@media (max-width:834px) {
    #service #sec01 .sec01__textbox-title {
        font-size: 18px;
        margin-bottom: 10px
    }
}

#service #sec01 .sec01__textbox-text {
    font-size: 16px;
    line-height: 2
}

#service #sec01 .sec01__imgbox {
    width: calc(100% - 480px);
    text-align: center
}

#service #sec01 .sec01__imgbox lottie-player {
    margin: 0 auto;
    text-align: center;
    max-width: 100%
}

#service #sec01 .sec__inr,
#service #sec02 .sec__inr,
#service #sec03 .sec__inr,
#service #sec04 .sec__inr,
#service #sec05 .sec__inr {
    position: relative
}

#service #sec02 .bscBtn01__link,
#service #sec03 .bscBtn01__link,
#service #sec04 .bscBtn01__link,
#service #sec05 .bscBtn01__link {
    margin-left: auto
}

#service #sec02 .sec__inr,
#service #sec03 .sec__inr,
#service #sec04 .sec__inr,
#service #sec05 .sec__inr {
    padding: 200px 0 120px;
    position: relative
}

@media (max-width:1024px) {
    #service #sec01 .sec01__textbox-text {
        font-size: 14px
    }

    #service #sec02 .sec__inr,
    #service #sec03 .sec__inr,
    #service #sec04 .sec__inr,
    #service #sec05 .sec__inr {
        padding: 120px 0 140px
    }
}

@media (max-width:834px) {
    #service #sec01 .sec01__textbox-text {
        font-size: 13px
    }

    #service #sec01 .sec01__imgbox {
        width: 100%
    }

    #service #sec02 .bscBtn01__link,
    #service #sec03 .bscBtn01__link,
    #service #sec04 .bscBtn01__link,
    #service #sec05 .bscBtn01__link {
        margin: 0 auto
    }

    #service #sec02 .sec__inr,
    #service #sec03 .sec__inr,
    #service #sec04 .sec__inr,
    #service #sec05 .sec__inr {
        padding: 80px 0 140px
    }
}

#service #sec02 .sec__pimg,
#service #sec03 .sec__pimg,
#service #sec04 .sec__pimg,
#service #sec05 .sec__pimg {
    position: absolute;
    bottom: 0;
    left: 0
}

@media (max-width:1400px) {

    #service #sec02 .sec__pimg,
    #service #sec03 .sec__pimg,
    #service #sec04 .sec__pimg,
    #service #sec05 .sec__pimg {
        max-width: 320px
    }

    #service #sec02 .sec__pimg img,
    #service #sec03 .sec__pimg img,
    #service #sec04 .sec__pimg img,
    #service #sec05 .sec__pimg img {
        max-width: 100%;
        height: auto
    }
}

@media (max-width:1024px) {

    #service #sec02 .sec__pimg,
    #service #sec03 .sec__pimg,
    #service #sec04 .sec__pimg,
    #service #sec05 .sec__pimg {
        max-width: 320px
    }
}

@media (max-width:834px) {

    #service #sec02 .sec__pimg,
    #service #sec03 .sec__pimg,
    #service #sec04 .sec__pimg,
    #service #sec05 .sec__pimg {
        max-width: 220px
    }

    #service #sec02 .sec__flexbox,
    #service #sec03 .sec__flexbox,
    #service #sec04 .sec__flexbox,
    #service #sec05 .sec__flexbox {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media (max-width:520px) {

    #service #sec02 .sec__inr,
    #service #sec03 .sec__inr,
    #service #sec04 .sec__inr,
    #service #sec05 .sec__inr {
        padding: 80px 0
    }

    #service #sec02 .sec__pimg,
    #service #sec03 .sec__pimg,
    #service #sec04 .sec__pimg,
    #service #sec05 .sec__pimg {
        max-width: 140px;
        display: none
    }
}

#service #sec02 .sec__flexbox,
#service #sec03 .sec__flexbox,
#service #sec04 .sec__flexbox,
#service #sec05 .sec__flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#service #sec02 .sec__flexbox-l,
#service #sec03 .sec__flexbox-l,
#service #sec04 .sec__flexbox-l,
#service #sec05 .sec__flexbox-l {
    width: 350px
}

@media (max-width:1200px) {

    #service #sec02 .sec__flexbox-l,
    #service #sec03 .sec__flexbox-l,
    #service #sec04 .sec__flexbox-l,
    #service #sec05 .sec__flexbox-l {
        width: 240px
    }
}

@media (max-width:1024px) {

    #service #sec02 .sec__flexbox-l,
    #service #sec03 .sec__flexbox-l,
    #service #sec04 .sec__flexbox-l,
    #service #sec05 .sec__flexbox-l {
        width: 200px
    }
}

@media (max-width:834px) {

    #service #sec02 .sec__flexbox-l,
    #service #sec03 .sec__flexbox-l,
    #service #sec04 .sec__flexbox-l,
    #service #sec05 .sec__flexbox-l {
        width: 100%
    }
}

#service #sec02 .sec__flexbox-r,
#service #sec03 .sec__flexbox-r,
#service #sec04 .sec__flexbox-r,
#service #sec05 .sec__flexbox-r {
    width: calc(100% - 350px)
}

@media (max-width:1200px) {

    #service #sec02 .sec__flexbox-r,
    #service #sec03 .sec__flexbox-r,
    #service #sec04 .sec__flexbox-r,
    #service #sec05 .sec__flexbox-r {
        width: calc(100% - 240px)
    }
}

@media (max-width:1024px) {

    #service #sec02 .sec__flexbox-r,
    #service #sec03 .sec__flexbox-r,
    #service #sec04 .sec__flexbox-r,
    #service #sec05 .sec__flexbox-r {
        width: calc(100% - 200px)
    }
}

#service #sec02 .sec__numtitle,
#service #sec03 .sec__numtitle,
#service #sec04 .sec__numtitle,
#service #sec05 .sec__numtitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1
}

#service #sec02 .sec__numtitle span,
#service #sec03 .sec__numtitle span,
#service #sec04 .sec__numtitle span,
#service #sec05 .sec__numtitle span {
    font-size: 11px;
    margin-right: 10px;
    margin-top: 3px
}

#service #sec02 .sec__numtitle p,
#service #sec03 .sec__numtitle p,
#service #sec04 .sec__numtitle p,
#service #sec05 .sec__numtitle p {
    font-size: 16px
}

#service #sec02 .sec__titlebox,
#service #sec03 .sec__titlebox,
#service #sec04 .sec__titlebox,
#service #sec05 .sec__titlebox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

#service #sec02 .sec__titlebox-img,
#service #sec03 .sec__titlebox-img,
#service #sec04 .sec__titlebox-img,
#service #sec05 .sec__titlebox-img {
    max-width: 120px
}

#service #sec02 .sec__titlebox-img lottie-player,
#service #sec03 .sec__titlebox-img lottie-player,
#service #sec04 .sec__titlebox-img lottie-player,
#service #sec05 .sec__titlebox-img lottie-player {
    max-width: 100%;
    height: auto
}

@media (max-width:834px) {

    #service #sec02 .sec__flexbox-r,
    #service #sec03 .sec__flexbox-r,
    #service #sec04 .sec__flexbox-r,
    #service #sec05 .sec__flexbox-r {
        width: 100%
    }

    #service #sec02 .sec__numtitle,
    #service #sec03 .sec__numtitle,
    #service #sec04 .sec__numtitle,
    #service #sec05 .sec__numtitle {
        margin-bottom: 18px
    }

    #service #sec02 .sec__titlebox-img,
    #service #sec03 .sec__titlebox-img,
    #service #sec04 .sec__titlebox-img,
    #service #sec05 .sec__titlebox-img {
        max-width: 80px
    }
}

#service #sec02 .sec__titlebox-img_pc,
#service #sec03 .sec__titlebox-img_pc,
#service #sec04 .sec__titlebox-img_pc,
#service #sec05 .sec__titlebox-img_pc {
    display: block
}

#service #sec02 .sec__titlebox-img_sp,
#service #sec03 .sec__titlebox-img_sp,
#service #sec04 .sec__titlebox-img_sp,
#service #sec05 .sec__titlebox-img_sp {
    display: none
}

@media (max-width:520px) {

    #service #sec02 .sec__titlebox-img,
    #service #sec03 .sec__titlebox-img,
    #service #sec04 .sec__titlebox-img,
    #service #sec05 .sec__titlebox-img {
        max-width: 100px
    }

    #service #sec02 .sec__titlebox-img_pc,
    #service #sec03 .sec__titlebox-img_pc,
    #service #sec04 .sec__titlebox-img_pc,
    #service #sec05 .sec__titlebox-img_pc {
        display: none
    }

    #service #sec02 .sec__titlebox-img_sp,
    #service #sec03 .sec__titlebox-img_sp,
    #service #sec04 .sec__titlebox-img_sp,
    #service #sec05 .sec__titlebox-img_sp {
        display: block;
        width: 100px
    }
}

#service #sec02 .sec__maintitle,
#service #sec03 .sec__maintitle,
#service #sec04 .sec__maintitle,
#service #sec05 .sec__maintitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1;
    margin-bottom: 20px;
    font-size: 22px
}

#service #sec02 .sec__maintitle p,
#service #sec03 .sec__maintitle p,
#service #sec04 .sec__maintitle p,
#service #sec05 .sec__maintitle p {
    font-size: 45px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

#service #sec02 .sec__maintitle span,
#service #sec03 .sec__maintitle span,
#service #sec04 .sec__maintitle span,
#service #sec05 .sec__maintitle span {
    font-size: 34px;
    margin-left: 8px
}

@media (max-width:1024px) {

    #service #sec02 .sec__maintitle p,
    #service #sec03 .sec__maintitle p,
    #service #sec04 .sec__maintitle p,
    #service #sec05 .sec__maintitle p {
        font-size: 32px
    }

    #service #sec02 .sec__maintitle span,
    #service #sec03 .sec__maintitle span,
    #service #sec04 .sec__maintitle span,
    #service #sec05 .sec__maintitle span {
        font-size: 22px;
        margin-left: 3px
    }
}

@media (max-width:834px) {

    #service #sec02 .sec__maintitle p,
    #service #sec03 .sec__maintitle p,
    #service #sec04 .sec__maintitle p,
    #service #sec05 .sec__maintitle p {
        font-size: 26px
    }

    #service #sec02 .sec__maintitle span,
    #service #sec03 .sec__maintitle span,
    #service #sec04 .sec__maintitle span,
    #service #sec05 .sec__maintitle span {
        font-size: 18px
    }
}

@media (max-width:520px) {

    #service #sec02 .sec__maintitle p,
    #service #sec03 .sec__maintitle p,
    #service #sec04 .sec__maintitle p,
    #service #sec05 .sec__maintitle p {
        font-size: 22px
    }

    #service #sec02 .sec__maintitle span,
    #service #sec03 .sec__maintitle span,
    #service #sec04 .sec__maintitle span,
    #service #sec05 .sec__maintitle span {
        font-size: 16px
    }

    #service #sec02 .sec__text01,
    #service #sec03 .sec__text01,
    #service #sec04 .sec__text01,
    #service #sec05 .sec__text01 {
        width: calc(100% - 120px)
    }
}

#service #sec02 .sec__subtitle,
#service #sec03 .sec__subtitle,
#service #sec04 .sec__subtitle,
#service #sec05 .sec__subtitle {
    color: #9fa0a0;
    font-size: 12px;
    margin-bottom: 50px
}

@media (max-width:834px) {

    #service #sec02 .sec__subtitle,
    #service #sec03 .sec__subtitle,
    #service #sec04 .sec__subtitle,
    #service #sec05 .sec__subtitle {
        margin-bottom: 30px
    }
}

#service #sec02 .sec__text01,
#service #sec03 .sec__text01,
#service #sec04 .sec__text01,
#service #sec05 .sec__text01 {
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
    margin-bottom: 50px
}

@media (max-width:834px) {

    #service #sec02 .sec__text01,
    #service #sec03 .sec__text01,
    #service #sec04 .sec__text01,
    #service #sec05 .sec__text01 {
        font-size: 13px;
        margin-bottom: 30px
    }
}

#service #sec02 .sec__text02,
#service #sec03 .sec__text02,
#service #sec04 .sec__text02,
#service #sec05 .sec__text02 {
    font-size: 16px;
    text-align: right;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    margin-bottom: 50px
}

@media (max-width:834px) {

    #service #sec02 .sec__text02,
    #service #sec03 .sec__text02,
    #service #sec04 .sec__text02,
    #service #sec05 .sec__text02 {
        font-size: 13px;
        margin-bottom: 30px
    }
}

#service #sec02 .sec__list,
#service #sec03 .sec__list,
#service #sec04 .sec__list,
#service #sec05 .sec__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -5px
}

#service #sec02 .sec__list.c01 li,
#service #sec03 .sec__list.c01 li,
#service #sec04 .sec__list.c01 li,
#service #sec05 .sec__list.c01 li {
    background-color: #efefef;
    color: #000
}

#service #sec02 .sec__list.c02 li,
#service #sec03 .sec__list.c02 li,
#service #sec04 .sec__list.c02 li,
#service #sec05 .sec__list.c02 li {
    background-color: #fff;
    color: #000
}

#service #sec02 .sec__list li,
#service #sec03 .sec__list li,
#service #sec04 .sec__list li,
#service #sec05 .sec__list li {
    margin: 0 5px 10px;
    font-size: 16px;
    font-weight: 400;
    width: calc(33.33333% - 10px);
    padding: 10px;
    text-align: center
}

@media (max-width:1024px) {

    #service #sec02 .sec__list li,
    #service #sec03 .sec__list li,
    #service #sec04 .sec__list li,
    #service #sec05 .sec__list li {
        font-size: 14px;
        padding: 10px 5px
    }
}

@media (max-width:520px) {

    #service #sec02 .sec__list li,
    #service #sec03 .sec__list li,
    #service #sec04 .sec__list li,
    #service #sec05 .sec__list li {
        width: calc(50% - 10px);
        font-size: 12px;
        letter-spacing: 0
    }

    #service #sec02 .sec__spflex,
    #service #sec03 .sec__spflex,
    #service #sec04 .sec__spflex,
    #service #sec05 .sec__spflex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

#service #sec02,
#service #sec04 {
    background-color: #fff
}

#service #sec03,
#service #sec05 {
    background-color: #f7f8f8
}

#solution #sec01 .sec01__box01 {
    margin-bottom: 180px
}

#solution #sec01 .sec01__box02 {
    padding: 260px 0 160px;
    background-color: #f7f8f8
}

#development,
#solution #sec01 .sec01__jsonbox,
#solution #sec02 .sec02__maintitle-en::after,
#solution #sec03 {
    background-color: #fff
}

#solution #sec01 .sec01__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#solution #sec01 .sec01__flex-l,
#solution #sec01 .sec01__flex-r {
    width: 50%
}

@media (max-width:834px) {
    #solution #sec01 .sec01__flex {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #solution #sec01 .sec01__flex-l,
    #solution #sec01 .sec01__flex-r {
        width: 100%
    }
}

#solution #sec01 .sec01__flex-l {
    position: relative
}

@media (max-width:1024px) {
    #solution #sec01 .sec01__box01 {
        margin-bottom: 80px
    }

    #solution #sec01 .sec01__box02 {
        padding: 120px 0
    }

    #solution #sec01 .sec01__flex-l {
        width: 40%
    }
}

@media (max-width:834px) {
    #solution #sec01 .sec01__flex-l {
        width: 100%;
        margin-bottom: 30px
    }
}

#solution #sec01 .sec01__flex-r {
    padding-top: 38px
}

#solution #sec01 .sec01__pimg01 {
    position: absolute;
    right: 30%;
    bottom: 0;
    -webkit-transform: translateY(50%);
    transform: translateY(50%)
}

@media (max-width:1600px) {
    #solution #sec01 .sec01__pimg01 {
        right: 20%
    }

    #solution #sec01 .sec01__pimg01 img {
        max-width: 640px;
        height: auto
    }
}

@media (max-width:1024px) {
    #solution #sec01 .sec01__flex-r {
        width: 60%
    }

    #solution #sec01 .sec01__pimg01 {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    #solution #sec01 .sec01__pimg01 img {
        max-width: 420px;
        height: auto
    }
}

@media (max-width:834px) {
    #solution #sec01 .sec01__flex-r {
        width: 100%;
        padding-top: 0
    }

    #solution #sec01 .sec01__pimg01 {
        position: static;
        margin: 0 auto 30px;
        text-align: center
    }

    #solution #sec01 .sec01__pimg01 img {
        max-width: 60%;
        height: auto
    }
}

@media (max-width:520px) {
    #solution #sec01 .sec01__pimg01 img {
        max-width: 100%;
        height: auto
    }
}

#solution #sec01 .sec01__pimg02 {
    position: absolute;
    right: 0;
    top: -300px;
    -webkit-transform: translateX(30%);
    transform: translateX(30%)
}

#solution #sec01 .sec01__textbox,
#solution #sec02 {
    position: relative
}

#solution #sec01 .sec01__pimg02 img,
#solution #sec01 .sec01__pimg02 picture {
    height: auto
}

@media (max-width:1200px) {
    #solution #sec01 .sec01__pimg02 {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    #solution #sec01 .sec01__pimg02 img,
    #solution #sec01 .sec01__pimg02 picture {
        max-width: 400px
    }
}

@media (max-width:1024px) {
    #solution #sec01 .sec01__pimg02 {
        top: -180px
    }

    #solution #sec01 .sec01__pimg02 img,
    #solution #sec01 .sec01__pimg02 picture {
        max-width: 320px
    }
}

@media (max-width:834px) {

    #solution #sec01 .sec01__pimg02 img,
    #solution #sec01 .sec01__pimg02 picture {
        max-width: 260px
    }
}

#solution #sec01 .sec01__maintitle-en {
    font-size: 16px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    margin-bottom: 20px
}

@media (max-width:834px) {
    #solution #sec01 .sec01__maintitle-en {
        font-size: 14px;
        margin-bottom: 10px
    }
}

#solution #sec01 .sec01__maintitle-ja {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #231815;
    font-size: 26px;
    font-weight: 400
}

#solution #sec01 .sec01__maintitle-ja span {
    font-size: 32px;
    line-height: 1;
    padding-top: 5px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:1024px) {
    #solution #sec01 .sec01__maintitle-ja {
        font-size: 22px
    }

    #solution #sec01 .sec01__maintitle-ja span {
        font-size: 26px
    }
}

@media (max-width:520px) {

    #solution #sec01 .sec01__pimg02 img,
    #solution #sec01 .sec01__pimg02 picture {
        max-width: 160px
    }

    #solution #sec01 .sec01__maintitle-ja {
        font-size: 16px
    }

    #solution #sec01 .sec01__maintitle-ja span {
        font-size: 22px
    }
}

#solution #sec01 .sec01__textbox01 .sec01__textbox-titleja {
    margin-bottom: 50px
}

@media (max-width:834px) {
    #solution #sec01 .sec01__textbox01 .sec01__textbox-titleja {
        margin-bottom: 20px
    }
}

#solution #sec01 .sec01__textbox01 .sec01__textbox-titleen {
    margin-bottom: 100px
}

@media (max-width:834px) {
    #solution #sec01 .sec01__textbox01 .sec01__textbox-titleen {
        margin-bottom: 40px
    }
}

#solution #sec01 .sec01__textbox02 .sec01__textbox-titleja {
    margin-bottom: 10px
}

@media (max-width:834px) {
    #solution #sec01 .sec01__textbox02 .sec01__textbox-titleja {
        margin-bottom: 20px
    }
}

#solution #sec01 .sec01__textbox02 .sec01__textbox-titleen {
    margin-bottom: 50px
}

#solution #sec01 .sec01__textbox-titleja {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.8;
    color: #231815
}

@media (max-width:1200px) {
    #solution #sec01 .sec01__textbox-titleja {
        font-size: 24px
    }
}

@media (max-width:834px) {
    #solution #sec01 .sec01__textbox02 .sec01__textbox-titleen {
        margin-bottom: 40px
    }

    #solution #sec01 .sec01__textbox-titleja {
        font-size: 18px
    }
}

@media (max-width:520px) {
    #solution #sec01 .sec01__textbox-titleja {
        font-size: 16px
    }
}

#solution #sec01 .sec01__textbox-titleen {
    font-size: 14px;
    color: #595757;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:834px) {
    #solution #sec01 .sec01__textbox-titleen {
        font-size: 13px
    }
}

#solution #sec01 .sec01__textbox-text {
    font-size: 16px;
    font-weight: 400;
    line-height: 2.2
}

#solution #sec01 .sec01__jsonbox {
    width: 90%;
    margin: 70px auto 0;
    padding: 60px 20px;
    text-align: center
}

#solution #sec01 .sec01__jsonbox lottie-player {
    max-width: 1000px;
    margin: 0 auto
}

#solution #sec01 .sec01__jsonbox img {
    max-width: 100%;
    height: auto
}

@media (max-width:834px) {
    #solution #sec01 .sec01__textbox-text {
        font-size: 13px
    }

    #solution #sec01 .sec01__jsonbox {
        margin: 40px auto 0;
        padding: 40px 30px
    }
}

@media (max-width:520px) {
    #solution #sec01 .sec01__jsonbox {
        padding: 20px 10px
    }
}

#solution #sec02 {
    background-color: #231815;
    padding: 180px 0 0
}

#solution #sec02 .sec02__pimg01 {
    position: absolute;
    top: -80px;
    right: 10%
}

#solution #sec02 .sec02__pimg01 img {
    width: 320px;
    height: auto
}

@media (max-width:1024px) {
    #solution #sec02 .sec02__pimg01 img {
        width: 280px;
        height: auto
    }
}

@media (max-width:834px) {
    #solution #sec02 {
        padding: 100px 0 0
    }

    #solution #sec02 .sec02__pimg01 img {
        width: 240px;
        height: auto
    }
}

#solution #sec02 .sec02__maintitle {
    margin-bottom: 120px
}

@media (max-width:834px) {
    #solution #sec02 .sec02__maintitle {
        margin-bottom: 60px
    }
}

#solution #sec02 .sec02__maintitle-en {
    margin-bottom: 10px;
    color: #fff
}

#solution #sec02 .sec02__maintitle-ja {
    color: #fff
}

#solution #sec02 .sec02__list {
    color: #fff;
    margin-bottom: 160px
}

@media (max-width:834px) {
    #solution #sec02 .sec02__list {
        margin-bottom: 100px
    }
}

#solution #sec02 .sec02__list li:first-child {
    padding-bottom: 60px;
    margin-bottom: 60px;
    border-bottom: 1px solid #727171
}

#solution #sec02 .sec02__list-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#solution #sec02 .sec02__list-num {
    font-size: 11px;
    margin-bottom: 30px
}

@media (max-width:520px) {
    #solution #sec02 .sec02__pimg01 img {
        width: 160px;
        height: auto
    }

    #solution #sec02 .sec02__list-flex {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #solution #sec02 .sec02__list-num {
        margin-bottom: 20px
    }
}

#solution #sec02 .sec02__list-title {
    width: 40%;
    font-size: 20px;
    line-height: 2
}

@media (max-width:834px) {
    #solution #sec02 .sec02__list-title {
        font-size: 16px
    }
}

@media (max-width:520px) {
    #solution #sec02 .sec02__list-title {
        width: 100%;
        margin-bottom: 20px
    }
}

#solution #sec02 .sec02__list-text {
    width: 60%;
    font-size: 14px;
    line-height: 2.6
}

@media (max-width:520px) {
    #solution #sec02 .sec02__list-text {
        width: 100%
    }
}

#solution #sec02 .sec02__bkg {
    height: 620px;
    max-width: 1480px;
    width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 0
}

#solution #sec02 .sec02__bkg::after,
#solution #sec02 .sec02__bkg::before {
    content: "";
    position: absolute;
    bottom: -1px;
    height: 400px;
    width: 100%;
    background-color: #fff;
    z-index: -1
}

#solution #sec02 .sec02__bkg::before {
    right: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
}

#solution #sec02 .sec02__bkg::after {
    left: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

@media (max-width:1400px) {
    #solution #sec02 .sec02__bkg {
        height: 420px
    }

    #solution #sec02 .sec02__bkg::after,
    #solution #sec02 .sec02__bkg::before {
        height: 200px
    }
}

@media (max-width:1024px) {
    #solution #sec02 .sec02__bkg {
        height: 320px
    }

    #solution #sec02 .sec02__bkg::after,
    #solution #sec02 .sec02__bkg::before {
        height: 160px
    }
}

@media (max-width:520px) {
    #solution #sec02 .sec02__bkg {
        height: 280px;
        background-size: contain
    }

    #solution #sec02 .sec02__bkg::after,
    #solution #sec02 .sec02__bkg::before {
        content: "";
        position: absolute;
        bottom: -1px;
        height: 140px;
        width: 100%;
        background-color: #fff;
        z-index: -1
    }
}

#solution #sec02 .sec02__bkg-pc {
    display: block
}

#solution #sec02 .sec02__bkg-sp {
    display: none
}

#solution #sec03 {
    padding: 110px 0 180px
}

#solution #sec03 .sec03__maintitle {
    margin-bottom: 100px
}

#solution #sec03 .sec03__maintitle-en {
    margin-bottom: 10px
}

@media (max-width:834px) {
    #solution #sec02 .sec02__list-text {
        line-height: 2;
        font-size: 13px
    }

    #solution #sec02 .sec02__bkg-pc {
        display: none
    }

    #solution #sec02 .sec02__bkg-sp {
        display: block
    }

    #solution #sec03 {
        padding: 80px 0 100px
    }

    #solution #sec03 .sec03__maintitle {
        margin-bottom: 60px
    }
}

#solution #sec03 .sec03__flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#solution #sec03 .sec03__flexbox01 {
    margin-bottom: 120px
}

#solution #sec03 .sec03__flexbox-l {
    width: 380px
}

@media (max-width:1200px) {
    #solution #sec03 .sec03__flexbox-l {
        width: 300px
    }
}

@media (max-width:834px) {
    #solution #sec03 .sec03__flexbox01 {
        margin-bottom: 80px
    }

    #solution #sec03 .sec03__flexbox {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #solution #sec03 .sec03__flexbox-l {
        width: 100%
    }
}

#solution #sec03 .sec03__flexbox-r {
    width: calc(100% - 380px)
}

@media (max-width:1200px) {
    #solution #sec03 .sec03__flexbox-r {
        width: calc(100% - 300px)
    }
}

#solution #sec03 .sec03__titlebox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#solution #sec03 .sec03__titlebox-num {
    font-size: 11px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    color: #231815;
    margin-right: 20px;
    padding-top: 8px
}

#solution #sec03 .sec03__titlebox-ja {
    font-size: 20px;
    font-weight: 500;
    color: #231815
}

@media (max-width:834px) {
    #solution #sec03 .sec03__flexbox-r {
        width: 100%
    }

    #solution #sec03 .sec03__titlebox {
        margin-bottom: 30px
    }

    #solution #sec03 .sec03__titlebox-ja {
        font-size: 18px
    }
}

#solution #sec03 .sec03__titlebox-en {
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    font-size: 14px;
    color: #595757
}

@media (max-width:834px) {
    #solution #sec03 .sec03__titlebox-en {
        font-size: 13px
    }
}

#solution #sec03 .sec03__list-title {
    font-size: 16px;
    font-weight: 400;
    width: 40%;
    color: #231815
}

@media (max-width:834px) {
    #solution #sec03 .sec03__list-title {
        width: 100%;
        font-size: 15px;
        margin-bottom: 10px
    }
}

#solution #sec03 .sec03__list-text {
    font-size: 14px;
    font-weight: 400;
    width: 60%;
    color: #231815
}

#solution #sec03 .sec03__list>li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid #efefef
}

#solution #sec03 .sec03__list>li:last-child {
    margin-bottom: 0
}

#development #sec01 .sec01__box01 {
    margin-bottom: 320px;
    position: relative
}

@media (max-width:1024px) {
    #development #sec01 .sec01__box01 {
        margin-bottom: 240px
    }
}

@media (max-width:834px) {
    #solution #sec03 .sec03__list-text {
        width: 100%;
        font-size: 13px
    }

    #solution #sec03 .sec03__list>li {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #development #sec01 .sec01__box01 {
        margin-bottom: 160px
    }

    #development #sec01 .sec01__flex {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media (max-width:520px) {
    #development #sec01 .sec01__box01 {
        margin-bottom: 120px
    }
}

#development #sec01 .sec01__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#development #sec01 .sec01__flex-l,
#development #sec01 .sec01__flex-r {
    width: 50%
}

@media (max-width:834px) {

    #development #sec01 .sec01__flex-l,
    #development #sec01 .sec01__flex-r {
        width: 100%
    }
}

#development #sec01 .sec01__flex-l {
    position: relative
}

@media (max-width:1024px) {
    #development #sec01 .sec01__flex-l {
        width: 40%
    }
}

@media (max-width:834px) {
    #development #sec01 .sec01__flex-l {
        width: 100%;
        margin-bottom: 30px
    }
}

#development #sec01 .sec01__flex-r {
    padding-top: 38px
}

#development #sec01 .sec01__pimg01 {
    position: absolute;
    right: 30%;
    bottom: 0;
    -webkit-transform: translateY(50%);
    transform: translateY(50%)
}

@media (max-width:1600px) {
    #development #sec01 .sec01__pimg01 {
        right: 20%
    }

    #development #sec01 .sec01__pimg01 img {
        max-width: 640px;
        height: auto
    }
}

@media (max-width:1024px) {
    #development #sec01 .sec01__flex-r {
        width: 60%
    }

    #development #sec01 .sec01__pimg01 {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    #development #sec01 .sec01__pimg01 img {
        max-width: 420px;
        height: auto
    }
}

@media (max-width:834px) {
    #development #sec01 .sec01__flex-r {
        width: 100%;
        padding-top: 0
    }

    #development #sec01 .sec01__pimg01 {
        position: static;
        margin: 0 auto 30px;
        text-align: center
    }

    #development #sec01 .sec01__pimg01 img {
        max-width: 60%;
        height: auto
    }
}

#development #sec01 .sec01__pimg02 {
    position: absolute;
    right: 0;
    bottom: -440px
}

@media (max-width:1024px) {
    #development #sec01 .sec01__pimg02 {
        bottom: -280px
    }
}

@media (max-width:834px) {
    #development #sec01 .sec01__pimg02 {
        bottom: -200px
    }
}

@media (max-width:520px) {
    #development #sec01 .sec01__pimg01 img {
        max-width: 100%;
        height: auto
    }

    #development #sec01 .sec01__pimg02 {
        bottom: -140px
    }
}

#development #sec01 .sec01__pimg02 img,
#development #sec01 .sec01__pimg02 picture {
    height: auto
}

@media (max-width:1200px) {

    #development #sec01 .sec01__pimg02 img,
    #development #sec01 .sec01__pimg02 picture {
        max-width: 400px
    }
}

@media (max-width:1024px) {

    #development #sec01 .sec01__pimg02 img,
    #development #sec01 .sec01__pimg02 picture {
        max-width: 320px
    }
}

@media (max-width:834px) {

    #development #sec01 .sec01__pimg02 img,
    #development #sec01 .sec01__pimg02 picture {
        max-width: 260px
    }
}

#development #sec01 .sec01__maintitle-en {
    font-size: 16px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    margin-bottom: 20px
}

@media (max-width:834px) {
    #development #sec01 .sec01__maintitle-en {
        font-size: 14px;
        margin-bottom: 10px
    }
}

#development #sec01 .sec01__maintitle-ja {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #231815;
    font-size: 26px;
    font-weight: 400
}

#development #sec01 .sec01__maintitle-ja span {
    font-size: 32px;
    line-height: 1;
    padding-top: 5px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:1024px) {
    #development #sec01 .sec01__maintitle-ja {
        font-size: 22px
    }

    #development #sec01 .sec01__maintitle-ja span {
        font-size: 26px
    }
}

@media (max-width:520px) {

    #development #sec01 .sec01__pimg02 img,
    #development #sec01 .sec01__pimg02 picture {
        max-width: 160px
    }

    #development #sec01 .sec01__maintitle-ja {
        font-size: 16px
    }

    #development #sec01 .sec01__maintitle-ja span {
        font-size: 22px
    }
}

#development #sec01 .sec01__textbox {
    position: relative
}

#development #sec01 .sec01__textbox01 .sec01__textbox-titleja {
    margin-bottom: 50px
}

@media (max-width:834px) {
    #development #sec01 .sec01__textbox01 .sec01__textbox-titleja {
        margin-bottom: 20px
    }
}

#development #sec01 .sec01__textbox01 .sec01__textbox-titleen {
    margin-bottom: 100px
}

@media (max-width:834px) {
    #development #sec01 .sec01__textbox01 .sec01__textbox-titleen {
        margin-bottom: 40px
    }
}

#development #sec01 .sec01__textbox02 .sec01__textbox-titleja {
    margin-bottom: 10px
}

@media (max-width:834px) {
    #development #sec01 .sec01__textbox02 .sec01__textbox-titleja {
        margin-bottom: 20px
    }
}

#development #sec01 .sec01__textbox02 .sec01__textbox-titleen {
    margin-bottom: 50px
}

#development #sec01 .sec01__textbox-titleja {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.8;
    color: #231815
}

@media (max-width:1200px) {
    #development #sec01 .sec01__textbox-titleja {
        font-size: 24px
    }
}

@media (max-width:834px) {
    #development #sec01 .sec01__textbox02 .sec01__textbox-titleen {
        margin-bottom: 40px
    }

    #development #sec01 .sec01__textbox-titleja {
        font-size: 18px
    }
}

@media (max-width:520px) {
    #development #sec01 .sec01__textbox-titleja {
        font-size: 16px
    }
}

#development #sec01 .sec01__textbox-titleen {
    font-size: 14px;
    color: #595757;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:834px) {
    #development #sec01 .sec01__textbox-titleen {
        font-size: 13px
    }
}

#development #sec01 .sec01__textbox-text {
    font-size: 16px;
    font-weight: 400;
    line-height: 2.2
}

#development #sec02 .sec02__iconlist-text01,
#development #sec02 .sec02__iconlist-text02 {
    font-weight: 600 !important;
    font-family: Jost, sans-serif
}

#development #sec02 {
    padding: 80px 0
}

#development #sec02 .sec02__maintitle {
    margin-bottom: 50px
}

#development #sec02 .sec02__maintitle-en {
    margin-bottom: 30px
}

@media (max-width:834px) {
    #development #sec01 .sec01__textbox-text {
        font-size: 13px
    }

    #development #sec02 {
        padding: 60px 0
    }

    #development #sec02 .sec02__maintitle {
        margin-bottom: 30px
    }

    #development #sec02 .sec02__maintitle-en {
        margin-bottom: 10px
    }
}

#development #sec02 .sec02__iconlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

#development #sec02 .sec02__iconlist li {
    width: 33%;
    text-align: center;
    color: #231815;
    margin-bottom: 50px;
    padding-bottom: 30px
}

#development #sec02 .sec02__iconlist li:nth-child(1),
#development #sec02 .sec02__iconlist li:nth-child(2),
#development #sec02 .sec02__iconlist li:nth-child(4) {
    border-right: 1px solid #dcdddd
}

@media (max-width:834px) {
    #development #sec02 .sec02__iconlist li {
        width: 50%;
        margin-bottom: 30px;
        padding-bottom: 10px;
        position: relative
    }

    #development #sec02 .sec02__iconlist li:nth-child(1),
    #development #sec02 .sec02__iconlist li:nth-child(3) {
        border-right: 1px solid #dcdddd
    }

    #development #sec02 .sec02__iconlist li:nth-child(2),
    #development #sec02 .sec02__iconlist li:nth-child(4) {
        border-right: none
    }

    #development #sec02 .sec02__iconlist li:nth-child(3)::after,
    #development #sec02 .sec02__iconlist li:nth-child(4)::after,
    #development #sec02 .sec02__iconlist li:nth-child(5)::after {
        content: "";
        position: absolute;
        top: -15px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 80%;
        height: 1px;
        background-color: #dcdddd
    }
}

#development #sec02 .sec02__iconlist-icon {
    max-width: 180px;
    margin: 0 auto 20px
}

#development #sec02 .sec02__iconlist-icon img,
#development #sec02 .sec02__iconlist-icon picture {
    max-width: 100%;
    height: auto
}

@media (max-width:1024px) {
    #development #sec02 .sec02__iconlist-icon {
        max-width: 100px
    }
}

@media (max-width:834px) {
    #development #sec02 .sec02__iconlist-icon {
        max-width: 80px
    }
}

#development #sec02 .sec02__iconlist-text01 {
    font-size: 16px;
    border: 1px solid #231815;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 10px;
    border-radius: 25px;
    padding: 2px 20px
}

@media (max-width:1024px) {
    #development #sec02 .sec02__iconlist-text01 {
        font-size: 14px;
        padding: 2px 10px
    }
}

@media (max-width:520px) {
    #development #sec02 .sec02__iconlist-icon {
        margin: 0 auto 10px;
        max-width: 60px
    }

    #development #sec02 .sec02__iconlist-text01 {
        font-size: 12px
    }
}

#development #sec02 .sec02__iconlist-text02 {
    font-size: 25px;
    line-height: 1.4
}

@media (max-width:1024px) {
    #development #sec02 .sec02__iconlist-text02 {
        font-size: 16px
    }
}

@media (max-width:834px) {
    #development #sec02 .sec02__iconlist-text02 {
        font-size: 14px
    }
}

@media (max-width:520px) {
    #development #sec02 .sec02__iconlist-text02 {
        font-size: 12px;
        letter-spacing: 0
    }
}

#development #sec02 .sec02__iconlist-text03 {
    font-size: 20px;
    margin-bottom: 10px
}

@media (max-width:834px) {
    #development #sec02 .sec02__iconlist-text03 {
        font-size: 14px
    }
}

@media (max-width:520px) {
    #development #sec02 .sec02__iconlist-text03 {
        font-size: 12px;
        letter-spacing: 0
    }
}

#development #sec02 .sec02__iconlist-text04 {
    font-size: 16px;
    width: 160px;
    background-color: #000;
    padding: 3px 10px;
    border-radius: 25px;
    margin: 0 auto 10px;
    color: #fff
}

@media (max-width:834px) {
    #development #sec02 .sec02__iconlist-text04 {
        font-size: 13px;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }
}

@media (max-width:520px) {
    #development #sec02 .sec02__iconlist-text04 {
        font-size: 12px;
        padding: 1px 10px
    }
}

#development #sec02 .sec02__iconlist-text05 {
    font-size: 16px
}

@media (max-width:834px) {
    #development #sec02 .sec02__iconlist-text05 {
        font-size: 13px
    }
}

@media (max-width:520px) {
    #development #sec02 .sec02__iconlist-text05 {
        font-size: 11px
    }
}

#development #sec03 {
    padding: 120px 0;
    background-color: #f7f8f8
}

#development #sec03 .sec03__maintitle {
    margin-bottom: 50px
}

#development #sec03 .sec03__maintitle-en {
    margin-bottom: 30px
}

@media (max-width:834px) {
    #development #sec03 {
        padding: 60px 0
    }

    #development #sec03 .sec03__maintitle {
        margin-bottom: 30px
    }

    #development #sec03 .sec03__maintitle-en {
        margin-bottom: 10px
    }
}

#development #sec03 .sec03__maintitle-ja {
    margin-bottom: 30px
}

#development #sec03 .sec03__maintitle-text {
    font-size: 16px;
    line-height: 1.8
}

#development #sec03 .sec03__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -10px 50px
}

@media (max-width:834px) {
    #development #sec03 .sec03__maintitle-text {
        font-size: 13px
    }

    #development #sec03 .sec03__list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin: 0 0 50px
    }
}

#development #sec03 .sec03__list>li {
    background-color: #fff;
    border-radius: 10px;
    width: 33%;
    margin: 0 10px;
    padding: 30px 0
}

@media (max-width:834px) {
    #development #sec03 .sec03__list>li {
        width: 100%;
        padding: 20px 0;
        margin: 0 0 20px
    }
}

#development #sec03 .sec03__list-title {
    font-size: 18px;
    font-weight: 600;
    text-align: center
}

#development #sec03 .sec03__list-title span {
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    font-size: 22px
}

#development #sec03 .sec03__list-cat {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

#development #sec03 .sec03__list-cat>li {
    font-size: 14px;
    line-height: 1;
    color: #fff;
    padding: 3px 15px;
    background-color: #000;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: 5px
}

#development #sec03 .sec03__list-cat>li:last-child {
    margin-right: 0
}

@media (max-width:1024px) {
    #development #sec03 .sec03__list-cat>li {
        font-size: 13px
    }
}

#development #sec03 .sec03__list-line {
    display: block;
    height: 100px;
    width: 100%;
    position: relative
}

#development #sec03 .sec03__list-line::before {
    content: "";
    width: 100%;
    border-bottom: 2px dashed #dcdddd;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

#development #sec03 .sec03__list-line_shapes {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

#development #sec03 .sec03__list-line_shapes01 {
    width: 55px;
    height: 55px;
    border-radius: 50px;
    background-color: #ea5514
}

#development #sec03 .sec03__list-line_shapes02 {
    width: 45px;
    height: 45px;
    background-color: teal;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg)
}

#development #sec03 .sec03__list-line_shapes03 {
    width: 48px;
    height: 55px;
    background-color: #000;
    -webkit-clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
    clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%)
}

#development #sec03 .sec03__list-text {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
    padding: 0 50px
}

#data-and-intelligence #sec01 .sec01__maintitle-en,
#development #sec03 .sec03__assignbox-title span,
#development #sec04 .sec04__list-titlebox_subtitle {
    font-weight: 600 !important;
    font-family: Jost, sans-serif
}

@media (max-width:1024px) {
    #development #sec03 .sec03__list-text {
        padding: 0 20px
    }
}

@media (max-width:834px) {
    #development #sec03 .sec03__list-text {
        padding: 0 50px
    }
}

@media (max-width:520px) {
    #development #sec03 .sec03__list-text {
        font-size: 13px
    }
}

#development #sec03 .sec03__assignbox-title {
    padding-left: 20px;
    font-size: 20px;
    position: relative;
    margin-bottom: 20px
}

#development #sec03 .sec03__assignbox-title::after {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #000;
    position: absolute;
    left: 0;
    top: 11px
}

@media (max-width:834px) {
    #development #sec03 .sec03__assignbox-title {
        font-size: 16px
    }

    #development #sec03 .sec03__assignbox-title::after {
        top: 8px
    }
}

#development #sec03 .sec03__assignbox-title span {
    font-size: 14px
}

#development #sec03 .sec03__assignbox-img {
    text-align: center
}

#development #sec03 .sec03__assignbox-img img,
#development #sec03 .sec03__assignbox-img picture {
    max-width: 100%;
    height: auto
}

@media (max-width:834px) {
    #development #sec03 .sec03__assignbox-title span {
        display: block;
        font-size: 13px
    }

    #development #sec03 .sec03__assignbox-img {
        max-width: 320px;
        margin: 0 auto
    }

    #development #sec04 .sec04__list-flex {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

#development #sec04 {
    position: relative;
    background-color: #f7f8f8
}

#development #sec04 .sec04__inr {
    background-color: #231815;
    margin: 0 100px;
    padding: 90px 0
}

@media (max-width:1024px) {
    #development #sec04 .sec04__inr {
        margin: 0;
        padding: 60px 0
    }
}

#development #sec04 .sec04__maintitle-en {
    margin-bottom: 10px;
    color: #fff
}

#development #sec04 .sec04__maintitle-en::after {
    background-color: #fff
}

#development #sec04 .sec04__list,
#development #sec04 .sec04__maintitle-ja {
    color: #fff
}

#development #sec04 .sec04__list li {
    padding: 60px 0;
    position: relative
}

#development #sec04 .sec04__list li:nth-child(2)::before {
    content: "";
    width: 1400px;
    height: 100%;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255, .1)
}

#development #sec04 .sec04__list-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#development #sec04 .sec04__list-num {
    font-size: 11px;
    margin-bottom: 20px
}

@media (max-width:520px) {
    #development #sec04 .sec04__list li {
        padding: 30px 0
    }

    #development #sec04 .sec04__list-num {
        margin-bottom: 10px
    }
}

#development #sec04 .sec04__list-titlebox {
    width: 40%
}

#development #sec04 .sec04__list-titlebox_title {
    font-size: 20px;
    line-height: 2
}

@media (max-width:834px) {
    #development #sec04 .sec04__list-titlebox {
        width: 100%;
        margin-bottom: 20px
    }

    #development #sec04 .sec04__list-titlebox_title {
        font-size: 16px;
        line-height: 1.6
    }
}

#development #sec04 .sec04__list-titlebox_subtitle {
    color: #4e4d4d;
    font-size: 14px
}

#development #sec04 .sec04__list-text {
    width: 60%;
    font-size: 14px;
    line-height: 2.6
}

#development #sec05 {
    background-color: #f7f8f8;
    padding: 110px 0 150px
}

#development #sec05 .sec05__maintitle {
    margin-bottom: 50px
}

@media (max-width:834px) {
    #development #sec04 .sec04__list-text {
        line-height: 2;
        font-size: 13px;
        width: 100%
    }

    #development #sec05 {
        padding: 80px 0 100px
    }

    #development #sec05 .sec05__maintitle {
        margin-bottom: 30px
    }
}

#development #sec05 .sec05__maintitle-en {
    margin-bottom: 10px
}

#development #sec05 .sec05__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-bottom: 60px
}

#development #sec05 .sec05__flex-l {
    width: 360px
}

@media (max-width:1200px) {
    #development #sec05 .sec05__flex-r {
        padding-left: 30px
    }
}

@media (max-width:1024px) {
    #development #sec05 .sec05__flex-r {
        padding-left: 10px
    }
}

@media (max-width:834px) {
    #development #sec05 .sec05__flex {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 40px
    }

    #development #sec05 .sec05__flex-l {
        width: 100%;
        margin-bottom: 20px
    }

    #development #sec05 .sec05__flex-r {
        padding-left: 0
    }
}

#development #sec05 .sec05__flex-text {
    font-size: 16px;
    line-height: 2
}

#development #sec05 .sec05__flex-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#development #sec05 .sec05__flex-list01 {
    margin-bottom: 20px
}

@media (max-width:520px) {
    #development #sec05 .sec05__flex-r {
        width: 100%
    }

    #development #sec05 .sec05__flex-text {
        font-size: 13px;
        line-height: 1.6
    }

    #development #sec05 .sec05__flex-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    #development #sec05 .sec05__flex-list01 {
        margin-bottom: 0
    }

    #development #sec05 .sec05__flex-list li {
        margin-bottom: 10px
    }
}

#development #sec05 .sec05__flex-list01 li {
    background-color: #000;
    color: #fff
}

#development #sec05 .sec05__flex-list02 li {
    background-color: #fff;
    color: #000
}

#development #sec05 .sec05__flex-list li {
    text-align: center;
    padding: 8px 20px;
    font-size: 18px;
    margin-right: 10px;
    white-space: nowrap;
    width: 100%
}

#development #sec05 .sec05__flex-list li:last-child {
    margin-right: 0
}

@media (max-width:1200px) {
    #development #sec05 .sec05__flex-list li {
        font-size: 16px
    }
}

@media (max-width:1024px) {
    #development #sec05 .sec05__flex-list li {
        font-size: 14px;
        padding: 8px 10px
    }
}

#development #sec05 .sec05__img {
    text-align: center
}

#development #sec05 .sec05__img img,
#development #sec05 .sec05__img picture {
    max-width: 100%;
    height: auto
}

@media (max-width:834px) {
    #development #sec05 .sec05__flex-list li {
        font-size: 13px;
        padding: 8px 10px
    }

    #development #sec05 .sec05__img {
        max-width: 320px;
        margin: 0 auto
    }
}

#data-and-intelligence {
    overflow: clip;
    background-color: #fff
}

#data-and-intelligence #sec01 .sec01__box01 {
    margin-bottom: 230px;
    position: relative;
    z-index: 1
}

@media (max-width:1024px) {
    #data-and-intelligence #sec01 .sec01__box01 {
        margin-bottom: 240px
    }
}

@media (max-width:834px) {
    #data-and-intelligence #sec01 .sec01__box01 {
        margin-bottom: 160px
    }

    #data-and-intelligence #sec01 .sec01__flex {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media (max-width:520px) {
    #data-and-intelligence #sec01 .sec01__box01 {
        margin-bottom: 120px
    }
}

#data-and-intelligence #sec01 .sec01__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#data-and-intelligence #sec01 .sec01__flex-l,
#data-and-intelligence #sec01 .sec01__flex-r {
    width: 50%
}

@media (max-width:834px) {

    #data-and-intelligence #sec01 .sec01__flex-l,
    #data-and-intelligence #sec01 .sec01__flex-r {
        width: 100%
    }
}

#data-and-intelligence #sec01 .sec01__flex-l {
    position: relative
}

@media (max-width:1024px) {
    #data-and-intelligence #sec01 .sec01__flex-l {
        width: 40%
    }
}

@media (max-width:834px) {
    #data-and-intelligence #sec01 .sec01__flex-l {
        width: 100%;
        margin-bottom: 30px
    }
}

#data-and-intelligence #sec01 .sec01__flex-r {
    padding-top: 38px
}

#data-and-intelligence #sec01 .sec01__pimg01 {
    position: absolute;
    right: 30%;
    bottom: 0;
    -webkit-transform: translateY(50%);
    transform: translateY(50%)
}

@media (max-width:1600px) {
    #data-and-intelligence #sec01 .sec01__pimg01 {
        right: 20%
    }

    #data-and-intelligence #sec01 .sec01__pimg01 img {
        max-width: 640px;
        height: auto
    }
}

@media (max-width:1024px) {
    #data-and-intelligence #sec01 .sec01__flex-r {
        width: 60%
    }

    #data-and-intelligence #sec01 .sec01__pimg01 {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    #data-and-intelligence #sec01 .sec01__pimg01 img {
        max-width: 420px;
        height: auto
    }
}

@media (max-width:834px) {
    #data-and-intelligence #sec01 .sec01__flex-r {
        width: 100%;
        padding-top: 0
    }

    #data-and-intelligence #sec01 .sec01__pimg01 {
        position: static;
        margin: 0 auto 30px;
        text-align: center
    }

    #data-and-intelligence #sec01 .sec01__pimg01 img {
        max-width: 60%;
        height: auto
    }
}

#data-and-intelligence #sec01 .sec01__pimg02 {
    position: absolute;
    right: 0;
    bottom: -440px;
    z-index: 1
}

@media (max-width:1024px) {
    #data-and-intelligence #sec01 .sec01__pimg02 {
        bottom: -320px
    }
}

@media (max-width:834px) {
    #data-and-intelligence #sec01 .sec01__pimg02 {
        bottom: -200px
    }
}

@media (max-width:520px) {
    #data-and-intelligence #sec01 .sec01__pimg01 img {
        max-width: 100%;
        height: auto
    }

    #data-and-intelligence #sec01 .sec01__pimg02 {
        bottom: -160px
    }
}

#data-and-intelligence #sec01 .sec01__pimg02 img,
#data-and-intelligence #sec01 .sec01__pimg02 picture {
    height: auto;
    max-width: 380px
}

@media (max-width:1200px) {

    #data-and-intelligence #sec01 .sec01__pimg02 img,
    #data-and-intelligence #sec01 .sec01__pimg02 picture {
        max-width: 320px
    }
}

@media (max-width:1024px) {

    #data-and-intelligence #sec01 .sec01__pimg02 img,
    #data-and-intelligence #sec01 .sec01__pimg02 picture {
        max-width: 280px
    }
}

@media (max-width:834px) {

    #data-and-intelligence #sec01 .sec01__pimg02 img,
    #data-and-intelligence #sec01 .sec01__pimg02 picture {
        max-width: 180px
    }
}

#data-and-intelligence #sec01 .sec01__maintitle-en {
    font-size: 16px;
    margin-bottom: 20px
}

@media (max-width:834px) {
    #data-and-intelligence #sec01 .sec01__maintitle-en {
        font-size: 14px;
        margin-bottom: 10px
    }
}

#data-and-intelligence #sec01 .sec01__maintitle-ja {
    color: #231815;
    font-size: 26px;
    font-weight: 400
}

#data-and-intelligence #sec01 .sec01__maintitle-ja span {
    font-size: 32px;
    line-height: 1;
    padding-top: 5px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:1024px) {
    #data-and-intelligence #sec01 .sec01__maintitle-ja {
        font-size: 22px
    }

    #data-and-intelligence #sec01 .sec01__maintitle-ja span {
        font-size: 26px
    }
}

@media (max-width:520px) {

    #data-and-intelligence #sec01 .sec01__pimg02 img,
    #data-and-intelligence #sec01 .sec01__pimg02 picture {
        max-width: 140px
    }

    #data-and-intelligence #sec01 .sec01__maintitle-ja {
        font-size: 16px
    }

    #data-and-intelligence #sec01 .sec01__maintitle-ja span {
        font-size: 22px
    }
}

#data-and-intelligence #sec01 .sec01__textbox {
    position: relative
}

#data-and-intelligence #sec01 .sec01__textbox01 .sec01__textbox-titleja {
    margin-bottom: 50px
}

@media (max-width:834px) {
    #data-and-intelligence #sec01 .sec01__textbox01 .sec01__textbox-titleja {
        margin-bottom: 20px
    }
}

#data-and-intelligence #sec01 .sec01__textbox01 .sec01__textbox-titleen {
    margin-bottom: 100px
}

@media (max-width:834px) {
    #data-and-intelligence #sec01 .sec01__textbox01 .sec01__textbox-titleen {
        margin-bottom: 40px
    }
}

#data-and-intelligence #sec01 .sec01__textbox02 .sec01__textbox-titleja {
    margin-bottom: 10px
}

@media (max-width:834px) {
    #data-and-intelligence #sec01 .sec01__textbox02 .sec01__textbox-titleja {
        margin-bottom: 20px
    }
}

#data-and-intelligence #sec01 .sec01__textbox02 .sec01__textbox-titleen {
    margin-bottom: 50px
}

#data-and-intelligence #sec01 .sec01__textbox-titleja {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.8;
    color: #231815
}

@media (max-width:1200px) {
    #data-and-intelligence #sec01 .sec01__textbox-titleja {
        font-size: 24px
    }
}

@media (max-width:834px) {
    #data-and-intelligence #sec01 .sec01__textbox02 .sec01__textbox-titleen {
        margin-bottom: 40px
    }

    #data-and-intelligence #sec01 .sec01__textbox-titleja {
        font-size: 18px
    }
}

@media (max-width:520px) {
    #data-and-intelligence #sec01 .sec01__textbox-titleja {
        font-size: 16px
    }
}

#data-and-intelligence #sec01 .sec01__textbox-titleen {
    font-size: 14px;
    color: #595757;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:834px) {
    #data-and-intelligence #sec01 .sec01__textbox-titleen {
        font-size: 13px
    }
}

#data-and-intelligence #sec01 .sec01__textbox-text {
    font-size: 16px;
    font-weight: 400;
    line-height: 2.2
}

#addvalue #sec01 .sec01__circlebox-loopbox_text,
#addvalue #sec02 .sec02__servicelist-en,
#addvalue #sec02 .sec02__servicelist-entitle,
#addvalue #sec02 .sec02__titlebox-en,
#data-and-intelligence #sec02 .sec02__maintitle-en,
#data-and-intelligence #sec02 .sec02__maintitle-ja span,
#data-and-intelligence #sec03 .sec03__titlebox-ptext_en,
#data-and-intelligence #sec04 .sec04__titlebox-en {
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

#data-and-intelligence #sec02 {
    padding: 100px 0 0;
    background-color: #f7f8f8;
    position: relative
}

#data-and-intelligence #sec02::before {
    content: "";
    width: calc(100% - 180px);
    height: 80px;
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #fff
}

@media (max-width:1320px) {
    #data-and-intelligence #sec02::before {
        width: 100%;
        height: 40px
    }
}

#data-and-intelligence #sec02 .sec02__maintitle {
    margin-bottom: 50px
}

@media (max-width:834px) {
    #data-and-intelligence #sec01 .sec01__textbox-text {
        font-size: 13px
    }

    #data-and-intelligence #sec02 {
        padding: 60px 0 0
    }

    #data-and-intelligence #sec02 .sec02__maintitle {
        margin-bottom: 30px
    }
}

#data-and-intelligence #sec02 .sec02__maintitle-ja {
    margin-bottom: 10px;
    font-size: 24px;
    color: #231815
}

@media (max-width:834px) {
    #data-and-intelligence #sec02 .sec02__maintitle-ja {
        font-size: 18px
    }
}

#data-and-intelligence #sec02 .sec02__maintitle-en {
    font-size: 14px;
    color: #595757
}

#data-and-intelligence #sec02 .sec02__jsonbox {
    position: relative;
    z-index: 1
}

#data-and-intelligence #sec03 {
    background-color: #f7f8f8
}

#data-and-intelligence #sec03 .sec03__bkgbox {
    background-color: #fff;
    width: calc(100% - 180px);
    margin: 0 auto;
    padding: 120px 0
}

@media (max-width:1320px) {
    #data-and-intelligence #sec03 .sec03__bkgbox {
        width: 100%
    }
}

@media (max-width:834px) {
    #data-and-intelligence #sec02 .sec02__maintitle-en {
        font-size: 12px;
        letter-spacing: 0
    }

    #data-and-intelligence #sec03 .sec03__bkgbox {
        padding: 60px 0
    }

    #data-and-intelligence #sec03 .sec03__titlebox {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content
    }
}

#data-and-intelligence #sec03 .sec03__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 60px
}

#data-and-intelligence #sec03 .sec03__titlebox {
    position: relative;
    margin-bottom: 20px;
    padding-right: 120px
}

#data-and-intelligence #sec03 .sec03__titlebox-ptext {
    position: absolute;
    top: -20px;
    right: 0
}

@media (max-width:520px) {
    #data-and-intelligence #sec03 .sec03__titlebox {
        width: 100%;
        padding-right: 0
    }

    #data-and-intelligence #sec03 .sec03__titlebox-ptext {
        top: 30px;
        right: 0
    }
}

#data-and-intelligence #sec03 .sec03__titlebox-ptext_ja {
    font-size: 20px;
    color: #fff
}

#data-and-intelligence #sec03 .sec03__titlebox-ptext_line {
    width: 12px;
    height: 1px;
    background-color: #fff;
    margin: 5px 0
}

@media (max-width:1220px) {
    #data-and-intelligence #sec03 .sec03__titlebox-ptext_ja {
        font-size: 16px
    }

    #data-and-intelligence #sec03 .sec03__titlebox-ptext_line {
        margin: 2px 0
    }
}

#data-and-intelligence #sec03 .sec03__titlebox-ptext_en {
    font-size: 13px;
    color: #fff
}

#data-and-intelligence #sec03 .sec03__titlebox-ptext_inr {
    width: 120px;
    height: 120px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50%;
    background-color: teal;
    position: relative
}

@media (max-width:1220px) {
    #data-and-intelligence #sec03 .sec03__titlebox-ptext_inr {
        width: 80px;
        height: 80px
    }
}

#data-and-intelligence #sec03 .sec03__titlebox-ptext_icon {
    position: absolute;
    right: -10px;
    bottom: 0;
    -webkit-transform: translateY(60%);
    transform: translateY(60%)
}

@media (max-width:834px) {
    #data-and-intelligence #sec03 .sec03__titlebox-ptext_inr {
        width: 70px;
        height: 70px
    }

    #data-and-intelligence #sec03 .sec03__titlebox-ptext_icon {
        width: 30px
    }

    #data-and-intelligence #sec03 .sec03__titlebox-ptext_icon img {
        max-width: 100%
    }
}

#data-and-intelligence #sec03 .sec03__textbox {
    width: 48%;
    position: relative
}

@media (max-width:1024px) {
    #data-and-intelligence #sec03 .sec03__textbox {
        width: 60%
    }
}

#data-and-intelligence #sec03 .sec03__textbox-text01 {
    font-size: 16px
}

@media (max-width:1220px) {
    #data-and-intelligence #sec03 .sec03__textbox-text01 {
        font-size: 14px
    }
}

@media (max-width:520px) {
    #data-and-intelligence #sec03 .sec03__textbox-text01 {
        font-size: 13px
    }
}

#data-and-intelligence #sec03 .sec03__textbox-text02 {
    font-size: 30px;
    margin-bottom: 20px
}

@media (max-width:1220px) {
    #data-and-intelligence #sec03 .sec03__textbox-text02 {
        font-size: 22px
    }
}

@media (max-width:520px) {
    #data-and-intelligence #sec03 .sec03__textbox-text02 {
        font-size: 18px
    }
}

#data-and-intelligence #sec03 .sec03__textbox-text03 {
    font-size: 24px;
    line-height: 2
}

@media (max-width:1220px) {
    #data-and-intelligence #sec03 .sec03__textbox-text03 {
        font-size: 18px
    }
}

@media (max-width:520px) {
    #data-and-intelligence #sec03 .sec03__textbox-text03 {
        font-size: 16px
    }
}

#data-and-intelligence #sec03 .sec03__textbox-text04 {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 60px
}

@media (max-width:1220px) {
    #data-and-intelligence #sec03 .sec03__textbox-text04 {
        font-size: 13px;
        margin-bottom: 30px
    }
}

#data-and-intelligence #sec03 .sec03__imgbox {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: -100px;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    background-image: url(../cmn_img/service/data-and-intelligence/sec03_img01.png);
    background-position: center;
    background-size: cover
}

@media (max-width:834px) {
    #data-and-intelligence #sec03 .sec03__textbox {
        width: 100%
    }

    #data-and-intelligence #sec03 .sec03__imgbox {
        display: none
    }
}

#data-and-intelligence #sec03 .sec03__iconlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#data-and-intelligence #sec03 .sec03__iconlist>li {
    width: 33%;
    text-align: center
}

#data-and-intelligence #sec03 .sec03__iconlist-icon {
    max-width: 80px;
    margin: 0 auto 20px
}

#data-and-intelligence #sec03 .sec03__iconlist-icon img,
#data-and-intelligence #sec03 .sec03__iconlist-icon picture {
    max-width: 100%;
    height: auto
}

#data-and-intelligence #sec03 .sec03__iconlist-text {
    font-size: 16px
}

@media (max-width:520px) {
    #data-and-intelligence #sec03 .sec03__iconlist-icon {
        max-width: 60px
    }

    #data-and-intelligence #sec03 .sec03__iconlist-text {
        font-size: 11px
    }
}

#data-and-intelligence #sec03 .sec03__schedulebox-text {
    font-size: 18px;
    padding-left: 28px;
    position: relative;
    margin-bottom: 30px
}

@media (max-width:1024px) {
    #data-and-intelligence #sec03 .sec03__schedulebox-text {
        font-size: 16px
    }
}

#data-and-intelligence #sec03 .sec03__schedulebox-text::before {
    content: "";
    background-color: #231815;
    width: 18px;
    height: 1px;
    position: absolute;
    left: 0;
    top: 14px
}

#data-and-intelligence #sec03 .sec03__schedulebox-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 16px
}

#data-and-intelligence #sec03 .sec03__schedulebox-list02 {
    margin-bottom: 0
}

#data-and-intelligence #sec03 .sec03__schedulebox-list_sp {
    display: none
}

#data-and-intelligence #sec03 .sec03__schedulebox-list li {
    background-color: #f7f8f8;
    font-size: 18px;
    line-height: 1;
    padding: 12px 10px;
    border-radius: 25px;
    margin-right: 10px;
    width: calc(100% - 10px);
    text-align: center;
    white-space: nowrap
}

@media (max-width:1240px) {
    #data-and-intelligence #sec03 .sec03__schedulebox-list li {
        font-size: 16px
    }
}

@media (max-width:1024px) {
    #data-and-intelligence #sec03 .sec03__schedulebox-list li {
        font-size: 13px;
        padding: 10px;
        margin-right: 5px;
        width: calc(100% - 5px)
    }
}

@media (max-width:834px) {
    #data-and-intelligence #sec03 .sec03__schedulebox-list_pc {
        display: none
    }

    #data-and-intelligence #sec03 .sec03__schedulebox-list_sp {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #data-and-intelligence #sec03 .sec03__schedulebox-list li {
        padding: 10px 18px;
        line-height: 1.4;
        width: calc(50% - 5px);
        white-space: normal;
        white-space: initial;
        margin-bottom: 10px
    }

    #data-and-intelligence #sec03 .sec03__schedulebox-list li:nth-child(2n) {
        margin-right: 0
    }
}

@media (max-width:520px) {
    #data-and-intelligence #sec03 .sec03__schedulebox-list li {
        width: 100%;
        font-size: 11px;
        letter-spacing: 0;
        padding: 10px 8px
    }
}

#data-and-intelligence #sec04 {
    background-color: #f7f8f8;
    padding: 130px 0
}

#data-and-intelligence #sec04 .sec04__titlebox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 60px
}

@media (max-width:1024px) {
    #data-and-intelligence #sec04 {
        padding: 80px 0
    }

    #data-and-intelligence #sec04 .sec04__titlebox {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

@media (max-width:834px) {
    #data-and-intelligence #sec04 {
        padding: 60px 0
    }

    #data-and-intelligence #sec04 .sec04__titlebox {
        margin-bottom: 20px
    }
}

#data-and-intelligence #sec04 .sec04__titlebox-ja {
    font-size: 30px
}

@media (max-width:1024px) {
    #data-and-intelligence #sec04 .sec04__titlebox-ja {
        font-size: 24px;
        margin-bottom: 8px
    }
}

@media (max-width:834px) {
    #data-and-intelligence #sec04 .sec04__titlebox-ja {
        font-size: 18px
    }
}

#data-and-intelligence #sec04 .sec04__titlebox-en {
    padding: 5px 18px;
    background-color: #231815;
    color: #fff;
    font-size: 18px;
    margin-left: 50px
}

#data-and-intelligence #sec04 .sec04__flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#data-and-intelligence #sec04 .sec04__flexbox-logo {
    width: 350px
}

@media (max-width:1024px) {
    #data-and-intelligence #sec04 .sec04__titlebox-en {
        margin-left: 0;
        font-size: 16px
    }

    #data-and-intelligence #sec04 .sec04__flexbox-logo {
        width: 260px
    }
}

@media (max-width:834px) {
    #data-and-intelligence #sec04 .sec04__titlebox-en {
        font-size: 14px
    }

    #data-and-intelligence #sec04 .sec04__flexbox-logo {
        width: 180px;
        margin-bottom: 20px
    }
}

#data-and-intelligence #sec04 .sec04__flexbox-logo img,
#data-and-intelligence #sec04 .sec04__flexbox-logo picture {
    width: 100%;
    height: auto
}

#data-and-intelligence #sec04 .sec04__flexbox-textbox {
    width: calc(100% - 420px)
}

@media (max-width:1024px) {
    #data-and-intelligence #sec04 .sec04__flexbox-textbox {
        width: calc(100% - 300px)
    }
}

@media (max-width:834px) {
    #data-and-intelligence #sec04 .sec04__flexbox-textbox {
        width: calc(100% - 200px)
    }
}

@media (max-width:520px) {
    #data-and-intelligence #sec04 .sec04__flexbox {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    #data-and-intelligence #sec04 .sec04__flexbox-textbox {
        width: 100%
    }
}

#data-and-intelligence #sec04 .sec04__flexbox-textbox_link {
    font-size: 16px;
    margin-bottom: 10px;
    position: relative;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media (max-width:834px) {
    #data-and-intelligence #sec04 .sec04__flexbox-textbox_link {
        font-size: 14px
    }
}

#data-and-intelligence #sec04 .sec04__flexbox-textbox_link-icon {
    position: absolute;
    right: -18px;
    top: -5px
}

#data-and-intelligence #sec04 .sec04__flexbox-textbox_link-icon svg {
    width: 12px
}

#data-and-intelligence #sec04 .sec04__flexbox-textbox_link-icon .cls-1 {
    fill: #f8f7f3
}

#data-and-intelligence #sec04 .sec04__flexbox-textbox_link-icon .cls-1,
#data-and-intelligence #sec04 .sec04__flexbox-textbox_link-icon .cls-2 {
    stroke: #141414
}

#data-and-intelligence #sec04 .sec04__flexbox-textbox_link-icon .cls-2 {
    fill: none
}

#data-and-intelligence #sec04 .sec04__flexbox-textbox_text {
    font-size: 16px;
    line-height: 2
}

#data-and-intelligence #sec05 {
    padding: 110px 0 0
}

#data-and-intelligence #sec05 .sec05__maintitle {
    margin-bottom: 30px
}

#data-and-intelligence #sec05 .sec05__flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#data-and-intelligence #sec05 .sec05__flexbox-title {
    width: 200px
}

@media (max-width:834px) {
    #data-and-intelligence #sec04 .sec04__flexbox-textbox_text {
        font-size: 13px;
        line-height: 1.6
    }

    #data-and-intelligence #sec05 {
        padding: 80px 0 0
    }

    #data-and-intelligence #sec05 .sec05__maintitle {
        margin-bottom: 10px
    }

    #data-and-intelligence #sec05 .sec05__flexbox {
        display: block
    }

    #data-and-intelligence #sec05 .sec05__flexbox-title {
        width: 100%
    }
}

#data-and-intelligence #sec05 .sec05__list {
    width: 660px;
    margin-bottom: 130px
}

@media (max-width:834px) {
    #data-and-intelligence #sec05 .sec05__list {
        width: 100%;
        margin-bottom: 80px
    }
}

#data-and-intelligence #sec05 .sec05__list li {
    padding: 40px 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media (max-width:834px) {
    #data-and-intelligence #sec05 .sec05__list li {
        padding: 30px 10px
    }
}

@media (max-width:520px) {
    #data-and-intelligence #sec05 .sec05__list {
        width: calc(100% + 60px);
        position: relative;
        left: -30px
    }

    #data-and-intelligence #sec05 .sec05__list li {
        padding: 30px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

#data-and-intelligence #sec05 .sec05__list li:nth-child(1) {
    padding: 10px 30px 40px
}

@media (max-width:834px) {
    #data-and-intelligence #sec05 .sec05__list li:nth-child(1) {
        padding: 30px 10px
    }
}

#data-and-intelligence #sec05 .sec05__list li:nth-child(2) {
    background-color: #f7f8f8
}

#data-and-intelligence #sec05 .sec05__list-title {
    font-size: 16px;
    width: 270px
}

@media (max-width:520px) {
    #data-and-intelligence #sec05 .sec05__list li:nth-child(1) {
        padding: 30px
    }

    #data-and-intelligence #sec05 .sec05__list-title {
        width: 100%;
        margin-bottom: 10px;
        font-size: 15px
    }
}

#data-and-intelligence #sec05 .sec05__list-text {
    font-size: 14px;
    width: calc(100% - 270px)
}

@media (max-width:520px) {
    #data-and-intelligence #sec05 .sec05__list-text {
        width: 100%;
        font-size: 13px
    }
}

#data-and-intelligence #sec05 .sec05__bkg {
    height: 620px;
    max-width: 1480px;
    width: 90%;
    margin: 0 auto;
    background-image: url(../cmn_img/service/data-and-intelligence/sec05_bkg.png);
    position: relative;
    z-index: 0
}

#data-and-intelligence #sec05 .sec05__bkg::after,
#data-and-intelligence #sec05 .sec05__bkg::before {
    content: "";
    position: absolute;
    bottom: -1px;
    height: 400px;
    width: 100%;
    background-color: #f7f8f8;
    z-index: -1
}

#data-and-intelligence #sec05 .sec05__bkg::before {
    right: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
}

#data-and-intelligence #sec05 .sec05__bkg::after {
    left: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

@media (max-width:1400px) {
    #data-and-intelligence #sec05 .sec05__bkg {
        height: 420px
    }

    #data-and-intelligence #sec05 .sec05__bkg::after,
    #data-and-intelligence #sec05 .sec05__bkg::before {
        height: 200px
    }
}

@media (max-width:1024px) {
    #data-and-intelligence #sec05 .sec05__bkg {
        height: 320px
    }

    #data-and-intelligence #sec05 .sec05__bkg::after,
    #data-and-intelligence #sec05 .sec05__bkg::before {
        height: 160px
    }
}

@media (max-width:520px) {
    #data-and-intelligence #sec05 .sec05__bkg {
        height: 280px;
        background-size: contain
    }

    #data-and-intelligence #sec05 .sec05__bkg::after,
    #data-and-intelligence #sec05 .sec05__bkg::before {
        content: "";
        position: absolute;
        bottom: -1px;
        height: 140px;
        width: 100%;
        background-color: #f7f8f8;
        z-index: -1
    }
}

#data-and-intelligence #sec06 {
    padding: 80px 0 180px;
    background-color: #f7f8f8
}

@media (max-width:1024px) {
    #data-and-intelligence #sec06 {
        padding: 60px 0 100px
    }
}

#data-and-intelligence #sec06 .sec06__maintitle {
    margin-bottom: 50px
}

#data-and-intelligence #sec06 .sec06__maintitle-en {
    margin-bottom: 30px
}

@media (max-width:834px) {
    #data-and-intelligence #sec05 .sec05__bkg {
        background-image: url(../cmn_img/service/data-and-intelligence/sec05_bkg-sp.png)
    }

    #data-and-intelligence #sec06 {
        padding: 60px 0 80px
    }

    #data-and-intelligence #sec06 .sec06__maintitle {
        margin-bottom: 30px
    }

    #data-and-intelligence #sec06 .sec06__maintitle-en {
        margin-bottom: 10px
    }
}

#data-and-intelligence #sec06 .sec06__catlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 90px
}

#data-and-intelligence #sec06 .sec06__catlist>li {
    font-size: 18px;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

#data-and-intelligence #sec06 .sec06__catlist>li:nth-child(1) {
    background-color: #fff;
    color: #000;
    width: 165px;
    margin-right: 20px
}

#data-and-intelligence #sec06 .sec06__catlist>li:nth-child(2) {
    background-color: #000;
    color: #fff;
    width: 250px
}

#data-and-intelligence #sec06 .sec06__afterbox,
#data-and-intelligence #sec06 .sec06__beforebox {
    padding: 60px;
    position: relative
}

@media (max-width:834px) {
    #data-and-intelligence #sec06 .sec06__catlist {
        margin-bottom: 50px
    }

    #data-and-intelligence #sec06 .sec06__catlist>li {
        font-size: 14px;
        height: 40px
    }

    #data-and-intelligence #sec06 .sec06__afterbox,
    #data-and-intelligence #sec06 .sec06__beforebox {
        padding: 30px 20px
    }
}

#data-and-intelligence #sec06 .sec06__afterbox-ptext,
#data-and-intelligence #sec06 .sec06__beforebox-ptext {
    position: absolute;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 0;
    left: 0;
    font-size: 16px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    width: 160px;
    padding: 10px 0;
    text-align: center;
    border-radius: 50px
}

#data-and-intelligence #sec06 .sec06__afterbox-flex,
#data-and-intelligence #sec06 .sec06__beforebox-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#data-and-intelligence #sec06 .sec06__afterbox-flex.fl,
#data-and-intelligence #sec06 .sec06__beforebox-flex.fl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

@media (max-width:834px) {

    #data-and-intelligence #sec06 .sec06__afterbox-ptext,
    #data-and-intelligence #sec06 .sec06__beforebox-ptext {
        font-size: 13px;
        width: 120px
    }

    #data-and-intelligence #sec06 .sec06__afterbox-flex.fl,
    #data-and-intelligence #sec06 .sec06__beforebox-flex.fl {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    #data-and-intelligence #sec06 .sec06__afterbox-flex.fl .sec06__beforebox-imgbox,
    #data-and-intelligence #sec06 .sec06__beforebox-flex.fl .sec06__beforebox-imgbox {
        display: block;
        width: 100%;
        margin-bottom: 30px;
        text-align: center
    }

    #data-and-intelligence #sec06 .sec06__afterbox-flex.fl .sec06__beforebox-imgbox img,
    #data-and-intelligence #sec06 .sec06__beforebox-flex.fl .sec06__beforebox-imgbox img {
        max-width: 220px;
        margin: 0 auto
    }
}

#data-and-intelligence #sec06 .sec06__afterbox-imgbox img,
#data-and-intelligence #sec06 .sec06__afterbox-oneimg img,
#data-and-intelligence #sec06 .sec06__afterbox-oneimg picture,
#data-and-intelligence #sec06 .sec06__beforebox-imgbox img {
    max-width: 100%;
    height: auto
}

#data-and-intelligence #sec06 .sec06__afterbox-title,
#data-and-intelligence #sec06 .sec06__beforebox-title {
    font-size: 25px;
    margin-bottom: 20px
}

@media (max-width:834px) {

    #data-and-intelligence #sec06 .sec06__afterbox-title,
    #data-and-intelligence #sec06 .sec06__beforebox-title {
        font-size: 16px
    }
}

#data-and-intelligence #sec06 .sec06__afterbox-text,
#data-and-intelligence #sec06 .sec06__beforebox-text {
    font-size: 15px;
    line-height: 1.8
}

#data-and-intelligence #sec06 .sec06__afterbox-textbox,
#data-and-intelligence #sec06 .sec06__beforebox-textbox {
    width: 770px
}

@media (max-width:1024px) {

    #data-and-intelligence #sec06 .sec06__afterbox-textbox,
    #data-and-intelligence #sec06 .sec06__beforebox-textbox {
        width: 100%;
        margin-bottom: 20px
    }
}

#data-and-intelligence #sec06 .sec06__afterbox-imgbox,
#data-and-intelligence #sec06 .sec06__beforebox-imgbox {
    width: calc(100% - 780px);
    line-height: 0
}

#data-and-intelligence #sec06 .sec06__beforebox {
    background-color: #efefef;
    margin-bottom: 90px;
    position: relative
}

#data-and-intelligence #sec06 .sec06__beforebox-arrow {
    position: absolute;
    left: 50%;
    bottom: -70px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

#data-and-intelligence #sec06 .sec06__beforebox-ptext {
    background-color: #595757;
    color: #fff
}

#data-and-intelligence #sec06 .sec06__afterbox {
    background-color: #fff
}

@media (max-width:1024px) {
    #data-and-intelligence #sec06 .sec06__afterbox {
        margin-bottom: 60px
    }
}

#data-and-intelligence #sec06 .sec06__afterbox-textbox {
    margin-bottom: 30px
}

#data-and-intelligence #sec06 .sec06__afterbox-ptext {
    background-color: #ea5514;
    color: #fff
}

#addvalue {
    background-color: #fff
}

#addvalue #submv .submv__inr {
    height: 620px;
    background-image: url(../cmn_img/service/addvalue/mv_bkg.png);
    background-position: right top;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding-bottom: 50px
}

@media (max-width:1024px) {
    #addvalue #submv .submv__inr {
        height: 480px;
        padding: 0 30px 30px
    }
}

@media (max-width:834px) {

    #data-and-intelligence #sec06 .sec06__afterbox-text,
    #data-and-intelligence #sec06 .sec06__beforebox-text {
        font-size: 13px
    }

    #data-and-intelligence #sec06 .sec06__afterbox-imgbox,
    #data-and-intelligence #sec06 .sec06__beforebox-imgbox {
        display: none
    }

    #addvalue #submv .submv__inr {
        height: 420px
    }
}

@media (max-width:520px) {
    #addvalue #submv .submv__inr {
        height: 340px
    }
}

#addvalue #sec01 .sec01__moviebox {
    width: 100%;
    position: relative
}

#addvalue #sec01 .sec01__moviebox-video {
    width: 100%
}

#addvalue #sec01 .sec01__circlebox {
    background-color: #000;
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative
}

#addvalue #sec01 .sec01__circlebox-imgbox {
    max-width: 680px;
    margin: 0 auto 120px;
    position: relative
}

@media (max-width:834px) {
    #addvalue #sec01 .sec01__circlebox {
        height: auto
    }

    #addvalue #sec01 .sec01__circlebox-imgbox {
        margin-bottom: 80px
    }
}

#addvalue #sec01 .sec01__circlebox-imgbox_cover img,
#addvalue #sec01 .sec01__circlebox-imgbox_cover picture {
    max-width: 100%;
    max-height: calc(100vh - 120px);
    width: auto;
    height: auto
}

#addvalue #sec01 .sec01__circlebox-imgbox_list01,
#addvalue #sec01 .sec01__circlebox-imgbox_list02,
#addvalue #sec01 .sec01__circlebox-imgbox_list03 {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%
}

@media (max-width:834px) {

    #addvalue #sec01 .sec01__circlebox-imgbox_cover img,
    #addvalue #sec01 .sec01__circlebox-imgbox_cover picture {
        max-height: calc(100vh - 100px)
    }

    #addvalue #sec01 .sec01__circlebox-imgbox_list01,
    #addvalue #sec01 .sec01__circlebox-imgbox_list02,
    #addvalue #sec01 .sec01__circlebox-imgbox_list03 {
        width: 90%
    }
}

#addvalue #sec01 .sec01__circlebox-imgbox_list01 img,
#addvalue #sec01 .sec01__circlebox-imgbox_list01 picture,
#addvalue #sec01 .sec01__circlebox-imgbox_list02 img,
#addvalue #sec01 .sec01__circlebox-imgbox_list02 picture,
#addvalue #sec01 .sec01__circlebox-imgbox_list03 img,
#addvalue #sec01 .sec01__circlebox-imgbox_list03 picture {
    max-width: 100%;
    height: auto
}

#addvalue #sec01 .sec01__circlebox-imgbox_icon {
    position: absolute
}

#addvalue #sec01 .sec01__circlebox-imgbox_icon-inr {
    -webkit-animation: move 1.2s ease-in-out infinite alternate;
    animation: move 1.2s ease-in-out infinite alternate
}

@-webkit-keyframes move {
    0% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    100% {
        -webkit-transform: translate(0, 10px);
        transform: translate(0, 10px)
    }
}

@keyframes move {
    0% {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    100% {
        -webkit-transform: translate(0, 10px);
        transform: translate(0, 10px)
    }
}

@media (max-width:520px) {
    #addvalue #sec01 .sec01__circlebox-imgbox {
        margin-bottom: 20px
    }

    #addvalue #sec01 .sec01__circlebox-imgbox_list01,
    #addvalue #sec01 .sec01__circlebox-imgbox_list02,
    #addvalue #sec01 .sec01__circlebox-imgbox_list03 {
        width: 80%
    }

    #addvalue #sec01 .sec01__circlebox-imgbox_icon {
        display: none
    }
}

#addvalue #sec01 .sec01__circlebox-imgbox_icon01 {
    top: 20%;
    right: -100px;
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
}

#addvalue #sec01 .sec01__circlebox-imgbox_icon01 .sec01__circlebox-imgbox_icon-inr {
    background-color: #ea5514;
    width: 130px;
    height: 130px;
    border-radius: 50%
}

#addvalue #sec01 .sec01__circlebox-imgbox_icon02 {
    bottom: 30%;
    right: -100px;
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
}

#addvalue #sec01 .sec01__circlebox-imgbox_icon02 .sec01__circlebox-imgbox_icon-inr {
    background-color: #ea5514;
    width: 12px;
    height: 12px;
    border-radius: 50%
}

#addvalue #sec01 .sec01__circlebox-imgbox_icon03 {
    bottom: 40%;
    left: -380px;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

#addvalue #sec01 .sec01__circlebox-imgbox_icon03 .sec01__circlebox-imgbox_icon-inr {
    background-color: #ea5514;
    width: 6px;
    height: 6px;
    border-radius: 50%
}

#addvalue #sec01 .sec01__circlebox-imgbox_icon04 {
    bottom: 40%;
    left: -100px;
    -webkit-transform: translateX(-100%) rotate(45deg);
    transform: translateX(-100%) rotate(45deg)
}

#addvalue #sec01 .sec01__circlebox-imgbox_icon04 .sec01__circlebox-imgbox_icon-inr {
    background-color: teal;
    width: 145px;
    height: 145px
}

#addvalue #sec01 .sec01__circlebox-imgbox_icon05 {
    bottom: 30%;
    left: -100px;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

#addvalue #sec01 .sec01__circlebox-imgbox_icon05 .sec01__circlebox-imgbox_icon-inr {
    background-color: teal;
    width: 28px;
    height: 28px
}

#addvalue #sec01 .sec01__circlebox-loopbox {
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    overflow: hidden
}

#about,
#recruit {
    overflow: clip
}

#addvalue #sec01 .sec01__circlebox-loopbox_inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px
}

#addvalue #sec01 .sec01__circlebox-loopbox_list {
    font-size: 30px;
    color: #fff;
    line-height: 1;
    letter-spacing: 3px;
    white-space: nowrap;
    -webkit-animation: sec01_looptext 38s infinite linear .5s both;
    animation: sec01_looptext 38s infinite linear .5s both
}

@-webkit-keyframes sec01_looptext {
    from {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@keyframes sec01_looptext {
    from {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@media (max-width:834px) {
    #addvalue #sec01 .sec01__circlebox-loopbox_inr {
        margin-bottom: 10px
    }

    #addvalue #sec01 .sec01__circlebox-loopbox_list {
        font-size: 22px
    }
}

#addvalue #sec01 .sec01__circlebox-loopbox_text {
    color: #fff;
    font-size: 15px;
    text-align: center;
    letter-spacing: 2px
}

#addvalue #sec02 {
    background-color: #000
}

#addvalue #sec02 .sec02__flexbox {
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative
}

#addvalue #sec02 .sec02__flexbox::after {
    content: "";
    background-color: #000;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 5px;
    top: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

#addvalue #sec02 .sec02__flexbox-l {
    width: 300px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #000;
    z-index: 1
}

@media (max-width:834px) {
    #addvalue #sec01 .sec01__circlebox-loopbox_text {
        font-size: 13px
    }

    #addvalue #sec02 .sec02__flexbox {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    #addvalue #sec02 .sec02__flexbox::after {
        content: none
    }

    #addvalue #sec02 .sec02__flexbox-l {
        width: 100%
    }
}

#addvalue #sec02 .sec02__flexbox-r {
    width: calc(100% - 300px);
    position: relative;
    z-index: -1
}

#addvalue #sec02 .sec02__titlebox {
    margin-top: auto
}

#addvalue #sec02 .sec02__titlebox-sp {
    display: none
}

#addvalue #sec02 .sec02__titlebox-ja {
    font-size: 16px;
    color: #fff
}

@media (max-width:834px) {
    #addvalue #sec02 .sec02__flexbox-r {
        width: 100%;
        height: 280px
    }

    #addvalue #sec02 .sec02__titlebox {
        width: 100%;
        margin-top: 0;
        margin-bottom: 30px
    }

    #addvalue #sec02 .sec02__titlebox-img {
        display: none
    }

    #addvalue #sec02 .sec02__titlebox-sp {
        display: block
    }

    #addvalue #sec02 .sec02__titlebox-ja {
        font-size: 13px
    }
}

#addvalue #sec02 .sec02__titlebox-en {
    font-size: 100px;
    color: #fff
}

@media (max-width:834px) {
    #addvalue #sec02 .sec02__titlebox-en {
        font-size: 52px
    }
}

@media (max-width:520px) {
    #addvalue #sec02 .sec02__titlebox-en {
        font-size: 34px
    }
}

#addvalue #sec02 .sec02__servicelist {
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#addvalue #sec02 .sec02__servicelist li {
    background-color: #fff;
    padding: 45px 60px;
    margin-right: 20px;
    width: 480px
}

#addvalue #sec02 .sec02__servicelist-en {
    font-size: 120px;
    text-align: center
}

@media (max-width:1024px) {
    #addvalue #sec02 .sec02__servicelist li {
        padding: 30px 40px;
        width: 380px
    }

    #addvalue #sec02 .sec02__servicelist-en {
        font-size: 80px
    }
}

@media (max-width:834px) {
    #addvalue #sec02 .sec02__servicelist li {
        padding: 15px 20px;
        width: 320px
    }

    #addvalue #sec02 .sec02__servicelist-en {
        font-size: 48px
    }
}

#addvalue #sec02 .sec02__servicelist-entitle {
    font-size: 26px;
    text-align: center;
    white-space: nowrap
}

@media (max-width:1024px) {
    #addvalue #sec02 .sec02__servicelist-entitle {
        font-size: 20px
    }
}

@media (max-width:834px) {
    #addvalue #sec02 .sec02__servicelist-entitle {
        font-size: 16px
    }
}

#addvalue #sec02 .sec02__servicelist-jatitle {
    font-size: 17px;
    background-color: #000;
    color: #fff;
    padding: 10px;
    text-align: center;
    width: 100%;
    border-radius: 25px;
    margin-bottom: 20px;
    white-space: nowrap
}

#addvalue #sec04 .sec04__qalist-textbox span,
#addvalue #sec04 .sec04__qalist-title span {
    color: teal;
    font-weight: 600 !important;
    font-family: Jost, sans-serif
}

#addvalue #sec02 .sec02__servicelist-jatitle span {
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    font-size: 19px;
    margin-right: 8px
}

@media (max-width:1024px) {
    #addvalue #sec02 .sec02__servicelist-jatitle {
        font-size: 15px;
        padding: 10px
    }

    #addvalue #sec02 .sec02__servicelist-jatitle span {
        font-size: 16px
    }
}

@media (max-width:834px) {
    #addvalue #sec02 .sec02__servicelist-jatitle {
        font-size: 13px;
        padding: 5px 10px
    }

    #addvalue #sec02 .sec02__servicelist-jatitle span {
        font-size: 14px
    }
}

#addvalue #sec02 .sec02__servicelist-text {
    font-size: 16px;
    line-height: 2
}

#addvalue #sec03 {
    padding: 140px 0
}

#addvalue #sec03 .sec03__maintitle {
    margin-bottom: 100px
}

@media (max-width:834px) {
    #addvalue #sec02 .sec02__servicelist-text {
        font-size: 13px;
        line-height: 1.6
    }

    #addvalue #sec03 {
        padding: 80px 0
    }

    #addvalue #sec03 .sec03__maintitle {
        margin-bottom: 60px
    }
}

#addvalue #sec03 .sec03__maintitle-en {
    margin-bottom: 10px
}

#addvalue #sec03 .sec03__flow>li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 120px
}

#addvalue #sec03 .sec03__flow>li:last-child {
    margin-bottom: 0
}

#addvalue #sec03 .sec03__flow>li:last-child .sec03__flow-imgbox::after {
    content: none
}

@media (max-width:834px) {
    #addvalue #sec03 .sec03__flow>li {
        margin-bottom: 80px;
        display: block
    }
}

#addvalue #sec03 .sec03__flow-imgbox {
    width: 300px;
    position: relative;
    text-align: center
}

#addvalue #sec03 .sec03__flow-imgbox img {
    max-width: 100%;
    height: auto
}

#addvalue #sec03 .sec03__flow-imgbox::after {
    content: "";
    display: inline-block;
    width: 3px;
    height: 240px;
    background-image: url(../cmn_img/service/addvalue/sec03_line.svg);
    background-size: cover;
    position: absolute;
    bottom: 40px;
    left: 150px;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    z-index: -1
}

@media (max-width:834px) {
    #addvalue #sec03 .sec03__flow-imgbox {
        width: 100%;
        margin: 0 auto 30px
    }

    #addvalue #sec03 .sec03__flow-imgbox::after {
        content: none
    }
}

@media (max-width:520px) {
    #addvalue #sec03 .sec03__flow-imgbox {
        width: 160px;
        margin: 0 auto 30px
    }
}

#addvalue #sec03 .sec03__flow-textbox {
    width: calc(100% - 420px)
}

@media (max-width:834px) {
    #addvalue #sec03 .sec03__flow-textbox {
        width: 80%;
        margin: 0 auto
    }
}

#addvalue #sec03 .sec03__flow-textbox_en {
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    font-size: 13px;
    margin-bottom: 8px
}

#addvalue #sec03 .sec03__flow-textbox_ja {
    font-size: 18px;
    margin-bottom: 8px
}

#addvalue #sec03 .sec03__flow-textbox_ja span {
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    font-size: 18px
}

@media (max-width:834px) {
    #addvalue #sec03 .sec03__flow-textbox_ja {
        font-size: 16px;
        margin-bottom: 8px
    }

    #addvalue #sec03 .sec03__flow-textbox_ja span {
        font-size: 16px
    }
}

@media (max-width:520px) {
    #addvalue #sec03 .sec03__flow-textbox {
        width: 100%
    }

    #addvalue #sec03 .sec03__flow-textbox_ja {
        font-size: 14px;
        margin-bottom: 8px
    }

    #addvalue #sec03 .sec03__flow-textbox_ja span {
        font-size: 14px
    }
}

#addvalue #sec03 .sec03__flow-textbox_text {
    font-size: 15px;
    line-height: 2
}

#addvalue #sec04 {
    padding: 130px 0 180px;
    background-color: #f7f8f8
}

@media (max-width:834px) {
    #addvalue #sec03 .sec03__flow-textbox_text {
        font-size: 13px
    }

    #addvalue #sec04 {
        padding: 80px 0 100px
    }
}

@media (max-width:520px) {
    #addvalue #sec04 {
        padding: 60px 0 80px
    }
}

#addvalue #sec04 .sec04__maintitle {
    margin-bottom: 50px
}

@media (max-width:834px) {
    #addvalue #sec04 .sec04__maintitle {
        margin-bottom: 30px
    }
}

#addvalue #sec04 .sec04__maintitle-en {
    margin-bottom: 10px
}

#addvalue #sec04 .sec04__qalist li {
    background-color: #fff;
    padding: 40px 80px 40px 40px;
    border-radius: 16px;
    margin-bottom: 20px
}

#addvalue #sec04 .sec04__qalist li:last-child {
    margin-bottom: 0
}

#addvalue #sec04 .sec04__qalist-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    cursor: pointer
}

@media (min-width:767px) {
    #addvalue #sec04 .sec04__qalist-title:hover p {
        color: teal;
        letter-spacing: 2px
    }
}

#addvalue #sec04 .sec04__qalist-title span {
    font-size: 16px;
    margin-right: 20px;
    position: relative;
    top: 3px
}

@media (max-width:834px) {
    #addvalue #sec04 .sec04__qalist li {
        border-radius: 8px;
        padding: 20px 40px 20px 20px
    }

    #addvalue #sec04 .sec04__qalist-title span {
        margin-right: 6px;
        top: 1px;
        font-size: 14px
    }
}

#addvalue #sec04 .sec04__qalist-title p {
    font-size: 16px;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#addvalue #sec04 .sec04__qalist-title.is-open .sec04__qalist-icon_inr::after {
    -webkit-transform: translate(-50%, -50%) rotate(-90deg);
    transform: translate(-50%, -50%) rotate(-90deg);
    opacity: 0
}

#addvalue #sec04 .sec04__qalist-icon {
    position: absolute;
    right: -40px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

#addvalue #sec04 .sec04__qalist-icon_inr {
    position: relative;
    width: 20px;
    height: 20px;
    display: block;
    cursor: pointer
}

#addvalue #sec04 .sec04__qalist-icon_inr::after,
#addvalue #sec04 .sec04__qalist-icon_inr::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #231815;
    display: block;
    border-radius: 10px;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#addvalue #sec04 .sec04__qalist-icon_inr::before {
    width: 100%;
    height: 2px
}

#addvalue #sec04 .sec04__qalist-icon_inr::after {
    width: 2px;
    height: 100%
}

@media (max-width:834px) {
    #addvalue #sec04 .sec04__qalist-title p {
        font-size: 14px
    }

    #addvalue #sec04 .sec04__qalist-icon {
        right: -20px
    }

    #addvalue #sec04 .sec04__qalist-icon_inr {
        width: 12px;
        height: 12px
    }
}

#addvalue #sec04 .sec04__qalist-textbox {
    display: none;
    padding: 10px 0 0;
    position: relative
}

#addvalue #sec04 .sec04__qalist-textbox_inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#addvalue #sec04 .sec04__qalist-textbox span {
    font-size: 16px;
    margin-right: 20px;
    position: relative;
    top: 3px
}

@media (max-width:834px) {
    #addvalue #sec04 .sec04__qalist-textbox span {
        margin-right: 6px;
        top: 1px;
        font-size: 14px
    }
}

#addvalue #sec04 .sec04__qalist-textbox p {
    font-size: 16px;
    font-weight: 400
}

#about .sec__flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#about .sec__flexbox-l {
    width: 300px
}

@media (max-width:834px) {
    #addvalue #sec04 .sec04__qalist-textbox p {
        font-size: 14px
    }

    #about .sec__flexbox {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #about .sec__flexbox-l {
        width: 100%
    }
}

#about .sec__flexbox-r {
    width: calc(100% - 300px)
}

#about .sec__navlist {
    position: -webkit-sticky;
    position: sticky;
    top: 80px;
    border-left: 1px #b5b5b6 solid
}

@media (max-width:834px) {
    #about .sec__flexbox-r {
        width: 100%
    }

    #about .sec__navlist {
        position: static;
        top: 0;
        margin-bottom: 50px;
        border-left: none;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        display: none
    }
}

#about .sec__navlist-link {
    color: #b5b5b6;
    font-size: 16px;
    padding-left: 40px;
    position: relative
}

@media (min-width:767px) {
    #about .sec__navlist-link:hover {
        color: #000;
        letter-spacing: 3px
    }
}

#about .sec__navlist-link::before {
    content: none;
    height: 100%;
    width: 1px;
    position: absolute;
    top: 0;
    left: -1px;
    background-color: #377e7f
}

#about .sec__navlist li {
    margin-bottom: 60px
}

#about .sec__navlist li.current .sec__navlist-link {
    font-weight: 600;
    color: #000;
    pointer-events: none
}

#about .sec__navlist li.current .sec__navlist-link::before {
    content: ""
}

#about #sec01 .sec01__mainbox {
    margin-bottom: 120px
}

@media (max-width:834px) {
    #about .sec__navlist-link {
        font-size: 14px
    }

    #about #sec01 .sec01__mainbox {
        margin-bottom: 80px
    }
}

#about #sec01 .sec01__mainbox-en {
    margin-bottom: 20px
}

@media (max-width:834px) {
    #about #sec01 .sec01__mainbox-en {
        margin-bottom: 10px
    }
}

#about #sec01 .sec01__mainbox-ja {
    margin-bottom: 50px
}

@media (max-width:834px) {
    #about #sec01 .sec01__mainbox-ja {
        margin-bottom: 30px
    }

    #about #sec01 .sec01__mainbox-json img {
        max-width: 100%;
        height: auto
    }
}

#about #sec01 .sec01__mainbox-json {
    margin-bottom: 10px
}

#about #sec01 .sec01__mainbox-json_pc {
    display: block
}

#about #sec01 .sec01__mainbox-json_sp {
    display: none
}

@media (max-width:834px) {
    #about #sec01 .sec01__mainbox-json_pc {
        display: none
    }

    #about #sec01 .sec01__mainbox-json_sp {
        display: block
    }
}

#about #sec01 .sec01__mainbox-logo {
    text-align: center
}

#about #sec01 .sec01__mainbox-logo img {
    max-width: 100%;
    height: auto
}

#about #sec01 .sec01__list-titlebox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-bottom: 60px
}

#about #sec01 .sec01__list-titlebox_num {
    font-size: 14px;
    margin-right: 30px
}

@media (max-width:834px) {
    #about #sec01 .sec01__list-titlebox {
        margin-bottom: 40px
    }

    #about #sec01 .sec01__list-titlebox_num {
        font-size: 13px;
        margin-right: 10px
    }
}

#about #sec01 .sec01__list-titlebox_en {
    font-size: 32px;
    margin-right: 40px;
    line-height: 1;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:834px) {
    #about #sec01 .sec01__list-titlebox_en {
        font-size: 24px;
        margin-right: 20px
    }
}

#about #sec01 .sec01__list-titlebox_ja {
    font-size: 14px;
    color: teal
}

@media (max-width:834px) {
    #about #sec01 .sec01__list-titlebox_ja {
        font-size: 13px
    }
}

#about #sec01 .sec01__list-subtitle {
    font-size: 24px;
    margin-bottom: 10px
}

@media (max-width:834px) {
    #about #sec01 .sec01__list-subtitle {
        font-size: 18px
    }
}

#about #sec01 .sec01__list-text {
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
    color: #595757
}

#about #sec01 .sec01__list-iconlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media (max-width:520px) {
    #about #sec01 .sec01__list-iconlist {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

#about #sec01 .sec01__list-iconlist>li {
    border-right: 1px solid #efefef;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 15px 5px
}

#about #sec01 .sec01__list-iconlist>li:nth-child(1) {
    width: 28%
}

@media (max-width:520px) {
    #about #sec01 .sec01__list-iconlist>li {
        border-right: none;
        border-bottom: 1px solid #efefef;
        padding: 24px 5px
    }

    #about #sec01 .sec01__list-iconlist>li:nth-child(1) {
        width: 100%
    }
}

#about #sec01 .sec01__list-iconlist>li:nth-child(2),
#about #sec01 .sec01__list-iconlist>li:nth-child(3) {
    width: 36%
}

#about #sec01 .sec01__list-iconlist>li:last-child {
    border-right: none
}

@media (max-width:520px) {

    #about #sec01 .sec01__list-iconlist>li:nth-child(2),
    #about #sec01 .sec01__list-iconlist>li:nth-child(3) {
        width: 100%
    }

    #about #sec01 .sec01__list-iconlist>li:last-child {
        border-bottom: none
    }
}

#about #sec01 .sec01__list-iconlist_inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

#about #sec01 .sec01__list-iconlist_icon {
    width: 100%;
    height: 63px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 30px
}

@media (max-width:834px) {
    #about #sec01 .sec01__list-text {
        font-size: 13px
    }

    #about #sec01 .sec01__list-iconlist_icon {
        margin-bottom: 10px
    }
}

#about #sec01 .sec01__list-iconlist_text {
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 2;
    position: relative;
    padding-left: 20px
}

#about #sec01 .sec01__list-iconlist_text::before {
    content: "";
    width: 6px;
    height: 6px;
    border: 2px solid #00a29a;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    top: 12px;
    left: 0;
    display: block
}

@media (max-width:1200px) {
    #about #sec01 .sec01__list-iconlist_text {
        font-size: 13px;
        padding-left: 14px
    }

    #about #sec01 .sec01__list-iconlist_text::before {
        top: 8px
    }
}

#about #sec01 .sec01__list>li {
    border-bottom: 1px solid #efefef;
    padding-bottom: 60px;
    margin-bottom: 60px
}

#about #sec01 .sec01__list>li:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0
}

#about #sec01 .sec01__bkg {
    height: 700px;
    background-position: center;
    background-size: cover;
    background-image: url(../cmn_img/about/sec01_img01.png);
    margin-top: 150px
}

@media (max-width:1024px) {
    #about #sec01 .sec01__bkg {
        height: 480px;
        margin-top: 120px
    }
}

@media (max-width:834px) {
    #about #sec01 .sec01__list>li {
        padding-bottom: 40px;
        margin-bottom: 40px
    }

    #about #sec01 .sec01__bkg {
        height: 280px;
        margin-top: 60px;
        background-image: url(../cmn_img/about/sec01_img01-sp.png)
    }
}

#about #sec02 {
    padding: 120px 0 220px;
    position: relative
}

#about #sec02 .sec02__mainbox-en {
    margin-bottom: 20px
}

@media (max-width:834px) {
    #about #sec02 {
        padding: 80px 0 120px
    }

    #about #sec02 .sec02__mainbox-en {
        margin-bottom: 10px
    }
}

#about #sec02 .sec02__mainbox-ja {
    margin-bottom: 50px
}

#about #sec02 .sec02__textbox {
    width: 480px;
    margin-left: auto
}

@media (max-width:834px) {
    #about #sec02 .sec02__mainbox-ja {
        margin-bottom: 30px
    }

    #about #sec02 .sec02__textbox {
        width: 100%
    }
}

#about #sec02 .sec02__textbox-ja {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #231815
}

@media (max-width:834px) {
    #about #sec02 .sec02__textbox-ja {
        font-size: 18px
    }
}

#about #sec02 .sec02__textbox-en {
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    font-size: 14px;
    margin-bottom: 50px;
    color: #9fa0a0
}

@media (max-width:834px) {
    #about #sec02 .sec02__textbox-en {
        font-size: 12px;
        margin-bottom: 30px
    }
}

#about #sec02 .sec02__textbox-text {
    font-size: 16px;
    line-height: 2.2;
    margin-bottom: 70px;
    font-weight: 400;
    color: #595757
}

@media (max-width:834px) {
    #about #sec02 .sec02__textbox-text {
        font-size: 13px;
        margin-bottom: 30px
    }
}

#about #sec02 .sec02__textbox-name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

#about #sec02 .sec02__textbox-name span {
    font-size: 15px;
    margin-right: 30px
}

#about #sec02 .sec02__textbox-name p {
    font-size: 20px
}

@media (max-width:834px) {
    #about #sec02 .sec02__textbox-name span {
        font-size: 12px;
        margin-right: 10px
    }

    #about #sec02 .sec02__textbox-name p {
        font-size: 18px
    }
}

#about #sec02 .sec02__ptext {
    position: absolute;
    left: 0;
    bottom: 0;
    font-size: 14vw;
    line-height: .8;
    letter-spacing: 5px;
    color: #efefef;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

#about #sec03 {
    padding: 180px 0 150px;
    background-color: #000;
    background-image: url(../cmn_img/about/sec03_bkg.svg);
    background-size: contain;
    background-position: bottom;
    background-repeat: no-repeat
}

#about #sec03 .sec03__mainbox-en::after,
#about #sec03 .sec__navlist-link::before {
    background-color: #fff
}

#about #sec03 .sec__navlist {
    border-left: 1px #9fa0a0 solid
}

#about #sec03 .sec__navlist-link {
    color: #898989
}

#about #sec03 .sec__navlist li.current .sec__navlist-link {
    color: #fff
}

#about #sec03 .sec03__mainbox-en {
    margin-bottom: 20px;
    color: #fff
}

@media (max-width:834px) {
    #about #sec03 {
        padding: 80px 0 120px
    }

    #about #sec03 .sec03__mainbox-en {
        margin-bottom: 10px
    }
}

#about #sec03 .sec03__mainbox-ja {
    margin-bottom: 50px;
    color: #fff
}

#about #sec03 .sec03__table-icon {
    margin-left: 10px
}

#about #sec03 .sec03__table-icon .cls-1 {
    fill: none;
    stroke: #fff;
    stroke-miterlimit: 10
}

#about #sec03 .sec03__table-icon svg {
    width: 12px
}

#about #sec03 .sec03__table-telbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#about #sec03 .sec03__table-telbox a,
#about #sec03 .sec03__table-telbox p {
    font-size: 16px;
    font-weight: 400;
    color: #fff
}

#about #sec03 .sec03__table-telbox a {
    pointer-events: none
}

#about #sec03 .sec03__table-map {
    font-size: 15px;
    color: #fff;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

@media (min-width:767px) {
    #about #sec03 .sec__navlist-link:hover {
        color: #fff;
        letter-spacing: 3px
    }

    #about #sec03 .sec03__table-map:hover {
        letter-spacing: 3px
    }
}

@media (max-width:834px) {
    #about #sec03 .sec03__mainbox-ja {
        margin-bottom: 30px
    }

    #about #sec03 .sec03__table-telbox a {
        text-decoration: underline;
        pointer-events: all
    }

    #about #sec03 .sec03__table-map {
        font-size: 13px
    }
}

#about #sec03 .sec03__table table {
    width: 100%
}

#about #sec03 .sec03__table td,
#about #sec03 .sec03__table th {
    text-align: left;
    padding: 20px 0;
    vertical-align: top;
    line-height: 2
}

@media (max-width:520px) {

    #about #sec03 .sec03__table td,
    #about #sec03 .sec03__table th {
        display: block;
        width: 100%;
        padding: 0
    }
}

#about #sec03 .sec03__table th {
    width: 320px;
    padding-left: 80px
}

@media (max-width:1024px) {
    #about #sec03 .sec03__table th {
        width: 140px;
        padding-left: 20px
    }
}

@media (max-width:520px) {
    #about #sec03 .sec03__table th {
        width: 100%;
        padding-left: 0;
        padding-bottom: 10px
    }
}

#about #sec03 .sec03__table th p {
    font-size: 16px;
    font-weight: 400;
    color: #c9caca
}

@media (max-width:834px) {
    #about #sec03 .sec03__table th p {
        font-size: 14px
    }
}

#about #sec03 .sec03__table td {
    width: calc(100% - 320px)
}

@media (max-width:1024px) {
    #about #sec03 .sec03__table td {
        width: calc(100% - 140px)
    }
}

@media (max-width:520px) {
    #about #sec03 .sec03__table td {
        width: 100%;
        padding-bottom: 30px
    }
}

#about #sec03 .sec03__table td p {
    font-size: 16px;
    font-weight: 400;
    color: #fff
}

#about #sec03 .sec03__table td span,
#about #sec03 .sec03__table td ul li>p>span {
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:834px) {
    #about #sec03 .sec03__table td p {
        font-size: 13px
    }
}

#about #sec03 .sec03__table td ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 5px
}

#about #sec03 .sec03__table td ul li:last-child {
    margin-bottom: 0
}

#about #sec03 .sec03__table td ul li>p {
    font-size: 16px
}

@media (max-width:834px) {
    #about #sec03 .sec03__table td ul li>p {
        font-size: 13px
    }
}

#about #sec03 .sec03__table td ul li>p>span {
    font-size: 16px
}

@media (max-width:834px) {
    #about #sec03 .sec03__table td ul li>p>span {
        font-size: 13px
    }
}

#about #sec03 .sec03__table td ul li>span {
    font-size: 11px;
    font-weight: 400;
    margin-left: 10px;
    color: #fff
}

#about #sec04 {
    padding: 120px 0 220px;
    background-color: #f7f8f8
}

#about #sec04 .sec04__mainbox-en {
    margin-bottom: 20px
}

@media (max-width:834px) {
    #about #sec04 {
        padding: 80px 0 120px
    }

    #about #sec04 .sec04__mainbox-en {
        margin-bottom: 10px
    }
}

#about #sec04 .sec04__mainbox-ja {
    margin-bottom: 50px
}

@media (max-width:834px) {
    #about #sec04 .sec04__mainbox-ja {
        margin-bottom: 30px
    }
}

#about #sec04 .sec04__textbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 60px
}

#about #sec04 .sec04__textbox-title {
    width: 50%;
    font-size: 16px
}

@media (max-width:1024px) {
    #about #sec04 .sec04__textbox-title {
        width: 25%
    }
}

@media (max-width:834px) {
    #about #sec04 .sec04__textbox {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-bottom: 40px
    }

    #about #sec04 .sec04__textbox-title {
        width: 100%;
        font-size: 14px;
        margin-bottom: 20px
    }
}

#about #sec04 .sec04__textbox-list {
    width: 50%
}

#about #sec04 .sec04__textbox-list li {
    font-size: 16px;
    margin-bottom: 15px;
    font-weight: 400
}

#about #sec04 .sec04__textbox-list li:last-child {
    margin-bottom: 0
}

@media (max-width:1024px) {
    #about #sec04 .sec04__textbox-list {
        width: 75%
    }

    #about #sec04 .sec04__textbox-list li {
        font-size: 15px
    }
}

#about #sec04 .sec04__map iframe {
    width: 100%;
    height: 450px;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%)
}

@media (max-width:1024px) {
    #about #sec04 .sec04__map iframe {
        height: 360px
    }
}

@media (max-width:834px) {
    #about #sec04 .sec04__textbox-list {
        width: 100%
    }

    #about #sec04 .sec04__textbox-list li {
        font-size: 13px;
        letter-spacing: 0;
        margin-bottom: 8px
    }

    #about #sec04 .sec04__map iframe {
        height: 360px
    }
}

@media (max-width:520px) {
    #about #sec04 .sec04__map iframe {
        height: 240px
    }
}

#others #sec01 {
    padding-bottom: 180px
}

#others #sec01 .mb01 {
    margin-bottom: 10px !important
}

#others #sec01 .mb02 {
    margin-bottom: 20px !important
}

#others #sec01 .mb03 {
    margin-bottom: 30px !important
}

#others #sec01 .mb04 {
    margin-bottom: 40px !important
}

#others #sec01 .mb05 {
    margin-bottom: 50px !important
}

#others #sec01 .mb08 {
    margin-bottom: 80px !important
}

#others #sec01 .tr {
    text-align: right
}

#others #sec01 .sec01__box01 {
    margin-bottom: 180px
}

@media (max-width:834px) {
    #others #sec01 {
        padding-bottom: 80px
    }

    #others #sec01 .sec01__box01 {
        margin-bottom: 80px
    }
}

#others #sec01 .sec01__maintitle {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 30px
}

@media (max-width:834px) {
    #others #sec01 .sec01__maintitle {
        font-size: 18px
    }
}

#others #sec01 .sec01__subtitle {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px
}

#others #sec01 .sec01__text01 {
    font-size: 16px;
    font-weight: 400;
    line-height: 2.2
}

@media (max-width:834px) {
    #others #sec01 .sec01__subtitle {
        font-size: 16px
    }

    #others #sec01 .sec01__text01 {
        font-size: 14px;
        line-height: 1.8
    }
}

#others #sec01 .sec01__text02 {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6
}

@media (max-width:834px) {
    #others #sec01 .sec01__text02 {
        font-size: 13px
    }
}

#others #sec01 .sec01__list01 li {
    text-indent: -2.2em;
    padding-left: 2.2em;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 10px
}

#others #sec01 .sec01__list01 li:last-child {
    margin-bottom: 0
}

#others #sec01 .sec01__list02 {
    padding-left: 30px
}

#others #sec01 .sec01__list02 li {
    margin-bottom: 15px
}

#others #sec01 .sec01__list02 li:last-child {
    margin-bottom: 0
}

#others #sec01 .sec01__list02-title {
    font-size: 14px;
    margin-bottom: 8px
}

@media (max-width:834px) {
    #others #sec01 .sec01__list01 li {
        font-size: 14px
    }

    #others #sec01 .sec01__list02 {
        padding-left: 0
    }

    #others #sec01 .sec01__list02-title {
        font-size: 13px
    }
}

#others #sec01 .sec01__list02-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

#others #sec01 .sec01__list02-text span {
    border: 1px solid #000;
    padding: 3px 10px;
    font-size: 14px;
    white-space: nowrap
}

@media (max-width:834px) {
    #others #sec01 .sec01__list02-text span {
        font-size: 13px;
        padding: 1px 5px
    }
}

#others #sec01 .sec01__list02-text p {
    font-size: 14px;
    margin-left: 20px;
    padding-top: 4px
}

#others #sec01 .sec01__list03 {
    padding-left: 30px
}

@media (max-width:834px) {
    #others #sec01 .sec01__list02-text p {
        font-size: 12px;
        padding-top: 2px;
        margin-left: 10px
    }

    #others #sec01 .sec01__list03 {
        padding-left: 0
    }
}

#others #sec01 .sec01__list03 li {
    margin-bottom: 15px
}

#others #sec01 .sec01__list03 li:last-child {
    margin-bottom: 0
}

#others #sec01 .sec01__list03-title {
    font-size: 14px;
    margin-bottom: 8px
}

@media (max-width:834px) {
    #others #sec01 .sec01__list03-title {
        font-size: 13px
    }
}

#others #sec01 .sec01__list03-text p {
    font-size: 14px;
    margin-left: 3.2em
}

@media (max-width:834px) {
    #others #sec01 .sec01__list03-text p {
        font-size: 13px
    }
}

#others #sec01 .sec01__borderbox {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    border: 1px solid #000;
    padding: 30px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto
}

#recruit .sec__flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#recruit .sec__flexbox-l {
    width: 300px
}

@media (max-width:834px) {
    #others #sec01 .sec01__borderbox {
        font-size: 13px;
        padding: 15px
    }

    #recruit .sec__flexbox {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #recruit .sec__flexbox-l {
        width: 100%
    }
}

#recruit .sec__flexbox-r {
    width: calc(100% - 300px)
}

#recruit .sec__navlist {
    position: -webkit-sticky;
    position: sticky;
    top: 80px;
    border-left: 1px #b5b5b6 solid
}

@media (max-width:834px) {
    #recruit .sec__flexbox-r {
        width: 100%
    }

    #recruit .sec__navlist {
        position: static;
        top: 0;
        margin-bottom: 50px;
        border-left: none;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        display: none
    }
}

#recruit .sec__navlist-link {
    color: #b5b5b6;
    font-size: 16px;
    padding-left: 40px;
    position: relative
}

@media (min-width:767px) {
    #recruit .sec__navlist-link:hover {
        color: #000;
        letter-spacing: 3px
    }
}

#recruit .sec__navlist-link::before {
    content: none;
    height: 100%;
    width: 1px;
    position: absolute;
    top: 0;
    left: -1px;
    background-color: teal
}

#recruit .sec__navlist li {
    margin-bottom: 60px
}

#recruit .sec__navlist li.current .sec__navlist-link {
    font-weight: 600;
    color: #000;
    pointer-events: none
}

#recruit #sec01 .sec01__mainbox-en,
#recruit #sec02 .sec02__list-titlebox_en {
    font-weight: 600 !important;
    font-family: Jost, sans-serif
}

#recruit .sec__navlist li.current .sec__navlist-link::before {
    content: ""
}

#recruit .sec__mainbox {
    position: relative
}

#recruit .sec__mainbox-en {
    margin-bottom: 20px;
    padding-left: 0;
    color: #231815
}

#recruit .sec__mainbox-en:after {
    content: none
}

@media (max-width:834px) {
    #recruit .sec__navlist-link {
        font-size: 14px
    }

    #recruit .sec__mainbox-en {
        margin-bottom: 10px
    }
}

#recruit .sec__mainbox-ja {
    margin-bottom: 50px;
    color: #231815
}

#recruit #sec01 {
    padding-bottom: 100px
}

@media (max-width:834px) {
    #recruit .sec__mainbox-ja {
        margin-bottom: 30px
    }

    #recruit #sec01 {
        padding-bottom: 60px
    }
}

#recruit #sec01 .sec01__mainbox {
    margin-bottom: 80px;
    position: relative
}

@media (max-width:834px) {
    #recruit #sec01 .sec01__mainbox {
        margin-bottom: 40px
    }
}

#recruit #sec01 .sec01__mainbox-ja {
    font-size: 30px;
    line-height: 1.6;
    margin-bottom: 18px
}

@media (max-width:834px) {
    #recruit #sec01 .sec01__mainbox-ja {
        font-size: 24px;
        margin-bottom: 10px
    }
}

@media (max-width:520px) {
    #recruit #sec01 .sec01__mainbox-ja {
        font-size: 20px;
        margin-bottom: 10px
    }
}

#recruit #sec01 .sec01__mainbox-en {
    font-size: 14px;
    color: #b5b5b6
}

#recruit #sec01 .sec01__mainbox-pimg {
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

#recruit #sec01 .sec01__text {
    font-size: 18px;
    line-height: 2.8;
    color: #231815
}

#recruit #sec01 .sec01__text span {
    color: #dcdddd;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
    display: inline-block
}

#recruit #sec01 .sec01__text br {
    display: block
}

@media (max-width:1024px) {
    #recruit #sec01 .sec01__text {
        font-size: 16px
    }
}

#recruit #sec02 {
    background-color: #f7f8f8;
    padding: 120px 0 280px;
    position: relative
}

#recruit #sec02 .sec02__pimg {
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
    z-index: 1
}

#recruit #sec02 .sec02__pimg-bkg {
    display: none
}

@media (max-width:1024px) {
    #recruit #sec02 {
        padding: 120px 0 200px
    }

    #recruit #sec02 .sec02__pimg {
        max-width: 1080px;
        width: 100%
    }

    #recruit #sec02 .sec02__pimg img,
    #recruit #sec02 .sec02__pimg picture {
        max-width: 100%;
        height: auto
    }
}

@media (max-width:834px) {
    #recruit #sec02 {
        padding: 80px 0 160px
    }

    #recruit #sec02 .sec02__pimg img,
    #recruit #sec02 .sec02__pimg picture {
        display: none
    }

    #recruit #sec02 .sec02__pimg-bkg {
        height: 240px;
        width: calc(100% - 60px);
        margin: 0 auto;
        display: block;
        background-image: url(../cmn_img/recruit/sec02_img02-sp.png);
        background-position: center;
        background-size: cover
    }
}

#recruit #sec02 .sec02__img {
    text-align: center;
    margin-bottom: 80px
}

@media (max-width:834px) {
    #recruit #sec02 .sec02__img {
        margin-bottom: 40px
    }
}

#recruit #sec02 .sec02__img img,
#recruit #sec02 .sec02__img picture {
    max-width: 100%;
    height: auto
}

#recruit #sec02 .sec02__list>li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 30px 0;
    border-bottom: 1px solid #efefef
}

#recruit #sec02 .sec02__list-titlebox {
    width: 180px
}

@media (max-width:520px) {
    #recruit #sec01 .sec01__text {
        font-size: 13px;
        line-height: 2.2
    }

    #recruit #sec02 .sec02__list>li {
        display: block
    }

    #recruit #sec02 .sec02__list-titlebox {
        width: 100%;
        margin-bottom: 20px
    }
}

#recruit #sec02 .sec02__list-titlebox_ja {
    font-size: 18px;
    color: #231815;
    margin-bottom: 5px
}

@media (max-width:834px) {
    #recruit #sec02 .sec02__list-titlebox_ja {
        font-size: 16px
    }
}

#recruit #sec02 .sec02__list-titlebox_en {
    font-size: 12px;
    color: #b5b5b6
}

#recruit #sec02 .sec02__list-textbox {
    width: calc(100% - 180px)
}

#recruit #sec02 .sec02__list-textbox>li {
    font-size: 16px;
    font-weight: 400;
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 5px
}

#recruit #sec02 .sec02__list-textbox>li:last-child {
    margin-bottom: 0
}

@media (max-width:834px) {
    #recruit #sec02 .sec02__list-textbox>li {
        font-size: 14px
    }
}

#recruit #sec03 {
    padding: 280px 0;
    background-color: #fff;
    position: relative
}

@media (max-width:1024px) {
    #recruit #sec03 {
        padding: 200px 0
    }
}

@media (max-width:834px) {
    #recruit #sec03 {
        padding: 160px 0 120px
    }
}

#recruit #sec03 .sec03__stepbox {
    background-color: #f7f8f8;
    padding: 15px 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media (max-width:520px) {
    #recruit #sec02 .sec02__list-textbox {
        width: 100%
    }

    #recruit #sec02 .sec02__list-textbox>li {
        font-size: 13px
    }

    #recruit #sec03 .sec03__stepbox {
        padding: 15px 18px;
        display: block
    }
}

#recruit #sec03 .sec03__stepbox-title {
    font-size: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: Jost, sans-serif;
    font-weight: 600 !important;
    height: 50px;
    padding-right: 30px;
    margin-right: 30px;
    border-right: #efefef 1px solid;
    color: #231815
}

@media (max-width:520px) {
    #recruit #sec03 .sec03__stepbox-title {
        font-size: 15px;
        height: auto;
        width: 100%;
        border-right: none;
        border-bottom: #efefef 1px solid;
        padding-bottom: 12px;
        margin-bottom: 12px
    }
}

#recruit #sec03 .sec03__stepbox-text {
    font-size: 14px;
    font-weight: 400;
    color: #231815
}

#recruit #sec03 .sec03__stepbox-arrow {
    text-align: center;
    margin: 20px 0
}

#recruit #sec03 .sec03__stepbox-arrow svg {
    width: 20px
}

#recruit #sec03 .sec03__stepbox-arrow .cls-1 {
    fill: none;
    stroke: #231815;
    stroke-miterlimit: 10
}

#recruit #sec03 .sec03__laststepbox {
    background-color: teal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 34px 0;
    margin-bottom: 50px
}

@media (max-width:520px) {
    #recruit #sec03 .sec03__stepbox-text {
        font-size: 13px
    }

    #recruit #sec03 .sec03__laststepbox {
        padding: 24px 0
    }
}

#recruit #sec03 .sec03__laststepbox>p {
    color: #fff;
    font-size: 18px;
    margin-right: 18px
}

@media (max-width:520px) {
    #recruit #sec03 .sec03__laststepbox>p {
        font-size: 16px;
        margin-right: 10px
    }
}

#recruit #sec03 .sec03__laststepbox>span {
    color: #fff;
    font-size: 14px
}

@media (max-width:520px) {
    #recruit #sec03 .sec03__laststepbox>span {
        font-size: 13px
    }
}

#recruit #sec03 .sec03__textlist {
    margin-bottom: 20px
}

#recruit #sec03 .sec03__textlist li {
    font-size: 14px;
    padding-left: 30px;
    position: relative;
    margin-bottom: 8px
}

@media (max-width:520px) {
    #recruit #sec03 .sec03__textlist li {
        font-size: 13px;
        padding-left: 18px
    }
}

#recruit #sec03 .sec03__textlist li:last-child {
    margin-bottom: 0
}

#recruit #sec03 .sec03__textlist li::before {
    content: "";
    width: 8px;
    height: 8px;
    background: #231815;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    display: block;
    position: absolute;
    left: 0;
    top: 6px
}

#recruit #sec03 .sec03__text {
    font-size: 14px;
    line-height: 2;
    color: #727171;
    font-weight: 400
}

@media (max-width:520px) {
    #recruit #sec03 .sec03__text {
        font-size: 13px
    }
}

#recruit #sec03 .sec03__entrybox {
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
    background-color: #000;
    border: 3px solid #000;
    max-width: 1300px;
    width: 94%;
    height: 280px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff
}

@media (min-width:767px) {
    #recruit #sec03 .sec03__entrybox:hover {
        background-color: #fff;
        color: #000;
        letter-spacing: 3px
    }

    #recruit #sec03 .sec03__entrybox:hover .sec03__entrybox-arrow {
        border-radius: 25px;
        width: 48px;
        height: 8px;
        background-color: #000
    }

    #recruit #sec03 .sec03__entrybox:hover .sec03__entrybox-arrow_inr::after,
    #recruit #sec03 .sec03__entrybox:hover .sec03__entrybox-arrow_inr::before {
        width: 24px;
        background-color: #000
    }

    #recruit #sec04 .sec04__qalist-title:hover p {
        color: teal;
        letter-spacing: 2px
    }
}

#recruit #sec04 .sec04__qalist-textbox span,
#recruit #sec04 .sec04__qalist-title span {
    color: teal;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

#recruit #sec03 .sec03__entrybox-inr {
    width: 100%;
    padding: 0 100px;
    position: relative
}

#recruit #sec03 .sec03__entrybox-ja {
    font-size: 46px;
    margin-bottom: 10px
}

@media (max-width:1024px) {
    #recruit #sec03 .sec03__entrybox {
        height: 220px
    }

    #recruit #sec03 .sec03__entrybox-inr {
        padding: 0 40px
    }

    #recruit #sec03 .sec03__entrybox-ja {
        font-size: 32px
    }
}

@media (max-width:834px) {
    #recruit #sec03 .sec03__entrybox {
        height: 140px
    }

    #recruit #sec03 .sec03__entrybox-inr {
        padding: 0 20px
    }

    #recruit #sec03 .sec03__entrybox-ja {
        font-size: 26px
    }
}

@media (max-width:520px) {
    #recruit #sec03 .sec03__entrybox-ja {
        font-size: 20px
    }
}

#recruit #sec03 .sec03__entrybox-en {
    font-size: 20px;
    font-family: Jost, sans-serif;
    font-weight: 600 !important
}

@media (max-width:1024px) {
    #recruit #sec03 .sec03__entrybox-en {
        font-size: 18px
    }
}

@media (max-width:520px) {
    #recruit #sec03 .sec03__entrybox-en {
        font-size: 14px
    }
}

#recruit #sec03 .sec03__entrybox-arrow {
    position: absolute;
    top: 50%;
    right: 100px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #fff;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

@media (max-width:1024px) {
    #recruit #sec03 .sec03__entrybox-arrow {
        right: 40px
    }
}

@media (max-width:834px) {
    #recruit #sec03 .sec03__entrybox-arrow {
        right: 20px;
        border-radius: 25px;
        width: 28px;
        height: 4px
    }
}

#recruit #sec03 .sec03__entrybox-arrow_inr {
    position: relative;
    display: block;
    height: 100%
}

#recruit #sec03 .sec03__entrybox-arrow_inr::after,
#recruit #sec03 .sec03__entrybox-arrow_inr::before {
    content: "";
    position: absolute;
    right: 0;
    height: 8px;
    border-radius: 25px;
    width: 0;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955);
    background-color: #fff
}

#recruit #sec03 .sec03__entrybox-arrow_inr::before {
    top: 0;
    -webkit-transform: translate(0, 100%) rotate(-45deg);
    transform: translate(0, 100%) rotate(-45deg)
}

#recruit #sec03 .sec03__entrybox-arrow_inr::after {
    bottom: 0;
    -webkit-transform: translate(0, -100%) rotate(45deg);
    transform: translate(0, -100%) rotate(45deg)
}

#recruit #sec04 {
    padding: 280px 0 160px;
    background-color: #f7f8f8
}

@media (max-width:834px) {

    #recruit #sec03 .sec03__entrybox-arrow_inr::after,
    #recruit #sec03 .sec03__entrybox-arrow_inr::before {
        width: 12px;
        height: 4px
    }

    #recruit #sec04 {
        padding: 120px 0 80px
    }
}

#recruit #sec04 .sec04__qalist li {
    background-color: #fff;
    padding: 40px 80px 40px 40px;
    border-radius: 16px;
    margin-bottom: 20px
}

#recruit #sec04 .sec04__qalist li:last-child {
    margin-bottom: 0
}

#recruit #sec04 .sec04__qalist-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    cursor: pointer
}

#recruit #sec04 .sec04__qalist-title span {
    font-size: 16px;
    margin-right: 20px;
    position: relative;
    top: 3px
}

@media (max-width:834px) {
    #recruit #sec04 .sec04__qalist li {
        border-radius: 8px;
        padding: 20px 40px 20px 20px
    }

    #recruit #sec04 .sec04__qalist-title span {
        margin-right: 6px;
        top: 1px;
        font-size: 14px
    }
}

#recruit #sec04 .sec04__qalist-title p {
    font-size: 16px;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#recruit #sec04 .sec04__qalist-title.is-open .sec04__qalist-icon_inr::after {
    -webkit-transform: translate(-50%, -50%) rotate(-90deg);
    transform: translate(-50%, -50%) rotate(-90deg);
    opacity: 0
}

#recruit #sec04 .sec04__qalist-icon {
    position: absolute;
    right: -40px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

#recruit #sec04 .sec04__qalist-icon_inr {
    position: relative;
    width: 20px;
    height: 20px;
    display: block;
    cursor: pointer
}

#recruit #sec04 .sec04__qalist-icon_inr::after,
#recruit #sec04 .sec04__qalist-icon_inr::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #231815;
    display: block;
    border-radius: 10px;
    -webkit-transition: all .3s cubic-bezier(.455, .03, .515, .955);
    transition: all .3s cubic-bezier(.455, .03, .515, .955)
}

#recruit #sec04 .sec04__qalist-icon_inr::before {
    width: 100%;
    height: 2px
}

#recruit #sec04 .sec04__qalist-icon_inr::after {
    width: 2px;
    height: 100%
}

@media (max-width:834px) {
    #recruit #sec04 .sec04__qalist-title p {
        font-size: 14px
    }

    #recruit #sec04 .sec04__qalist-icon {
        right: -20px
    }

    #recruit #sec04 .sec04__qalist-icon_inr {
        width: 12px;
        height: 12px
    }
}

#recruit #sec04 .sec04__qalist-textbox {
    display: none;
    padding: 10px 0 0;
    position: relative
}

#recruit #sec04 .sec04__qalist-textbox_inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

#recruit #sec04 .sec04__qalist-textbox span {
    font-size: 16px;
    margin-right: 20px;
    position: relative;
    top: 3px
}

@media (max-width:834px) {
    #recruit #sec04 .sec04__qalist-textbox span {
        margin-right: 6px;
        top: 1px;
        font-size: 14px
    }
}

#recruit #sec04 .sec04__qalist-textbox p {
    font-size: 16px;
    font-weight: 400
}

@media (max-width:834px) {
    #recruit #sec04 .sec04__qalist-textbox p {
        font-size: 14px
    }
}