/* CSS Document */

html {
    font-size: 62.5%;
}

body {
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
    color: #222;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: 0em;
    font-feature-settings: "palt";
  
}

a {
    color: #286BC1;
    text-decoration: none;
}

a:hover {
    color: #286BC1;
}

::selection {
    background-color: #e4eef8;
    color: #0068CF;
}

::-moz-selection {
    background-color: #e4eef8;
    color: #0068CF;
}

/* 基本の横幅 */
.kv_inner {
    min-width: 1020px;
    max-width: 1200px;
    padding: 0 6rem;
}

section {
    overflow: hidden;
}

.kv {
    min-width: 1080px;
}

.sp_navi {
    display: none;
}

.news a {
    display: inline-block;
    position: relative;
    line-height: 1;
    font-weight: bold;
    transition: cubic-bezier(0.260, 0.005, 0.000, 1.035) 0.2s;
    margin: 0 0.6rem;
    padding-bottom: 0.5rem;
    color: #286BC1;
}

.news a:hover {
    color: #286BC1;
}

.news a::after {
    position: absolute;
    right: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #286BC1;
    transition: cubic-bezier(0.260, 0.005, 0.000, 1.035) 0.2s;
    content: "";
    z-index: 1;
}

.news a:hover::after {
    width: 0;
    right: 0;
    left: auto;
}

.icon_pdf {
    position: relative;
}

/* .icon_pdf::before {
    content: "PDF";
    display: inline-block;
    width: auto;
    height: auto;
    padding: 0.2rem 0.7rem 0.2rem  0.8rem ;
    margin-left: 0.7rem;
    margin-top: -0.4rem;
    font-size: 1.3rem;
    font-weight: 700;
    color: #fff;
    border: none;

    background: #286BC1;
    line-height: 1;
    font-family: din-2014, sans-serif;
    font-weight: 400;
    vertical-align: middle;
} */
.icon_pdf img {
    width: 24px;
    height: 24px;
    margin-right: 4px;
    margin-bottom: 6px;
    margin-left: 1px;
}


/*============================================================================

    header

============================================================================*/



header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 10.0rem;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 1);
    z-index: 9999;
    box-shadow: 0 54px 44px -12px rgba(0, 5, 30, .00);
    transition-duration: 0.25s;
    transition-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    transition-property: height, box-shadow;
}

.header_inner {
    display: flex;
    justify-content: space-between;
    height: inherit;
    min-width: 1080px;
    padding: 0 6rem;
}

/* ロゴ */
header h1 {
    align-items: center;
    display: flex;
    position: relative;
    top: -0.1rem;
}

header h1 a {
    transition: 0.15s ease-in-out;
}

header h1 a img {
    height: 40px;
}

header h1 a:hover {
    opacity: 0.5;
}

header h1 svg {
    width: 13.6rem;
    height: 4.6rem;
}

header h1 svg {
    fill: #007CCF;
}

header.fixed {
    height: 7.0rem;
    box-shadow: 0 54px 34px -12px rgba(0, 5, 30, .05);
}

header.fixed .nav_dropdown_list {}

header.nav_dropdown_header {}

header::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: rgba(0, 15, 30, .4);
    transition-duration: 0.25s;
    transition-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    opacity: 0;
    z-index: -1;
}

header.nav_dropdown_header::after {
    opacity: 1;
    z-index: 1;
}

/*============================================================================

    nav

============================================================================*/



nav {
    height: inherit;
}

nav ul {
    display: flex;
    justify-content: flex-end;
    text-align: center;
    height: inherit;
}

nav li {
    height: inherit;
}

nav li a {
    display: table-cell;
    height: inherit;
    padding: 0 1.6rem;
    vertical-align: middle;
    text-align: center;
    line-height: 1;
    transition-duration: 0.2s;
    transition-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    transition-property: background-color;
}

/* 日本語テキスト */
.nav_text-ja {
    display: block;
    font-size: 1.5rem;
    font-weight: bold;
    color: #222222;
    transition: 0.2s ease-in-out;
}

.nav_slidebtm .nav_text-ja {
    padding-right: 8px;
}

.nav_slidebtm .nav_text-ja::after {
    position: relative;
    top: -0.4rem;
    right: -0.8rem;
    width: 5px;
    height: 5px;
    transform: rotate(135deg);
    border-right: 1px solid #666;
    border-top: 1px solid #666;
    content: "";
    bottom: 0;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    ;
    display: inline-block;
}

.nav_slidebtm {
    transform: none;
    z-index: 10;
}

/* ホバー */
nav li a:hover,
nav li.active2 a {}

nav li.active2 a .nav_text-ja,
nav li.active2 a:hover .nav_text-ja {
    color: #fff;
}

nav li.active2 a .nav_text-ja::after,
nav li a:hover .nav_text-ja::after {
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
}

.nav_border_hover {
    position: relative;
}

.nav_border_hover::before {
    position: absolute;
    width: 0;
    right: 0;
    left: auto;
    bottom: -0.8rem;
    height: 1px;
    background-color: #222222;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
    z-index: 1;
}

nav li a:hover .nav_border_hover::before,
nav li.active2 .nav_border_hover::before {
    right: auto;
    left: 0;
    width: 100%;
}

nav li.active2 .nav_border_hover::before {
    background-color: #fff;
}

/* スクロールで追加されるクラス */
nav.fixed {
    position: fixed;
    top: 0;
    left: 0;
}

/* dropdown */

nav ul li .nav_dropdown {
    position: absolute;
    width: 100vw;
    top: 100%;
    left: 0%;
    background-color: #fff;
    box-shadow: 0 54px 34px -12px rgba(0, 5, 30, .05);
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    z-index: -1;
    opacity: 0;
    pointer-events: none;
}

nav ul li .nav_dropdown.nav_open {
    top: 100%;
    z-index: 1;
    opacity: 1;
    pointer-events: all;
}

.nav_dropdown_inner {
    max-width: 1400px;
    min-width: 1080px;
    padding: 6.8rem 6rem;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: justify;
}

.nav_dropdown_title {
    box-sizing: border-box;
    padding-right: 8rem;
    border-right: 1px solid #E1EBF3;
}

.nav_dropdown_title_inner {
    padding-top: 1.4rem;
}

.nav_dropdown_title_en {
    font-size: 3.0rem;
    margin-bottom: 0.4rem;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    color: #286BC1;
}

.nav_dropdown_title_text {
    margin-bottom: 3.2rem;
    font-size: 1.4rem;
    line-height: 1.6;
    white-space: nowrap;
}

.nav_dropdown_title .btn-01 {}

.nav_dropdown_title .btn-01 a {
    padding: 0 0 0.8rem 0;
    font-size: 1.4rem;
}

.nav_dropdown_list {
    width: 65%;
    padding-left: 8rem;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: -1rem;
}

.nav_dropdown_list li {
    display: flex;
    width: 50%;
    margin-bottom: 1rem;
}

.nav_dropdown_list li a {
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    padding: 0.4rem 0;
    color: #222222;
    line-height: 1;
    text-align: justify;
}

.nav_dropdown_list_l {
    position: relative;
    width: 8.8rem;
    height: 8.8rem;
    margin-right: 1.6rem;
    overflow: hidden;
    background-position: center;
    background-size: 135%;
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.nav_dropdown_list_l::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: rgba(0, 15, 30, .3);
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    opacity: 0;
    z-index: 10;
}

.nav_dropdown_list_l::after {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    color: #fff;
    font-size: 1.3rem;
    font-family: din-2014, sans-serif;
    font-weight: 300;
    letter-spacing: 0.125em;
    content: "View More";
    opacity: 0;
    z-index: 10;
    transform: scale(1, 1);
    transition: 0.25s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

/*.nav_dropdown_list_img01 {
    background-image: url(../image/top_service01_img.jpg);
}

.nav_dropdown_list_img02 {
    background-image: url(../image/top_service02_img.jpg);
}

.nav_dropdown_list_img03 {
    background-image: url(../image/top_service03_img.jpg);
}

.nav_dropdown_list_img04 {
    background-image: url(../image/top_service04_img.jpg);
}*/

.nav_dropdown_list li a:hover .nav_dropdown_list_l {
    background-size: 115%;
}

.nav_dropdown_list li a:hover .nav_dropdown_list_l::before {
    opacity: 1;
    transform: scale(1, 1);
}

.nav_dropdown_list li a:hover .nav_dropdown_list_l::after {
    opacity: 1;
    transform: scale(.8, .8);
}

.nav_dropdown_list_text {
    margin-bottom: 0.6rem;
    font-size: 1.7rem;
    font-weight: bold;
}

.nav_dropdown_list_en {
    margin-left: 0.1rem;
    font-size: 1.2rem;
    font-family: din-2014, sans-serif;
    font-weight: 300;
    color: #ADB6BF;
}

.nav_dropdown_list_l .btn-01 {
    font-size: 1.3rem;
    font-family: din-2014, sans-serif;
    font-weight: 300;
}

.nav_dropdown_list_l .btn-01 {
    position: relative;
}

.nav_dropdown_list_l .btn-01 span {
    display: inline-block;
    position: relative;
    line-height: 1;
    padding-bottom: 1rem;
    color: #286BC1;
}

.nav_dropdown_list_l .btn-01 span::after {
    position: absolute;
    right: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #286BC1;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
    z-index: 1;
}

.nav_dropdown_list li:hover .nav_dropdown_list_l .btn-01::after {
    width: 0;
    right: 0;
    left: auto;
}

.nav_dropdown_list_text,
.nav_dropdown_list_en,
.nav_dropdown_list_l {
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.nav_dropdown_list li:hover .nav_dropdown_list_text,
.nav_dropdown_list li:hover .nav_dropdown_list_en,
.nav_dropdown_list li:hover .nav_dropdown_list_l,
.nav_dropdown_list li:hover .nav_dropdown_list_text {
    color: #286BC1;
}

.nav_dropdown_list_text {
    position: relative;
}

.nav_dropdown_list_text::after {
    position: absolute;
    right: 0;
    left: auto;
    bottom: -4px;
    width: 0;
    height: 1px;
    background-color: #fff;
    transition: 0.2s ease-out;
    content: "";
    z-index: 1;
}

nav ul li .nav_dropdown a:hover {}

nav ul li .nav_dropdown a:hover .nav_dropdown_list_text::after {
    width: 100%;
    right: auto;
    left: 0;
}

nav ul li .nav_dropdown a:hover::before {
    right: 20px;
}

nav ul li .nav_dropdown_list.nav_dropdown_list-02 li {
    display: block;
    position: relative;
}

/*============================================================================

    .kv

============================================================================*/

.kv {
    display: block;
    position: relative;
    margin-top: 7.0rem;
    padding-top: 3.0rem;
    height: 460px;
    background-color: rgba(18, 24, 50, .3);
    z-index: 1;
}

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

.kv_img::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-position: center;
    background-repeat: repeat;
}

.kv_img::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: rgba(0, 15, 50, .38);
}

/* 表示時アニメーション */
.kv_img,
.factory_sec1_map_inner {
    opacity: 0;
    filter: blur(20px) brightness(1.31) contrast(160%) saturate(70%);
    transition: 0.50s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    transform: scale(1.05, 1.05);
}

.kv_img.kv_show,
.factory_sec1_map_inner.kv_show {
    opacity: 1;
    filter: blur(0px) brightness(1) contrast(100%) saturate(100%);
    transform: scale(1, 1);
}

.factory_sec1_map_inner {
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: #0B52A0;
}

.factory_sec1_img {
    opacity: 0;
    filter: blur(20px) brightness(1) contrast(100%) saturate(100%);
    transition: 0.50s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    transform: scale(1.05, 1.05);
}

.factory_sec1_img.kv_show {
    opacity: 1;
    filter: blur(0px) brightness(1) contrast(100%) saturate(100%);
    transform: scale(1, 1);
}

.kv_inner {
    display: flex;
    align-items: center;
    position: relative;
    height: inherit;
    max-height: inherit;
    margin: 0 auto;
    background-repeat: no-repeat;
    z-index: 20;
}

.kv h2 {
    position: relative;
}

/* トップページのキャッチフレーズ */
.kv_inner_catch {
    position: absolute;
    top: calc(50% + (10rem /2));
    left: 10%;
    color: #fff;
    transform: translate(0, -51%);
    width: 66.05rem;
    height: 22.7rem;
}

.kv_inner_catch_en {
    position: relative;
    left: 0.4rem;
    margin-bottom: 2.16rem;
    font-family: din-2014, sans-serif;
    font-weight: 200;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: 0.125em;
}

.kv_inner_catch_l {
    position: relative;
    left: -15.7rem;
    width: 66.05rem;
    height: 22.7rem;
}

/* トップページのキャッチフレーズ */
#svg-animation-shape {
    width: inherit;
    transform: rotate(0.6deg);
}

#shape_mask {
    width: 100%;
    height: auto;
}

#svg-animation-shape .st0 {
    fill: none;
    stroke: #FFFFFF;
    stroke-width: 10;
    stroke-miterlimit: 10;
    stroke-dasharray: 1500;
    stroke-dashoffset: 1500;
}

.kv_inner_catch {
    padding-bottom: 3.8rem;
}

.kv_inner_catch_b {
    position: relative;
    width: 66.05rem;
    height: 22.7rem;
}

.kv_inner_catch_b_1 {
    position: absolute;
    width: 62.2rem;
    left: -15.7rem;
}

.kv_inner_catch_b_1-ie {
    position: absolute;
    display: none;
    left: -15.7rem;
    opacity: 0;
}

.kv_inner_catch_b_1-ie img {
    width: 63.2rem;
    height: 27rem;
}

@media all and (-ms-high-contrast: none) {
    .kv_inner_catch_b_1-ie {
        display: block;
    }
}

.kv_inner_catch_b_1 path {
    fill: #cbffff;
}

.kv_inner_catch_b_2 {
    position: absolute;
    width: 25.6rem;
    left: 23.38rem;
    top: 14.6rem;
}

.kv_inner_catch_b_02 {
    position: absolute;
    /* width: 25.6rem; */
    left: 0.4rem;
    bottom: 3.8rem;
    line-height: 1;
    letter-spacing: 0.035em;
    font-size: 3.72rem;
    font-family: din-2014, sans-serif;
    font-weight: 700;
    white-space: nowrap;
}







.kv_inner_catch_b_03 {
    position: absolute;
    width: 19.4rem;
    height: auto;
    top: 18.1rem;
    left: 29.51rem;
    font-size: 1.5rem;
    white-space: nowrap;
    font-weight: bold;
    line-height: 0.8;
    letter-spacing: 0.035em;
}













