img:is([sizes="auto" i], [sizes^="auto," i]) {
    contain-intrinsic-size: 3000px 1500px
}
@font-face {
    font-family: 'design_plus';
    src: url('../fonts/design_plus3661.eot') format('embedded-opentype'), url('../fonts/design_plus.woff') format('woff');
    font-weight: 400;
    font-style: normal
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}
html {
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%
}
ul,
ol {
    list-style: none
}
blockquote,
q {
    quotes: none
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none
}
a:focus {
    outline: none
}
ins {
    text-decoration: none
}
mark {
    font-style: italic;
    font-weight: 700
}
del {
    text-decoration: line-through
}
abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%
}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}
button,
input,
select,
textarea {
    outline: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 100%
}
input,
textarea {
    background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0));
    -webkit-appearance: none;
    border-radius: 0
}
input[type=checkbox] {
    -webkit-appearance: checkbox
}
input[type=radio] {
    -webkit-appearance: radio
}
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}
iframe {
    max-width: 100%
}
.clearfix:after {
    display: block;
    clear: both;
    content: ""
}
body {
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1;
    width: 100%;
    position: relative;
    -webkit-font-smoothing: antialiased
}
.pc body.admin-bar {
    padding-top: 32px
}
a {
    text-decoration: none
}
a,
a:before,
a:after,
input {
    -webkit-transition-property: background-color, color;
    -webkit-transition-duration: .2s;
    -webkit-transition-timing-function: ease;
    transition-property: background-color, color;
    transition-duration: .2s;
    transition-timing-function: ease
}
.clear {
    clear: both
}
.hide {
    display: none
}
.post_content {
    word-wrap: break-word
}
#container {
    position: relative;
    height: 100%
}
#main_contents {
    width: 1150px;
    margin: 0 auto;
    padding: 0 0 150px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}
#main_contents:after {
    position: absolute;
    left: 810px;
    content: '';
    width: 1px;
    height: 100%;
    background: #ddd
}
#main_col {
    width: 770px;
    padding: 40px 0 0;
    margin: 0 40px 0 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
body.page #main_col {
    padding-top: 50px
}
body.hide_sidebar #main_col {
    width: 850px;
    padding-top: 90px;
    margin: 0 auto
}
body.hide_sidebar #main_contents:after {
    display: none
}
#side_col {
    width: 340px
}
.design_button {
    text-align: center;
    z-index: 10;
    position: relative;
    height: 70px
}
.design_button a {
    display: inline-block;
    min-width: 260px;
    max-width: 100%;
    height: 70px;
    line-height: 70px;
    font-size: 16px;
    padding: 0 20px;
    position: relative;
    overflow: hidden;
    z-index: 3;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .35s ease;
    transition: all .35s ease
}
.design_button.shape_type1 a {
    border-radius: 60px;
    font-weight: 600
}
.design_button.type2 a,
.design_button.type3 a {
    border: 1px solid #fff
}
.design_button.type2 a:before,
.design_button.type3 a:before {
    content: '';
    display: block;
    width: 100%;
    height: calc(100% + 2px);
    position: absolute;
    top: -1px;
    left: -100%;
    z-index: -1;
    -webkit-transition: all .5s cubic-bezier(.22, 1, .36, 1) 0s;
    transition: all .5s cubic-bezier(.22, 1, .36, 1) 0s
}
.design_button.type3 a:before {
    transform: skewX(45deg);
    width: calc(100% + 70px);
    left: calc(-100% - 70px);
    transform-origin: bottom left
}
.design_button.type2 a:hover:before,
.design_button.type3 a:hover:before {
    left: 0
}
.design_button.quick_tag_ver {
    margin: 0 0 40px
}
.design_headline1 {
    font-size: 28px !important;
    text-align: center;
    line-height: 1.5 !important;
    margin: 0 0 50px !important;
    padding: 0 !important
}
.design_headline2 {
    font-size: 22px !important;
    font-weight: 600;
    margin: 100px -40px 63px 0 !important;
    padding: 0 40px 0 0 !important;
    border-top: 1px solid #ddd;
    text-align: center
}
.design_headline2 span {
    display: inline-block;
    border-top: 3px solid #0070a4;
    padding-top: 20px;
    margin-top: -1px
}
body.hide_sidebar .design_headline2 {
    margin-right: 0 !important;
    padding-right: 0 !important
}
body.hide_sidebar .design_line {
    margin-right: 0
}
.two_column_image .item {
    -ms-flex: 1 1 0%;
    -webkit-flex: 1 1 0%;
    flex: 1 1 0%
}
.two_column_image .item:first-of-type {
    margin-right: 10px
}
#site_loader_overlay {
    opacity: 1
}
body.end_loading #site_loader_overlay {
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity .9s ease 0s;
    transition: opacity .9s ease 0s
}
body.use_loading_screen.load_screen_animation_type2 #container {
    transform: translate3d(0px, 60px, 0px)
}
body.use_loading_screen.load_screen_animation_type3 #container {
    transform: translate3d(0px, -60px, 0px)
}
body.use_loading_screen #container.no_loading_screen {
    opacity: 0
}
body.use_loading_screen.load_screen_animation_type2.end_loading #container,
body.use_loading_screen.load_screen_animation_type3.end_loading #container {
    transform: translate3d(0px, 0px, 0px);
    -webkit-transition: transform .9s cubic-bezier(.165, .84, .44, 1) 0s;
    transition: transform .9s cubic-bezier(.165, .84, .44, 1) 0s
}
body.use_loading_screen.end_loading #container.no_loading_screen {
    opacity: 1;
    -webkit-transition: transform .9s cubic-bezier(.165, .84, .44, 1) 0s, opacity 1.5s ease 0s;
    transition: transform .9s cubic-bezier(.165, .84, .44, 1) 0s, opacity 1.5s ease 0s
}
#header_slider_wrap {
    width: 100%;
    height: 900px;
    position: relative;
    overflow: hidden
}
#header_slider {
    width: 100%;
    height: 900px;
    overflow: hidden;
    position: relative;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#header_slider .item {
    width: 100%;
    height: 900px;
    position: relative
}
#header_slider .caption {
    width: 1150px;
    z-index: 100;
    text-align: center;
    color: #fff;
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#header_slider .catch {
    font-weight: 600;
    line-height: 1.4;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
    position: relative
}
#header_slider .catch.animate_item:nth-child(2) {
    margin-top: 25px
}
#header_slider .desc {
    margin: 15px 0 0;
    position: relative
}
#header_slider .desc p {
    line-height: 2.0
}
#header_slider .desc p.mobile {
    display: none
}
#header_slider .design_button {
    margin-top: 30px
}
#header_slider .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2
}
#header_slider .bg_image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}
#header_slider .bg_image.mobile {
    display: none
}
#header_slider .video_wrap {
    position: absolute
}
#header_slider .video_wrap.type1 {
    position: absolute;
    top: 50%;
    left: auto;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
#header_slider .video_wrap.type2 {
    position: absolute;
    top: 0;
    left: 50%;
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}
#header_slider .video_wrap.type1 video {
    height: 100%;
    width: auto
}
#header_slider .video_wrap.type2 video {
    width: 100%;
    height: auto
}
#header_slider .youtube_inner {
    padding-top: 56.25%;
    position: relative;
    width: 100%
}
#header_slider .slide-youtube {
    height: 100% !important;
    position: absolute;
    left: 0;
    top: 0;
    width: 100% !important
}
#header_slider .slick-dots {
    display: none !important
}
#header_slider_nav_wrap {
    position: absolute;
    z-index: 100;
    bottom: 20px;
    width: 995px;
    height: 100px;
    left: 50%;
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}
#header_slider_nav_wrap.stop_animation .slick-track {
    transform: translate3d(0px, 0px, 0px) !important
}
@media screen and (max-width:750px) {
#header_slider_nav_wrap.stop_animation .slick-track {
        transform: translate3d(65px, 0px, 0px) !important
    }

}
#header_slider_nav_wrap.two_item {
    width: 640px
}
#header_slider_nav {
    width: 940px;
    position: relative;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}
#header_slider_nav_wrap.two_item #header_slider_nav {
    width: 640px
}
#header_slider_nav_wrap.stop_animation #header_slider_nav {
    -ms-justify-content: center;
    -webkit-justify-content: center;
    justify-content: center
}
#header_slider_nav .nav_item {
    width: 300px;
    height: 100px;
    margin: 0 10px;
    overflow: hidden;
    position: relative;
    background: #000;
    cursor: pointer;
    border-radius: 2px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    transition: transform .7s cubic-bezier(.22, 1, .36, 1), opacity .7s ease, box-shadow .7s ease
}
#header_slider_nav .slick-slide:not(.slick-center) .nav_item {
    opacity: .74;
    transform: scale(.94)
}
#header_slider_nav .slick-slide.slick-center .nav_item {
    opacity: 1;
    transform: scale(1.02);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .2)
}
#header_slider_nav .nav_image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    filter: saturate(.86) brightness(.88);
    transition: transform .9s cubic-bezier(.22, 1, .36, 1), filter .9s ease
}
#header_slider_nav .slick-slide.slick-center .nav_image {
    filter: saturate(1) brightness(1);
    transform: scale(1.045)
}
#header_slider_nav .nav_catch {
    font-size: 14px;
    padding: 0 50px 0 30px;
    opacity: 0;
    z-index: 3;
    line-height: 1.8;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
#header_slider_nav .nav_item:after {
    width: 300px;
    height: 100px;
    content: '';
    display: block;
    background: rgba(255, 255, 255, .95);
    position: absolute;
    z-index: 2;
    top: 0;
    left: -300px;
    opacity: .96;
    -webkit-transition: left .7s cubic-bezier(.22, 1, .36, 1), opacity .3s ease;
    transition: left .7s cubic-bezier(.22, 1, .36, 1), opacity .3s ease
}
#header_slider_nav .nav_item.slick-center .nav_catch,
#header_slider_nav .nav_item.slick-center:before,
#header_slider_nav_wrap.stop_animation .nav_item.slick-current .nav_catch,
#header_slider_nav_wrap.stop_animation .nav_item.slick-current:before {
    -webkit-animation: opacityAnimation .7s ease forwards 0s;
    animation: opacityAnimation .7s ease forwards 0s
}
#header_slider_nav .nav_item.slick-center:after,
#header_slider_nav_wrap.stop_animation .nav_item.slick-current:after {
    left: 0
}
#header_slider_nav .nav_item:hover .nav_catch {
    color: #fff;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .55);
    opacity: 1;
    transition: opacity .25s ease
}
#header_slider_nav .nav_item:hover .nav_image {
    filter: saturate(.9) brightness(.68);
    transform: scale(1.045)
}
#header_slider_nav .nav_item.slick-center {
    pointer-events: none
}
.carousel_arrow {
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    position: absolute;
    cursor: pointer;
    z-index: 10;
    overflow: hidden;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
.carousel_arrow:before {
    font-family: 'design_plus';
    color: #000;
    font-size: 18px;
    display: block;
    height: 50px;
    line-height: 50px;
    width: 100%;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: all .2s ease;
    transition: all .2s ease
}
.carousel_arrow.prev_item:before {
    content: '\e90f'
}
.carousel_arrow.next_item:before {
    content: '\e910';
    left: 0;
    right: 0
}
.carousel_arrow:hover:before {
    color: #ccc !important
}
.carousel_arrow.prev_item {
    left: -20px
}
.carousel_arrow.next_item {
    right: -20px
}
#header_slider_nav_wrap .carousel_arrow:before {
    color: #fff
}
#header_slider_nav_wrap .carousel_arrow {
    margin-top: 3px;
    border-radius: 50%;
    transition: background-color .25s ease
}
#header_slider_nav_wrap .carousel_arrow:hover {
    background: rgba(255, 255, 255, .16)
}
@media (prefers-reduced-motion: reduce) {
    #header_slider_nav .nav_item,
    #header_slider_nav .nav_image,
    #header_slider_nav .nav_item:after,
    #header_slider_nav_wrap .carousel_arrow {
        transition: none !important
    }
}
#header_slider .catch.animation_type1,
#header_slider .desc,
#header_slider .design_button {
    opacity: 0;
    position: relative
}
#header_slider .catch.animation_type1.animate,
#header_slider .desc.animate,
#header_slider .design_button.animate {
    -webkit-animation: slideUp 1.3s cubic-bezier(.165, .84, .44, 1) forwards 0s;
    animation: slideUp 1.3s cubic-bezier(.165, .84, .44, 1) forwards 0s
}
#header_slider .catch.animation_type2 span {
    opacity: 0;
    position: relative
}
#header_slider .catch.animation_type2 span.animate {
    -webkit-animation: text_animation .5s ease forwards 0s;
    animation: text_animation .5s ease forwards 0s
}
body.stop_index_slider_animation #header_slider .caption .animate_item,
body.stop_index_slider_animation #header_slider .catch.animation_type2 span {
    opacity: 1
}
#header_slider .item.bg_animation_type1.animate .bg_image {
    -webkit-animation: zoomIn 30s;
    animation: zoomIn 30s
}
#header_slider .item.bg_animation_type2.animate .bg_image {
    -webkit-animation: zoomOut 30s;
    animation: zoomOut 30s
}
#header_slider .item.bg_animation_type3.animate .bg_image {
    width: -webkit-calc(100% + 200px);
    height: -webkit-calc(100% + 200px);
    width: calc(100% + 200px);
    height: calc(100% + 200px);
    -webkit-animation: bg_image_move_right 30s;
    animation: bg_image_move_right 30s
}
#header_slider .item.bg_animation_type4.animate .bg_image {
    width: -webkit-calc(100% + 200px);
    height: -webkit-calc(100% + 200px);
    width: calc(100% + 200px);
    height: calc(100% + 200px);
    -webkit-animation: bg_image_move_left 30s;
    animation: bg_image_move_left 30s
}
#header_slider .item.bg_animation_type5.animate .bg_image {
    width: -webkit-calc(100% + 200px);
    height: -webkit-calc(100% + 200px);
    width: calc(100% + 200px);
    height: calc(100% + 200px);
    -webkit-animation: bg_image_move_up 30s;
    animation: bg_image_move_up 30s
}
#header_slider .item.bg_animation_type6.animate .bg_image {
    width: -webkit-calc(100% + 200px);
    height: -webkit-calc(100% + 200px);
    width: calc(100% + 200px);
    height: calc(100% + 200px);
    -webkit-animation: bg_image_move_down 30s;
    animation: bg_image_move_down 30s
}
@-webkit-keyframes bg_image_move_right {
    0% {
        transform: translate3d(-200px, 0, 0)
    }

    100% {
        transform: translate3d(0px, 0, 0)
    }
}
@keyframes bg_image_move_right {
    0% {
        transform: translate3d(-200px, 0, 0)
    }

    100% {
        transform: translate3d(0px, 0, 0)
    }
}
@-webkit-keyframes bg_image_move_left {
    0% {
        transform: translate3d(0px, 0, 0)
    }

    100% {
        transform: translate3d(-200px, 0, 0)
    }
}
@keyframes bg_image_move_left {
    0% {
        transform: translate3d(0px, 0, 0)
    }

    100% {
        transform: translate3d(-200px, 0, 0)
    }
}
@-webkit-keyframes bg_image_move_up {
    0% {
        transform: translate3d(0, 0, 0)
    }

    100% {
        transform: translate3d(0, -200px, 0)
    }
}
@keyframes bg_image_move_up {
    0% {
        transform: translate3d(0, 0, 0)
    }

    100% {
        transform: translate3d(0, -200px, 0)
    }
}
@-webkit-keyframes bg_image_move_down {
    0% {
        transform: translate3d(0, -200px, 0)
    }

    100% {
        transform: translate3d(0, 0, 0)
    }
}
@keyframes bg_image_move_down {
    0% {
        transform: translate3d(0, -200px, 0)
    }

    100% {
        transform: translate3d(0, 0, 0)
    }
}
body.home #header_logo a,
body.home #global_menu,
body.home #header_search,
#header_slider_nav_wrap {
    opacity: 0
}
body.home #header_logo a.animate,
body.home #global_menu.animate,
body.home #header_search.animate,
#header_slider_nav_wrap.animate {
    -webkit-animation: opacityAnimation 1s ease forwards 0s;
    animation: opacityAnimation 1s ease forwards 0s
}
body.stop_index_slider_animation #header_logo a,
body.stop_index_slider_animation #global_menu,
body.stop_index_slider_animation #header_search,
body.stop_index_slider_animation #header_slider_nav_wrap {
    opacity: 1
}
body.no_index_header_content #header {
    border-bottom: 1px solid #ddd
}
body.no_index_header_content.header_fix #header {
    border-bottom: none
}
body.no_index_header_content #index_content_builder {
    border-top: 1px solid #ddd;
    padding: 80px 0 0
}
.cb_headline {
    line-height: 1.5;
    font-weight: 600;
    text-align: center
}
.cb_headline span {
    display: block
}
.cb_headline .sub_headline {
    font-size: 16px;
    font-weight: 500
}
.white_content+.white_content {
    padding-top: 0 !important
}
.cb_content:last-of-type {
    padding-bottom: 150px
}
#index_news_ticker_wrap {
    border-bottom: 1px solid #ddd
}
#index_news_ticker {
    width: 785px;
    height: 70px;
    overflow: hidden;
    margin: 0 auto
}
#index_news_ticker .item {
    height: 70px;
    position: relative;
    padding: 1px 30px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-align-items: center;
    -webkit-align-items: center;
    align-items: center
}
#index_news_ticker .date {
    width: 93px;
    font-size: 14px;
    color: #999;
    font-family: Arial
}
#index_news_ticker .category {
    font-size: 12px;
    text-align: center;
    background: #000;
    color: #fff;
    border-radius: 30px;
    margin-right: 20px;
    min-width: 90px;
    height: 30px;
    line-height: 31px;
    padding: 0 20px;
    display: inline-block;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
