@import"base.css";
@import"fonts.css";
@import"aos.css";
@import"slick.css";
@import"slick-theme.css";
@import"../font/stylesheet.css";

:root {
    --content-width: 1230px;
    --font-yugothic: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    --font-yumincho: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
    --font-meiryo: "Meiryo UI", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
    --font-arial: Arial, Helvetica, sans-serif;
    --main-cl: #003366;
    --main-cl2: #c8b98c;
    --b-cl: #000;
    --w-cl: #fff;
    --lh: 1.8em;
    --font-family: "Noto Sans JP", sans-serif;
    --noto: "Noto Sans JP", sans-serif;
    --roboto: "Roboto", sans-serif;
    --dancing: "Dancing Script", cursive;
    --oswald: "Oswald", sans-serif;
    --body-color: #222222;
    --voluta: "Dancing Script", cursive
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
    font-size: 200%;
    -webkit-text-size-adjust: none;
    font-family: var(--font-family)
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
textarea {
    width: 100%;
    border: solid 1px #999;
    padding: 16px 20px
}

::placeholder {
    opacity: .5
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.6em
}

a {
    transition: all .3s ease;
    text-decoration: none;
    font-family: var(--font-family);
    color: var(--body-color)
}

select {
    visibility: visible !important
}

[href^="tel:"] {
    word-break: keep-all;
    white-space: nowrap
}

img {
    vertical-align: middle;
    max-width: 100%;
    flex-shrink: 0;
    height: auto;
    object-fit: cover
}

table {
    width: 100%
}

p {
    margin-bottom: 15px;
    line-height: 1.6
}

p:last-child {
    margin-bottom: 0
}

button {
    cursor: pointer;
    border: solid 1px #333;
    border-radius: 0;
    outline: none;
    box-shadow: none
}

*,
::before,
::after {
    box-sizing: border-box;
    outline: none
}

html {
    background: #fff
}

body {
    min-width: 320px;
    -webkit-text-size-adjust: none;
    color: var(--body-color)
}

#wrapper {
    min-width: 1260px;
    margin: 0 auto;
    overflow: hidden
}

.container {
    width: var(--content-width);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px
}

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

.customize-support #header {
    margin-top: 32px
}

@media screen and (max-width: 782px) {
    .customize-support #header {
        margin-top: 46px !important
    }
}

@media screen and (max-width: 600px) {
    .customize-support #header {
        margin-top: 0px !important
    }
}

.br-isub {
    display: none
}

.hamburger-btn {
    width: 40px;
    height: 40px;
    position: relative;
    cursor: pointer;
    display: none;
    z-index: 99;
    background-color: var(--main-cl2)
}

.hamburger-btn .bar {
    width: 30px;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    border-radius: 2px;
    transition: all .3s ease
}

.hamburger-btn .bar::before,
.hamburger-btn .bar::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    border-radius: 2px;
    background-color: #fff;
    transition: all .3s ease
}

.hamburger-btn .bar::before {
    top: -9px
}

.hamburger-btn .bar::after {
    top: 9px
}

.hamburger-btn.--active .bar {
    background-color: rgba(0, 0, 0, 0)
}

.hamburger-btn.--active .bar::before {
    top: 0;
    transform: rotate(45deg)
}

.hamburger-btn.--active .bar::after {
    top: 0;
    transform: rotate(135deg)
}

.to-top {
    position: fixed;
    bottom: 38px;
    right: 38px;
    cursor: pointer;
    z-index: 95;
    overflow: hidden;
    transition: all .3s ease;
    opacity: 0;
    visibility: hidden
}

.to-top.show {
    opacity: 1;
    visibility: visible
}

.to-top a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-bottom: 13px;
    position: relative;
    width: 108px;
    height: 108px;
    background-color: #fff;
    border: 1px var(--main-cl) solid;
    border-radius: 100%;
    z-index: 1;
    font-size: 18px;
    text-align: center;
    color: var(--main-cl);
    line-height: 1
}

.to-top a span {
    font-weight: 700;
    font-size: 166.6666%;
    margin-top: 1px
}

.to-top a::before {
    content: "";
    display: inline-block;
    border-left: 10px solid rgba(0, 0, 0, 0);
    border-right: 10px solid rgba(0, 0, 0, 0);
    border-bottom: 11px solid var(--main-cl);
    margin-bottom: 5px;
    transition: all .3s ease
}

.ibtn a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    max-width: 100%;
    width: 282px;
    height: 60px;
    padding: 5px 30px 7px;
    font-size: 18px;
    color: #fff !important;
    font-weight: 500;
    position: relative;
    z-index: 1;
    background-color: var(--main-cl2);
    border-radius: 4px
}

.ibtn a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto 0;
    width: 7.0725px;
    height: 7.0725px;
    transform: rotate(45deg);
    border-top: solid 1px #fff;
    border-right: solid 1px #fff
}

.ibtn a::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(0deg, #0f3b82 0%, #2a5eb1 100%);
    z-index: -1;
    border-radius: 4px;
    transition: all .3s ease
}

.bfix {
    position: fixed;
    bottom: 0;
    left: 0;
    display: flex;
    width: 100%;
    background-color: var(--main-cl);
    height: 80px;
    z-index: 97;
    color: #fff;
    opacity: 0;
    visibility: hidden
}

.bfix li {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    width: 50%;
    padding: 5px;
    position: relative
}

.bfix li p {
    line-height: 1.3
}

.bfix .bfix-tel-tt {
    font-size: 10px;
    margin-bottom: 3px
}

.bfix .bfix-tel-num {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 3px
}

.bfix .bfix-tel-num::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 13px;
    background: url(https://www.cj-garage.com/images/idx-icontact-tel.png) center/contain no-repeat;
    margin-right: 2px
}

.bfix .bfix-tel-time {
    margin-bottom: 0;
    font-size: 10px
}

.bfix .bfix-email {
    background-color: var(--main-cl2);
    color: var(--main-cl)
}

.bfix .bfix-email-eml {
    font-size: max(min(4.375vw, 16px), 14px);
    font-weight: 700;
    margin-bottom: 0px;
    display: flex;
    align-items: center;
    flex-direction: column
}