/* animation */
.kv_inner_catch_b_2,
.kv_inner_catch_b_3 {
    opacity: 0;
    -webkit-transform: translate3d(6%, 0, 0);
    transform: translate3d(6%, 0, 0);
    transition: 0.6s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.kv_inner_catch_b_2.fadeInRight--kv,
.kv_inner_catch_b_3.fadeInRight--kv {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.kv_inner_catch_s {
    opacity: 0;
    -webkit-transform: translate3d(-6%, 0, 0);
    transform: translate3d(-10%, 0, 0);
    transition: 0.6s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.kv_inner_catch_s.fadeInLeft--kv {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.kv_inner_catch_s {
    position: absolute !important;
    bottom: 6.8rem;
    left: 0.4rem;
    font-size: 1.5rem;
    font-weight: bold;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.075em;
}

.kv_inner_breadcrumbs {
    position: absolute;
    top: 26px;
    left: 6rem;
    font-size: 1.3rem;
    line-height: 2;
    color: #fff;
    z-index: 9998;
}

.kv_inner_breadcrumbs ul {
    display: flex;
}

.kv_inner_breadcrumbs li {
    position: relative;
    margin-right: 4.5rem;
}

.kv_inner_breadcrumbs li::before {
    position: absolute;
    top: -1px;
    bottom: 0;
    margin: auto;
    right: -2.5rem;
    background-image: url(../image/arrow03.svg);
    background-repeat: no-repeat;
    width: 7px;
    height: 11px;
    opacity: 1;
    content: "";
}

.kv_inner_breadcrumbs li:last-child::before {
    display: none;
}

.kv_inner_breadcrumbs li a {
    color: inherit;
}

.kv_inner_breadcrumbs li a::after {
    position: absolute;
    width: 0;
    right: 0;
    left: auto;
    bottom: 2px;
    height: 1px;
    background-color: #fff;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    ;
    content: "";
    z-index: 1;
}

.kv_inner_breadcrumbs li a:hover::after {
    right: auto;
    left: 0;
    width: 100%;
}

.kv-simple .kv_inner_breadcrumbs li a::after {
    background-color: #222222;
}

/* 下層見出し */
.kv_inner_title {
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.15em;
}

.kv_inner_title_s {
    position: relative;
    font-size: 1.7rem;
    margin-bottom: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.075em;
}

.kv_inner_title_l {
    margin-left: -4px;
    line-height: 1;
    font-size: 5.1rem;
    font-weight: inherit;
}

.kv_inner_en,
.kv_inner_en-career {
    position: absolute;
    bottom: -10.3rem;
    left: 44%;
    font-family: din-2014, sans-serif;
    font-weight: 100;
    font-size: 40rem;
    line-height: 1;
    letter-spacing: -0.025em;
    text-align: left;
    color: #EEF4F8;
    opacity: 1;
    pointer-events: none;
    z-index: 50;
    white-space: nowrap;
    mix-blend-mode: soft-light;
}

.factory_sec1 .bg_text_en-01,
.kv_inner_en {
    opacity: 0;
    transform: translateX(-20px);
    transition: 0.6s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.kv_inner_en.kv_inner_en_fadeInLeft {
    transform: translateX(0);
    opacity: 1;
}

.factory_sec1 .bg_text_en-01.kv_inner_en_fadeInLeft {
    transform: translateX(0);
    opacity: 0.15;
}


@supports (-ms-ime-align: auto) {

    /* Edge のみ適用される */
    .kv_inner_en {
        opacity: 0.35;
    }
}

.kv.kv-simple {
    height: 27.6rem;
    margin-bottom: -4.0rem;
    background-color: #F5F7FA;
}

.kv-simple.kv::before {
    background-color: transparent;
    bottom: auto;
}

.kv.kv-simple .kv_inner {
    justify-content: center;
    align-items: center;
}

.kv.kv-simple .kv_inner_title {
    color: inherit;
    vertical-align: bottom;
    text-align: center;
}

.kv.kv-simple .kv_inner_title_l {
    font-size: 4.2rem;
}

.kv.kv-simple .kv_inner_breadcrumbs {
    color: inherit;
}

.kv.kv-simple .kv_inner_breadcrumbs li::before {
    background-image: url(../image/arrow04.svg);
    background-repeat: no-repeat;
}

.kv-service01 .kv_img {
    background-image: url(../image/kv_service01.jpg);
    background-position: center center;
    background-size: cover;
}

.kv-service02 .kv_img {
    background-image: url(../image/kv_service02.jpg);
    background-position: center center;
    background-size: cover;
}

.kv-service03 .kv_img {
    background-image: url(../image/kv_service03.jpg);
    background-position: center 60%;
    background-size: cover;
}

.kv-service04 .kv_img {
    background-image: url(https://www.takiken.com/images/kv_service04.jpg);
    background-position: center center;
    background-size: cover;
}

.kv-comapny01 .kv_img {
    background-image: url(../image/kv_top01.jpg);
    background-position: center center;
    background-size: cover;
}

.kv-comapny02 .kv_img {
    background-image: url(https://www.takiken.com/images/kv_company02.jpg);
    background-position: center center;
    background-size: cover;
}

.kv-comapny03 .kv_img {
    background-image: url(../image/kv_company03.jpg);
    background-position: top center;
    background-size: cover;
}

.kv-faq .kv_img {
    background-image: url(../image/kv_faq.jpg);
    background-position: center 65%;
    background-size: cover;
}

.kv-career .kv_img {
    background-image: url(../image/kv_career.jpg);
    background-position: center;
    background-size: cover;
}

.kv.kv-career::before {
    background-color: rgba(0, 15, 30, .5);
}

.kv-factory .kv_img {
    background-image: url(../image/kv_factory.jpg);
    background-position: 50% 65%;
    background-size: cover;
}

/*==================================================================

    #contents

==================================================================*/

main {
    position: relative;
    display: block;
}

.contents {
    position: relative;
    padding-top: 20.0rem;
}

/*============================================================================

    $footer

============================================================================*/



footer {
    position: relative;
    width: 100%;
    overflow: hidden;
    z-index: 10;
}

/* お問い合わせ */
.footer_contact {
    height: 42.4rem;
    padding-bottom: 1rem;
    background-color: #0B52A0;
    color: #fff;
}

.footer_contact .bg_text_en-02 {
    margin-left: 44%;
    top: 10.3rem;
    font-weight: 500;
}

.footer_contact .inner-02 {
    display: flex;
    height: inherit;
    align-items: center;
}

.footer_contact_title {
    margin-right: auto;
}

.footer_contact_title p {
    line-height: 1.6;
}

.footer_contact_tel {
    line-height: 1;
    margin-right: 3.8rem;
}

.footer_contact_tel_num {
    margin-bottom: 0.8rem;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    font-size: 2.88rem;
    letter-spacing: 0.075em;
}

.footer_contact_tel_num a {
    color: #fff;
    pointer-events: none;
}

.footer_contact_tel_num a span {
    position: relative;
    top: -2px;
}

.footer_contact_tel_time {
    font-size: 1.45rem;
    text-align: center;
    margin-left: -0.3rem;
}

.footer_contact_form {
    position: relative;
    width: 30.6rem;
    height: 7.8rem;
    overflow: hidden;
    border-radius: 82px;
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.footer_contact_form a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: inherit;
    padding-bottom: 2px;
    box-sizing: border-box;
    color: #286BC1;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    transition: 0.25s ease-in-out;
    border-radius: 82px;
    z-index: 20;
}

/* 通常 */
.footer_contact_form::after {
    position: absolute;
    width: 0;
    right: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    background-color: #fff;
    box-shadow: 0 64px 98px -24px rgba(0, 0, 0, .06);
    content: "";
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    z-index: 9;
}

/* ホバー */
.footer_contact_form::before {
    position: absolute;
    width: 0;
    right: 0%;
    left: auto;
    bottom: -50%;
    height: 200%;
    box-sizing: border-box;
    background-color: #fff;
    transform: rotate(10deg);
    content: "";
    transition: 0.3s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    z-index: 10;
}

/* ホバー */
.footer_contact_form:hover {
    transform: scale(1.1, 1.1);
}

.footer_contact_form:hover::before {
    right: auto;
    left: 0;
    width: 110%;
}

@-webkit-keyframes contact_hover {
    0% {}

    99% {
        background-color: #286BC1;
    }

    100% {
        background-color: #286BC1;
    }
}

.footer_contact_form_icon {
    vertical-align: baseline;
    margin-right: 1.0rem;
}

.footer_contact_form_icon img {
    position: relative;
    top: 0.1rem;
    vertical-align: inherit;
}

/* コピーライト */
.copy {
    margin-bottom: 45px;
    text-align: center;
}

.copy small {
    line-height: 1;
    font-size: 1.3rem;
    letter-spacing: 0.2em;
}

/*============================================================================

    .footer_info

============================================================================*/


.footer_info {
    padding: 12.4rem 0 7.2rem;
}

.footer_info a {
    position: relative;
    color: #222222;
	letter-spacing: 0;
}

@media screen and (max-width: 768px) {
  .footer_info a {
    font-size: 10px;
  }
}



.footer_info_sitemap_home_sp {
    display: none;
}

.footer_info_sitemap a::after,
.footer_info_sitemap-small a::after {
    position: absolute;
    width: 0;
    right: 0;
    left: auto;
    bottom: -0.2rem;
    height: 1px;
    background-color: #222222;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
    z-index: 1;
}

.footer_info_sitemap a:hover::after,
.footer_info_sitemap-small a:hover::after {
    right: auto;
    left: 0;
    width: 100%;
}

.footer_info .inner-02 {
    display: flex;
    justify-content: flex-end;
    margin: 0 auto;
}

.footer_info .inner-02:first-child {
    margin-bottom: 9.2rem;
    justify-content: space-between;
}

.footer_info_profile_logo {
    margin-bottom: 3.6rem;
}

.footer_info_profile_logo svg {
    fill: #007CCF;
}

.footer_info_profile_logo a {
    transition: 0.15s ease-in-out;
}

.footer_info_profile_logo a img{
    max-width: 236px;
}

.footer_info_profile_logo a:hover {
    opacity: 0.5;
}

.footer_info_profile_company {
    margin-bottom: 0.8rem;
    font-weight: bold;
    font-size: 1.5rem;
}

.footer_info_profile_address {
    display: flex;
    font-size: 1.3rem;
}

.footer_info_profile_address dt {
    margin-right: 0.7rem;
    font-weight: bold;
}

.footer_info_profile_address dd {}

.footer_info_profile_tel {
    font-size: 1.3rem;
}

.footer_info_profile_tel a {
    pointer-events: none;
}

.footer_info_profile_call {
    margin-right: 2rem;
}

.footer_info_sitemap {
    display: flex;
    font-size: 1.3rem;
}

.footer_info_sitemap ul,
.footer_info_sitemap dl {
    margin-right: 7.0rem;
    overflow: hidden;
}

.footer_info_sitemap ul:last-child,
.footer_info_sitemap dl:last-child {
    margin-right: 0;
}

.footer_info_sitemap ul li {
    margin-bottom: 1.55rem;
}

.footer_info_sitemap ul li,
.footer_info_sitemap dt {
    font-weight: bold;
}

.footer_info_sitemap dt {
    margin-bottom: 1.0rem;
}

.footer_info_sitemap dd {
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
}

.footer_info_copyright {
    margin-left: 3rem;
    font-size: 1.3rem;
    /* font-family: din-2014, sans-serif; */
    font-weight: 200;
    line-height: 1;
}

.footer_info_copyright_copy {
    position: relative;
    top: -0.1rem;
    font-size: 1.1rem;
}

.footer_info_sitemap-small {
    line-height: 1;
    font-size: 1.3rem;
}

.footer_info_sitemap-small ul {
    display: flex;
}

.footer_info_sitemap-small li {
    margin-right: 3.4rem;
    position: relative;
}

.footer_info_sitemap-small li:last-child {
    margin-right: 0;
}

/*==================================================================

    .top_information

==================================================================*/

.top_information ::selection {
    background-color: #fff;
    color: #286BC1;
}

.information_icon {
    position: absolute;
    top: 15.0rem;
}

.top_information {
    position: absolute;
    bottom: -13.7rem;
    left: 50%;
    width: 50%;
    height: 21.6rem;
    box-sizing: border-box;
    padding: 4.2rem 5.5rem;
    background-color: #286BC1;
    z-index: 100;
}

.top_information h3 {
    line-height: 1;
    font-size: 2.2rem;
    letter-spacing: 0.075em;
    font-family: din-2014, sans-serif;
    font-weight: 300;
    color: #fff;
    margin-bottom: 2.4rem;
}

.top_information_box_text {
    height: 9.5rem;
    overflow: hidden;
}

.owl-carousel.owl-loaded {
    overflow: hidden;
}

/*==================================================================

    .top_news-row

==================================================================*/


.top_news-row_content {
    display: flex;
}

/* タイトル */
.top_news-row_content_title {
    font-size: 1.5rem;
    font-family: din-2014, sans-serif;
    font-weight: 500;
    color: #fff;
}

/* 日付 */
.top_news-row_content_date {
    line-height: 1;
    margin-right: 2.0rem;
    margin-bottom: 0.4rem;
    color: #fff;
    font-family: din-2014, sans-serif;
    font-weight: 200;
    font-size: 1.5rem;
    letter-spacing: 0.125em;
}

/* お知らせのブロックのボーダー */
.top_news-row_content_text {
    margin-bottom: 3.0rem;
    padding-top: 1.0rem;
    padding-bottom: 3.0rem;
}

.top_news-row_content:first-child {}

.top_news-row_content a {
    width: 100%;
    transition: 0.20s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

/* お知らせの高さ */
.top_news-row .scroll_area {
    height: 17.2rem;
    overflow: hidden;
}

/* ホバー */
.top_news-row_content a h4 {
    display: inline-block;
    font-family: inherit;
    position: relative;
    padding-bottom: 2px;
    font-size: 1.7rem;
    font-weight: bold;
    cursor: pointer;
}

.top_news-row_content a:hover h4::after {
    right: auto;
    left: 0;
    width: 100%;
}

.top_news-row_content a h4::after {
    position: absolute;
    width: 0;
    right: 0;
    left: auto;
    bottom: 0px;
    height: 1px;
    background-color: #fff;
    transition: 0.25s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
    z-index: 1;
}

/*==================================================================

    $news

==================================================================*/


/* タイトル */
.news .news_content_title {
    margin-bottom: 16px;
    font-size: 2.6rem;
    font-weight: bold;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
}

/* 日付 */
.news .news_content_date {
    line-height: 1;
    margin-left: 1px;
    color: #ADB6BF;
    font-family: din-2014, sans-serif;
    font-weight: 300;
}

/* お知らせテキスト */
.news .news_content_text {
    margin-bottom: 8rem;
    padding-bottom: 8rem;
    border-bottom: 1px solid #E1EBF3;
}

.news article:last-child .news_content_text {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}


#nw1,
#nw2,
#nw3,
#nw4,
#nw5,
#nw6 {
    padding-top: 20rem;
    margin-top: -20rem;
}





/*==================================================================

    .top_service

==================================================================*/

.top_service {
    position: relative;
    overflow: visible;
}

.top_service .inner-01 {
    width: auto;
    max-width: none;
}

.top_service_box01 {
    min-width: 1080px;
    max-width: 1200px;
    margin: auto;
}

.top_service_box01 {
    position: relative;
    margin-bottom: 90px;
    z-index: 10;
}

.top_service_box01_inner {
    margin-top: -9px;
}

.top_service .bg_text_en-01 {
    margin-left: calc(44% - 6rem);
    top: 0rem;
    font-weight: 500;
}

.top_service_list {
    position: relative;
    max-width: 1400px;
    min-width: 1080px;
    margin: auto;
    z-index: 10;
}

.top_service_list_box {
    display: flex;
    justify-content: space-between;
    height: inherit;
}

.top_service_list_box_shadow {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    box-shadow: 0 84px 64px -12px rgba(0, 5, 30, .04);
}

.top_service_list_box_item {
    position: relative;
    width: 25%;
    height: inherit;
    box-sizing: border-box;
    box-shadow: 0 54px 44px -12px rgba(0, 5, 30, .0);
    transition-duration: .2s;
    transition-property: transform, z-index, box-shadow;
    transition-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    z-index: 1;
}

.top_service_list_box_item::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: #E1EBF3;
    content: "";
    z-index: 10;
}

.top_service_list_box_item:first-child::before {
    display: none;
}

.top_service_list ul li a {
    position: relative;
    display: block;
    width: 100%;
    height: inherit;
}

.top_service_list ul li a::before {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    content: "";
    z-index: 1;
    background-color: #fff;
    box-shadow: 0 32px 64px -12px rgba(0, 0, 0, .00);
}

.top_service_list_box_item_inner {
    position: relative;
    width: 100%;
    height: inherit;
    overflow: hidden;
    vertical-align: middle;
    text-align: left;
    z-index: 20;
}

.top_service_list_icon {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #F5F7FA;
}

.top_service_list_icon::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: rgba(0, 15, 30, .3);
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    ;
    opacity: 0;
    z-index: 10;
}

.top_service_list_icon::after {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    color: #fff;
    font-size: 1.9rem;
    font-family: din-2014, sans-serif;
    font-weight: 200;
    content: "View More";
    opacity: 0;
    z-index: 10;
    transform: scale(1, 1);
    letter-spacing: 0.125em;
}

.top_service_list_icon img {
    width: 100%;
    height: auto;
    transform: scale(1.4, 1.4);
}

.top_service_list_title {
    padding: 4.0rem 4.4rem 3.6rem;
}

.top_service_list_title_ja {
    margin-bottom: 0;
    line-height: 1;
    font-size: 2.0rem;
    font-weight: bold;
    color: #222222;
}

.top_service_list_title_en {
    position: relative;
    display: inline-block;
    padding-bottom: 0;
    padding-left: 0.1rem;
    font-size: 1.3rem;
    line-height: 1;
    color: #ADB6BF;
    font-family: din-2014, sans-serif;
    font-weight: 200;
}

.top_service_list_title_en-sp {
    display: none;
}

.top_service_list_title_en-pc {
    display: inline-block;
}

.top_service_list_title_en::after {
    position: absolute;
    right: auto;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    content: "";
    z-index: 1;
}

/* hover */

.top_service_list_box,
.top_service_list_box_item::before,
.top_service_list ul li a::before,
.top_service_list_icon::after,
.top_service_list_title_ja,
.top_service_list_title_en,
.top_service_list_title_en::after,
.top_service_list ul li a::before,
.top_service_list_icon img {
    transition: 0.20s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.top_service_list_bg {
    position: absolute;
    top: 215px;
    top: 38.1%;
    right: 12.5%;
    width: 200%;
    height: calc(100% - 38.1% + (25.0rem / 2));
    background-color: #F5F7FA;
    z-index: -10;
}

.top_service_list ul li a:hover .top_service_list_title_ja {
    color: #286BC1;
}

.top_service_list ul li a:hover .top_service_list_title_en {
    color: #286BC1;
}

.top_service_list_box_item:hover {
    transform: scale(1.1, 1.1);
    z-index: 100;
    box-shadow: 0 54px 44px -12px rgba(0, 5, 30, .04);
}

.top_service_list_box_item:hover::before {
    background-color: transparent;
}

.top_service_list ul li a:hover .top_service_list_icon {}

.top_service_list ul li a:hover .top_service_list_title_en::after {
    width: 0;
    right: 0;
    left: auto;
}

.top_service_list ul li a:hover .top_service_list_icon::before {
    opacity: 1;
    transform: scale(1, 1);
}

.top_service_list ul li a:hover .top_service_list_icon::after {
    opacity: 1;
    transform: scale(.8, .8);
}

.top_service_list ul li a:hover .top_service_list_icon img {
    transform: scale(1.15, 1.15);
}

/*==================================================================

    .top_factory

==================================================================*/

.top_factory .inner-01 {
    margin-bottom: 25.3rem;
}

.top_factory .bg_text_en-01 {
    top: 168.3rem;
    margin-left: 44%;
    z-index: -1;
    font-weight: 500;
}

.top_factory .layout-02 picture img {
    position: absolute;
    top: 0;
    left: 10%;
    transform: none;
    width: 90%;
    height: 100%;
    object-fit: cover;
}

.top_factory_btn_sp_img {
    display: none;
}

/*==================================================================

    .factory

==================================================================*/

.factory_sec1 {
    position: relative;
    height: 862px;
    box-sizing: border-box;
    margin-top: -20.0rem;
    padding-top: 10rem;
    background-color: #0B52A0;
}

.factory_sec1,
.factory_sec1 .title-01_en,
.factory_sec1 .h_title-01_ja,
.factory_sec1 .h_title-01_en {
    color: #fff;
}

.factory_sec1 h3 .h_title-01_en::after {
    background-color: #fff;
}

.factory_sec1_breadcrumbs_outer,
.factory_sec1_inner-01 {
    min-width: 1080px;
    max-width: 1400px;
    margin: auto;
    padding: 0 6rem;
    left: 0;
    right: 0;
}

.factory_sec1_inner-01 {
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
}

.factory_sec1_inner-01 .layout-02 {
    padding-top: 100px;
}

.factory_sec1_breadcrumbs_outer {
    position: absolute;
    top: 10rem;
}

.factory_sec1_breadcrumbs_outer .kv_inner_breadcrumbs {
    left: 6rem;
}

.factory_kv_inner_title_s {
    display: inline-block;
    position: relative;
    margin-left: 4px;
    margin-right: 5.0rem;
    margin-bottom: 1.2rem;
    line-height: 1;
    letter-spacing: 0.075em;
    font-size: 1.7rem;
    font-family: din-2014, sans-serif;
    font-weight: 300;
}

.factory_kv_inner_title_l {
    position: relative;
    margin-bottom: 6.0rem;
    line-height: 1.5;
    font-size: 4.4rem;
    font-weight: bold;
    letter-spacing: 0.075em;
}

.factory_sec1 .title-01_ja {
    white-space: nowrap;
}

.factory_sec1 .bg_text_en-01 {
    position: absolute;
    bottom: 15.7rem;
    left: 44%;
    font-family: din-2014, sans-serif;
    font-weight: 100;
    font-size: 46rem;
    line-height: 1;
    letter-spacing: -0.025em;
    text-align: left;
    color: #EEF4F8;
    pointer-events: none;
    z-index: 21;
    white-space: nowrap;
}

.factory_sec1 .layout-02 picture {
    width: 1600px;
    height: 1080px;
    position: absolute;
    top: 40px;
    left: -45%;
    right: -50%;
    margin: auto;
    z-index: auto;
    overflow: visible;
}

.factory_sec1 .layout-02 picture::before {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(((100% - 1200px) / 2) + 1060px);
    height: 100%;
    background-image: linear-gradient(to right, rgba(11, 82, 160, 1) 40%, rgba(11, 82, 160, 0) 80%);
    content: "";
    z-index: 100;
}

#viet,
#shen,
#hui,
#cambodia,
#cambodia2 {
    position: absolute;
    opacity: 0;
    z-index: 1000;
    transition: 0.15s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    transition-property: transform, opacity;
    transform: scale(0.8, 0.8);
    cursor: pointer;
    pointer-events: none;
}

#viet.partner_active,
#shen.partner_active,
#hui.partner_active,
#cambodia.partner_active,
#cambodia2.partner_active {
    opacity: 1;
    display: block;
    transform: scale(1, 1);
    pointer-events: auto;
}

#viet_link,
#shen_link,
#hui_link,
#cambodia_link,
#cambodia_link2 {
    cursor: pointer;
}

.factory_sec1_marker_hover {
    color: #fff;
    font-family: din-2014, sans-serif;
    font-weight: 300;
    text-shadow: 2px 2px 0 #0B52A0, -2px -2px 0 #0B52A0, -2px 2px 0 #0B52A0, 1px -2px 0 #0B52A0, 0px 2px 0 #0B52A0, 0-2px 0 #0B52A0, -2px 0 0 #0B52A0, 2px 0 0 #0B52A0;
    font-size: 1.7rem;
    line-height: 32px;
}

.factory_sec1_marker_hover::after {
    position: absolute;
    right: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
    z-index: 1;
}

.factory_sec1_marker_hover:hover::after {
    width: 0;
    right: 0;
    left: auto;
}

.factory_sec1_partner {
    pointer-events: none;
    width: 40rem;
    padding: 1.5rem;
    background-color: #fff;
    color: #222222;
    border-radius: 0.4rem;
    box-shadow: 0 54px 44px -12px rgba(0, 5, 30, .1);
}

.factory_sec1_partner::before {
    position: absolute;
    top: 64px;
    left: -1.0rem;
    border-top: 0 solid #fff;
    border-right: 10px solid transparent;
    border-bottom: 17px solid #fff;
    border-left: 10px solid transparent;
    box-shadow: 0 54px 44px -12px rgba(0, 5, 30, .1);
    transform: rotate(-90deg);
    transition: 0.15s ease-in-out;
    content: "";
    z-index: 99;
}

.factory_sec1_partner_inner {
    display: flex;
}

.factory_sec1_partner figure {
    overflow: hidden;
    width: 12rem;
    height: 12rem;
    display: block;
    margin-right: 1.8rem;
}

.factory_sec1_partner figure img {
    position: relative;
    height: 100%;
}

.factory_sec1_partner_text {
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    width: 26rem;
    padding: 0 0.6rem;
    box-sizing: border-box;
}

.factory_sec1_partner_text_ja {
    display: block;
    width: 100%;
    line-height: 1.5;
    font-weight: bold;
}

.factory_sec1_partner_text_en {
    display: block;
    width: 100%;
    font-size: 1.0rem;
    margin-bottom: 1.4rem;
    margin-left: 2px;
    color: #ADB6BF;
    line-height: 1;
    letter-spacing: 0.075em;
    font-family: din-2014, sans-serif;
    font-weight: 300;
}

.factory_sec1_partner p {
    line-height: 1.26;
    font-size: 1.3rem;
}

.factory_sec1_partner p strong {
    display: block;
    margin-bottom: 0.4rem;
}

.factory_sec1_map img {
    opacity: 0.5;
}

.factory_sec1_marker {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 110;
}

.factory_sec1_marker .factory_sec1_marker_point {
    position: absolute;
}

.factory_sec1_marker span::before {
    position: absolute;
    width: 7px;
    height: 7px;
    background-color: #fff;
    border-radius: 100%;
    content: "";
}

.factory_sec1_marker span::before {
    animation-name: factory_sec1_marker;
    animation-duration: 1.6s;
    animation-timing-function: linear;
    animation-delay: 0;
    animation-iteration-count: infinite;
    animation-direction: normal;
    animation-fill-mode: none;
}

@-webkit-keyframes factory_sec1_marker {
    0% {
        transform: scale(2.2, 2.2);
        opacity: 0.3;
    }

    50% {}

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

.factory_sec1_marker_takiken,
.factory_sec1_marker_shanghai,
.factory_sec1_marker_huizhou,
.factory_sec1_marker_shenzhen,
.factory_sec1_marker_vietnam,
.factory_sec1_marker_cambodia,
.factory_sec1_marker_cambodia2 {
    position: absolute;
}

.factory_sec1_marker_takiken {
    top: 300px;
    left: 1145px;
}

.factory_sec1_marker_takiken svg {
    fill: #fff;
    width: 94px;
    height: auto;
    margin-left: 16px;
    margin-top: 12px;
}

.factory_sec1_marker_takiken .factory_sec1_marker_point {
    width: 7px;
    height: 7px;
    background-color: #fff;
    border-radius: 100%;
    left: 60px;
    top: -3px;
}

.factory_sec1_marker_shanghai {
    top: 352px;
    left: 1091px;
}

.factory_sec1_marker_shanghai .factory_sec1_marker_point {
    width: 7px;
    height: 7px;
    background-color: #fff;
    border-radius: 100%;
    left: -62px;
    top: -12px;
}

.factory_sec1_marker_shanghai::before {
    position: absolute;
    width: 53px;
    height: 1px;
    background-color: #fff;
    content: "";
    left: -59px;
    top: 16px;
}

.factory_sec1_marker_shanghai::after {
    position: absolute;
    width: 1px;
    height: 26px;
    background-color: #fff;
    content: "";
    left: -59px;
    top: -9px;
}

.factory_sec1_marker_huizhou {
    top: 414px;
    left: 1025px;
}

.factory_sec1_marker_huizhou .factory_sec1_marker_point {
    width: 7px;
    height: 7px;
    background-color: #fff;
    border-radius: 100%;
    left: -62px;
    top: -12px;
}

.factory_sec1_marker_huizhou::before {
    position: absolute;
    width: 53px;
    height: 1px;
    background-color: #fff;
    content: "";
    left: -59px;
    top: 16px;
}

.factory_sec1_marker_huizhou::after {
    position: absolute;
    width: 1px;
    height: 26px;
    background-color: #fff;
    content: "";
    left: -59px;
    top: -9px;
}

.factory_sec1_marker_shenzhen {
    top: 451px;
    left: 1025px;
}

.factory_sec1_marker_shenzhen .factory_sec1_marker_point {
    width: 7px;
    height: 7px;
    background-color: #fff;
    border-radius: 100%;
    left: -76px;
    top: -57px;
}

.factory_sec1_marker_shenzhen::before {
    position: absolute;
    width: 67px;
    height: 1px;
    background-color: #fff;
    content: "";
    left: -73px;
    top: 15px;
}

.factory_sec1_marker_shenzhen::after {
    position: absolute;
    width: 1px;
    height: 69px;
    background-color: #fff;
    content: "";
    left: -73px;
    top: -53px;
}

.factory_sec1_marker_cambodia {
    top: 573px;
    left: 945px;
}

.factory_sec1_marker_cambodia .factory_sec1_marker_point {
    width: 7px;
    height: 7px;
    background-color: #fff;
    border-radius: 100%;
    left: -72px;
    top: -45px;
}

.factory_sec1_marker_cambodia::before {
    position: absolute;
    width: 62px;
    height: 1px;
    background-color: #fff;
    content: "";
    left: -69px;
    top: 15px;
}

.factory_sec1_marker_cambodia::after {
    position: absolute;
    width: 1px;
    height: 55px;
    background-color: #fff;
    content: "";
    left: -69px;
    top: -40px;
}

.factory_sec1_marker_cambodia2 {
    top: 610px;
    left: 945px;
}

.factory_sec1_marker_cambodia2 .factory_sec1_marker_point {
    width: 7px;
    height: 7px;
    background-color: #fff;
    border-radius: 100%;
    left: -72px;
    top: -45px;
}

.factory_sec1_marker_cambodia2::before {
    position: absolute;
    width: 62px;
    height: 1px;
    background-color: #fff;
    content: "";
    left: -69px;
    top: 15px;
}

.factory_sec1_marker_cambodia2::after {
    position: absolute;
    width: 1px;
    height: 56px;
    background-color: #fff;
    content: "";
    left: -69px;
    top: -40px;
}

.factory_sec1_marker_vietnam {
    top: 537px;
    left: 945px;
}

.factory_sec1_marker_vietnam .factory_sec1_marker_point {
    width: 7px;
    height: 7px;
    background-color: #fff;
    border-radius: 100%;
    left: -46px;
    top: -6px;
}

.factory_sec1_marker_vietnam::before {
    position: absolute;
    width: 36px;
    height: 1px;
    background-color: #fff;
    content: "";
    left: -43px;
    top: 16px;
}

.factory_sec1_marker_vietnam::after {
    position: absolute;
    width: 1px;
    height: 16px;
    background-color: #fff;
    content: "";
    left: -43px;
    top: 1px;
}

.factory_sec1 .layout-02_contents {
    position: relative;
    z-index: 100;
}

.factory_sec1_marker_br_tablet {
    display: none;
}

.factory_sec2 {
    position: relative;
    overflow: visible;
    padding-top: 10rem;
    padding-bottom: 10rem;
}

.factory_sec2 .inner-01 {
    max-width: 1080px;
}

.factory_sec2 h3 .h_title-01_en::after {
    display: none;
}

.factory_sec2_bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    min-width: 1080px;
    max-width: 1200px;
    height: calc(100% - 125px);
}

.factory_sec2_bg::before {
    position: absolute;
    top: 0;
    left: calc((100% * 0.36) / 2);
    width: 1000%;
    height: 100%;
    background-color: #F5F7FA;
    z-index: -1;
    content: "";
}

.layout-02_contents_inner {
    margin-bottom: 7rem;
}

.factory_sec2 .layout-02_contents_inner:last-child {
    padding-bottom: 1rem;
}

.factory_sec2 .layout-02 {
    align-items: flex-start;
    margin-bottom: 12rem;
}

.factory_sec2 h4.h_title-01_ja {
    font-size: 3rem;
    margin-bottom: 4rem;
}

.factory_sec2 .layout-02 picture {
    overflow: visible;
}

.factory_sec2 .layout-02 picture::before {
    position: absolute;
    top: calc(50% - 7.5rem);
    right: 0;
    width: 40rem;
    height: 15rem;
    background-color: #F5F7FA;
    content: "";
}

.factory_sec2 .layout-02 picture.factory_sec2_img01 {
    width: 48rem;
    height: 30rem;
}

.factory_sec2 .layout-02 picture.factory_sec2_img02 {
    width: 48rem;
    height: 30rem;
}

.factory_sec2 .layout-02 picture.factory_sec2_img02::before {
    left: 0;
}

.factory_sec2 .layout-02 picture.factory_sec2_img03 {
    width: 48rem;
    height: 28rem;
}

.factory_sec2 .layout-02 picture.factory_sec2_img03 img {
    right: -4rem;
    left: auto;
    transform: none;
    top: auto;
}

.factory_sec3 {
    position: relative;
}

.factory_sec4 {
    position: relative;
    overflow: hidden;
    margin-top: -120px;
    padding-top: 120px;
}

.factory_sec4_bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    min-width: 1080px;
    max-width: 1200px;
    height: calc(100% + 125px);
}

.factory_sec4_bg::before {
    position: absolute;
    top: 0;
    right: calc((100% * 0.36) / 2);
    width: 1000%;
    height: 100%;
    background-color: #F5F7FA;
    z-index: -1;
    content: "";
}

.next_contents {
    position: relative;
    margin-top: -17rem;
    padding: 12rem 0;
    background-color: #F5F7FA;
    overflow: hidden;
}

.next_contents .inner-02 {
    z-index: 10;
}

.next_contents_title {
    width: 20%;
    display: flex;
    align-items: center;
}

.next_contents_title_inner {}

.next_contents_title_ja {
    position: relative;
    margin-bottom: 0.8rem;
    line-height: 1.5;
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: 0.075em;
}

.next_contents_title_en {
    position: relative;
    margin-left: 2px;
    margin-right: 5.0rem;
    line-height: 1;
    letter-spacing: 0.075em;
    font-size: 3.2rem;
    font-family: din-2014, sans-serif;
    font-weight: 300;
    color: #286BC1;
}

.next_contents_link {
    width: 80%;
    display: flex;
    justify-content: space-between;
}

.next_contents_en {
    position: absolute;
    left: 30%;
    bottom: -13rem;
    font-family: din-2014, sans-serif;
    font-weight: 100;
    font-size: 42rem;
    letter-spacing: 0.025em;
    line-height: 1;
    text-align: left;
    color: #286BC1;
    pointer-events: none;
    white-space: nowrap;
    opacity: 0.05;
}

.next_contents .inner-02 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.next_contents_link_box {
    width: 32%;
    background-color: #fff;
    box-sizing: border-box;
    box-shadow: 0 84px 64px -12px rgba(0, 5, 30, .04);
    transition: 0.25s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.next_contents_link_box:hover {
    transform: scale(1.1, 1.1);
    box-shadow: 0 84px 64px -12px rgba(0, 5, 30, .04), 0 44px 64px -12px rgba(0, 5, 30, .04);
}

.next_contents_link_box_inner {
    display: flex;
    justify-content: space-between;
}

.next_contents_link_box_l {
    position: relative;
    width: 10rem;
    height: 10rem;
    overflow: hidden;
    background-position: center;
    background-size: 135%;
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.next_contents_link_box_l::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: rgba(0, 15, 30, .3);
    transition: 0.15s ease-in-out;
    opacity: 0;
    z-index: 10;
}

.next_contents_link_box_l::after {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    color: #fff;
    font-size: 1.5rem;
    font-family: din-2014, sans-serif;
    font-weight: 300;
    letter-spacing: 0.125em;
    content: "View More";
    opacity: 0;
    z-index: 10;
    transform: scale(1, 1);
    transition: 0.25s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.next_contents_link_box_l-img01 {
    background-image: url(../image/next_contents_link_box_l_img01.jpg);
}

.next_contents_link_box_l-img02 {
    background-image: url(../image/next_contents_link_box_l_img02.jpg);
}

.next_contents_link_box_l-img03 {
    background-image: url(../image/next_contents_link_box_l_img03.jpg);
}

.next_contents_link_box_l-img04 {
    background-image: url(../image/top_service04_img.jpg);
}

.next_contents_link_box:hover .next_contents_link_box_l {
    background-size: 115%;
}

.next_contents_link_box:hover .next_contents_link_box_l::before {
    opacity: 1;
    transform: scale(1, 1);
}

.next_contents_link_box:hover .next_contents_link_box_l::after {
    opacity: 1;
    transform: scale(.8, .8);
}

.next_contents_link_box_r {
    display: flex;
    align-items: center;
    width: calc(100% - 10rem - 2.6rem);
    box-sizing: border-box;
    padding: 0.4rem 0;
}

.next_contents_link_box_title {
    color: #222222;
    line-height: 1;
}

.next_contents_link_box_title_ja {
    margin-top: 0.2rem;
    margin-bottom: 0.6rem;
    font-size: 1.7rem;
    font-weight: bold;
}

.next_contents_link_box_title_en {
    margin-left: 0.1rem;
    font-size: 1.1rem;
    font-family: din-2014, sans-serif;
    font-weight: 200;
    color: #ADB6BF;
}

.next_contents_link_box_text {
    color: #222222;
    font-size: 1.5rem;
    line-height: 1.6;
}

.next_contents_link_box_btn {
    font-size: 1.3rem;
    font-family: din-2014, sans-serif;
    font-weight: 300;
}

.next_contents_link_box_btn {
    position: relative;
}

.next_contents_link_box_btn span {
    display: inline-block;
    position: relative;
    line-height: 1;
    padding-bottom: 1rem;
    color: #286BC1;
}

.next_contents_link_box_btn span::after {
    position: absolute;
    right: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #286BC1;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
    z-index: 1;
}

.next_contents_link_box:hover .next_contents_link_box_btn span::after {
    width: 0;
    right: 0;
    left: auto;
}

.next_contents_link_box_l::after,
.next_contents_link_box_title_ja,
.next_contents_link_box_title_en,
.next_contents_link_box_text {
    transition: ease-in-out 0.2s;
}

.next_contents_link_box:hover .next_contents_link_box_title_ja,
.next_contents_link_box:hover .next_contents_link_box_title_en,
.next_contents_link_box:hover .next_contents_link_box_text {
    color: #286BC1;
}

/*==================================================================

    .top_links

==================================================================*/



.top_links {
    position: relative;
    padding-bottom: 126px;
    overflow: visible;
}

.top_links .inner-02 {
    max-width: 1400px;
}

.top_links_list {
    position: relative;
}

.top_links_list_box {
    display: flex;
    justify-content: space-between;
}

.top_links_list_box_shadow {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    box-shadow: 0 54px 44px -12px rgba(0, 5, 30, .04);
}

.top_links_list_box_item {
    position: relative;
    width: calc(100% / 3);
    background-color: #fff;
    box-shadow: 0 54px 44px -12px rgba(0, 5, 30, .0);
    transition-duration: .2s;
    transition-property: transform, z-index, box-shadow;
    transition-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    z-index: 1;
}

.top_links_list_box_item:first-child::before {
    display: none;
}

.top_links_list_box_item::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: #E1EBF3;
    z-index: 20;
    content: "";
}

.top_links_list_box_item a {
    display: block;
    width: 100%;
    height: 100%;
    color: #222222;
    box-sizing: border-box;
    padding-bottom: 4.8rem;
}

.top_links_list_box_item a::before {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-color: #fff;
    content: "";
    z-index: 1;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.top_links_list_box_item_inner {
    position: relative;
    z-index: 20;
}

.top_links_list_box_item a figure {
    position: relative;
    width: calc(100%);
    margin: 0 0 4.6rem;
    overflow: hidden;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    background-color: #fff;
}

.top_links_list_box_item a figure::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: rgba(0, 15, 30, .4);
    transform: scale(1, 1);
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    opacity: 0;
    z-index: 10;
}

.top_links_list_box_item a figure::after {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    color: #fff;
    font-size: 2.0rem;
    letter-spacing: 0.125em;
    font-family: din-2014, sans-serif;
    font-weight: 200;
    content: "View More";
    opacity: 0;
    z-index: 10;
    transform: scale(1, 1);
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.top_links_list_box_item a figure img {
    width: 100%;
    height: auto;
    transform: scale(1.2, 1.2);
}

.top_links_list_title {
    margin-bottom: 18px;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1;
}

.top_links_list_title,
.top_links_list_text,
.top_links_list_box_item .btn-02 {
    padding: 0 5.2rem;
}

.top_links_list_text {
    font-size: 1.5rem;
    line-height: 1.73;
}

.top_links_list_bg {
    position: absolute;
    top: -122px;
    left: calc((100% / 3) / 2);
    width: calc((100vw - 100%) / 2 + 83.25%);
    height: calc(100% + 250px);
    background-color: #F5F7FA;
    z-index: -1;
}

.top_links_list_box_item .btn-02 {
    position: absolute;
    bottom: 46px;
    display: none;
}

/* hover */

.top_links_list_box_item::before,
.top_links_list_box_item a,
.top_links_list ul li a::before,
.top_links_list_icon,
.top_links_list_box_item a figure img,
.top_links_list_box_item a figure::after {
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.top_links_list_box_item:hover {
    transform: scale(1.1, 1.1);
    z-index: 100;
    box-shadow: 0 54px 44px -12px rgba(0, 5, 30, .04);
}

.top_links_list_box_item a:hover figure img {
    transform: scale(1, 1);
}

.top_links_list_box_item a:hover {
    color: #286BC1;
}

.top_links_list_box_item:hover::before {
    background-color: transparent;
}

.top_links_list_box_item a:hover figure::before {
    opacity: 1;
}

.top_links_list_box_item a:hover figure::after {
    opacity: 1;
    transform: scale(.8, .8);
}

/*==================================================================

    .service-index

==================================================================*/


.services-index {
    position: relative;
    margin-top: -20.0rem;
    padding: 20.0rem 0.4rem;
}

.services-index::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 75%;
    height: 100%;
    background-color: #F5F7FA;
    content: "";
}

.services-index_inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.services-index_box {
    width: 49.4%;
    background-color: #fff;
    margin-bottom: 2.8rem;
    box-sizing: border-box;
    box-shadow: 0 84px 64px -12px rgba(0, 5, 30, .04);
    transition: 0.25s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.services-index_box:hover {
    transform: scale(1.1, 1.1);
    box-shadow: 0 84px 64px -12px rgba(0, 5, 30, .04), 0 44px 64px -12px rgba(0, 5, 30, .04);
}

.services-index_box_inner {
    display: flex;
    justify-content: space-between;
    padding: 4.4rem 4.8rem;
}

.services-index_box_l {
    position: relative;
    width: 19rem;
    height: 19rem;
    overflow: hidden;
    background-position: center;
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.services-index_box_l img {
    position: absolute;
    left: -100%;
    right: -100%;
    top: -100%;
    bottom: -100%;
    width: 100%;
    height: auto;
    margin: auto;
    transform: scale(1.35, 1.35);
    transition: 0.25s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.services-index_box_l::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: rgba(0, 15, 30, .3);
    transition: 0.15s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    ;
    opacity: 0;
    z-index: 10;
}

.services-index_box_l::after {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    color: #fff;
    font-size: 1.7rem;
    font-family: din-2014, sans-serif;
    font-weight: 200;
    letter-spacing: 0.125em;
    content: "View More";
    opacity: 0;
    z-index: 10;
    transform: scale(1, 1);
    transition: 0.25s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.services-index_box:hover .services-index_box_l img {
    transform: scale(1.15, 1.15);
}

.services-index_box:hover .services-index_box_l::before {
    opacity: 1;
    transform: scale(1, 1);
}

.services-index_box:hover .services-index_box_l::after {
    opacity: 1;
    transform: scale(.8, .8);
}

.services-index_box_r {
    display: flex;
    align-items: center;
    width: calc(100% - 19rem - 3.8rem);
    box-sizing: border-box;
    padding: 0.4rem 0;
}

.services-index_box_title {
    color: #222222;
    margin-bottom: 2.0rem;
    line-height: 1;
}

.services-index_box_title_ja {
    margin-bottom: 0.8rem;
    font-size: 2.1rem;
    font-weight: bold;
}

.services-index_box_title_en {
    margin-left: 0.1rem;
    font-size: 1.3rem;
    font-family: din-2014, sans-serif;
    font-weight: 300;
    color: #ADB6BF;
}

.services-index_box_text {
    color: #222222;
    font-size: 1.5rem;
    line-height: 1.6;
}

.services-index_box_btn {
    font-size: 1.3rem;
    font-family: din-2014, sans-serif;
    font-weight: 300;
}

.services-index_box_btn {
    position: relative;
}

.services-index_box_btn span {
    display: inline-block;
    position: relative;
    line-height: 1;
    padding-bottom: 1rem;
    color: #286BC1;
}

.services-index_box_btn span::after {
    position: absolute;
    right: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #286BC1;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
    z-index: 1;
}

.services-index_box:hover .services-index_box_btn span::after {
    width: 0;
    right: 0;
    left: auto;
}

.services-index_box_l::after,
.services-index_box_title_ja,
.services-index_box_title_en,
.services-index_box_text {
    transition: ease-in-out 0.2s;
}

.services-index_box:hover .services-index_box_title_ja,
.services-index_box:hover .services-index_box_title_en,
.services-index_box:hover .services-index_box_text {
    color: #286BC1;
}

.service-index {
    overflow: visible;
}

.service-index .top_service_list_bg {
    top: -20rem;
    height: calc(100% + 200px + 230px);
}

.service-all {
    overflow: hidden;
}

.service-index .inner-03,
.service-all .inner-04 {
    width: auto;
    max-width: 1400px;
}

.service-index .top_service_list,
.service-all .top_service_list {
    margin: auto;
}

.service-all.service-all-03 {
    margin-top: -16rem;
    border-top: none;
    padding-top: 8.8rem;
}

.service-all.service-all-04 {
    margin-top: -6rem;
    padding-top: 10rem;
}

.service-all {
    border-top: 1px solid #E1EBF3;
    padding-top: 7.5rem;
    padding-bottom: 12rem;
    position: relative;
}

.service-all_list {
    position: relative;
    max-width: 1200px;
    min-width: 1080px;
    margin: 0 auto;
    padding: 0 6rem;
}

.service-all_list::before {
    position: absolute;
    top: 0;
    left: 0;
    height: inherit;
    width: 100%;
    background-color: rgba(0, 15, 30, .3);
}

.service-all_list_box {
    position: relative;
    display: flex;
    justify-content: space-between;
}

.service-all_list_box_item {
    position: relative;
    width: 23.5%;
    text-align: center;
    border-bottom: 1px solid #E1EBF3;
}

.service-all_list_box_item::before {
    position: absolute;
    right: 0;
    left: auto;
    bottom: 0;
    width: 0;
    height: 1px;
    background-color: #286BC1;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
    z-index: 1;
}

.service-all_list_box_item:hover::before {
    width: 100%;
    right: auto;
    left: 0;
}

.service-all_list_box_item::after {
    position: absolute;
    top: 0;
    width: 0;
    right: 0;
    left: auto;
    height: 100%;
    background-color: #123f79;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
    opacity: 0.2;
}

.service-all_list_box_item:hover::after {
    width: 100%;
    right: auto;
    left: 0;
}

.service-all_list_box_item a {
    position: relative;
    display: block;
    color: #333;
    text-align: left;
    padding: 1.6rem 0.8rem;
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    z-index: 10;
}

.service-all_list_box_item a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1rem;
    margin: auto;
    width: 5px;
    height: 5px;
    transform: rotate(45deg);
    border-right: 1px solid #666;
    border-top: 1px solid #666;
    content: "";
    bottom: 0;
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    display: inline-block;
}

/* active */
.service-all_list_box_item.active {
    border-bottom: 1px solid #0068CF;
}

.service-all_list_box_item.active a {
    background-color: #F5F7FA;
}

.service-all_list_box_item.active::before,
.service-all_list_box_item.active::after {
    display: none;
}

.service-all_list_box_item.active a {
    color: #0068CF;
    pointer-events: none;
}

.service-all_list_box_item.active a::after {
    display: none;
}

/* hover */
.service-all_list_box_item a:hover .service-all_list_title_ja {
    color: #286BC1;
    padding-left: 0.6rem;
}

.service-all_list_box_item.active a::before {
    position: absolute;
    top: 0;
    width: 0;
    right: 0;
    left: auto;
    height: 100%;
    background-color: #F5F7FA;
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.service-all_list_box_item:hover a::after {
    border-right: 1px solid #286BC1;
    border-top: 1px solid #286BC1;
    right: 0.2rem;
}

.service-all_list_box_item a:hover::before,
.service-all_list_box_item.active a::before {
    right: auto;
    left: 0;
    width: 100%;
}

.service-all_list_box_item.active:hover a::after {
    border-right: 1px solid #666;
    border-top: 1px solid #666;
}

.service-all_list_box_item_inner {
    position: relative;
    z-index: 10;
}

.service-all_list_title_ja {
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    font-size: 1.5rem;
    font-weight: bold;
}

.service-all_list_title_en {
    display: inline-block;
    padding-bottom: 0;
    font-size: 1.3rem;
    line-height: 1;
    font-family: din-2014, sans-serif;
    font-weight: 200;
}

.service-all_list_index {
    margin: 0 0 1.4rem;
}

.service-all_list_index a {
    position: relative;
    display: block;
    padding: 2.8rem 0.8rem;
    font-size: 1.7rem;
    color: #333;
    font-weight: bold;
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.service-all_list_index a::before {
    position: absolute;
    top: 0;
    width: 0;
    right: 0;
    left: auto;
    height: 100%;
    background-color: #123f79;
    transition: 0.6s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
    opacity: 0.2;
}

.service-all_list_index a span {
    position: relative;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.service-all_list_index a span::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -2rem;
    margin: auto;
    width: 5px;
    height: 5px;
    transform: rotate(45deg);
    border-right: 1px solid #666;
    border-top: 1px solid #666;
    content: "";
    bottom: 0;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    display: inline-block;
    opacity: 1;
}

.service-all_list_index:hover a span::before {
    opacity: 1;
    border-right: 1px solid #286BC1;
    border-top: 1px solid #286BC1;
}

/* hover */
.service-all_list_index:hover a span {
    padding-right: 1rem;
    padding-left: 0.8rem;
}

.service-all_list_index a:hover::before {
    right: auto;
    left: 0;
    width: 100%;
}

.service-all_list_index a:hover span {
    color: #286BC1;
}

.service-all .top_service_list {}

.service-all .top_service_list_bg {
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 125px + 125px);
}

.service-02-all .inner-04 {
    max-width: none;
}

.service-02-all .top_service_list_bg {
    top: 12.5rem;
    left: calc(50% - 50vw);
    width: calc((50vw - 50%) + 1120px);
    height: calc(100% + 125px + 125px);
}

.service-01,
.service-02,
.service-03 {
    margin-top: -20.0rem;
    padding-top: 10.0rem;
}

.service-projects {
    overflow: visible;
}

.service-projects_box {
    position: relative;
    display: flex;
}

.service-projects_title {
    position: relative;
    width: 23%;
    width: 276px;
    padding-right: 60px;
    box-sizing: border-box;
}

.service-projects_title_inner {
    position: sticky;
    top: 140px;
    width: inherit;
    padding-right: inherit;
    box-sizing: border-box;
}

.sidebar_fixed {
    position: fixed;
    top: 140px;
}

.sidebar_btm {
    position: absolute;
    bottom: 0;
}

.service-projects_title_inner p {
    line-height: 1.7;
}

.service-projects_products {
    width: 77%;
}

.service-projects_products_l {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 26px;
}

.service-projects_products_l li {
    width: calc(100% /3);
    margin-bottom: 7.0rem;
    text-align: center;
}

.service-projects_products_l picture {
    margin-bottom: 5px;
    display: block;
}

.service-projects_products_l picture img {
    width: 100%;
    height: auto;
}

.service-projects_products_l_name {
    font-weight: bold;
}

.service-projects_products_s {
    position: relative;
}

.service-projects_products_title {
    position: absolute;
    top: -1.5rem;
    left: 6.6rem;
    font-weight: bold;
    background-color: #fff;
    padding: 0 0.6rem;
}

.service-projects_products_s ul {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 6.0rem 5.3rem 6.0rem 6.6rem;
    border: 1px solid #E1EBF3;
}

.service-projects_products_s li::before {
    display: block;
    position: absolute;
    top: 1.17rem;
    left: 0;
    width: 3px;
    height: 3px;
    background-color: #E1EBF3;
    border: 1px solid #E1EBF3;
    border-radius: 100%;
    content: '';
}

.service-projects_products_s li {
    position: relative;
    margin-top: 0.8rem;
    margin-bottom: 0.8rem;
    margin-left: 1rem;
    margin-right: 2.6rem;
    padding-left: 1.2rem;
    font-size: 1.5rem;
}

.service-projects_products_s li:last-child {
    margin-left: auto;
    list-style: none;
}

.service-projects_products_s li:last-child::before {
    display: none;
}

.service-process {
    position: relative;
    overflow: visible;
}

.service-process_area {
    position: relative;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 95.4rem;
    margin: auto;
}

.service-process_area_box {
    position: relative;
    width: 20.0rem;
    height: 20.0rem;
    margin-right: 2.4rem;
    margin-bottom: 6.2rem;
    text-align: center;
    line-height: 1;
}

.service-process_area_box::before,
.service-process_area_box::after {
    background-color: #D0DEEB;
}

.service-process_area_box::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 1px;
    content: "";
    z-index: -1;
}

.service-process_area_box:nth-child(4n)::before {
    width: 1px;
    height: 3.2rem;
    top: 100%;
    left: 4px;
    right: 0;
    margin: auto;
}

.service-process_area_box:last-child::before {
    display: none;
}

.service-process_area_box:nth-child(5n)::before {
    width: 1px;
    height: 3.1rem;
    top: -3.1rem;
    left: 0;
    right: 0;
    margin: auto;
}

.service-process_area_box:nth-child(5n)::after {
    position: absolute;
    top: -3.1rem;
    left: 10rem;
    width: 67.4rem;
    height: 1px;
    content: "";
    z-index: -1;
}

.service-process_area_box:nth-child(6)::after {
    position: absolute;
    top: 50%;
    left: -50%;
    width: 100%;
    height: 1px;
    content: "";
    z-index: -1;
}

.service-process_area_box:last-child,
.service-process_area_box:nth-child(4n) {
    margin-right: 0;
}

.service-process_area_box_num {
    margin-bottom: 1.2rem;
    font-size: 2.0rem;
    color: #0068CF;
    font-family: din-2014, sans-serif;
    font-weight: 400;
}

.service-process_area_box_title {
    margin-bottom: 1.2rem;
    font-size: 1.9rem;
    font-weight: bold;
}

.service-process_area_box_text {
    margin-bottom: 1.6rem;
    font-size: 1.1rem;
    color: #ADB6BF;
    font-family: din-2014, sans-serif;
    font-weight: 200;
}

.service-process_area_box_inner {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: inherit;
    height: inherit;
}

.service-process_area_box_inner_box {
    position: relative;
    pointer-events: none;
}

.service-process_area_box_inner::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    background-color: #fff;
    border-radius: 100%;
    box-shadow: 0 0 34px -0 rgba(0, 5, 30, .01);
    content: "";
}

.service-process_list {
    display: flex;
    flex-wrap: wrap;
    padding-top: 4px;
    margin-bottom: -60px;
}

.service-process_list_box_outer {
    position: absolute;
}

.service-process_list_box {
    display: flex;
    align-items: center;
    transform: scale(0.8, 0.8);
    position: absolute;
    top: 17rem;
    width: 46rem;
    margin-right: 1.4%;
    margin-bottom: 5.6rem;
    padding: 3.4rem 3.5rem 3.4rem 3.5rem;
    box-sizing: border-box;
    background-color: #fff;
    box-shadow: 0 0px 84px -12px rgba(0, 5, 30, .1);
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    transition-property: transform, opacity;
    opacity: 0;
    pointer-events: none;
    z-index: 100;
}

.service-process_list_box::before {
    position: absolute;
    right: 215px;
    top: -14px;
    border-top: 0 solid #fff;
    border-right: 10px solid transparent;
    border-bottom: 17px solid #fff;
    border-left: 10px solid transparent;
    box-shadow: 0 54px 44px -12px rgba(0, 5, 30, .1);
    transition: 0.20s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
    z-index: 99;
}

.service-process_area_box:nth-child(1) .service-process_list_box,
.service-process_area_box:nth-child(2) .service-process_list_box,
.service-process_area_box:nth-child(5) .service-process_list_box,
.service-process_area_box:nth-child(6) .service-process_list_box {
    left: -8rem;
}

.service-process_area_box:nth-child(1) .service-process_list_box::before,
.service-process_area_box:nth-child(2) .service-process_list_box::before,
.service-process_area_box:nth-child(5) .service-process_list_box::before,
.service-process_area_box:nth-child(6) .service-process_list_box::before {
    left: 17.9rem;
    right: auto;
}

.service-process_area_box:nth-child(3) .service-process_list_box,
.service-process_area_box:nth-child(4) .service-process_list_box,
.service-process_area_box:nth-child(7) .service-process_list_box,
.service-process_area_box:nth-child(8) .service-process_list_box {
    right: -8rem;
}

.service-process_area_box:nth-child(3) .service-process_list_box::before,
.service-process_area_box:nth-child(4) .service-process_list_box::before,
.service-process_area_box:nth-child(7) .service-process_list_box::before,
.service-process_area_box:nth-child(8) .service-process_list_box::before {
    right: 17.9rem;
}

.service-process_list_box:nth-child(3n) {
    margin-right: 0;
}

.service-process_list_box p {
    width: 25rem;
    text-align: justify;
}

.service-process_list_box h4 {
    position: relative;
    padding-top: 18px;
    margin-bottom: 6px;
    font-size: 2.6rem;
    font-weight: bold;
}

.service-process_list_box h4::after {
    position: absolute;
    left: 0;
    right: 0;
    top: -35px;
    font-size: 4.0rem;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    color: #0068CF;
    content: "";
}

.service-process_list_box picture {
    overflow: hidden;
    width: 12rem;
    height: 12rem;
    display: block;
}

.service-process_list_box picture img {
    position: relative;
    height: 100%;
    left: -50%;
}

.service-process_list_box p {
    margin-left: 2.5rem;
    font-size: 1.5rem;
    line-height: 1.5;
}

.service-process_list_box_active {
    opacity: 1;
    pointer-events: none;
    transform: scale(1, 1);
}

.service-process_bg {
    position: absolute;
    top: -10.0rem;
    right: 0;
    width: calc(50% + 41.2rem);
    width: 100%;
    height: calc(100% - 6.8rem + 21.8rem);
    background-color: #F5F7FA;
    z-index: -1;
}

.service03-process .service-process_area {
    width: 73.4rem;
}

.service03-process .service-process_area_box:last-child,
.service03-process .service-process_area_box:nth-child(3n) {
    margin-right: 0;
}

.service03-process .service-process_area_box:nth-child(4n) {
    margin-right: 2.4rem;
}

.service03-process .service-process_area_box:nth-child(3n)::before {
    width: 1px;
    height: 3.1rem;
    top: 100%;
    left: 4px;
    right: 0;
    margin: auto;
}

.service03-process .service-process_area_box::after,
.service03-process .service-process_area_box::before {
    background-color: #D0DEEB;
}

.service03-process .service-process_area_box:nth-child(4n)::before {
    width: 1px;
    height: 3.1rem;
    top: -3.1rem;
    left: 0;
    right: 0;
    margin: auto;
}

.service03-process .service-process_area_box:nth-child(4n)::after {
    position: absolute;
    top: -3.1rem;
    left: 10rem;
    width: 45.1rem;
    height: 1px;
    content: "";
    z-index: -1;
}

.service03-process .service-process_area_box:nth-child(5n)::before {
    position: absolute;
    top: 50%;
    left: -50%;
    width: 100%;
    height: 1px;
    content: "";
    z-index: -1;
}

.service03-process .service-process_area_box:nth-child(5n)::after {
    display: none;
}

.service03-process .service-process_area_box:nth-child(4) .service-process_list_box {
    left: -8rem;
    right: auto;
}

.service03-process .service-process_area_box:nth-child(4) .service-process_list_box::before {
    left: 17.9rem;
    right: auto;
}

.service03-process .service-process_area_box:nth-child(6) .service-process_list_box {
    right: -8rem;
    left: auto;
}

.service03-process .service-process_area_box:nth-child(6) .service-process_list_box::before {
    left: auto;
    right: 17.9rem;
}

.service-facilities .inner-04 {
    display: flex;
    justify-content: space-between;
}

.service-facilities_title {
    width: 25%;
    padding-right: 80px;
    box-sizing: border-box;
}

.service-facilities_title p {
    line-height: 1.7;
}

.service-facilities .layout-04 {
    width: 72%;
}

.service-facilities_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.service-facilities_list_box {
    width: 47.5%;
}

.service-facilities_list_box picture {
    margin-bottom: 14px;
    display: block;
}

.service-facilities_list_box h4 {
    font-size: 2.4rem;
    font-weight: bold;
}

.service-facilities_list_box p {
    line-height: 1.76;
}

.service-04_list_01,
.service-04_list_02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.service-04_list_01 .service-04_list_box {
    margin-bottom: 15.4rem;
}

.service-04_list_01 .service-04_list_box:nth-child(1) {
    width: 100%;
}

.service-04_list_01 .service-04_list_box:nth-child(1) li {
    width: calc(100% / 3);
    height: auto;
}

.service-04_list_01 .service-04_list_box:nth-child(2) {
    width: 22.5%;
}

.service-04_list_01 .service-04_list_box:nth-child(3) {
    width: 22.5%;
}

.service-04_list_02 .service-04_list_box:nth-child(1) {
    width: 50%;
}

.service-04_list_02 .service-04_list_box:nth-child(1) li {
    width: calc(100% / 2);
}

.service-04_list_02 .service-04_list_box_title p {
    white-space: nowrap;
}

.service-04_list_02 .service-04_list_box:nth-child(2),
.service-04_list_02 .service-04_list_box:nth-child(3) {
    width: 25%;
}

.service-04_list_02 .service-04_list_box:nth-child(2) li{}

.service-04_list_01 .service-04_list_box,.service-04_list_02 {
    margin-bottom: 10.4rem;
}

.service-04_list_box_title {
    text-align: center;
}

.service-04_list_box_title .title-01_ja {
    font-size: 3.0rem;
}

.service-04_list_box h3.title-04 {
    margin-bottom: 0.6rem;
}

.service-04_list_box h3.title-04::before {
    bottom: -1.7rem;
    display: none;
}

.service-04_list_box_title p {
    font-size: 1.5rem;
    line-height: 1.5;
    margin-bottom: 0.6rem;
}

.service-04_list_box ul {
    display: flex;
    padding: 1rem 1rem 0;
    flex-wrap: wrap;
}

.service-04_list_box li {
    text-align: center;
}

.service-04_list_box li picture {
    display: block;
}

.service-04_list_box li img {
    width: 100%;
    height: auto;
}

.service-04_list p {}

/*==================================================================

    .comapny_links

==================================================================*/



.comapny_links {
    position: relative;
    padding-bottom: 126px;
    margin-top: -50px;
}

.comapny_links .inner-02 {
    max-width: 1400px;
    min-width: 1200px;
    width: auto;
}

.comapny_links_list {
    position: relative;
    box-shadow: 0 64px 98px -24px rgba(0, 0, 0, .06);
}

.comapny_links_list_box {
    display: flex;
    justify-content: space-between;
}

.comapny_links_list_box_item {
    position: relative;
    width: calc(100% / 3);
    background-color: #fff;
}

.comapny_links_list_box_item::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: #E1EBF3;
    z-index: 20;
    content: "";
}

.comapny_links_list_box_item:first-child::before {
    display: none;
}

.comapny_links_list_box_item:last-child {
    border-right: 0;
}

.comapny_links_list_box_item a {
    position: relative;
    display: block;
    width: 100%;
    color: inherit;
    box-sizing: border-box;
    padding: 0 50px 46px;
}

.comapny_links_list_box_item a::before {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    content: "";
    z-index: 1;
    transition: 0.15s ease-in-out;
}

.comapny_links_list_box_item a:hover::before {
    z-index: 30;
}

.comapny_links_list_box_item_inner {
    position: relative;
    z-index: 20;
}

.comapny_links_list_box_item a figure {
    position: relative;
    width: auto;
    height: 246px;
    margin: 0 -50px 48px;
    overflow: hidden;
    transition: 0.15s ease-in-out;
}

.comapny_links_list_box_item a figure::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: rgba(0, 15, 30, .4);
    transform: scale(1, 1);
    transition: 0.15s ease-in-out;
    opacity: 0;
    z-index: 10;
}

.comapny_links_list_box_item a figure::after {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    color: #fff;
    font-size: 2.4rem;
    font-family: din-2014, sans-serif;
    font-weight: 300;
    content: "View More";
    opacity: 0;
    z-index: 10;
    transform: scale(1, 1);
    transition: 0.15s ease-in-out;
}

.comapny_links_list_box_item a:hover figure::before {
    opacity: 1;
}

.comapny_links_list_box_item a:hover figure::after {
    opacity: 1;
    transform: scale(.8, .8);
}

.comapny_links_list_box_item a figure img {
    width: 100%;
    height: auto;
}

.comapny_links_list_title {
    margin-bottom: 18px;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1;
}

.comapny_links_list_text {
    margin-bottom: 68px;
    font-size: 1.5rem;
    line-height: 1.73;
}

.comapny_links_list_bg {
    position: absolute;
    top: 123px;
    left: calc((100% / 3) / 2);
    width: calc((100% - 100%) / 2 + 83.25%);
    height: calc(100% + 250px);
    background-color: #F5F7FA;
    z-index: -1;
}

/* hover */
.comapny_links_list_box_item a,
.comapny_links_list ul li a::before,
.comapny_links_list_icon,
.comapny_links_list_box_item a figure img {
    transition: 0.15s ease-in-out;
}

.comapny_links_list_box_item a:hover figure img {
    transform: scale(1.05, 1.05);
}

.comapny_links_list_box_item a:hover {}

.comapny_links_list_box_item a:hover .btn-02 span {
    color: #286BC1;
}

.comapny_links_list_box_item a:hover .btn-02 span::after {
    width: 0;
    right: 0;
    left: auto;
}

/*==================================================================

    $company

==================================================================*/


.contents_inner {
    max-width: 1200px;
    margin: auto;
    padding: 0 6rem;
    display: flex;
    justify-content: space-between;
}

.contents_right {
    position: relative;
    width: 20%;
    padding-bottom: 25rem;
}

.contents_right::before {
    top: -250px;
    right: 0;
    position: absolute;
    width: 291%;
    height: 110%;
    background-color: #F5F7FA;
}

.contents_left {
    width: 100%;
}

.contents_left section {
    margin-bottom: 20.0rem;
    overflow: visible;
}

.company_anker {
    top: 16rem;
    position: sticky;
}

.company_anker_title {
    padding-bottom: 1.6rem;
    margin-right: 10%;
    margin-bottom: 4.0rem;
    font-size: 21px;
    font-weight: bold;
    border-bottom: #E1EBF3 1px solid;
}

#sec1,
#sec2,
#sec3 {
    /* padding-top: 160px; */
    /* margin-top: -160px; */
}

.company_anker ul {
    position: relative;
    padding-left: 1.6rem;
}

.company_anker ul::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: calc(100% - 1.95rem);
    background-color: #E1EBF3;
    content: "";
    margin: auto;
    bottom: 0;
}

.company_anker ul li {
    margin-bottom: 0.8rem;
}

.company_anker ul li a {
    position: relative;
    display: inline-block;
    padding-bottom: 0.4rem;
    position: relative;
    color: #333;
    font-size: 1.4rem;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.company_anker ul li a.active::before {
    position: absolute;
    top: -0.4rem;
    bottom: 0;
    left: -1.6rem;
    margin: auto;
    width: 1px;
    height: 1.4rem;
    background-color: #0068CF;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
}

.company_anker ul li a:hover,
.company_anker ul li a.active {
    color: #0068CF;
}

.company_anker ul li a::after {
    position: absolute;
    width: 0;
    right: 0;
    left: auto;
    bottom: 0;
    height: 1px;
    background-color: #0068CF;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
    z-index: 1;
}

.company_anker ul li a:hover::after,
.company_anker ul li a.active::after {
    right: auto;
    left: 0;
    width: 100%;
}

.company-01_sec1_history dl {
    display: flex;
    line-height: 24px;
}

.company-01_sec1_history dt {
    width: 180px;
    padding-top: 6px;
    text-align: right;
    font-family: 'B612 Mono', monospace;
    font-weight: 400;
    font-size: 2.0rem;
    letter-spacing: 0;
}

.company-01_sec1_history dd {
    position: relative;
    width: 400px;
    padding-top: 6px;
    padding-bottom: 20px;
    margin-left: 30px;
}

.company-01_sec1_history dd::before {
    content: '';
    display: block;
    position: absolute;
    width: 4px;
    height: 100%;
    top: 4px;
    bottom: 0;
    left: -18px;
    background-color: #E1EBF3;
}

.company-01_sec1_history dl:last-child dd::after {
    content: '';
    display: block;
    position: absolute;
    width: 4px;
    height: 25px;
    bottom: 4px;
    bottom: 0;
    left: -18px;
    background-image: url(../image/company_history_border-last.svg);
    background-size: 4px 25px;
}

.company-01_sec1_history_open dt {
    padding-top: 20px;
    font-size: 6.0rem;
}

.company-01_sec1_history .tb02 th {
    font-family: din-2014, sans-serif;
    font-weight: 300;
    font-size: 4.8rem;
    color: #CCCFDA;
    line-height: 1;
    letter-spacing: 0.02em;
    vertical-align: middle;
}

.company_outline_box {
    position: relative;
}

.company_outline_box_img {
    position: absolute;
    right: 0;
    width: 42rem;
    height: 26.6rem;
    border-left: 7rem solid #fff;
    box-sizing: border-box;
    background-image: url(../image/company_links_img02.jpg);
    background-position: center;
    background-size: cover;
}

.comapny02_map {
    margin-top: -125px;
}

.comapny02_map .inner-01 {
    max-width: 1400px;
}

.comapny02_map iframe {
    width: 100%;
}

.company_message_name {
    line-height: 1;
    padding-top: 40px;
    font-weight: bold;
}

.company_message_name dt {
    font-size: 1.5rem;
    margin-bottom: 1.4rem;
}

.company_message_name dd {
    font-size: 2.8rem;
}

/*==================================================================

    $contact

==================================================================*/
.contact {}

.p-contact_title {
    margin-bottom: 8px;
    font-weight: bold;
    font-size: 1.4rem;
}

.c-contact_must {
    color: #0068CF;
    border: 1px solid #0068CF;
    font-size: 1.1rem;
    display: inline-block;
    padding: 3px 8px;
    margin-left: 2rem;
    vertical-align: middle;
    line-height: 1;
    position: relative;
    top: -1px;
}

.p-contact table,
.p-contact input[type="text"],
.p-contact input[type="tel"],
.p-contact input[type="email"],
.p-contact select,
.p-contact textarea {
    width: 100%;
    box-sizing: border-box;
}

.p-contact input[type="text"],
.p-contact input[type="tel"],
.p-contact input[type="email"],
.p-contact textarea {
    border: 1px #dedede solid;
    padding: 16px 16px;
    background-color: #f8f9fa;
    margin-bottom: 3rem;
    font-size: 1.7rem;
    font-family: inherit;
}

.p-contact select {
    border: 1px #dedede solid;
    padding: 16px 16px;
    background-color: #f8f9fa;
    margin-bottom: 3rem;
    font-size: 1.7rem;
    font-family: inherit;
    padding: 14px 16px;
}

.p-contact input[type="text"],
.p-contact input[type="tel"],
.p-contact input[type="email"],
.p-contact select {
    height: 5.6rem;
}

.p-contact input::placeholder,
.p-contact select::placeholder {
    color: #aaa;
}

/* IE */
.p-contact input:-ms-input-placeholder,
.p-contact select:-ms-input-placeholder {
    color: #aaa;
}

/* Edge */
.p-contact input::-ms-input-placeholder,
.p-contact select::-ms-input-placeholder {
    color: #aaa;
}

.p-contact table {
    margin-bottom: 2rem;
}

.p-contact_btn {
    position: relative;
    border-radius: 6.6rem;
    overflow: hidden;
    width: 40%;
    margin: auto;
    height: 6.6rem;
    display: flex;
    align-items: center;
    transition: 0.3s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.p-contact_btn:hover {
    transform: scale(1.1, 1.1);
}

.p-contact_btn input {
    position: relative;
    width: 100%;
    font-size: 1.7rem;
    font-family: inherit;
    font-weight: bold;
    text-align: center;
    color: #fff;
    border: none;
    background-color: transparent;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 64px 98px -24px rgba(0, 0, 0, .06);
}

.p-contact_btn::before {
    position: absolute;
    width: 0;
    right: -20%;
    left: auto;
    bottom: -100%;
    height: 300%;
    box-sizing: border-box;
    background-color: #1766be;
    transform: rotate(10deg);
    content: "";
    transition: 0.25s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    z-index: 10;
}

.p-contact_btn::after {
    position: absolute;
    width: 0;
    right: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    background-color: #286BC1;
    box-shadow: 0 64px 98px -24px rgba(0, 0, 0, .06);
    content: "";
    transition: 0.25s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    z-index: 9;
}

.p-contact_btn:hover::before {
    right: auto;
    left: 0;
    width: 110%;
}

/* 確認画面 */
.p-contact_btn_outer {
    display: flex;
    justify-content: space-between;
    padding: 0 10%;
}

/* 送信する */
.p-contact_btn-submit {
    position: relative;
    border-radius: 63px;
    overflow: hidden;
    width: 40%;
    margin: auto;
    transition: 0.3s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    box-shadow: 0 64px 98px -24px rgba(0, 0, 0, .06);
}

.p-contact_btn-submit input {
    position: relative;
    width: 100%;
    font-size: 1.7rem;
    font-family: inherit;
    font-weight: bold;
    text-align: center;
    line-height: 3.6;
    color: #fff;
    border: none;
    background-color: transparent;
    cursor: pointer;
    z-index: 10;
    transition: 0.3s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.p-contact_btn-submit::before {
    position: absolute;
    width: 0;
    right: -20%;
    left: auto;
    bottom: -100%;
    height: 300%;
    box-sizing: border-box;
    background-color: #123f79;
    transform: rotate(10deg);
    content: "";
    transition: 0.3s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    z-index: 10;
}

.p-contact_btn-submit::after {
    position: absolute;
    width: 0;
    right: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    background-color: #286BC1;
    box-shadow: 0 64px 98px -24px rgba(0, 0, 0, .06);
    content: "";
    transition: 0.3s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    z-index: 9;
}

.p-contact_btn-submit:hover::before {
    right: auto;
    left: 0;
    width: 110%;
}

.p-contact_btn-submit:hover {
    transform: scale(1.1, 1.1);
}

/* 戻る */
.p-contact_btn-back {
    position: relative;
    border-radius: 63px;
    overflow: hidden;
    width: 40%;
    margin: auto;
    transition: 0.3s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    box-shadow: 0 64px 98px -24px rgba(0, 0, 0, .06);
}

.p-contact_btn-back input {
    position: relative;
    width: 100%;
    font-size: 1.7rem;
    font-family: inherit;
    font-weight: bold;
    text-align: center;
    line-height: 3.6;
    color: #333;
    border: none;
    background-color: transparent;
    transition: 0.3s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    cursor: pointer;
    z-index: 10;
}

.p-contact_btn-back::before {
    position: absolute;
    width: 0;
    right: -20%;
    left: auto;
    bottom: -100%;
    height: 300%;
    box-sizing: border-box;
    background-color: #f3f3f3;
    transform: rotate(10deg);
    content: "";
    transition: 0.3s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    z-index: 10;
}

.p-contact_btn-back::after {
    position: absolute;
    width: 0;
    right: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    background-color: #dedede;
    box-shadow: 0 64px 98px -24px rgba(0, 0, 0, .06);
    content: "";
    transition: 0.3s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    z-index: 9;
}

.p-contact_btn-back:hover::before {
    right: auto;
    left: 0;
    width: 110%;
}

.p-contact_btn-back:hover {
    transform: scale(1.1, 1.1);
}

.p-contact_privacy {
    margin-bottom: 2rem;
    font-size: 1.4rem;
    text-align: center;
}

.p-contact_privacy a {
    position: relative;
    display: inline-block;
    margin-right: 12px;
}

.p-contact_privacy a::after {
    position: absolute;
    right: auto;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #286BC1;
    transition: 0.2s ease-out;
    content: "";
    z-index: 1;
}

.p-contact_privacy a:hover::after {
    width: 0;
    right: 0;
    left: auto;
}

.p-contact_privacy a:hover {
    color: #286BC1;
}

.p-contact_privacy a .icon_clone {}

.p-contact_privacy a .icon_clone svg {
    width: 12px;
    height: 10px;
    vertical-align: middle;
    fill: #286BC1;
}

.p-contact_note {
    font-size: 1.3rem;
}

.error_messe {
    color: #FF272B;
}

.contact_thanks .btn-01 {
    margin-bottom: 100px;
}

.contact_note_gmail {
    padding: 30px 44px 32px;
    border: 1px solid #E1EBF3;
    padding-top: 30px;
    font-size: 1.5rem;
}

.contact_note_gmail_title {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1.7rem;
}

.contact_right {
    position: sticky;
    top: 140px;
    display: inline-block;
}

.contact_right li {
    margin-bottom: 1.0rem;
    color: #CCCFDA;
}

.contact_right li:last-child {
    margin-bottom: 0;
}

.contact_right li span {
    margin-right: 1rem;
    font-family: din-2014, sans-serif;
    font-weight: 300;
}

.contact_right li.active {
    margin-bottom: 1.6rem;
    color: #0068CF;
    font-weight: bold;
    border-bottom: 1px solid #0068CF;
}

/*==================================================================

    $career

==================================================================*/

.kv-career .kv_inner {
    align-items: flex-end;
}

.kv-career .kv_inner_title {
    color: #222222;
    margin-bottom: 6rem;
}

#kv_inner_title_l_animate,
#kv-career_inner_title_l {
    opacity: 0;
    transform: translateY(2.5rem);
    transition: 0.6s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

#kv_inner_title_l_animate.kv_inner_title_l_fadeInUp,
#kv-career_inner_title_l.kv_inner_title_l_fadeInUp {
    opacity: 1;
    transform: translateY(0);
}

.box_animate,
#kv_inner_title_s_animate,
#kv-career_inner_title_s {
    opacity: 0;
    transform: translateY(2.5rem);
    transition: 0.6s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.box_animate.box_animate_fadeInUp,
#kv_inner_title_s_animate.kv_inner_title_l_fadeInUp,
#kv-career_inner_title_s.kv_inner_title_l_fadeInUp {
    opacity: 1;
    transform: translateY(0);
}

.kv_inner_en-career {
    opacity: 0;
    transform: translateX(-20px);
    transition: 0.6s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.kv_inner_en-career.kv_inner_en_fadeInLeft {
    transform: translateX(0);
    opacity: 1;
}

.kv-career .kv_inner_breadcrumbs {
    color: #222222;
}

.kv-career .kv_inner_breadcrumbs li::before {
    background-image: url(../image/arrow04.svg);
    background-repeat: no-repeat;
}

.kv-career .kv_inner_breadcrumbs li a::after {
    background-color: #222222;
}

.career_bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 150rem;
    background-color: #F5F7FA;
    z-index: -200;
}

.career_intro {
    position: relative;
}

.career_intro_bg {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    /*     opacity: 0;
 */
    transition: 0.25s ease-in;
    z-index: 1;
    background-image: url(../image/kv_career.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.career_intro_bg {
    opacity: 0;
    filter: blur(20px) brightness(1.31) contrast(160%) saturate(70%);
    transition: 0.50s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    transform: scale(1.05, 1.05);
}

.career_intro_bg.career_intro_bg_show {
    opacity: 1;
    filter: blur(0px) brightness(1) contrast(100%) saturate(100%);
    transform: scale(1, 1);
}

.career_intro_bg::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    opacity: .5;
    background-position: center;
    background-repeat: repeat;
}

.career_intro_bg::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background-color: rgba(0, 15, 50, .38);
}

.career_intro_box {
    position: relative;
    z-index: 10;
    color: #fff;
    width: 50%;
}

.career_intro_box h4 {}

.career_intro h4.h_title-01_ja {
    margin-bottom: 5.4rem;
}

.career_intro .bg_text_en-01 {
    left: 43%;
    bottom: -17.2rem;
    z-index: 1;
    color: #fff;
}

.career_intro .inner-03 {
    padding: 16rem 6rem 17rem;
    margin-bottom: 0;
}

.career_intro .inner-03 h3.title-01 {
    margin-bottom: 0;
}

.career_schedule {
    position: relative;
    padding-top: 100px;
    margin-top: -0;
    overflow: visible;
}

.career_schedule .inner-04 {
    margin-bottom: 0;
    padding-bottom: 12.4rem;
}

.career_schedule_bg {
    position: absolute;
    top: 552px;
    left: 0;
    width: 100%;
    height: calc(100% - 552px);
    background-color: #F5F7FA;
    z-index: -1;
}

.career_schedule::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 552px;
    width: 100%;
    background-color: rgba(0, 15, 50, .38);
    content: "";
    z-index: -1;
}

.career_schedule::after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 552px;
    background-image: url(../image/career_schedule_bg01.jpg);
    background-position: center;
    background-size: cover;
    content: "";
    z-index: -10;
}

