@charset "UTF-8";
a {
    text-decoration: none;
    color: inherit;
    outline: none;
}

.sp-show {
    display: none;
}
body{
	margin: auto;
}

h1,
h2,
h3,
h4 {
    font-weight: inherit;
    font-size: inherit;
}

.fw-m {
    font-weight: 500;
}

.main {
    margin-top: 120px;
}

.main.lower {
    /*margin-top: 20px;*/
}

.main.lower .contentWrap.mb200 .mb60 {
    margin-bottom: 20px;
}

.main.lower .contentWrap.mb200 .mb60 .titleGreenDot .eng {
    margin-bottom: 0;
}

.main.lower .contentWrap.mb200 {
    margin-bottom: 50px;
}

.productCardsWrap+.contentWrap.mb120 {
    margin-bottom: 20px;
}

.flex {
    display: flex;
}

.tx-l {
    text-align: left;
}

.tx-c {
    text-align: center;
}

.header__nav__list.menuWrap {
    position: fixed;
    right: 40px;
    z-index: 3;
}

.header__nav_sp {
    display: none;
}

#header {
    width: 100%;
    height: 100px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
}
#header.showHead {
    box-shadow: 0px 3px 6px rgb(0 0 0 / 16%);
    background-color: #FFF;
}



.header__wrap {
    max-width: 1860px;
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
    height: 100px;
    display: flex;
}

.header__logo {
    max-width: 245px;
    margin-right: 65px;
    -webkit-flex-basis: 405px;
    flex-basis: 405px;
    margin-top: auto;
    margin-bottom: auto;
    z-index: 3;
}

.header__nav.header__nav_pc {
    width: calc(100% - 150px);
    display: flex;
    justify-content: center;
    margin-left: -130px;
    align-items: center;
    height: 100%;
}

.headerLeft {
    display: flex;
    width: 995px;
}

.headerRight {
    width: calc(100% - 995px);
}

.header__nav__list {
    display: flex;
    text-decoration: none;
    list-style: none;
    align-items: center;
    font-size: 15px;
    white-space: nowrap;
}

.header__nav__list__item {
    margin-right: 40px;
    position: relative;
}

.header__nav__list__item a {
    position: relative;
}

.header__nav__list__item a:after,
.header__nav__list__item a:after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #000;
    transition: width .2s;
}

.header__nav__list__item a.active:after,
.header__nav__list__item a:hover:after {
    width: 100%;
    transition: width .2s;
}


.header__nav__list.menuWrap .header__nav__list__item {
    margin-right: 20px;
}

.header__nav__list__item.dotMenuBtn {
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--color-mainBlack);
    border-radius: 100px;
    position: relative;
    cursor: pointer;
}

.header__nav__list__item.dotMenuBtn img {
    position: absolute;
    left: 35%;
}

{
    fill: var(--color-green);
}

.header__nav__list__item.justMenuBtn {
    width: 100px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #ab1b1b;
    color: #FFF;
    border-radius: 100px;
    position: relative;
    cursor: pointer;
}



.header__nav__list__item.justMenuBtn:hover {
   background-color: #000;
    cursor: pointer;
}

.header__nav_sp {
    display: none;
}

#dotMenuNav,
#justMenuNav {
    display: none;
}

#dotMenuNav.open,
#justMenuNav.open {
    display: block;
    z-index: 3;
}

.bgTransparent {
    background-color: rgba(1, 1, 1, 0.5);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
}

.dotMenuContent {
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0;
    max-width: 100%;
    width: 100%;
    margin-left: auto;
    height: 100vh;
    background-color: var(--color-mainBlack);
    color: #FFF;
}

.justMenuContent {
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0;
    max-width: 50%;
    width: 550px;
    margin-left: auto;
    height: 100vh;
    background-color: #fff;
}

.logoArea {
    margin-top: 30px;
    display: flex;
    justify-content: space-between;
    max-width: 90%;
    align-items: center;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
}

.justMenuContent {
    overflow-y: scroll;
    background-color: #FFF
}

#dotMenuNav .linkArea {
    max-width: 1000px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-height: 60%;
    padding-right: 20px;
    overflow-y: scroll;
}

#dotMenuNav .linkArea::-webkit-scrollbar,
.justMenuContent::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    margin-left: 10px;
}

#dotMenuNav .linkArea::-webkit-scrollbar-track,
.justMenuContent::-webkit-scrollbar-track {
    border-radius: 5px;
    box-shadow: 0 0 4px #aaa inset;
}

#dotMenuNav .linkArea::-webkit-scrollbar-thumb,
.justMenuContent::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #FFF;
}

.justMenuContent::-webkit-scrollbar-thumb {
    background: #000;
}

.topLinks {
/*     line-height: 1.5; */
/*     position: absolute; */
/*     left: 150px; */
/*     bottom: 15%; */
}

.topLinks img {
    margin-top: -10px;
}


/* #dotMenuNav .linkArea .link {
    margin-bottom: 35px;
    font-size: 2rem;
    line-height: calc(24/14);
    width: 200px;
    max-width: 200px;
    flex-basis: 30%;
    padding-top: 10px;
}

#dotMenuNav .linkArea .link span {
    font-size: 1.4rem;
    font-weight: lighter;
} */

#dotMenuNav .linkArea .linkCol {
    margin-bottom: 80px;
}

#dotMenuNav .linkArea .link {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

#dotMenuNav .linkArea .img {
    width: 300px;
    height: 100px;
    margin-bottom: 10px;
}

#dotMenuNav .linkArea .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

#dotMenuNav .linkArea .title .eng {
    font-size: 2.5rem;
    line-height: calc(22/25);
    margin-bottom: 10px;
    display: inline-block;
}

#dotMenuNav .linkArea .title .jap {
    font-size: 1.6rem;
    line-height: calc(21/16);
    margin-bottom: 20px;
    display: inline-block;
}

#justMenuNav .linkArea {
    max-width: 70%;
    width: 70%;
    margin-right: auto;
    margin-left: auto;
}

#justMenuNav .linkArea .link {
    margin-bottom: 35px;
    font-size: 1.8rem;
    line-height: calc(24/14);
}

.shortLine {
    background-color: var(--color-green);
    width: 10px;
    height: 1px;
    margin-right: 5px;
}

.justMenuContent .btnWrap {
    max-width: 70%;
    width: 70%;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    justify-content: center;
}

.textWrap.contact {
    text-align: center;
}

.textWrap.contact .oswald {
    font-size: 35px;
    font-weight: lighter;
    margin-bottom: 10px;
}

.textWrap.contact .commonText {
    font-size: 1.4rem;
    font-weight: lighter;
}