.bfix .bfix-email-eml::before {
    content: "";
    display: inline-block;
    width: 28px;
    height: 17px;
    margin: 0 0 4px 0;
    background: url(https://www.cj-garage.com/images/idx-icontact-email.png) center/contain no-repeat
}

.d-flex {
    display: flex
}

.d-flex-column {
    display: flex;
    flex-direction: column
}

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

.flex-center-all {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.left {
    text-align: left
}

.center {
    text-align: center
}

.right {
    text-align: right
}

.bold {
    font-weight: bold
}

.iline {
    --cl: var(--main-cl);
    --t: 75%;
    --b: 100%;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) var(--t), var(--cl) var(--t), var(--cl) var(--b), rgba(255, 255, 255, 0) var(--b))
}

.iline-radius {
    --underline-color: var(--main-cl);
    --underline-height: 10px;
    background: radial-gradient(farthest-side, var(--underline-color) 98%, transparent 100%) bottom right/var(--underline-height) var(--underline-height), radial-gradient(farthest-side, var(--underline-color) 98%, transparent 100%) bottom left/var(--underline-height) var(--underline-height), linear-gradient(var(--underline-color), var(--underline-color)) bottom/calc(100% - var(--underline-height)) var(--underline-height);
    background-repeat: no-repeat;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone
}

.mb0 {
    margin-bottom: 0px !important
}

.mb5 {
    margin-bottom: 5px !important
}

.mb10 {
    margin-bottom: 10px !important
}

.mb15 {
    margin-bottom: 15px !important
}

.mb20 {
    margin-bottom: 20px !important
}

.mb25 {
    margin-bottom: 25px !important
}

.mb30 {
    margin-bottom: 30px !important
}

.mb35 {
    margin-bottom: 35px !important
}

.mb40 {
    margin-bottom: 40px !important
}

.mb45 {
    margin-bottom: 45px !important
}

.mb50 {
    margin-bottom: 50px !important
}

.mt0 {
    margin-top: 0px !important
}

.mt5 {
    margin-top: 5px !important
}

.mt10 {
    margin-top: 10px !important
}

.mt15 {
    margin-top: 15px !important
}

.mt20 {
    margin-top: 20px !important
}

.mt25 {
    margin-top: 25px !important
}

.mt30 {
    margin-top: 30px !important
}

.mt35 {
    margin-top: 35px !important
}

.mt40 {
    margin-top: 40px !important
}

.mt45 {
    margin-top: 45px !important
}

.mt50 {
    margin-top: 50px !important
}

.ml-0 {
    margin-left: 0px !important
}

.ml-5 {
    margin-left: 5px !important
}

.ml-10 {
    margin-left: 10px !important
}

.ml-15 {
    margin-left: 15px !important
}

.ml-20 {
    margin-left: 20px !important
}

.ml-25 {
    margin-left: 25px !important
}

.ml-30 {
    margin-left: 30px !important
}

.ml-35 {
    margin-left: 35px !important
}

.ml-40 {
    margin-left: 40px !important
}

.ml-45 {
    margin-left: 45px !important
}

.ml-50 {
    margin-left: 50px !important
}

.mr-0 {
    margin-right: 0px !important
}

.mr-5 {
    margin-right: 5px !important
}

.mr-10 {
    margin-right: 10px !important
}

.mr-15 {
    margin-right: 15px !important
}

.mr-20 {
    margin-right: 20px !important
}

.mr-25 {
    margin-right: 25px !important
}

.mr-30 {
    margin-right: 30px !important
}

.mr-35 {
    margin-right: 35px !important
}

.mr-40 {
    margin-right: 40px !important
}

.mr-45 {
    margin-right: 45px !important
}

.mr-50 {
    margin-right: 50px !important
}

.mx-0 {
    margin-left: 0px !important;
    margin-right: 0px !important
}

.mx-5 {
    margin-left: 5px !important;
    margin-right: 5px !important
}

.mx-10 {
    margin-left: 10px !important;
    margin-right: 10px !important
}

.mx-15 {
    margin-left: 15px !important;
    margin-right: 15px !important
}

.mx-20 {
    margin-left: 20px !important;
    margin-right: 20px !important
}

.mx-25 {
    margin-left: 25px !important;
    margin-right: 25px !important
}

.mx-30 {
    margin-left: 30px !important;
    margin-right: 30px !important
}

.mx-35 {
    margin-left: 35px !important;
    margin-right: 35px !important
}

.mx-40 {
    margin-left: 40px !important;
    margin-right: 40px !important
}

.mx-45 {
    margin-left: 45px !important;
    margin-right: 45px !important
}

.mx-50 {
    margin-left: 50px !important;
    margin-right: 50px !important
}

.my-0 {
    margin-top: 0px !important;
    margin-bottom: 0px !important
}

.my-5 {
    margin-top: 5px !important;
    margin-bottom: 5px !important
}

.my-10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important
}

.my-15 {
    margin-top: 15px !important;
    margin-bottom: 15px !important
}

.my-20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important
}

.my-25 {
    margin-top: 25px !important;
    margin-bottom: 25px !important
}

.my-30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important
}

.my-35 {
    margin-top: 35px !important;
    margin-bottom: 35px !important
}

.my-40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important
}

.my-45 {
    margin-top: 45px !important;
    margin-bottom: 45px !important
}

.my-50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important
}

.w0 {
    width: 0%
}

.w5 {
    width: 5%
}

.w10 {
    width: 10%
}

.w15 {
    width: 15%
}

.w20 {
    width: 20%
}

.w25 {
    width: 25%
}

.w30 {
    width: 30%
}

.w35 {
    width: 35%
}

.w40 {
    width: 40%
}

.w45 {
    width: 45%
}

.w50 {
    width: 50%
}

.popup .popup-wrap {
    opacity: 1;
    visibility: visible
}

.popup-wrap {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease;
    opacity: 0;
    visibility: hidden;
    padding: 15px
}

.popup-wrap .pp-wrap {
    line-height: 0;
    width: 100%;
    max-width: 900px;
    position: relative
}

