﻿@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Fjalla+One&display=swap');
.g-menu nav.en_font {
     font-family: "Noto Sans JP","游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 } 
 
 
 
 
 #cms_2-a .cate_box {
border-bottom: 2px dotted #444;
}




 
 
.catch {
    font-size: 8vw;
    bottom: 1%;font-family: 'Libre Baskerville', serif;
}
.catch p, .entry {
    font-family: 'Sawarabi Mincho', sans-serif;
}
.main_txt {
font-family: 'Sawarabi Mincho', sans-serif;
line-height: 1.7;
}
.no .en_font {
    font-family: 'Fjalla One', sans-serif;
}
/*TEXT*/
.cms_title, .top_cms_box {
    color: #fff;
}
.cms_title p span {
    color: #3399FF;
}



#recruit {
    position: absolute;
    width: 100%;
    height: 168px;
    z-index: 0;
    opacity: 0.1;
    background-repeat: repeat-x;
    background: url(Dup/img/recruit.png);
    background-repeat: repeat-x;
    background-position-y: center;
    transition: all 0.7s ease-out;
top: 115px;
animation: anime2 60s linear infinite;
}
@keyframes anime2{
from{
background-position-x: 0;
}
to{
background-position-x: -2400px;
}
}



.cms_title {
    position: relative;
}
.cms_title:before {
    left: auto;
    right: 0;
 }
.cms_title.trans:before {
    transform: translate(0) scaleX(1);
    transition-delay: .6s;
 }

.cms_title:before {
    content: "";
    display: block;
    width: 19.3236714976vw;
    height: 2px;
    background: #757575;
    position: absolute;
    right: 0;
    bottom: -3px;
    transform: translate(-100%) scaleX(0);
    transition: transform cubic-bezier(.23,1,.32,1) 1s;
    transform-origin: center left;
    z-index: 1;
    will-change: transform;
    width: min(10vw,192px);
    height: 3px;
} 
 
/* --------------------------------- FOOTER ---------------------------------- */
.shop_info .contact {
background: #091737;
}
#page-top p {
position: relative;    
}
footer {
   background-image: url(Dup/img/footer.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50%;
}
footer:before {
    content: "";
    display: block;
    position: absolute;
    background: rgba(0, 12, 38, 0.72);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
#main .main_box {
    z-index: 1;
}
.catch_img {
    overflow: hidden;
}
#main .cms_img1 img, .catch_img img {
transform: scale(1.2);
transition: all 5.5s;
}
#main .cms_img1.trans img, .catch_img.trans img {
transform: scale(1);
}

/* --------------- FOOTER付近 -------------------- */
.shop_info h2 {
    position: relative;
}
.shop_info h2:before {
    content: "Information";
    font-size: 30px;
    opacity: 0.5;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -30px;
}
.shop_info .info_box:nth-child(2) h2:before {
    content: "Contact";
}
/*.shop_info a {*/
/*    background: url(Dup/img/noimg.png) 50%;*/
/*    background-size: cover;*/
/*}*/
/*.shop_info .info {*/
/*opacity: 0.5;*/
/*}*/




.cate_list li {
    width: auto;
    padding: 0 5%;
}
.cate_list li a {
    position: relative;
    text-decoration: none;

    transition: all 0.5s;
}
.cate_list li a::before {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 0.1rem;
    content: "";
    background-color: #000;
    transition: transform 600ms cubic-bezier(0.19, 1, 0.22, 1);
    transform: scale(0, 1);
    transform-origin: right top;
}
.cate_list li a:hover::before {
    transform: scale(1, 1);
    transform-origin: left top;
}



#header .logo {
    max-width: 224px;
}
#loading_bg {
    background-color:#bbddff;
}

.fix_entry {
    position: fixed;
    top: 18px;
    left: 0;
    width: 300px;
    opacity: 0;
    z-index: 35;
    transition: all 0.3s;
    pointer-events: none;
}
.fix_entry.active {
   opacity: 1;
   pointer-events: auto;
}
/* ------------------------TOP ---------------------------------------------------------*/
#catch h2 {
   font-size: 28px;
    text-align: center;
}

.top_cms_box {
background-color: #2a2a2a;
background: transparent;
}
#top_cms .more a {
background-color: #323232;
}
.no span {
    font-size: inherit;
}
.no span img {
    width: 100px;
}

.shop_info h2 {
font-size: 29px;
}


.page8 .tel_txt > p {
    border-bottom: 1px solid;
    padding-bottom: 10px;
}
.cms_title {
    border-bottom: 1px solid #4a4a4a;
    padding-bottom: 10px;
}
.cms_title h2 {
    margin-top: 11px;
    }
.cms_title .border_so2-l {
    border: none;
}
    
	#cms_2-a .cate_title {
    position: relative;
    padding: .1em .3em .1em .5em;
    border-top: 0;
    display: block;
    border-bottom: 0;
				border-bottom: 1px solid #444
}
#cms_2-a .cate_title::before {
    position: absolute;
    content: '';
    left: 0;
    bottom: -2px;
    width: 10%;
    height: 2px;
    background-color: #3398fd;
    z-index: 1;
}
    
