﻿:root{
    --color1: #c81432;
    --color2: #c81432;
    --color5: #f7f7f7;
}

/*--common start--*/

#google_privacy a {
    color: var(--color1);
    transition: all 0.5s;
}

.cate_list li a {
    border-radius: 100px;
    overflow: hidden;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

footer p{
        max-width: 100%;
    display: block;
    margin-left: 0.25em;
}

.pagetitle h2 {
    color: white;
        filter: drop-shadow(0px 0px 30px rgba(23, 116, 175, 0.5));
    font-weight: bold;
}

.header-in {
    width: 75%;
    height: 95px;
}

#page1, #page2, #page3, #page4, #page5, #page6, #page7, #page8, #page9, #page10{
    min-width: 1280px;
}

#con2 .topimg2 img, #con2 .topimg3 img {
    border-radius: 0px;
}

/*--common end--*/

#fakeloader:before {
    background-color: rgba(255, 255, 255, 0);
}

span.sl{
    display: none;
}

div.con1_inner div.font_18{
        text-align: left;
    max-width: 870px;
    margin: auto;
    display: block;
}

#fakeloader .fl {
    max-width: 270px;
}

/*--top start--*/

#main_img{
        height: 100vh;
    background-color: var(--color1);
    max-height: 900px;
    padding-top: 0 !important;
    overflow: hidden;
    position: relative;
    min-height: 900px;
}

#main_img:before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0%;
    left: 0%;
    background-image: url(/files/img/asiba.png);
    background-position: center bottom;
    background-repeat: repeat-x;
    background-size: 550px;
    pointer-events: none;
    z-index: 1;
    max-height: 900px;
    min-height: 900px;
}

.left, .right{
    width: 34%;
}

/*.left:before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    background-image: url(/files/img/illu.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
}*/

.right{
    transform: translateY(5%);
}

#main_img .map{
    position: absolute;
    top: 18%;
    left: -40px;
    max-width: 200px;
    transition: all 0.3s;
    animation: eye 5s linear infinite;
}

@keyframes eye {
    0%, 100% { left: -40px;}
  50% { left: -20px;}
}

@keyframes eye2 {
    0%, 100% { left: -40px;}
  50% { left: -30px;}
}

#main_img .map:hover{
        left: 0px;
            transition: all 0.3s;
            animation-play-state: paused;
}

.eye{
    width: 50%;
    margin: auto;
    display: block;
    margin-left: -1.5%;
    margin-top: -23%;
    z-index: 1;
}

#con3 .box_wrap .title{
    text-align: left;
    font-size: 32px;
    font-weight: bold;
}

#con3 .con_box .icon {
    text-align: left;
    
}

.st_ani{
    height: 400px;
    overflow: hidden;
}

.st_ani img{
    width: 250%;
    position: relative;
    left: 50%;
    transform: translateX(-50%) rotate(0deg);
    animation: kaiten 120s linear infinite;
}


@keyframes kaiten {
    0% {     transform: translateX(-50%) rotate(0deg);}
  100% {     transform: translateX(-50%) rotate(-360deg);}
}

.con1_inner .title .pc_txt{
    font-size: 48px;
}

div.btns{
    position: absolute;
    bottom: 0;
    z-index: 1;
    width: 100%;
}

div.btns a{
    position: relative;
}

div.btns a:before{
    content: "";
    display: block;
    width: 30px;
    height: 50px;
    position: absolute;
    top: 50%;
    left: 50%;
    background-image: url(/files/img/arrow.png);
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50% , -50%);
    transform: translate(-50% , -50%);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    transition: all 0.3s;
}

div.btns a:hover:before{
    left: 100%;
    opacity: 1;
    transition: all 0.3s;
}

#con3{
    padding-top: 0;
    position: relative;
}

#con3:before{
 content: "";
    display: block;
    width: 300px;
    height: 300px;
    position: absolute;
    top: -300px;
    left: 50%;
    background-image: url(/files/img/katate.png);
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -5%);
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

#con1 .title .pc_txt{
    font-size: 38px;
    font-weight: bold;
}