.popup-wrap .pp-content {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%
}

.popup-wrap iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, .6);
    background: #000
}

.popup-wrap .pp-close {
    position: absolute;
    top: -34px;
    right: 0;
    line-height: 1;
    opacity: .65;
    cursor: pointer;
    color: #fff;
    transition: all .3s ease;
    margin-bottom: 0
}

.popup-wrap .pp-shadown {
    position: absolute;
    inset: 0;
    background-color: rgba(11, 11, 11, .8);
    z-index: -1
}

#header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    transition: all .3s ease;
    z-index: 9999
}

#header .container {
    width: 100%;
    padding: 0;
    max-width: 1920px
}

#header .logo {
    margin: 0;
    padding-left: 22px
}

#header .logo a {
    display: flex;
    align-items: center;
    height: 100%;
    transition: all .3s ease;
    width: auto
}

#header .logo img {
    transition: all .3s ease
}

#header.active {
    background-color: var(--main-cl)
}

.idx-h-social {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1;
}

.idx-h-social p {
    margin-bottom: 0
}

.header-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%
}

.header-act {
    display: flex;
    align-items: center
}

.hd-email a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    width: 264px;
    height: 110px;
    background-color: var(--main-cl2);
    color: var(--main-cl);
    font-size: 18px;
    font-weight: 500;
    position: relative;
    padding-top: 4px
}

.hd-email a::before {
    content: "";
    display: inline-block;
    width: 46px;
    height: 27px;
    margin-bottom: 10px;
    background: url("https://www.cj-garage.com/images/idx-email.png") center/contain no-repeat;
    transition: all .3s ease
}

.hd-phone {
    margin: -6px 29px 0 0;
    transition: all .3s ease
}

.hd-phone a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff !important;
    font-size: 38px;
    font-weight: 500;
    font-family: var(--roboto);
    letter-spacing: -0.25px;
    line-height: 1
}

.hd-phone a::before {
    content: "";
    display: inline-block;
    width: 21px;
    height: 28px;
    margin-right: 10px;
    background: url("https://www.cj-garage.com/images/idx-tel.png") center/contain no-repeat
}

.hd-time {
    color: #f3f3f3;
    font-size: 16px;
    line-height: 1;
    margin-top: 2px;
    font-weight: 300;
    text-align: right;
    letter-spacing: .063em;
    transition: all .3s ease
}

.hd-lang {
    margin: 0 28px 0 0;
    transition: all .3s ease
}

.hd-lang li {
    margin-bottom: 8px;
    transition: all .3s ease
}

.hd-lang li:last-child {
    margin-bottom: 0
}

.hd-lang .hd-lang-btn {
    width: 103px;
    height: 34px;
    font-size: 18px;
    color: #fff;
    border: 1px solid #fff;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    padding: 3px 10px 5px;
    border-radius: 100px;
    line-height: 1;
    cursor: pointer;
    margin: 0 auto
}

.hd-lang .hd-lang-btn span {
    padding-top: 2px;
    margin-right: 10px;
    transition: all .3s ease
}

.menu-list {
    position: relative;
    display: flex;
    color: #fff;
    height: 100%
}

.menu-list a {
    position: relative;
    color: #fff
}

.menu-list>li {
    position: relative
}

.menu-list>li::before {
    content: "";
    position: absolute;
    top: 0px;
    bottom: 0px;
    right: 0;
    width: 2px;
    background-color: #fff
}

.menu-list>li:last-child::before {
    display: none
}

.menu-tt {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    padding: 7px 10px;
    line-height: 1.2;
    margin-bottom: 0
}

.menu-jp {
    font-size: 18px;
    font-weight: 500;
    display: block
}

.menu-en {
    font-family: var(--voluta);
    font-size: 23px;
    color: var(--main-cl2);
    display: block
}

.dropdown {
    position: relative
}

.sub-menu {
    width: 100%;
    background-color: var(--main-cl)
}

.sub-menu li {
    position: relative
}

.sub-menu li::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0px;
    right: 0px;
    background-color: #fff;
    height: 1px;
    z-index: 1
}

.sub-menu li:last-child::before {
    display: none
}

.sub-menu a {
    display: block;
    padding: 20px;
    font-size: 16px
}

.index-visual {
    max-width: 1920px;
    margin: 0 auto
}

.index-visual.active {
    margin-bottom: 98px
}

.index-visual.active+.idx-menu {
    position: fixed;
    top: 110px;
    left: 0;
    right: 0;
    z-index: 99
}

.index-visual .container {
    width: 100%;
    padding: 0
}

.index-visual .imvs-slider {
    opacity: 0;
    visibility: hidden
}

.index-visual .slick-slider {
    opacity: 1;
    visibility: visible
}

.index-visual .imvs-slider div {
    line-height: 0
}

.index-visual .imvs-item {
    position: relative
}

.index-visual .imvs-img {
    width: max(min(100vw, 1920px), 1280px)
}

.index-visual .imvs-txt {
    position: absolute;
    inset: 17px 0 0 0;
    margin: 0 auto;
    max-width: 1230px;
    padding: 0 15px;
    color: #fff;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column
}

.index-visual .imvs-title {
    font-size: 70px;
    font-weight: 500;
    letter-spacing: .1px;
    line-height: 1.26;
    margin-bottom: 70px
}

.index-visual .imvs-num {
    font-family: var(--oswald);
    font-size: 171.4285%;
    letter-spacing: -4px;
    font-weight: 400;
    line-height: 1;
    display: inline-block;
    transform: translateX(-17px)
}

.index-visual .imvs-tbig {
    font-size: 130%;
    letter-spacing: .04em;
    display: inline-block
}

.index-visual .imvs-tbig2 {
    letter-spacing: 0px
}

.index-visual .imvs-tt {
    font-size: 35px;
    letter-spacing: .12em;
    margin-bottom: 32px
}

.index-visual .imvs-en {
    font-size: 85px;
    line-height: 1;
    font-family: var(--voluta);
    padding-left: 5px;
    letter-spacing: .3px
}

