@charset "UTF-8";

/*Reset=====================================*/
html,body,h1,h2,h3,p,ul,li{
margin: 0;
padding: 0;
line-height:1.0;
font-family:"Hiragino Kaku Gothic Pro",Meiryo, sans-serif;
}
ul,li{
list-style: none;
}
a{
text-decoration: none;
color: inherit;
}
img{
vertical-align: bottom;
border: none;
max-width:100%;
height:auto;
}


/*.container================================*/
body{
position: relative;
}
.container{
max-width: 960px;
padding: 0 10px;
margin: 0 auto;
}
p{
line-height: 1.4;
}

/*Header===================================*/
header{
padding: 20px 0;
background-image: linear-gradient(#eee, #bdbdbd);
}
header>.container,.pcnav>ul{
display: flex;
justify-content: space-between;
align-items: flex-end
}

header h1{
font-family: 'Norican', cursive;
/*font-weight: 100;*/
margin-bottom: 5px;
text-align: center;
animation: rotate 8s infinite ease 2s;
}
@keyframes rotate{
  0%{}
  100%{
    transform: rotateY(360deg)}
}

header .header-P{
font-size: 34px;
color: #d90000;
}
header p{
line-height: 1.0;
font-size: 14px;
}

/*Navigation================================*/
/*PC navigation*/
.pcnav a{
display: block;
margin-left: 16px;
font-size: 14px;
transition: 0.8s;
}
.pcnav .current{
color: #d90000;
}
.pcnav a:hover{
color:
#d90000;
}

/*spnav btn==============*/
.mask{
position: fixed;
top: 0;
right: 0;
width: 100%;
height: 100vh;
background-color: rgba(0, 0, 0, 0.8);
transition: 0.3s;
transform: translateY(-100%);
opacity: 0;
z-index: 80;
}
.mask.slide{
transform: translateY(0);
opacity: 1;
}

.btn{
display: none;
width: 50px;
height: 50px;
border: 1px solid #555;
position: relative;
box-sizing: border-box;
border-radius: 3px;
background-color: #eee;
cursor: pointer;
position: fixed;
top: 10px;
right: 10px;
transition: 1s;
z-index: 90;
}

.btn .line1,.btn .line2,.btn .line3{
display: block;
width: 30px;
height: 3px;
background-color: #555;
position: absolute;
margin:auto;
right: 0;
left: 0;
transition: 0.5s;
}
.btn .line1{
top: 16px;
}
.btn .line2,.btn .line3{
content: "";
}
.btn .line2{
top: 8px;
}
.btn .line3{
top: 24px;
}
.btn.slide .line1{
opacity: 0;
}
.btn.slide .line2{
transform: rotateZ(-225deg);
top: 16px;
}
.btn.slide .line3{
transform: rotateZ(225deg);
top: 16px;
}
.open,.close{
color: #555;
width: 100%;
display: block;
font-size: 12px;
position: absolute;
bottom: 2px;
text-align: center;
transition: 1s;
}
.close{
opacity: 0;
}
.open.slide{
opacity: 0;
}
.close.slide{
opacity: 1;
}

/*spnav================*/
.spnav{
display: none;
/*右にずらすときはfixedでないとうまく隠れない*/
position: fixed;
top: 60px;
right: -20%;
width: 100%;
transform: translateX(100%);
z-index:100;
transition: 0.5s
}
.spnav.slide{
transform: translateX(0);
}
.spnav li{
width: 80%;
}
.spnav i{
color: #888;
}
.spnav a{
display: block;
background-image: linear-gradient(#eee, #bdbdbd);
/*ブラウザの下メニューに引っかかる可能性があるので下アキ*/
line-height: calc((100vh - 120px) / 5);
font-size: 18px;
transition: 0.8s;
padding-left: calc((100% - 7em)/ 2);
box-sizing: border-box;
font-weight: bold;
}
.spnav .current span{
color: #d90000;
}
.spnav a:hover{
color: #d90000;
}

/*top-btn===================================*/
.top-btn{
display: none;
width: 60px;
height: 60px;
line-height: 60px;
background-color: rgba(221, 0, 0, 0.9);
border-radius: 50%;
text-align: center;
color: #fff;
cursor: pointer;

position: fixed;
bottom: 10px;
right: 10px;
}


/*KeyVisual=================================*/
.keyVis{
background: url(../img/paris_header.jpg) no-repeat center,url(../img/paris_rose.png) no-repeat center;
background-size: cover;
}
.keyVis>.container{
background: url(../img/paris_rose.png) no-repeat right;
background-size: 300px;
padding: 100px 10px;
}
.keyVis h2{
text-align: left;
font-family: 'Norican', cursive;
font-weight: 100;
font-size: 32px;
color: #fff;
text-shadow: #140027 2px 2px;
margin-bottom: 20px;
}
.keyVis p{
width: 500px;
color: #fff;
text-shadow: #000 1px 1px 1px;
margin-top: 20px;
}


/*Section共通===================================*/
.contents-1,.contents-3{
padding: 100px 10px;
}
.inner-section{
display: flex;
justify-content: space-between;
}
.inner-section>section{
width: 30%;
}
.contents-1 h2,.contents-3 h2{
display: block;
width: 300px;
padding: 8px 0;
border-radius: 5px;
border: #aaa 1px solid;
font-family: 'Norican', cursive;
font-weight: 100;
font-size: 32px;
text-align: center;
color: #333;
background-color: #c2c2c2;
text-shadow: 1px 1px #fff;
margin: 0 auto 50px;
}
section h3{
font-family: 'Norican', cursive;
font-weight: 100;
font-size: 28px;
text-align: center;
margin-bottom: 20px;
}


/*Contents-1====================*/
.contents-1 h3>span,.contents-1 h3>i{
display: block;
font-size: 60px;
color: #aaa;
margin-bottom: 50px;
transition: 1s;
}
.contents-1 a:hover h3>span,.contents-1 a:hover h3>i{
color: #d90000;
transform: scale(1.6,1.6);
}

/*Contents-2====================*/
.contents-2{
padding: 100px;
background: url(../img/paris_order.jpg) no-repeat center/cover fixed;
/*background-attachment: fixed;*/
text-align: center;
}
.contents-2 p:first-child{
font-family: 'Norican', cursive;
font-weight: 100;
font-size: 32px;
color: #fff;
text-align: center;
text-shadow: #26004d 2px 2px; 
margin-bottom: 20px;
}
.contents-2 p:last-child{
display: block;
width: 240px;
padding: 8px 0;
border-radius: 5px;
border: 1px solid #fff;
background-color: rgba(139, 0, 72, 0.3);
font-size: 20px;
color: #fff;
text-align: center;
margin: 0 auto;
transition: 1s;
}
.contents-2 p:last-child:hover{
background-color: rgba(139, 0, 72, 0.8);
border: none;
border-bottom: 2px solid #fff;
}


/*Contents-3====================*/
.contents-3 section{
padding: 20px;
background-color: #ffd8f0;
box-sizing: border-box;
}
.contents-3 img{
margin-bottom: 20px;
opacity: 0.6;
transition: 1s;
}
.contents-3 a:hover img{
opacity: 1.0;
}

/*Footer====================================*/
footer{
padding: 30px 0;
background: linear-gradient(#eee, #bdbdbd);
font-size: 14px;
text-align: center;
}


/*media query===============================
============================================*/
@media screen and (max-width:767px){
header{
padding: 10px 0;
}
header>.container,.pcnav>ul{
justify-content: center;
align-items: center;
}
.pcnav{
display: none;
}
.btn{
display: block;
}
.spnav{
display: block;
}
/*keyVis*/
.keyVis>.container{
background-size: 200px;
padding: 30px 10px;
}
.keyVis h2{
margin-bottom: 10px;
}
.keyVis img{
width: 300px;
}
.keyVis p{
width: 300px;
margin-top: 10px;
}

/*contents===============*/
.contents-1,.contents-3{
padding: 20px 10px;
}
.inner-section{
display: block;
}
.inner-section>section{
width: 100%;
max-width: 400px;
margin: 0 auto 30px;
}
.inner-section>section:last-child{
margin: 0 auto;
}
.contents-1 h2,.contents-3 h2{
width: 300px;
padding: 8px 0;
margin: 0 auto 30px;
}
.contents-3 h2{
margin: 0 auto 20px;
}
.contents-1 h3>span,.contents-1 h3>i{
font-size: 96px;
margin-bottom: 30px;
color: #d90000;
transform: scale(1.0,1.0);
}
.contents-1 a:hover h3>span,.contents-1 a:hover h3>i{
transform: scale(1.0,1.0);
}
.contents-2{
padding: 40px 0;
}
.contents-3 section{
max-width: 100%;
margin: 0 auto 20px;
}
.contents-3 img{
opacity: 1;
}
footer{
padding: 20px 0;
}
}/*767 end*/

@media screen and (max-width:499px){
.keyVis>.container{
background-size: 200px;
padding: 20px 10px;
}
.keyVis>.container{
background-size: 100px;
background-position: top 10px right;
}
}/*500 end*/