.justMenuContent .textWrap {
    max-width: 70%;
    width: 70%;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.justMenuContent .textWrap .oswald {
    font-size: 35px;
    margin-bottom: 20px;
}

.menuNavTitle {
    max-width: 1000px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 43px;
}

.menuNavTitle .titleEng {
    font-size: 4rem;
    line-height: calc(60/40);
}

.menuNavTitle .titleJap {
    font-size: 18px;
    line-height: calc(24/18);
    font-weight: lighter;
}

.aTagList {
    max-width: 70%;
    width: 70%;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: 14px;
    line-height: calc(19/14);
}

.aTagList .aTagListItem {
    margin-bottom: 30px;
    margin-right: 20px;
}

.btnRadius {
    border: 1px solid var(--color-mainBlack);
    border-radius: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    height: 60px;
}

.btnRadius.fill {
    background-color: var(--color-mainBlack);
    color: #FFF;
}

.btnRadius.left {
    margin-left: 0;
}

.btnRadius {
    margin-right: auto;
    margin-left: auto;
    transition: 0.3s ease-in-out;
    transform: scale(1);
}

.btnRadius a {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    transition: 0.3s ease-in-out;
    position: relative;
}

.btnRadius.long {
    width: 1000px;
    height: 120px;
    font-size: 3rem;
    position: relative;
}

.btnRadius.long img {
    position: absolute;
    top: 30%;
    left: 43%;
}

.btnRadius img {
    position: absolute;
    top: 18%;
    left: 40%;
}

.btnRadius:hover {
    transition: 0.3s ease-in-out;
    background-color: #ab1b1b;
    border-color: #ab1b1b;
    transform: scale(1.04);
    color:#fff;
}

.justMenuBtn .btnRadius {
    width: 320px;
}

.greenDot {
    margin-right: 10px;
}

.btnRadius .greenDot {
    margin-bottom: 15px;
    margin-right: 2px;
}

.btnWrap .btnRadius {
    width: 100%;
    max-width: unset;
    height: 60px;
    margin-bottom: 30px;
}

.commonText.lg {
    font-size: 2rem;
}

.commonText.xtlg {
    font-size: 2.2rem;
}

.commonText.md {
    font-size: 1.8rem;
    line-height: calc(24/18);
}

.commonText {
    font-size: 1.6rem;
    line-height: calc(27/16);
}

.commonText.sm {
    font-size: 1.4rem;
    line-height: calc(27/14);
}
.newsContainer .commonText.sm{
    width: calc(100% - 115px)
}
.animeZoomIn {
    overflow: hidden;
}

.animeZoomIn img {
    transition: .2s;
    transform: scale(1.0);
}

.animeZoomIn:hover img {
    transition: .2s;
    transform: scale(1.1);
}

.flexSpBw {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.commonTitle {
    font-size: 3rem;
    line-height: 1.33;
    font-weight: bold;
}

.commonTitle.sm {
    font-size: 2rem;
}

.commonTitle.huge {
    font-size: 4rem;
    font-weight: 100;
    font-style: italic;
    color: #ab1b1b;
}

.commonTitle.fwNormal {
    font-weight: normal;
}

.signatureText {
    font-size: 2rem;
    line-height: calc(44/14);
    margin-left: 20px;
}

.signatureWrap {
    display: flex;
    align-items: baseline;
    justify-content: center;
}

.signaruteImg {
    margin-left: 15px;
    margin-bottom: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.specTable {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 45px;
}

.history .specTable {
    margin-bottom: 100px;
}

.specTable dl {
    display: flex;
    align-items: center;
    min-height: 80px;
    font-size: 1.4rem;
    flex-basis: 100%;
    border-bottom: 1px solid var(--color-grey4);
    padding: 10px 0px;
}

.specTable dt {
    font-weight: normal;
    min-width: 160px;
    white-space: nowrap;
}

.specTable.contactForm dt {
    min-width: 200px;
    display: flex;
    align-items: center;
}

.specTable.contactForm dd {
    width: calc(100% - 200px);
}

.specTable.contactForm input {
    width: 100%;
    height: 35px;
    padding: 0px 10px;
}

.specTable.contactForm input[type='checkbox'],
.specTable.contactForm input[type='radio'] {
    width: auto;
    height: auto;
}

.specTable.contactForm input[type='radio'] {
    margin-top: 0;
    margin-bottom: 3px;
}

.specTable.contactForm textarea {
    width: 100%;
    height: 250px;
    padding: 5px 10px;
}

.contactForm label {
    margin-right: 20px
}

.specTable dd {
    font-weight: lighter;
    line-height: 1.7;
    width: 100%;
}

.btnSpecSheetWrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.btnSpecSheetWrap img {
    margin-right: 5px;
}

.btnSpecSheetWrap span {
    margin-right: 10px;
}

.btnSquare {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-green);
    border: 2px solid var(--color-green);
    padding: 7px 20px;
}

.btnSquare a {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}

.fwLight {
	margin-top: 20px;
	font-weight: lighter;
}

.fwBold {
    font-weight: bold;
}

.fwMid {
    font-weight: 500;
}

.hoverAnim {
    transition: 0.3s ease-in-out;
}

.hoverAnim:hover {
    transition: 0.3s ease-in-out;
    background-color: var(--color-green);
    transform: scale(1.04, 1.04);
    color: #FFF;
    border-color: var(--color-green);
}

.hoverAnim.dotMenuBtn:hover {
    background-color: unset;
}

.hoverAnim:hover svg {
    transition: 0.3s ease-in-out;
    fill: var(--color-green);
}

.topArea {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}

.mainVisual .title {
    font-size: 150px;
    font-weight: normal;
}

.mainVisual .btnRadius {
    position: absolute;
    top: 65%;
    left: 10%;
}

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

.mainVisual {
    position: relative;
    margin-top: 210px;
}

.mainSlideTextContainer {
    max-width: 1620px;
    width: 100%;
    margin-left: auto;
}

.mainSlideWrap {
    position: absolute;
    top: 70%;
    left: 5%;
    z-index: -1;
}

.mainSlide {
    margin-top: -50px;
    z-index: -1;
    margin-left: 75px;
    max-width: 1620px;
    width: 80%;
    margin-left: auto;
}

.sliderBtn {
    display: flex;
}

.sliderBtn.sp-show {
    display: none;
}

.sliderBtn .btn,
.btn.forSlide {
    display: flex;
    width: 50px;
    height: 50px;
    font-size: 1.4rem;
    letter-spacing: 0.2rem;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, .3);
    border: 1px solid #DDD;
    color: #FFF;
    border-radius: 50%;
}

.btn.forSlide {
    position: absolute;
    z-index: 99;
    top: 100px;
}

.btn.forSlide.harf {
    top: calc(50% - 20px);
}

.po2 .btn.forSlide {
    top: 200px;
}

.btn.forSlide.slickPrevBtn {
    left: 0;
}

.btn.forSlide.slickNextBtn {
    right: 0;
}





.sliderBtn {
    display: flex;
    position: absolute;
    z-index: 99;
    width: 100%;
    justify-content: space-between;
    bottom: -200px;
}

.sliderBtn .btn span {
    display: none;
}

.sliderBtn .btn i {
    font-size: 24px;
}

.sliderBtn.arrowOnly .btn {
    width: 24px;
}

.sliderBtn .btn:first-child {
    margin-left: 30px;
}

.sliderBtn .btn:last-child {
    margin-right: 30px;
}

.scrollBtn {
    position: absolute;
    left: -5%;
    bottom: 30%;
    color: var(--color-mainBlack);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.currentPosition {
    position: absolute;
    top: -1px;
    width: 40px;
    height: 3px;
    background-color: var(--color-green);
    border-radius: 1.5;
}

.scrollBorder {
    display: block;
    width: 1px;
    height: 80px;
    background-color: var(--color-mainBlack);
    /* margin-left: auto; */
    /* margin-right: auto; */
    margin-bottom: 11px;
    position: relative;
}

.sliderCounter {
    transform: rotate( 90deg);
    margin-bottom: 170px;
    display: flex;
    align-items: center;
}

.currentNumWrap {
    font-size: 3.5rem;
    font-style: italic;
    margin-right: 10px;
}

.positionBorder {
    position: relative;
    width: 250px;
    height: 1px;
    margin-left: 30px;
    background-color: var(--color-grey);
}

.scrollText {
    writing-mode: tb;
    display: flex;
    justify-content: center;
    align-items: center;
}

.scrollBtn .scrollBorder:after {
    animation-name: animateScrollBar;
    animation-direction: normal;
    animation-iteration-count: infinite;
    animation-fill-mode: both;
    animation-duration: 1.5s;
}

.scrollBorder:after {
    content: "";
    top: 0;
    left: -3px;
    height: 7px;
    width: 7px;
    border-radius: 50px;
    position: absolute;
    background-color: var(--color-green);
    margin-left: auto;
    margin-right: auto;
}

.borderFullWidth {
    border: 1px solid var(--color-grey4);
    width: 100%;
    margin-top: 20px;
    margin-bottom: 20px;
}

.bgWhite {
    background-color: #FFF;
    padding-top: 110px;
    padding-bottom: 200px;
}

.bgWhite.noPadding {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
    padding-left: 0;
}

.bgGrey {
    background-color: var(--color-grey2);
    padding-bottom: 160px;
    padding-top: 160px;
    margin-bottom: 100px;
}

.bgGrey.recruit {
    margin-bottom: 100px;
}

.bgGrey.mb0 {
    margin-bottom: 0;
}

.bgGreyAnime {
    transition: 0.3s ease-in-out;
    position: relative;
    overflow: hidden;
    max-width: 1800px;
    height: 450px;
    margin-left: auto;
    margin-top: -50px;
}

.bgGreyAnime:before {
    transition: 0.3s ease-in-out;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: -50px;
    border-bottom: 450px solid var(--color-grey2);
    transform: translateX(100%);
    z-index: -2;
}

.bgGreyAnime:hover:before {
    transform: translateX(0%);
    transition: 0.3s ease-in-out;
    /* opacity: 0.2; */
    z-index: -2;
}

@keyframes animateScrollBar {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px)
    }
    100% {
        -webkit-transform: translateY(80px);
        transform: translateY(80px)
    }
}

.imgRelativeWrap {
    position: relative;
}

.relativeImg {
    width: 100%;
    position: relative;
}

.relativeImg img {
    height: 360px;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

.imgAbsText {
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #ab1b1b;
    position: absolute;
    bottom: 0;
    color: #FFF;
    padding-right: 20px;
    padding-left: 20px;
}

.imgAbsText .type {
    font-size: 2.5rem;
    line-height: calc(32/25);
}

.imgAbsText .interview {
    font-size: 1.6rem;
    line-height: 1.6;
}

.imgAbsText .title {}

.changeWithGlass {
    font-size: 10rem;
    font-weight: lighter;
}

.changeWithGlass span {
    margin-bottom: 23px;
}

.fontGrey3 {
    color: var(--color-grey3);
}

.changeWithGlass .fontGrey3 {
    margin-left: 50px;
}

.changeWithGlass p {
    font-size: 2.2rem;
    line-height: calc(30/22);
    letter-spacing: 0.2rem;
    margin-left: 50px;
}

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

.mainImgTextWrap.al-t {
    align-items: flex-start;
}

.mainImgTextWrap .col:first-child {
/*     width: calc(100% - 1040px); */
    width: 415px;
    margin-right: auto;
}

.changeWithGlass  + .lowerMainVisual {
	width: calc(100% - 415px);
}

.mainImgTextWrap .changeWithGlass p {
    margin-left: 0;
    /* font-size: 2.8rem; */
    /* line-height: calc(45/28); */
}

.imgTextWrap {
    display: flex;
    flex-wrap: wrap;
}

.imgTextWrap.center {
    justify-content: center;
}

.imgTextWrap .left,
.imgTextWrap .right {
    width: 50%;
}

.imgTextWrap .right {
    width: 100%;
    text-align: center;
}

.center .rightWrap {
    max-width: 915px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
    padding-top: 100px;
}
.center .rightWrap2 {
    max-width: 1400px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
    padding-top: 100px;
}

@media screen and (max-width: 998px) {

.center .rightWrap2 {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
    padding-top: 0;
}

}



.imgTextWrap .commonText {
    line-height: calc(36/16);
}

.rightWrap {
    max-width: 700px;
    margin-right: auto;
    padding-left: 110px;
    padding-top: 100px;
}

.imgTextWrap .left {}

.changeWithGlass .borderText {
    font-size: 2.5rem;
    border: 3px solid var(--color-mainBlack);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px 30px;
    font-weight: bold;
}

.changeWithGlass .borderText span {
    margin-bottom: 0;
}

.changeWithGlass .role p {
    font-size: 1.6rem;
    line-height: calc(32/16);
    margin-bottom: 10px;
}

.changeWithGlass .name p {
    font-size: 2.5rem;
    line-height: calc(32/25);
    margin-bottom: 20px;
}

.changeWithGlass .year p {
    font-size: 1.2rem;
    line-height: calc(32/12);
}

#topSection02 .col2Wrap {}

#topSection04 .col2Wrap .col:first-child {
    flex-basis: 430px;
    margin-right: 50px;
}

#topSection04 .col2Wrap .col:last-child {
    margin-top: 50px;
    flex-basis: calc(100% - 490px - (var(--col-space) * 2));
}

.col2Wrap.recruit {
    margin: 0 calc(var(--col-space) * -2);
}

.col2Wrap.recruit .col {
    flex-basis: 675px;
    margin: 0px 20px;
}

.underline {
    text-decoration: underline;
    font-size: 4rem;
    line-height: calc(60/40);
}

.contactForm .underline {
    text-decoration: underline;
    font-size: 1.6rem;
}

.viewmoreFlexWrap {
    display: flex;
    padding-bottom: 12px;
    justify-content: space-between;
}

.viewmoreFlexWrap .btnViewmore {
    margin-top: auto;
}

.btnViewmore {
    height: 25px;
    width: 130px;
}

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

.btnViewmore img {
    margin-bottom: 5px;
    width: 50px;
}

.btnViewmore a {
    position: relative;
    font-size: 1.2em;
    /* 	font-weight: bold; */
}

