﻿@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400&display=swap');
/*@import url('https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap');*/

@font-face {
font-family: "hui";
  src: url("./Dup/img/hui.otf") format("otf"),url("./Dup/img/hui.woff") format("woff"),url("./Dup/img/hui.woff2") format("woff2");}
  
  
:root{--font_hui: 'hui','Zen Kaku Gothic New', "Yu Gothic Medium", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, "MS PGothic", sans-serif !important;}
:root{--font_zenkaku: 'Zen Kaku Gothic New', "Yu Gothic Medium", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, "MS PGothic", sans-serif !important;}
    　
.con1_title,.intro_title, #contents .con_title,h3,h2,h4,h5,h6,#pc_nav a,section#contents4 p,section#top_info .con_title{font-family:var(--font_hui);
                                                              transform: rotate(0.05deg);}
                                                              
body, .font_sans-serif,.font_serif{font-family:var(--font_zenkaku);}

/*.info_box p{font-family:'Yuji Syuku', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";}*/


:root{
    --color1:#050a40;
    --color2:#0c2146;
    --color3:#f9dbca;
    --color4:#507190;
    --color5:#3d5e7e;      
    --white:#ffffff;
    --black:#050a40;
    --gray:#cccccc;
    --blue:#0097ac;
    --skyblue:#45b8c8;
}

body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: var(--black);}
.txt_white,.hvr_txt_white:hover{color: var(--white);}
.txt_color1,.hvr_txt_color1:hover{color: var(--color3);} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: var(--color3);} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: var(--color3);} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: var(--white);} /* アクセントカラー2 */
.txt_color5,.hvr_txt_color5:hover{color: var(--white);} /* アクセントカラー2 */
/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: var(--white)} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: var(--black);} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: var(--color1);} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: var(--color2);} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: var(--color5);} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: var(--color4);} /* アクセントカラー2 */
.bg_color5,.hvr_bg_color5:hover{background-color: var(--color3);} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}
/* border-color ※!important */
.border_white,.hvr_border_white:hover{border-color: var(--white);}
.hvr_border_black:hover{border-color: var(--black);}
.border_black{border-color: var(--gray);}
.border_color1,.hvr_border_color1:hover{border-color: var(--color1);}
.border_color2,.hvr_border_color2:hover{border-color: var(--color2);}
.border_color3,.hvr_border_color3:hover{border-color: var(--color3);}
.border_color4,.hvr_border_color4:hover{border-color: var(--color4);}
.border_color5,.hvr_border_color5:hover{border-color: var(--color5);}

.linkStyle{color: var(--white);
          border-bottom:solid 1px;
}
body#body {
    background: var(--white);
}


/*ローディング------------------------------*/
#loader_h{z-index: 999;}
/*ローディング------------------------------*/
/*border-radius----------------------------------------------------------------*/
.normal_img img, .rectangle_img, square_img,.box_wrap, ul.pager li a,section#page10 ul li a,#contact_mail a,#contact_tel a { border-radius: 5px;}
ul.cate_list li a,.contact_bt a,.more a,.foot_tel_bt a,.free_bt a,section#contents1 .con_box{border-radius: 5px;}

li.prev a {border-radius: 0px !important;}
/*border-radius----------------------------------------------------------------*/

