﻿/*-------------------------------------------------
個別
---------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500&display=swap');
body{
    font-family: 'Noto Sans JP',"游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
line-height: 2;
color: #333;
}
.linkStyle{color: #cb442c;}
.catch{
        max-width: 100px;
    right: 15%;
    top: 8%;
}
#sticker {
    right: 0px;
    bottom: 210px;
    z-index: 99;
    width: 70px;
}
p{letter-spacing: .1em;}
.font_en,.cate_title,.cate_list li a{font-family: 'Noto Serif JP',"游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";}
.fa-envelope:before,.cms_title::before,#page_title .page_box::before{content: none;}
.txt_shadow-b{text-shadow: none;}
#logo{max-width: 200px;}
header{
    background-image: url(Dup/img/header_bg.png);
    background-size: cover;
}
#fakeloader,.fat-nav ul,.fat-nav{
    background-color: #f8f1e1;
    background-image: url(Dup/img/bg_img.jpg);
}
.main_box{position: relative;}
.main_box::before {
    background: url(Dup/img/bg_img.jpg) no-repeat center;
    background-size: cover;
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
}
.button {
    border: none;
    color: #fff;
    border-radius: 50px;
    background-color: #cb442c;
    z-index: 1;
}
.button:hover::after {
    box-shadow: inset 0 0 0 15em #8c6239;
}
.con1_wrap,.con3_wrap,article{
    background-image: url(Dup/img/intro_item1.png),url(Dup/img/intro_item2.png);
    background-repeat: no-repeat,no-repeat;
    background-position: top 10% left 0,bottom 10% right 0;
}
article{background-position: top 0 left 0,bottom 0 right 0;}
#contents1{text-align: center;}
#contents1 h2{
    padding-top: 50px;
    background-image: url(Dup/img/title_img.png);
    background-repeat: no-repeat;
    background-position: center top;
}
#contents2 h2{position: relative;}
#contents2 h2::before{
    content: "";
    display: block;
    position: absolute;
    background-image: url(Dup/img/con2_title_img.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 20%;
    max-width: 80px;
    height: 80px;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    opacity: 0.5;
}
#cms_2-a .cate_title{
    border: none;
    display: block;
}
#cms_2-b .cate_title{
    background-color: transparent;
    border: none;
    color: #333;
}
#contents3 h3,#cms_2-a .cate_title,#cms_2-b .cate_title{
    position: relative;
    text-align: center;
    padding-bottom: 10px;
}
#contents3 h3::before,#cms_2-a .cate_title::before,#cms_2-b .cate_title::before{
    position: absolute;
    content: "";
    width: 100px;
    height: 1px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #e8340c;
    margin: auto;
}
.cms_title,#page_title .page_box{
    background-image: url(Dup/img/cms_item.png);
    background-size: 50px;
    background-repeat: no-repeat;
}
#page_title .page_box{
    background-position: left 20px center;
    padding-left: 85px;
}
.spinner7 > div{background-color: #b9965f;}
.fadeup {
    opacity: 0;
    transform: translateY(100px);
    transition: transform 2s ease-out,opacity 2s ease-out;
}
.fadeup.scrollin_up {
    opacity: 1;
    transform: translateY(0);
}
.delay-time02 {
    transition-delay: 0.2s;
}

#main_img:before{
    content: "";
    position: absolute;
    bottom: 5%;
    left: 5%;
    background-image: url(Dup/img/hero_logo.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    max-width: 300px;
    height: 200px;
    width: 30%;
    z-index: 2;
}
#main_menu{margin-bottom: 20px;}
#main_menu ul li a{margin-bottom: 5px;}
#main_menu ul li a::before{top: 50%;}
/*-----------------------------------------------
loader
---------------------------------------------------*/
#wrap{
    opacity: 0;
}
#fakeloader{
	z-index: 9999;
	animation: fadeout 3s ease forwards;
        background-color: #f7f7f7;
}
#fakeloader .fl{
	position: absolute!important;
	top: 50%!important;
	left: 50%!important;
	transform: translate(-50%,-50%)!important;
	width: 100%!important;
	max-width: 250px;
	animation-name: loader;
	animation-duration: 3s;
	animation-timing-function: ease;
}
@keyframes fadeout{
	50% {opacity: 1;}
	98%,100% {opacity: 0;}
}
@keyframes loader{
	0% {opacity: 0;}
	50% {opacity: 1;}
	100% {opacity: 0;}
}
/*-----------------------------------------------
下層
---------------------------------------------------*/





/*-------------------------------------------------
tab
-----------------------------------------------------*/
@media screen and (max-width: 768px){
#main_img{height: 65vw!important;}
#logo {
    max-width: 150px;
}
#page_title .title_img {
    height: 200px;
}
.main_box {
    padding-top: 110px;
}
#contents1 h2,#contents1 p{
    opacity: 1;
    transform:  none;
}
#contents1 p{text-align: left;}
.catch{display: none;}
footer .link_box li {
    max-width: 35px;
}


}



/*-------------------------------------------------
sp
-----------------------------------------------------*/

@media screen and (max-width: 667px){
    body {
    font-size: 14px;
}
#logo {
    max-width: 100px;
}
.main_box {
    padding-top: 75px;
}
#contents1 h2 {
    background-size: 80%;
}
.con1_wrap, .con3_wrap {

    background-size: 30%;
}
footer .logo a img{max-width: 150px;}
#page_title .page_box {
    background-position: left 5px center;
    padding-left: 55px; 
}
#page_title .page_box {
    background-size: 40px;
}
.cms_title h2{font-size: 22px;}
.cms_title, #page_title .page_box {
    background-size: 40px;
    background-position: left center;
}
.cms_title {
    padding-left: 52px;
}
article{background-size: 150px;}
#fakeloader .fl{max-width: 150px;}


}


/*-------------------------------------------------
IE
-----------------------------------------------------*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none){
#main_menu ul li a::before{top: 50%!important;}
.pc_box .contact_bt a,#page10 ul li a{padding: 12px 0 12px!important;}
.cate_list li a{padding: 7px 0 7px!important;}
}


/*-------------------------------------------------
Firefox
-----------------------------------------------------*/
@-moz-document url-prefix(){

}