.btnViewmore a img {
    margin-bottom: 0;
    position: absolute;
    bottom: -9px;
    left: 0;
    /* 	font-size: 1.2em; */
    width: 130px;
}


/* .btnViewmore i {
    margin-left: 78px;
} */

.titleGreenDot {
    margin-bottom: 20px;
}

.withSlick .titleGreenDot .sliderBtn {
    margin-left: auto;
}

.titleGreenDot .btnViewmore {
    margin-left: auto;
}

.titleGreenDot .btnViewmore.mrauto {
    margin-right: auto;
    margin-left: 0;
}

.interviewImgWrap {
    width: 100%;
}

.interviewImgWrap img {
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

.contentWrap.xs {
    max-width: 1040px;
}

.contentWrap.sm {
    max-width: 1100px;
}

.contentWrap.md {
    max-width: 1400px;
}

.contentWrap.fullCon {
    max-width: 1920px;
    margin-right: auto;
    /*     padding-right: 0; */
}

.contentWrap.withSlick {
    margin-right: auto;
    /*     max-width: 1660px; */
    padding-right: 20px;
}

.titleGreenDot .titleWrap {
    /*color: white;*/
    color: #000;
    display: flex;
    align-items: baseline;
    position: relative;
}

.titleGreenDot .titleWrap.block {
    display: block;
}

.col2Wrap .titleWrap :not(.emir) .eng {
    font-size: 7rem;
    line-height: calc(106/70);
}

.titleGreenDot .eng,
.col2Wrap .titleWrap .emir .eng,
.changeWithGlass .emir .eng span {
    font-weight: 600;
    font-size: 6rem;
    margin-right: 20px;
    line-height: 1.3;
    color: #AB1C1B;
}

.titleGreenDot .eng.pcsm {
    font-size: 4rem;
}

.titleGreenDot .eng.sm {
    font-size: 4rem;
}

.titleGreenDot .eng.xs {
    font-size: 2.8rem;
}

.col2Wrap .titleWrap .jap {
    font-size: 2.2rem;
    line-height: calc(30/22);
}

.titleGreenDot .jap {
    font-size: 1.8rem;
}




.categoryImgContainer .row {
    display: flex;
    flex-wrap: wrap;
}

.categoryImgContainer .col {
    transition: 0.3s ease-in-out;
}

.categoryImgContainer .col a {
    display: block;
    width: 100%;
    /*     height: 743px; */
}

.categoryImgContainer .col:hover {
    border-radius: 40px;
    transition: 0.3s ease-in-out;
}

.categoryImgContainer.detail .col:hover {
    border-radius: unset;
}

.categoryImgContainer .col:hover:before {
    background-color: rgba(1, 1, 1, .0);
    transition: 0.3s ease-in-out;
}

.categoryImgContainer.detail .col:hover:before {
    background-color: rgba(1, 1, 1, .0);
    transition: 0.3s ease-in-out;
}

.categoryImgContainer .textWrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #FFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    width: 100%;
    height: 100%;
}

.categoryImgContainer.textBottomLeft .textWrap {
    text-align: left;
    align-items: flex-start;
    display: block;
    width: 100%;
    padding-left: 70px;
    padding-top: 210px;
    height: 100%;
    transition: 0.3s ease-in-out;
}

.categoryImgContainer.textBottomLeft .col:hover .textWrap {
    padding-top: 107px;
    transition: 0.3s ease-in-out;
}

.categoryImgContainer.textBottomLeft.detail .textWrap {
    padding-left: 0;
    padding-right: 0;
}

.categoryImgContainer.textBottomLeft.detail .textWrap .text {
    width: 100%;
    padding-left: 70px;
    padding-right: 70px;
    margin-bottom: 45px;
}

.categoryImgContainer.textBottomLeft.detail .textWrap .hiddenText {
    width: 100%;
    height: 170px;
    padding-top: 10px;
    padding-left: 70px;
    padding-right: 70px;
    font-size: 1.4rem;
    background-color: var(--color-mainBlack);
}

.categoryImgContainer .textWrap .jap {
    font-size: 16px;
    font-weight: lighter;
}

.categoryImgContainer .textWrap .eng {
    font-size: 2rem;
    margin-bottom: 10px;
    margin-right: 0;
}

.categoryImgContainer.textBottomLeft .textWrap .eng {
    font-size: 4rem;
}

.categoryImgContainer .col.fb25 {
    flex-basis: 25%;
    width: 25%;
}

.categoryImgContainer .col.fb50 {
    flex-basis: 50%;
    width: 50%;
}

.categoryImgContainer .col.fb33 {
    flex-basis: calc((100% - 30px)/2);
    width: calc((100% - 30px)/2)
}
.row-service .service-list_top{
    padding-bottom: 0;
    max-width: 100%;
}
.row-service p.service-text_main{
    max-width: 90%
}
.categoryImgContainer .col img {
    width: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

.categoryImgContainer .row-service{
    gap: 30px
}



.categoryImgContainer2 .row {
    display: flex;
    flex-wrap: wrap;
}

.categoryImgContainer2 .col {
    position: relative;
    overflow: hidden;
    transition: 0.3s ease-in-out;
}

.categoryImgContainer2 .col a {
    display: block;
    width: 100%;
    /*     height: 743px; */
}

.categoryImgContainer2 .col a.lg {
    height: 320px;
}

.categoryImgContainer2 .col:hover {
    border-radius: 40px;
    transition: 0.3s ease-in-out;
}

.categoryImgContainer2.detail .col:hover {
    border-radius: unset;
}

.categoryImgContainer2 .col::before {
    content: ' ';
    /*background-color: rgba(1, 1, 1, .5);*/
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.categoryImgContainer2 .col:hover:before {
    background-color: rgba(1, 1, 1, .0);
    transition: 0.3s ease-in-out;
}

.categoryImgContainer2.detail .col:hover:before {
    background-color: rgba(1, 1, 1, .0);
    transition: 0.3s ease-in-out;
}

.categoryImgContainer2 .textWrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #FFF;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    width: 100%;
    height: 100%;
}

.categoryImgContainer2.textBottomLeft .textWrap {
    text-align: left;
    align-items: flex-start;
    display: block;
    width: 100%;
    padding-left: 70px;
    padding-top: 210px;
    height: 100%;
    transition: 0.3s ease-in-out;
}














.productCardsWrap .card {
    max-width: 470px;
    width: 100%;
    padding-right: 10px;
    padding-left: 10px;
    padding-top: 10px;
    padding-bottom: 20px;
    margin-left: 20px;
    margin-right: 20px;
    background-color: #f5f5f5;
}

.mxMin.productCardsWrap .card {
    max-width: 390px;
}


.pankuzu {
    margin: 0 -10px;
    display: none;
}

.pankuzu>* {
    margin: 0 10px;
    color: #ababab;
    display: inline-block;
}

.pankuzu>*:first-child {
    margin-left: 0;
}

.productCardsWrap.col3 {
    flex-wrap: wrap;
    margin-right: -20px;
    margin-left: -20px;
}

.productCardsWrap.col3 .card {
    flex-basis: calc(33.33% - 40px);
    margin-bottom: 60px;
}

.sliderCase .card {
    max-width: 700px;
    width: 100%;
    margin-right: 10px;
    margin-left: 10px;
}

.productCardsWrap .card .image,
.sliderCase .card .image {
    margin-bottom: 20px;
    height: 290px;
    display: block;
}

.proItem .card .image {
    margin-bottom: 20px;
    height: 290px;
    display: block;
}

.productCardsWrap .card .image.index,
.sliderCase .card .image.index {
    height: 500px;
}
.sliderCase .card .image.index {
/*    	max-width: 480px; */
}

.productCardsWrap .card .image img,
.sliderCase .card .image img {
    object-fit: cover;
    font-family: 'object-fit: cover;';
    width: 100%;
    height: 100%;
}

.noRsW.sliderCase .card {
    max-width: none;
    width: auto;
    margin-right: 10px;
    margin-left: 10px;
}

.noRsW.sliderCase .card .image {
    height: auto;
}

.noRsW.sliderCase .card .image img {
    height: 320px;
    width: auto;
    object-fit: fill;
    font-family: 'object-fit: fill;';
}

.cateWrap {
    display: flex;
    flex-wrap: wrap;
}

.cateWrap.cen {
    justify-content: center;
}

.cateWrap span,
.cateWrap a {
    width: auto;
    padding-right: 7px;
    padding-left: 7px;
    height: 17px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-grey3);
    margin-right: 5px;
    margin-bottom: 10px;
    font-size: 10px;
    font-weight: lighter;
}

.cateWrap.lg a,
.cateWrap.lg span {
    height: 35px;
    font-size: 16px;
    margin-right: 10px;
    border-radius: 2px;
}

.cateWrap .cateOdChk {
    display: none;
}

.cateWrap .cateOdChk+span {
    border: 1px solid var(--color-grey3);
    background-color: transparent;
}

.cateWrap .cateOdChk:checked+span {
    background-color: var(--color-grey3);
}

.searchBoxCate .cateWrap.lg .cateOdChkStr {
    margin-bottom: 10px;
}

.cateWrap a.ca1,
.cateWrap span.ca1 {
    background-color: #F6656B;
    color: #FFF;
}

.cateWrap .cateOdChk+span.ca1 {
    border: 1px solid #F6656B;
    color: #F6656B;
    background-color: transparent;
}

.cateWrap .cateOdChk:checked+span.ca1 {
    color: #FFF;
    background-color: #F6656B
}

.cateWrap a.ca2,
.cateWrap span.ca2 {
    background-color: #986AFD;
    color: #FFF;
}

.cateWrap .cateOdChk+span.ca2 {
    border: 1px solid #986AFD;
    color: #986AFD;
    background-color: transparent;
}

.cateWrap .cateOdChk:checked+span.ca2 {
    color: #FFF;
    background-color: #986AFD
}

.cateWrap a.ca3,
.cateWrap span.ca3 {
    background-color: #FFC035;
    color: #FFF;
}

.cateWrap .cateOdChk+span.ca3 {
    border: 1px solid #FFC035;
    color: #FFC035;
    background-color: transparent;
}

.cateWrap .cateOdChk:checked+span.ca3 {
    color: #FFF;
    background-color: #FFC035
}

.cateWrap a.ca4,
.cateWrap span.ca4 {
    background-color: #A5A5A5;
    color: #FFF;
}

.cateWrap .cateOdChk+span.ca4 {
    border: 1px solid #A5A5A5;
    color: #A5A5A5;
    background-color: transparent;
}