.career_schedule_title {
    margin-bottom: 9.0rem;
    color: #fff;
}

.career_schedule_title .title-06_ja {
    font-size: 3.4rem;
}

.career_schedule_title p {
    text-align: center;
    color: #fff;
}

.career_schedule_box {
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    margin: auto;
    padding: 10.0rem 10.5rem 10.0rem;
    background-color: #fff;
}

.career_schedule_box_list {
    width: 43%;
    box-sizing: border-box;
}

.career_schedule_box_list:nth-child(2n) {}

.career_schedule_box_list h4 {
    margin-bottom: 55px;
    line-height: 1;
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
}

.career_schedule_box_list_group {
    display: block;
    margin-bottom: 12px;
    font-size: 1.5rem;
}

.career_schedule_box_list_row {
    position: relative;
    display: flex;
    padding-left: 2.4rem;
    line-height: 1;
}

.career_schedule_box_list_row::before {
    content: '';
    display: block;
    position: absolute;
    width: 7px;
    height: 7px;
    box-sizing: border-box;
    z-index: 2;
    border: 0px solid #E1EBF3;
    border-radius: 50%;
    top: 0.3rem;
    left: 0;
    background-color: #E1EBF3;
}

.career_schedule_box_list_row::after {
    content: '';
    display: block;
    position: absolute;
    width: 1px;
    height: 100%;
    top: 0.4rem;
    bottom: 0;
    left: 3px;
    background-color: #E1EBF3;
}