body.one_news_category #index_news_ticker.post_type_news .category {
    display: none
}
#index_news_ticker .title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    visibility: visible;
    word-wrap: break-word;
    word-break: break-all;
    -ms-flex: 1 1 0%;
    -webkit-flex: 1 1 0%;
    flex: 1 1 0%
}
#index_news_ticker .title br {
    display: none
}
#index_news_ticker .title a {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    visibility: visible
}
.tab_content_top .bg_image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}
.tab_content_top .bg_image.mobile {
    display: none
}
.tab_content_top .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2
}
.tab_content_top .catch {
    line-height: 1.5;
    font-weight: 600
}
.tab_content_top .desc {
    line-height: 2.4;
    margin: 16px 0 0
}
.tab_content_top .design_button {
    margin-top: 30px
}
.tab_content_top .tab {
    width: 1150px;
    height: 70px;
    position: absolute;
    bottom: 0;
    z-index: 3;
    left: 50%;
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-justify-content: center;
    -webkit-justify-content: center;
    justify-content: center
}
.tab_content_top .tab .item {
    cursor: pointer;
    font-size: 16px;
    height: 70px;
    line-height: 70px;
    min-width: 200px;
    color: #fff;
    background: rgba(255, 255, 255, .3);
    text-align: center;
    margin: 0 7px;
    padding: 0 20px;
    border-radius: 10px 10px 0 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .2s ease;
    transition: all .2s ease
}
.tab_content_top .tab .item.active,
.tab_content_top .tab .item:hover {
    color: #000;
    background: #fff
}
.tab_content_bottom .item {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    overflow: hidden;
    top: 100px;
    left: 70px;
    right: 70px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: opacity .4s ease;
    transition: opacity .4s ease
}
.tab_content_bottom .item.active {
    opacity: 1;
    pointer-events: initial;
    position: relative;
    top: 0;
    left: 0
}
.tab_content_bottom .image {
    max-width: 100%;
    height: auto
}
.tab_content_bottom .content {
    width: calc(100% - 560px)
}
.tab_content_bottom .title {
    font-size: 26px;
    color: #0071a2;
    margin-bottom: 42px
}
.tab_content_bottom .catch {
    font-size: 24px;
    line-height: 1.5;
    font-weight: 600;
    margin-bottom: 32px
}
.tab_content_bottom .desc {
    line-height: 2.4
}
.tab_content_bottom .design_button {
    margin-top: 70px
}
.tab_content_bottom .slick-dots {
    position: absolute;
    bottom: 30px;
    left: 0;
    width: 100%;
    z-index: 10;
    text-align: center
}
.tab_content_bottom .slick-dots li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 4px;
    font-size: 12px
}
.tab_content_bottom .slick-dots button {
    cursor: pointer;
    border: none;
    color: transparent;
    width: 10px;
    height: 10px;
    display: block;
    font-size: 0;
    background: 0 0;
    position: relative
}
.tab_content_bottom .slick-dots button:before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    line-height: 10px;
    background: #ddd;
    border-radius: 20px;
    position: absolute;
    top: 0;
    left: 0
}
.tab_content_bottom .slick-dots button:hover:before,
.tab_content_bottom .slick-dots .slick-active button:before {
    background: #000
}
.pc .cb_service_middle {
    width: 100%;
    height: 600px;
    position: relative;
    overflow: hidden
}
.pc .cb_service_middle:before {
    opacity: 1 !important;
    z-index: 1;
    margin: 0 auto;
    content: '';
    display: block;
    width: 1150px;
    height: 600px;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    position: absolute;
    top: 0;
    left: 50%;
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.pc .cb_service_item_list {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}
.pc .cb_service_item_list .item {
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .3);
    -ms-flex: 1 1 0%;
    -webkit-flex: 1 1 0%;
    flex: 1 1 0%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.pc .cb_service_item_list .item:last-of-type {
    border-right: none
}
.pc .cb_service_item_list a {
    color: #fff !important;
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.pc .cb_service_item_list .item a:after {
    width: 100%;
    height: 100%;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 1;
    opacity: 0;
    -webkit-transition: opacity .2s ease;
    transition: opacity .2s ease
}
.pc .cb_service_item_list .item.active a:after {
    opacity: 1
}
.pc .cb_service_item_list .content {
    position: absolute;
    left: 0;
    bottom: -100%;
    padding: 0 50px 50px;
    z-index: 2;
    -webkit-transition: bottom .7s cubic-bezier(.22, 1, .36, 1);
    transition: bottom .7s cubic-bezier(.22, 1, .36, 1)
}
.pc .cb_service_item_list .title {
    line-height: 1.2;
    font-weight: 600;
    word-break: break-all
}
.pc .cb_service_item_list .title span {
    display: block
}
.pc .cb_service_item_list .title .main_title {
    font-size: 28px
}
.pc .cb_service_item_list .title .sub_title {
    margin-top: 13px
}
.pc .cb_service_item_list .desc {
    opacity: 0;
    top: 15px;
    line-height: 2.4;
    margin: 35px 0 0;
    position: relative
}
.pc .cb_service_item_list .bottom_title {
    opacity: 0;
    top: 15px;
    font-weight: 600;
    margin: 38px 0 0;
    line-height: 1;
    position: relative;
    display: inline-block;
    padding: 0 20px 0 0
}
.pc .cb_service_item_list .bottom_title:after {
    font-family: 'design_plus';
    content: '\e910';
    font-size: 14px;
    display: block;
    position: absolute;
    top: 2px;
    right: 0;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: opacity .5s ease 0s;
    transition: opacity .5s ease 0s
}
.pc .cb_service_item_list .bottom_title span {
    -webkit-transition: opacity .5s ease 0s;
    transition: opacity .5s ease 0s
}
.pc .cb_service_item_list .item.active .desc {
    opacity: 1;
    top: 0;
    -webkit-transition: all .7s ease .2s;
    transition: all .7s ease .2s
}
.pc .cb_service_item_list .item.active .bottom_title {
    opacity: 1;
    top: 0;
    -webkit-transition: all .7s ease .4s;
    transition: all .7s ease .4s
}
.pc .cb_service_item_list .bottom_title:hover:after {
    opacity: .5
}
.pc .cb_service_item_list .bottom_title:hover span {
    opacity: .5
}
.pc .cb_service_image_list {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}
.pc .cb_service_image_list .image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}
.pc .cb_service_image_list .image.active {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
}
.pc .cb_service_image_list .image .overlay {
    width: 100%;
    height: 100%
}
@-webkit-keyframes news_list_animation {
    0% {
        opacity: 0;
        bottom: -20px
    }

    100% {
        opacity: 1;
        bottom: 0
    }
}
@keyframes news_list_animation {
    0% {
        opacity: 0;
        bottom: -20px
    }

    100% {
        opacity: 1;
        bottom: 0
    }
}
.cb_project_list {
    width: 1150px;
    margin: 0 auto;
    padding: 90px 130px 100px;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    position: relative;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.cb_project_list .cb_desc {
    line-height: 2.4;
    margin: 55px 0 0;
    text-align: center
}
.cb_project_list .project_list {
    margin: 60px -131px -70px
}
.cb_project_list .design_button {
    margin-top: 70px
}
.cb_project_list .inview {
    opacity: 0;
    position: relative;
    top: 40px;
    -webkit-transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s;
    transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}
.cb_project_list .inview.animate {
    opacity: 1;
    top: 0
}
.cb_free_space.type1 {
    width: 1150px;
    margin: 0 auto;
    padding: 0 130px;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.cb_free_space.type2 {
    width: auto
}
.cb_free_space .inview {
    opacity: 0;
    position: relative;
    top: 40px;
    -webkit-transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s;
    transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}
.cb_free_space .inview.animate {
    opacity: 1;
    top: 0
}
.cb_free_space .index_free_design_content {
    text-align: center
}
.cb_free_space .index_free_design_content .catch {
    font-weight: 600;
    line-height: 1.5;
    margin: 0 0 20px
}
.cb_free_space .index_free_design_content img {
    display: block;
    margin: 30px auto 0
}
#page_header {
    width: 100%;
    height: 600px;
    position: relative;
    overflow: hidden;
    background: #000
}
#page_header_inner {
    z-index: 3;
    width: 830px;
    position: absolute;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}
#page_header .catch {
    color: #fff;
    font-weight: 600;
    line-height: 1.5;
    text-align: center
}
#page_header .desc {
    font-size: 18px;
    color: #fff;
    line-height: 2;
    text-align: center;
    margin: 15px 0 0
}
#page_header .overlay {
    width: 100%;
    height: 100%;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0
}
#page_header .bg_image {
    width: 100%;
    height: 100%;
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0
}
#page_header .bg_image.mobile {
    display: none
}
#page_header .catch.animation_type1,
#page_header .desc {
    opacity: 0;
    position: relative
}
#page_header .catch.animation_type1.animate,
#page_header .desc.animate {
    -webkit-animation: slideUp 1.3s cubic-bezier(.165, .84, .44, 1) forwards .5s;
    animation: slideUp 1.3s cubic-bezier(.165, .84, .44, 1) forwards .5s
}
#page_header .catch.animation_type2 span {
    opacity: 0;
    position: relative
}
#page_header .catch.animation_type2 span.animate {
    -webkit-animation: text_animation .5s ease forwards 0s;
    animation: text_animation .5s ease forwards 0s
}
@-webkit-keyframes text_animation {
    0% {
        opacity: 0;
        left: 15px
    }

    100% {
        opacity: 1;
        left: 0
    }
}
@keyframes text_animation {
    0% {
        opacity: 0;
        left: 15px
    }

    100% {
        opacity: 1;
        left: 0
    }
}
#archive_square_headline {
    z-index: 1000;
    width: 200px;
    height: 200px;
    color: #fff;
    position: relative;
    margin: 0 auto;
    top: -100px
}
#archive_square_headline h3 {
    width: 100%;
    text-align: center;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
#archive_square_headline .sub_headline {
    margin-top: 10px
}
#archive_square_headline span {
    display: block
}
#bread_crumb {
    z-index: 3;
    width: 100%;
    border-bottom: 1px solid #ddd
}
#bread_crumb ul {
    width: 1150px;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    visibility: visible
}
#bread_crumb li {
    display: inline;
    font-size: 12px;
    margin: 0 10px 0 0;
    padding: 0 20px 0 0;
    position: relative
}
#bread_crumb li:after {
    font-family: 'design_plus';
    content: '\e910';
    font-size: 10px;
    color: #000;
    display: inline-block;
    line-height: 60px;
    height: 59px;
    position: absolute;
    right: 0;
    bottom: -23px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
#bread_crumb li:last-of-type:after {
    display: none
}
#bread_crumb,
#bread_crumb li.last {
    color: #000
}
#bread_crumb li a {
    color: #000;
    height: 59px;
    line-height: 60px;
    display: inline-block;
    -webkit-transition: opacity .2s ease-in-out;
    transition: opacity .2s ease-in-out
}
#bread_crumb li.category a {
    display: none
}
#bread_crumb li.category a:first-of-type,
#bread_crumb li.category a:only-of-type {
    display: inline-block
}
#bread_crumb li.home a {
    position: relative;
    width: 16px
}
#bread_crumb li.home a span {
    opacity: 0
}
#bread_crumb li.home a:before {
    font-family: 'design_plus';
    content: '\e90c';
    font-size: 12px;
    color: #000;
    display: inline-block;
    height: 100%;
    line-height: 1;
    top: 0;
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
#project_archive {
    padding: 0 0 150px;
    width: 1150px;
    margin: 0 auto;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    z-index: 100;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
body.no_page_nav #project_archive {
    padding-bottom: 80px
}
.project_list {
    margin: 0 -1px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.project_list .item {
    width: calc(50% - 12px);
    margin: 0 24px 60px 0;
    position: relative
}
.project_list .item:nth-child(2n) {
    margin-right: 0
}
.project_list .image_wrap {
    display: block;
    width: 100%;
    height: 320px;
    position: relative;
    z-index: 1;
    overflow: hidden
}
.project_list .image {
    width: 100%;
    height: 100% !important;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2
}
.project_list .title {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    color: #fff;
    max-height: 3em;
    word-break: break-all;
    overflow: hidden;
    visibility: visible;
    padding: 0 60px;
    position: absolute;
    z-index: 3;
    left: 0;
    bottom: 25px
}
.project_list .title span {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}
.project_list .desc {
    color: #000;
    line-height: 2.4;
    margin: 20px 60px 0;
    max-height: 4.8em;
    word-break: break-all;
    overflow: hidden;
    visibility: visible
}
.project_list .desc span {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}
.project_list .category {
    font-weight: 600;
    height: 70px;
    line-height: 70px;
    border-top: 3px solid #0071a2;
    display: inline-block;
    margin-left: 60px
}
body.one_project_category .project_list .category {
    display: none
}
.project_list .image:after {
    content: '';
    display: block;
    width: 100%;
    height: 50%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .7) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .7) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .7) 100%)
}
#project_archive .page_navi {
    margin-top: 0
}
#project_archive.inview {
    opacity: 0;
    position: relative;
    top: 40px;
    -webkit-transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s;
    transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}
#project_archive.inview.animate {
    opacity: 1;
    top: 0
}
#project_title_area {
    margin: 0 0 30px
}
#project_title_area .category {
    font-weight: 600;
    height: 70px;
    line-height: 70px;
    border-top: 3px solid #0071a2;
    display: inline-block
}
#project_title_area .image {
    width: 100%;
    height: 440px;
    position: relative;
    margin-bottom: -1px
}
#project_title_area .title {
    font-size: 24px;
    line-height: 1.5;
    border: 1px solid #ddd;
    padding: 30px 40px
}
#related_project .design_headline2 {
    font-size: 20px !important;
    margin: 0 -40px 70px 0 !important
}
#related_project .post_list {
    margin: 0 55px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}
#related_project .item {
    width: calc(50% - 19px);
    margin: 0 38px 40px 0;
    position: relative
}
#related_project .item:nth-of-type(2n) {
    margin-right: 0
}
#related_project .image_wrap {
    margin: 0 0 15px;
    display: block;
    width: 100%;
    height: 176px;
    position: relative;
    z-index: 1;
    overflow: hidden
}
#related_project .image {
    width: 100%;
    height: 100% !important;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2
}
#related_project .title {
    font-weight: 500 !important;
    font-size: 16px;
    line-height: 1.6;
    max-height: 3.2em;
    overflow: hidden;
    visibility: visible;
    word-wrap: break-word;
    word-break: break-all
}
#related_project .title span {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}
#service_archive {
    padding: 0 0 150px;
    width: 1150px;
    margin: 0 auto;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#service_list {
    margin: 0 60px
}
#service_list .item {
    position: relative;
    height: 586px;
    overflow: hidden
}
#service_list .content {
    height: 100%;
    width: 50%;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2
}
#service_list .content_inner {
    padding: 70px;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#service_list .item:nth-child(even) .content {
    right: auto;
    left: 0
}
#service_list .title {
    font-weight: 600;
    line-height: 1.5;
    margin-top: 8px
}
#service_list .title a {
    color: #fff;
    -webkit-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out
}
#service_list .title a:hover {
    opacity: .5
}
#service_list .title span {
    display: block
}
#service_list .main_title br {
    display: none
}
#service_list .sub_title {
    font-weight: 500
}
#service_list .catch {
    font-weight: 600;
    line-height: 1.5;
    color: #fff;
    margin-top: 40px
}
#service_list .desc {
    line-height: 2.4;
    color: #fff;
    margin-top: 30px;
    max-height: 7.2em;
    overflow: hidden;
    visibility: visible
}
#service_list .desc span {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}
#service_list .design_button {
    margin: 37px 0 0;
    text-align: left
}
#service_list .design_button a {
    text-align: center
}
#service_list .image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}
#service_archive.inview {
    opacity: 0;
    position: relative;
    top: 40px;
    z-index: 100;
    -webkit-transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s;
    transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}
#service_archive.inview.animate {
    opacity: 1;
    top: 0
}
#post_title2 {
    font-size: 26px;
    border-bottom: 1px solid #ddd;
    padding-right: 40px;
    margin: -40px -40px 40px 0;
    height: 159px;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#post_title2 .title {
    bottom: -1px;
    font-size: 24px;
    line-height: 1.5;
    height: 156px;
    display: inline-block;
    position: relative;
    color: #0070a4;
    border-bottom: 3px solid #0070a4;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-align-items: center;
    -webkit-align-items: center;
    align-items: center
}
#post_title2 .title span {
    padding-top: 3px
}
#post_image2 {
    width: 100%;
    height: 440px;
    position: relative;
    margin: 0 0 53px
}
#service_banner .design_headline2 {
    font-size: 20px !important;
    margin: 0 -40px 60px 0 !important
}
#service_banner .item a {
    height: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}
#service_banner .image_wrap {
    display: block;
    width: 50%;
    height: 200px;
    position: relative;
    z-index: 1;
    overflow: hidden
}
#service_banner .image {
    width: 100%;
    height: 100% !important;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2
}
#service_banner .content {
    width: 50%;
    position: relative
}
#service_banner .content_inner {
    padding: 0 60px;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#service_banner .title {
    font-weight: 600;
    line-height: 1.5
}
#service_banner .title span {
    display: block
}
#service_banner .main_title {
    font-size: 24px;
    color: #0070a4
}
#service_banner .desc {
    font-size: 14px;
    margin-top: 0;
    line-height: 2.2;
    color: #000;
    max-height: 6.6em;
    overflow: hidden;
    visibility: visible
}
#service_banner .desc span {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}
#company_archive_top {
    padding: 0 0 1px;
    width: 1150px;
    margin: 0 auto;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#company_archive_bottom {
    background: #f6f6f6
}
#company_archive_bottom_inner {
    padding: 70px 0 150px;
    width: 1150px;
    margin: 0 auto;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#company_archive_bottom .top_catch {
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    font-size: 28px;
    margin: -5px 0 63px
}
#company_list {
    margin: 0 60px -40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#company_list .item {
    width: calc(50% - 1px);
    margin: 0 2px 0 0;
    position: relative
}
#company_list .item:nth-child(2n) {
    margin-right: 0
}
#company_list a {
    display: block;
    width: 100%;
    height: 100%
}
#company_list .image_wrap {
    display: block;
    width: 100%;
    height: 260px;
    position: relative;
    z-index: 1;
    overflow: hidden
}
#company_list .image {
    width: 100%;
    height: 100% !important;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2
}
#company_list .title {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    color: #fff;
    padding: 0 60px;
    position: absolute;
    z-index: 3;
    left: 0;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .35s ease;
    transition: all .35s ease
}
#company_list .title span {
    display: block
}
#company_list .title .main_title {
    font-size: 24px
}
#company_list .title .sub_title {
    font-size: 14px;
    font-weight: 500
}
#company_list a:hover .title {
    left: 10px
}
#company_list .catch {
    line-height: 1.8;
    padding: 35px 50px;
    font-size: 18px;
    font-weight: 600
}
#company_list .image:after {
    content: '';
    display: block;
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: -moz-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 100%)
}
#project_archive .page_navi {
    margin-top: 0
}
#company_archive.inview {
    opacity: 0;
    position: relative;
    top: 40px;
    z-index: 100;
    -webkit-transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s;
    transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}
#company_archive.inview.animate {
    opacity: 1;
    top: 0
}
.history_table .month {
    width: 70px !important;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#access_info .headline {
    font-size: 18px;
    margin: 0 0 10px
}
#access_info .link a {
    color: #006da8;
    font-weight: 600;
    padding: 10px 0;
    display: block
}
#access_info .link a:hover {
    color: #00466d
}
#partner_list .item {
    width: 50%;
    height: 320px;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#partner_list .item img {
    display: block;
    margin: 80px auto 0
}
#partner_list .item:nth-child(1) img {
    margin-top: 71px
}
#partner_list .item p {
    position: absolute;
    bottom: 25px;
    padding: 0 38px
}
.faq_list .item {
    margin-top: -1px
}
.faq_list .question.active:after {
    display: none
}
#page_contents_link.animate {
    -webkit-animation: opacityAnimation 1s ease forwards .7s;
    animation: opacityAnimation 1s ease forwards .7s
}
#news_archive {
    padding: 0 0 150px;
    width: 1150px;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.news_category_list li.active a:before {
    width: 100%;
    -webkit-transition: all .5s cubic-bezier(.22, 1, .36, 1);
    transition: all .5s cubic-bezier(.22, 1, .36, 1)
}
.news_list .item {
    height: 70px;
    border: 1px solid #ddd;
    margin: 0 0 -1px;
    position: relative;
    padding: 0 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-align-items: center;
    -webkit-align-items: center;
    align-items: center
}
.news_list .item.animate {
    -webkit-animation: slideUp 1s cubic-bezier(.165, .84, .44, 1) forwards 0s;
    animation: slideUp 1s cubic-bezier(.165, .84, .44, 1) forwards 0s
}
.news_list .date {
    width: 93px;
    font-size: 14px;
    color: #999;
    font-family: Arial
}
.news_list .category {
    font-size: 12px;
    text-align: center;
    color: #fff;
    border-radius: 30px;
    margin-right: 20px;
    min-width: 90px;
    height: 30px;
    line-height: 30px;
    padding: 0 20px;
    display: inline-block;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
body.one_news_category .news_list .category {
    display: none
}
.news_list .title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    visibility: visible;
    word-wrap: break-word;
    word-break: break-all;
    -ms-flex: 1 1 0%;
    -webkit-flex: 1 1 0%;
    flex: 1 1 0%
}
.news_list .title a {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    visibility: visible
}
#news_archive.inview {
    opacity: 0;
    position: relative;
    top: 40px;
    z-index: 100;
    -webkit-transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s;
    transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}
