@charset "utf-8";
/* CSS Document */

/*------------------------------
message-section
------------------------------*/
.message-img {
    margin-bottom: 10px;
}
.message-img .caption {
    margin-bottom: 1em;
    font-size: 1.4rem;
    font-weight: normal;
}
/*------------------------------
message-section min-width: 769px
------------------------------*/
@media screen and (min-width: 769px) {
    .message-img {
        width: 40%;
    }
    .message-text {
        width: 57%;
    }
    .message01 .message-img {
        float: right;
    }
    .message01 .message-text {
        float: left;
    }
    .message02 .message-img {
        float: left;
    }
    .message02 .message-text {
        float: right;
    }
}


/*------------------------------
philosophy-section
------------------------------*/
.philosophy-abilities {
    padding-bottom: 30px;
}
.ability {
    padding: 0.25rem;
    margin-bottom: 30px;
    background: #dfdfdf;
    font-size: 1.8rem;
    font-weight: 900;
    text-align: center;
}
.ability strong {
    color: #e10012;
}
.salling-point-list {
    margin-bottom: 30px;
    padding-left: 20px;
	list-style-type: disc;
	list-style-position: outside;
}
.selling-flow-image .caption {
    margin-bottom: -1.25em;
}


/*------------------------------
philosophy-section min-width: 769px
------------------------------*/
@media screen and (min-width: 769px) {
    .philosophy-abilities .block {
        float: right;
        width: 49%;
    }
    .philosophy-abilities .block:first-child {
        float: left;
    }
    .ability {
        font-size: 2.4rem;
    }
}


/*------------------------------
overview-section
------------------------------*/
#overview-section .contents {
    margin-bottom: 60px;
}
.basic-info-table {
    margin-bottom: 30px;
}
.basic-info-image {
    margin: 0 auto;
    text-align: center;
}
.basic-info-image img {
    max-width: 240px;
}
.history-table {
    margin-bottom: 1em;
}
.basic-info-table th,
.history-table th {
    width: 100px;
    min-width: auto;
}
.head-office {
    margin: 40px auto;
    text-align: center;
}
.head-office h4 {
    margin-bottom: 0.5em;
    color: #e10012;
    font-size: 1.6rem;
    font-weight: 900;
}
.head-office dt,
.office-list dt,
.office-grid dt {
    font-size: 1.6rem;
}
.office-list {
    letter-spacing: -0.5em;
    text-align: justify;
}
.office-list li {
    display: inline-block;
    width: 49%;
    text-align: center;
    letter-spacing: normal;
    vertical-align: top;
}
.office-list li:nth-of-type(odd) {
    margin-right: 2%;
}
.office-list dl {
    display: block;
    padding: 0 1em 1.5em;
    word-wrap: break-word;
}

.office-grid {
    display: flex;
    flex-wrap: wrap;
    margin-top: -20px;
    margin-left: -20px;
}

.office-grid.col2 li,
.office-grid.col3 li,
.office-grid.col4 li,
.office-grid.col5 li,
.office-grid.col6 li {
    width: 50%;
    margin-top: 20px;
    padding-left: 20px;
    text-align: center;
}

/*------------------------------
overview-section min-width: 769px
------------------------------*/
@media screen and (min-width: 769px) {
    .basic-info-table {
        float: left;
        width: 72%;
        margin: 0;
    }
    .basic-info-image {
        float: right;
        width: 26.5%;
        margin: 0;
    }
    .basic-info-image img {
        width: 100%;
        max-width: inherit;
    }
    .basic-info-table th,
    .history-table th {
        width: 160px;
    }
    .office-list {
        letter-spacing: 0;
    }
    .office-list li {
        width: 23%;
    }
    .office-list li:nth-of-type(odd),
    .office-list li:nth-of-type(even) {
        padding: 0;
    }
    .office-list li {
        margin-right: 2%;
    }
    .office-list li:nth-of-type(4n) {
        margin-right: 0;
    }
    .office-grid.col2 li {
        width: 50%;
    }
    .office-grid.col3 li {
        width: 33.333333%;
    }
    .office-grid.col4 li {
        width: 25%;
    }
    .office-grid.col5 li {
        width: 20%;
    }
    .office-grid.col6 li {
        width: 16.666666%;
    }
}


/*------------------------------
KT、KMX、KID、KIB共通css
------------------------------*/

