@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{
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 {
display: block;
position: relative;
}


header .header_logo {
position:fixed;
top:55px;
left:0;
z-index:10;
box-sizing: border-box;
width: calc(100% / 3);
}

header .header_logo .logo_mark{
width:210px;
margin:0 0 70px 2vw;
}

header .header_logo h1{
width: 80%;
margin: 0 auto;
}

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 .header_wrap .contact{
position: absolute;
bottom: 0;
left: 0;
width: 100%;
}

header .header_wrap .contact a {
position:relative;
font-family:"Noto Sans JP",sans-serif;
font-weight:700;
color:#ffffff;
font-size:14px;
-webkit-writing-mode:vertical-rl;
-ms-writing-mode:tb-rl;
writing-mode:vertical-rl;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:center;
-ms-flex-pack:center;
justify-content:center;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
width:100%;
padding:5vh 0;
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 .header_wrap .contact a:hover {
background-size:110%
}

/* footer
--------------------------------------------*/
footer{
position: relative;
margin: 0 0 0 calc(100% / 3);
width: calc((100% / 3 * 2) - 100px);
z-index: 1;
overflow: hidden;
background: url("../images/com/footer_bg.png") right top no-repeat;
background-size: cover;
}

footer .footer_wrap{
max-width: calc(500px + 22vw + 15vh);
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;
margin: 0 0 10px;
}

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;
}


/* side
--------------------------------------------*/
.side {
position:fixed;
top:0;
left:0;
width:calc(100% / 3);
height:100%;
min-height:600px;
z-index:2;
}

.side .mv{
position: relative;
width: 100%;
height: 100vh;
height: 100svh;
overflow: hidden;
}

.side .mv::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,.5);
z-index: 3;
}

.side .mv .swiper-slide {
width: 100%;
height: 100vh;
height: 100svh;
position:relative
}

.side .mv .swiper-slide .top-hero__bg {
width:100%;
height:100%;
-o-object-fit:cover;
object-fit:cover;
-o-object-position:center center;
object-position:center center;
font-family:"object-fit: cover; object-position: center center;";
-webkit-transition:-webkit-transform 16s linear;
transition:-webkit-transform 16s linear;
-o-transition:transform 16s linear;
transition:transform 16s linear;
transition:transform 16s linear,-webkit-transform 16s linear;
-webkit-transform:scale(1);
-ms-transform:scale(1);
transform:scale(1);
will-change:transform;
}

/* バックグラウンドズームの設定 */
.side .mv .swiper-slide .top-hero__bg img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 2s ease-in-out; /* アニメーションの速度 */
transform: scale(1.2); /* 初期スケール */
}

.top-hero .swiper-slide.swiper-slide-active .top-hero__bg img {
transform: scale(1); /* アクティブ時のスケール */
transition: transform 3s cubic-bezier(0.25, 1, 0.5, 1); /* 滑らかになるよう調整 */
}

/* contents
--------------------------------------------*/
main.content {
position:relative;
margin:0 0 0 calc(100% / 3);
padding:55px 0;
box-sizing: border-box;
width:calc((100% / 3 * 2) - 100px);
z-index:1;
box-shadow: 0 -34.67px 56px #40030d52;
}

main.content .section_wrap {
max-width:calc(500px + 22vw + 15vh);
padding:0 2vw;
margin:0 auto
}

/* com
--------------------------------------------*/
.ttl{
position:relative;
font-size:3rem;
line-height: 1;
padding-left: 90px;
margin: 0 0 40px;
}

.ttl::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 80px;
height:88%;
background-image: linear-gradient(90deg, #a68b28, #dc963c);
}

.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;
}


/*--スクロールトップ---------*/
#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{
padding-top: 50px;
margin-top: -50px
}
/* com
--------------------------------------------*/
.pcBr {
display: none;
}
.spBr {
display: inline-block;
}
.pc {
display: none !important;
}
.sp {
display: block;
}

/* header
--------------------------------------------*/
header {
display: block;
position: relative;
width: 100%;
height: 100vh;
height: 100svh;
margin: 0 auto 0;
}

header .header_logo {
position:relative;
}