#news_archive.inview.animate {
    opacity: 1;
    top: 0
}
#news_archive .entry-loading {
    text-align: center;
    width: 100%;
    display: none;
    height: 50px;
    line-height: 50px;
    font-size: 14px;
    margin-top: 50px;
    font-weight: 600
}
#news_archive .entry-loading.is-show {
    display: block
}
#news_archive .entry-more {
    cursor: pointer;
    display: block;
    text-align: center;
    margin: 50px auto 0;
    width: 200px;
    height: 50px;
    line-height: 50px;
    border: 1px solid #ddd;
    background: #fff;
    -webkit-transition-property: background-color, color;
    -webkit-transition-duration: .2s;
    -webkit-transition-timing-function: ease;
    transition-property: background-color, color;
    transition-duration: .2s;
    transition-timing-function: ease
}
#news_archive .entry-more:hover {
    background: #fafafa
}
#news_archive .entry-more span {
    display: block;
    margin: 0;
    font-size: 14px;
    font-weight: 500
}
#news_archive .entry-more.is-hide {
    display: none
}
.news_category_sort_button {
    text-align: center;
    font-size: 0;
    margin: 0 0 100px
}
.news_category_sort_button li {
    font-weight: 600;
    display: inline-block;
    font-size: 16px;
    margin: 0 20px
}
.news_category_sort_button li a {
    padding-top: 20px;
    display: block;
    position: relative
}
.news_category_sort_button li a:before {
    content: '';
    height: 3px;
    width: 0;
    background: #0070a4;
    display: block;
    position: absolute;
    top: 0
}
.news_category_sort_button li.active a:before {
    width: 100%;
    -webkit-transition: all .5s cubic-bezier(.22, 1, .36, 1);
    transition: all .5s cubic-bezier(.22, 1, .36, 1)
}
.news_list_wrap {
    position: relative;
    display: none
}
.news_list_wrap.active {
    display: block
}
.news_list_wrap .news_list .item {
    opacity: 0;
    position: relative
}
#single_news #article {
    width: 890px;
    margin: 0 auto;
    background: #fff;
    padding: 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#news_next_prev_post .item {
    height: 122px;
    width: 50%;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#news_next_prev_post .item:first-of-type {
    border-right: 1px solid #ddd
}
#news_next_prev_post .item:only-of-type {
    padding-left: 0
}
#news_next_prev_post .image_wrap {
    display: none
}
#news_next_prev_post .title {
    position: relative;
    padding-left: 40px;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.6;
    max-height: 3.2em;
    overflow: hidden;
    visibility: visible;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    word-wrap: break-word;
    word-break: break-all
}
#news_next_prev_post .title span {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}
#news_next_prev_post .nav {
    display: none
}
#news_next_prev_post .next_post .title {
    padding: 0 40px 0 0
}
#news_next_prev_post .title:after {
    z-index: 10;
    position: absolute;
    left: -3px;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: 'design_plus';
    color: #000;
    font-size: 14px;
    font-weight: 500;
    display: block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: all .2s ease;
    transition: all .2s ease
}
#news_next_prev_post .prev_post .title:after {
    content: '\e90f'
}
#news_next_prev_post .next_post .title:after {
    content: '\e910';
    left: auto;
    right: -4px
}
#recent_news .headline {
    font-size: 22px;
    text-align: center;
    margin-bottom: 70px
}
#recent_news .news_list {
    background: #fff
}
#recent_news .design_button {
    margin-top: 70px
}
body.search #blog_list {
    border-top: none
}
#blog_list .item {
    height: 410px;
    position: relative;
    border-bottom: 1px solid #ddd;
    padding: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#blog_list .image_wrap {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    overflow: hidden
}
#blog_list .image {
    width: 100%;
    height: 100% !important;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2
}
#blog_list .content {
    height: 294px;
    width: calc(100% - 516px);
    position: relative;
    padding-left: 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#blog_list .content_inner {
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
#blog_list .meta {
    margin-bottom: 30px
}
#blog_list .meta li {
    float: left
}
#blog_list .meta li:first-of-type {
    margin-right: 16px
}
#blog_list .category a {
    font-size: 12px;
    text-align: center;
    color: #fff;
    border-radius: 30px;
    min-width: 90px;
    height: 30px;
    line-height: 30px;
    padding: 0 20px;
    display: inline-block;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#blog_list .date {
    font-size: 14px;
    color: #999;
    position: relative;
    height: 30px;
    line-height: 30px;
    font-family: Arial
}
#blog_list .title {
    font-weight: 600;
    line-height: 1.6;
    max-height: 3.2em;
    overflow: hidden;
    visibility: visible;
    word-wrap: break-word;
    word-break: break-all
}
#blog_list .title span {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}
#blog_list .desc {
    line-height: 2;
    margin: 20px 0 0;
    max-height: 4em;
    overflow: hidden;
    visibility: visible;
    word-wrap: break-word;
    word-break: break-all
}
#blog_list .desc span {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}
#blog_list .client {
    padding-left: 0
}
body.author .author_profile {
    margin: 0 0 60px;
    border: none;
    border-top: 1px solid #ddd;
    padding: 60px 60px 0
}
body.author .author_profile .name {
    margin: 0 0 15px
}
body.author .author_profile .avatar_area {
    width: 140px;
    height: 140px
}
body.author .author_profile .info {
    -webkit-width: calc(100% - 140px);
    width: calc(100% - 140px)
}
.page_navi span.dots {
    background: 0 0;
    color: #333
}
.page_navi .next span,
.page_navi .prev span {
    display: none
}
.page_navi .next:before,
.page_navi .prev:before {
    font-family: 'design_plus';
    font-size: 11px;
    top: 1px;
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
.page_navi .prev:before {
    content: '\e90f'
}
.page_navi .next:before {
    content: '\e910'
}
.page_navi .prev:hover:before,
.page_navi .next:hover:before {
    color: #fff
}
body.search #no_post {
    padding-top: 150px
}
#blog_archive.inview {
    opacity: 0;
    position: relative;
    top: 40px;
    -webkit-transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s;
    transition: all 1.3s cubic-bezier(.165, .84, .44, 1) .3s, opacity 1.3s cubic-bezier(.165, .84, .44, 1) .3s
}
#blog_archive.inview.animate {
    opacity: 1;
    top: 0
}
#post_title .category {
    font-size: 12px;
    color: #fff;
    border-radius: 30px;
    text-align: center;
    margin: 0 0 15px;
    display: inline-block;
    min-width: 100px;
    height: 30px;
    line-height: 30px;
    padding: 0 20px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#post_title .title {
    font-size: 24px;
    line-height: 1.5
}
#post_title .date {
    font-size: 14px;
    position: relative;
    color: #999
}
#post_title .update {
    font-size: 14px;
    position: relative;
    padding: 0 0 0 32px;
    color: #999;
    margin: 0 0 0 10px;
    border-left: 1px solid #ddd
}
#post_title .update:before {
    font-family: 'design_plus';
    content: '\e943';
    font-size: 14px;
    top: 1px;
    left: 10px;
    position: absolute;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
.post_content a:hover {
    text-decoration: none
}
.share-type2 ul.type2 {
    text-align: left
}
.author_profile .name {
    font-size: 22px;
    margin: 5px 0 10px;
    font-weight: 600
}
.author_profile .desc {
    line-height: 2;
    margin: 0;
    font-size: 17px
}
body.page-detail #main_col .author_profile .desc {
    max-height: 4em;
    overflow: hidden;
    visibility: visible
}
body.page-detail #main_col .author_profile .desc span {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}
#related_post .design_headline2 {
    font-size: 22px;
    margin: 0 -40px 70px 0 !important
}
#related_post .post_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
}
#related_post .item {
    width: calc(100%/3 - 10px);
    margin: 0 15px 40px 0;
    position: relative
}
#related_post .item:nth-of-type(3n) {
    margin-right: 0
}
#related_post .image_wrap {
    margin: 0 0 15px;
    display: block;
    width: 100%;
    height: 140px;
    position: relative;
    z-index: 1;
    overflow: hidden
}
#related_post .image {
    width: 100%;
    height: 100% !important;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2
}
#related_post .title {
    font-weight: 500 !important;
    font-size: 14px;
    line-height: 1.6;
    max-height: 3.2em;
    overflow: hidden;
    visibility: visible;
    word-wrap: break-word;
    word-break: break-all
}
#related_post .title span {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}
#related_post .category {
    font-size: 12px;
    text-align: center;
    color: #fff;
    position: absolute;
    z-index: 4;
    left: 0;
    top: 0;
    min-width: 130px;
    height: 40px;
    line-height: 40px;
    padding: 0 20px;
    display: inline-block;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#next_prev_post .item {
    height: 122px;
    width: 50%;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#next_prev_post .item:first-of-type {
    border-right: 1px solid #ddd;
    padding-right: 40px
}
#next_prev_post .item:last-of-type {
    padding-left: 40px
}
#next_prev_post .item:only-of-type {
    padding-left: 0
}
#next_prev_post .image_wrap {
    display: none
}
#next_prev_post .title {
    position: relative;
    padding-left: 40px;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.6;
    max-height: 3.2em;
    overflow: hidden;
    visibility: visible;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    word-wrap: break-word;
    word-break: break-all
}
#next_prev_post .title span {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}
#next_prev_post .nav {
    display: none
}
#next_prev_post .next_post .title {
    padding: 0 40px 0 0
}
#next_prev_post .title:after {
    z-index: 10;
    position: absolute;
    left: -3px;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: 'design_plus';
    color: #000;
    font-size: 14px;
    font-weight: 500;
    display: block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: all .2s ease;
    transition: all .2s ease
}
#next_prev_post .prev_post .title:after {
    content: '\e90f'
}
#next_prev_post .next_post .title:after {
    content: '\e910';
    left: auto;
    right: -4px
}
#header {
    z-index: 1100;
    position: absolute;
    width: 100%;
    height: 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.pc body.use_header_fix #header:after {
    content: '';
    display: block;
    width: 100%;
    height: 80px;
    background: #fff;
    top: -80px;
    left: 0;
    position: absolute;
    z-index: 1;
    -webkit-transition: all .6s cubic-bezier(.22, 1, .36, 1) 0s;
    transition: all .6s cubic-bezier(.22, 1, .36, 1) 0s
}
#header.active:after {
    top: 0 !important
}
.pc body.header_fix #header {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-animation: shadow_animation .7s ease forwards .2s;
    animation: shadow_animation .7s ease forwards .2s
}
@-webkit-keyframes shadow_animation {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 0, 0, .15)
    }

    100% {
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15)
    }
}
@keyframes shadow_animation {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 0, 0, .15)
    }

    100% {
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, .15)
    }
}
.pc body.header_fix #header:after {
    top: 0 !important
}
body.page-detail #header {
    position: relative
}
body.page-detail #header:before {
    content: '';
    width: 100%;
    height: 1px;
    background: #ddd;
    position: absolute;
    bottom: 0;
    left: 0
}
body.page-detail #header.active:after {
    display: none
}
body.page-detail.header_fix #header.active:after {
    display: block
}
.pc body.page-detail.header_fix {
    padding-top: 80px
}
.pc body.page-detail.header_fix #header:before {
    display: none
}
body.hide_global_menu #header:after {
    display: none !important
}
body.hide_global_menu #header {
    position: absolute !important
}
body.hide_header_image #header {
    border-bottom: 1px solid #ddd;
    position: relative
}
body.hide_header_image #header.active:after,
body.no_index_header_content #header.active:after {
    display: none
}
body.hide_header_logo.hide_global_menu.hide_header_image #header {
    display: none
}
.pc body.hide_header_image.header_fix {
    padding-top: 80px
}
.pc body.hide_header_image.header_fix #header {
    border: none
}
.pc body.hide_header_image.header_fix #header.active:after,
.pc body.no_index_header_content.header_fix #header.active:after {
    display: block
}
.pc body.hide_header_logo.hide_global_menu.hide_header_image.hide_header_image.header_fix {
    padding-top: 0
}
body.hide_header_logo #header_logo {
    display: none
}
#header_logo a {
    z-index: 10;
    position: absolute;
    left: 0;
    height: 80px;
    line-height: 80px;
    padding: 0 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-align-items: center;
    -webkit-align-items: center;
    align-items: center
}
#header_logo .logo {
    font-weight: 500
}
#header_logo img {
    display: block;
    -webkit-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out
}
#header_logo a:hover img {
    opacity: .5
}
#header_logo a .logo_text {
    -webkit-transition: opacity .3s ease-in-out;
    transition: opacity .3s ease-in-out
}
#header_logo a:hover .logo_text {
    opacity: .5
}
#header_logo .logo_image.mobile {
    display: none
}
body.hide_global_menu #global_menu {
    display: none
}
#global_menu {
    width: 100%;
    height: 80px;
    z-index: 2;
    position: relative
}
#global_menu>ul {
    position: relative;
    text-align: center;
    font-size: 0
}
#global_menu>ul>li {
    display: inline-block;
    position: relative;
    line-height: 1;
    text-align: center;
    font-size: 17px
}
#global_menu>ul>li>a {
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    height: 80px;
    line-height: 80px;
    padding: 0 20px;
    display: block;
    position: relative;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#global_menu ul ul {
    display: none;
    width: 230px;
    position: absolute;
    top: 80px;
    margin: 0;
    padding: 0;
    z-index: 100
}
#global_menu ul ul ul {
    left: 100%;
    top: 0 !important;
    margin: 0
}
#global_menu ul ul li {
    line-height: 1.5;
    font-size: 14px;
    padding: 0;
    margin: 0;
    text-align: left;
    position: relative;
    display: block
}
#global_menu ul ul a {
    background: #000;
    color: #fff;
    display: block;
    position: relative;
    padding: 14px 20px 12px;
    height: auto;
    line-height: 1.6;
    margin: 0
}
#global_menu ul ul a:hover {
    text-decoration: none;
    background: #444
}
#global_menu>ul>li.current-menu-item>a {
    color: #fff
}
#global_menu>ul>li.current-menu-item>a:before {
    top: 0
}
#global_menu ul ul li.menu-item-has-children>a:before {
    font-family: 'design_plus';
    content: '\e910';
    color: #fff;
    display: block;
    position: absolute;
    right: 9px;
    top: 19px;
    font-size: 10px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
#header.active #global_menu>ul>li>a,
body.header_fix #global_menu>ul>li>a,
body.page-detail #global_menu>ul>li>a {
    color: #000
}
body.hide_header_image #global_menu>ul>li>a,
body.no_index_header_content #global_menu>ul>li>a {
    color: #000
}
#global_menu_button {
    display: none
}
#drawer_menu {
    display: none
}
#header_message {
    padding: 10px 0;
    position: relative;
    z-index: 2000
}
#header_message.type1 .post_content {
    width: 850px;
    margin: 0 auto
}
#header_message.type2 .post_content {
    width: auto;
    margin: 0 20px
}
#header_message.type2.show_close_button .post_content {
    margin: 0 40px
}
html.open_menu #header_message {
    display: none
}
body.hide_global_menu #header_search {
    display: none
}
#header_search {
    position: absolute;
    right: 0;
    top: 0;
    width: 80px;
    height: 80px;
    z-index: 100
}
#header_search_button {
    display: block;
    position: relative;
    width: 80px;
    height: 80px;
    cursor: pointer;
    z-index: 2;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#header_search_button:before {
    display: block;
    font-family: 'design_plus';
    color: #fff;
    font-size: 18px;
    content: '\e915';
    top: 33px;
    left: 32px;
    position: absolute;
    -webkit-transition: all .2s ease;
    transition: all .2s ease
}
#header.active #header_search_button:before,
body.header_fix #header_search_button:before,
body.page-detail #header_search_button:before {
    color: #000
}
#header_search_button:hover:before {
    opacity: .5
}
#header_search form {
    opacity: 0;
    pointer-events: none;
    height: 40px;
    width: 240px;
    position: absolute;
    top: 20px;
    right: 30px;
    z-index: 1;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}
#header_search.active form {
    opacity: 1;
    pointer-events: initial
}
#header_search .input_area input {
    position: absolute;
    right: 30px;
    width: 0;
    height: 40px;
    border: 1px solid #ddd;
    background: 0 0;
    background: #f5f5f5;
    z-index: 1;
    padding: 0 15px;
    border-radius: 50px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}
#header_search.active form .input_area input {
    width: 240px
}
#header_search .button {
    display: none
}
body.hide_header_image #header_search_button:before,
body.no_index_header_content #header_search_button:before {
    color: #000
}
.pc .megamenu_button+ul {
    display: none !important
}
.megamenu {
    opacity: 0;
    background: #fff;
    pointer-events: none;
    width: 100%;
    height: auto;
    position: absolute;
    top: 80px;
    z-index: 500;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transition: all .3s cubic-bezier(.22, 1, .36, 1) 0s;
    transition: all .3s cubic-bezier(.22, 1, .36, 1) 0s;
    box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .07)
}
.megamenu.active_mega_menu {
    opacity: 1;
    pointer-events: initial;
    top: 80px
}
.megamenu .headline_area {
    width: 220px;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.megamenu .headline_area h3 {
    line-height: 1.5;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
.megamenu .headline_area h3 span {
    display: block
}
.megamenu .headline_area h3 .headline {
    font-size: 28px;
    color: #006ea5;
    margin: 5px 0 0
}
.megamenu .headline_area h3 .sub_headline {
    font-weight: 500;
    color: #000
}
.megamenu .headline_area h3 a {
    display: block;
    padding: 0 50px 0 0;
    position: relative
}
.megamenu .headline_area h3 a:before {
    font-family: 'design_plus';
    content: '\e910';
    color: #000;
    font-size: 18px;
    display: block;
    height: 18px;
    line-height: 18px;
    text-align: center;
    font-weight: 500;
    position: absolute;
    right: 0;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: all .2s ease;
    transition: all .2s ease
}
.megamenu .headline_area h3 a:hover:before {
    color: #ccc
}
.megamenu_a .slider {
    width: 846px;
    margin-left: 42px;
    z-index: 2;
    position: relative
}
.megamenu_a .item {
    position: relative;
    border-left: 1px solid #ddd;
    height: 314px
}
.megamenu_a .image_wrap {
    display: block;
    margin: 0 -1px;
    width: calc(100% + 2px);
    height: 160px;
    position: relative;
    z-index: 1;
    overflow: hidden
}
.megamenu_a .image {
    width: 100%;
    height: 100% !important;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2
}
.megamenu_a .title {
    line-height: 1.5;
    max-height: 4.5em;
    word-break: break-all;
    overflow: hidden
}
.megamenu_a .title span {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}
.megamenu_a .category {
    font-size: 12px;
    text-align: center;
    color: #fff;
    border-radius: 30px;
    margin: 0 0 20px 30px;
    min-width: 90px;
    height: 30px;
    line-height: 30px;
    padding: 0 20px;
    display: inline-block;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.megamenu_b .service_item_list .item {
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .3);
    -ms-flex: 1 1 0%;
    -webkit-flex: 1 1 0%;
    flex: 1 1 0%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.megamenu_b .service_item_list .item:last-of-type {
    border-right: none
}
.megamenu_b .service_item_list .item a:after {
    width: 100%;
    height: 100%;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 1;
    opacity: 0;
    -webkit-transition: opacity .2s ease;
    transition: opacity .2s ease
}
.megamenu_b .service_item_list .item.active a:after {
    opacity: 1
}
.megamenu_b .service_item_list .content {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 0 30px 30px;
    z-index: 2
}
.megamenu_b .service_item_list .title {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 600;
    word-break: break-all;
    -webkit-transition: all .7s cubic-bezier(.22, 1, .36, 1);
    transition: all .7s cubic-bezier(.22, 1, .36, 1)
}
.megamenu_b .service_item_list .item.active .title {
    margin-bottom: 20px
}
.megamenu_b .service_item_list .sub_title {
    font-size: 14px;
    font-weight: 600;
    margin: 12px 0 0;
    line-height: 1;
    position: relative;
    display: inline-block;
    padding: 0 20px 0 0
}
.megamenu_b .service_item_list .sub_title:after {
    opacity: 0;
    font-family: 'design_plus';
    content: '\e910';
    font-size: 14px;
    display: block;
    position: absolute;
    top: 2px;
    right: 0;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: all .4s ease;
    transition: all .4s ease
}
.megamenu_b .service_item_list .item.active .sub_title:after {
    opacity: 1
}
.megamenu_b .service_image_list .image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}
.megamenu_b .service_image_list .image.active {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
}
.megamenu_b .service_image_list .image .overlay {
    width: 100%;
    height: 100%
}
.megamenu_c .company_list_area .item {
    width: calc(100%/3 - 2px);
    margin: 0 3px 3px 0;
    height: 153px
}
.megamenu_c .company_list_area .item:nth-child(3n) {
    margin-right: 0
}
.megamenu_c .company_list_area .image_wrap {
    display: block;
    width: 100%;
    height: 153px;
    position: relative;
    z-index: 1;
    overflow: hidden
}
.megamenu_c .company_list_area .image {
    width: 100%;
    height: 100% !important;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2
}
.megamenu_c .company_list_area .title {
    font-weight: 600;
    line-height: 1.5;
    color: #fff;
    padding: 0 30px;
    position: absolute;
    z-index: 3;
    left: 0;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all .35s ease;
    transition: all .35s ease
}
.megamenu_c .company_list_area a:hover .title {
    left: 15px
}
.megamenu_c .company_list_area .title span {
    display: block
}
.megamenu_c .company_list_area .title .main_title {
    font-size: 20px
}
.megamenu_c .company_list_area .title .sub_title {
    font-size: 14px;
    font-weight: 500
}
#return_top2 a {
    border-top: 1px solid #ddd;
    display: block;
    height: 60px;
    line-height: 60px;
    text-decoration: none;
    position: relative
}
#return_top2 span {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block
}
#return_top2 a:before {
    color: #000 !important;
    font-family: 'design_plus';
    content: '\e911';
    font-size: 18px;
    display: block;
    width: 18px;
    height: 18px;
    position: absolute;
    left: 0;
    right: 0;
    top: 2px;
    margin: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