.career_schedule_box_list_row:last-child::after {
    display: none;
}

.career_schedule_box_list_row_time {
    min-width: 44px;
    font-size: 1.5rem;
    color: #5D6776;
    font-family: din-2014, sans-serif;
    font-weight: 500;
    text-align: right;
}

.career_schedule_box_list_row dl {
    margin-bottom: 3.4rem;
    margin-left: 5.0rem;
}

.career_schedule_box_list_row:last-child dl {
    margin-bottom: 0;
}

.career_schedule_box_list_row dt {
    margin-top: -1px;
    margin-bottom: 1.4rem;
    font-weight: bold;
}

.career_schedule_box_list_row dd {
    line-height: 1.5;
    font-size: 1.5rem;
}

.career_message {
    position: relative;
    margin-top: -0;
    padding: 16.5rem 0;
    overflow: visible;
}

.careers_message_bg {
    position: absolute;
    top: -420px;
    right: 0;
    width: calc(66%);
    height: 180%;
    background-color: #F5F7FA;
    z-index: -10;
}

.career_message .inner-03 {
    margin-bottom: 0;
}

.career_message_box {
    display: flex;
    margin-bottom: 6rem;
}

.career_message_box:last-child {
    margin-bottom: 0;
}

.career_message_box picture {
    display: block;
    width: 15rem;
    min-width: 15rem;
    height: 15rem;
    overflow: hidden;
    margin-right: 3.6rem;
}

