﻿p.opacity07{
    opacity:1;
}
.contact_box a:hover{
    background:black;
    opacity:1;
}
.fa-envelope:before {
    content: "\f0e0";
}
#icon a{
    background: rgb(27 37 51);
    padding: 10px 50px;
    display: inline-block;
    color: white;
    transition: all 0.3s;
}
#icon a:hover{
    opacity:0.8;
}
.icon_banner{
    text-align: left;
    padding: 30px;
}
.main_banner{
    opacity:0;
    transform:translateY(10px);
}
#main_txt_wrap.b_anime #main_txt2::after {/*右*/
    width: 1px;
    height: 0%;
    content: "";
    position: absolute;
    right: 0;
    top: -10%;
    background: white;
    animation: 1s border-anim2 linear forwards;
   
}
#main_txt2{
    position: relative;
    width: 800px;
    margin: auto;
}
#main_txt_wrap.b_anime div#main_txt2::before { /*下*/
    width: 0%;
    height: 1px;
    content: "";
    position: absolute;
    right: -2.5%;
    bottom: 0;
    background: white;
    animation: 1s border-anim linear forwards;
}
#main_txt_wrap.b_anime div#main_txt::before { /*上*/
    width: 0%;
    height: 1px;
    content: "";
    position: absolute;
    left: -2.5%;
    top: 0;
    background: white;
    animation:1s border-anim linear forwards;
   
}
#main_txt_wrap.b_anime #main_txt::after {/*左*/
    width: 1px;
    height: 0%;
    content: "";
    position: absolute;
    left: 0;
    bottom: -10%;
    background: white;
    animation: 1s border-anim2 linear forwards;
}
@keyframes border-anim{
    0%{
        width:0%;
       
    }
    100%{
        width:105%;
        
    }
}
@keyframes border-anim2{
    0%{
        height:0%;
       
    }
    100%{
        height:120%;
    }
}

.txt_anim1 span{
	position: relative;
	right: 20px;
	opacity: 0;
	transition: all .8s;
}
.txt_anim1 span.start{
	right: 0;
	opacity: 1;
}

a.more.d_inline_b.mg_l-5px.mg_r-5px.pd_t-5px.pd_b-5px.pd_l-10px.pd_r-10px.border_rad3.txt_white.shadow-l.motion03s.hvr_opa05.bg_color4 {
    color: black;
}
div#scroll .hgs ,footer .scr{
    font-family: 'Didact Gothic', sans-serif;
    letter-spacing: 4px;
}
footer .scr {
    font-size: 16px;
}
.more_item{
    font-family: 'Didact Gothic', sans-serif;
    letter-spacing: 4px;
}
.overlay .overlay-nav .jp {
    font-family: 'Didact Gothic', sans-serif;
    letter-spacing: 4px;
}

#main_txt_wrap a {
    display: inline-block;
    padding: 10px 50px;
    background: #061f3e;
    margin-top: 50px;
    color: white;
    font-size: 18px;
    transition:all 0.5s;
}
#main_txt_wrap a:hover{
   background:black;
}
#cms_5-c .box_title1,.cms_5-c .box_title1{
    border-color: rgb(255 255 255 / 24%);
    color: #d8c593;
}
.cms_5-c .box_title1::before{
    color: #d8c593;
}
#cms_5-c .box_txt1::before,.cms_5-c .box_txt1::before{
    color: rgb(255 255 255 / 61%);
}
.cms_5-c .box_txt1{
    color:white;
}
.cms_6-c .cate_box{
    align-items:center;
}
#page_title .en:before{
    width:2px;
}
a.linkStyle {
    color: #fbfbfb;
    border-bottom: 1px solid;
}
#page_title .jp span {
    line-height: 1.5;
}
.contact_box {
    width: 100%;
}
.contact_box a {
    background: #0b1c2d;
    border: 0;
    max-width: 350px;
}
#contact_wrap{
    display: flex;
    justify-content: space-around;
    max-width: 1000px;
    margin: auto;
}
#page_title .en {
    font-size: 70px;
    top: -35px;
}
#page_title .jp {
    display: inline-block;
    font-size: 18px;
    top: 110px;
    left: -7px;
}
#page_title .jp span{
   line-height: 1.5; 
}
 .hvr_bg_color1:hover {
    background-color: #0c0c0c;
}
.cms_title h3 {
    font-size: 32px;
    margin-bottom: 5px;
}
.v_type3 .cate_box{
    align-items:center;
}
.v_type3 .cate_box{border: 1px solid #d8c593;}
.v_type3 .box_title1 {
    color: #d8c593;
}

.hvr_bg_color3:hover {
    background-color: #181e26;
    background-color: #000000;
}
.cate_title{
    border-width:1px;
}
.top_title h2 > span:before{
    top: -10px;
}
.cms_title p{
        letter-spacing: 4px;
    font-family: 'Didact Gothic', sans-serif;
}

h1#logo img{
    max-width:250px;
}
a.banner {
    background-color: #061f3e;
    display: inline-block;
    color: white;
    padding: 15px 40px;
    margin-top: 50px;
    transition:all 0.5s;
}
a.banner:hover{
    background: black;
}

.intro_title{
    font-size: 28px;
    text-align: left;
}
#main_img:before {
    background-color: rgb(0 0 0 / 45%);
}
.main_txt1{
    display: inline-block;
    z-index: 2;
}
.main_txt2 {
    font-size: 17px;
    font-family: 'Didact Gothic', sans-serif;
    letter-spacing: 8px;
    margin-top: 10px;
}
#main_txt_wrap{
     position: absolute;
      margin-top: 21%;
      z-index: 2;
      width:100%;
      text-align: center;
}
#main_txt {
   margin:auto;
    color: white;
    text-align: center;
    width: 800px;
    font-size: 38px;
    letter-spacing: 10px;
    /*border: 1px solid white;*/
    padding: 30px;
    position:relative;
    box-sizing:border-box;
    
}