header .header_logo .logo_mark{
position: fixed;
top:0;
left:0;
z-index:10;
box-sizing: border-box;
width:180px;
background: #FFF;
padding: 5px 8px;
box-sizing: border-box;
}

header .header_logo .logo_mark img{
filter: invert(1);
}

header .header_logo h1{
position: relative;
width: 80%;
margin: 40% auto 0;
z-index: 5;
}


header .hed_red_txt{
position: relative;
width: 90%;
z-index: 3;
margin: 80px auto 0;
}

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

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

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

header .header_wrap .contact{
position: absolute;
top: 0;
left: 0;
width: 100%;
}

header .header_wrap .contact a {
height: 30px;
position:relative;
font-family:"Noto Sans JP",sans-serif;
font-weight:700;
color:#ffffff;
font-size:12px;
display:flex;
justify-content:center;
align-items:center;
padding:10px;
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);
letter-spacing: -.04rem;
}

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

/* footer
--------------------------------------------*/
footer{
position: relative;
margin:0;
width:100%;
z-index:5;
overflow: hidden;
background: url("../images/com/footer_bg.png") right top no-repeat;
background-size: cover;
}

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

footer .footer_wrap .address{
color: #FFF;
opacity: .8;
margin: 0 0 40px;
text-align: center;
}

footer .footer_wrap .address dt{
font-size: 1.2rem;
font-weight: 700;
margin: 0 0 10px;
}

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

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

footer .footer_wrap .link_list li{
margin:0 1.5%;
text-align: center;
}

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


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

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

footer .footer_wrap .fot_list dl dt{
font-size: 1rem;
font-weight: 700;
margin: 0 0 10px;
color: #FFF;
text-align: center;
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: 20px;
}

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

footer .footer_wrap .copy{
text-align: center;
color: #FFF;
opacity: .8;
font-size: .7rem;
}

/* side
--------------------------------------------*/
.side {
position:fixed;
top: 0;
left: 0;
width:100%;
z-index:2;
overflow: hidden;
}

.side .mv{
position: relative;
width: 100%;
height: 100vh;
height: 100svh;
overflow: hidden;
}

.side .mv::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,.5);
z-index: 3;
}

.side .mv .swiper-slide {
width: 100%;
height: 100vh;
height: 100svh;
position:relative
}

.side .mv .swiper-slide .top-hero__bg {
width:100%;
height:100%;
-o-object-fit:cover;
object-fit:cover;
-o-object-position:center center;
object-position:center center;
font-family:"object-fit: cover; object-position: center center;";
-webkit-transition:-webkit-transform 16s linear;
transition:-webkit-transform 16s linear;
-o-transition:transform 16s linear;
transition:transform 16s linear;
transition:transform 16s linear,-webkit-transform 16s linear;
-webkit-transform:scale(1);
-ms-transform:scale(1);
transform:scale(1);
will-change:transform;
}

/* バックグラウンドズームの設定 */
.side .mv .swiper-slide .top-hero__bg img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 2s ease-in-out; /* アニメーションの速度 */
transform: scale(1.2); /* 初期スケール */
}

.top-hero .swiper-slide.swiper-slide-active .top-hero__bg img {
transform: scale(1); /* アクティブ時のスケール */
transition: transform 3s cubic-bezier(0.25, 1, 0.5, 1); /* 滑らかになるよう調整 */
}


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

/* com
--------------------------------------------*/
.ttl{
position:relative;
font-size:1.8rem;
line-height: 1;
padding-left: 50px;
margin: 0 0 40px;
}

.ttl::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 40px;
height:88%;
background-image: linear-gradient(90deg, #a68b28, #dc963c);
}

.ttl span{
font-family: "Noto Sans JP", serif;
font-size: .8rem;
font-weight: 800;
display: block;
}



/*--------スマホメニュー-------*/
.sp_list {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
position: fixed;
bottom: 0;
z-index: 1000;
height: 60px;
background:rgba(255,255,255,1);
}
.sp_list li {
background:rgba(0,0,0);
width:49.9%;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
}
.sp_list li a {
display: block;
color: #fff;
text-align: center;
font-size:.7rem;
}
.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;
}

}