.career_message_box picture img {
    width: 100%;
    height: auto;
}

.career_message_box p {
    line-height: 1.64;
}

.career_message_box_name {
    padding-top: 1.6rem;
    font-weight: bold;
}

.career_message_box_text {}

.careers_require {
    position: relative;
    overflow: visible;
    padding: 12.0rem 0;
}

.careers_require_bg {
    position: absolute;
    top: 26rem;
    left: 0;
    width: calc(50%);
    height: 1000%;
    z-index: -10;
}

.careers_require .inner-04 {
    margin-bottom: 0;
}

.careers_require_list_outer {
    padding: 0 0 0 0;
}

.careers_require_list_title {
    display: flex;
    position: relative;
    padding: 4.2rem 6.5rem;
    cursor: pointer;
    background-color: #fff;
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.careers_require_list_title::before {
    position: absolute;
    top: 0;
    width: 0;
    right: 0;
    left: auto;
    height: 100%;
    background-color: #123f79;
    transition: 0.6s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    content: "";
    opacity: 0.2;
}

.careers_require_list:first-child .careers_require_list_title {}

.careers_require_list_title_btn {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 52px;
    height: 52px;
    transition: 0.2s ease-in-out;
}

.careers_require_list_title_btn span {
    display: block;
    position: absolute;
    top: 0;
    bottom: 4px;
    margin: auto;
    width: 26px;
    height: 2px;
    background-color: #222222;
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.careers_require_list_title_btn span:nth-child(2) {
    transform: rotate(90deg);
}

.careers_require_list_title h4 {
    margin-left: 4.2rem;
    font-weight: bold;
    transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}

.careers_require_list:first-child {
    border-top: 1px solid #E1EBF3;
}

.careers_require_list {
    position: relative;
    border-bottom: 1px solid #E1EBF3;
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    z-index: 10;
}

.careers_require_list::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    transition: 0.4s cubic-bezier(0.260, 0.005, 0.000, 1.035);
    box-shadow: 0 84px 64px -12px rgba(0, 5, 30, .0);
    content: "";
}

/* hover */
.careers_require_list_title:hover h4 {
    color: #286BC1;
}

.careers_require_list_title:hover::before {
    right: auto;
    left: 0;
    width: 100%;
}

.careers_require_list_title:hover h4 {
    margin-left: 4.8rem;
}

.careers_require_list_title:hover .careers_require_list_title_btn span {
    background-color: #286BC1;
}

/* active */

.careers_require_list_title.careers_require_list_title_active {
    box-shadow: none;
}

.careers_require_list_title_active .careers_require_list_title_btn span:nth-child(1) {
    transform: rotate(180deg);
}

.careers_require_list_title_active .careers_require_list_title_btn span:nth-child(2) {
    transform: rotate(0deg);
}

.careers_require_list:last-child {
    margin-bottom: 0;
}

.text-01.careers_require_list_box {
    display: none;
    padding-bottom: 0.01rem;
}

.careers_require_list_box table {
    margin: 2rem 6.5rem 4rem;
}

.careers_apply {
    position: relative;
    overflow: visible;
}

.careers_apply .inner-04 {
    display: flex;
    justify-content: center;
    background-color: #fff;
    box-sizing: border-box;
    margin-bottom: 20rem;
}

.careers_apply .text-01 {
    width: 36%;
    margin-left: 100px;
    line-height: 1.6;
}

/*==================================================================

    $qa

==================================================================*/

.qa1 {
    padding-bottom: 11rem;
}

.qa1 dl {
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid #E1EBF3;
}

.qa1 dl:last-child {
    border: none;
}

.qa1 dl dt {
    position: relative;
    margin-bottom: 1.5rem;
    padding-left: 3rem;
    font-weight: bold;
}

.qa1 dl dt::before {
    position: absolute;
    top: 0.3rem;
    left: 0;
    margin-right: 0.7rem;
    line-height: 1;
    font-family: din-2014, sans-serif;
    font-weight: 500;
    font-size: 2.25rem;
    color: #0068CF;
    content: "Q.";
    vertical-align: baseline;
    bottom: -1px;
}

.qa1 dl dd {
    position: relative;
    padding-left: 3rem;
}

.qa1 dl dd:before {
    position: absolute;
    top: 0.3rem;
    left: 0;
    margin-right: 0.7rem;
    line-height: 1;
    font-family: din-2014, sans-serif;
    font-weight: 500;
    font-size: 2.25rem;
    color: #bbb;
    content: "A.";
}





/*==================================================================

    $IE

==================================================================*/

@media all and (-ms-high-contrast: none) {

    /* IE のみ適用される */
    .kv_inner_en {
        transform: translateX(0);
        opacity: 0.35;
        transition: none;
    }

    .kv_inner_en.kv_inner_en_fadeInLeft {
        opacity: 0.35;
    }

    #kv_inner_title_l_animate,
    #kv-career_inner_title_l,
    .box_animate,
    #kv_inner_title_s_animate,
    #kv-career_inner_title_s,
    #kv_inner_title_l_animate.kv_inner_title_l_fadeInUp,
    #kv-career_inner_title_l.kv_inner_title_l_fadeInUp,
    .factory_sec1_img.kv_show,
    .factory_sec1_img {
        transform: translateX(0);
        transition: none;


    }

    .factory_sec1_inner-01 {
        position: relative;
        top: -5rem;
    }

    .factory_sec1_img.kv_show,
    .factory_sec1_img {
        opacity: 1;
    }

}



/*==================================================================

    $fadeIn

==================================================================*/


@media screen and (min-width:1700px) {
    header {
        padding: 0 100px;
    }
}

@media screen and (min-width:1921px) {
    html {
        font-size: 70%;
    }

    .kv {
        height: 520px;
    }

    .kv_inner {
        max-width: 1400px;
    }

    .kv_inner_catch {
        top: 54%;
    }

    .kv_inner_catch_en {
        font-size: 16px;
    }

    .contents {
        position: relative;
        padding-top: 22.0rem;
    }

    .contents_inner {
        max-width: 1400px;
    }

    .top_service .bg_text_en-01 {
        top: 35px;
    }

    .layout-01 h3.title-01 {
        margin-bottom: 0;
    }

    .top_service_box01 {
        max-width: 1400px;
    }

    .top_service_list,
    .top_links .inner-02,
    .comapny_links .inner-02 {
        max-width: 1600px;
    }

    .comapny02_map .inner-01 {
        max-width: 1600px;
    }

    .top_service_list_title {
        transition: 0.15s ease-in-out;
    }

    .top_service_box01 {
        margin-bottom: 100px;
    }

    .top_factory .inner-01 {
        margin-bottom: 276px;
    }

    .top_factory .bg_text_en-01 {
        top: 173.3rem;
    }

    .top_links_list_bg {
        top: -138px;
        height: calc(100% + 276px);
    }

    .top_links,
    .comapny_links {
        padding-bottom: 138px;
    }

    .top_links_list_title,
    .top_links_list_text,
    .top_links_list_box_item .btn-02 {
        padding: 0 5.5rem;
    }

    .top_links_list_box_item .btn-02 {
        display: none;
    }

    .comapny_links_list_box_item a {
        padding: 0 55px 50px;
    }

    .comapny_links_list_box_item a figure {
        height: 260px;
        margin: 0 -55px 48px;
    }

    .service-all_list {
        max-width: 1400px;
    }

    .service-all .top_service_list_bg {
        height: calc(100% + 300px);
    }

    .services-index {
        margin-top: -22rem;
    }

    .service-index .top_service_list_bg {
        top: -220px;
        height: calc(100% + 220px + 230px);
    }

    .service-index .inner-03,
    .service-all .inner-04 {
        width: auto;
        max-width: 1600px;
    }

    .service-01,
    .service-02,
    .service-03 {
        margin-top: -22.0rem;
    }

    .service-process_bg {}

    .service-process_list_box h4 {
        padding-top: 24px;
    }

    .factory_sec1 {
        margin-top: -22.2rem;
        padding-top: 310px;
        height: 940px;
    }

    .factory_sec1 .layout-02 picture {
        top: 100px;
    }

    .factory_sec1 .bg_text_en-01 {
        bottom: 10.7rem;
    }

    .factory_sec2 .inner-01 {
        max-width: 1200px;
    }

    .factory_sec2_bg {
        max-width: 1400px;
    }

    .factory_sec4_bg {
        max-width: 1400px;
    }

    .careers_message_bg {
        top: -680px;
        height: 300%;
    }

    .career_schedule {
        padding-top: 12.0rem;
    }

    .career_schedule_title {
        margin-bottom: 11.0rem;
    }

    .career_schedule_box_list_row::before {
        top: 5px;
    }

    .career_schedule_box_list_row::after {
        top: 0.5rem;
    }

    .footer_info_sitemap ul,
    .footer_info_sitemap dl {
        margin-right: 8.2rem;
    }

    .footer_contact_tel {
        margin-right: 6.2rem;
    }

    .footer_contact_form {
        width: 346px;
        height: 84px;
        border-radius: 84px;
    }

    .footer_info_profile_company {
        margin-bottom: 9px;
    }

    .footer_info_copyright_copy {
        font-size: 1.0rem;
    }

    h3.title-05::before,
    h3.title-04::before {
        width: 2.95rem;
    }

    h3.title-04::before {
        left: 2px;
    }
}








.kv_inner_catch_b_02 .textarea01:first-child {
    /* margin-right: -0.4rem; */
    /* width: 0.6em; */
}


.kv_inner_catch_b_02_text_ajust01 {
    margin-right: -0.8rem;
}

.kv_inner_catch_b_02_text_ajust02 {
    margin-right: -1.8rem;
}

.kv_inner_catch_b_02_text_ajust03 {
    margin-right: -0.2rem;
}

.kv_inner_catch_b_02_text_ajust04 {
    margin-right: -0.2rem;
}

.kv_inner_catch_b_02_text_ajust05 {
    /* margin-right: -0.1rem; */
}

.kv_inner_catch_b_02_text_ajust06 {
    margin-right: -0.1rem;
}

.kv_inner_catch_b_02_text_ajust07 {
    margin-right: -0.05rem;
}

.kv_inner_catch_b_02_text_ajust08 {
    margin-right: -0.05rem;
}

.kv_inner_catch_b_02 {
    opacity: 1;
    transform: none;
    line-height: 1;
}

.kv_inner_catch_b_03_text_ajust05 {
    margin-right: -0.5rem;
}

.kv_inner_catch_2_02_text_ajust01 {
    margin-right: -0.6rem;
}




.kv_inner_catch_b_02 .textarea01 {
    /* position: relative; */
    /* display: inline-block; */
    /* overflow: hidden; */
    /* height: 1.3em; */
    /* width: 0.55em; */
    animation-name: textarea;
    animation-duration: 0.7s;
    animation-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    animation-iteration-count: 1;
    animation-direction: alternate;
    animation-fill-mode: forwards;
}

.kv_inner_catch_b_02 .mask01 {
    /* position: absolute; */
    /* transform-origin: top left; */
    /* display: inline-block; */
    /* overflow: hidden; */
    /* height: 1.3em; */
    /* width: inherit; */
    animation-name: maskarea;
    animation-duration: 0.4s;
    animation-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    animation-iteration-count: 1;
    animation-direction: alternate;
    animation-fill-mode: forwards;
    opacity: 0;
}

.kv_inner_catch_b_02 span {
    position: absolute;
    display: inline-block;
    animation-name: text01;
    animation-duration: 0.4s;
    animation-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    animation-iteration-count: 1;
    animation-direction: alternate;
    animation-fill-mode: none;
    line-height: 1.5;
}


.kv_inner_catch_b_03 {
    opacity: 1;
    transform: none;
    line-height: 1;
}

.kv_inner_catch_b_03 .textarea01 {
    position: relative;
    display: inline-block;
    overflow: hidden;
    height: 1.3em;
    width: 1em;

    animation-name: textarea;
    animation-duration: .7s;
    animation-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    animation-iteration-count: 1;
    animation-direction: alternate;
    animation-fill-mode: forwards;

}

.kv_inner_catch_b_03 .mask01 {
    position: absolute;
    transform-origin: top left;
    display: inline-block;
    overflow: hidden;
    height: 1.3em;
    width: inherit;
    animation-name: maskarea;
    animation-duration: 0.4s;
    animation-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    animation-iteration-count: 1;
    animation-direction: alternate;
    animation-fill-mode: forwards;
    opacity: 0;
}

.kv_inner_catch_b_03 span {
    position: absolute;
    display: inline-block;
    animation-name: text01;
    animation-duration: 0.4s;
    animation-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    animation-iteration-count: 1;
    animation-direction: alternate;
    animation-fill-mode: none;
}






















.kv_inner_catch_s {
    opacity: 1;
    transform: none;
}



.kv_inner_catch_s .textarea01 {
    position: relative;
    /* display: inline-block; */
    /* overflow: hidden; */
    /* height: 1.3em; */
    /* width: 1.08em; */
    animation-name: textarea;
    animation-duration: .7s;
    animation-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    animation-iteration-count: 1;
    animation-direction: alternate;
    animation-fill-mode: forwards;
}

.kv_inner_catch_s .mask01 {
    /* position: absolute; */
    /* transform-origin: top left; */
    /* display: inline-block; */
    /* overflow: hidden; */
    /* height: inherit; */
    /* width: inherit; */
    animation-name: maskarea;
    animation-duration: 0.4s;
    animation-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    animation-iteration-count: 1;
    animation-direction: alternate;
    animation-fill-mode: forwards;
    opacity: 0;
}

.kv_inner_catch_s span {
    /* position: absolute; */
    /* display: inline-block; */
    animation-name: text01;
    animation-duration: 0.4s;
    animation-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
    animation-iteration-count: 1;
    animation-direction: alternate;
    animation-fill-mode: none;
}

.kv_inner_catch_b_03 .textarea01:nth-child(1) {
    margin-right: -0.1rem;
}

.kv_inner_catch_b_03 .textarea01:nth-child(2) {
    margin-right: 0.1rem;
}

.kv_inner_catch_b_03 .textarea01:nth-child(7) {
    margin-right: -0.1rem;
}

.kv_inner_catch_b_03 .textarea01:nth-child(8) {
    margin-left: 0.2rem;
}

.kv_inner_catch_b_03 .textarea01:nth-child(9) {
    margin-right: -0.1rem;
}

.kv_inner_catch_b_03 .textarea01:nth-child(10) {
    margin-right: 0.1rem;
}

.kv_inner_catch_b_03 .textarea01:nth-child(11) {
    margin-right: 0.1rem;
}


.kv_inner_catch_s_01 .textarea01:nth-child(13) {
    margin-right: -0.3rem;
}

.kv_inner_catch_s_01 .textarea01:nth-child(15) {
    margin-right: -0.28rem;
}

.kv_inner_catch_s_01 .textarea01:nth-child(16) {
    margin-right: -0.15rem;
}

.kv_inner_catch_s_01 .textarea01:nth-child(17) {
    margin-right: -0.1rem;
}

.kv_inner_catch_s_01 .textarea01:nth-child(18) {
    margin-right: -0.15rem;
}

.kv_inner_catch_s_01 .textarea01:nth-child(19) {
    margin-right: -0.2rem;
}

.kv_inner_catch_s_01 .textarea01:nth-child(21) {
    margin-right: -0.05rem;
}

.kv_inner_catch_s_02 .textarea01:nth-child(13) {
    margin-right: -0.1rem;
}

.kv_inner_catch_s_02 .textarea01:nth-child(17) {
    margin-right: -0.1rem;
}


.kv_inner_catch_s_02 .textarea01:nth-child(18) {
    margin-right: -0.2rem;
}

.kv_inner_catch_s_02 .textarea01:nth-child(19) {
    margin-right: -0.35rem;
}



@media all and (-ms-high-contrast: none) {

    .kv_inner_catch_s span,
    .kv_inner_catch_b_03 span {
        top: 0.2rem;


    }
}

















@keyframes textarea {
    0% {
        transform: translate(0, 3rem);

    }

    100% {
        transform: translate(0, 0);


    }
}

@keyframes maskarea {
    0% {
        transform: translate(0, 8rem);
        opacity: 1;

    }

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


    }
}