.patrima{
    font-family: 'Didact Gothic', sans-serif;
}
#copyright {
    background: #08101a;
}
.border_color2 {
    border-color: #ffffff;
}
.bg_color3 {
    background: #1b2533;
}
.bg_color1{
    background:#08101a;
}
#footer_info{
    background: #2c3541;
}
.bg_black{
    background-color: #08101a;
}

.modal-box .modal-close span::before, .modal-box .modal-close span::after {
    background: #fff;
}
#button a{
    display: inline-block;
    background:#1b2533;
    color: white;
    padding: 10px 60px;
    margin-top: 40px;
    transition: all 0.3s;
}
#button a:hover{
    opacity:0.8;
}
#button{
    display:none;
}
.w_80{
    width:80% !important;
}
.icon_box {
    width: 25%;
    padding: 10px;
    margin: 10px;
    box-sizing: border-box;
    border: 1px solid white;
}

.img_box img {
    max-width: 150px;
    object-fit: contain;
}
p.icon_txt {
    font-size: 16px;
    padding: 10px;
}

#icon{
    display: none;
    
}
#icon_wrap{
    display:flex;
    justify-content: space-between;
}
header.scr_header {
    background-color: #08101adb !important;
}
.block{
    display:block !important;
}

#glaf{
    display:none;
}
.modal_title1:before {
    left: 7px;
}
#glaf{
    width: 80%;
    margin: 50px auto;
}
.modal-box:before{
    background:black;
}
.txt_color2{
    color: #ffffff;
}
body,.hgs,.liana,.en,.overlay .overlay-nav .en{
font-family: "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif" ;
}
/*
.blur {
    background: rgb(0 8 18 / 90%);
}
*/
.more .more_item:before {
    background-color: #061f3e !important;
}
.border_color3, .hvr_border_color3:hover {
    border-color: #192029;
}
#contents .con_title {
    font-size: 40px;
    text-align: left;
}
.modal-box .inner {
    background: #000;
    color: white;
}
.intro_right h3.liana{
    font-family:"liana" !important;
    color:#D8C593;
}


/*----------------------------------タブレット------------------------------------*/
@media screen and (max-width:768px){
    #main_txt2,#main_txt{
        width:600px;
    }
    #main_txt{
        font-size:28px;
    }
    .main_txt2 {
    font-size: 14px;
    }
    #main_txt_wrap {
    position: absolute;
    margin-top: 40vh;
    }
    #contents .con_title {
    font-size: 28px;
    }
    .icon_box {
    width: 45%;
    }
    #icon_wrap{
        flex-wrap:wrap;
    }
    h4.modal_title2{
        font-size:18px;
        margin-bottom:10px;
    }
    .icon_banner{
        padding:10px;
    }
    .cms_3-a .cate_wrap{
        flex-direction:column;
    }
    .cms_3-a .cate{
        width:100% !important;
    }
    .cms_3-a .cate:first-of-type {
    margin-bottom: 50px;
}
.cms_6-c .cate_box,.v_type3 .cate_box{
    flex-direction:column;
}
.cms_6-c .box_txt,.v_type3 .box_txt{
    width:100% !important;
}
.cms_3-a .cate_txt1{
    padding:20px;
}
.cms_6-c .box_img{
    width:60% !important;
}
footer .scroll {
    right: -30px;
}
p#logo2{
    padding-top:10px;
}
#page_title .en {
    font-size: 50px;
    top: -25px;
}
.v_type3 .box_txt{
    padding:10px;
}
.v_type3 .box_img{
    width:60% !important;
}
}
/*----------------------------------ここまで------------------------------------*/


/*----------------------------------タブレット------------------------------------*/
@media screen and (max-width:667px){
    #main_txt {
    font-size: 18px;
}
#main_txt2, #main_txt {
    width: 320px;
}
#main_txt{
    padding:20px;
}
.main_txt2 {
    font-size: 12px;
    letter-spacing: 4px;
}
#main_txt_wrap a {
    display: inline-block;
    padding: 10px 20px;
    background: #192029;
    margin-top: 50px;
    color: white;
    font-size: 14px;
    transition: all 0.5s;
}
h1#logo img {
    max-width: 180px;
}
.intro_title {
    font-size: 18px;
}
a.banner {
    padding: 10px 30px;
}
.cms_title h3 {
    font-size: 26px;
}
.cms_title p{
    font-size:12px;
}
#page_title .en {
    font-size: 40px;
    top: -20px;
}
#page_title .jp {
    display: inline-block;
    font-size: 14px;
    top: 70px;
    left: -13px;
}
footer .scr {
    font-size: 12px;
}
#page_title .en {
    font-size: 34px;
    top: -17px;
}
.contact_box {
    margin: 10px 0;
}
#contact_wrap{
    flex-direction: column;
}
#main_txt{
    letter-spacing:4px;
    white-space:normal;
    font-size:16px;
}
.main_txt2{
    letter-spacing:2px;
}
#loading .img_box img{
    max-width:250px !important;
}
#button a {
    padding: 10px 40px;
}
.icon_box {
    width: 100%;
}
#icon a {
    padding: 10px 30px;
}
ul.cate_list li{
    margin-right: 0 !important;
}
}   
 /*----------------------------------ここまで------------------------------------*/  