#return_top2 a:hover {
    background: #fafafa
}
#return_top {
    display: none !important
}
#return_top a {
    background: #000;
    display: block;
    height: 60px;
    width: 60px;
    line-height: 60px;
    text-decoration: none;
    z-index: 100;
    position: relative;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent
}
#return_top a:hover {
    color: #fff !important
}
#return_top span {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block
}
#return_top a:before {
    color: #fff;
    font-family: 'design_plus';
    content: '\e911';
    font-size: 12px;
    display: block;
    width: 12px;
    height: 12px;
    position: absolute;
    left: 0;
    right: 0;
    top: 4px;
    margin: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
#return_top {
    position: fixed;
    right: 0;
    bottom: env(safe-area-inset-bottom, 0px);
    z-index: 10000;
    pointer-events: none;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    -webkit-transition: -webkit-transform .35s;
    transition: all .35s
}
#return_top.active {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    pointer-events: auto
}
#footer_logo .logo_image.mobile {
    display: none
}
.sns_button_list li.youtube a {
    width: 18px
}
.sns_button_list li.youtube a:before {
    content: '\ea9d';
    font-size: 17px
}
.sns_button_list.color_type2 li.youtube a:before {
    color: red;
    top: 1px
}
#footer_banner .item {
    ms-flex: 1 1 0%;
    -webkit-flex: 1 1 0%;
    flex: 1 1 0%;
    height: 200px
}
#footer_banner .image_wrap {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    overflow: hidden
}
#footer_banner .image {
    width: 100%;
    height: 100% !important;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2
}
#footer_banner .title {
    font-size: 24px;
    font-weight: 600
}
#footer_banner .sub_title {
    font-size: 14px;
    font-weight: 500;
    margin-top: 13px
}
#footer_banner .overlay {
    position: absolute;
    width: 70%;
    height: 100%;
    z-index: 4
}
#copyright {
    line-height: 60px;
    height: 60px;
    font-size: 12px;
    text-align: center;
    border-top: 1px solid #ddd;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.widget_content {
    border-bottom: 1px solid #ddd;
    padding: 40px 0 40px 40px
}
.widget_content ul {
    margin: 0
}
.widget_content li ul {
    margin: 10px 0 0
}
.widget_content li {
    line-height: 2;
    padding: 2px 0;
    margin: 0 0 10px
}
.widget_content a {
    text-decoration: none
}
.widget_content img {
    height: auto;
    max-width: 100%
}
.styled_post_list1 .image_wrap {
    display: block;
    width: 110px;
    height: 110px;
    position: relative;
    z-index: 1;
    overflow: hidden
}
.styled_post_list1 .image {
    width: 100%;
    height: 100% !important;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2
}
.styled_post_list1 .title {
    font-size: 14px;
    line-height: 1.8;
    max-height: 5.4em;
    font-weight: 500;
    word-break: break-all;
    overflow: hidden;
    -webkit-transition-property: color;
    -webkit-transition-duration: .2s;
    -webkit-transition-timing-function: ease;
    transition-property: color;
    transition-duration: .2s;
    transition-timing-function: ease;
    word-wrap: break-word;
    word-break: break-all
}
.styled_post_list1 .title span {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}
.styled_post_list1 .date {
    font-size: 12px;
    color: #999;
    line-height: 1;
    margin-top: 5px;
    -webkit-transition-property: color;
    -webkit-transition-duration: .2s;
    -webkit-transition-timing-function: ease;
    transition-property: color;
    transition-duration: .2s;
    transition-timing-function: ease
}
.styled_post_list1 .no_image .title {
    max-height: 3.6em
}
.styled_post_list1 .no_image .title span {
    -webkit-line-clamp: 2
}
.post_slider_widget .item {
    width: 100%;
    height: 174px;
    position: relative
}
.post_slider_widget .item .link {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    background: #fff
}
.post_slider_widget .item .link:after {
    content: '';
    display: block;
    width: 100%;
    height: 70%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 100%)
}
.post_slider_widget .image_wrap {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    overflow: hidden
}
.post_slider_widget .image {
    width: 100%;
    height: 100% !important;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2
}
.post_slider_widget .title {
    color: #fff;
    line-height: 1.5;
    font-size: 16px;
    overflow: hidden;
    max-height: 3em;
    font-weight: 600;
    word-wrap: break-word;
    word-break: break-all
}
.post_slider_widget .title span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}
.post_slider_nav .carousel_arrow {
    height: 40px;
    width: 35px;
    line-height: 40px
}
.post_slider_nav .carousel_arrow:before {
    height: 40px;
    line-height: 40px;
    font-size: 14px;
    top: 2px;
    position: relative
}
.post_slider_nav .carousel_arrow.prev_item {
    left: -35px
}
.post_slider_nav .carousel_arrow.next_item {
    right: -35px
}
.category_list_widget {
    border-bottom: none;
    padding: 0;
    margin-top: -1px
}
.category_list_widget .square_headline {
    height: 160px;
    padding-left: 40px;
    color: #fff;
    position: relative;
    z-index: 1
}
.category_list_widget .square_headline h3 {
    line-height: 1.5;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
.category_list_widget .square_headline h3 span {
    display: block
}
.category_list_widget .square_headline h3 .sub_headline {
    font-weight: 500
}
.category_list_widget ul {
    margin: 0;
    padding: 0;
    border: none
}
.category_list_widget ul ul {
    margin: 0;
    padding: 0;
    border: none
}
.category_list_widget li {
    font-size: 16px;
    margin: 0;
    padding: 0;
    position: relative
}
.category_list_widget li a {
    display: block;
    background: #fff;
    border-bottom: 1px solid #ddd;
    padding: 0 40px;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 70px;
    line-height: 70px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-justify-content: space-between;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-align-items: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-transition: all .35s ease;
    transition: all .35s ease
}
.category_list_widget li li a {
    padding-left: 54px
}
.category_list_widget li li li a {
    padding-left: 68px
}
.category_list_widget li a:hover {
    padding-left: 50px
}
.category_list_widget li li a:hover {
    padding-left: 64px
}
.category_list_widget li li li a:hover {
    padding-left: 78px
}
.category_list_widget li .title {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    -ms-flex: 1 0 auto;
    -webkit-flex: 1 0 auto;
    flex: 1 0 auto
}
.category_list_widget li.current-menu-item,
.category_list_widget li.current-menu-parent {
    background: #fff;
    margin-bottom: -1px;
    z-index: 10;
    position: relative
}
.category_list_widget li.current-menu-item a,
.category_list_widget li.current-menu-parent a {
    color: #fff;
    border: none;
    pointer-events: none
}
#page_404_header .content {
    position: absolute;
    z-index: 3;
    text-align: center;
    width: 100%;
    padding: 0 50px;
    color: #fff;
    left: 50%;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
#page_404_header .catch {
    line-height: 1.4;
    font-weight: 500
}
#page_404_header .desc {
    line-height: 2;
    margin: 15px 0 0
}
#page_404_header .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2
}
#page_404_header .bg_image {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1
}
#page_404_header .catch,
#page_404_header .desc {
    opacity: 0
}
#page_404_header.animate .catch {
    -webkit-animation: opacityAnimation 1s ease forwards .5s;
    animation: opacityAnimation 1s ease forwards .5s
}
#page_404_header.animate .desc {
    -webkit-animation: opacityAnimation 1s ease forwards 1s;
    animation: opacityAnimation 1s ease forwards 1s
}
#page_404_header.animate #page_404_button {
    -webkit-animation: opacityAnimation 1s ease forwards 1.5s;
    animation: opacityAnimation 1s ease forwards 1.5s
}
@-webkit-keyframes slideUpDown {
    0% {
        bottom: 10px
    }

    50% {
        bottom: 0
    }

    100% {
        bottom: 10px
    }
}
@keyframes slideUpDown {
    0% {
        bottom: 10px
    }

    50% {
        bottom: 0
    }

    100% {
        bottom: 10px
    }
}
@-webkit-keyframes slideUp {
    0% {
        bottom: -30px
    }

    100% {
        opacity: 1;
        bottom: 0
    }
}
@keyframes slideUp {
    0% {
        bottom: -30px
    }

    100% {
        opacity: 1;
        bottom: 0
    }
}
@-webkit-keyframes zoomOut {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(1.3)
    }
}
@keyframes zoomOut {
    0% {
        transform: scale(1)
    }

    100% {
        transform: scale(1.3)
    }
}
@-webkit-keyframes zoomIn {
    0% {
        transform: scale(1.3)
    }

    100% {
        transform: scale(1)
    }
}
@keyframes zoomIn {
    0% {
        transform: scale(1.3)
    }

    100% {
        transform: scale(1)
    }
}
@-webkit-keyframes opacityAnimation {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}
@keyframes opacityAnimation {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}
@-webkit-keyframes opacityAnimation2 {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}
@keyframes opacityAnimation2 {
    0% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}