/*------------------------------
message-section
------------------------------*/
.theme-KT .message-img,
.theme-KMX .message-img,
.theme-KIB .message-img,
.theme-KID .message-img {
    margin-bottom: 10px;
}
.theme-KT .message-img .caption,
.theme-KMX .message-img .caption,
.theme-KIB .message-img .caption,
.theme-KID .message-img .caption {
    margin-bottom: 1em;
    font-size: 1.4rem;
    font-weight: normal;
}
/*------------------------------
message-section min-width: 769px
------------------------------*/
@media screen and (min-width: 769px) {
    .theme-KT .message-img,
    .theme-KMX .message-img,
    .theme-KIB .message-img,
    .theme-KID .message-img {
        width: 40%;
    }
    .theme-KT .message-img figure,
    .theme-KMX .message-img figure,
    .theme-KIB .message-img figure,
    .theme-KID .message-img figure {
        margin: 0;
    }
    .theme-KT .message-text,
    .theme-KMX .message-text,
    .theme-KIB .message-text,
    .theme-KID .message-text {
        width: 57%;
    }
    .theme-KT .message01,
    .theme-KMX .message01,
    .theme-KIB .message01 {
        margin-bottom: 0;
    }
    .theme-KT .message01 figure,
    .theme-KMX .message01 figure,
    .theme-KIB .message01 figure,
    .theme-KID .message01 figure {
        margin-bottom: 0;
    }
    .theme-KT .message01 .message-full,
    .theme-KMX .message01 .message-full,
    .theme-KIB .message01 .message-full,
    .theme-KID .message01 .message-full {
        clear: both;
    }
}
/*------------------------------
our-mission-section
------------------------------*/
.theme-KT #our-mission-section,
.theme-KMX #our-mission-section,
.theme-KIB #our-mission-section,
.theme-KID #our-mission-section {
    padding-bottom: 0;
}

/*------------------------------
underline
------------------------------*/
.theme-KT .underline,
.theme-KMX .underline,
.theme-KIB .underline,
.theme-KID .underline {
  text-decoration: underline;
}
/*------------------------------
underline
------------------------------*/
.theme-KT .basic-info-table th,
.theme-KMX .basic-info-table th,
.theme-KIB .basic-info-table th,
.theme-KID .basic-info-table th {
    width: 182px;
}
/*------------------------------
our-applicants-section min-width: 769px
------------------------------*/
@media screen and (min-width: 769px) {
    .theme-KT .our-applicants .section-subtitle,
    .theme-KMX .our-applicants .section-subtitle,
    .theme-KIB .our-applicants .section-subtitle,
    .theme-KID .our-applicants .section-subtitle {
        font-size: 2.4rem;
    }
}
/*------------------------------
company-profile-section
------------------------------*/
.theme-KT #company-profile-section figure,
.theme-KMX #company-profile-section figure,
.theme-KIB #company-profile-section figure,
.theme-KID #company-profile-section figure {
    clear: both;
    padding-top: 20px;
}
.theme-KT #company-profile-section .basic-info-table .text,
.theme-KMX #company-profile-section .basic-info-table .text,
.theme-KIB #company-profile-section .basic-info-table .text,
.theme-KID #company-profile-section .basic-info-table .text {
    font-size: 1.3rem;
}
.theme-KT #company-profile-section .basic-info-table table,
.theme-KMX #company-profile-section .basic-info-table table,
.theme-KIB #company-profile-section .basic-info-table table,
.theme-KID #company-profile-section .basic-info-table table {
    margin-bottom: 10px;
    line-height: 1.4;
}
.theme-KT #company-profile-section .contents .figure,
.theme-KMX #company-profile-section .contents .figure,
.theme-KIB #company-profile-section .contents .figure,
.theme-KID #company-profile-section .contents .figure {
    padding-top: 0;
    margin-top: 0;
}
/*------------------------------
figure
------------------------------*/
.theme-KT figure .caption,
.theme-KMX figure .caption,
.theme-KIB figure .caption,
.theme-KID figure .caption {
    text-align: left;
    font-size: 2rem;
    font-weight: bold;
}
.theme-KT figure .caption.center,
.theme-KMX figure .caption.center,
.theme-KIB figure .caption.center,
.theme-KID figure .caption.center {
    text-align: center;
    margin-top: 20px;
}
.theme-KT figure .caption.small,
.theme-KMX figure .caption.small,
.theme-KIB figure .caption.small,
.theme-KID figure .caption.small {
    font-size: 2rem;
}
.theme-KT figure .caption .color-red,
.theme-KMX figure .caption .color-red,
.theme-KIB figure .caption .color-red,
.theme-KID figure .caption .color-red {
    color: #e10012;
}
.theme-KT .figure-column2,
.theme-KMX .figure-column2,
.theme-KIB .figure-column2,
.theme-KID .figure-column2 {
    display: block;
    text-align: center;
}
.theme-KT .figure-column2 .width-fixed,
.theme-KMX .figure-column2 .width-fixed,
.theme-KIB .figure-column2 .width-fixed,
.theme-KID .figure-column2 .width-fixed {
    max-width: 240px;
}
@media screen and (min-width: 769px) {
    .theme-KT figure .caption,
    .theme-KMX figure .caption,
    .theme-KIB figure .caption,
    .theme-KID figure .caption {
        font-size: 2.5rem;
    }
    .theme-KT .figure-column2,
    .theme-KMX .figure-column2,
    .theme-KIB .figure-column2,
    .theme-KID .figure-column2 {
        display: flex;
        justify-content: space-around;
        align-items: end;
    }
    .theme-KID .figure-column2 {
        gap: 2%;
    }
    .theme-KT .figure-column2 > img,
    .theme-KMX .figure-column2 > img,
    .theme-KIB .figure-column2 > img,
    .theme-KID .figure-column2 > img {
        flex: 0 0 auto;
        height: 100%;
    }
    .theme-KID .figure-column2 > img {
        width: 49%;
    }
}
/*------------------------------
ability
------------------------------*/
.theme-KT .ability,
.theme-KMX .ability,
.theme-KIB .ability,
.theme-KID .ability {
    line-height: 1.4;
    font-weight: normal;
    font-size: 1.4rem;
}
.theme-KT .ability strong,
.theme-KMX .ability strong,
.theme-KIB .ability strong,
.theme-KID .ability strong {
    font-size: 2rem;
}
.theme-KT .ability .text,
.theme-KMX .ability .text,
.theme-KIB .ability .text,
.theme-KID .ability .text {
    text-align: left;
    padding-top: 15px;
}
.theme-KT .ability.full strong,
.theme-KMX .ability.full strong,
.theme-KIB .ability.full strong,
.theme-KID .ability.full strong {
    font-size: 1.8rem;
}
.theme-KT .ability.full,
.theme-KMX .ability.full,
.theme-KIB .ability.full,
.theme-KID .ability.full {
    padding: 15px;
}
@media screen and (min-width: 769px) {
    .theme-KT .ability.full,
    .theme-KMX .ability.full,
    .theme-KIB .ability.full,
    .theme-KID .ability.full {
        padding: 20px;
    }
    .theme-KT .ability.full strong,
    .theme-KMX .ability.full strong,
    .theme-KIB .ability.full strong,
    .theme-KID .ability.full strong {
        font-size: 2.4rem;
    }
}
/*------------------------------
company-profile-section
------------------------------*/
.theme-KT .philosophy-abilities,
.theme-KMX .philosophy-abilities,
.theme-KIB .philosophy-abilities,
.theme-KID .philosophy-abilities {
    padding-bottom: 0;
    margin-bottom: 0;
}
.theme-KT .philosophy-abilities .block,
.theme-KMX .philosophy-abilities .block,
.theme-KIB .philosophy-abilities .block,
.theme-KID .philosophy-abilities .block {
    margin-bottom: 0;
}