/*装飾に便利なposi_rel*/
#contents_box,#contents1,#contents2,#contents3,#contents,.con1_outer, .con2_outer, .con3_outer,.img5, .img6, .img7,div#left,div#right,div#intro_wrap,#contents2_wrap{position: relative;}
/*装飾に便利なposi_rel*/
/*装飾に便利な疑似クラス設定*/
#main_img::before, #main_img::after, #contents_box::before, .con1_outer::after, #attach::before, .con2_outer::before,.con2_outer::after,.con3_outer::before,.con3_outer::after,#page_title .title_img::after,article .width_1280-max::before,div#contents1::before,div#contents1::after,div#contents3::before,#contents2::before,div#contents2::after,#page_title .title_img::after,#contents::before,.img5::before, .img6::before, .img7::before,div#left::before,div#right::before,div#intro_wrap::before,div#intro_wrap::after,#contents2_wrap::before{
    content: '';
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    z-index: 1;
}
/*装飾に便利な疑似クラス設定*/
/*top■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
div#main_img {height: 100vh;}
.video {
    width: auto;
    object-fit: cover !important;
    height: 100% !important;}
    

span.catch img {
    max-height: 100vh;
    height: 70% !important;
    width: auto;
    position: absolute;
    top: 50%;
    right: 33%;
    transform: translate(50%,-52%);
    z-index: 1;
} 

.logo_load {
  width: 15%;
  transform: translate(-50%,-50%);
  opacity: 0;
  animation: fadein-anim 3s linear forwards;
  z-index: 2;
}

@keyframes fadein-anim {
  40% {
    opacity: 0;
  }    
  100% {
    opacity: 1;
  }
}


section#contents1 {
    background: url(dup/img/bg_img01.jpg);
    background-size: cover;
    background-position: top;
}

section#contents1 .con_box {
    background: rgb(5 10 64 / 90%);
    border-radius: 5px;
    box-shadow: 0px 0px 3px var(--color1);
}


#contents2, #contents3, #contents2 .con_box, #contents3 .con_box {
    min-height: 60vh;
    z-index: 1;
}
#contents2 .con_box, #contents3 .con_box {
    padding-top: 10%;
    padding-bottom: 10%;
}

section#contents1 {
    background: url(dup/img/bg_img01.jpg);
    background-size: cover;
    background-position: top;
    padding: 95px 0;
}



#contents2 .con_box {
    background: -moz-linear-gradient(left, transparent, rgba(60 33 7 / 60%));
    background: -webkit-linear-gradient(left, transparent, rgba(60 33 7 / 60%));
    background: linear-gradient(to right, rgb(60 33 7 / 0%), rgb(60 33 7 / 60%) 30%);
    backdrop-filter: blur(1px);}

#contents3 .con_box {
    background: -moz-linear-gradient(left, rgba(60 33 7 / 60%), transparent);
    background: -webkit-linear-gradient(left, rgba(60 33 7 / 60%), transparent);
    background: linear-gradient(to right, rgb(60 33 7 / 60%), transparent);
    backdrop-filter: blur(1px);    }

section#contents4 {
    background-image: url(dup/img/bg_img03.jpg);
    background-size: cover;
    background-position: bottom;}

section#contents4 p.txt_color2 {color: var(--white);}

#contents4 .con_bg_img {
    left: 0;
    top: 0;
    background: var(--color4);
}

span.kuroneko img {
    max-width: 250px;
    width: 50% !important;
    position: absolute;
    bottom: -90px;
    right: 0px;
    z-index: 3;
    opacity: 1;
    pointer-events: none;
}
/*上下に揺らす----------------------------------------*/

span.kuroneko img{
  animation: img_box_9955 5s linear infinite;
  transform-origin: 50% 50%;
  margin: 1rem 0 !important;}
 
@keyframes img_box_9955 {
  0% { transform: rotate(0deg) }
  33.33333% { transform: rotate(-1deg) }
  66.66667% { transform: rotate(0deg) }
  100% { transform: rotate(0deg) }}

/*上下に揺らす----------------------------------------*/

article#top_cms {background-color: rgb(61 94 126 / 60%);}
#pc_nav a {text-shadow: 0 4px 5px var(--black);}