.idx-menu {
    position: relative;
    z-index: 96;
    background-color: var(--main-cl)
}

.idx-menu .imenu-list {
    display: flex;
    justify-content: center;
    color: #fff
}

.idx-menu .imenu-list>li {
    max-width: 100%;
    width: 320px
}

.idx-menu .imenu-list>li:last-child .imenu-tt::before {
    display: none
}

.idx-menu .imenu-list a {
    color: #fff
}

.idx-menu .imenu-tt {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    text-align: center;
    padding: 16px 10px 10px;
    position: relative;
    margin-bottom: 0;
    height: 98px;
    background-color: var(--main-cl)
}

.idx-menu .imenu-tt::before {
    content: "";
    position: absolute;
    top: 12px;
    bottom: 12px;
    right: 0;
    width: 2px;
    background-color: #fff
}

.idx-menu .imenu-jp {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2
}

.idx-menu .imenu-en {
    font-family: var(--voluta);
    font-size: 23px;
    color: var(--main-cl2);
    margin-top: 9px;
    line-height: 1
}

.idx-menu .idropdown {
    position: relative
}

.idx-menu .isub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--main-cl);
    border-top: 1px solid #fff;
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease
}

.idx-menu .isub-menu li {
    border-bottom: 1px solid #fff
}

.idx-menu .isub-menu li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border: none
}

.idx-menu .isub-menu a {
    font-size: 16px;
    padding: 20px;
    display: block
}

.btns-fix {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 70px;
    background-color: salmon;
    transition: all .3s ease;
    opacity: 0;
    visibility: hidden;
    z-index: 98
}

.btns-fix.show {
    opacity: 1;
    visibility: visible
}

.impressions-btn {
    text-align: center;
    margin-top: -100px;
    padding-bottom: 100px
}

.impressions-btn .ibtn a {
    margin: 0 auto
}

.iovn {
    background-color: var(--main-cl2);
    padding: 56px 0 65px
}

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

.iovn .iovn-item {
    max-width: 100%;
    width: 570px
}

.iovn .iovn-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 24px
}

.iovn .iovn-title {
    display: flex;
    align-items: flex-end
}

.iovn .iovn-jp {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
    margin-right: 26px;
    margin-bottom: 0
}

.iovn .iovn-en {
    font-family: var(--voluta);
    font-size: 21px;
    line-height: 1
}

.iovn .iovn-link a {
    font-size: 16px;
    color: #036;
    padding-right: 16px;
    display: inline-block;
    position: relative
}

.iovn .iovn-link a::before {
    content: "";
    position: absolute;
    bottom: 0;
    top: 3px;
    right: 2px;
    margin: auto 0;
    width: 8.487px;
    height: 8.487px;
    transform: rotate(45deg);
    border-top: solid 1px #234a6d;
    border-right: solid 1px #234a6d;
    transition: all .3s ease
}

.iovn .iovn-list li {
    background-color: #fff;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    padding: 2px 13px 2px 20px;
    min-height: 60px;
    position: relative;
    transition: all .3s ease
}

.iovn .iovn-list li:last-child {
    margin-bottom: 0
}

.iovn .iovn-date {
    font-size: 16px;
    margin: 0 20px 0 0;
    letter-spacing: .05em;
    flex-shrink: 0
}

.iovn .iovn-tt {
    font-size: 20px;
    line-height: 1.4;
    display: inline-block;
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.tesla {
    padding: 86px 0 101px;
    background-color: #f7f8fb
}

.tesla .tesla-title {
    font-size: 48px;
    font-weight: 500;
    text-align: center;
    line-height: 1.4;
    letter-spacing: .042em;
    margin-bottom: 48px
}

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

.tesla .tesla-img a {
    display: inline-block
}

.icontact {
    background-color: var(--main-cl);
    padding: 86px 0 50px;
    height: 610px;
    color: #fff;
    position: relative;
    z-index: 0
}

.icontact::before {
    content: "Inquiry";
    position: absolute;
    top: -61px;
    left: 0;
    right: 32px;
    font-size: 320px;
    text-align: center;
    color: rgba(255, 255, 255, .1);
    font-family: var(--voluta);
    line-height: 1;
    z-index: -1;
    pointer-events: none
}

.icontact::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: url("https://www.cj-garage.com/images/idx-icontact-img02.jpg") center/cover no-repeat;
    opacity: .1
}

.icontact .ict-head {
    text-align: center;
    margin-bottom: 34px
}

.icontact .ict-en {
    font-size: 84px;
    font-family: var(--voluta);
    line-height: 1;
    margin-bottom: 14px;
    padding-right: 20px
}

.icontact .ict-logo {
    padding-right: 40px;
    margin-bottom: 1px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto
}

.icontact .ict-logo a {
    display: inline-block
}

.icontact .ict-cj {
    text-align: center;
    letter-spacing: .4px
}

.icontact .ict-cj span {
    display: block;
    font-weight: 300
}

.icontact .ict-cj-t1 {
    margin-bottom: 7px;
    position: relative;
    width: 100%
}

.icontact .ict-cj-t1::before,
.icontact .ict-cj-t1::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 90px;
    height: 1px;
    background-color: #fff
}

.icontact .ict-cj-t1::before {
    left: 0
}

.icontact .ict-cj-t1::after {
    right: 0
}

.icontact .ict-cj-t2 {
    padding-left: 7px
}

.icontact .ict-btn {
    display: flex;
    justify-content: space-between
}

.icontact .ict-btn li {
    max-width: 100%;
    width: 580px;
    height: 183px;
    position: relative
}

.icontact .ict-tel {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    border: 1px solid #fff;
    padding: 20px;
    color: #fff;
    text-align: center
}

.icontact .ict-tel-tt {
    line-height: 1.4;
    letter-spacing: .031em;
    margin-bottom: 6px
}

.icontact .ict-tel-num {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    margin-bottom: 3px
}

.icontact .ict-tel-num::before {
    content: "";
    display: inline-block;
    width: 32px;
    height: 43px;
    background: url("https://www.cj-garage.com/images/idx-icontact-tel.png") center/contain no-repeat;
    margin-right: 10px
}

