﻿:root{
    --red: #a41919;
}

.border_color3 {
    border-color: var(--red);
}

.bg_color3 {
    background-color: var(--red);
}

#intro:before{
        content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    background-image: url(./Dup/img/sub_main1.jpg);
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50% , -50%);
    transform: translate(-50% , -50%);
    background-size: cover;
    pointer-events: none;
    z-index: 0;
    opacity: 0.1;
}

h3.intro_title{
        color: red;
    text-align: center;
    font-size: max(3.5vw, 30px);
    margin-bottom: 100px;
}

#intro .con_no_wrap{
    text-align: center;
    display: block;
    margin-bottom: 50px;
}

#intro .con_no_wrap.d_inline_b.fadetrans:before {
    width: 40%;
    left: calc(0% - 100px);
}


#intro .con_no_wrap.d_inline_b:after{
    position: absolute;
    content: "";
    width: 0;
    height: 1px;
    transition: 1s;
    transition-timing-function: cubic-bezier(0,.64,.29,.99);
    left: calc(60% + 100px);
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #fff;
    width: 40%;
}

#intro .con_no_wrap.d_inline_b.fadetrans:after {
    width: 40%;
}

#contents2 .con_no, #contents3 .con_no{
        transform: scale(10) translateX(-3px);
    opacity: 0.2;
    letter-spacing: 0.01em;
}

#contents2 .con_no_wrap.d_inline_b:before, #contents3 .con_no_wrap.d_inline_b:before {
    left: 0;
}

#main_img:before{
        content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    background-image: url(./Dup/img/main.png), url(./Dup/img/a.svg);
    background-position: center, -5% 45%;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50% , -50%);
    transform: translate(-50% , -50%);
    background-size: cover, 70%;
    pointer-events: none;
}

#main_img:after{
        content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    background-image: url(./Dup/img/copy.svg);
    background-position: 7% 50%;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50% , -50%);
    transform: translate(-50% , -50%);
    background-size: min(47vw,60%);
    pointer-events: none;
    z-index: 1;
}

#page_title .page_title_gradient {
    display: none;
}

.cms_wrap .bg_color1 {
    background-color: #7d7d7d;
}

#intro .intro_back {
    display: none;
}

.linkStyle{
color: #29a9e0;
font-weight: bold;
}

.banner2, .banner3{
      bottom: 0px;
      left: 0;
      z-index: 98;
      overflow: hidden;
}

.banner2 a, .banner3 a{
    filter: invert(0);
}

.banner2 a:hover, .banner3 a:hover{
    filter: invert(0);
    animation: tex 0.2s linear forwards;
}

@keyframes tex {
    0% { filter: invert(0);}
    50% { filter: invert(1);}
  100% { filter: invert(0);}
}

/*.banner2 a:before{
        content: "";
    display: block;
    width: 10%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: -50%;
    background-color: white;
    -webkit-transform: translate(-50% , -50%) skewX(30deg);
    transform: translate(-50% , -50%) skewX(30deg);
    pointer-events: none;
    z-index: 99;
    opacity: 1;
    transition: 0.2s;
}

.banner2 a:after{
        content: "";
    display: block;
    width: 1%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: -50%;
    background-color: white;
    -webkit-transform: translate(-50% , -50%) skewX(30deg);
    transform: translate(-50% , -50%) skewX(30deg);
    pointer-events: none;
    z-index: 99;
    opacity: 1;
    transition: 0.2s;
}

.banner2 a:hover:before{
       opacity: 1;
    left: 120%;
    transition: 0.1s;
}

.banner2 a:hover:after{
       opacity: 1;
    left: 127%;
    transition: 0.1s;
}
*/
#page_title h2 {
    font-size: max(2vw, 28px);
}

#page_title h2:first-letter{
    color: red;
}

#contact_tel a{
        color: white;
    background-color: #414141;
}

.contact_box, #form_box{
    display: none;
}

#intro h2{
        text-align: center;
    margin: 7% auto 10%;
    font-size: max(5.2vw, 30px);
}

#main_img .main_title{
    display: none;
}

.border_color2 {
    border-color: #6b6b6b;
}

#cms_6-c .cate_box h3, #cms_6-c .cate_box p{
    color: black !important;
}


/*--20230808 correct start--*/

#video{
    margin-top: 50px;
    filter: grayscale(1);
    transition: all 0.5s;
}

#video:hover{
    filter: grayscale(0);
    transition: all 0.5s;
}
/*--20230808 correct end--*/

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){

#intro .intro_wrap {
    padding-top: 0;
}

#contents2 .con_no, #contents3 .con_no {
    transform: scale(10) translateX(-1px);
    opacity: 0.3;
}

#video{
    filter: grayscale(0);
    margin-bottom: 50px;
}

#intro .intro_wrap {
    padding-bottom: 0;
}



}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){

}