.cateWrap .cateOdChk:checked+span.ca4 {
    color: #FFF;
    background-color: #A5A5A5
}

.cateWrap a.ca5,
.cateWrap span.ca5 {
    background-color: #00AEBB;
    color: #FFF;
}

.cateWrap .cateOdChk+span.ca5 {
    border: 1px solid #00AEBB;
    color: #00AEBB;
    background-color: transparent;
}

.cateWrap .cateOdChk:checked+span.ca5 {
    color: #FFF;
    background-color: #00AEBB
}

.cateWrap a.ca6,
.cateWrap span.ca6 {
    background-color: #2533DD;
    color: #FFF;
}

.cateWrap .cateOdChk+span.ca6 {
    border: 1px solid #2533DD;
    color: #2533DD;
    background-color: transparent;
}

.cateWrap .cateOdChk:checked+span.ca6 {
    color: #FFF;
    background-color: #2533DD
}


.productDescWrap {
    display: flex;
    flex-wrap: wrap;
}

.productDescWrap .commonText {
    width: 100%;
    max-width: 750px;
}

.productDescWrap .categorySideBar {
    width: calc(100% - 900px);
}

.productCardsWrap .card .cateWrap .title {
    font-size: 18px;
    font-weight: lighter;
}

.productCardsWrap .card .commonText,
.sliderCase .card .commonText {
    margin-bottom: 25px;
    height: 70px;
}


.productDescWrap2 {
    display: flex;
    flex-wrap: wrap;
}

.productDescWrap2 .commonText {
    width: 100%;
}

.productDescWrap2 .categorySideBar {
    width: calc(100% - 900px);
}

.productCardsWrap2 .card .cateWrap .title {
    font-size: 18px;
    font-weight: lighter;
}

.productCardsWrap2 .card .commonText,
.sliderCase .card .commonText {
    margin-bottom: 25px;
    height: 70px;
}







.proItem .card .commonText {
    height: 60px;
}

.productCardsWrap .card .btnViewmore {
    width: 130px;
}

.caseWrp .card .btnViewmore img {
    /* 	width: 50px; */
}

.productCardsWrap .title {
    font-size: 2.2rem;
    line-height: calc(24/18);
    margin-bottom: 10px;
    height: 60px;
}

.productCardsWrap .commonText {
    font-size: 1.5rem;
}

.sliderProducts {
    /*     padding: 0px 50px; */
    padding-left: 0;
    /*     margin-left: -70px; */
}

.searchBoxModalS {
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    padding: 0 20px;
    height: 60px;
    border-radius: 30px;
    border: 1px solid #2B2B2B;
    font-size: 30px;
    cursor: pointer;
    margin-top: 10px;
    transition: .4s;
}

.searchBoxModalS>span {
    font-size: 18px;
    display: block;
    margin-left: 10px
}

.searchBoxModalS:hover {
    background-color: var(--color-green);
    border-color: var(--color-green);
    color: #FFF;
    transform: scale(1.05);
    transition: .4s;
}

.productCardsWrap {
    display: flex;
}

.productMainVisual {
    width: 100%;
    height: 690px;
}

.productMainVisual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

.sliderCase {
/*     padding: 0px 50px; */
/*     padding-left: 0; */
/*     margin-left: -70px; */
}

.sliderCase.noLef {
    padding: 0px;
    margin-left: 0;
}


/* .caseTitle { */


/*     font-size: 4rem; */


/*     line-height: calc(60/40); */


/*     margin-bottom: 20px; */


/*     font-weight: bold; */


/*     position: relative; */


/* } */

.caseTitle {
    font-size: 2.8rem;
    line-height: calc(60/40);
    margin-bottom: 40px;
    font-weight: bold;
    position: relative;
}

.caseTitle.miniHe {
    height: 50px
}

.caseTitle span {
    position: absolute;
    left: 14%;
    top: 10%;
    color: var(--color-green);
    font-size: 2.5rem;
    font-weight: normal;
    display: inline-block;
    margin-left: 5px;
}

.left-align-slick>.slick-list>.slick-track {
    margin-left: 0;
}

.relative {
    position: relative;
}

.slickMask {
    /*     position: absolute; */
    /*     background-color: #fff; */
    /*     width: 260px; */
    /*     height: 100%; */
    /*     top: 0; */
    /*     right: 0; */
    /*     background: linear-gradient( 90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)); */
}

.bgImage.company {
    background-image: url(../img/top/bgCompany.jpg);
    background-size: cover;
    height: 770px;
    position: relative;
}

.bgImage.company .contentWrap {
    padding-top: 140px;
}

.borderText {}

.borderTextArea {
    border: 1px solid var(--color-mainBlack);
    width: 1400px;
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contentWrap.newsArea {
    background-color: #fff;
    margin-top: -130px;
    position: relative;
    padding-right: 50px;
    padding-left: 50px;
    border-radius: 23px;
}

.contentWrap.newsArea .btnViewmore {
    margin-left: auto;
}

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

.titleWrapFlex .eng {
    margin-bottom: 20px;
}

.newsArea {
    padding-top: 50px;
}

.newsArea .titleGreenDot .titleWrap {
    flex-direction: column;
}

.newsContainer .row {
    display: flex;
    align-items: center;
    height: 100px;
    border-bottom: 1px solid var(--color-grey4);
    padding-right: 30px;
    padding-left: 30px;
    transition: 0.3s ease-in-out;
}

.newsContainer .row .time {
    font-size: 1.6rem;
    font-weight: lighter;
    min-width: 85px;
}

.newsContainer .row .category {
    background-color: var(--color-mainBlack);
    color: #FFF;
    margin-right: 40px;
    width: 80px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.newsContainer.newsList .row a {
    padding-top: 30px;
}

.newsContainer.newsList.nnn .row a {
    padding-top: 0;
}

.linkBg {
    width: 100%;
    height: 385px;
    position: relative;
}

.linkBg a {
    display: block;
}

.linkBgImg {
    overflow: hidden;
    transition: 0.3s ease-in-out;
    position: relative;
}

.linkBg.col2Wrap {}

.linkBgWrap {
    display: flex;
    margin-bottom: 150px;
    /* justify-content: space-between; */
    /* width: 100%; */
    /* margin-left: -15px; */
    /* margin-right: -15px; */
}
.contentWrap.newsArea{
    margin-bottom: 170px
}
.col2 .linkBgImg {
    width: 100%;
    height: 200px;
}

.linkBgImg::before {
    content: ' ';
    background-color: rgba(74, 203, 167, .7);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: 0.3s ease-in-out;
    z-index: 1;
}

.linkBgImg:hover:before {
    background-color: rgba(74, 203, 167, .9);
}

.linkBgImg img {
    transform: scale(1.0);
    transition: 0.3s ease-in-out;
}

.linkBgImg:hover img {
    transform: scale(1.1);
    transition: 0.3s ease-in-out;
}

.linkBg .textWrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #FFF;
    z-index: 2;
}

.linkBg.col2 .textWrap {
    left: 20%;
}

.linkBg.col2 .textWrap .eng {
    text-align: left;
}

.linkBg .textWrap .eng {
    font-size: 4rem;
    text-align: center;
    margin-bottom: 25px;
}

.linkBg .textWrap .jap {
    font-size: 1.8rem;
    text-align: center;
}

.imgCenter {
    display: flex;
    justify-content: center;
    width: 100%;
}

.linkBg.col2 {
    /* max-width: 680px; */
    height: 200px;
    width: calc(50% - 30px);
    margin-left: 15px;
    margin-right: 15px;
}

.footer {
    display: flex;
    justify-content: space-between;
    padding-bottom: 30px;
    padding-right: 70px;
}

.footer .address {
    font-size: 1.4rem;
    line-height: calc(16/14);
}

.footer .copyRight {
    font-size: 1.2rem;
    font-weight: lighter;
}

.footer .linkArea {
	display: flex;
	flex-wrap: wrap;
}

.footer .linkArea.privacy {
    /*     margin-top: 310px; */
}

.footer .linkArea.privacy .item {
    width: auto;
}

.footer .linkArea .row {
    flex-basis: 100%;
    display: flex;
    justify-content: flex-start;
}

.footer .linkArea.cent .row {
    justify-content: center;
    gap: 20px 50px
}

.footer .linkArea .item {
    white-space: nowrap
}

.footer .btnRadius {
    height: 43px;
    margin: 30px 0;
    width: 100%;
}

.footer .right {
    max-width: 470px;
}

footer {
    position: relative;
}

footer .backToTop {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 70px;
    background-color: #bbbbbb;
    display: flex;
    color: #FFF;
    justify-content: flex-end;
    align-items: center;
    writing-mode: tb;
    padding-bottom: 50px;
    cursor: pointer;
}

footer .backToTop i {
    margin-bottom: 30px;
    transition: 0.3s ease-in-out;
}

footer .backToTop:hover i {
    transition: 0.3s ease-in-out;
    transform: translateY(-15px);
}

.sliderBtn .btn {
    transition: 0.3s ease-in-out;
}

.arrowWrap {
    position: relative;
}

.slickPrevBtn .circleGreen {
    position: absolute;
    right: -16.9px;
    top: -18px;
    transition: 0.3s ease-in-out;
    border: 0px solid var(--color-green);
    border-radius: 100px;
    width: 70px;
    height: 70px;
    transform: scale(0);
}

.btn.slickPrevBtn span,
.btn.slickNextBtn span {
    transform: translateX(0px);
    transition: 0.3s ease-in-out;
}

.btn.slickPrevBtn:hover span {
    transform: translateX(-15px);
    transition: 0.3s ease-in-out;
}

.btn.slickNextBtn:hover span {
    transform: translateX(15px);
    transition: 0.3s ease-in-out;
}

.slickNextBtn .circleGreen {
    position: absolute;
    left: -19.9px;
    top: -18px;
    transition: 0.3s ease-in-out;
    border: 0px solid var(--color-green);
    border-radius: 100px;
    width: 50px;
    height: 50px;
    transform: scale(0);
}

.sliderBtn .btn:hover .circleGreen {
    transition: 0.3s ease-in-out;
    border: 1px solid var(--color-green);
    transform: scale(1);
}

.animeZoomInOut {
    overflow: hidden;
}

.animeZoomInOut img {
    transition: 0.3s ease-in-out;
    transform: scale(1);
}

.animeZoomInOut img:hover {
    transition: 0.3s ease-in-out;
    transform: scale(1.1);
}

.animeZoomInOut.darken {
    position: relative;
}

.animeZoomInOut.darken:before {
    background: #000;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition: 0.3s ease-in-out;
    width: 300px;
    height: 300px;
    max-width: 100%;
    max-height: 100%;
    z-index: 2;
}

.animeZoomInOut.darken:hover:before {
    opacity: 0.2;
    transition: 0.3s ease-in-out;
}

.animeSlice {}

.animeSlice {
    transition: 0.5s ease-in-out;
    position: relative;
    overflow: hidden;
}

.animeSlice div,
.animeSlice a {
    z-index: 2;
}

.animeSlice a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px
}