.icontact .ict-tel-num span {
    color: #fff;
    font-family: var(--roboto);
    font-weight: 700;
    font-size: 60px;
    letter-spacing: -0.042em
}

.icontact .ict-tel-time {
    margin-bottom: 0;
    letter-spacing: .075em
}

.icontact .ict-email {
    background-color: var(--main-cl2);
    color: var(--main-cl);
    text-align: center;
    padding: 26px 20px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column
}

.icontact .ict-email-en {
    font-family: var(--voluta);
    font-size: 33px;
    margin-bottom: 8px;
    line-height: 1
}

.icontact .ict-email-eml {
    margin-top: -3px;
    font-weight: 700;
    font-size: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4;
    letter-spacing: -0.8px;
    margin-bottom: 4px
}

.icontact .ict-email-eml::before {
    content: "";
    display: inline-block;
    width: 51px;
    height: 31px;
    margin-right: 28px;
    background: url("https://www.cj-garage.com/images/idx-icontact-email.png") center/contain no-repeat;
    transform: translate(6px, 4px)
}

.icontact .ict-email-desc {
    font-size: 18px;
    margin-bottom: 0;
    letter-spacing: -0.4px
}

.ifeature {
    padding: 151px 0 140px
}

.ifeature .ifeature-head {
    text-align: center;
    margin-bottom: 53px;
    position: relative;
    z-index: 1
}

.ifeature .ifeature-head::before {
    content: "Features";
    position: absolute;
    inset: 0;
    font-family: var(--voluta);
    font-size: 300px;
    line-height: .4;
    color: #036;
    opacity: .03;
    z-index: -1;
    letter-spacing: .006em;
    pointer-events: none
}

.ifeature .ifhead-en {
    color: var(--main-cl);
    font-family: var(--voluta);
    font-size: 70px;
    line-height: 1;
    margin-bottom: 54px;
    letter-spacing: 1px
}

.ifeature .ifhead-jp {
    font-weight: 500;
    font-size: 48px;
    line-height: 1.4;
    margin-bottom: 10px;
    letter-spacing: .021em
}

.ifeature .ifhead-desc {
    letter-spacing: -0.5px
}

.ifeature .ifeature-list {
    width: max(min(100vw, 1920px), 1260px);
    position: relative;
    z-index: 1;
    left: min(max(50% - 50vw, -360px), -30px)
}

.ifeature .ifeature-list li {
    position: relative;
    z-index: 0;
    height: 765px;
    padding: 0 156px;
    display: flex;
    align-items: center
}

.ifeature .ifeature-list li:nth-child(2) .ifeature-box {
    margin-left: auto
}

.ifeature .ifeature-img {
    position: absolute;
    inset: 0;
    z-index: -1
}

.ifeature .ifeature-img img {
    height: 100%
}

.ifeature .ifeature-box {
    background-color: rgba(255, 255, 255, .95);
    max-width: 100%;
    width: 690px;
    min-height: 598px;
    padding: 56px 49px
}

.ifeature .ifeature-tt {
    display: flex;
    align-items: center;
    position: relative;
    margin-bottom: 34px
}

.ifeature .ifeature-tt::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #000
}

.ifeature .ifeature-hd {
    display: flex;
    align-items: center;
    font-family: var(--voluta);
    font-size: 42px;
    line-height: 1;
    color: var(--main-cl);
    margin-right: 15px
}

.ifeature .ifeature-hd span {
    line-height: 1;
    font-size: 44px;
    margin-left: 7px
}

.ifeature .ifeature-t {
    font-size: 28px;
    font-weight: 500;
    letter-spacing: .043em
}

.ifeature .ifeature-tx {
    font-size: 36px;
    font-weight: 500;
    line-height: 1.38;
    padding-left: 4px;
    margin-bottom: 30px
}

.ifeature .ifeature-desc {
    line-height: 1.9;
    letter-spacing: -0.2px;
    margin-bottom: 40px
}

.ifeature .ibtn {
    margin-left: 2px
}

.ifeature .ifeature-areas {
    text-align: center;
    margin-bottom: 40px
}

.ifeature .ifa-tt {
    font-size: 28px;
    color: var(--main-cl);
    font-weight: 500;
    text-align: center;
    margin-bottom: 19px;
    letter-spacing: .03em
}

.ifeature .ifeature-btn {
    margin-top: 60px;
    margin-left: 1px
}

.ifeature .ifeature-btn a {
    margin: 0 auto;
    width: 384px;
    letter-spacing: .6px
}

.iplan {
    margin-bottom: 140px
}

.iplan .iplan-head {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 0 0 10px;
    color: #fff;
    position: relative;
    height: 800px;
    z-index: 1
}

.iplan .iplan-head::before {
    content: "Menu";
    position: absolute;
    inset: -80px 0 0 0;
    top: 50%;
    transform: translateY(-50%);
    bottom: unset;
    letter-spacing: .014em;
    text-align: center;
    color: #fff;
    font-family: var(--voluta);
    font-size: 360px;
    line-height: 1;
    z-index: 1;
    opacity: .1;
    pointer-events: none
}

.iplan .iplan-bg {
    left: min(max(50% - 50vw, -360px), -30px);
    width: max(100vw, 1260px);
    position: absolute;
    top: 0;
    height: 100%;
    background: url(https://www.cj-garage.com/images/idx-iplan-img01.jpg) no-repeat;
    background-size: cover;
    background-attachment: fixed
}

.iplan .iplan-himg {
    position: absolute;
    top: 0;
    left: min(max(50% - 50vw, -360px), -30px);
    width: max(100vw, 1260px);
    height: 100%;
    z-index: -2;
    margin-bottom: 0
}

.iplan .iplan-himg img {
    height: 100%
}

.iplan .iplan-en {
    font-size: 92px;
    font-family: var(--voluta);
    line-height: 1;
    margin-bottom: 0
}

.iplan .iplan-jp {
    font-weight: 500;
    font-size: 30px;
    padding-left: 30px;
    line-height: 1.3;
    padding-top: 5px
}

.iplan .iplan-list li {
    color: #fff;
    position: relative;
    padding: 50px 0;
    transition: all .3s ease
}

.iplan .iplan-list li::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: min(50% - 50vw, -30px);
    width: max(100vw, 1260px);
    z-index: -1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all .3s ease
}

