/*----------
01.共通
02.ヘッダー
03.フッターお問い合わせ
04.フッター
----------*/

/*----------
01.共通
----------*/

@font-face {
    font-family: 'MARUMINO';
  src:url('../font/MARUMINO.woff2') format('woff2'),
         url('../font/MARUMINO.woff') format('woff'),
     url('../font/MARUMINO.ttf')  format('truetype'); ttf - Safari, Android, iOS
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'A-OTF-RyuminPro-Bold';
	src:url('../font/A-OTF-RyuminPro-Bold.woff2') format('woff2'),
         url('../font/A-OTF-RyuminPro-Bold.woff') format('woff'),
		 url('../font/A-OTF-RyuminPro-Bold.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family:'A-OTF-RyuminPro-Medium';
	src:url('../font/A-OTF-RyuminPro-Medium.woff2') format('woff2'),
         url('../font/A-OTF-RyuminPro-Medium.woff') format('woff'),
		 url('../font/A-OTF-RyuminPro-Medium.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'DFSSO3G';
	src:url('../font/DFSSO3G.woff2') format('woff2'),
         url('../font/DFSSO3G.woff') format('woff'),
		 url('../font/DFSSO3G.ttf')  format('truetype'); /* ttf - Safari, Android, iOS */
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'A-OTF-RyuminPro-Regular';
	src:url('../font/A-OTF-RyuminPro-Regular.woff2') format('woff2'),
         url('../font/A-OTF-RyuminPro-Regular.woff') format('woff'),
		 url('../font/A-OTF-RyuminPro-Regular.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'A-OTF-RyuminPro-Light';
	src:url('../font/A-OTF-RyuminPro-Light.woff2') format('woff2'),
         url('../font/A-OTF-RyuminPro-Light.woff') format('woff'),
		 url('../font/A-OTF-RyuminPro-Light.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'A-OTF-UDShinGoPro-Medium';
	src:url('../font/A-OTF-UDShinGoPro-Medium.woff2') format('woff2'),
         url('../font/A-OTF-UDShinGoPro-Medium.woff') format('woff'),
		 url('../font/A-OTF-UDShinGoPro-Medium.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'A-OTF-UDShinGoPro-Regular';
	src:url('../font/A-OTF-UDShinGoPro-Regular.woff2') format('woff2'),
         url('../font/A-OTF-UDShinGoPro-Regular.woff') format('woff'),
		 url('../font/A-OTF-UDShinGoPro-Regular.otf')  format('opentype'); /* ttf - Safari, Android, iOS */
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'mlsig';
	src:url('../font/mlsig.woff2') format('woff2'),
         url('../font/mlsig.woff') format('woff'),
		 url('../font/mlsig.ttf')  format('truetype'); /* ttf - Safari, Android, iOS */
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Mercury-DisplayBold';
	src:url('../font/Mercury-DisplayBold.woff2') format('woff2'),
         url('../font/Mercury-DisplayBold.woff') format('woff'),
		 url('../font/Mercury-DisplayBold.ttf')  format('truetype'); /* ttf - Safari, Android, iOS */
    font-weight: normal;
    font-style: normal;
}



body{
-webkit-font-smoothing: antialiased;
}

#wrapper{
background: #b20000;
width: 100%;
font-family: serif;
font-family: 'A-OTF-RyuminPro-Regular',serif;
font-size: 14px;
/* overflow: hidden; */
}

.pc{
display: block;
}

.sp{
display: none;
}

/*----------
02.ヘッダー
----------*/
/*
.bg_line{
height: 100vh;
background: rgba(255,255,255,0.4);
position: absolute;
top: 0%;
height: 100vh;
}

header.bg_on .bg_line{
display: none;
}

.bg_line01{
width: 30px;
right: 0;
transition: all 1.6s;
}

.bg_line02{
width: 1px;
right: 2px;
transition: all 2.3s;
}

.bg_line03{
width: 10px;
right: 4px;
transition: all 1.9s;
}

.bg_line04{
width: 30px;
right: 19px;
transition: all 1.4s;
}

.bg_line05{
width: 10px;
left: 13px;
transition: all 2.2s;
}

.bg_line06{
width: 10px;
left: 7px;
transition: all 2.5s;
}

.bg_line07{
width: 10px;
left: 0px;
transition: all 1.6s;
} */







header{
/* display: none; */
max-width: 124px;
width: 100%;
height: 100vh;
position: fixed;
z-index: 3;
top: 0;
left: 0;
right: 0;
margin: 0 auto;
/* background: url(../img/line_bg.png) repeat-y center top; */
}

header::before{
content: "";
max-width: 36px;
width: 50%;
height: 100vh;
background: rgba(217,0,0,0.9);
display: block;
position: absolute;
top: 0;
right: 50%;
transition: all .8s;
}

header::after{
content: "";
max-width: 36px;
width: 50%;
height: 100vh;
background: rgba(217,0,0,0.9);
display: block;
position: absolute;
top: 0;
left: 50%;
transition: all .8s;
}
header.bg_on::before{
width: 60%;
background: #fff;
max-width: none;
}

header.bg_on::after{
width: 60%;
background: #fff;
max-width: none;
}

header.active{
max-width: none;
width: 100%;
z-index: 10;
/* background: #fff; */
}

header h1{
max-width: 124px;
margin: 0 auto;
position: relative;
z-index: 10;
padding: 20px 0 0;
}

header h1 img{
width: 100%;
}

header .line{
width: 1px;
height: 100vh;
background: #fff;
position: absolute;
top: 0%;
transition: all 2s;
}

header.active .line{
display: none;
}

header .line01{
left: 25px;
}

header .line02{
right: 25px;
}

.nav_btn{
width: 30px;
height: 26px;
position: relative;
margin: 16px auto 0;
cursor: pointer;
z-index: 10;
}

header.active .nav_btn{
z-index: 3;
}

.nav_btn .nav_line{
width: 30px;
border-top: 2px solid #fff;
position: absolute;;
left: 0;
display: block;
transition: all .4s;
}

.nav_btn .nav_line01{
top: 0;
}

.nav_btn .nav_line02{
top: 12px;
}

.nav_btn .nav_line03{
top: 24px;
}

.active .nav_btn .nav_line01{
	-webkit-transform: translateY(12px) rotate(-45deg);
	transform: translateY(12px) rotate(-45deg);
}

.nav_btn .nav_line02.hover_line{
	-webkit-transform: translateX(12px) rotate(0deg);
	transform: translateX(12px) rotate(0deg);
}
.active .nav_btn .nav_line02{
	top:12px;
	left: 50%;
	opacity: 0;
	-webkit-animation: active-menu-bar02 .8s forwards;
	animation: active-menu-bar02 .8s forwards;
}

.active .nav_btn .nav_line03{
	-webkit-transform: translateY(-12px) rotate(45deg);
	transform: translateY(-12px) rotate(45deg);
}


header.active .nav_line{
border-color: #000;
}

header.active .nav_in{
position: relative;
z-index: 3;
}

.nav_in{
font-size: 20px;
line-height: 22px;
font-family:'A-OTF-RyuminPro-Medium',serif;
padding: 25px 0 0;

display: none;
}

.nav_in li{
text-align: center;
padding: 15px 0;
}





/*----------
03.フッターお問い合わせ
----------*/

.contact_footer{
border-top:1px solid #fff;
/* border-bottom:1px solid #fff; */
padding: 87px 0 96px;
position: relative;
z-index: 3;
background: #fff;
}

.contact_footer .next_btn{
border:1px solid #000;
max-width: 404px;
width: 100%;
margin: 0 auto;
color: #000;
font-size: 24px;
font-family: 'Mercury-DisplayBold',serif;
text-align: center;
padding: 23px 0;
transition: all .4s;
}

.contact_footer .next_btn a{
color: #000;
}

.contact_footer .next_btn:hover{
box-shadow: 0 20px 5px -10px rgba(0, 0, 0, 0.4);
transform: translateY(-10px);
background: #fff;
}

.contact_footer .next_btn:hover a{
color: #000;
}

#top .contact_footer .next_btn:hover{
box-shadow: 0 20px 5px -10px rgba(0, 0, 0, 0.4);
transform: translateY(-10px);
background: #000;
}

#top .contact_footer .next_btn:hover a{
color: #fff;
}


/*----------
04.フッター
----------*/

footer{
text-align: center;
padding: 64px 0 75px;
position: relative;
z-index: 3;
border-top: 1px solid #9f0000;
background:#b20000;
color:#000;
}

footer #tel_box .title{
font-size: 16px;
font-family: 'A-OTF-RyuminPro-Light',serif;
padding: 0 0 15px;
}

footer #tel_box .tel_number{
font-family: 'A-OTF-RyuminPro-Medium',serif;
font-size: 37px;
padding: 0 0 25px;
}