.animeSlice:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: 0.5s ease-in-out;
}

.animeSlice:before {
    right: -50px;
    background: var(--color-grey3);
    transform: translateX(-100%);
}

.animeSlice.green:before {
    right: -50px;
    background: #d66466;
    transform: translateX(-100%);
}

.animeSlice:hover:before {
    transform: translateX(0%);
    transition: 0.5s ease-in-out;
    opacity: 0.2;
}

.greenBgColWrap {
    display: flex;
    width: 100%;
    justify-content: center;
    gap: 40px;
    row-gap: 0;
}

.greenBgColWrap .textWrap {
    height: 200px;
    width: calc((100% - 40px)/2);
    background-color: #ab1b1b;
    color: #FFF;
    border-radius: 23px;
}

.greenBgColWrap .textWrap a {
    display: flex;
    width: 100%;
    height: 100%;
    padding-left: 60px;
    flex-direction: column;
    justify-content: center;
    border-radius: 23px;
}

.greenBgColWrap .textWrap .eng {
    font-size: 4rem;
    margin-bottom: 25px;
}

.greenBgColWrap .textWrap .jap {
    font-size: 1.8rem;
}

.iconAndText2colWrap {}

.iconAndText2colWrap .row {
    display: flex;
    flex-wrap: wrap;
}

.iconAndText2colWrap .imgWrap {
    width: 250px;
    margin-right: 70px;
}

.iconAndText2colWrap .textWrap {
    width: calc(100% - 320px);
    margin-top: auto;
    margin-bottom: auto;
}

.iconAndText2colWrap .textWrap .num {
    font-size: 3rem;
    font-style: italic;
    font-weight: lighter;
    margin-right: 20px;
}

.iconAndText2colWrap .textWrap .title {
    font-size: 2.2rem;
    font-weight: bold;
    line-height: calc(30/22);
}

.fullWidth .textWrap {
    width: 100%;
    margin-top: auto;
}

.fullWidth .textWrap .num {
    font-size: 3rem;
    font-style: italic;
    font-weight: lighter;
    margin-right: 20px;
}

.fullWidth .textWrap .num.sm {
    font-size: 2.2rem;
}

.fullWidth .textWrap .title {
    font-size: 2.2rem;
    font-weight: bold;
    line-height: calc(30/22);
}

.fullWidth .textWrap .title.sm {
    font-size: 1.6rem;
    line-height: calc(21/16);
}

.fullWidth .commonText {
    margin-bottom: 30px;
}

.fullWidth .nnn .commonText {
    margin-bottom: 0;
}

.fullWidth .commonText.mb50 {
    margin-bottom: 50px;
}

.fullWidth .imgWrap {
    margin-bottom: 30px;
}

.fullWidth .imgWrap img {
    width: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

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

.searchBox {
    display: flex;
    flex-wrap: wrap;
}

.searchBox .searchInput {
    margin-right: 20px;
    position: relative;
}

.searchBox .categoryInput {
    position: relative;
}

.searchBox .searchInput input,
.searchBox .categoryInput select {
    width: 320px;
    height: 75px;
    font-size: 1.8rem;
    padding: 25px 30px;
    background-color: transparent;
}

.searchBox .searchInput i,
.searchBox .categoryInput i {
    position: absolute;
    right: 10%;
    top: 24%;
    z-index: -1
}

.categorySideBar .title {
    font-size: 20px;
    font-weight: lighter;
    margin-bottom: 10px;
}

select::-ms-expand {
    display: none;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-repeat: no-repeat;
}

.pager {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 -10px;
    list-style: none;
}

.basicLink {
    text-decoration: underline;
    color: #001fff;
}

.pager>li {
    margin: 0 10px;
}

.pager>li>a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--color-mainBlack);
    color: var(--color-mainBlack);
    transition: .2s;
}

.pager>li>a.nextPrev {
    border: none;
}

.pager>li>a.active,
.pager>li>a:hover {
    background-color: var(--color-mainBlack);
    color: #FFF;
    transition: .2s;
}

.column_side dt {
    padding: 8px;
    background-color: #333;
    text-align: center;
    font-size: 2rem;
    line-height: 1.5;
    color: #fff;
}

.column_side li {
    border: 1px solid #ededed;
    border-top-width: 0;
    list-style: none;
}

.column_side li a {
    display: block;
    padding: 15px 20px;
    text-decoration: none;
    line-height: 1.5;
}

.newsBox {
    display: flex;
}

.newsBox .newsContainer {
    /*width: calc(100% - 230px);*/
    width: 100%;
}

.newsBox .column_side {
    width: 200px;
    margin-left: 30px;
}

.formContainer .row {
    display: flex;
    min-height: 60px;
}

.requireIcon {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #ab1b1b;
    color: #FFF;
    padding: 2px 10px;
    margin-left: 10px;
}

.error {
    color: red;
    margin-left: 10px;
}

.contactRow {
    display: flex;
}

.tac {
    text-align: center;
}

.lowerMainVisual {
    max-width: 970px;
    width: 100%;
}

.oneDayContainer {
    color: var(--color-green);
}

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

.oneDayWrap .row {
    width: 100%;
    display: inline-flex;
    align-items: center;
    border-top: 1px solid var(--color-green);
    padding-top: 70px;
    padding-bottom: 70px;
    max-height: 240px;
}

.oneDayWrap .left,
.oneDayWrap .right {
    max-width: 475px;
}

.oneDayWrap .row:last-child {
    border-bottom: 1px solid var(--color-green);
}

.oneDayWrap .timeRad {
    width: 100px;
    height: 100px;
    min-width: 100px;
    border-radius: 100px;
    border: 1px solid var(--color-green);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 38px;
}

.otherInterviewWrap {
    border: 3px solid var(--color-green);
    color: var(--color-green);
    background-color: #fff;
    display: flex;
    align-items: center;
    height: 160px;
}

.otherInterviewWrap a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
}

.otherInterviewWrap span {
    font-size: 4rem;
    font-weight: lighter;
    font-style: italic;
    margin-right: 20px;
    margin-left: 30px;
}

.italicTitle {
    font-size: 4rem;
    font-weight: lighter;
    font-style: italic;
    color: var(--color-green);
    margin-bottom: 25px;
}

.greenTitle {
    font-size: 3rem;
    line-height: calc(45/30);
    color: #ab1b1b;
}

.greenTitle.lg {
    font-size: 6rem;
    font-weight: 100;
    font-style: italic;
}

.italitThinColor {
    color: #ab1b1b;
    font-size: 2rem;
    line-height: calc(30/20);
    font-weight: 100;
    font-style: italic;
    margin-bottom: 20px;
}

.dataWrap {
    display: flex;
    color: var(--color-green);
    flex-wrap: wrap;
}

.dataWrap .col {
    flex-basis: 33.33%;
    height: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-right: 1px solid var(--color-grey4);
    border-bottom: 1px solid var(--color-grey4);
}

.dataWrap .col:nth-child(3),
.dataWrap .col:nth-child(6),
.dataWrap .col:nth-child(7),
.dataWrap .col:nth-child(9) {
    border-right: none;
}

.dataWrap .col:nth-child(7),
.dataWrap .col:nth-child(8),
.dataWrap .col:nth-child(9) {
    border-bottom: none;
}

.dataWrap .col img {
    margin-top: 96px;
    margin-bottom: 15px;
}

.dataWrap .borderbottom {
    margin-bottom: 20px;
    position: relative;
}

.dataWrap .borderbottom:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -20px;
    left: 0;
    transform: translateX(-84px);
    margin: auto;
    width: 200px;
    height: 1px;
    background-color: var(--color-green);
}

.dataWrap .borderbottom.pos2:after {
    transform: translateX(-65px);
}

.dataWrap .borderbottom.pos3:after {
    transform: translateX(-55px);
}

.dataWrap .borderbottom.pos4:after {
    transform: translateX(-50px);
}

.dataWrap .borderbottom+.m2 {
    margin-top: 20px;
}

.dataWrap .bigText {
    font-size: 5rem;
    font-weight: 100;
    line-height: calc(73/50);
    margin-bottom: 5px;
    font-style: italic;
}

.dataWrap .bigText span {
    font-size: 2.2rem;
    font-style: normal;
}

.slideInnerTitle {
    font-size: 84px;
}
.slideInner {
    position: relative;
}
.slideInner::before {
    content:'';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #0000004b;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
}
.slideInnerTitle span {
    font-size: 32px;
}

.shapeTheImage span {
    font-size: 18px;
}

.slideInnerTitle {
    width: 100%;
}

.slideInnerTWrap {
    position: absolute;
}

.slideInnerTWrap.pos2 {
    top: 50%;
    left: 15%;
    transform: translate(-10%, -50%);
    z-index: 9999;
}

.slideInnerDesc {
    font-size: 38px;
    text-align: center;
}

.categoryImgContainer.topSmall .col a.lg {
    height: 320px;
}

.comoanyTopWrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 40px
}

.comoanyTop {
    flex-basis: calc((100% - 40px)/2)
}

.comoanyTopLink {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    height: 250px;
    border: 2px solid white;
    border-radius: 23px;
    text-align: center;
    transition: .2s;
}

.comoanyTopLink:hover {
    background-color: rgba(255, 255, 255, .5);
    transition: .2s;
}

.comoanyTopLinkLg {
    color: white;
    display: block;
    font-size: 4.0rem;
    flex-basis: 100%;
}

.comoanyTopLinkSm {
    color: white;
    display: block;
    font-size: 1.8rem;
    flex-basis: 100%;
    margin-top: 10px;
}
.mainSlideWrapper {
    width: 100%;
	margin: auto;
}

.mainSlideWrapper .slick-dots {
    bottom: 65px;
}

.mainSlideWrapper .slick-dots li button:before {
    font-size: 4.6rem;
}