@keyframes text01 {
    0% {
        transform: translate(0, -8rem);



    }


    100% {
        transform: translate(0, 0);

    }
}




.kv_inner_catch_b_02 .textarea01:nth-child(1),
.kv_inner_catch_b_02 div:nth-child(1) span,
.kv_inner_catch_b_02 div:nth-child(1) .mask01,
.kv_inner_catch_b_03 .textarea01:nth-child(1),
.kv_inner_catch_b_03 div:nth-child(1) span,
.kv_inner_catch_b_03 div:nth-child(1) .mask01 {
    animation-delay: 0.90s;
}

.kv_inner_catch_b_02 .textarea01:nth-child(2),
.kv_inner_catch_b_02 div:nth-child(2) span,
.kv_inner_catch_b_02 div:nth-child(2) .mask01,
.kv_inner_catch_b_03 .textarea01:nth-child(2),
.kv_inner_catch_b_03 div:nth-child(2) span,
.kv_inner_catch_b_03 div:nth-child(2) .mask01 {
    animation-delay: 0.91s;
}

.kv_inner_catch_b_02 .textarea01:nth-child(3),
.kv_inner_catch_b_02 div:nth-child(3) span,
.kv_inner_catch_b_02 div:nth-child(3) .mask01,
.kv_inner_catch_b_03 .textarea01:nth-child(3),
.kv_inner_catch_b_03 div:nth-child(3) span,
.kv_inner_catch_b_03 div:nth-child(3) .mask01 {
    animation-delay: 0.92s;
}