@-webkit-keyframes moveRight {
    0% {
        opacity: 0;
        right: 30px
    }

    100% {
        opacity: 1;
        right: 0
    }
}
@keyframes moveRight {
    0% {
        opacity: 0;
        right: 30px
    }

    100% {
        opacity: 1;
        right: 0
    }
}
@-webkit-keyframes moveLeft {
    0% {
        opacity: 0;
        left: 30px
    }

    100% {
        opacity: 1;
        left: 0
    }
}
@keyframes moveLeft {
    0% {
        opacity: 0;
        left: 30px
    }

    100% {
        opacity: 1;
        left: 0
    }
}
@-webkit-keyframes moveDown {
    0% {
        opacity: 0;
        top: -30px
    }

    100% {
        opacity: 1;
        top: 0
    }
}
@keyframes moveDown {
    0% {
        opacity: 0;
        top: -30px
    }

    100% {
        opacity: 1;
        top: 0
    }
}
@keyframes -webkit-moveUp {
    0% {
        opacity: 0;
        bottom: -30px
    }

    100% {
        opacity: 1;
        bottom: 0
    }
}
@keyframes moveUp {
    0% {
        opacity: 0;
        bottom: -30px
    }

    100% {
        opacity: 1;
        bottom: 0
    }
}
@keyframes popUp {
    0% {
        transform: scale(.1);
        opacity: 0
    }

    100% {
        transform: none;
        opacity: 1
    }
}
@keyframes popUp {
    0% {
        transform: scale(.1);
        opacity: 0
    }

    100% {
        transform: none;
        opacity: 1
    }
}
.post_content .alignright {
    float: right
}
.post_content .alignleft {
    float: left
}
.post_content .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 7px
}
.post_content blockquote.alignleft,
.post_content img.alignleft {
    margin: 7px 24px 7px 0
}
.post_content .site-caption.alignleft {
    margin: 7px 14px 7px 0
}
.post_content blockquote.alignright,
.post_content img.alignright {
    margin: 7px 0 7px 24px
}
.post_content .site-caption.alignright {
    margin: 7px 0 7px 14px
}
.post_content blockquote.aligncenter,
.post_content img.aligncenter,
.post_content .site-caption.aligncenter {
    margin-top: 7px;
    margin-bottom: 7px
}
.post_content p {
    line-height: 2.4;
    margin: 0 0 2em
}
.post_content p:last-child {
    margin: 0
}
.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.post_content h5,
.post_content h6 {
    clear: both;
    line-height: 1.4;
    margin: 0 0 15px;
    padding: 0;
    font-weight: 600
}
.post_content h1 {
    font-size: 150%
}
.post_content h2 {
    font-size: 140%
}
.post_content h3 {
    font-size: 130%
}
.post_content h4 {
    font-size: 120%
}
.post_content h5 {
    font-size: 110%
}
.post_content h6 {
    font-size: 100%
}
.post_content img[class*=align],
.post_content img[class*=site-image-],
.post_content img[class*=attachment-],
.post_content img.size-full,
.post_content img.size-large,
.post_content .site-post-image,
.post_content img {
    height: auto;
    max-width: 100%
}
.post_content li,
.post_content dt,
.post_content dd {
    line-height: 2.2
}
.post_content ul,
.post_content ol,
.post_content dl {
    margin-bottom: 24px
}
.post_content ol {
    list-style: decimal outside none;
    margin-left: 1.5em
}
.post_content ul {
    list-style: circle outside none;
    margin-left: 1.3em
}
.post_content li>ul,
.post_content li>ol {
    margin-bottom: 0
}
.post_content dt {
    font-weight: 700
}
.post_content dd {
    margin-bottom: 1em
}
.post_content table {
    margin: 0 0 24px;
    width: 100% !important
}
.post_content td,
.post_content th {
    border: 1px solid #ddd;
    padding: 17px 30px;
    line-height: 2.2;
    background: #fff
}
.post_content th {
    background: #f7f7f7;
    font-weight: 400
}
.post_content table.table_no_border th,
.post_content table.table_no_border td {
    border: none;
    padding-left: 0
}
.post_content table.table_border_horizontal th,
.post_content table.table_border_horizontal td {
    border-left: none;
    border-right: none;
    padding-left: 0
}
.post_content blockquote {
    margin: 0 0 25px;
    padding: 27px 30px;
    background: #fff;
    border: 1px solid #ccc;
    box-shadow: 0px 3px 0px 0px rgba(150, 150, 150, .1);
    position: relative
}
.post_content blockquote:before {
    content: '"';
    font-style: italic;
    font-size: 30px;
    font-weight: 400;
    line-height: 40px;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 5px;
    left: 10px;
    color: #5cbcd7
}
.post_content blockquote:after {
    content: '"';
    font-style: italic;
    font-size: 30px;
    font-weight: 400;
    text-align: left;
    line-height: 60px;
    width: 30px;
    height: 30px;
    position: absolute;
    bottom: 7px;
    right: -2px;
    color: #5cbcd7
}
.post_content blockquote cite {
    border-top: 1px dotted #aaa;
    display: block;
    padding: 20px 0 0;
    font-style: italic;
    text-align: right;
    font-size: 90%
}
.post_content .site-caption {
    margin-bottom: 24px;
    background: #f8f8f8;
    border: 1px solid #ccc;
    padding: 5px;
    max-width: 100%;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.post_content .site-caption-text {
    text-align: center;
    font-size: 12px;
    font-style: italic;
    line-height: 1.5;
    margin: 9px auto
}
.post_content .site-caption img[class*=site-image-] {
    display: block;
    margin: 0 auto
}
.post_content .site-smiley {
    border: 0;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0
}
.post_content address {
    margin: 0 0 24px;
    line-height: 2.2
}
.post_content pre {
    border-left: 3px solid #ccc;
    background: #f8f8f8;
    font-size: 12px;
    margin: 0 0 27px;
    line-height: 1.7;
    padding: 20px;
    overflow: auto
}
.post_content .mejs-container {
    margin: 12px 0 25px
}
.c-pw__desc.type2 p {
    text-align: center
}
.c-pw__btn.type2 {
    display: table;
    margin: 0 auto 32px
}
.post_content .c-pw__btn,
.post_content .c-pw__btn:hover {
    color: #fff
}
.clear {
    clear: both
}
.has-large-font-size {
    font-size: 2.25em !important
}
:root :where(.site-block-button .site-block-button__link.is-style-outline),
:root :where(.site-block-button.is-style-outline>.site-block-button__link) {
    border: 2px solid;
    padding: .667em 1.333em
}
:root :where(.site-block-button .site-block-button__link.is-style-outline:not(.has-text-color)),
:root :where(.site-block-button.is-style-outline>.site-block-button__link:not(.has-text-color)) {
    color: currentColor
}
:root :where(.site-block-button .site-block-button__link.is-style-outline:not(.has-background)),
:root :where(.site-block-button.is-style-outline>.site-block-button__link:not(.has-background)) {
    background-color: initial;
    background-image: none
}
:root :where(.site-block-cover h1:not(.has-text-color)),
:root :where(.site-block-cover h2:not(.has-text-color)),
:root :where(.site-block-cover h3:not(.has-text-color)),
:root :where(.site-block-cover h4:not(.has-text-color)),
:root :where(.site-block-cover h5:not(.has-text-color)),
:root :where(.site-block-cover h6:not(.has-text-color)),
:root :where(.site-block-cover p:not(.has-text-color)) {
    color: inherit
}
body:not(.editor-styles-wrapper) .site-block-cover:not(.site-block-cover:has(.site-block-cover__background+.site-block-cover__inner-container)) .site-block-cover__image-background,
body:not(.editor-styles-wrapper) .site-block-cover:not(.site-block-cover:has(.site-block-cover__background+.site-block-cover__inner-container)) .site-block-cover__video-background {
    z-index: 0
}
body:not(.editor-styles-wrapper) .site-block-cover:not(.site-block-cover:has(.site-block-cover__background+.site-block-cover__inner-container)) .site-block-cover__background,
body:not(.editor-styles-wrapper) .site-block-cover:not(.site-block-cover:has(.site-block-cover__background+.site-block-cover__inner-container)) .site-block-cover__gradient-background,
body:not(.editor-styles-wrapper) .site-block-cover:not(.site-block-cover:has(.site-block-cover__background+.site-block-cover__inner-container)) .site-block-cover__inner-container,
body:not(.editor-styles-wrapper) .site-block-cover:not(.site-block-cover:has(.site-block-cover__background+.site-block-cover__inner-container)).has-background-dim:not(.has-background-gradient):before {
    z-index: 1
}
@media not (prefers-reduced-motion) {
.site-block-image img.hide {
        visibility: hidden
    }
.site-block-image img.show {
        animation: show-content-image .4s
    }

}
:root :where(.site-block-image.is-style-rounded img, .site-block-image .is-style-rounded img) {
    border-radius: 9999px
}
.site-lightbox-overlay.active {
    visibility: visible
}
@media not (prefers-reduced-motion) {
.site-lightbox-overlay.active {
        animation: turn-on-visibility .25s both
    }
.site-lightbox-overlay.active img {
        animation: turn-on-visibility .35s both
    }
.site-lightbox-overlay.show-closing-animation:not(.active) {
        animation: turn-off-visibility .35s both
    }
.site-lightbox-overlay.show-closing-animation:not(.active) img {
        animation: turn-off-visibility .25s both
    }
.site-lightbox-overlay.zoom.active {
        animation: none;
        opacity: 1;
        visibility: visible
    }
.site-lightbox-overlay.zoom.active .lightbox-image-container {
        animation: lightbox-zoom-in .4s
    }
.site-lightbox-overlay.zoom.active .lightbox-image-container img {
        animation: none
    }
.site-lightbox-overlay.zoom.active .scrim {
        animation: turn-on-visibility .4s forwards
    }
.site-lightbox-overlay.zoom.show-closing-animation:not(.active) {
        animation: none
    }
.site-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container {
        animation: lightbox-zoom-out .4s
    }
.site-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img {
        animation: none
    }
.site-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim {
        animation: turn-off-visibility .4s forwards
    }

}
@keyframes show-content-image {
    0% {
        visibility: hidden
    }

    99% {
        visibility: hidden
    }

    to {
        visibility: visible
    }
}
@keyframes turn-on-visibility {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}
@keyframes turn-off-visibility {
    0% {
        opacity: 1;
        visibility: visible
    }

    99% {
        opacity: 0;
        visibility: visible
    }

    to {
        opacity: 0;
        visibility: hidden
    }
}
@keyframes lightbox-zoom-in {
    0% {
        transform: translate(calc((-100vw + var(--site--lightbox-scrollbar-width))/2 + var(--site--lightbox-initial-left-position)), calc(-50vh + var(--site--lightbox-initial-top-position))) scale(var(--site--lightbox-scale))
    }

    to {
        transform: translate(-50%, -50%) scale(1)
    }
}
@keyframes lightbox-zoom-out {
    0% {
        transform: translate(-50%, -50%) scale(1);
        visibility: visible
    }

    99% {
        visibility: visible
    }

    to {
        transform: translate(calc((-100vw + var(--site--lightbox-scrollbar-width))/2 + var(--site--lightbox-initial-left-position)), calc(-50vh + var(--site--lightbox-initial-top-position))) scale(var(--site--lightbox-scale));
        visibility: hidden
    }
}
:root :where(.site-block-latest-posts.is-grid) {
    padding: 0
}
:root :where(.site-block-latest-posts.site-block-latest-posts__list) {
    padding-left: 0
}
ol,
ul {
    box-sizing: border-box
}
:root :where(.site-block-list.has-background) {
    padding: 1.25em 2.375em
}
@keyframes overlay-menu__fade-in-animation {
    0% {
        opacity: 0;
        transform: translateY(.5em)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}
html.has-modal-open {
    overflow: hidden
}
body.rtl .has-drop-cap:not(:focus):first-letter {
    float: none;
    margin-left: .1em
}
:root :where(p.has-background) {
    padding: 1.25em 2.375em
}
.site-block-pullquote.has-text-align-center blockquote {
    text-align: center
}
:root :where(.site-block-separator.is-style-dots) {
    height: auto;
    line-height: 1;
    text-align: center
}
:root :where(.site-block-separator.is-style-dots):before {
    color: currentColor;
    content: "···";
    font-family: serif;
    font-size: 1.5em;
    letter-spacing: 2em;
    padding-left: 2em
}
:root :where(.site-block-site-logo.is-style-rounded) {
    border-radius: 9999px
}
:root :where(.site-block-social-links .site-social-link a) {
    padding: .25em
}
:root :where(.site-block-social-links.is-style-logos-only .site-social-link a) {
    padding: 0
}
:root :where(.site-block-social-links.is-style-pill-shape .site-social-link a) {
    padding-left: .6666666667em;
    padding-right: .6666666667em
}
:root :where(.site-block-tag-cloud.is-style-outline) {
    display: flex;
    flex-wrap: wrap;
    gap: 1ch
}
:root :where(.site-block-tag-cloud.is-style-outline a) {
    border: 1px solid;
    font-size: unset !important;
    margin-right: 0;
    padding: 1ch 2ch;
    text-decoration: none !important
}
.site-block-table {
    overflow-x: auto
}
.site-block-table table {
    border-collapse: collapse;
    width: 100%
}
.site-block-table thead {
    border-bottom: 3px solid
}
.site-block-table tfoot {
    border-top: 3px solid
}
.site-block-table td,
.site-block-table th {
    border: 1px solid;
    padding: .5em
}
.site-block-table .has-fixed-layout {
    table-layout: fixed;
    width: 100%
}
.site-block-table .has-fixed-layout td,
.site-block-table .has-fixed-layout th {
    word-break: break-word
}
.site-block-table.aligncenter,
.site-block-table.alignleft,
.site-block-table.alignright {
    display: table;
    width: auto
}
.site-block-table.aligncenter td,
.site-block-table.aligncenter th,
.site-block-table.alignleft td,
.site-block-table.alignleft th,
.site-block-table.alignright td,
.site-block-table.alignright th {
    word-break: break-word
}
.site-block-table .has-subtle-light-gray-background-color {
    background-color: #f3f4f5
}
.site-block-table .has-subtle-pale-green-background-color {
    background-color: #e9fbe5
}
.site-block-table .has-subtle-pale-blue-background-color {
    background-color: #e7f5fe
}
.site-block-table .has-subtle-pale-pink-background-color {
    background-color: #fcf0ef
}
.site-block-table.is-style-stripes {
    background-color: initial;
    border-bottom: 1px solid #f0f0f0;
    border-collapse: inherit;
    border-spacing: 0
}
.site-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: #f0f0f0
}
.site-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd) {
    background-color: #f3f4f5
}
.site-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd) {
    background-color: #e9fbe5
}
.site-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd) {
    background-color: #e7f5fe
}
.site-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd) {
    background-color: #fcf0ef
}
.site-block-table.is-style-stripes td,
.site-block-table.is-style-stripes th {
    border-color: #0000
}
.site-block-table .has-border-color td,
.site-block-table .has-border-color th,
.site-block-table .has-border-color tr,
.site-block-table .has-border-color>* {
    border-color: inherit
}
.site-block-table table[style*=border-top-color] tr:first-child,
.site-block-table table[style*=border-top-color] tr:first-child td,
.site-block-table table[style*=border-top-color] tr:first-child th,
.site-block-table table[style*=border-top-color]>*,
.site-block-table table[style*=border-top-color]>* td,
.site-block-table table[style*=border-top-color]>* th {
    border-top-color: inherit
}
.site-block-table table[style*=border-top-color] tr:not(:first-child) {
    border-top-color: initial
}
.site-block-table table[style*=border-right-color] td:last-child,
.site-block-table table[style*=border-right-color] th,
.site-block-table table[style*=border-right-color] tr,
.site-block-table table[style*=border-right-color]>* {
    border-right-color: inherit
}
.site-block-table table[style*=border-bottom-color] tr:last-child,
.site-block-table table[style*=border-bottom-color] tr:last-child td,
.site-block-table table[style*=border-bottom-color] tr:last-child th,
.site-block-table table[style*=border-bottom-color]>*,
.site-block-table table[style*=border-bottom-color]>* td,
.site-block-table table[style*=border-bottom-color]>* th {
    border-bottom-color: inherit
}
.site-block-table table[style*=border-bottom-color] tr:not(:last-child) {
    border-bottom-color: initial
}
.site-block-table table[style*=border-left-color] td:first-child,
.site-block-table table[style*=border-left-color] th,
.site-block-table table[style*=border-left-color] tr,
.site-block-table table[style*=border-left-color]>* {
    border-left-color: inherit
}
.site-block-table table[style*=border-style] td,
.site-block-table table[style*=border-style] th,
.site-block-table table[style*=border-style] tr,
.site-block-table table[style*=border-style]>* {
    border-style: inherit
}
.site-block-table table[style*=border-width] td,
.site-block-table table[style*=border-width] th,
.site-block-table table[style*=border-width] tr,
.site-block-table table[style*=border-width]>* {
    border-style: inherit;
    border-width: inherit
}
:root :where(.site-block-table-of-contents) {
    box-sizing: border-box
}
a[data-fn].fn {
    counter-increment: footnotes;
    display: inline-flex;
    font-size: smaller;
    text-decoration: none;
    text-indent: -9999999px;
    vertical-align: super
}
a[data-fn].fn:after {
    content: "[" counter(footnotes) "]";
    float: left;
    text-indent: 0
}
:root {
    --site--preset--font-size--normal: 16px;
    --site--preset--font-size--huge: 42px
}
:root .has-very-light-gray-background-color {
    background-color: #eee
}
:root .has-very-dark-gray-background-color {
    background-color: #313131
}
:root .has-very-light-gray-color {
    color: #eee
}
:root .has-very-dark-gray-color {
    color: #313131
}
:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background {
    background: linear-gradient(135deg, #00d084, #0693e3)
}
:root .has-purple-crush-gradient-background {
    background: linear-gradient(135deg, #34e2e4, #4721fb 50%, #ab1dfe)
}
:root .has-hazy-dawn-gradient-background {
    background: linear-gradient(135deg, #faaca8, #dad0ec)
}
:root .has-subdued-olive-gradient-background {
    background: linear-gradient(135deg, #fafae1, #67a671)
}
:root .has-atomic-cream-gradient-background {
    background: linear-gradient(135deg, #fdd79a, #004a59)
}
:root .has-nightshade-gradient-background {
    background: linear-gradient(135deg, #330968, #31cdcf)
}
:root .has-midnight-gradient-background {
    background: linear-gradient(135deg, #020381, #2874fc)
}
.has-text-align-center {
    text-align: center
}
html :where(.has-border-color) {
    border-style: solid
}
html :where([style*=border-top-color]) {
    border-top-style: solid
}
html :where([style*=border-right-color]) {
    border-right-style: solid
}
html :where([style*=border-bottom-color]) {
    border-bottom-style: solid
}
html :where([style*=border-left-color]) {
    border-left-style: solid
}
html :where([style*=border-width]) {
    border-style: solid
}
html :where([style*=border-top-width]) {
    border-top-style: solid
}
html :where([style*=border-right-width]) {
    border-right-style: solid
}
html :where([style*=border-bottom-width]) {
    border-bottom-style: solid
}
html :where([style*=border-left-width]) {
    border-left-style: solid
}
html :where(img[class*=site-image-]) {
    height: auto;
    max-width: 100%
}
:where(figure) {
    margin: 0 0 1em
}
html :where(.is-position-sticky) {
    --site-admin--admin-bar--position-offset: var(--site-admin--admin-bar--height, 0px)
}
@media screen and (max-width:600px) {
html :where(.is-position-sticky) {
        --site-admin--admin-bar--position-offset: 0px
    }

}
:root {
    --site--preset--aspect-ratio--square: 1;
    --site--preset--aspect-ratio--4-3: 4/3;
    --site--preset--aspect-ratio--3-4: 3/4;
    --site--preset--aspect-ratio--3-2: 3/2;
    --site--preset--aspect-ratio--2-3: 2/3;
    --site--preset--aspect-ratio--16-9: 16/9;
    --site--preset--aspect-ratio--9-16: 9/16;
    --site--preset--color--black: #000;
    --site--preset--color--cyan-bluish-gray: #abb8c3;
    --site--preset--color--white: #fff;
    --site--preset--color--pale-pink: #f78da7;
    --site--preset--color--vivid-red: #cf2e2e;
    --site--preset--color--luminous-vivid-orange: #ff6900;
    --site--preset--color--luminous-vivid-amber: #fcb900;
    --site--preset--color--light-green-cyan: #7bdcb5;
    --site--preset--color--vivid-green-cyan: #00d084;
    --site--preset--color--pale-cyan-blue: #8ed1fc;
    --site--preset--color--vivid-cyan-blue: #0693e3;
    --site--preset--color--vivid-purple: #9b51e0;
    --site--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgba(6, 147, 227, 1) 0%, #9b51e0 100%);
    --site--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg, #7adcb4 0%, #00d082 100%);
    --site--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg, rgba(252, 185, 0, 1) 0%, rgba(255, 105, 0, 1) 100%);
    --site--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg, rgba(255, 105, 0, 1) 0%, #cf2e2e 100%);
    --site--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg, #eee 0%, #a9b8c3 100%);
    --site--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg, #4aeadc 0%, #9778d1 20%, #cf2aba 40%, #ee2c82 60%, #fb6962 80%, #fef84c 100%);
    --site--preset--gradient--blush-light-purple: linear-gradient(135deg, #ffceec 0%, #9896f0 100%);
    --site--preset--gradient--blush-bordeaux: linear-gradient(135deg, #fecda5 0%, #fe2d2d 50%, #6b003e 100%);
    --site--preset--gradient--luminous-dusk: linear-gradient(135deg, #ffcb70 0%, #c751c0 50%, #4158d0 100%);
    --site--preset--gradient--pale-ocean: linear-gradient(135deg, #fff5cb 0%, #b6e3d4 50%, #33a7b5 100%);
    --site--preset--gradient--electric-grass: linear-gradient(135deg, #caf880 0%, #71ce7e 100%);
    --site--preset--gradient--midnight: linear-gradient(135deg, #020381 0%, #2874fc 100%);
    --site--preset--font-size--small: 13px;
    --site--preset--font-size--medium: 20px;
    --site--preset--font-size--large: 36px;
    --site--preset--font-size--x-large: 42px;
    --site--preset--spacing--20: .44rem;
    --site--preset--spacing--30: .67rem;
    --site--preset--spacing--40: 1rem;
    --site--preset--spacing--50: 1.5rem;
    --site--preset--spacing--60: 2.25rem;
    --site--preset--spacing--70: 3.38rem;
    --site--preset--spacing--80: 5.06rem;
    --site--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, .2);
    --site--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, .4);
    --site--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, .2);
    --site--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);
    --site--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1)
}
body .is-layout-flex {
    display: flex
}
body .is-layout-grid {
    display: grid
}
.has-large-font-size {
    font-size: var(--site--preset--font-size--large) !important
}
:root :where(.site-block-pullquote) {
    font-size: 1.5em;
    line-height: 1.6
}
.contact-form .screen-reader-response {
    position: absolute;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    word-wrap: normal !important
}
.contact-form .hidden-fields-container {
    display: none
}
.contact-form form .contact-form-response-output {
    margin: 2em .5em 1em;
    padding: .2em 1em;
    border: 2px solid #00a0d2
}
.contact-form form.init .contact-form-response-output,
.contact-form form.resetting .contact-form-response-output,
.contact-form form.submitting .contact-form-response-output {
    display: none
}
.contact-form form.sent .contact-form-response-output {
    border-color: #46b450
}
.contact-form form.failed .contact-form-response-output,
.contact-form form.aborted .contact-form-response-output {
    border-color: #dc3232
}
.contact-form form.spam .contact-form-response-output {
    border-color: #f56e28
}
.contact-form form.invalid .contact-form-response-output,
.contact-form form.unaccepted .contact-form-response-output,
.contact-form form.payment-required .contact-form-response-output {
    border-color: #ffb900
}
.contact-form-control-wrap {
    position: relative
}
.contact-form-list-item {
    display: inline-block;
    margin: 0 0 0 1em
}
.contact-form-list-item-label:before,
.contact-form-list-item-label:after {
    content: " "
}
@keyframes spin {
    from {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(360deg)
    }
}
@keyframes blink {
    from {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}
.contact-form [inert] {
    opacity: .5
}
.contact-form input[type=file] {
    cursor: pointer
}
.contact-form input[type=file]:disabled {
    cursor: default
}
.contact-form .contact-form-submit:disabled {
    cursor: not-allowed
}
.contact-form input[type=url],
.contact-form input[type=email],
.contact-form input[type=tel] {
    direction: ltr
}
.post_content .style3a,
.post_content .style3b,
.post_content .style4a,
.post_content .style4b,
.post_content .style5a,
.post_content .style5b,
.post_content .style6 {
    font-weight: 500;
    line-height: 1.6
}
@media screen and (min-width:769px) {
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h2,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h3,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h4,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h5,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h6 {
        margin-top: 40px !important
    }

}
@media screen and (max-width:768px) {
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h2,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h3,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h4,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h5,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h6 {
        margin-top: 30px !important
    }

}
@media screen and (max-width:600px) {
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h2,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h3,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h4,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h5,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6)+h6 {
        margin-top: 20px !important
    }

}
.post_content h2 {
    font-size: 24px
}
.post_content h3 {
    font-size: 22px
}
.post_content h4 {
    font-size: 20px
}
.post_content h5 {
    font-size: 18px
}
.post_content h6 {
    font-size: 16px
}
@media screen and (max-width:767px) {
.post_content h2 {
        font-size: 20px
    }
.post_content h3 {
        font-size: 18px
    }
.post_content h4 {
        font-size: 18px
    }
.post_content h5 {
        font-size: 16px
    }
.post_content h6 {
        font-size: 14px
    }

}
.q_underline {
    background-image: -webkit-linear-gradient(left, transparent 50%, #fff799 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, #fff799 50%);
    background-image: linear-gradient(to right, transparent 50%, #fff799 50%);
    background-position: 0 .8em;
    background-repeat: repeat-x;
    background-size: 200% .5em;
    border: none;
    border-bottom-color: transparent;
    -webkit-transition: background 2s ease;
    -ms-transition: background 2s ease;
    transition: background 2s ease
}
.q_underline.is-active {
    background-position: -100% .8em
}
.well2 {
    margin-bottom: 30px;
    padding: 1.1em 2em;
    border: 1px solid #ddd
}
@media screen and (max-width:767px) {
.well2 {
        padding: .9em .8em .9em 1em
    }

}
.q_custom_button.animation_type2:hover:before {
    left: 0
}
.clear {
    clear: both
}
.contact-form {
    width: 100%;
    margin: 0 0 2.5em !important;
    padding: 0;
    border: 1px solid #ddd;
    background: #fafafa;
    font-size: 14px
}
.contact-form form {
    margin: 1.5em 1.5em 0
}
.contact-form p {
    margin-bottom: 1em;
    font-size: 16px
}
.contact-form input,
.contact-form textarea {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    line-height: 1.2
}
.contact-form select,
.contact-form input[type=checkbox],
.contact-form input[type=radio] {
    width: auto;
    max-width: 97%;
    padding: 8px;
    border: 1px solid #ccc
}
.contact-form select,
.contact-form .contact-form-list-item-label {
    font-size: 14px;
    line-height: 1.2
}
.contact-form .contact-form-list-item {
    display: block
}
.contact-form textarea {
    height: 300px
}
.contact-form input:focus,
.contact-form textarea:focus {
    border: 1px solid #bbb;
    outline: none
}
.contact-form .contact-form-submit,
.contact-form .contact-form-previous {
    -webkit-transition: all .3s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 225px;
    height: 48px;
    margin: 30px auto 0;
    border: none !important;
    outline: none;
    background-color: #333;
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all .3s
}
.contact-form .contact-form-submit:before,
.contact-form .contact-form-submit:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.contact-form .contact-form-submit:hover,
.contact-form .contact-form-previous:hover {
    background-color: #666
}
.contact-form .contact-form-submit .contact-form-not-valid {
    background: pink
}
.contact-form .contact-form-submit .contact-form-response-output {
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    margin: 10px 0 0;
    padding: 8px 35px 8px 14px;
    border-radius: 4px
}
.contact-form .contact-form-submit .contact-form-validation-errors {
    border: 1px solid #eed3d7;
    background-color: #f2dede;
    color: #b94a48
}
.contact-form .contact-form-submit .contact-form-mail-sent-ok {
    border: 1px solid #bce8f1;
    background-color: #d9edf7;
    color: #3a87ad
}
.contact-form .contact-form-previous+br {
    display: none
}
.contact-form form .contact-form-response-output {
    margin: 2em .5em 2em;
    padding: 0;
    border: none;
    text-align: center
}
.contact-form form.invalid .contact-form-response-output,
.contact-form form.unaccepted .contact-form-response-output {
    color: #dc3232;
    font-size: 1em
}
.contact-form {
    color: #000
}
.b {
    font-weight: 700
}
.u {
    text-decoration: underline
}
.red {
    color: red
}
a img.fade {
    background: 0 0 !important;
    outline: none;
    -webkit-transition: all .3s;
    transition: all .3s
}
a:hover img.fade {
    opacity: .7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha( opacity=70 )";
    background: 0 0 !important
}
[class^=icon-],
[class*=" icon-"] {
    font-family: "design_plus" !important;
    line-height: 1;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    speak: none;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
.post .share-type3 ul li {
    list-style: none;
    background-image: none;
    padding: 0
}
.share-type2 ul.type2 {
    margin: 0;
    padding: 0;
    list-style: none
}
.share-type2 ul.type2 li {
    display: inline-block;
    padding: 0;
    text-align: center
}
.share-type2 ul.type2 li a {
    text-decoration: none;
    display: inline-block;
    margin: 0 5px 5px 0;
    font-size: 12px;
    font-weight: 400;
    border-radius: 2px;
    color: #222 !important;
    text-align: center;
    background: #fafafa !important;
    border: 1px solid rgba(0, 0, 0, .1);
    box-shadow: 0 1px 0 rgba(0, 0, 0, .03);
    text-shadow: none;
    line-height: 25px;
    padding: 1px 4px 0
}
.share-type2 ul.type2 li a i {
    position: relative;
    top: 3px;
    color: #222;
    font-size: 1.3em;
    text-shadow: 1px 1px 0 rgba(255, 255, 255, .1)
}
.share-type2 ul.type2 li a .ttl {
    margin: 0 3px 0 2px;
    text-align: center;
    line-height: 20px
}
.share-type2 ul.type2 li a .share-count {
    color: #444;
    font-size: 9px;
    padding: 0;
    line-height: 25px;
    margin: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}
.share-type2 ul.type2 li a:hover,
.share-type2 ul.type2 li a:hover i,
.share-type2 ul.type2 li a:hover .share-count {
    color: #fff !important
}
.share-type2 ul.type2 li a:hover {
    border-color: rgba(255, 255, 255, .1)
}
@media screen and (max-width:480px) {
.share-type2 ul.type2 {
        margin-bottom: 15px
    }
.share-type2 ul.type2 li a {
        margin-right: 1px
    }
.share-type2 ul.type2 li a i {
        left: 1px
    }
.share-type2 ul.type2 li>a span.ttl {
        display: none
    }
.share-type2 ul.type2 li a .share-count {
        margin-left: 3px
    }

}
.post .share-type4 ul li {
    list-style: none;
    background-image: none;
    padding: 0
}
.share-type2 ul.type2 li.twitter a {
    color: #222 !important;
    background-color: #fafafa !important
}
.share-type2 ul.type2 li.twitter a:hover {
    color: #fff !important;
    background-color: #55acee !important
}
.share-type2 ul.type2 li.facebook a {
    color: #222 !important;
    background-color: #fafafa !important
}
.share-type2 ul.type2 li.facebook a:hover {
    color: #fff !important;
    background-color: #35629a !important
}
.share-type2 ul.type2 li.googleplus a {
    color: #222 !important;
    background-color: #fafafa !important
}
.share-type2 ul.type2 li.googleplus a:hover {
    color: #fff !important;
    background-color: #dd4b39 !important
}
.share-type2 ul.type2 li.googleplus a i {
    top: 4px
}
.share-type2 ul.type2 li.hatebu a {
    color: #222 !important;
    background-color: #fafafa !important
}
.share-type2 ul.type2 li.hatebu a:hover {
    color: #fff !important;
    background-color: #3c7dd1 !important
}
.share-type2 ul.type2 li.pocket a {
    color: #222 !important;
    background-color: #fafafa !important
}
.share-type2 ul.type2 li.pocket a:hover {
    color: #fff !important;
    background-color: #ee4056 !important
}
.share-type2 ul.type2 li.rss a {
    color: #222 !important;
    background-color: #fafafa !important
}
.share-type2 ul.type2 li.rss a:hover {
    color: #fff !important;
    background-color: #ff8c00 !important
}
.share-type2 ul.type2 li.feedly a {
    color: #222 !important;
    background-color: #fafafa !important
}
.share-type2 ul.type2 li.feedly a:hover {
    color: #fff !important;
    background-color: #6cc655 !important
}
.share-type2 ul.type2 li.pinterest a {
    color: #222 !important;
    background-color: #fafafa !important
}
.share-type2 ul.type2 li.pinterest a:hover {
    color: #fff !important;
    background-color: #d4121c !important
}
@media screen and (max-width:1201px) {
#container {
        position: relative;
        height: 100%
    }
#main_contents {
        width: auto;
        padding: 40px 0 60px;
        margin: 0 auto;
        display: block
    }
#main_contents:after {
        display: none
    }
#main_col {
        width: auto;
        max-width: 770px;
        margin: 0 auto;
        padding: 0
    }
body.page #main_contents {
        padding-top: 60px
    }
body.page #main_col {
        padding-top: 0
    }
body.hide_sidebar #main_col {
        width: auto;
        padding-top: 0
    }
#side_col {
        width: auto;
        max-width: 770px;
        margin: 70px auto 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap
    }
@media screen and (max-width:900px) {
#main_contents {
            padding: 20px 20px 40px;
            display: block
        }
#main_col {
            width: auto !important;
            margin-bottom: 40px;
            padding: 0
        }
#side_col {
            width: auto;
            margin: 40px auto 0;
            display: block;
            max-width: 365px
        }

}
@media screen and (max-width:750px) {
body.page #main_contents {
            padding-top: 35px
        }

}
@media screen and (max-width:550px) {
#main_contents {
            padding: 20px 20px 0
        }