/*------------------------------
KMX,KID用css
------------------------------*/
.theme-KMX #offices-section,
.theme-KIB #offices-section,
.theme-KID #offices-section {
    margin-top: -70px;
    padding-top: 70px;
}
.theme-KMX .disPC,
.theme-KIB .disPC,
.theme-KID .disPC {
    display:none;
}
.theme-KMX .disSP,
.theme-KIB .disSP,
.theme-KID .disSP {
    display:block;
}
.theme-KMX .range80,
.theme-KIB .range80,
.theme-KID .range80 {
    margin: 0 0 80px 0;
}
.theme-KMX .section-missionMovie-title,
.theme-KIB .section-missionMovie-title,
.theme-KID .section-missionMovie-title {
    font-size: 15px;
    margin: 0 0 30px 0;
    line-height: 150%;
}
.theme-KMX .missionMovie ul,
.theme-KIB .missionMovie ul,
.theme-KID .missionMovie ul {
    display: flex;
    flex-wrap: wrap;
    margin-left: 0;
    justify-content: center;
}
.theme-KMX .missionMovie ul li,
.theme-KIB .missionMovie ul li,
.theme-KID .missionMovie ul li {
    padding-left: 0;
    line-height: 1;
    width: 280px;
}
.theme-KMX .missionMovie ul li p,
.theme-KIB .missionMovie ul li p,
.theme-KID .missionMovie ul li p {
    font-size: 12px;
    color:#333;
    margin: 3px 0 1.8em 0;
}
@media screen and (min-width: 769px) {
    .theme-KMX .section-missionMovie-title,
    .theme-KIB .section-missionMovie-title,
    .theme-KID .section-missionMovie-title {
        font-size: 17px;
        margin: 0 0 30px 0;
        line-height: 150%;
    }
}