.iplan .iplan-list li:nth-child(odd)::before {
    content: "";
    background-image: url("https://www.cj-garage.com/images/idx-iplan-bg01.jpg")
}

.iplan .iplan-list li:nth-child(even)::before {
    content: "";
    background-image: url("https://www.cj-garage.com/images/idx-iplan-bg02.jpg")
}

.iplan .lk-full {
    left: min(50% - 50vw, -30px);
    width: max(100vw, 1260px)
}

.iplan .iplan-item {
    display: flex;
    align-items: center
}

.iplan .iplan-img {
    flex-shrink: 0;
    margin-left: -204px;
    margin-right: 96px;
    margin-bottom: 0
}

.iplan .iplan-txt {
    padding-bottom: 7px;
    position: static
}

.iplan .iplant-eng {
    margin-bottom: 0;
    position: absolute;
    top: 58px;
    right: -230px;
    font-family: var(--voluta);
    font-size: 148px;
    opacity: .25;
    line-height: 1;
    letter-spacing: 1px;
    z-index: -1;
    transition: all .3s ease
}

.iplan .iplan-tt {
    font-size: 36px;
    line-height: 1.4;
    border-bottom: 1px solid #fff;
    margin-bottom: 24px
}

.iplan .iplan-t {
    color: #222;
    background-color: var(--main-cl2);
    margin-bottom: 22px;
    padding: 10px 10px;
    line-height: 1.45;
    font-weight: 500;
    text-align: center
}

.iplan .iplan-desc {
    letter-spacing: -0.3px;
    font-weight: 300
}

.icase {
    margin-bottom: 125px
}

.icase .icase-head {
    color: #fff;
    text-align: center;
    padding: 135px 0 60px;
    position: relative
}

.icase .icase-head::before {
    content: "";
    position: absolute;
    inset: 0 -100vw -168px;
    background-color: var(--main-cl);
    z-index: -2
}

.icase .icase-head::after {
    content: "CaseStudy";
    position: absolute;
    inset: 0;
    z-index: -1;
    font-family: var(--voluta);
    font-size: 310px;
    line-height: .8;
    text-align: center;
    opacity: .1;
    pointer-events: none;
    text-align: center
}

.icase .icase-en {
    font-family: var(--voluta);
    font-size: 70px;
    line-height: 1;
    margin-bottom: 31px
}

.icase .icase-jp {
    font-weight: 500;
    font-size: 48px;
    line-height: 1.4;
    margin-bottom: 6px
}

.icase .icase-desc {
    padding-left: 8px
}

.icase .icase-wrap {
    width: max(100vw, 1260px);
    position: relative;
    left: min(50% - 50vw, -30px);
    margin-bottom: 40px
}

.icase .icase-list {
    width: 100%;
    max-width: 1742px;
    padding: 0 67px;
    margin: 0 auto
}

.icase .icase-list li {
    padding: 0 15px
}

.icase .slick-list {
    margin: 0 -15px;
    padding-bottom: 20px
}

.icase .slick-slide {
    width: 546px;
    max-width: 100%
}

.icase .slick-arrow {
    width: 91px;
    height: 91px;
    border-radius: 100%;
    background-color: #fff;
    border: 1px solid var(--main-cl);
    z-index: 1;
    top: 48.3%
}

.icase .slick-arrow::before {
    display: none
}

.icase .slick-prev {
    left: 0
}

.icase .slick-prev::after {
    content: "";
    position: absolute;
    inset: 0 0 0 6px;
    margin: auto;
    width: 11.316px;
    height: 11.316px;
    transform: rotate(45deg);
    border-bottom: solid 1px var(--main-cl);
    border-left: solid 1px var(--main-cl);
    transition: all .3s ease
}

.icase .slick-next {
    right: 0
}

.icase .slick-next::after {
    content: "";
    position: absolute;
    inset: 0 6px 0 0;
    margin: auto;
    width: 11.316px;
    height: 11.316px;
    transform: rotate(45deg);
    border-top: solid 1px var(--main-cl);
    border-right: solid 1px var(--main-cl);
    transition: all .3s ease
}

.icase .icase-item {
    position: relative
}

.icase .icase-img {
    margin-bottom: 0;
    background-color: #ccc;
    height: 380px;
    height: max(min(20.78125vw, 380px), 266px);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center
}

.icase .icase-img img {
    max-height: 100%;
    object-fit: contain
}

.icase .icase-text {
    padding: 32px 29px 31px;
    box-shadow: 0 7px 7px rgba(51, 51, 51, .15)
}

.icase .icase-date {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.3;
    margin-bottom: 5px
}

.icase .icase-tt {
    font-size: 32px;
    color: var(--main-cl);
    font-weight: 700;
    white-space: nowrap;
    word-break: keep-all;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%
}

.icase .icase-btn {
    display: flex;
    justify-content: center;
    gap: 24px
}

.impressions {
    position: relative;
    min-height: 774px;
    margin-bottom: 141px;
    padding: 156px 0 150px
}

.impressions::before,
.impressions::after {
    content: "";
    position: absolute;
    inset: 0 -9px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: all .3s ease
}

.impressions::before {
    z-index: -2;
    background-image: url("https://www.cj-garage.com/images/idx-impressions-bg02.png")
}

.impressions::after {
    z-index: -3;
    background-image: url("https://www.cj-garage.com/images/idx-impressions-bg01.png")
}

.impressions .imp-bg-en {
    position: absolute;
    top: 20px;
    left: 0;
    font-size: max(min(15.625vw, 320px), 200px);
    font-family: var(--voluta);
    z-index: -1;
    pointer-events: none;
    color: #9e8b53;
    opacity: .1;
    line-height: 1;
    letter-spacing: -2px;
    margin-bottom: 0
}

.impressions .imp-wrapper {
    display: flex
}