.kv_inner_catch_b_02 .textarea01:nth-child(4),
.kv_inner_catch_b_02 div:nth-child(4) span,
.kv_inner_catch_b_02 div:nth-child(4) .mask01,
.kv_inner_catch_b_03 .textarea01:nth-child(4),
.kv_inner_catch_b_03 div:nth-child(4) span,
.kv_inner_catch_b_03 div:nth-child(4) .mask01 {
    animation-delay: 0.93s;
}

.kv_inner_catch_b_02 .textarea01:nth-child(5),
.kv_inner_catch_b_02 div:nth-child(5) span,
.kv_inner_catch_b_02 div:nth-child(5) .mask01,
.kv_inner_catch_b_03 .textarea01:nth-child(5),
.kv_inner_catch_b_03 div:nth-child(5) span,
.kv_inner_catch_b_03 div:nth-child(5) .mask01 {
    animation-delay: 0.97s;
}

.kv_inner_catch_b_02 .textarea01:nth-child(6),
.kv_inner_catch_b_02 div:nth-child(6) span,
.kv_inner_catch_b_02 div:nth-child(6) .mask01,
.kv_inner_catch_b_03 .textarea01:nth-child(6),
.kv_inner_catch_b_03 div:nth-child(6) span,
.kv_inner_catch_b_03 div:nth-child(6) .mask01 {
    animation-delay: 1.01s;
}

