﻿:root{
    --red: #ba1b45;
}

#loading_text{
    display: none;
}

body{
    min-width: 1280px;
    overflow: hidden;
}

p#logo2 img{
        max-width: 230px;
}

#luxy{
    min-width: 1280px;
}

footer p.txt_white{
    color: black;
}

p#copyright{
    color: white;
}

.menu-trigger-bar {
    background-color: #000000 !important;
}

h1#logo img{
    max-width: 100px;
}

.fix_banner .more a{
    background-color: var(--red);
}


.overlay.open .overlay-img{
    width: 30% !important;
}

.top_title .slash:before, .top_title .slash:after {
    background-color: white !important;
}

/*--top--*/

#intro, #contents_wrap{
    background-image: url(/files/img/tetu.jpg);
}

header.scr_header {
    /*backdrop-filter: blur(2px);*/
    background-color: rgba(125, 130, 145, 0.1) !important;
}

#pc_nav li a, #footer_nav li a{
    color: black;
}

footer #footer_info, #loading {
    background-image: url(/files/img/back.jpg);
}

#loading_logo {
    max-width: 170px;
}

#contents_wrap{
    margin-bottom: 0;
}

#main_img{
    overflow: visible;
    z-index: 2;
        height: 55vw !important;
}

#main_img .right{
        width: 65%;
    right: 10px;
    position: absolute;
    top: -10%;
        filter: drop-shadow(7px 7px 0px rgba(200, 200, 200, 0.3));
}

#main_img .left{
        width: 26%;
    left: 24px;
    position: absolute;
    top: 50%;
    filter: drop-shadow(7px 7px 0px rgba(200, 200, 200, 0.3));
}

#main_img .left:before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0%;
    left: 0%;
    background-color: rgba(255, 255, 255, 0.65);
    z-index: 1;
    border-radius: 50%;
    clip-path: circle(50%);
    transition: 0.2s all;
    backdrop-filter: blur(4px);
}

#main_img .left:hover::before{
    background-color: rgba(255,255,255,1);
    clip-path: circle(15%);
        transition: 0.2s all;
}

#main_img .left::after {
    content: "";
    display: block;
    width: 130%;
    height: 130%;
    position: absolute;
    top: 50%;
    left: 50%;
    background-image: url(/files/img/left.svg);
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-size: contain;
    pointer-events: none;
    z-index: 3;
    animation: loop2 25s linear infinite;
}

#main_img .right:before {
    content: "";
    display: block;
    width: 125%;
    height: 125%;
    position: absolute;
    top: 50%;
    left: 50%;
    background-image: url(/files/img/right.svg);
    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;
    animation: loop 50s linear infinite;
}

@keyframes loop {
    0% { transform: translate(-50%, -50%) rotate(0deg);}
  100% { transform: translate(-50%, -50%) rotate(-360deg);}
}

@keyframes loop2 {
    0% { transform: translate(-50%, -50%) rotate(0deg);}
  100% { transform: translate(-50%, -50%) rotate(360deg);}
}

#main_img:before {
    background-color: transparent;
}

#intro .intro_right {
    margin-top: 10%;
}

.left img:first-child{
        position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: 2;
}

h3.intro_title1, #contents .con_title{
    font-size: max(3.2vw, 32px);
    font-feature-settings: "palt";
}

 #contents .con_title{
      font-size: max(3vw, 32px);
 }

#intro_wrap{
    position: relative;
}

#intro_wrap::before{
        content: "";
    display: block;
    width: 150px;
    height: 150px;
    position: absolute;
    top: 100%;
    left: 50%;
    background-image: url(/files/img/right.svg);
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-size: contain;
    pointer-events: none;
    z-index: 5;
    animation: loop2 25s linear infinite;
}

.copy{
        position: relative;
    z-index: 3;
    max-width: 580px;
    width: 40%;
    top: 25%;
    left: 40px;
    filter: drop-shadow(6px 6px 5px rgba(100, 100, 100, 0.2));
}

div.scroll .txt_white{
    color: black;
}

footer .scroll_d > span::before {
    background-color: rgba(0, 0, 0, 0.7);
}



/*--top--*/

/*--sub--*/

#page_title .page_title_box {
    padding: 0 5%;
    margin: 2.5% 0;
}

#page_title_img {
    height: 230px;
}

.page_container{
    padding-top: 10%;
}

#page_title_img:before {
    background-color: rgba(0, 0, 0, 0.05);
}

#page_title_img .scroll{
    display: none;
}

/*--sub--*/


div.con_box.mail{
    color: black;
    background-color: #f7f7f7;
    box-sizing: border-box;
    width: 90%;
    margin: auto;
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){

body {
    min-width: 100%;
}

#luxy{
    min-width: 100%;
}

.copy {
    width: 50%;
    top: 105%;
    left: 50%;
    filter: none;
    transform: translateX(-50%);
}

#intro_wrap {
    padding-top: 20%;
}

}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){

#main_img .left {
    width: 40%;
    left: -12px;
    top: 70%;
}

#main_img .right {
            width: 110%;
        right: -35%;
        top: 5%;
}

#main_img {
    height: 70vh !important;
    min-height: 570px;
}

#contents .con_title {
        font-size: 24px;
        font-feature-settings: "palt";
    }

#intro_wrap::before {
    width: 150px;
    height: 150px;
    top: 100%;
}

.copy {
    position: relative;
    z-index: 3;
    max-width: 600px;
    width: 75%;
    top: 95%;
    left: 50%;
    filter: none;
    transform: translateX(-50%);
}

}