.slickAuto .slick-slide {
    padding: 10px
}

.relv {
    position: relative;
}

.relv .sliderBtn {
    bottom: -60px;
}

.relv .sliderBtn.noBO {
    bottom: -200px;
}

.sliderBtn.arrowOnly .btn {
    width: 50px;
}

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

.proConTt {
    flex-basis: 50%;
}

.proConDt {
    flex-basis: 50%;
}

.WigWrapper {
    font-size: 14px;
    line-height: 1.7;
}

.WigWrapper video{
	max-width: 100%;
}


.WigWrapper h2 {
    font-size: 32px;
    font-weight: 500;
}

.WigWrapper h3 {
    font-size: 28px;
    font-weight: 500;
}

.WigWrapper h4 {
    font-size: 24px;
    font-weight: 500;
}

.WigWrapper h5 {
    font-size: 20px;
    font-weight: 500;
}

.WigWrapper .scTable table {
    white-space: nowrap;
}

.WigWrapper table {}

.WigWrapper table th,
.WigWrapper table td {
    padding: 10px 20px;
    border: 1px solid #AAA;
}

.WigWrapper table th {
    background-color: #DDD
}

.WigWrapper:after {
    content: "";
    display: block;
    clear: both;
}
.WigWrapper{
    overflow: hidden;
}

.centerLg .slick-slide {
    transition: .3s ease;
    transform: scale(.60);
    transform-origin: 100% 50%;
}

.centerLg .slick-current {
    transform: scale(1.05);
    transform-origin: 50% 50%;
    z-index: 3;
}
.WigWrapper img{
	max-width: 100%;

}
.centerLg .slick-current+.slick-slide {
    transform-origin: 0 50%;
}

.menuLogo {
    margin-bottom: 120px
}

.mapWrapAs {}

.mapWrapTtl h3 {
    font-size: 2.4rem;
    display: block;
    margin-bottom: 20px;
}

.mapWrapTtl p {
    font-size: 1.4rem;
    display: block;
    margin-bottom: 10px;
}

.mapWrap {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    margin: 0 -20px;
    ;
    flex-wrap: wrap;
}

.mapCol {
    margin: 0 20px;
    flex-basis: calc(50% - 40px);
    margin-bottom: 40px;
}

.mapWW {
    margin-left: 20px;
    max-width: 250px
}

.ddWi {
    width: 270px;
}

.mapCol h3 {}

.mapCol p {}

.mapCol iframe {
    width: 100%;
    height: 340px;
}

#topSection02 {
    padding-top: 80px;
}

#topSection02.tpindCon {
    padding-top: 90px;
}

.footer .address {
    margin-top: 20px
}

.cateWrap {
    height: 50px;
    overflow: hidden;
}

.searchBoxCate {
    margin-top: 10px;
    max-width: 800px
}

.searchBoxCate .cateWrap {
    overflow: visible;
    height: auto;
}

.searchBoxCate .cateWrap.lg a,
.searchBoxCate .cateWrap.lg span {
    height: 28px;
    font-size: 14px;
    margin-bottom: 4px;
    filter: none;
    transition: .4s;
}

.searchBoxCate .cateWrap.lg a:hover,
.searchBoxCate .cateWrap.lg span:hover {
    /* 	filter: drop-shadow(2px 2px 2px #333); */
    /* 	transition: .4s; */
}

.remodal,
.searchBoxCate {
    max-width: 900px!important;
}

.remodal .searchBox {
    width: 100%;
    display: block;
}

.groupComWrap {
    margin-bottom: 40px;
}

.groupComWrapTtl {
    text-align: center;
    font-size: 32px;
    margin-bottom: 20px;
    font-weight: bold;
}

.groupComWrapRow {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 -20px;
}

.groupCom {
    margin: 0 20px;
    margin-bottom: 20px;
}

.groupCom.nsgg {
    width: 180px;
}

.catalogWrap {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 20px 40px;
    border-bottom: 1px dotted #999;
}

.catalogImg {
    width: 200px;
}

.catalogTxt {
    /* margin-top: 20px; */
    margin-left: 20px;
    width: calc(100% - 220px);
    margin-top: auto;
    margin-bottom: auto;
}

.catalogTxtTtl {
    font-size: 3.2rem;
    font-weight: bold;
    margin-bottom: 30px;
    ;
}

.catalogTxtDtl {
    font-size: 1.6rem;
    line-height: 1.7;
    margin-bottom: 40px;
}

.btnRadius.left {
    margin-left: 0;
}

.btnRadius.center {
    margin-left: auto;
    margin-right: auto;
}

.listNUm ul {
    list-style: decimal;
    padding-left: 20px;
}
   .mainSlideWrapper .slideInner .slideInnerImage img {
       height: 100%;
       width: 100%;
       object-fit: cover;
       font-family: "object-fit: cover;";
   }
/* banner */
.rb{
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
}
.rb2{
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	padding-right: 33px;
}
.rb3{
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	padding-right: 14%;
}

.rimg{
	width: 100%;
}


/* ログインボタン */
.login_leave {
  // overflow: hidden;
}
.btnLogin {
	color: #fff;
	/*background: #000;*/
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
	top: -5px;
	display: block;
	width: 300px;
	margin: auto;
	padding: 4px 10px;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	text-shadow: none;
	white-space: nowrap;
	border: none;
	border-radius: 3px;
	vertical-align: top;
	outline: none;
	transition: all .8s;
}

.btnLogin:hover {
	overflow: hidden;
	opacity: .8;
}

.btnLogin:after{
	visibility: hidden;
	position: absolute;
	left: -72px;
	top: 0;
	height: 100%;
	content: "";
	-ms-transform: skew(-45deg);
	-webkit-transform: skew(-45deg);
	transform: skew(-45deg);
	border-left: solid 30px rgba(255,255,255,0.5);
}

.btnLogin:hover:after {
	visibility: visible;
	left: 120%;
	-webkit-transition: left 200ms linear;
	transition: left 200ms linear;
}


@media screen and (max-width: 1450px) {
    .categoryImgContainer.textBottomLeft .textWrap .eng {
		font-size: 3rem;
	}
	.categoryImgContainer.textBottomLeft.detail .textWrap .text {
		margin-bottom: 55px;
	}
}
@media screen and (max-width: 1430px) {
    .header__nav__list {
        font-size: 14px;
    }
    .header__nav__list__item {
        margin-right: 20px;
    }
    .header__nav__list__item.dotMenuBtn {
        width: 40px;
        height: 40px;
    }
    .header__nav__list__item.justMenuBtn {
        height: 40px;
    }
    .header__nav__list.menuWrap .header__nav__list__item {
        margin-right: 10px;
    }
    .mainSlideWrapper {
/*         min-height: 800px; */
    }
    .slideInnerTitle {
        font-size: 62px;
    }

.slideInnerTitle span {
    font-size: 20px;
}
    .slideInnerTWrap {
        left: 30px;
    }
    .slideInnerTWrap.pos2 {
        width: max-content;
        z-index: 9999;
    }
    .sliderCase .card {
        max-width: 420px;
	}
    .sliderCase.topCase .card .image.index {
        height: 300px;
    }
    .sliderCase.topCase .card .caseTitle {
        font-size: 2.2rem;
    }
    .menuLogo {
        margin-bottom: 60px
    }
    #justMenuNav .linkArea .link {
        margin-bottom: 15px;
    }
    .main.lower {
        margin-top: 30px;
    }
    .searchBoxCate .cateWrap.lg a,
    .searchBoxCate .cateWrap.lg span {
        font-size: 12px;
    }
    .detailStyle .main.lower {
        margin-top: 10px;
    }
    .detailStyle .main.lower .contentWrap.mb60,
    .detailStyle .main.lower .contentWrap.mb60 .mb60 {
        margin-bottom: 20px;
    }
    .topLinks {
/*         margin-top: 110px; */
        left: 30px;
    }
}

@media screen and (max-width: 1428px) {
    .col2Wrap.recruit .col {
        margin-right: auto;
        margin-left: auto;
    }
}