#side_col {
            max-width: inherit
        }

}
#drawer_menu {
        display: block;
        position: fixed;
        top: 0;
        right: -400px;
        width: 400px;
        height: 100%;
        background: #333;
        overflow: auto;
        visibility: hidden;
        z-index: 9999;
        -webkit-transition: right .3s cubic-bezier(.19, 1.000, .22, 1.000);
        transition: right .3s cubic-bezier(.19, 1.000, .22, 1.000);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-overflow-scrolling: touch
    }
#drawer_menu .simplebar-track {
        visibility: hidden
    }
.open_menu #drawer_menu {
        right: 0;
        visibility: visible;
        box-shadow: -5px 0 20px 0 rgba(0, 0, 0, .4)
    }
.open_menu #drawer_menu .simplebar-track {
        visibility: visible
    }
@media screen and (max-width:500px) {
#drawer_menu {
            right: -80%;
            width: 80%
        }

}
.open_menu #container:before {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        background: rgba(0, 0, 0, .6);
        z-index: 9999
    }
_::-webkit-full-page-media,
_:future,
:root .open_menu #container:before {
        background: rgba(0, 0, 0, .6);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px)
    }
@supports (-ms-ime-align:auto) {
.open_menu #container:before {
            background: rgba(0, 0, 0, .6);
            -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px)
        }

}
#drawer_menu .simplebar-scrollbar:before {
        background: #fff !important
    }
body.admin-bar {
        padding-top: 32px
    }
body.admin-bar.header_fix_mobile #header {
        margin-top: 32px
    }
body.admin-bar #drawer_menu {
        padding-top: 32px
    }
.mobile body.admin-bar.header_fix_mobile {
        padding-top: 102px
    }
@media screen and (max-width:781px) {
body.admin-bar {
            padding-top: 46px
        }
body.admin-bar.header_fix_mobile #header {
            margin-top: 46px
        }
body.admin-bar #drawer_menu {
            padding-top: 46px
        }
body.admin-bar.fixed_find_menu #find_menu_wrap {
            top: 46px
        }
body.admin-bar.fixed_find_menu {
            padding-top: 106px
        }
.mobile body.admin-bar.header_fix_mobile {
            padding-top: 126px
        }

}
@media screen and (max-width:750px) {
html,
body {
        overflow-x: hidden
    }
.design_button {
            height: 50px
        }
.design_button a {
            min-width: 240px;
            height: 50px;
            line-height: 50px;
            font-size: 14px;
            padding: 0 15px
        }

}
.design_headline2 {
        margin: 100px 0 63px !important;
        padding: 0 !important
    }
@media screen and (max-width:750px) {
.design_headline1 {
            font-size: 20px !important;
            margin: 0 0 30px !important;
            padding: 0 !important
        }
.design_headline2 {
            font-size: 18px !important;
            margin: 33px -20px 35px !important
        }
.design_headline2 span {
            padding-top: 15px
        }
body.hide_sidebar .design_headline2 {
            margin-right: -20px !important;
            padding-right: -20px !important
        }
.two_column_image+.design_headline2 {
            margin-top: 40px !important
        }

}
@media screen and (max-width:750px) {
.design_headline2+.two_column_image {
            margin-top: 0
        }
.two_column_image .item:first-of-type {
            margin-right: 1px
        }

}
@media screen and (max-width:750px) {
body.use_loading_screen.load_screen_animation_type2 #container {
            transform: translate3d(0px, 30px, 0px)
        }
body.use_loading_screen.load_screen_animation_type3 #container {
            transform: translate3d(0px, -30px, 0px)
        }

}
#header_slider_wrap {
        height: 800px
    }
#header_slider {
        height: 800px
    }
#header_slider .item {
        height: 800px
    }
#header_slider .caption {
        width: 100%;
        padding: 0 60px;
        max-width: 1150px
    }
@media screen and (max-width:950px) {
#header_slider_wrap {
            height: 700px
        }
#header_slider {
            height: 700px
        }
#header_slider .item {
            height: 700px
        }
#header_slider .caption {
            padding: 0 40px
        }

}
@media screen and (max-width:750px) {
#header_slider_wrap {
            height: 555px
        }
#header_slider {
            height: 555px
        }
#header_slider .item {
            height: 555px
        }
#header_slider .caption {
            padding: 0 20px
        }
#header_slider .catch {
            font-weight: 600 !important
        }
#header_slider .desc {
            margin: 10px 0 -5px
        }
#header_slider .desc p.pc {
            display: none
        }
#header_slider .desc p.mobile {
            display: block
        }
#header_slider .design_button {
            font-size: 14px;
            min-width: 200px;
            height: 45px;
            line-height: 45px;
            padding: 0 20px;
            margin-top: 15px
        }
#header_slider .bg_image.pc {
            display: none
        }
#header_slider .bg_image.mobile {
            display: block
        }
#header_slider_nav_wrap {
            bottom: 15px;
            height: 86px
        }
#header_slider_nav_wrap.two_item {
            display: none
        }
#header_slider_nav_wrap.stop_animation {
            display: none
        }
#header_slider_nav .nav_item {
            width: 255px;
            height: 86px;
            margin: 0 7px
        }
#header_slider_nav .nav_catch {
            font-size: 12px;
            padding: 0 40px 0 20px
        }
#header_slider_nav .nav_item:after {
            width: 255px;
            height: 86px;
            left: -255px
        }
#header_slider_nav .nav_item:before {
            font-size: 12px;
            top: 40px;
            right: 20px
        }
#header_slider .slick-dots {
            display: block !important;
            position: absolute;
            bottom: 23px;
            left: 0;
            width: 100%;
            z-index: 10;
            text-align: center
        }
#header_slider .slick-dots li {
            display: inline-block;
            width: 10px;
            height: 10px;
            margin: 0 7px;
            font-size: 10px
        }
#header_slider .slick-dots button {
            cursor: pointer;
            border: none;
            color: transparent;
            width: 14px;
            height: 10px;
            display: block;
            font-size: 0;
            background: 0 0;
            position: relative
        }
#header_slider .slick-dots button:before {
            content: '';
            display: block;
            width: 10px;
            height: 10px;
            line-height: 10px;
            background: 0 0;
            border: 1px solid #fff;
            border-radius: 12px;
            position: absolute;
            top: 0;
            left: 0
        }
#header_slider .slick-dots button:hover:before,
#header_slider .slick-dots .slick-active button:before {
            background: #ccc;
            border-color: #ccc
        }

}
body.no_index_header_content #header {
        border-bottom: 1px solid #ddd
    }
body.no_index_header_content.header_fix_mobile #header {
        border-bottom: none
    }
body.no_index_header_content #index_content_builder {
        border-top: 1px solid #ddd;
        padding: 60px 0 0
    }
.cb_content:last-of-type {
        padding-bottom: 100px
    }
@media screen and (max-width:750px) {
.cb_headline .sub_headline {
            font-size: 14px
        }
.cb_content:last-of-type {
            padding-bottom: 40px
        }

}
@media screen and (max-width:950px) {
#index_news_ticker {
            width: 100%;
            height: 70px
        }

}
@media screen and (max-width:750px) {
#index_news_ticker {
            width: 100%;
            height: 115px
        }
#index_news_ticker .item {
            height: auto;
            padding: 20px 20px 15px;
            display: block
        }
#index_news_ticker .date {
            width: auto;
            margin: 0 10px 0 0;
            height: 25px;
            line-height: 26px;
            font-size: 12px;
            float: left
        }
#index_news_ticker .category {
            font-size: 11px;
            margin-right: 0;
            min-width: 80px;
            height: 25px;
            line-height: 26px;
            padding: 0 15px
        }
#index_news_ticker .title {
            font-size: 14px;
            text-overflow: clip;
            white-space: normal;
            max-height: 3.6em;
            margin-top: 10px;
            clear: both
        }
#index_news_ticker .title a {
            overflow: visible;
            text-overflow: clip;
            white-space: normal;
            display: -webkit-inline-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2
        }

}
.tab_content_top .tab {
        width: 100%
    }
.tab_content_bottom .item {
        left: 60px;
        right: 60px
    }
.tab_content_bottom .content {
        width: calc(50% - 60px)
    }
@media screen and (max-width:950px) {
.tab_content_bottom .content {
            width: calc(50% - 40px)
        }
.tab_content_top .tab {
            height: 50px
        }
.tab_content_top .tab .item {
            font-size: 14px;
            height: 50px;
            line-height: 50px;
            min-width: 150px;
            margin: 0 4px;
            padding: 0 15px;
            border-radius: 5px 5px 0 0
        }

}
@media screen and (max-width:750px) {
.tab_content_top .desc {
            line-height: 2;
            margin: 6px 0 0
        }
.tab_content_top .design_button {
            margin-top: 20px
        }
.tab_content_top .tab {
            height: 40px
        }
.tab_content_top .tab .item {
            font-size: 12px;
            height: 40px;
            line-height: 40px;
            min-width: 70px
        }
.tab_content_bottom .item {
            left: 20px;
            right: 20px;
            top: 40px
        }
.tab_content_bottom .content {
            width: 100%;
            margin: 37px 0 0
        }
.tab_content_bottom .title {
            margin-bottom: 11px
        }
.tab_content_bottom .catch {
            margin-bottom: 6px
        }
.tab_content_bottom .desc {
            line-height: 2
        }
.tab_content_bottom .design_button {
            margin-top: 33px
        }
.tab_content_bottom .slick-dots {
            bottom: 20px
        }

}
.cb_service_item_list .item {
        position: relative;
        height: 500px;
        overflow: hidden
    }
.cb_service_item_list .item a {
        display: block;
        position: relative;
        width: 100%;
        height: 100%;
        color: #fff
    }
.cb_service_item_list .item a:after {
        content: '';
        display: block;
        width: 50%;
        height: 100%;
        background: rgba(0, 0, 0, .5);
        position: absolute;
        right: 0;
        top: 0;
        z-index: 2
    }
.cb_service_item_list .content {
        width: 50%;
        position: absolute;
        right: 0;
        bottom: auto !important;
        z-index: 3;
        padding: 60px;
        position: absolute;
        top: 50%;
        -ms-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
.cb_service_item_list .item:nth-child(even) a:after {
        right: auto;
        left: 0
    }
.cb_service_item_list .item:nth-child(even) .content {
        right: auto;
        left: 0
    }
.cb_service_item_list .title {
        font-weight: 600;
        line-height: 1.5;
        margin-top: 8px
    }
.cb_service_item_list .title span {
        display: block
    }
.cb_service_item_list .sub_title {
        font-weight: 500
    }
.cb_service_item_list .title br {
        display: none
    }
.cb_service_item_list .desc {
        line-height: 2.4;
        color: #fff;
        margin-top: 30px
    }
.cb_service_item_list .image_wrap {
        display: block;
        width: 100%;
        height: 100%;
        position: relative;
        z-index: 1;
        overflow: hidden
    }
.cb_service_item_list .image {
        width: 100%;
        height: 100% !important;
        display: block;
        overflow: hidden;
        position: relative;
        z-index: 2
    }
@media screen and (max-width:750px) {
.cb_service_item_list .item {
            height: 100%
        }
.cb_service_item_list .content {
            position: relative;
            width: 100%;
            padding: 35px 50px 50px;
            top: 0;
            -ms-transform: translateY(0%);
            -webkit-transform: translateY(0%);
            transform: translateY(0%)
        }
.cb_service_item_list .image_wrap {
            position: absolute;
            top: 0;
            left: 0
        }
.cb_service_item_list .item a:after {
            width: 100%
        }
.cb_service_item_list .desc {
            line-height: 2;
            margin-top: 20px
        }

}
.cb_project_list {
        width: auto;
        padding: 90px 0 100px;
        border: none
    }
.cb_project_list .project_list {
        margin: 60px 0 -70px
    }
.cb_project_list .cb_desc {
        margin: 55px 60px 0
    }
@media screen and (max-width:950px) {
.cb_project_list .cb_desc {
            margin: 55px 40px 0
        }

}
@media screen and (max-width:750px) {
.cb_project_list {
            padding: 40px 0 40px
        }
.cb_project_list .project_list {
            margin: 30px 0 -10px
        }
.cb_project_list .cb_desc {
            margin: 25px 20px 0
        }
.cb_project_list .design_button {
            margin-top: 40px
        }

}
.cb_free_space.type1 {
        width: auto;
        padding: 0 60px;
        border: none
    }
.cb_free_space.type2 {
        width: auto
    }
@media screen and (max-width:950px) {
.cb_free_space.type1 {
            padding: 0 40px
        }

}
@media screen and (max-width:750px) {
.cb_free_space.type1 {
            padding: 0 20px
        }

}
@media screen and (max-width:750px) {
.cb_free_space .index_free_design_content .catch {
            font-size: 20px;
            margin: 0 0 17px
        }
.cb_free_space .index_free_design_content img {
            display: block;
            margin: 25px auto 0;
            max-width: 250px
        }

}
#company_archive_top {
        padding: 0 0 1px;
        width: auto;
        border: none
    }
#company_archive_bottom_inner {
        padding: 70px 0 100px;
        width: auto;
        border: none
    }
@media screen and (max-width:950px) {
#company_list {
            margin: 0 40px -40px
        }
#company_list .image_wrap {
            height: 200px
        }
#company_list .title {
            padding: 0 40px
        }
#company_list .catch {
            padding: 35px 40px
        }

}
@media screen and (max-width:750px) {
#company_archive_top .square_headline.inview {
            top: -20px
        }
#company_archive_top .square_headline.inview.animate {
            top: -60px
        }
#company_archive_bottom_inner {
            padding: 40px 0
        }
#company_archive_bottom .top_catch {
            margin: -5px 0 33px
        }
#company_list {
            display: block;
            margin: 0 20px -40px
        }
#company_list .item {
            width: 100%;
            margin: 0
        }
#company_list .title {
            padding: 0 30px
        }
#company_list .catch {
            padding: 15px 30px 32px
        }

}
@media screen and (max-width:550px) {
#company_list .image_wrap {
            height: 160px
        }

}
@media screen and (max-width:750px) {
.history_table .month {
            width: 50px !important
        }

}
@media screen and (max-width:750px) {
#access_info .headline {
            font-size: 16px;
            margin: 0 0 6px
        }
#access_info .link a {
            padding: 6px 0
        }

}
@media screen and (max-width:750px) {
#partner_list .item {
            width: 100%;
            height: auto;
            border: none;
            border-top: 1px solid #ddd;
            padding: 50px 40px 35px
        }
#partner_list .item img {
            margin: 0 auto
        }
#partner_list .item:nth-child(1) img {
            margin-top: auto
        }
#partner_list .item .image {
            margin-bottom: 50px
        }
#partner_list .item p {
            position: relative;
            bottom: auto;
            padding: 0
        }

}
#project_archive {
        padding: 0 0 100px;
        width: auto;
        border: none
    }