.cms_2-c .box_txt1, .cms_2-c .box_txt2, #cms_2-c .box_txt1, #cms_2-c .box_txt2 {
        position: relative;
        padding-left: 56px;
    }
.cms_2-c .box_txt2 {
    background: #212121;
    padding: 10px 10px 10px 56px;
}
#cms_2-c .box_txt2 {
    padding: 10px 10px 10px 56px;
    background: #c1c1c1;
}
.cms_2-c .box_txt1, #cms_2-c .box_txt1 {
    border-bottom: 1px solid #444;
}
.cms_2-c .box_txt1::before, #cms_2-c .box_txt1::before {
    position: absolute;
    content: "Q";
    top: 2px;
    left: 5px;
    font-size: -webkit-calc(1rem + 4px);
    font-size: calc(1rem + 4px);
    background: #429ef8;
    border-radius: 50%;
    display: block;
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    box-sizing: border-box;
}
.cms_2-c .box_txt2::before, #cms_2-c .box_txt2::before {
    position: absolute;
    content: "A";
  top: 10px;
    left: 5px;
    font-size: -webkit-calc(1rem + 4px);
    font-size: calc(1rem + 4px);
    background: #5c5c5c;
    border-radius: 50%;
    display: block;
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    box-sizing: border-box;
}
#cms_6-b .cate_box, #cms_6-b .cate_box .box_txt1, #cms_6-b .cate_box .box_txt2{
	border-color: #484848;
}
#cms_6-b .cate_box:first-of-type{
	border-top: 1px solid #484848;
}
.cms_6-b .cate_box, .cms_6-b .cate_box .box_txt1, .cms_6-b .cate_box .box_txt2{
	border-color: #484848;
}
.cms_6-b .cate_box:first-of-type{
	border-top: 1px solid #484848;
}
@media(min-width: 1100px) {
#main .main_box {
 left: 10%;   
}
#contents .box_item h2 {
font-size: 27px;
}
}
@media(max-width: 768px) {
    .cms_2-c .box_txt1::before, #cms_2-c .box_txt1::before {
        top: -3px;
    }
.cms_2-c .box_txt2::before, #cms_2-c .box_txt2::before {
    top: 8px;
}
#cms_2-c .box_item {
    padding-left: 10px;padding-right: 10px;
}
}
@media(max-width: 667px) {
    #page_title {
        margin-bottom: 60px;
    }
    
    .pager {
        margin-bottom: 70px;
    }
    #main .main_box {
        top: 36%;
    }
    #main .main_box h2 {
        font-size: 26px;
        margin-top: 68px;
    }
    .cms_title h2 {
    font-size: 20px;
    margin-top: 11px;
    }
    .shop_info h2 {
        font-size: 21px;
    }
    .main_txt {
        text-shadow: 2px 0px 5px #bfbfbf, -1px 0px 3px #f4f4f4;
    }
    .page_title p {
        font-size: 27px;
    }
    .page10 .content_wrap .more {
        margin-bottom: 22px;
    }
    .page10 .more a {
        font-size: 14px;
    }
.cms_2-c .box_item {
    margin-top: 15px;
}
.cms_2-c .box_txt1::before, #cms_2-c .box_txt1::before {
    top: -2px;
    left: 3px;
    font-size: -webkit-calc(1rem + 0px);
    font-size: calc(1rem + 0px);
    width: 29px;
    height: 29px;
}
.cms_2-c .box_txt2::before, #cms_2-c .box_txt2::before {
     left: 3px;
    font-size: -webkit-calc(1rem + 0px);
    font-size: calc(1rem + 0px);
    width: 29px;
    height: 29px;
    top: 6px;
}
.cms_2-c .pd_l-30px_sp, #cms_2-c .pd_l-30px_sp {
    padding-left: 34px;
}
.cms_2-c .box_txt1, .cms_2-c .box_txt2, #cms_2-c .box_txt1, #cms_2-c .box_txt2 {
        position: relative;
        padding-left: 46px;
    }

#cms_2-c .box_txt2 {
    padding: 10px 10px 10px 46px;
}
#cms_2-c .cate_box {
    padding-bottom: 10px;
}
}


@media all and (-ms-high-contrast: none) {
.pager li a span {
    padding-top: 14px;
}
.page8 .tel a, .page8 #mail_contact a {
    padding-top: 19px;
}
.page9 .box_wrap a {
    padding-top: 11px;
}
.cms_2-c .box_txt1::before, #cms_2-c .box_txt1::before {
    top: -1px;
}
.cms_2-c .box_txt2::before, #cms_2-c .box_txt2::before {
    top: 5px;
}
.cms_2-c .box_txt1::before, #cms_2-c .box_txt1::before, .cms_2-c .box_txt2::before, #cms_2-c .box_txt2::before {
    padding: 7px 2px 1px 2px;
}
}