.impressions .imp-txt {
    max-width: 100%;
    flex-shrink: 0;
    width: 560px;
    margin-right: 156px;
    padding-top: 30px
}

.impressions .imp-en {
    font-family: var(--voluta);
    line-height: 1;
    font-size: 66px;
    color: var(--main-cl);
    margin-bottom: 54px
}

.impressions .imp-jp {
    font-weight: 500;
    font-size: 48px;
    line-height: 1.45;
    margin-bottom: 40px;
    color: var(--main-cl)
}

.impressions .imp-desc {
    letter-spacing: -0.02em
}

.impressions .imp-img {
    flex-shrink: 0
}

.icompany .container {
    width: 1638px
}

.icompany .icompany-head {
    color: #fff;
    text-align: center;
    position: relative;
    padding: 93px 0 80px;
    z-index: 1
}

.icompany .icompany-head::after {
    content: "Information";
    position: absolute;
    inset: -12px 0 0;
    text-align: center;
    font-family: var(--voluta);
    font-size: 280px;
    line-height: .8;
    letter-spacing: 0px;
    opacity: .1;
    pointer-events: none
}

.icompany .icompany-head-bg {
    position: absolute;
    inset: 0 -100vw -132px;
    background-color: var(--main-cl);
    z-index: -2
}

.icompany .icompany-en {
    font-family: var(--voluta);
    font-size: 76px;
    line-height: 1;
    margin-bottom: 51px
}

.icompany .icompany-jp {
    font-size: 48px;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 9px
}

.icompany .icompany-desc {
    padding-left: 8px
}

.icompany .icompany-list {
    max-width: 100%;
    width: 1200px;
    margin: 0 auto;
    display: flex;
    position: relative;
    z-index: 2
}

.icompany .icompany-list li {
    position: relative;
    width: 50%
}

.icompany .icompany-tt {
    font-size: 22px;
    text-align: center;
    color: var(--main-cl);
    font-weight: 500
}

.icompany .icompany-img {
    margin-bottom: 10px
}

.icompany .icompany-tt {
    line-height: 1.4;
    position: relative
}

.icompany .icompany-tt::before {
    content: "";
    position: absolute;
    top: 5px;
    right: 1px;
    bottom: 0;
    margin: auto 0;
    width: 8.487px;
    height: 8.487px;
    transform: rotate(45deg);
    border-top: solid 1px #445275;
    border-right: solid 1px #445275
}

.iarea {
    padding: 131px 0 131px;
    position: relative
}

.iarea::before {
    content: "Compatible Area";
    position: absolute;
    inset: 0 0 0 0px;
    z-index: -1;
    text-align: center;
    font-family: var(--voluta);
    font-size: max(min(13.958vw, 268px), 200px);
    color: var(--main-cl);
    opacity: .03;
    letter-spacing: 1px;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none
}

.iarea .container {
    width: 1638px
}

.iarea .iarea-head {
    text-align: center;
    margin-bottom: 47px
}

.iarea .iarea-en {
    font-size: 80px;
    font-family: var(--voluta);
    line-height: 1;
    margin-bottom: 24px;
    color: var(--main-cl)
}

.iarea .iarea-jp {
    font-weight: 500;
    font-size: 48px;
    line-height: 1.4;
    margin-bottom: 15px
}

.iarea .iarea-desc {
    padding-left: 10px
}

.iarea .iarea-list {
    display: flex;
    justify-content: space-between;
    gap: 44px
}

.iarea .iarea-list li {
    width: 782px;
    position: relative;
    z-index: 1
}

.iarea .iarea-tt {
    line-height: 1.4;
    margin-bottom: 13px;
    font-size: 28px;
    font-weight: 500;
    padding-left: 17px;
    position: relative
}

.iarea .iarea-tt::before {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 3px;
    left: -1px;
    width: 4px;
    background-color: var(--main-cl)
}

.iarea .iarea-img {
    margin-bottom: 4px
}

.iarea .iarea-dsc {
    font-size: 24px
}

.isystem {
    width: max(min(100vw, 1920px), 1280px);
    margin: 0 auto
}

.isystem .container {
    width: 100%;
    padding: 0
}

.isystem .isystem-head {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    height: 800px;
    padding: 49px 140px 49px 0px;
    position: relative
}

.isystem .isystem-head::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: url("https://www.cj-garage.com/images/idx-isystem-img01.jpg") no-repeat top center;
    background-size: cover;
    background-attachment: fixed
}

.isystem .isystem-head::after {
    content: "Strengths";
    position: absolute;
    inset: 0 0 0 -100px;
    bottom: 50%;
    transform: translateY(50%);
    text-align: center;
    font-family: var(--voluta);
    color: #fff;
    opacity: .1;
    font-size: 320px;
    line-height: .5;
    letter-spacing: -3px;
    pointer-events: none
}

.isystem .isystem-en {
    font-family: var(--voluta);
    font-size: 70px;
    line-height: .5;
    margin-bottom: 0;
    margin-right: 20px
}

.isystem .isystem-jp {
    font-size: 30px;
    font-weight: 500
}

.isystem .isystem-list {
    display: flex
}

.isystem .isystem-list li {
    position: relative
}

.isystem .isystem-list li:nth-child(3) .isystem-eng {
    font-size: max(min(4.167vw, 80px), 53px)
}

.isystem .isystem-item {
    position: relative;
    color: #fff
}

.isystem .isystem-img {
    background-color: var(--main-cl);
    margin-bottom: 0
}

.isystem .isystem-img img {
    opacity: .3
}

.isystem .isystem-txt {
    position: absolute;
    inset: 0 30px 30px;
    top: unset;
    text-align: center;
    min-height: 263px
}

.isystem .isystem-eng {
    font-family: var(--voluta);
    font-size: max(min(5vw, 96px), 64px);
    color: rgba(255, 255, 255, .1);
    line-height: .4;
    margin-bottom: 0px;
    white-space: nowrap;
    position: absolute;
    inset: -64px -30px 0
}

.isystem .isystem-tt {
    font-size: 38px;
    font-weight: 500;
    line-height: 1.35;
    margin-bottom: 23px;
    letter-spacing: .1em
}