.project_list {
        margin: 0
    }
@media screen and (max-width:950px) {
.project_list .image_wrap {
            height: 250px
        }
.project_list .category {
            margin-left: 40px
        }
.project_list .title {
            padding: 0 40px
        }
.project_list .desc {
            margin: 20px 40px 0
        }

}
@media screen and (max-width:750px) {
#project_archive {
            padding-bottom: 40px
        }
body.no_page_nav #project_archive {
            padding-bottom: 0
        }
#project_archive .square_headline.inview {
            top: -20px
        }
#project_archive .square_headline.inview.animate {
            top: -60px
        }
.project_list {
            margin: 0;
            display: block
        }
.project_list .item {
            width: 100%;
            margin: 0 0 33px
        }
.project_list .category {
            font-size: 14px;
            height: 50px;
            line-height: 50px;
            margin-left: 20px
        }
.project_list .title {
            padding: 0 20px;
            bottom: 15px
        }
.project_list .desc {
            line-height: 2;
            max-height: 4em;
            margin: 13px 20px 0
        }

}
@media screen and (max-width:550px) {
.project_list .image_wrap {
            height: 205px
        }

}
#related_project .design_headline2 {
        margin: 0 0 70px !important
    }
@media screen and (max-width:950px) {
#project_title_area .image {
            height: 350px
        }

}
@media screen and (max-width:750px) {
#project_title_area {
            margin: 0 -20px 30px
        }
#project_title_area .category {
            height: 50px;
            line-height: 50px;
            margin: 0 0 0 20px
        }
#project_title_area .image_wrap {
            width: 100%;
            position: relative;
            margin: 0 0 5px;
            padding-top: 57%
        }
#project_title_area .image {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            margin: 0
        }
#project_title_area .title {
            border: none;
            border-bottom: 1px solid #ddd;
            padding: 20px
        }
#related_project .design_headline2 {
            font-size: 16px !important;
            margin: 0 0 40px !important
        }
#related_project .post_list {
            margin: 0 30px
        }
#related_project .item {
            width: calc(50% - 9px);
            margin: 0 18px 18px 0
        }
#related_project .image_wrap {
            margin: 0 0 12px;
            height: 120px
        }
#related_project .title {
            font-size: 14px;
            max-height: 4.8em
        }
#related_project .title span {
            -webkit-line-clamp: 3
        }

}
@media screen and (max-width:550px) {
#related_project .post_list {
            margin: 0
        }
#related_project .image_wrap {
            height: 85px
        }

}
#service_archive {
        padding: 0 0 100px;
        width: auto;
        border: none
    }
#service_list {
        margin: 0
    }
#service_list .content_inner {
        padding: 50px
    }
@media screen and (max-width:950px) {
#service_list .item {
            height: 500px
        }
#service_list .content {
            height: 100%;
            width: 100%
        }

}
@media screen and (max-width:750px) {
#service_archive {
            padding: 0;
            margin-bottom: -1px
        }
#service_list {
            margin: 0
        }
#service_archive .square_headline.inview {
            top: -20px
        }
#service_archive .square_headline.inview.animate {
            top: -60px
        }
#service_list .content {
            position: relative
        }
#service_list .content_inner {
            padding: 35px 50px 50px;
            position: relative;
            top: auto;
            -ms-transform: translateY(0%);
            -webkit-transform: translateY(0%);
            transform: translateY(0%)
        }
#service_list .item {
            height: auto
        }
#service_list .catch {
            margin-top: 20px
        }
#service_list .desc {
            line-height: 2;
            margin-top: 18px;
            max-height: 6em
        }
#service_list .design_button {
            margin: 23px 0 0
        }

}
@media screen and (max-width:550px) {
#service_list .design_button a {
            width: 100%
        }

}
#post_title2 {
        padding-right: 0;
        margin: -40px 0 60px
    }
#service_banner .design_headline2 {
        margin: 0 0 60px !important
    }
@media screen and (max-width:950px) {
#service_banner .content_inner {
            padding: 0 40px
        }

}
@media screen and (max-width:750px) {
#post_title2 {
            padding-right: 20px;
            margin: -20px -20px 40px 0;
            height: auto
        }
#post_title2 .title {
            height: auto;
            padding: 12px 0
        }
#post_image2_wrap {
            width: calc(100% + 40px);
            position: relative;
            margin: 0 -20px 33px;
            padding-top: 64%
        }
#post_image2 {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            margin: 0
        }
#service_banner .design_headline2 {
            font-size: 16px !important;
            margin: 0 -20px 40px !important
        }
#service_banner .item a {
            height: auto;
            display: block
        }
#service_banner .image_wrap {
            width: 100%;
            height: 170px
        }
#service_banner .content {
            width: 100%
        }
#service_banner .content_inner {
            padding: 20px 30px;
            position: relative;
            top: auto;
            -ms-transform: translateY(0%);
            -webkit-transform: translateY(0%);
            transform: translateY(0%)
        }
#service_banner .desc {
            line-height: 2;
            max-height: 6em;
            margin: 3px 0 0
        }

}
#news_archive {
        padding: 0 0 100px;
        width: auto
    }
.news_list {
        margin: 0 60px
    }
@media screen and (max-width:950px) {
.news_list {
            margin: 0 40px
        }

}
@media screen and (max-width:750px) {
#news_archive {
            padding: 0 0 40px
        }
body.no_page_nav #news_archive {
            padding-bottom: 0
        }
#news_archive .square_headline.inview {
            top: -20px
        }
#news_archive .square_headline.inview.animate {
            top: -60px
        }
.news_category_sort_button {
            margin: 0 20px 30px
        }
.news_category_sort_button li {
            font-size: 14px;
            margin: 0 10px 10px
        }
.news_category_sort_button li a {
            padding-top: 15px
        }
.news_list {
            margin: 0
        }
.news_list .item {
            height: auto;
            border-left: none;
            border-right: none;
            margin: 0 0 -1px;
            padding: 20px 20px 15px;
            display: block
        }
.news_list .date {
            width: auto;
            margin: 0 10px 0 0;
            height: 25px;
            line-height: 26px;
            font-size: 12px;
            float: left
        }
.news_list .category {
            font-size: 11px;
            margin-right: 0;
            min-width: 80px;
            height: 25px;
            line-height: 27px;
            padding: 0 15px
        }
.news_list .title {
            text-overflow: clip;
            white-space: normal;
            max-height: 3.6em;
            margin-top: 10px;
            clear: both
        }
.news_list .title a {
            overflow: visible;
            text-overflow: clip;
            white-space: normal;
            display: -webkit-inline-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2
        }

}
#single_news #article {
        width: 770px;
        padding: 40px
    }
#recent_news .news_list {
        margin: 0
    }
#recent_news .headline {
        margin-bottom: 40px
    }
#recent_news .design_button {
        margin-top: 40px
    }
@media screen and (max-width:900px) {
#single_news #article {
            width: auto;
            margin: 0 40px
        }
#recent_news .design_button {
            margin-bottom: 40px
        }

}
@media screen and (max-width:750px) {
#single_news #article {
            margin: 0;
            padding: 20px
        }
#news_next_prev_post .item {
            height: 50px
        }
#news_next_prev_post .item:first-of-type {
            border: none;
            margin-right: -1px
        }
#news_next_prev_post .title {
            display: none
        }
#news_next_prev_post .nav {
            display: block;
            font-size: 14px
        }
#recent_news .headline {
            margin-bottom: 38px
        }

}
#blog_list .content {
        width: 50%;
        padding-left: 30px
    }
@media screen and (max-width:950px) {
#blog_list .item {
            height: 300px;
            padding: 40px
        }
#blog_list .content {
            padding-left: 20px;
            height: 220px
        }

}
@media screen and (max-width:750px) {
body.no_page_nav #blog_archive {
            padding-bottom: 0;
            margin-bottom: -1px
        }
#blog_archive .square_headline.inview {
            top: -20px
        }
#blog_archive .square_headline.inview.animate {
            top: -60px
        }
#blog_list .item {
            height: auto;
            padding: 20px 20px 12px
        }
#blog_list .content {
            width: 100%;
            padding: 0;
            height: auto
        }
#blog_list .content_inner {
            position: relative;
            top: auto;
            -ms-transform: translateY(0%);
            -webkit-transform: translateY(0%);
            transform: translateY(0%)
        }
#blog_list .meta {
            margin-bottom: 12px
        }
#blog_list .meta li:first-of-type {
            margin-right: 10px
        }
#blog_list .category a {
            font-size: 11px;
            min-width: 80px;
            height: 25px;
            line-height: 26px;
            padding: 0 15px
        }
#blog_list .date {
            font-size: 12px;
            height: 25px;
            line-height: 26px
        }
#blog_list .desc {
            display: none;
            margin: 7px 0 0
        }

}
body.author .author_profile {
        width: auto;
        margin: 0 0 60px;
        padding: 60px 60px 0
    }
@media screen and (max-width:950px) {
body.author .author_profile {
            margin: 0 0 40px;
            padding: 40px 40px 0
        }

}
@media screen and (max-width:750px) {
body.author .author_profile {
            padding: 40px 20px 0
        }
body.author .author_profile .avatar_area {
            width: 90px;
            height: 90px
        }
body.author .author_profile .info {
            -webkit-width: calc(100% - 90px);
            width: calc(100% - 90px)
        }

}
#page_header {
        height: 500px
    }
#page_header_inner {
        width: 100% !important;
        padding: 0 60px;
        webkit-box-sizing: border-box;
        box-sizing: border-box
    }
@media screen and (max-width:750px) {
#page_header {
            height: 350px
        }
#page_header_inner {
            padding: 0 30px
        }
#page_header .desc {
            font-size: 15px;
            margin: 10px 0 -5px
        }
#page_header .bg_image.pc {
            display: none
        }
#page_header .bg_image.mobile {
            display: block
        }

}
@media screen and (max-width:550px) {
#page_header {
            height: 250px
        }

}
@media screen and (max-width:750px) {
#archive_square_headline {
            width: 120px;
            height: 120px;
            top: -60px;
            margin-bottom: -20px
        }

}
#bread_crumb ul {
        width: auto;
        padding: 0 20px
    }
#bread_crumb li {
        margin: 0 5px 0 0;
        padding: 0 15px 0 0
    }
#bread_crumb li:after {
        line-height: 46px;
        height: 45px;
        bottom: -16px
    }
#bread_crumb li a {
        height: 45px;
        line-height: 46px
    }
#header {
        height: 60px;
        webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: opacity .35s ease;
        transition: opacity .35s ease
    }
.use_mobile_header_fix #header:after {
        content: '';
        display: block;
        width: 100%;
        height: 60px;
        background: #000;
        top: -60px;
        left: 0;
        position: absolute;
        z-index: 1;
        -webkit-transition: all .6s cubic-bezier(.22, 1, .36, 1) 0s;
        transition: all .6s cubic-bezier(.22, 1, .36, 1) 0s
    }
#header.active:after {
        top: 0
    }
.open_menu #header {
        opacity: 0
    }
.mobile body.header_fix_mobile #header {
        position: fixed;
        top: 0;
        left: 0;
        -webkit-animation: shadow_animation .7s esase forwards .2s;
        animation: shadow_animation .7s ease forwards .2s
    }
.mobile body.header_fix_mobile #header:after {
        top: 0 !important
    }
.mobile body.hide_global_menu.header_fix_mobile #header {
        position: absolute
    }
.mobile body.hide_global_menu.header_fix_mobile #header:after {
        display: none
    }
.mobile body.page-detail.header_fix_mobile {
        padding-top: 60px
    }
.mobile body.page-detail.header_fix_mobile #header:before {
        display: none
    }
.mobile body.page-detail.header_fix_mobile #header.active:after {
        display: block
    }
.mobile body.hide_header_image.header_fix_mobile {
        padding-top: 60px
    }
.mobile body.hide_header_image.header_fix_mobile #header.active:after {
        display: block
    }
.mobile body.hide_header_logo.hide_global_menu.hide_header_image.header_fix_mobile {
        padding-top: 0
    }
#header_logo a {
        height: 60px;
        line-height: 60px;
        padding: 0 20px !important
    }
#header_logo .logo_image.pc {
        display: none
    }
#header_logo .logo_image.mobile {
        display: block
    }
@media screen and (max-width:750px) {
#index_header_logo .logo_image.mobile {
            display: block
        }
#index_header_logo .logo_image.pc {
            display: none
        }

}
#global_menu_button {
        position: absolute;
        z-index: 2;
        right: 0;
        bottom: 0;
        display: inline-block;
        font-size: 11px;
        width: 60px;
        height: 60px;
        line-height: 60px;
        text-decoration: none;
        text-align: center
    }
#global_menu_button span {
        width: 22px;
        height: 2px;
        background: #fff;
        display: block;
        position: absolute;
        -webkit-transition-property: background-color;
        -webkit-transition-duration: .2s;
        -webkit-transition-timing-function: ease;
        transition-property: background-color;
        transition-duration: .2s;
        transition-timing-function: ease;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
#global_menu_button span:nth-child(1) {
        top: 24px;
        left: 20px
    }
#global_menu_button span:nth-child(2) {
        top: 30px;
        left: 20px
    }
#global_menu_button span:nth-child(3) {
        top: 36px;
        left: 20px
    }
#global_menu_button:hover span {
        opacity: .5
    }
body.home #global_menu_button {
        opacity: 0
    }
body.home #global_menu_button.animate {
        -webkit-animation: opacityAnimation 1s ease forwards 0s;
        animation: opacityAnimation 1s ease forwards 0s
    }
body.stop_index_slider_animation #global_menu_button {
        opacity: 1
    }
body.hide_global_menu #global_menu_button {
        display: none !important
    }
#header.active #global_menu_button span {
        background: #000 !important
    }
body.page-detail #global_menu_button span {
        background: #000 !important
    }
body.hide_header_image #global_menu_button span,
body.no_index_header_content #global_menu_button span {
        background: #000
    }
.megamenu {
        display: none
    }
#header #global_menu {
        display: none
    }
#mobile_menu {
        width: 100%;
        margin: 0
    }
#mobile_menu ul {
        margin: 0
    }
#mobile_menu li ul {
        display: none
    }
#mobile_menu a {
        position: relative;
        display: block;
        margin: 0;
        padding: 0 60px 0 20px;
        height: 60px;
        line-height: 60px;
        overflow: hidden;
        text-decoration: none;
        color: #fff;
        font-size: 16px;
        border-bottom: 1px solid #ddd;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        visibility: visible
    }
#mobile_menu a:hover {
        color: #fff
    }
#mobile_menu ul ul a {
        padding-left: 32px
    }
#mobile_menu ul ul ul a {
        padding-left: 47px
    }
#mobile_menu ul ul ul ul a {
        padding-left: 60px
    }
#mobile_menu li {
        position: relative
    }
#mobile_menu .child_menu_button {
        display: block;
        position: absolute;
        text-align: center;
        width: 60px;
        height: 60px;
        right: 0;
        top: -1px;
        z-index: 9;
        cursor: pointer
    }
#mobile_menu .child_menu_button .icon:before {
        font-family: 'design_plus';
        content: '\e90e';
        color: #fff;
        text-align: center;
        display: block;
        font-size: 12px;
        position: absolute;
        right: 24px;
        top: 29px
    }
#mobile_menu .child_menu_button.active .icon:before,
#mobile_menu .child_menu_button:hover .icon:before {
        color: #fff;
        border-color: #fff
    }
#mobile_menu li.open>.child_menu_button .icon:before {
        content: '\e911'
    }
#mobile_menu .child_menu_button:hover {
        background: rgba(0, 0, 0, .2)
    }
#drawer_menu .close_button {
        display: block;
        width: 100%;
        height: 60px;
        position: relative;
        cursor: pointer;
        border-bottom: 1px solid rgba(255, 255, 255, .2)
    }
#drawer_menu .close_button:before {
        font-family: 'design_plus';
        color: #fff;
        font-size: 18px;
        display: block;
        content: '\e91a';
        position: absolute;
        top: 24px;
        right: 17px;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }
#footer_search.active .input_area input {
        left: 0
    }
#footer_search .button input {
        background: 0 0;
        width: 45px;
        height: 45px;
        border: none;
        position: absolute;
        right: 0;
        pointer-events: none;
        z-index: 2
    }
#footer_search .button label {
        background: 0 0;
        display: block;
        width: 45px;
        height: 45px;
        position: absolute;
        top: 0;
        right: 0;
        cursor: pointer;
        z-index: 2
    }
#footer_search .button label:before {
        font-family: 'design_plus';
        color: #fff;
        font-size: 18px;
        content: '\e915';
        display: block;
        position: relative;
        top: 16px;
        left: 16px;
        -webkit-transition: all .2s ease;
        transition: all .2s ease
    }
#footer_search .button label:hover:before {
        color: #0b8a97
    }
#header_message {
        padding: 10px 0;
        z-index: 2000
    }
#header_message .post_content {
        width: auto !important;
        margin: 0 20px !important
    }
#header_message.show_close_button .post_content {
        margin: 0 40px !important
    }
@media screen and (max-width:750px) {
#header_message .post_content {
            line-height: 1.8
        }
#header_message.show_close_button .post_content {
            margin: 0 35px !important
        }

}
@media screen and (max-width:750px) {
#post_title .category {
            font-size: 11px;
            margin: 0 0 10px;
            min-width: 80px;
            height: 25px;
            line-height: 25px;
            padding: 0 15px
        }
#post_title .date {
            font-size: 12px
        }
#post_title .update {
            font-size: 12px;
            position: relative;
            padding: 0 0 0 29px;
            color: #999;
            margin: 0 0 0 10px
        }
#post_title .update:before {
            font-size: 14px;
            top: 0;
            left: 10px
        }

}
@media screen and (max-width:750px) {
.share-type2 ul.type2 {
            text-align: center;
            margin-bottom: -5px !important
        }

}
@media screen and (max-width:750px) {
body.page-detail .author_profile {
            margin: 40px 0 0
        }
.author_profile .name {
            font-size: 18px;
            margin: 0 0 7px
        }
.author_profile .desc {
            font-size: 12px !important
        }
body.page-detail .author_profile .desc {
            line-height: 2
        }

}
@media screen and (max-width:750px) {
#next_prev_post .item {
            height: 52px;
            margin: 0;
            padding: 0 !important
        }
#next_prev_post .item:first-of-type {
            border-right: none
        }
#next_prev_post .item:last-of-type {
            margin-left: -1px
        }
#next_prev_post .image_wrap {
            display: none
        }
#next_prev_post .title {
            display: none
        }
#next_prev_post .nav {
            display: block;
            text-align: center
        }

}
#related_post .design_headline2 {
        margin: 0 0 70px !important
    }
@media screen and (max-width:750px) {
#related_post .design_headline2 {
            font-size: 18px;
            margin: 0 -20px 40px !important
        }
#related_post .item {
            width: calc(50% - 4px);
            margin: 0 8px 17px 0
        }
#related_post .item:nth-of-type(3n) {
            margin-right: 8px
        }
#related_post .item:nth-of-type(2n) {
            margin-right: 0
        }
#related_post .image_wrap {
            margin: 0 0 13px;
            height: 120px
        }
#related_post .title {
            max-height: 4.8em
        }
#related_post .title span {
            -webkit-line-clamp: 3
        }

}
@media screen and (max-width:550px) {
#related_post .image_wrap {
            height: 90px
        }

}
#page_404_header .content {
        padding: 0 30px
    }
@media screen and (max-width:750px) {
#footer_logo .logo_image.pc {
            display: none
        }
#footer_logo .logo_image.mobile {
            display: block
        }

}
#footer_banner .item {
        height: 140px
    }
@media screen and (max-width:950px) {
#footer_banner .item {
            height: 140px;
            width: 50%;
            -ms-flex: 1 0 auto;
            -webkit-flex: 1 0 auto;
            flex: 1 0 auto
        }

}
@media screen and (max-width:750px) {
#footer_banner .item {
            height: 100px
        }