.kv_inner_catch_b_02 .textarea01:nth-child(7),
.kv_inner_catch_b_02 div:nth-child(7) span,
.kv_inner_catch_b_02 div:nth-child(7) .mask01,
.kv_inner_catch_b_03 .textarea01:nth-child(7),
.kv_inner_catch_b_03 div:nth-child(7) span,
.kv_inner_catch_b_03 div:nth-child(7) .mask01 {
    animation-delay: 1.06s;
}

.kv_inner_catch_b_02 .textarea01:nth-child(8),
.kv_inner_catch_b_02 div:nth-child(8) span,
.kv_inner_catch_b_02 div:nth-child(8) .mask01,
.kv_inner_catch_b_03 .textarea01:nth-child(8),
.kv_inner_catch_b_03 div:nth-child(8) span,
.kv_inner_catch_b_03 div:nth-child(8) .mask01 {
    animation-delay: 1.1s;
}

.kv_inner_catch_b_02 .textarea01:nth-child(11),
.kv_inner_catch_b_02 div:nth-child(11) span,
.kv_inner_catch_b_02 div:nth-child(11) .mask01,
.kv_inner_catch_b_03 .textarea01:nth-child(9),
.kv_inner_catch_b_03 div:nth-child(9) span,
.kv_inner_catch_b_03 div:nth-child(9) .mask01 {
    animation-delay: 1.14s;
}

.kv_inner_catch_b_02 .textarea01:nth-child(9),
.kv_inner_catch_b_02 div:nth-child(9) span,
.kv_inner_catch_b_02 div:nth-child(9) .mask01,
.kv_inner_catch_b_03 .textarea01:nth-child(10),
.kv_inner_catch_b_03 div:nth-child(10) span,
.kv_inner_catch_b_03 div:nth-child(10) .mask01 {
    animation-delay: 1.15s;
}

.kv_inner_catch_b_02 .textarea01:nth-child(10),
.kv_inner_catch_b_02 div:nth-child(10) span,
.kv_inner_catch_b_02 div:nth-child(10) .mask01,
.kv_inner_catch_b_03 .textarea01:nth-child(11),
.kv_inner_catch_b_03 div:nth-child(11) span,
.kv_inner_catch_b_03 div:nth-child(11) .mask01 {
    animation-delay: 1.16s;
}

.kv_inner_catch_b_02 .textarea01:nth-child(12),
.kv_inner_catch_b_02 div:nth-child(12) span,
.kv_inner_catch_b_02 div:nth-child(12) .mask01,
.kv_inner_catch_b_03 .textarea01:nth-child(12),
.kv_inner_catch_b_03 div:nth-child(12) span,
.kv_inner_catch_b_03 div:nth-child(12) .mask01 {
    animation-delay: 1.17s;
}

.kv_inner_catch_b_02 .textarea01:nth-child(13),
.kv_inner_catch_b_02 div:nth-child(13) span,
.kv_inner_catch_b_02 div:nth-child(13) .mask01,
.kv_inner_catch_b_03 .textarea01:nth-child(13),
.kv_inner_catch_b_03 div:nth-child(13) span,
.kv_inner_catch_b_03 div:nth-child(13) .mask01 {
    animation-delay: 1.18s;
}























.kv_inner_catch_s_01 .textarea01:nth-child(1),
.kv_inner_catch_s_01 div:nth-child(1) span,
.kv_inner_catch_s_01 div:nth-child(1) .mask01 {
    animation-delay: 1.10s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(2),
.kv_inner_catch_s_01 div:nth-child(2) span,
.kv_inner_catch_s_01 div:nth-child(2) .mask01 {
    animation-delay: 1.105s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(3),
.kv_inner_catch_s_01 div:nth-child(3) span,
.kv_inner_catch_s_01 div:nth-child(3) .mask01 {
    animation-delay: 1.11s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(4),
.kv_inner_catch_s_01 div:nth-child(4) span,
.kv_inner_catch_s_01 div:nth-child(4) .mask01 {
    animation-delay: 1.115s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(5),
.kv_inner_catch_s_01 div:nth-child(5) span,
.kv_inner_catch_s_01 div:nth-child(5) .mask01 {
    animation-delay: 1.12s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(6),
.kv_inner_catch_s_01 div:nth-child(6) span,
.kv_inner_catch_s_01 div:nth-child(6) .mask01 {
    animation-delay: 1.125s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(7),
.kv_inner_catch_s_01 div:nth-child(7) span,
.kv_inner_catch_s_01 div:nth-child(7) .mask01 {
    animation-delay: 1.13s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(8),
.kv_inner_catch_s_01 div:nth-child(8) span,
.kv_inner_catch_s_01 div:nth-child(8) .mask01 {
    animation-delay: 1.16s;
}


.kv_inner_catch_s_01 .textarea01:nth-child(9),
.kv_inner_catch_s_01 div:nth-child(9) span,
.kv_inner_catch_s_01 div:nth-child(9) .mask01 {
    animation-delay: 1.18s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(10),
.kv_inner_catch_s_01 div:nth-child(10) span,
.kv_inner_catch_s_01 div:nth-child(10) .mask01 {
    animation-delay: 1.2s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(11),
.kv_inner_catch_s_01 div:nth-child(11) span,
.kv_inner_catch_s_01 div:nth-child(11) .mask01 {
    animation-delay: 1.22s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(12),
.kv_inner_catch_s_01 div:nth-child(12) span,
.kv_inner_catch_s_01 div:nth-child(12) .mask01 {
    animation-delay: 1.24s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(13),
.kv_inner_catch_s_01 div:nth-child(13) span,
.kv_inner_catch_s_01 div:nth-child(13) .mask01 {
    animation-delay: 1.26s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(14),
.kv_inner_catch_s_01 div:nth-child(14) span,
.kv_inner_catch_s_01 div:nth-child(14) .mask01 {
    animation-delay: 1.28s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(15),
.kv_inner_catch_s_01 div:nth-child(15) span,
.kv_inner_catch_s_01 div:nth-child(15) .mask01 {
    animation-delay: 1.3s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(16),
.kv_inner_catch_s_01 div:nth-child(16) span,
.kv_inner_catch_s_01 div:nth-child(16) .mask01 {
    animation-delay: 1.32s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(17),
.kv_inner_catch_s_01 div:nth-child(17) span,
.kv_inner_catch_s_01 div:nth-child(17) .mask01 {
    animation-delay: 1.34s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(18),
.kv_inner_catch_s_01 div:nth-child(18) span,
.kv_inner_catch_s_01 div:nth-child(18) .mask01 {
    animation-delay: 1.36s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(19),
.kv_inner_catch_s_01 div:nth-child(19) span,
.kv_inner_catch_s_01 div:nth-child(19) .mask01 {
    animation-delay: 1.38s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(20),
.kv_inner_catch_s_01 div:nth-child(20) span,
.kv_inner_catch_s_01 div:nth-child(20) .mask01 {
    animation-delay: 1.4s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(21),
.kv_inner_catch_s_01 div:nth-child(21) span,
.kv_inner_catch_s_01 div:nth-child(21) .mask01 {
    animation-delay: 1.42s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(22),
.kv_inner_catch_s_01 div:nth-child(22) span,
.kv_inner_catch_s_01 div:nth-child(22) .mask01 {
    animation-delay: 1.44s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(23),
.kv_inner_catch_s_01 div:nth-child(23) span,
.kv_inner_catch_s_01 div:nth-child(23) .mask01 {
    animation-delay: 1.45s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(24),
.kv_inner_catch_s_01 div:nth-child(24) span,
.kv_inner_catch_s_01 div:nth-child(24) .mask01 {
    animation-delay: 1.46s;
}

.kv_inner_catch_s_01 .textarea01:nth-child(25),
.kv_inner_catch_s_01 div:nth-child(25) span,
.kv_inner_catch_s_01 div:nth-child(25) .mask01 {
    animation-delay: 1.47s;
}






.kv_inner_catch_s_02 .textarea01:nth-child(1),
.kv_inner_catch_s_02 div:nth-child(1) span,
.kv_inner_catch_s_02 div:nth-child(1) .mask01 {
    animation-delay: 1.10s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(2),
.kv_inner_catch_s_02 div:nth-child(2) span,
.kv_inner_catch_s_02 div:nth-child(2) .mask01 {
    animation-delay: 1.11s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(3),
.kv_inner_catch_s_02 div:nth-child(3) span,
.kv_inner_catch_s_02 div:nth-child(3) .mask01 {
    animation-delay: 1.12s;
}




.kv_inner_catch_s_02 .textarea01:nth-child(4),
.kv_inner_catch_s_02 div:nth-child(4) span,
.kv_inner_catch_s_02 div:nth-child(4) .mask01 {
    animation-delay: 1.13s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(5),
.kv_inner_catch_s_02 div:nth-child(5) span,
.kv_inner_catch_s_02 div:nth-child(5) .mask01 {
    animation-delay: 1.14s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(6),
.kv_inner_catch_s_02 div:nth-child(6) span,
.kv_inner_catch_s_02 div:nth-child(6) .mask01 {
    animation-delay: 1.15s;
}




.kv_inner_catch_s_02 .textarea01:nth-child(7),
.kv_inner_catch_s_02 div:nth-child(7) span,
.kv_inner_catch_s_02 div:nth-child(7) .mask01 {
    animation-delay: 1.17s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(8),
.kv_inner_catch_s_02 div:nth-child(8) span,
.kv_inner_catch_s_02 div:nth-child(8) .mask01 {
    animation-delay: 1.19s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(9),
.kv_inner_catch_s_02 div:nth-child(9) span,
.kv_inner_catch_s_02 div:nth-child(9) .mask01 {
    animation-delay: 1.21s;
}




.kv_inner_catch_s_02 .textarea01:nth-child(10),
.kv_inner_catch_s_02 div:nth-child(10) span,
.kv_inner_catch_s_02 div:nth-child(10) .mask01 {
    animation-delay: 1.25s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(11),
.kv_inner_catch_s_02 div:nth-child(11) span,
.kv_inner_catch_s_02 div:nth-child(11) .mask01 {
    animation-delay: 1.29s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(12),
.kv_inner_catch_s_02 div:nth-child(12) span,
.kv_inner_catch_s_02 div:nth-child(12) .mask01 {
    animation-delay: 1.33s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(13),
.kv_inner_catch_s_02 div:nth-child(13) span,
.kv_inner_catch_s_02 div:nth-child(13) .mask01 {
    animation-delay: 1.37s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(14),
.kv_inner_catch_s_02 div:nth-child(14) span,
.kv_inner_catch_s_02 div:nth-child(14) .mask01 {
    animation-delay: 1.41s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(15),
.kv_inner_catch_s_02 div:nth-child(15) span,
.kv_inner_catch_s_02 div:nth-child(15) .mask01 {
    animation-delay: 1.45s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(16),
.kv_inner_catch_s_02 div:nth-child(16) span,
.kv_inner_catch_s_02 div:nth-child(16) .mask01 {
    animation-delay: 1.49s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(17),
.kv_inner_catch_s_02 div:nth-child(17) span,
.kv_inner_catch_s_02 div:nth-child(17) .mask01 {
    animation-delay: 1.53s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(18),
.kv_inner_catch_s_02 div:nth-child(18) span,
.kv_inner_catch_s_02 div:nth-child(18) .mask01 {
    animation-delay: 1.57s;
}




.kv_inner_catch_s_02 .textarea01:nth-child(19),
.kv_inner_catch_s_02 div:nth-child(19) span,
.kv_inner_catch_s_02 div:nth-child(19) .mask01 {
    animation-delay: 1.575s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(20),
.kv_inner_catch_s_02 div:nth-child(20) span,
.kv_inner_catch_s_02 div:nth-child(20) .mask01 {
    animation-delay: 1.58s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(21),
.kv_inner_catch_s_02 div:nth-child(21) span,
.kv_inner_catch_s_02 div:nth-child(21) .mask01 {
    animation-delay: 1.585s;
}



.kv_inner_catch_s_02 .textarea01:nth-child(22),
.kv_inner_catch_s_02 div:nth-child(22) span,
.kv_inner_catch_s_02 div:nth-child(22) .mask01 {
    animation-delay: 1.59s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(23),
.kv_inner_catch_s_02 div:nth-child(23) span,
.kv_inner_catch_s_02 div:nth-child(23) .mask01 {
    animation-delay: 1.595s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(24),
.kv_inner_catch_s_02 div:nth-child(24) span,
.kv_inner_catch_s_02 div:nth-child(24) .mask01 {
    animation-delay: 1.6s;
}



.kv_inner_catch_s_02 .textarea01:nth-child(25),
.kv_inner_catch_s_02 div:nth-child(25) span,
.kv_inner_catch_s_02 div:nth-child(25) .mask01 {
    animation-delay: 1.605s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(26),
.kv_inner_catch_s_02 div:nth-child(26) span,
.kv_inner_catch_s_02 div:nth-child(26) .mask01 {
    animation-delay: 1.61s;
}

.kv_inner_catch_s_02 .textarea01:nth-child(27),
.kv_inner_catch_s_02 div:nth-child(27) span,
.kv_inner_catch_s_02 div:nth-child(27) .mask01 {
    animation-delay: 1.615s;
}



.points .page_nav ul {
    display: flex;
    margin: -15px
}

@media screen and (max-width: 768px) {
    .points .page_nav ul {
        flex-wrap:wrap;
        margin: -5px
    }
}

.points .page_nav ul li {
    width: 100%;
    padding: 15px
}

@media screen and (max-width: 768px) {
    .points .page_nav ul li {
        width:50%;
        padding: 5px
    }
}

.points .page_nav ul li a {
    display: block;
    padding: 20px;
    border: none;
    font-size: 18px;
    font-size: 1.125rem;
    color: #fff;
    text-align: center;
    background: #286BC1 url(../img/common/ico_angle.svg) right center no-repeat;
    transition: background .5s
}

.points .page_nav ul li a:hover {
    background-color: #174b8d
}

.points .heading01 {
    margin: 6rem 0 3rem;
    padding: 0 0 15px;
    font-weight: 500;
    text-align: center;
    position: relative;
    font-size: 34px;
}

.points .heading01::before {
    content: '';
    margin: 0 auto;
    display: block;
    width: 30px;
    height: 4px;
    background: #286BC1;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0
}

.points .table_basic {
    margin: 1.5rem 0;
    width: 100%
}

.points .table_basic td,.table_basic th {
    border: none;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    padding: 1rem
}

.points .table_basic th {
    width: 20%;
    border-top: 1px solid #286BC1;
    border-bottom: 1px solid #286BC1
}

.points .table_product {
    margin: 1.5rem 0;
    width: 100%;
    table-layout: fixed
}

.points .table_product td,.table_product th {
    border: 1px solid #ddd;
    padding: 1rem;
    text-align: center;
    vertical-align: middle
}

.points .table_product td:not([align]),.table_product th:not([align]) {
    text-align: center
}

.points .table_product th {
    background: #f5f5f5
}

.points .table_product thead th {
    background: #555;
    color: #fff
}

.points .table_product thead td {
    background: #f5f5f5
}

.points .table_product .w30 {
    width: 30%
}

@media screen and (max-width: 768px) {
    .points .table_scroll_wrap {
        margin:1.5rem 0;
        overflow-x: scroll;
        white-space: nowrap
    }

    .points .table_scroll_wrap table {
        margin: 0;
        display: block
    }
}


.points .heading02 {
    margin: 3.5rem 0 1.5rem;
    padding: 0 0 0 30px;
    font-weight: 500;
    font-size: 24px;
    position: relative
}

.points .heading02::before {
    content: '';
    margin: 0 auto;
    display: block;
    width: 20px;
    height: 4px;
    background: #286BC1;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%)
}

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

.points .base_gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

@media screen and (min-width: 769px),print {
    .points .base_gmap {
        padding:0;
        height: 420px
    }
}

.points .inner-01{
    margin-bottom: 0;
}