.isystem .isystem-desc {
    line-height: 1.75;
    letter-spacing: 1.2px
}

.isystem .ibtn {
    margin-top: 60px
}

.isystem .ibtn a {
    width: 404px;
    margin: 0 auto
}

.imessage {
    padding-top: 148px;
    position: relative;
    margin-bottom: 200px
}

.imessage::before {
    content: "Compatible Area";
    position: absolute;
    inset: -13px 0 0 0;
    white-space: nowrap;
    text-align: center;
    color: var(--main-cl);
    opacity: .03;
    font-family: var(--voluta);
    font-size: max(min(15.625vw, 300px), 200px);
    letter-spacing: 1px;
    line-height: 1;
    z-index: -1;
    pointer-events: none
}

.imessage .imess-head {
    text-align: center;
    margin-bottom: 51px
}

.imessage .imess-en {
    font-family: var(--voluta);
    font-size: 80px;
    color: var(--main-cl);
    line-height: .8;
    margin-bottom: 68px
}

.imessage .imess-jp {
    font-size: 48px;
    font-weight: 500;
    line-height: 1.3
}

.imessage .imess-box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px
}

.imessage .imess-clip {
    position: relative;
    flex-shrink: 0;
    margin-right: 44px;
    margin-top: 8px;
    max-width: 100%;
    width: 578px;
    height: fit-content
}

.imessage .imess-clip img {
    width: 100%
}

.imessage .imess-clip::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: url(https://www.cj-garage.com/images/icon_play.svg) center/100% auto no-repeat;
    opacity: .7
}

.imessage .imess-clip video {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.imessage .imess-desc {
    margin-right: -10px
}

.imessage .imess-btn {
    display: flex;
    justify-content: center;
    gap: 44px
}

.imessage .ibtn a {
    width: 420px;
    height: 100px;
    text-align: left;
    justify-content: flex-start;
    font-size: 20px;
    line-height: 1.2
}

.popup-youtube {
    position: relative;
    cursor: pointer
}

.br-only1440 {
    display: none
}

.ftop {
    padding: 65px 0
}

.ftop .ft-brand {
    border: 4px solid var(--main-cl);
    width: 996px;
    height: 250px;
    margin: 0 auto 60px
}

.ftop .ft-head {
    display: flex;
    align-items: center;
    padding: 31px 72px 33px;
    border-bottom: 1px solid rgba(0, 51, 102, .5)
}

.ftop .ft-years {
    color: #fff;
    background-color: var(--main-cl);
    font-size: 32px;
    line-height: 1.4;
    font-weight: 700;
    width: 200px;
    height: 62px;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: .1em;
    padding: 8px 10px 10px;
    flex-shrink: 0;
    margin-right: 30px
}

.ftop .ft-years-tt {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 1.3px
}

.ftop .ft-img {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 21px 72px 33px 98px;
    position: relative
}

.ftop .ft-g {
    margin: 0 31px 0 0
}

.ftop .ft-g:last-child {
    margin: 0
}

.ftop .ft-g:nth-child(1) {
    margin-top: 10px
}

.ftop .ft-g:nth-child(2) {
    margin-right: 20px
}

.ftop .ftop-btn {
    display: flex;
    justify-content: center;
    gap: 44px
}

.ftop .ibtn a {
    flex-direction: column;
    width: 398px;
    height: 100px;
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: .1em
}

.ftop .ibtn span {
    display: block;
    font-size: 18px;
    margin-top: 1px;
    transform: translateY(-2px);
    letter-spacing: 0
}

.fmid {
    background-color: #222;
    color: #fff;
    padding: 80px 0 34px
}

.fmid a {
    color: #fff
}

.fmid .container {
    width: 1026px
}

.fmid .fmid-btn {
    display: flex;
    justify-content: space-between;
    margin-bottom: 33px
}

.fmid .fmid-btn li:nth-child(1) a {
    width: 282px
}

.fmid .fmid-btn li:nth-child(2) a {
    width: 384px
}

.fmid .fmid-btn li:nth-child(3) a {
    width: 282px
}

.fmid .fmid-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px solid #fff;
    height: 51px;
    border-radius: 5px;
    font-size: 18px;
    position: relative
}

.fmid .fmid-btn a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 19px;
    margin: auto 0;
    width: 7.0725px;
    height: 7.0725px;
    transform: rotate(45deg);
    border-top: solid 1px #fff;
    border-right: solid 1px #fff
}

.fmid .fmid-txt {
    display: flex;
    gap: 24px
}

.fmid .fmenu-tt {
    border-bottom: 1px solid #fff;
    font-size: 18px;
    line-height: 1.4;
    padding-bottom: 10px;
    margin-bottom: 7px
}

.fmid .fmid-menu {
    margin-bottom: 31px
}

.fmid .fmid-menu:last-child {
    margin-bottom: 0
}

.fmid .fmid-menu li {
    margin-bottom: 2px
}

.fmid .fmid-menu li:last-child {
    margin-bottom: 0 !important
}

.fmid .fmid-menu a {
    display: inline-block;
    font-size: 14px;
    line-height: 1.7
}

.fbottom {
    padding: 39px 0 40px
}

.fbottom .fbottom-brand {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
    width: 828px;
    max-width: 100%;
    margin: 0 auto
}

address {
    text-align: center;
    color: var(--main-cl);
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: -0.2px;
    margin: 0 auto 88px
}

@-moz-document url-prefix() {
    .ftop .ft-years-tt {
        font-size: 30px
    }
}

.icontact01 {
    padding: 50px 0 50px;
}

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

.ict_top div {
    width: 50%;
}

.icontact01 .ict-head {
    margin-bottom: 0;
}

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

.ict_txt_r {
    writing-mode: tb;
    font-size: 14px;
    text-align: right;
    padding-bottom: 10px;
}

.ict_txt_r span {
    padding: 10px 0;
}

.w33 {
    width: 33%;
}

.top-bnr p.img a {
    display: block;
    text-align: center;
}

.top-bnr p.img a img {
    width: 764px;
}