#top_info .con_box {
    background: var(--color1);
    border-radius: 5px;
    box-shadow: 0px 0px 3px var(--color1);    
}
/*top■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*sub■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
div#wrap {
    background: url(dup/img/bg_img01.jpg);
    background-size: cover;
    background-attachment: fixed;}
#under_page .under_box {
    background: rgb(61 94 126 / 90%);
    border-radius: 5px;}
.cms_title p {color: var(--color3);}
.swiper-button-prev i, .swiper-button-next i {
    color: var(--white) !important;}
#cms_2-a .cate_title,#cms_4-b .cate_title {
    position: relative;
    border: 0;
    padding: 10px 0px;
    border-bottom: dotted 2px var(--color3);
    display: inline-block;}
#cms_2-a .cate_box {
    border-bottom: solid 1px;
    border-color: var(--color4);}
ul.cate_list {margin-bottom: 80px;}

.cate_list li a {background: var(--color4);
                border-radius: 2px !important;
                margin:0 5px;}
.cate_list li a:hover {opacity:0.8;}

.cate_list li:not(:first-child):not(:nth-child(4n + 1))::before{display:none;}

/*sub■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*all■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#header {
    background: -moz-linear-gradient(top, rgba(5 10 64 / 55%), transparent);
    background: -webkit-linear-gradient(top, rgba(5 10 64 / 55%), transparent);
    background: linear-gradient(to bottom, rgb(5 10 64 / 55%), transparent);
    z-index: 100;
    height: 150px;}

.tel_bt {border-radius: 5px;}

@media screen and (max-width: 1700px){
span.kuroneko img {
    max-width: 200px;
    width: 50% !important;
    position: absolute;
    bottom: -75px;
    right: 0px;
    opacity: 1;
}
}


@media screen and (max-width: 768px){
h1.height100per {height: 65%;}
video.load{
    bottom: 0%;
    right: 0%;
    top: inherit;
    left: inherit;
    transform: translate(10%,0%);}

.logo_load {
    width: 40%;
    transform: translate(-50%,-70%);}
span.catch img {
    max-height: 100vh;
    height: 70% !important;
    width: auto;
    position: absolute;
    top: 50%;
    right: 8%;
    transform: translate(0%,-52%);
    z-index: 1;}
    
section#contents1 .con_title {padding: 0;}

#contents2 .con_box, #contents3 .con_box {
    background: rgb(45 36 27 / 50%) !important;
    backdrop-filter: blur(1px) !important;}
#contents2 .con_box, #contents3 .con_box {
    padding-top: 18%;
    padding-bottom: 13%;}

#contents2 .con_box::before, #contents3 .con_box::before {
    left: 0;
}   
#contents2 .con_box::before,#contents3 .con_box::before {
    top: 50px;
}

span.kuroneko img {
    max-width: 120px;
    width: 50% !important;
    position: absolute;
    bottom: -45px;
    right: 0px;
    opacity: 1;
}



}



@media screen and (max-width: 667px){
    
    video.load{height:100% !important;}    
    .logo_load {
        width: 50%;
        transform: translate(-50%,-70%);}
    header.height100vh {height: 100vh;}
    
    span.catch img {
        max-height: 100vh;
        height: 60% !important;
        width: auto;
        position: absolute;
        top: 50%;
        right: 5%;
        transform: translate(0%,-60%);
        z-index: 1;}    

    h1.height100per img {max-width: 100px;}        

    #contents2 .con_box, #contents3 .con_box {
        padding-top: 25%;
        padding-bottom: 13%;}    
        
    #contents2 .con_box::before,#contents3 .con_box::before{top: 30px;}    
    section#contents1 .con_box {width: 95% !important;}    



.cate_list li {
    width: 100%;
    margin-bottom: 5px;
}    
.cate_list li a {
    background: var(--color4);
    border-radius: 2px !important;
    margin: 0;
    padding: 5px 0;
}
}


/*20230215*/

  #video{
    display: none !important;
  }
  #video.active{
    display: block !important;
    animation: appear .5s ease;
  }
  @keyframes appear {
    0%{
      opacity: 0;
    }
    100%{
      opacity: 1;
    }
  }

@media screen and (max-width: 768px){ 
div#main_img {
    height: 50vh;
}

header.height100vh {
    height: 50vh;
    position: relative;
}
nav#pc_nav li {
    margin-bottom: 15px;
}
#pc_nav {
    left: 40px;
    bottom: 10px;
}
header .scroll_d span{display: none;}
}



@media screen and (max-width: 667px){
span.catch img {
    max-height: 100vh;
    height: 67% !important;
    width: auto;
    position: absolute;
    top: 50%;
    right: 8%;
    transform: translate(0%,-40%);
    z-index: 1;
}
}