@media screen and (max-width: 1340px) {
	.mxMin.productCardsWrap .card {
        max-width: 340px;
    }
    .proItem .card .image,
    .proItem .card .image,
    .productCardsWrap .card .image,
    .sliderCase .card .image {
        height: 220px;
    }
    .searchBox .searchInput input,
    .searchBox .categoryInput select {
        width: 200px;
        height: 50px;
        padding: 15px 20px;
    }
    .searchBox .searchInput i,
    .searchBox .categoryInput i {
        top: 17%;
    }
    .commonText {
        font-size: 1.8rem;
    }
    .commonText.sm {
        font-size: 1.6rem;
    }
    .categoryImgContainer.textBottomLeft.detail .textWrap .text,
    .categoryImgContainer.textBottomLeft.detail .textWrap .hiddenText {
        padding-left: 30px;
        padding-right: 30px;
    }
    .categoryImgContainer.textBottomLeft.detail .textWrap .text {
        margin-bottom: 61px;
    }
    .categoryImgContainer.textBottomLeft .col:hover .textWrap {
        padding-top: 113px;
    }
    .specTable dl {
        font-size: 1.6rem;
    }
    .mainImgTextWrap .col:first-child {
        width: 100%;
        margin-bottom: 30px;
    }
    .mainImgTextWrap {
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 1080px) {
    .sp-hide {
        display: none;
    }
    .sp-show {
        display: block;
    }
    .header__nav_sp {
        display: block;
    }
    .header__nav.header__nav_pc {
        display: none;
    }
    .slideInnerTitle {
        font-size: 32px;
    }
    .slideInnerTitle span {
        font-size: 16px;
    }
    .mb40,
    .mb60,
    .mb70,
    .mb80,
    .mb90,
    .mb110,
    .mb120,
    .mb130,
    .mb140,
    .mb150,
    .mb160,
    .mb170,
    .mb180{
        margin-bottom: 30px;
    }
    .mb50 {
        margin-bottom: 50px;
   }
    .mb100{
      margin-bottom: 100px;
    }
    .mb200{
        margin-bottom: 200px;
    }



    .header__wrap {
        height: 60px;
    }
    .header__logo {
        margin-left: 10px;
    }
    .mainVisual .title {
        font-size: 5rem;
        font-weight: normal;
    }
    .mainVisual {
        margin-top: 0;
    }
    .main {
        margin-top: 60px;
    }
    .topArea {
        flex-wrap: wrap;
        margin-bottom: 10px;
    }
    .shapeTheImage {
        margin-bottom: 30px;
        width: 100%;
        margin-top: 30px;
    }
    .sliderBtn .btn {
        margin-right: 0;
    }
    .sliderBtn {
        display: flex;
        justify-content: space-around;
        margin-top: 20px;
        width: 70%;
        margin-left: auto;
    }
    .sliderBtn.sp-hide {
        display: none;
    }
    .positionBorder {
        width: 150px;
    }
    .currentPosition {
        width: 30px;
    }
    .sliderCounter {
        margin-bottom: 140px;
    }
    .currentNumWrap {
        font-size: 2.5rem;
    }
    .scrollBtn {
        left: -32%;
        bottom: -13%;
    }
    .mainSlide {
        margin-top: 45px;
        width: 100%;
    }
    .mainVisual .btnRadius {
        position: unset;
        margin-top: 170px;
        margin-right: auto;
        margin-left: auto;
    }
    .changeWithGlass {
        font-size: 7rem;
    }
    .underline {
        font-size: 2.6rem;
    }
    .viewmoreFlexWrap {
        flex-wrap: wrap;
    }
    .viewmoreFlexWrap .commonText {
        margin-bottom: 20px;
    }
    .titleGreenDot .eng {
        font-size: 7rem;
        margin-right: 20px;
    }
    .titleGreenDot .jap {
        font-size: 1.8rem;
    }
    .sliderProducts {
        padding-right: 0px;
    }
    .sliderCase {
        padding-right: 0px;
    }
    .categoryImgContainer .row {
        flex-wrap: wrap;
    }
    .categoryImgContainer .textWrap {
        white-space: normal;
    }
    .categoryImgContainer .col.fb50 {
        flex-basis: 100%;
        width: 100%;
    }
    .categoryImgContainer .col.fb25 {
        flex-basis: 50%;
        width: 50%;
    }
    .titleGreenDot .titleWrap {
        flex-wrap: wrap;
    }
    #topSection04 .col2Wrap .col:first-child {
        margin-right: 0;
    }
    #topSection04 .col2Wrap .col:last-child {
        flex-basis: 100%;
    }
    .caseTitle span {
        left: 36%;
    }
    .slickMask {
        width: 20%;
    }
    .bgImage.company {
        height: 500px;
    }
    .bgImage.company .contentWrap {
        padding-top: 160px;
    }
    .contentWrap.newsArea {
        padding-right: 20px;
        padding-left: 20px;
    }
    .newsContainer .row {
        padding-right: 0;
        padding-left: 0;
        flex-wrap: wrap;
        height: auto;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .newsContainer .row .category {
        flex-basis: calc(50% - 40px);
        margin-right: 0;
        margin-bottom: 10px;
    }
    .linkBg {
        height: auto;
    }
    .linkBgWrap {
        flex-wrap: wrap;
    }
    .linkBg.col2 {
        flex-basis: 100%;
        margin-bottom: 30px;
    }
    .linkBg.col2 .textWrap {
        left: 40%;
    }
    .imgCenter {
        display: none;
    }
    .linkBg .textWrap .eng {
        margin-bottom: 5px;
    }
    .btnRadius.long {
        width: 100%;
        font-size: 2.6rem;
        height: 40px;
    }
    .linkBgWrap + .btnRadius.long {
        height: 100px;
    }
    .btnRadius.long img {
        top: 10%;
        left: 26%;
    }
    .btnRadius {
        width: 100%;
    }
    .topLinks .btnRadius {
      	width: 210px;
		height: 40px;
    }
    .contentWrap.withSlick {
        max-width: 1400px;
        padding: 0 20px;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }
    .greenBgColWrap {
        flex-wrap: wrap;
    }
    .greenBgColWrap .textWrap .eng {
        font-size: 2.6rem;
    }
    .greenBgColWrap .textWrap {
        margin-bottom: 30px;
    }
    footer{
        padding-bottom: 70px
    }
    footer .backToTop {
        height: 70px;
        width: 100%;
        bottom: 0;
        top: unset;
        justify-content: center;
        align-items: center;
        writing-mode: unset;
        padding-bottom: 0;
    }
    footer .backToTop i {
        margin-bottom: 0px;
        margin-right: 30px;
    }
    .iconAndText2colWrap .imgWrap {
        margin-right: 0;
        width: 100%;
        flex-basis: 100%;
        display: flex;
        justify-content: center;
        margin-bottom: 30px;
    }
    .iconAndText2colWrap .textWrap {
        width: 100%;
        flex-basis: 100%;
    }
   
    .hiddenText {
        display: none;
    }
    .categoryImgContainer.textBottomLeft.detail .col:hover .textWrap {
        padding-top: 0;
    }
    .pager {
        flex-wrap: wrap;
/*         justify-content: flex-end; */
    }
    .pager>li {
        margin-bottom: 10px;
    }
    .searchBox .searchInput input,
    .searchBox .categoryInput select {
        width: 100%;
        flex-basis: 100%;
        height: 35px;
        font-size: 1.6rem;
        padding: 5px 10px;
        ;
    }
    .searchFlexWrap .titleGreenDot {
        flex-basis: 100%;
    }
    .searchBox .searchInput {
        flex-basis: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }
    .searchBox .categoryInput {
        flex-basis: 100%;
    }
    .productCardsWrap.col3 .card {
        flex-basis: calc(50% - 20px);
        margin-bottom: 50px;
    }
    .searchBox {
        width: 100%;
        justify-content: flex-end;
    }
    .bgGrey {
        margin-bottom: 30px;
        padding-top: 30px;
        padding-bottom: 15px;
    }
    .bgGrey.mb0 {
        padding-bottom: 0;
    }
    .bgGrey.recruit {
        margin-bottom: 30px;
    }
    .productDescWrap .commonText {
        margin-right: 0;
        margin-bottom: 30px;
    }
    .productDescWrap .categorySideBar {
        width: auto;
    }
    .main.lower {
        margin-top: 50px;
    }
    .textWrap.contact .oswald {
        font-size: 25px;
    }
    .specTable dt {
        margin-right: 30px;
        width: 100%;
        margin-bottom: 10px;
        font-size: 2.2rem;
    }
    .specTable dl {
        flex-wrap: wrap;
    }
    .newsBox {
        flex-wrap: wrap;
    }
    .newsBox .newsContainer {
        width: auto;
        margin-bottom: 30px;
    }
    .newsBox .column_side {
        width: 100%;
        margin-left: 0;
    }
    .specTable.contactForm dd {
        width: 100%;
    }
    .specTable.contactForm input {
        width: 100%;
    }
    .contactRow {
        display: flex;
        flex-wrap: wrap;
    }
    .btnArea {
        margin-bottom: 50px;
    }
    .contactRow .btnRadius:last-child {
        margin-top: 30px;
    }
    .history .specTable {
        margin-bottom: 50px;
    }
    .productMainVisual {
        height: 400px;
    }
    .mainImgTextWrap {
        flex-wrap: wrap;
    }
    .mainImgTextWrap .col:first-child {
        width: auto;
        margin-right: 0;
        margin-left: 0;
    }
    .changeWithGlass .borderText {
        margin-bottom: 30px;
    }
    .changeWithGlass .year p {
        font-size: 1.6rem;
    }
    .oneDayWrap {
        flex-wrap: wrap;
    }
    .oneDayWrap .row {
        padding-top: 30px;
        padding-bottom: 30px;
        flex-direction: column;
        max-height: unset;
        height: auto;
    }
    .oneDayContainer .oneDayWrap:last-child .row:first-child {
        border-top: unset;
    }
    .oneDayWrap .row .commonText {}
    .oneDayWrap .timeRad {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .otherInterviewWrap span {
        font-size: 2.3rem;
        margin-left: 0;
    }
    .col2Wrap.recruit .col {
        margin-bottom: 40px;
    }
    .relativeImg {
        width: 100%;
        height: auto;
    }
    .imgTextWrap .left,
    .imgTextWrap .right {
        width: 100%;
    }
    .rightWrap {
        max-width: unset;
        padding-left: 0;
    }
    .imgTextWrap {
        padding: 0 20px;
    }
    .dataWrap .col {
        flex-basis: 100%;
        padding-bottom: 40px;
        border-right: none;
        height: auto;
    }
    .dataWrap .col:nth-child(8) {
        border-bottom: 1px solid var(--color-grey4);
    }
    .dataWrap .col img {
        margin-top: 50px;
    }
    .col2Wrap .col.lowerMainVisual {
        margin-top: 30px;
    }
    .col.map {
        margin-right: 10px;
        margin-left: 10px;
    }
    .productCardsWrap .card .image.index,
    .sliderCase .card .image.index {
        height: 300px;
    }
    .comoanyTopWrap {
        flex-wrap: wrap;
        margin: 0 0;
    }
    
    .comoanyTopLink {
        height: 160px;
    }
    .bgImage.company .contentWrap {
        padding-top: 40px;
    }
    .comoanyTopLinkLg {
        font-size: 28px;
    }
    .comoanyTopLinkSm {
        font-size: 14px;
    }
    .productCardsWrap.col3 {
        margin-right: 0;
        margin-left: 0;
    }
    .proConWrap {
        flex-wrap: wrap;
    }
    .proConTt,
    .proConDt {
        flex-basis: 100%;
    }
    .proConTt {
        margin-bottom: 30px;
    }
    .proConDt .contentWrap {
        /* padding: 0; */
    }
    .proConDt .commonTitle {
        font-size: 2.4rem;
    }
    .WigWrapper .scTable {
        overflow-x: scroll;
    }
    .WigWrapper .scTable table {
        white-space: nowrap;
    }
    .WigWrapper .scTable {
        overflow: visible!important;
        overflow-y: visible!important;
        overflow-x: scroll!important;
    }
    .productCardsWrap .card .commonText,
    .sliderCase .card .commonText {
        height: auto;
    }
    .productCardsWrap .title {
        height: auto;
    }
    .ddWi {
        width: 100%;
    }
    .mapWW {
        margin-top: 20px;
        margin-left: 0;
        max-width: 100%;
    }
}

@media screen and (max-width: 768px) {
	.footer .right {
	    width: 100%;
	}
	.rb{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.rb2{
		display: flex;
	    width: 100%;
	    justify-content: center;
	}
	.rb3 {
	    display: flex;
	    width: 100%;
	    justify-content: center;
	    padding-right: 0px;
	    flex-wrap: wrap;
	}
	.rimg{
		width: 100%;
		padding-bottom: 50px;
	}
   .productCardsWrap.col3 .card {
        flex-basis: calc(100% - 20px);
        margin-bottom: 50px;
    }
    .productCardsWrap .card .image,
    .sliderCase .card .image {
        margin-bottom: 20px;
        height: 190px;
        display: block;
    }
    .productCardsWrap .title {
        font-size: 1.8rem;
    }
    .categoryImgContainer.textBottomLeft .textWrap .eng {
        font-size: 2rem;
    }
    .searchFlexWrap {
        position: relative;
    }
    .searchFlexWrap>.searchBox {
        position: absolute;
        top: -10px;
        right: 0;
        justify-content: flex-end;
    }
    .searchBoxModalS {
        height: 40px;
        font-size: 16px;
    }
    .slideInnerTitle {
        font-size: 28px;
    }
   .slideInnerDesc {
		font-size: 16px;
		text-align: center;
	}
    #topSection02.tpindCon {
        padding-top: 20px;
    }
    .underline {
        font-size: 4.2rem;
    }
    .catalogWrap {
        flex-wrap: wrap;
        justify-content: center;
    }
    .catalogImg {
        width: 250px;
    }
    .catalogTxt {
        margin-top: 20px;
        width: 100%;
        margin-left: 0
    }
    .catalogWrap {
        padding: 20px 20px;
    }
    footer .changeWithGlass {
        font-size: 5rem;
    }
    .proConDt .contentWrap {
        padding: 0 20px;
    }
    .oneDayWrap .left,
    .oneDayWrap .right {
        max-width: 100%;
        width: 100%;
    }
    .productCardsWrap.col3 .card {
        flex-basis: 100%;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
    .searchFlexWrap>.searchBox {
        position: static;
        margin-top: 15px;
    }
    .searchBoxModalS>span {
        font-size: 14px;
    }
    .productMainVisual {
        height: 290px;
    }
    .changeWithGlass + .lowerMainVisual {
		width: 100%;
	}
}

@media screen and (max-width: 675px) {}

@media screen and (max-width: 500px) {
	.pager>li>a {
		width: 30px;
		height: 30px;
	}
	.slideInnerTWrap.pos2 {
		width: calc(100% - 60px);
	}
	.slideInnerTWrap.pos2 {
	}
	.pager>li {
		margin: 0 6px;
	}
	.slideInnerTitle {
		font-size: 26px;
	}
	.slideInnerDesc {
		font-size: 20px;
	}
	.topLinks {
		width: 100%;
	}
	.topLinks .btnRadius {
/* 		width: 100%; */
	}
	.sliderProducts.productCardsWrap.proItem.productCardsWrap .card {
		margin-left: 5px;
		margin-right: 5px;
	}

	.topLinks{
		display: none;
	}

}

@media print {
    #header,
    .header__nav__list.menuWrap {
        position: static;
    }
}

/* 122tsuiki */
.button-g {
    display: block;
    width: 320px;
    max-width: 100%;
    margin: 0 auto;
    margin-bottom: 20px;
    overflow: hidden;
    position: relative;
    -webkit-transform: translatez(0);
    transform: translatez(0);
    text-decoration: none;
    box-sizing: border-box;
    font-size: 18px;
  }
  .riseButton {
    color: #1a1a1a;
    font-weight: bold;
    -webkit-transition: all 0.5s ease-in-out 0s;
    transition: all 0.5s ease-in-out 0s;
    width: 80%;
  }
  .riseButton .gradient {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 800%;
    bottom: auto;
    margin: auto;
    z-index: 1;
    opacity: 0.3;
    background: #6086c1;
    background: -moz-linear-gradient(45deg, #6086c1 0%, #efe097 70%, #d66466 100%);
    background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, #6086c1), color-stop(70%, #efe097), color-stop(100%, #d66466));
    background: -webkit-linear-gradient(45deg, #6086c1 0%, #efe097 70%, #d66466 100%);
    background: -o-linear-gradient(45deg, #6086c1 0%, #efe097 70%, #d66466 100%);
    background: -ms-linear-gradient(45deg, #6086c1 0%, #efe097 70%, #d66466 100%);
    background: linear-gradient(45deg, #6086c1 0%, #efe097 70%, #d66466 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#6086c1", endColorstr="#d66466",GradientType=1 );
    -webkit-transition: all 0.5s ease-in-out 0s;
    transition: all 0.5s ease-in-out 0s;
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    transform: translateY(0%);
  }

  .riseButton:hover .gradient, .riseButton:focus .gradient {
    -webkit-transform: translateY(-85%);
    -moz-transform: translateY(-85%);
    transform: translateY(-85%);
  }
  @media screen and (max-width: 768px) {
    .rimg-fix {
        padding-bottom: 0;
    }
    .riseButton {
        margin-bottom: 50px;
        width: 60%;
    }
  }

  @media screen and (max-width: 500px) {
    .riseButton {
        margin-bottom: 50px;
        width: 90%;
    }
  }





/*
Banner
---------------*/
.headBannerFlex {
    display: flex;
    padding-left: 0;
    flex-wrap: nowrap;
    justify-content: end;
    padding-right: 14%;
}

.headBannerFlex .bannerLink {
    max-width: 280px;
    display: block;
    overflow: auto;
    margin-right: 10px;
}

.headBannerFlex .bannerLink .img{
    width: 100%;
    margin: 0;
}

@media screen and (max-width: 1366px) {
    .headBannerFlex {
        padding-right: 0;
        max-width: 400px;
    }
}

@media screen and (max-width: 900px) {
    .headBannerFlex {
        max-width: inherit;
    }
    .headBannerFlex .bannerLink {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .headBannerFlex {
        padding-right: 14%;
    }
}

/*250326*/
@media screen and (min-width: 768px){
    .u-none_pc{
        display: none;
    }
}
@media screen and (max-width: 767px){
    :root{
        --base-margin: 2px;
    }
    .mb200 {
        margin-bottom: calc(var(--base-margin)* 20);
    }
    .main {
        margin-top: 40px;
    }
    .mainSlideWrapper{
        margin-bottom: 0;
    }
    .changeWithGlass {
        font-size: 5rem;
    }
    #topSection02 h2{
        width: 100%;
        text-align: center;
    }
    #topSection02 .changeWithGlass p{
        margin-left: 0;
        text-align: center;
    }
    #topSection02 .changeWithGlass{
        margin-bottom: 20px;
    }
    .titleGreenDot .eng {
        font-size: 5rem;
    }
    .footer .btnRadius{
        margin-bottom: 15px;
    }
    .contentWrap.newsArea{
        margin-top: -80px
    }
    section:has(.newsArea){
        padding: 0 15px
    }
    .breadcrumbs li:last-child{
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .tpindCon .col2Wrap .col+.col{
        max-width: 480px;
        margin: 30px auto 0;
        padding: 0 15px
    }
    .footer .linkArea.cent .row{
        gap: 20px 30px
    }
    .footer {
        flex-wrap: wrap;
        padding-bottom: 60px;
        padding-right: 20px;
    }
    .footer--inline{
        flex-wrap: nowrap;
        gap: 40px
    }
    .footer .right {
        order: 1;
        width: 100%;
        max-width: 100%;
    }
    .footer .left {
        order: 2;
        width: 100%;
        text-align: center;
        margin-top: 50px;
    }
    .footer .left img{
        margin: 0 auto
    }
    .footer .linkArea .row {
        flex-wrap: wrap;
    }
    .footer .linkArea.privacy {
        margin-top: 0px;
    }
}

@media screen and (max-width: 479px){
    .titleGreenDot .jap{
        width: 100%;
    }
}

/*top logo*/
.footer__bottom{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-top: 10px;
    border-top: 1px solid #E3E3E3;
    font-size: 14px;
}

.footer__bottom-col{
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px 30px;
    justify-content: center;
    flex-wrap: wrap;
}
.footer__subLink {
    list-style: none;
    padding-left: 0;
    display: flex;
    align-items: center;
    gap: 30px;
    white-space: nowrap;
}
.footer__social {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    gap: 24px;
    line-height: 1;
}
.footer__social svg{
    width: 24px;
    height: 24px;
}
.mainSlideWrapper, .tpindCon{
    margin-bottom: 200px;
}
.p-service{
    margin-bottom: 170px;
}
@media screen and (min-width: 768px) and (max-width: 1024px){
    .mainSlideWrapper, .tpindCon{
        margin-bottom: 130px;
    }
    .textWrap.contact,
    .contentWrap.newsArea, .linkBgWrap, .p-service{
        margin-bottom: 100px;
    }
    .footer .right{
        max-width: 100%;
        text-align: center;
    }
    .footer .btnRadius{
        max-width: 420px;
    }
    .footer {
        padding-right: 20px
    }

}

@media screen and (max-width: 767px){
    .u-none_sp{
        display: none;
    }
    .mainSlideWrapper, .tpindCon{
        margin-bottom: 60px
    }
     .categoryImgContainer .col.fb33 {
        flex-basis: 100%;
        width: 100%;
        height: auto;
        margin-bottom: 40px;
    }
    .categoryImgContainer.textBottomLeft .textWrap {
        padding-top: 28%;
        padding-left: 20px;
        height: 100%;
    }
    .categoryImgContainer.textBottomLeft.detail .textWrap {
        padding-top: 0;
        padding-left: 0;
        height: 100%;
        width: 100%;
    }
    .categoryImgContainer.textBottomLeft.detail .textWrap .text {
        margin-bottom: 0;
        display: flex;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        text-align: center;
        height: 100%;
    }
    .textWrap.contact,
    .contentWrap.newsArea, .linkBgWrap, .p-service{
        margin-bottom: 60px;
    }
    .greenBgColWrap, .comoanyTopWrap{
        gap: 15px
    }
    .comoanyTopLink{
        height: 100px
    }
    .greenBgColWrap .textWrap{
        height: 100px        
    }
    .comoanyTop, .greenBgColWrap .textWrap{
        width: calc((100% - 15px)/2)
    }
    .comoanyTop{
        flex-basis: inherit;
    }
    .comoanyTopLinkLg{
        font-size: 24px
    }
    .bgImage.company{
        height: 380px;
    }
    .greenBgColWrap .textWrap a{
        padding-left: 20px
    }
    .greenBgColWrap .textWrap .eng{
        margin-bottom: 15px
    }
}

@media screen and (min-width: 768px) and (max-width: 1060px){
    .row-service{
        margin-bottom: 60px
    }
}