/*------------------------------
min-width: 480px
------------------------------*/
@media screen and (min-width: 480px) {
    .theme-KMX .disPC,
    .theme-KIB .disPC,
    .theme-KID .disPC {
        display:block;
    }
    .theme-KMX .disSP,
    .theme-KIB .disSP,
    .theme-KID .disSP {
        display:none;
    }
    .theme-KMX .missionMovie ul,
    .theme-KIB .missionMovie ul,
    .theme-KID .missionMovie ul {
        display: flex;
        flex-wrap: wrap;
        margin-left: -50px;
        justify-content: center;
    }
    .theme-KMX .missionMovie ul li,
    .theme-KIB .missionMovie ul li,
    .theme-KID .missionMovie ul li {
        padding-left: 50px;
        width: 450px;
    }
}


/*------------------------------
KF用css
------------------------------*/


.theme-KF #company-profile-section .company-profile-wrapper{
    display: flex;
}
.theme-KF #company-profile-section .company-profile-wrapper > .contents{
    width: 50%;
}
.theme-KF #company-profile-section .company-profile-wrapper .basic-info-table{
    width: 90%;
}
.theme-KF #company-profile-section .presentation-box {
    display: flex;
    margin-bottom: 30px;
}
.theme-KF #company-profile-section .presentation-box .present-txt {
    flex: 1;
    padding-left: 15px;
}
.theme-KF #company-profile-section .presentation-box .present-txt .present-title {
    margin-bottom: 3px;
    font-size: 2.8rem;
    color: #e10012;
    line-height: 1.45;
}
.theme-KF #company-profile-section .presentation-box .present-txt .present-title .sml {
    display: block;
    font-size: 1.6rem;
}
.theme-KF #company-profile-section .presentation-box .present-txt .present-read {
    line-height: 1.65;
}

@media screen and (max-width: 768px) {
    .theme-KF #company-profile-section .company-profile-wrapper{
        display: block;
    }
    .theme-KF #company-profile-section .company-profile-wrapper > .contents{
        width: 100%;
    }
    .theme-KF #company-profile-section .company-profile-wrapper .basic-info-table{
        width: 100%;
    }
    .theme-KF #company-profile-section .presentation-box {
        margin-bottom: 25px;
    }
    .theme-KF #company-profile-section .presentation-box .present-txt {
        width: 65%;
        padding-left: 10px;
    }
    .theme-KF #company-profile-section .presentation-box .present-img {
        width: 35%;
    }
    .theme-KF #company-profile-section .presentation-box .present-txt .present-title {
        font-size: 2rem;
    }
    .theme-KF #company-profile-section .presentation-box .present-txt .present-title .sml {
        font-size: 1.2rem;
    }
}

.theme-KF #keyence-france-section .keyence-france-setbox{
    display: flex;
}
.theme-KF #keyence-france-section .keyence-france-setbox .txt-setbox{
    flex: 1;
    width: 45%;
    padding-right: 20px;
}
.theme-KF #keyence-france-section .keyence-france-setbox .img-box{
    width: 55%;
    padding-top: 90px;
}
.theme-KF #keyence-france-section .keyence-france-setbox .map-setbox{
    display: flex;
    margin-top: -15px;
}
.theme-KF #keyence-france-section .keyence-france-setbox .map-setbox .map{
    width: 90%;
}
.theme-KF #keyence-france-section .keyence-france-setbox .map-setbox .txt{
    width: 10%;
    /*padding-left: 6px;
    padding-top: 90px;
    line-height: 1.45;*/
}

.theme-KF .technology-value-img {
    margin-bottom: 80px;
}

.theme-KF .technology-value-img a{
    transition: opacity .3s;
}

.theme-KF .technology-value-img a:hover{
    opacity : .7;
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .theme-KF #keyence-france-section .keyence-france-setbox{
        display: block;
    }
    .theme-KF #keyence-france-section .keyence-france-setbox .txt-setbox{
        width: 100%;
        padding-right: 0;
    }
    .theme-KF #keyence-france-section .keyence-france-setbox .img-box{
        width: 100%;
        padding-top: 0;
    }
    .theme-KF #keyence-france-section .keyence-france-setbox .map-setbox{
        margin-top: 0;
    }
    .theme-KF #keyence-france-section .keyence-france-setbox .map-setbox .map{
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
    .theme-KF #keyence-france-section .keyence-france-setbox .map-setbox .txt{
        width: 0;
        /*padding-left: 8px;
        padding-top: 40px;*/
    }

    .theme-KF .technology-value-img {
        margin-bottom: 50px;
    }
}

/* 20240206 3columns */
.theme-KIB .office-flex-column3{
    display: flex;
    justify-content: space-around;
}

.theme-KIB .job_overview #corporate-training-program-section{
    margin-top: 0;
}
.theme-KIB span.text-bld{
    font-weight: bold;
}