@charset "utf-8";
img, object, embed, video {
width: 100%;
margin: auto;
}
@keyframes fadeIn {
0% {
opacity: 0;
transform: translateY(20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
.en {
font-family: "Bebas Neue", serif;
}


.txt_grad{
background: linear-gradient(90deg, #a68b28, #dc963c);
background-clip: border-box;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

.txt_grad2{
background: linear-gradient(90deg, #a68b28, #000000);
background-clip: border-box;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

/*PC*/
@media print, screen and (min-width: 768px) {
body{
min-width: 1200px;
overflow-x: hidden;
font-size:16px;
line-height: 2;
letter-spacing: .06rem;
}

/*--スクロールトップ---------*/
#totop {
bottom: 220px;
display: block;
position: fixed;
right: 20px;
z-index: 50;
}
#totop a {
display: block;
width: 54px;
height: 54px;
text-indent: -1000em;
overflow: hidden;
background: url("../images/com/btn_scroll_top.png") 0 0 no-repeat;
background-size: auto auto;
background-size: 100% auto;
}


/*anchor link*/
/*----------------------------*/
#a,#b,#c,#d,#e,#f,#g,#h,#i,#link{
padding-top: 90px;
margin-top: -90px
}


/*com*/
/*----------------------------*/
.pcBr {
display: inline-block;
}
.spBr {
display: none;
}
.pc {
display: block;
}
.sp {
display: none !important;
}


/* container
--------------------------------------------*/
.container {
position:relative;
top:0;
left:0;
width:100%
}

/* header
--------------------------------------------*/
header {
position: fixed;
width: 100%;
background: #000;
z-index: 10;
padding: 20px 50px;
box-sizing: border-box;
min-width: 1200px;
overflow: hidden;
}

header .logo {
position:relative;
box-sizing: border-box;
width: 380px;
}

header .header_logo h1 .logo_txt2{
font-size: 6.4rem;
letter-spacing: -.1rem;
line-height:.8;
text-align: center;
}

header .header_logo h1 .logo_txt2 span{
display: block;
font-size: 3.2rem;
letter-spacing: -.1rem;
margin-bottom: 10px;
}

header .hed_red_txt{
position: fixed;
width: calc(100% / 3);
z-index: 3;
bottom: 55px;
left: 0;
padding: 0 3vw;
box-sizing: border-box;
}

header .hed_red_txt p{
font-size: .9rem;
font-weight: 900;
line-height:2.6;
color: #FFF;
text-align: center;
}

header .hed_red_txt p span{
font-size: 1.4rem;
line-height: 1;
margin: 0;
display: block;
}

header .header_wrap {
width: 100px;
position: fixed;
top: 0;
right: 0;
z-index: 10;
height: 100%;
}

header .tel{
position: absolute;
top:15px;
right:190px;
color:#FFF;
font-size: .8rem;
font-weight: 600;
line-height: 1.2;
}

header .tel span{
display: block;
}

header .tel span a{
font-size: 2rem;
color: #FFF;
}

header .contact {
position: absolute;
top: 0;
right: 0;
width: 160px;
height: 100%;
}

header .contact a {
position:relative;
font-family:"Noto Sans JP",sans-serif;
font-weight:700;
color:#ffffff;
font-size:1rem;
display:flex;
justify-content:center;
align-items:center;
width:100%;
height: 100%;
padding:20px;
box-sizing: border-box;
overflow:hidden;
background-image:url("../images/com/mask_contact.png");
background-size:160%;
background-repeat:no-repeat;
background-position:center bottom;
-webkit-transition:all 500ms cubic-bezier(0.65, 0, 0.35, 1);
transition:all 500ms cubic-bezier(0.65, 0, 0.35, 1)
}

header .contact a:hover {
background-size:110%
}

header .hed_icon{
display: none;
}


header .gnav {
position: absolute;
top: 70px;
right: 170px;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
transition: 0.5s;
}

header .gnav .gnav_list {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between;
transition: 0.5s;
}

header .gnav .gnav_list>li {
margin-right:25px
}

header .gnav .gnav_list>li a {
display:inline-block;
font-size: 1rem;
font-weight:800;
color: #FFF;
transform: .5s;
}

header .gnav .gnav_list>li a:hover {
color: #6aa9e1;
transform: .5s;
}

/* footer
--------------------------------------------*/
footer{
position: relative;
margin:0;
width: 100%;
z-index: 1;
overflow: hidden;
background:#000;
background-size: cover;
}

footer .footer_wrap{
max-width:80%;
padding: 60px 5vw 60px;
box-sizing: border-box;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

footer .footer_wrap .address{
width: 45%;
color: #FFF;
opacity: .8;
margin: 0 0 40px;
}

footer .footer_wrap .address dt{
font-size: 1.4rem;
font-weight: 700;
line-height: 1;
margin: 0 0 20px;
}

footer .footer_wrap .address dt span{
font-size: 1rem;
font-weight: 700;
margin: 0 0 10px;
display: block;
}

footer .footer_wrap .address dd{
line-height: 1.4;
font-weight: 700;
}

footer .footer_wrap .link_list{
display:flex;
flex-wrap: wrap;
font-size: .8rem;
font-weight: 500;
margin:30px 0 0;
}

footer .footer_wrap .link_list li{
width:49%;
margin-bottom: 2%;
margin-right: 2%;
}

footer .footer_wrap .link_list li:nth-child(2n){
margin-right: 0;
}


footer .footer_wrap .link_list li a{
color: #FFF;
opacity: .8;
text-decoration: underline;
}

footer .footer_wrap .fot_list{
width:50%;
position: relative;
}

footer .footer_wrap .fot_list dl{
margin: 0 0 10px;
}

footer .footer_wrap .fot_list dl dt{
font-size: 1.2rem;
font-weight: 700;
margin: 0 0 10px;
color: #FFF;
border-bottom: 1px solid rgba(255,255,255,.5);
}

footer .footer_wrap .fot_list dl dd ul{
list-style-type: disc;
margin-left: 15px;
color: #FFF;
font-size: .9rem;
}

footer .footer_wrap .fot_list dl dd ul li{
font-weight: 700;
}

footer .footer_wrap .fot_list .txt{
font-size: .8rem;
font-weight: 700;
color: #FFF;
text-align: right;
margin-bottom: 20px;
}

footer .footer_wrap .fot_list .copy{
text-align: right;
color: #FFF;
opacity: .8;
}


/* contents
--------------------------------------------*/
main{
padding-top:99px;
box-sizing: border-box;
}

/* com
--------------------------------------------*/
.c_ttl{
font-size: 3.8rem;
font-weight: 900;
line-height: 1;
margin: 0 0 40px;
font-style: italic;
}

.c_ttl span{
display: block;
font-size:1.6rem;
font-weight: 900;
letter-spacing: -.1rem;
margin-bottom: 10px;
}

.ttl{
position:relative;
font-size: 1.8rem;
background: transparent;
margin: 0;
padding: 0;
font-weight:700;
}

.ttl::before{
content: "";
background: #186edd;
position: absolute;
bottom: 0;
left: 50%;
width: 30px;
height: 2px;
transform: translateX(-50%)
}

.ttl span{
font-family: "Noto Sans JP", serif;
font-size: 1rem;
font-weight: 800;
margin-left: 5px;
}




}
/*sp*/
@media only screen and (max-width: 767px) {
body{
overflow-x: hidden;
font-size:14px;
line-height: 1.75;
letter-spacing: .1em;
}


/* header
--------------------------------------------*/
header {
position: fixed;
width: 100%;
height: 60px;
background: #000;
z-index: 10;
display: flex;
align-items: center;
justify-content:center;
}

header .logo {
position:relative;
box-sizing: border-box;
width: 65%;
margin: 0 auto 0 0;
padding-left: 3%;
box-sizing: border-box;
}

header .header_logo h1 .logo_txt2{
font-size: 6.4rem;
letter-spacing: -.1rem;
line-height:.8;
text-align: center;
}

header .header_logo h1 .logo_txt2 span{
display: block;
font-size: 3.2rem;
letter-spacing: -.1rem;
margin-bottom: 10px;
}

header .hed_red_txt{
position: fixed;
width: calc(100% / 3);
z-index: 3;
bottom: 55px;
left: 0;
padding: 0 3vw;
box-sizing: border-box;
}

header .hed_red_txt p{
font-size: .9rem;
font-weight: 900;
line-height:2.6;
color: #FFF;
text-align: center;
}

header .hed_red_txt p span{
font-size: 1.4rem;
line-height: 1;
margin: 0;
display: block;
}

header .header_wrap {
width: 100px;
position: fixed;
top: 0;
right: 0;
z-index: 10;
height: 100%;
}


header .tel{
display: none;
font-size: 1.2rem;
font-weight: 700;
color: #FFF;
}


header .contact{
display: none;
}

header .contact a:hover {
background-size:110%
}

header .gnav{
display: none;
}

/* footer
--------------------------------------------*/
footer{
position: relative;
margin:0;
width: 100%;
z-index: 1;
overflow: hidden;
background:#000;
background-size: cover;
}

footer .footer_wrap{
padding: 40px 5% 100px;
box-sizing: border-box;
margin: 0 auto;
}

footer .footer_wrap .address{
width: 100%;
color: #FFF;
margin: 0 0 40px;
text-align: center;
}

footer .footer_wrap .address dt{
font-size: 1.2rem;
font-weight: 900;
line-height: 1;
margin: 0 0 15px;
}

footer .footer_wrap .address dt span{
font-size:.9rem;
font-weight: 700;
margin: 0 0 10px;
display: block;
}

footer .footer_wrap .address dd{
line-height: 1.4;
font-weight: 700;
}

footer .footer_wrap .link_list{
width: 80%;
display:flex;
flex-wrap: wrap;
font-size: .8rem;
font-weight: 500;
margin:30px auto 0;
}

footer .footer_wrap .link_list li{
width:50%;
}

footer .footer_wrap .link_list li:nth-child(2n){
margin-right: 0;
}


footer .footer_wrap .link_list li a{
color: #FFF;
opacity: .8;
text-decoration: underline;
}

footer .footer_wrap .fot_list{
width:100%;
position: relative;
}

footer .footer_wrap .fot_list dl{
margin: 0 0 10px;
}

footer .footer_wrap .fot_list dl dt{
font-size: 1.2rem;
font-weight: 700;
margin: 0 0 10px;
color: #FFF;
border-bottom: 1px solid rgba(255,255,255,.5);
}

footer .footer_wrap .fot_list dl dd ul{
list-style-type: disc;
margin-left: 15px;
color: #FFF;
font-size: .9rem;
}

footer .footer_wrap .fot_list dl dd ul li{
font-weight: 700;
}

footer .footer_wrap .fot_list .txt{
font-size: .8rem;
font-weight: 700;
color: #FFF;
text-align: center;
margin-bottom: 40px;
}

footer .footer_wrap .fot_list .copy{
text-align: center;
color: #FFF;
opacity: .8;
}


/* contents
--------------------------------------------*/
main{
padding-top:60px;
box-sizing: border-box;
}

/* com
--------------------------------------------*/
.c_ttl{
font-size: 1.6rem;
font-weight: 900;
line-height: 1;
margin: 0 0 20px;
font-style: italic;
letter-spacing: -.05rem;
}

.c_ttl span{
display: block;
font-size:.7rem;
font-weight: 900;
letter-spacing: -.024rem;
margin-bottom: 0;
}

.ttl{
position:relative;
font-size: 1.4rem;
background: transparent;
margin: 0;
padding: 0;
font-weight:700;
}

.ttl::before{
content: "";
background: #186edd;
position: absolute;
bottom: 0;
left: 50%;
width: 30px;
height: 2px;
transform: translateX(-50%)
}

.ttl span{
font-family: "Noto Sans JP", serif;
font-size: 1rem;
font-weight: 800;
margin-left: 5px;
}




/*--スクロールトップ---------*/
#totop {
bottom: 75px;
display: block;
position: fixed;
right:15px;
z-index: 50;
}
#totop a {
display: block;
width: 36px;
height: 36px;
text-indent: -1000em;
overflow: hidden;
background: url("../images/com/btn_scroll_top.png") 0 0 no-repeat;
background-size: auto auto;
background-size: 100% auto;
}


/*anchor link*/
/*----------------------------*/
#a,#b,#c,#d,#e,#f,#g,#h,#i,#link{
padding-top:50px;
margin-top:-50px
}
/* com
--------------------------------------------*/
.pcBr {
display: none;
}
.spBr {
display: inline-block;
}
.pc {
display: none !important;
}
.sp {
display: block;
}

/*main
--------------------------------------------*/
main{
position: relative;
z-index: 5;
background: #FFF;
}

/* com
--------------------------------------------*/
.ttl{
position:relative;
font-size: 1.4rem;
background: transparent;
margin: 0;
padding: 0;
font-weight:700;
}

.ttl::before{
content: "";
background: #186edd;
position: absolute;
bottom: 0;
left: 50%;
width: 30px;
height: 2px;
transform: translateX(-50%)
}

.ttl span{
font-family: "Noto Sans JP", serif;
font-size: 1rem;
font-weight: 800;
margin-left: 5px;
}


/*--------スマホメニュー-------*/
.sp_list {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
position: fixed;
bottom: 0;
z-index: 100;
height: 60px;
background:rgba(255,255,255,1);
}
.sp_list li {
width:49.9%;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
overflow:hidden;
background-image:url("../images/com/mask_contact.png");
background-size:160%;
background-repeat:no-repeat;
background-position:center bottom;
-webkit-transition:all 500ms cubic-bezier(0.65, 0, 0.35, 1);
transition:all 500ms cubic-bezier(0.65, 0, 0.35, 1)
}

header .contact a:hover {
background-size:110%
}
}
.sp_list li a {
display: block;
color: #fff;
text-align: center;
font-size:.8rem;
font-weight: 800;
}
.sp_list li a span.tit {
display: block;
line-height:1;
}
.sp_list li a i {
font-size: 16px;
margin: 0 0 10px;
}
.sp_list .end {
display: none;
}

}