footer #address_box{
padding: 0 0 40px;
}

footer #address_box p{
font-size: 12px;
line-height: 20px;
font-family: 'A-OTF-RyuminPro-Regular';
}

footer .sns_box{
font-size: 0;
margin: 0 0 48px;
text-align: center;
}

footer .sns_box a{
max-width: 32px;
width: 100%;
border:1px solid #000;
padding: 7px 0;
border-radius: 50%;
box-sizing: border-box;
display: inline-block;
font-size: 0;
margin: 0 5px;
}

footer small{
display: block;
font-size: 10px;
color: #000;
font-family: 'A-OTF-RyuminPro-Medium',serif;
text-align: center;
}









@media only screen and (max-width:1024px){
/*----------
01.共通
----------*/

/*----------
02.ヘッダー
----------*/

/*----------
03.フッターお問い合わせ
----------*/
.contact_footer .next_btn{
width: 90%;
}

/*----------
04.フッター
----------*/


}

@media only screen and (max-width:750px){
/*----------
01.共通
----------*/
.pc{
display: none;
}

.sp{
display: block;
}

/*----------
02.ヘッダー
----------*/

header{
left: auto;
right: 0;
height: auto;
max-width: 94px;
padding: 0 13px;
box-sizing: border-box;
z-index: 55;
background: #fff;
}


header.bg_on::before{
background: #fff;
}

header.bg_on::after{
background: #fff;
}

header::before{
background:none;
}

header::after{
background:none;
}

header h1{
float: left;
max-width: 45px;
padding: 10px 0;
}

.nav_btn{
margin: 15px 0 0 auto;
width: 15px;
height: 13px;
}

.nav_btn .nav_line{
border-top:1px solid #000;
width: 15px;
}

.nav_btn .nav_line02{
top: 5px;
}

.nav_btn .nav_line03{
top: 11px;
}

.active .nav_btn .nav_line01{
-webkit-transform: translateY(6px) rotate(-45deg);
transform: translateY(6px) rotate(-45deg);
}

.active .nav_btn .nav_line03{
-webkit-transform: translateY(-5px) rotate(45deg);
transform: translateY(-5px) rotate(45deg);
}




/*----------
03.フッターお問い合わせ
----------*/

.contact_footer .next_btn{
width: 84%;
}


/*----------
04.フッター
----------*/

footer #tel_box{
width: 84%;
margin: 0 auto;
}

footer #address_box{
width: 84%;
margin:0 auto;
}


}