#footer_banner .sub_title {
            margin-top: 10px
        }

}
@media screen and (max-width:750px) {
#copyright {
            line-height: 50px;
            height: 50px
        }

}
#return_top2 {
        display: none
    }
#return_top {
        display: block !important
    }
@media screen and (max-width:750px) {
#return_top a {
            height: 50px;
            width: 50px;
            line-height: 50px
        }

}
.widget_content {
        width: calc(50% - 20px);
        margin: 0 40px 40px 0;
        padding: 0;
        border: none
    }
.widget_content:nth-child(2n) {
        margin-right: 0
    }
@media screen and (max-width:900px) {
.widget_content,
.widget_content:nth-child(2n) {
            width: auto;
            margin: 0 0 40px
        }
.widget_content:last-of-type {
            margin: 0
        }

}
@media screen and (max-width:550px) {
.widget_content {
            border-top: 1px solid #ddd;
            padding: 40px 20px 0;
            margin: 0 -20px 40px !important
        }

}
.category_list_widget {
        margin-top: 0
    }
.category_list_widget .square_headline {
        height: auto;
        line-height: 1;
        padding: 0 20px;
        position: relative;
        z-index: 2
    }
.category_list_widget .square_headline h3 {
        height: 60px;
        line-height: 60px;
        position: relative;
        top: auto;
        -ms-transform: translateY(0%);
        -webkit-transform: translateY(0%);
        transform: translateY(0%);
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-justify-content: space-between;
        -webkit-justify-content: space-between;
        justify-content: space-between
    }
.category_list_widget .square_headline .headline {
        font-size: 18px
    }
.category_list_widget .square_headline .sub_headline {
        font-size: 12px
    }
.category_list_widget ul {
        z-index: 1;
        position: relative
    }
.category_list_widget li a {
        border: 1px solid #ddd;
        padding: 0 20px;
        height: 50px;
        line-height: 50px;
        font-size: 14px;
        margin-top: -1px
    }
.category_list_widget li li a {
        padding-left: 34px
    }
.category_list_widget li li li a {
        padding-left: 48px
    }
.category_list_widget li a:hover {
        padding-left: 30px
    }
.category_list_widget li li a:hover {
        padding-left: 44px
    }
.category_list_widget li li li a:hover {
        padding-left: 58px
    }
@media screen and (max-width:550px) {
.category_list_widget .square_headline h3 {
            height: 50px;
            line-height: 50px
        }

}
.styled_post_list1 .image_wrap {
        width: 100px;
        height: 100px
    }
@media screen and (max-width:750px) {
.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.post_content h5,
.post_content h6 {
            margin: 0 0 5px
        }
.post_content p {
            line-height: 2
        }
.post_content li,
.post_content dt,
.post_content dd {
            line-height: 1.8
        }
.post_content td,
.post_content th {
            line-height: 1.8;
            padding: 14px 20px
        }

}

}
[data-simplebar] {
    position: relative;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: flex-start
}
.simplebar-wrapper {
    overflow: hidden;
    width: inherit;
    height: inherit;
    max-width: inherit;
    max-height: inherit
}
.simplebar-mask {
    direction: inherit;
    position: absolute;
    overflow: hidden;
    padding: 0;
    margin: 0;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    width: auto !important;
    height: auto !important;
    z-index: 0
}
.simplebar-offset {
    direction: inherit !important;
    box-sizing: inherit !important;
    resize: none !important;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding: 0;
    margin: 0;
    -webkit-overflow-scrolling: touch
}
.simplebar-content-wrapper {
    direction: inherit;
    box-sizing: border-box !important;
    position: relative;
    display: block;
    height: 100%;
    width: auto;
    visibility: visible;
    overflow: auto;
    max-width: 100%;
    max-height: 100%
}
.simplebar-content:before,
.simplebar-content:after {
    content: ' ';
    display: table
}
.simplebar-placeholder {
    max-height: 100%;
    max-width: 100%;
    width: 100%;
    pointer-events: none
}
.simplebar-height-auto-observer-wrapper {
    box-sizing: inherit !important;
    height: 100%;
    width: 100%;
    max-width: 1px;
    position: relative;
    float: left;
    max-height: 1px;
    overflow: hidden;
    z-index: -1;
    padding: 0;
    margin: 0;
    pointer-events: none;
    flex-grow: inherit;
    flex-shrink: 0;
    flex-basis: 0
}
.simplebar-height-auto-observer {
    box-sizing: inherit;
    display: block;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 1000%;
    width: 1000%;
    min-height: 1px;
    min-width: 1px;
    overflow: hidden;
    pointer-events: none;
    z-index: -1
}
.simplebar-track {
    z-index: 1;
    position: absolute;
    right: 0;
    bottom: 0;
    pointer-events: none;
    overflow: hidden
}
[data-simplebar].simplebar-dragging .simplebar-track {
    pointer-events: all
}
.simplebar-scrollbar {
    position: absolute;
    right: 2px;
    width: 7px;
    min-height: 10px
}
.simplebar-scrollbar:before {
    position: absolute;
    content: '';
    background: #000;
    border-radius: 7px;
    left: 0;
    right: 0;
    opacity: 0;
    transition: opacity .2s linear
}
.simplebar-track .simplebar-scrollbar.simplebar-visible:before {
    opacity: .5;
    transition: opacity 0s linear
}
.simplebar-track.simplebar-vertical {
    top: 0;
    width: 11px
}
.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
    top: 2px;
    bottom: 2px
}
.simplebar-track.simplebar-horizontal {
    left: 0;
    height: 11px
}
.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
    height: 100%;
    left: 2px;
    right: 2px
}
.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
    right: auto;
    left: 0;
    top: 2px;
    height: 7px;
    min-height: 0;
    min-width: 10px;
    width: auto
}
[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical {
    right: auto;
    left: 0
}
.hs-dummy-scrollbar-size {
    direction: rtl;
    position: fixed;
    opacity: 0;
    visibility: hidden;
    height: 500px;
    width: 500px;
    overflow-y: hidden;
    overflow-x: scroll
}
body {
    font-size: 16px
}
.common_headline {
    font-size: 36px !important
}
@media screen and (max-width:750px) {
body {
        font-size: 14px
    }
.common_headline {
        font-size: 20px !important
    }

}
body,
input,
textarea {
    font-family: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif
}
.rich_font {
    font-family: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
    font-weight: 600
}
.rich_font_type2 {
    font-family: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
    font-weight: 600
}
.rich_font_type3 {
    font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 600
}
.square_headline .headline {
    font-size: 24px
}
.square_headline .sub_headline {
    font-size: 14px
}
@media screen and (max-width:750px) {
.square_headline .headline {
        font-size: 18px
    }
.square_headline .sub_headline {
        font-size: 12px
    }

}
.pc body.use_header_fix #header:after {
    background: rgba(255, 255, 255, .9)
}
.pc body.use_header_fix #header:hover:after {
    background: rgba(255, 255, 255, 1)
}
#header_logo a {
    background: rgba(255, 255, 255, 0)
}
#header_logo .logo_text {
    color: #fff !important;
    font-size: 32px
}
@media screen and (max-width:1201px) {
#header_logo .logo_text {
        font-size: 24px
    }

}
#global_menu>ul>li>a:hover,
body.page-detail #global_menu>ul>li.current-menu-item>a,
body.page-detail #global_menu>ul>li.active>a,
#header.active #global_menu>ul>li.current-menu-item>a,
#header.active #global_menu>ul>li.active>a,
body.hide_header_image #global_menu>ul>li.current-menu-item>a,
body.no_index_header_content #global_menu>ul>li.current-menu-item>a {
    color: #004989 !important
}
#global_menu ul ul a {
    color: #fff;
    background: #004989
}
#global_menu ul ul a:hover {
    color: #fff;
    background: #3580d6
}
#global_menu ul ul li.menu-item-has-children>a:before {
    color: #fff
}
.mobile #header:after {
    background: rgba(255, 255, 255, .9)
}
.mobile #header:hover:after {
    background: rgba(255, 255, 255, 1)
}
.mobile body.home.no_index_header_content #header {
    background: rgba(255, 255, 255, 1)
}
#drawer_menu {
    color: #fff;
    background: #000
}
#drawer_menu a {
    color: #fff
}
#drawer_menu a:hover {
    color: #3580d6
}
#mobile_menu a {
    color: #fff;
    border-color: #444
}
#mobile_menu li li a {
    background: #333
}
#mobile_menu a:hover,
#drawer_menu .close_button:hover,
#mobile_menu .child_menu_button:hover {
    color: #fff;
    background: #444
}
#mobile_menu .child_menu_button .icon:before,
#mobile_menu .child_menu_button:hover .icon:before {
    color: #fff
}
.megamenu .headline_area h3 .headline {
    font-size: 24px
}
.megamenu_b .service_item_list .item a:after {
    background: rgba(0, 0, 0, .5)
}
#footer_banner .title {
    font-size: 24px
}
#footer_banner .sub_title {
    font-size: 14px
}
@media screen and (max-width:750px) {
#footer_banner .title {
        font-size: 18px
    }
#footer_banner .sub_title {
        font-size: 12px
    }

}
.animate_background .image {
    width: 100%;
    height: auto;
    -webkit-transition: transform .5s ease;
    transition: transform .5s ease
}
.animate_background:hover .image {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
}
a {
    color: #000
}
#return_top2 a:hover:before,
#bread_crumb,
#bread_crumb li.last,
.post_slider_widget .slick-arrow:hover:before,
#post_title2 .title,
#service_banner .main_title,
.megamenu .headline_area h3 .headline,
.news_category_list li.active a,
.news_category_sort_button li.active a,
.tab_content_top .tab .item.active,
.tab_content_bottom .title,
.cb_headline .headline,
.faq_list .question.active {
    color: #004989
}
.square_headline,
.news_category_list li.active a:before,
.news_category_sort_button li.active a:before,
#index_news_ticker .category,
.tab_content_bottom .slick-dots button:hover:before,
.tab_content_bottom .slick-dots .slick-active button:before,
.faq_list .question.active:before,
#return_top a {
    background: #004989
}
.design_headline2 span,
#post_title2 .title {
    border-color: #004989
}
.category_list_widget li.current-menu-item a,
.category_list_widget li.current-menu-parent a {
    background: rgba(0, 73, 137, .5);
    border-color: #fff;
    color: #fff
}
a:hover,
#bread_crumb li a:hover,
#bread_crumb li.home a:hover:before,
.post_content a:hover {
    color: #3580d6
}
#p_readmore .button:hover,
#site-calendar #prev a:hover,
#site-calendar #next a:hover,
#index_news_ticker .category:hover,
#return_top a:hover {
    background-color: #3580d6
}
/* Header search remains implemented but is intentionally hidden for now. */
#header_search {
    display: none;
}
/* The mobile drawer keeps the search page available, but does not expose a
   second search control inside the hamburger menu. */
#drawer_menu #footer_search,
#drawer_menu #mobile_banner {
    display: none;
}
.post_content a {
    color: #333
}
.post_content a:hover {
    color: #3580d6
}
.design_button.type1 a {
    color: #fff !important;
    background: #004989
}
.design_button.type1 a:hover {
    color: #fff !important;
    background: #3580d6
}
.news_cat_id6 {
    background-color: #006fc4
}
.news_cat_id6:hover {
    background-color: #0058c4
}
.news_cat_id21 {
    background-color: #ff4c4c
}
.news_cat_id21:hover {
    background-color: #ff1616
}
.q_custom_button1.animation_type1 {
    background: #535353
}
.q_custom_button1.animation_type1:hover {
    background: #7d7d7d
}
.q_custom_button2.animation_type1 {
    background: #535353
}
.q_custom_button2.animation_type1:hover {
    background: #7d7d7d
}
#bread_crumb ul {
    height: 2.5rem
}
#bread_crumb ul li a {
    line-height: 2.5rem
}
#drawer_menu {
    color: #fff;
    background: #006f9b
}
#mobile_menu li li a {
    background: #00466d
}
#mobile_menu a {
    color: #fff;
    border-color: #006f9b
}
#mobile_menu a:hover,
#drawer_menu .close_button:hover,
#mobile_menu .child_menu_button:hover {
    color: #fff;
    background: #00466d
}
#drawer_menu #mobile_menu ul.sub-menu li a {
    padding-left: 30px
}
#index_news_ticker_wrap a {
    pointer-events: none
}
#global_menu>ul>li>a {
    padding: 0 2rem
}
nav#global_menu li#menu-item-397 a,
nav#global_menu li#menu-item-72 a,
nav#global_menu li#menu-item-75 a,
nav#global_menu li#menu-item-144 a,
nav#global_menu li#menu-item-644 a,
nav#global_menu li#menu-item-454 a {
    position: relative
}
header:hover nav#global_menu li#menu-item-397 a:after,
header.active nav#global_menu li#menu-item-397 a:after {
    content: "HOME";
    position: absolute;
    top: 22%;
    left: 34%;
    font-size: 10px
}
header:hover nav#global_menu li#menu-item-72:not(.sub-menu)>a:after,
header.active nav#global_menu li#menu-item-72:not(.sub-menu)>a:after {
    content: "COMPANY";
    position: absolute;
    top: 22%;
    left: 29%;
    font-size: 10px
}
header:hover nav#global_menu li#menu-item-75:not(.sub-menu)>a:after,
header.active nav#global_menu li#menu-item-75:not(.sub-menu)>a:after {
    content: "BUSINESS";
    position: absolute;
    top: 22%;
    left: 29%;
    font-size: 10px
}
header:hover nav#global_menu li#menu-item-454 a:not(.sub-menu)>:after,
header.active nav#global_menu li#menu-item-454:not(.sub-menu)>a:after {
    content: "CASE STUDY";
    position: absolute;
    top: 22%;
    left: 22%;
    font-size: 10px
}
header:hover nav#global_menu li#menu-item-144 a:after,
header.active nav#global_menu li#menu-item-144 a:after {
    content: "RECRUIT";
    position: absolute;
    top: 22%;
    left: 32%;
    font-size: 10px
}
header:hover nav#global_menu li#menu-item-644 a:after,
header.active nav#global_menu li#menu-item-644>a:after {
    content: "CONTACT";
    position: absolute;
    top: 22%;
    left: 30%;
    font-size: 10px
}
body.page-id-141 div#main_contents,
body.page-id-187 div#main_contents,
body.page-id-232 div#main_contents,
body.page-id-230 div#main_contents {
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd
}
h3.design_headline2 {
    margin: 64px 0 40px !important
}
h1.title.rich_font.entry-title {
    margin-top: 1px;
    margin-bottom: 40px
}
.Teck ul {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap
}
.Teck ul li {
    padding: 0 16px;
    margin: 8px;
    color: #004989;
    border: solid 2px #3580d6;
    border-radius: 20px
}
.arrow {
    position: relative;
    padding: 0 0 0 16px
}
.arrow:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border: 5px solid transparent;
    border-left: 8px solid #555
}
h4.arrow {
    position: relative;
    padding: 0 0 0 16px
}
.dot {
    position: relative;
    padding: 0 0 0 8px
}
.dot:before {
    content: "・"
}
dt.outline_title {
    margin-bottom: 24px
}
dd.outline_content {
    margin-bottom: 16px
}
div.post_content p.approach {
    margin: 55px 0;
    text-align: center
}
dd.outline_content {
    margin-bottom: 48px
}
div#access {
    margin-bottom: 40px
}
div#access p {
    margin-bottom: 8px
}
dl#offshore_list dt {
    margin: 40px 0 16px
}
p.rec_info {
    margin: 48px 0 64px
}
ul#recruit_li>li {
    margin-bottom: 48px;
    list-style-type: none
}
ul#recruit_li>li>p {
    margin-bottom: 16px
}
ul#recruit_li i {
    margin-right: 8px
}
ul#recruit_li a {
    text-decoration: underline
}
ul#recruit_li p.rec_mail {
    margin-top: 16px
}
p.has-text-align-center.contact_form {
    margin: 32px 0 40px
}
span.required {
    font-weight: 700;
    font-size: 12px;
    padding-bottom: 4px;
    display: inline-block;
    background-color: #f90;
    color: #fff;
    height: 18px;
    width: 56px;
    text-align: center;
    margin-left: 12px;
    border-radius: 2px;
    line-height: 23px
}
div.contact-form {
    border: none !important;
    background: #fff !important
}
h2#policy_h2 {
    margin-top: 80px !important
}
p#copyright {
    font-size: 1rem
}
div.privacy-res {
    text-align: end;
    font-size: 14px
}
div.privacy-res ul {
    list-style-type: none
}
figure.site-block-table {
    margin-top: 16px
}
.systemimag {
    font-size: 12px
}
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}
.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0
}
.slick-list:focus {
    outline: none
}
.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}
.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}
.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block
}
.slick-track:before,
.slick-track:after {
    display: table;
    content: ''
}
.slick-track:after {
    clear: both
}
.slick-loading .slick-track {
    visibility: hidden
}
.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}
[dir=rtl] .slick-slide {
    float: right
}
.slick-slide img {
    display: block
}
.slick-slide.slick-loading img {
    display: none
}
.slick-slide.dragging img {
    pointer-events: none
}
.slick-initialized .slick-slide {
    display: block
}
.slick-loading .slick-slide {
    visibility: hidden
}
.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}
.slick-arrow.slick-hidden {
    display: none
}

/* Shared footer layout */
#footer_top { border-top: 1px solid #ddd; position: relative; padding: 70px 0; }
#footer_logo .logo { line-height: 1; margin: 0; padding: 0; font-weight: 500; display: block; }
#footer_logo img { height: auto; display: block; margin: auto; transition: opacity .35s ease-in-out; }
#footer_logo img:hover { opacity: .5; }
#footer_logo .logo_image.mobile { display: none; }
#footer_menu { width: 1150px; max-width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; box-sizing: border-box; }
#footer_menu .footer_menu { border-left: 1px solid #ddd; padding: 0 40px 50px; flex: 1 1 0%; box-sizing: border-box; }
#footer_menu .footer_menu:last-of-type { border-right: 1px solid #ddd; }
#footer_menu .footer_menu li { margin: 0 0 13px; line-height: 1.5; font-size: 14px; }
#footer_menu .footer_menu li:first-of-type { font-size: 16px; font-weight: 600; margin-bottom: 20px; }
#footer_menu .footer_menu li:first-of-type a { color: #0071a2; }
#footer_menu .footer_menu a { display: block; }
#footer_menu_bottom { height: 70px; line-height: 70px; border-top: 1px solid #ddd; box-sizing: border-box; }
#footer_menu_bottom ul { font-size: 0; z-index: 20; text-align: center; }
#footer_menu_bottom li { font-size: 14px; display: inline-block; margin: 0 20px; position: relative; }
#copyright { line-height: 60px; height: 60px; font-size: 12px; text-align: center; border-top: 1px solid #ddd; box-sizing: border-box; }

@media screen and (max-width: 950px) {
    #footer_menu .footer_menu { padding-left: 40px; padding-right: 40px; }
}

@media screen and (max-width: 750px) {
    #footer_top { padding: 40px 0 35px; }
    #footer_logo .logo_image.pc { display: none; }
    #footer_logo .logo_image.mobile { display: block; }
    #footer_menu { width: auto; }
    #footer_menu .footer_menu { padding: 0 20px 20px; flex: 1 0 auto; width: 50%; border: none; }
    #footer_menu .footer_menu:nth-child(2n) { border-right: none; }
    #footer_menu .footer_menu li:first-of-type { font-size: 14px; margin-bottom: 13px; }
    #footer_menu_bottom { height: auto; line-height: inherit; }
    #footer_menu_bottom ul { padding: 14px 0; }
    #footer_menu_bottom li { line-height: 1; font-size: 14px; margin: 0 20px; }
    #footer_menu_bottom li a { display: block; padding: 10px 0; }
}

@media screen and (max-width: 500px) {
    #footer_menu .footer_menu { width: 100%; }
    #footer_menu .footer_menu li { font-size: 13px; }
    #footer_menu_bottom li { font-size: 12px; margin: 0 10px; }
}