.katate{
        max-width: 200px;
    display: block;
    margin: auto;
}

#con3 .title .en {
    font-size: 42px;
    font-weight: bold;
}

#con4{
    display: none;
}

#main_img .copy{
        position: absolute;
    top: 0;
    right: 5%;
    background-image: url(/files/img/copy.png);
    width: 130px;
    height: 1000px;
    background-size: auto 200%;
    background-repeat: repeat-y;
    background-position: 0 -50%;
    animation: tate 60s linear infinite;
}



@keyframes tate {
    0% { background-position: 0 -50%;}
  100% { background-position: 0 150%;}
}

#con2 .title .pc_txt{
        font-weight: bold;
    margin-bottom: 20px;
    font-size: 24px;
}

/*--top end--*/

.pagetitle_img {
    opacity: 1;
    mix-blend-mode: normal;
}

div.pagetitle p{
    display: none;
}

.f_contact_box p{
    margin-top: 20px;
}

#con1 .title{
    line-height: 2em;
}

#page7 .map #gmap {
    padding-top: 150px;
    margin-top: -100px;
}

div.footer_sitemap + p{
    width: max-content !important;
}

#cms_6-b .cate_txt1{
    font-size: 16px;
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
    #page1, #page2, #page3, #page4, #page5, #page6, #page7, #page8, #page9, #page10{
        min-width: 100%;
    }
    
    #main_img > div.d_flex.flex_top-center{
        padding-top: 100px;
    }
    
    .left, .right {
        width: 45%;
    }
    
    .eye {
        width: 75%;
        margin: auto;
        display: block;
        margin-left: 3.5%;
        margin-top: -15%;
        z-index: 1;
    }
    
    #main_img .map {
        position: absolute;
        top: 50%;
        left: -70px;
        max-width: 200px;
        z-index: 2;
    }
    
    div.btns a {
    position: relative;
    width: 45%;
}
    
    #con3 .con_box .icon {
    display: none;
}
    
    #con3 .box_wrap .con_box div.grid_8{
    padding-right: 10px;
}
    
    #con3 .box_wrap .title {
    font-size: 26px;
}
    
    #con3:before {
    width: 200px;
    height: 200px;
    top: -200px;
}
    
    .st_ani {
    height: 250px;
}
    
    .con1_inner pc_txt div{
            line-height: 1.4em;
    text-align: center;
    }
    
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){

    .eye {
        width: 100%;
        margin-left: 3.5%;
        margin-top: -17%;
    }

#main_img .map {
    top: 40%;
    max-width: 170px;
        animation: eye2 5s linear infinite;
}

    #main_img {
        height: 95vh;
        max-height: 670px;
        min-height: auto;
        position: relative;
    }

#con3 .con_box .icon {
    text-align: center;
        display: block;
}

.st_ani {
    height: 100px;
}

.st_ani img {
    width: 370%;
}

#con3:before {
    width: 130px;
    height: 130px;
    top: -80px;
}

#con3 {
    padding-top: 50px;
}

#con3 .con_box .icon {
    margin-top: -40px;
}

#con3 .box_wrap .con_box div.grid_8{
    max-width: 300px;
    padding: 0;
}

#main_img .copy {
    position: relative;
    top: 0;
    right: 0;
    background-image: none;
    width: 100%;
    height: auto;
    background-size: auto;
    background-repeat: repeat-y;
    background-position: 0 -50%;
    animation: none;
    margin-top: -5px;
}

.sp_txt {
        display: block;
        text-align: center;
        line-height: 1.4em;
    }

#con3 .title .en {
    font-size: 32px;
    font-weight: bold;
}

.header-in {
    height: 65px;
}

    .header .logo1 {
        padding-left: 10px;
    }

.copy img{
    max-width: 70%;
    display: block;
    margin: auto;
    
}

.f_contact_box h4{
    font-size: 40px;
}

.sp_txt{
    font-weight: bold;
}

    #cms_2-g .cate_title {
        font-size: 1.8em;
        line-height: 1.4em;
    }

.contact_btn span {
    font-size: 19px;
}

}