@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400&display=swap');


/* ======================================================================================

    reset

====================================================================================== */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure, article, section { margin: 0; padding: 0; border: 0; outline: 0; box-sizing: border-box;}
body, table, input, textarea, select, option { font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Meiryo',sans-serif; }
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { display: block; } ol, ul { list-style: none; } blockquote, q { quotes: none; } :focus { outline: 0; } ins { text-decoration: none; } del { text-decoration: line-through; }

img{vertical-align:middle; width:100%; height:auto;}

html,body{height: 100%;}

body{
position: relative;
font-size:.9rem;
line-height: 1.8;
color:#000;
font-family:'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
font-weight: 300;
}

a,a img,a:hover img,li,li:hover,a::after,a:hover::after,a::before,a:hover::before,input,input:hover,
.trigger,.trigger:hover{-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;}

a:link {text-decoration:underline; color:#000;}
a:visited {text-decoration:underline; color:#000;}
a:hover{text-decoration:underline; color:#6C5500;}

a:hover img{opacity:0.7; filter: alpha(opacity=70); -ms-filter: "alpha( opacity=70 )";}

p{margin:0 0 20px 0; padding:0;}
p.lp{margin:0 0 0px 0; padding:0;}

h1,h2,h3,h4,h5{font-weight:normal; margin:0; padding:0; position: relative; width: 100%; line-height: 1.2;}

td,li,dt,dd{position: relative;}

/* ======================================================================================

    common

====================================================================================== */

.flex,
.box_cd{
display:-webkit-box;
display:-moz-box;
display:-webkit-flexbox;
display:-moz-flexbox;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:flex;
justify-content: space-between;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
-ms-justify-content: space-between;	
-webkit-flex-wrap:wrap;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
}

.flexB{
display:-webkit-box;
display:-moz-box;
display:-webkit-flexbox;
display:-moz-flexbox;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:flex;
-webkit-flex-wrap:wrap;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
}

.flex-end{align-items: flex-end;}

.flex2 li{width:48%;}
.flex3 li{width:32%;}
.flex4 li{width:24%;}
.flex5 li{width:19%;}

.flex2 li,
.flex3 li,
.flex4 li,
.flex5 li{margin-bottom: 30px; position: relative;}

.flex_box li,.box01{border-radius:5px; padding:20px; overflow:hidden; position: relative; border:#a00000 solid 1px;}

.inner,#header nav ul{margin:0 auto; position:relative; max-width:1140px; padding:0 20px;}
.inner3{padding:0 1%;}

.icon{-moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; padding:0px 4px;}
.icon_blue{background: #000DB3; color: #fff; text-shadow:none;}


@media only screen and (max-width:767px) {
.inner{margin:0 auto; width: 90%; padding: 0;}
.flex2 li,.flex3 li,.flex4 li,.flex5 li{width:100%;}
.inner3{padding:0 5%;}
}


.ul00 li{padding: 5px 0 5px 15px; position: relative;}
.ul_num li{ list-style: decimal; margin-left: 20px;}

.ul01 li{padding: 2px 0 2px 15px; position: relative;}
.ul01 li::before{
position: absolute;
content: '';
border-radius:100%;
top: 0;
bottom: 0;
margin: auto;
left: .5em;
z-index: 2;
width: 3px;
height: 3px;
background: rgba(0, 0, 0, 1);}

.ul02 li{padding: 5px 0; border-bottom: #C89E9F dotted 1px; position: relative;}

.ul_memo li{margin-left: 20px; font-size: 80%; padding: 5px 0; position: relative;}
.ul_memo li::before{content: '※'; position: absolute; top: 5px; left: -15px;}


table.table01{width: 100%; border-collapse:collapse; line-height: 1; font-size: .8rem}
.table01 th{border: #000000 solid 1px; padding: 5px; font-weight: normal; background: #E0E0E0;}
.table01 td{border: #000000 solid 1px; padding: 5px;}

table.table02{width: 100%; border-collapse:collapse; line-height: 1; font-size: .8rem}
.table02 th{border: #fff solid 1px; padding: 5px; font-weight: normal; background: #E0E0E0;}
.table02 td{border: #fff solid 1px; padding: 5px;}


.box01{margin-bottom:20px; border-radius:0 20px 0 20px; padding:20px; overflow:hidden; position: relative; border:#a00000 solid 1px;}
.box02{margin-bottom:20px; padding:20px; position: relative; border-bottom:#666 dotted 1px;}

a.bt01,
a.bt02{text-decoration:none; border-radius:10px; padding:5px 30px 5px 15px; position:relative;}

a.bt01{
background: rgb(255,255,255);
background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(241,241,241,1) 50%, rgba(225,225,225,1) 51%, rgba(246,246,246,1) 100%);
background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 50%,rgba(225,225,225,1) 51%,rgba(246,246,246,1) 100%);
background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(241,241,241,1) 50%,rgba(225,225,225,1) 51%,rgba(246,246,246,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f6f6f6',GradientType=0 );
}

a.bt02{}

a.bt01:link,a.bt01:visited,
a.bt02:link,a.bt02:visited{text-decoration:none; color:#000;}

a.bt01:hover,
a.bt02:hover{text-decoration:none; color:#fff;
background: #870026;
background: -moz-linear-gradient(top,  #870026 0%, #a7003a 16%, #a7003a 45%, #7f0030 55%, #7f0030 92%, #741934 100%);
background: -webkit-linear-gradient(top,  #870026 0%,#a7003a 16%,#a7003a 45%,#7f0030 55%,#7f0030 92%,#741934 100%);
background: linear-gradient(to bottom,  #870026 0%,#a7003a 16%,#a7003a 45%,#7f0030 55%,#7f0030 92%,#741934 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#870026', endColorstr='#741934',GradientType=0 );
}

a.bt01::after,
a.bt02::after{content:'';
    height: 0;
    position: absolute;
    width: 0;
    border:4px solid transparent;
    border-left-color: #000;
    right:2%;
    top: 0;
	bottom: 0;
	margin: auto;
	z-index:1;}
a.bt01:hover::after,
a.bt02:hover::after{right:.5%; border-left-color: #fff;}



@media only screen and (max-width:767px) {
a.bt01,a.bt02{display: block;}
}



/** アコーディオン
-------------------------------------------------- */


ul.acordion{margin:0; padding:0; border-radius: 10px; width: 100%;}
ul.acordion .trigger{cursor: pointer; display: block; text-align: center; padding-bottom:20px; font-size: 1rem; position: relative;}
ul.acordion .trigger:hover{color: #E05D60;}
ul.acordion li .none-submenu,
ul.acordion li .active-submenu{display: block; width:100%;}

ul.acordion li{position:relative; padding:5px 10px;}

ul.acordion li .none-submenu::after,
ul.acordion li .active-submenu::after{
content: "";
position: absolute;
right: 0px;
left: 0px;
width: 0px;
height: 0px;
margin: auto;
border-style: solid;
border-color: #9cc3e8 transparent transparent transparent ;
border-width: 12px 10px 0px 10px;
}

ul.acordion li .active-submenu::after{transform: rotate(180deg);}

ul.acordion li .none-submenu::after,
ul.acordion li .active-submenu::after{animation:gounder 1.5s both; animation-iteration-count: infinite;}


@keyframes gounder {
0% {bottom: 5px;}
50%{bottom: 0px;}
100% {bottom: 5px;}
}

ul.acordion li .submenu{padding: 25px;}

ul.acordion li ul {margin-bottom: 20px}

ul.acordion li ul li{position:relative; border: #000 solid 0px; margin-bottom: 0px; padding: 0px 0px 0px 15px;}




ul.acordion2{margin:0; padding:0;}
ul.acordion2 .trigger{cursor: pointer; line-height: 2.5; display: block; font-size: 1rem; font-weight: 400;}

ul.acordion2 li .none-submenu,
ul.acordion2 li .active-submenu{display: block; width:100%;}

ul.acordion2 li{position:relative; border: #000 solid 1px; margin-bottom: 20px; padding:5px 10px;}

ul.acordion2 li .none-submenu::after,
ul.acordion2 li .active-submenu::after{
content: "";
position: absolute;
bottom: 1px;
right: 0px;
left: 0px;
width: 0px;
height: 0px;
margin: auto;
border-style: solid;
border-color: #000 transparent transparent transparent;
border-width: 5px 5px 0 5px;
}

ul.acordion2 li .active-submenu::after{transform: rotate(180deg);}
ul.acordion2 li .submenu{border-top: #000 dotted 1px; padding: 25px;}

ul.acordion2 li ul {margin-bottom: 20px}

ul.acordion2 li ul li{position:relative; border: #000 solid 0px; margin-bottom: 0px; padding: 0px 0px 0px 15px;}
ul.acordion2 li ul li::before{
position: absolute;
content: '';
border-radius:100%;
top: 0;
bottom: 0;
margin: auto;
left: .5em;
z-index: 2;
width: 3px;
height: 3px;
background: rgba(0, 0, 0, 1);}

/* == anime == */
.delay1{animation-delay: 1s;}
.delay2{animation-delay: 2s;}
.delay3{animation-delay: 3s;}
.delay4{animation-delay: 4s;}

@keyframes show {
0% {opacity: 0;}
100% {opacity: 1;}
}


/* == header == */

#header{background: rgba(0,0,0,.7); color: #fff; position: fixed; top: 0; width: 100%; z-index: 2;}
#header .logo{width:150px; margin: 0 auto; height: 50px; padding-top: 4px;}

#header nav{width:100%; background: rgba(160,0,0,.3);}
#header nav ul li{text-align: center; line-height: 1.3; padding: 5px 0;}
#header nav ul span{font-size: .6rem; display: block;}
#header nav ul li a{font-size: .9rem; font-weight: 300; text-shadow: 1px 1px rgba(0,0,0,.7); text-decoration: none;}

@media only screen and (min-width:768px) {
#header .sitetitle{-webkit-flex: 1; flex: 1;}
}

.nav1,
.nav2,
.nav3,
.nav4,
.nav5,
.nav6,
.nav7{animation:show 1s both;}

.nav1{animation-delay: .8s;}
.nav2{animation-delay: 1s;}
.nav3{animation-delay: 1.2s;}
.nav4{animation-delay: 1.4s;}
.nav5{animation-delay: 1.6s;}
.nav6{animation-delay: 1.8s;}
.nav7{animation-delay: 2s;}

#header a:link,#header a:visited {color:#fff;}
#header a:hover{color:rgba(255,190,190,1);}



@media only screen and (max-width:767px) {
#header nav{display: none;}
}



/* == top == */

.dotpattern {
  background: rgba(0,0,0,.2);
  background-image: radial-gradient(rgba(0,0,0,.5) 40%, transparent 0), radial-gradient(rgba(0,0,0,.5) 40%, transparent 0);
  background-position: 0 0, 2px 2px;
  background-size: 4px 4px;
  width: 100%;
  height: 100%;
  position: relative;
}


.bg-slider {
	width: 100vw;
	height: 100vh;
	background-position:center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media only screen and (min-width:768px) {
.bg-slider {background-attachment: fixed;}
}

.bg-slider .caption{width: 60%; position: absolute; top:50%; left: 50%; transform: translate(-50%,-50%); border: #fff solid 0px; padding: 20px; animation:show 1s both; animation-delay: .5s;}
.bg-slider h1{text-align: center; font-size: 2rem; font-weight: 300; position: relative; line-height: 1.4; position: absolute; bottom:0; left: 0; width: 100%;}
.bg-slider h1,.heading1,.subvisual h1{
color: #e7ca64;
background: -moz-linear-gradient(top,  #8c6a20 0%, #e7ca64 50%, #bca04c 100%);
background: -webkit-linear-gradient(top,  #8c6a20 0%,#e7ca64 50%,#bca04c 100%);
background: linear-gradient(to bottom,  #8c6a20 0%,#e7ca64 50%,#bca04c 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8c6a20', endColorstr='#bca04c',GradientType=0 );
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.bg-slider h1 span{display: block; font-size: 80%}
.bg-slider h1::before{content: '';}

.bg-slider a.scroll{width: 50px; height: 50px; position: absolute; bottom:5%; left: 50%; margin-left: -25px; border: #fff solid 1px; border-radius: 500rem; opacity: .5;}
.bg-slider a.scroll:hover{opacity: 1;}
.bg-slider a.scroll::before{content: 'scroll'; width: 100%; text-align: center; font-size: .7rem; color: #fff; position: absolute; left: 0; bottom: 5px; margin: auto;}
.bg-slider a.scroll::after{
content: "";
position: absolute;
right: 0px;
left: 0px;
width: 0px;
height: 0px;
margin: auto;
border-style: solid;
border-color: #fff transparent transparent transparent ;
border-width: 10px 6px 0px 6px;
animation:goscroll 1.5s both; animation-iteration-count: infinite;}

@keyframes goscroll {
0% {top: 8px;}
50%{top: 15px;}
100% {top: 8px;}
}

@media only screen and (max-width:767px) {
.bg-slider h1{font-size: 1.4rem;}
.bg-slider .caption{width: 90%;}
}

.li_service{width: 50%; padding:30px 50px; overflow:hidden; position: relative; color: #FFFFFF; line-height: 1.4; text-decoration: none;}
.li_service{background: rgb(58,0,0);
background: -moz-linear-gradient(-45deg,  rgba(58,0,0,1) 1%, rgba(160,0,0,1) 100%);
background: -webkit-linear-gradient(-45deg,  rgba(58,0,0,1) 1%,rgba(160,0,0,1) 100%);
background: linear-gradient(135deg,  rgba(58,0,0,1) 1%,rgba(160,0,0,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3a0000', endColorstr='#a00000',GradientType=1 );
}

.li_service h3{font-size: 1.4rem; font-weight: 100; text-align: center; border-bottom: #fff dotted 1px; margin-bottom: 10px; padding-bottom: 10px}
.li_service h3 span{display: block; font-size: 1rem;}
.li_service i{font-size: 15rem; opacity: .2; position: absolute; top: -1%; right: -1%;}

.li_service a,
.Facilitytxt2 a{text-decoration:none; border-radius:5px; padding:3px 20px 3px 15px; position:relative; color: #fff; border: #fff dotted 1px; font-size: .7rem}

.li_service a::after,
.Facilitytxt2 a::after
{content:'';
    height: 0;
    position: absolute;
    width: 0;
    border:3px solid transparent;
    border-left-color: #fff;
    right:2%;
    top: 0;
	bottom: 0;
	margin: auto;
	z-index:1;}
.li_service a:hover::after,
.Facilitytxt2 a:hover::after{right:.5%; border-left-color: #fff;}

.li_service h4{font-size: 1.2rem; font-weight: 100; margin-bottom: 10px; text-align: center;}

.movielist li{width: 24%; margin: 0 .5% 20px; text-align: center; border-bottom: #540001 dotted 1px;}
.movielist li .fab{margin-left: 5px; color: #CD0003;}

.biography{font-size: .7rem;}

dl.biography{line-height: 2.2; margin: 0 auto;}
dl.biography dt{}
dl.biography dd{margin-top:-25px; padding-left: 50px; border-bottom: #666 dotted 1px;}

.link {font-size: .7rem}
.link li{margin-bottom: 20px;}
.link li a{display: block;}

@media only screen and (max-width:767px) {
.movielist li{width: 49%;}
.li_service{width: 100%;}
}

/* == pages == */
.subvisual{height: 400px; position: relative;}
.subvisual h1{text-align: center; font-size: 3rem; font-weight: 100; position:absolute; bottom: 50px;}
.subvisual h1 span{font-size: 1.4rem; font-weight: 300;}


.subvisual h1::before{content: ''; background: url("../img/common/heading_bg2.png") center top no-repeat; background-size: 350px; top: -80px ; left: 0; width: 100%; height: 300px; position: absolute;}


.page-label{background: url("../img/label/mv.jpg") center center no-repeat; background-size: cover;}
.page-studio{background: url("../img/studio/mv.jpg") center center no-repeat; background-size: cover;}
.page-salon{background: url("../img/salon/mv.jpg") center center no-repeat; background-size: cover;}
.page-access{background: url("../img/access/mv.jpg") center center no-repeat; background-size: cover;}
.page-contact{background: url("../img/contact/mv.jpg") center center no-repeat; background-size: cover;}
@media only screen and (min-width:768px) {
.page-label,.page-studio,.page-salon,.page-access,.page-contact{background-attachment: fixed;}
}

@media only screen and (max-width:500px) {
.subvisual h1{font-size: 2rem; font-weight: 300;}
}

@media only screen and (max-width:400px) {
.subvisual h1{font-size: 1.6rem;}
.subvisual h1 span{font-size: 1.2rem;}
}

.flex_fullphotoBG{background: #000000;}
.flex_fullphotoBG li{width: 50%; background-size: cover; padding: 50px; background-repeat: no-repeat; background-position: center center; color: #fff; text-shadow: 1px 1px 3px rgba(0,0,0,1); text-align: center;}
.flex_fullphotoBG li.glass{background-image: url("../img/salon/insistence_glass.jpg");}
.flex_fullphotoBG li.floor{background-image: url("../img/salon/insistence_floor.jpg");}
.flex_fullphotoBG li.wall{background-image: url("../img/salon/insistence_wall.jpg");}
.flex_fullphotoBG li.room{background-image: url("../img/salon/insistence_room.jpg");}
.flex_fullphotoBG h3{font-size: 1.6rem; font-weight: 300;}


.FacilityArea1{background: rgb(58,0,0);
background: -moz-linear-gradient(-45deg,  rgba(58,0,0,1) 1%, rgba(160,0,0,1) 100%);
background: -webkit-linear-gradient(-45deg,  rgba(58,0,0,1) 1%,rgba(160,0,0,1) 100%);
background: linear-gradient(135deg,  rgba(58,0,0,1) 1%,rgba(160,0,0,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3a0000', endColorstr='#a00000',GradientType=1 );
color: #fff
}

.FacilityPhoto,.FacilityPhoto2{background-position: center center; background-repeat: no-repeat; background-size: cover; width: 33%; min-height: 300px;}

.Facilitytxt,.Facilitytxt2{padding: 20px 50px;}
.Facilitytxt{width: 34%; }
.Facilitytxt2{width: 67%;}

.FacilityPiano{background-image: url("../img/salon/facility_piano.jpg")}
.FacilityPiano2{background-image: url("../img/salon/facility_piano2.jpg")}
.FacilityLighting{background-image: url("../img/salon/facility_lighting.jpg")}
.FacilityLighting2{background-image: url("../img/salon/facility_lighting2.jpg")}
.FacilityGramo{background-image: url("../img/salon/facility_gramophone.jpg")}

.flex_facility{width: 90%; margin: 0 auto;}
.flex_facility h3{text-align: center; margin-bottom: 15px; font-size: 1.2rem; font-weight: 300;}
.flex_facility li{width: 50%; border-right: #000 dotted 1px; margin-bottom: 0px; padding:20px 50px;}
.flex_facility li:last-child{border-right: #000 dotted 0px;}

@media only screen and (max-width:767px) {
.flex_fullphotoBG li{width: 100%;}
.flex_facility li{width: 100%; border-right: #000 dotted 0px; border-bottom:#000 dotted 1px; margin-bottom: 0px; padding: 20px;}

.FacilityPhoto{width: 50%;}
.Facilitytxt,.FacilityPhoto2,.Facilitytxt2{width: 100%;}
}


.box_cd{width: 32.3333%; margin: 0 0.5% 40px; border: #666 solid 1px; border-radius: 10px; padding: 20px; position: relative; overflow: hidden;}
.box_cd h3{margin-bottom: 15px; text-align: center;}
.box_cd_jacket{width: 30%;}
.box_cd_detail{width: 65%; font-size: .8rem}
.box_cd_detail table{margin-bottom: 20px;}
.box_cd_detail a{display: block;}
.box_cd_detail i{margin-right: 5px;}

.box_cd span.soldout{position: absolute; top: 0; left: 0; background: rgba(180,0,0,.8); color: #fff; font-size: .8rem; padding: 5px 10px; border-radius: 0 0 10px 0; font-weight: 400;}

@media only screen and (max-width:767px) {
.box_cd_jacket{width: 50%; margin: 0 auto 30px;}
.box_cd,.box_cd_detail{width: 100%;}
}


.box_liveEX{width: 49%; margin: 0 .5% 20px; border: #000 solid 1px; border-radius: 10px; padding: 20px; position: relative; overflow: hidden;}
.liveEXtitle{text-align: center; margin-bottom: 10px; font-size: 1.1rem; color: #900002;}
.liveEXmovie{width: 49%; margin: 0 auto;}
.liveEXflyer{width: 30%; margin: 0 auto;}

.box_liveEX span.tag{position: absolute; top: 0; left: 0; background: rgba(180,0,0,.8); color: #fff; font-size: .8rem; padding: 2px 5px; border-radius: 0 0 10px 0; font-weight: 400;}

@media only screen and (max-width:767px) {
.box_liveEX{width: 100%;}
.liveEXmovie{width: 80%;}
.liveEXflyer{width: 50%;}
}

.googlemap{border:0; width:100%; height: 450px; filter:grayscale(100%); -webkit-filter:grayscale(100%);}

/* == footer == */
#footer a{color: #fff;}

#footer{position: relative; z-index: 1; background: rgba(0,0,0,1); color: #fff}
#footer .inner{padding-top: 10px; padding-bottom: 10px; font-size: .9rem;}
#footer .add{font-size: .9rem; width: 330px;}
#footer .add span{font-size: 80%; display: block;}
#footer .add i{margin-right: 10px;}
#footer .add .telarea{overflow: hidden;}
#footer .add li{float: left;}
#footer .add li:first-child{margin-right: 15px;}
#footer .sns{overflow: hidden; flex: 1;}
#footer .sns li{padding: 0 20px; float: left;}
#footer a.youtube{color: #ff0000; font-size: 2rem; text-decoration: none; position: relative;}
#footer a.youtube:hover{opacity: .8}

#footer a.youtube::after{text-align: center; font-size: .6rem; position: absolute; left: 50%; transform: translate(-50%,0%); width: 150%; bottom: -10px; color: #fff;}

#footer a.youtube1::after{content: 'Office Amici';}
#footer a.youtube2::after{content: 'albinojp11';}

@media only screen and (max-width:767px) {
#footer .sns{flex: auto;}
#footer .add{width: 100%;}
}

.copy{text-align:center; font-size:.7rem;}


/* == section == */
main#maincolumn{padding: 50px 0;}
section{position:relative;}
section.fullarea{padding-top: 50px; padding-bottom: 50px;}
section .inner,.inner2,.inner3{position:relative; padding-top: 50px; padding-bottom: 50px;}
article{margin-bottom: 50px; position: relative;}

/* == heading == */
.heading1{font-size: 2.5rem; font-weight: 100; text-align: center; margin-bottom: 40px; position: relative;}
.heading2{font-size: 1.2rem; font-weight: 300; margin-bottom: 30px;}
.heading3{font-size: 1.4rem; font-weight: 300; text-align: center; margin-bottom:20px;}

span.subheading1{font-size: 1rem; display: block; font-weight: 300; line-height: 2;}
span.subheading2{font-size: 80%; font-weight: 300; margin-left: 5px;}

.heading1::before{content: ''; background: url("../img/common/heading_bg1.png") center top no-repeat; background-size: 250px; top: -50px ; left: 0; width: 100%; height: 100%; position: absolute;}

@media only screen and (max-width:767px) {
span.subheading2{display: block; margin-left: 0px;}
}

/* == form == */

input, button, textarea, select {margin:0; padding:10px; width:100%; background:#fff; border:#d25c43 solid 2px; border-radius:5px; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; box-sizing: border-box; margin-bottom: 30px;}

.textarea_h{min-height:200px;}

.bt_submit{background:#424343; color:#FFF; font-size:18px; border-radius:50px;}
.bt_submit:hover{background:#d25c43;}

.formtitle{margin-bottom: 5px;}

.checkbox-wrap{}
.label-checkbox input[type="checkbox"]{display: none;}
.label-checkbox{cursor: pointer;position: relative;}
.label-checkbox .lever{
  display: block;
  color: #979797;
  font-weight: normal;
  display: inline-block;
  padding: 8px 40px;
  border: 1px solid #979797;
  border-radius:20px;
  margin-right: 10px;
  margin-bottom: 10px;
  -webkit-transition: all 300ms cubic-bezier(1, 0, 0, 1);
  -moz-transition: all 300ms cubic-bezier(1, 0, 0, 1);
  -o-transition: all 300ms cubic-bezier(1, 0, 0, 1);
  transition: all 300ms cubic-bezier(1, 0, 0, 1);
  -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
  -moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
  -o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
  transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.label-checkbox .lever:before{
  content:'';
  position: absolute;
  left: 10px;
  top:-3px;
  border: 1px solid #979797;
  background: #fff;
  width: 20px;
  height: 20px;
  border-radius:100%;
  -webkit-transition: all 300ms cubic-bezier(1, 0, 0, 1);
  -moz-transition: all 300ms cubic-bezier(1, 0, 0, 1);
  -o-transition: all 300ms cubic-bezier(1, 0, 0, 1);
  transition: all 300ms cubic-bezier(1, 0, 0, 1);
  -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
  -moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
  -o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
  transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.label-checkbox:hover .lever:before{border-color: #c51315;}
.label-checkbox input[type="checkbox"]:checked + .lever{background: #c51315;color: #fff;}
.label-checkbox input[type="checkbox"]:checked + .lever{border-color:#c51315;}
.label-checkbox input[type="checkbox"]:checked + .lever:before{left:100%; margin-left: -44px; border-color: #fff;}

.radio-wrap{}
.label-radio input[type="radio"]{display: none;}
.label-radio{cursor: pointer; color: #828c9a; font-weight: normal;
  letter-spacing: 0;
  display: inline-block;
  position: relative;
  margin-right: 20px;
}
.label-radio .lever:before{
  content:'';
  border: 1px solid #ddd;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: middle;
  border-radius:10px;
  -webkit-transition: all 800ms cubic-bezier(1, 0, 0, 1);
  -moz-transition: all 800ms cubic-bezier(1, 0, 0, 1);
  -o-transition: all 800ms cubic-bezier(1, 0, 0, 1);
  transition: all 800ms cubic-bezier(1, 0, 0, 1);
  -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
  -moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
  -o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
  transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.label-radio input[type="radio"]:checked + .lever:before{
  opacity: 0;
  background: #eee;
  border-color: #eee;
  transform:scale(2);
}
.label-radio .lever:after{
  content:'';
  opacity: 0;
  position: absolute;
  left: 8px;
  top: 0px;
  width:8px;
  height: 16px;
  border-right: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
  transform:rotate(-200deg);
  -webkit-transition: all 400ms cubic-bezier(1, 0, 0, 1);
  -moz-transition: all 400ms cubic-bezier(1, 0, 0, 1);
  -o-transition: all 400ms cubic-bezier(1, 0, 0, 1);
  transition: all 400ms cubic-bezier(1, 0, 0, 1);
  -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
  -moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
  -o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
  transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.label-radio input[type="radio"]:checked + .lever:after{
  opacity: 1;
  position: absolute;
  left: 8px;
  top: 0px;
  width:8px;
  height: 16px;
  border-right: 2px solid #5bc0de;
  border-bottom: 2px solid #5bc0de;
  transform:rotate(40deg);
}



/* ======================================================================================

    other

====================================================================================== */


@media only screen and (min-width:768px) {
	
.pc{display:block;}
.sp{display:none;}


.res10{width:10%;}
.res11{width:11%;}
.res12{width:12%;}
.res13{width:13%;}
.res14{width:14%;}
.res15{width:15%;}
.res16{width:16%;}
.res17{width:17%;}
.res18{width:18%;}
.res19{width:19%;}
.res20{width:20%;}
.res21{width:21%;}
.res22{width:22%;}
.res23{width:23%;}
.res24{width:24%;}
.res25{width:25%;}
.res26{width:26%;}
.res27{width:27%;}
.res28{width:28%;}
.res29{width:29%;}
.res30{width:30%;}
.res31{width:31%;}
.res32{width:32%;}
.res33{width:33%;}
.res34{width:34%;}
.res35{width:35%;}
.res36{width:36%;}
.res37{width:37%;}
.res38{width:38%;}
.res39{width:39%;}
.res40{width:40%;}
.res41{width:41%;}
.res42{width:42%;}
.res43{width:43%;}
.res44{width:44%;}
.res45{width:45%;}
.res46{width:46%;}
.res47{width:47%;}
.res48{width:48%;}
.res49{width:49%;}
.res50{width:50%;}
.res51{width:51%;}
.res52{width:52%;}
.res53{width:53%;}
.res54{width:54%;}
.res55{width:55%;}
.res56{width:56%;}
.res57{width:57%;}
.res58{width:58%;}
.res59{width:59%;}
.res60{width:60%;}
.res61{width:61%;}
.res62{width:62%;}
.res63{width:63%;}
.res65{width:65%;}
.res66{width:66%;}
.res67{width:67%;}
.res68{width:68%;}
.res69{width:69%;}
.res70{width:70%;}
.res71{width:71%;}
.res72{width:72%;}
.res73{width:73%;}
.res74{width:74%;}
.res75{width:75%;}
.res76{width:76%;}
.res77{width:77%;}
.res78{width:78%;}
.res79{width:79%;}
.res80{width:80%;}
.res81{width:81%;}
.res82{width:82%;}
.res83{width:83%;}
.res84{width:84%;}
.res85{width:85%;}
.res86{width:86%;}
.res87{width:87%;}
.res88{width:88%;}
.res89{width:89%;}
.res90{width:90%;}
}



@media only screen and (max-width:767px) {
	
.pc{display:none;}
.sp{display:block;}

.res10,.res11,.res12,.res13,.res14,.res15,.res16,.res17,.res18,.res19,.res20,.res21,.res22,.res23,.res24,.res25,.res26,.res27,.res28,.res29,.res30,.res31,.res32,.res33,.res34,.res35,.res36,.res37,.res38,.res39,.res40,.res41,.res42,.res43,.res44,.res45,.res46,.res47,.res48,.res49,.res50,.res51,.res52,.res53,.res54,.res55,.res56,.res57,.res58,.res59,.res60,.res61,.res62,.res63,.res64,.res65,.res66,.res67,.res68,.res69,.res70,.res71,.res72,.res73,.res74,.res75,.res76,.res77,.res78,.res79,.res80,.res81,.res82,.res83,.res84,.res85,.res86,.res87,.res88,.res89,.res90{width:100%; margin-bottom:10px;}

}



/*--------共通--------*/


.photo_l{float:left; margin:0 10px 10px 0;}
.photo_r{float:right; margin:0 0px 10px 10px;}

.box_l{float:left;}
.box_r{float:right;}
.box_c{margin:0 auto;}

.txt_r{text-align:right;}
.txt_l{text-align:left;}
.txt_c{text-align:center;}

.block{display:block;}
.overflow{overflow:hidden;}
.cl{clear:both;}

.img_b5 img{margin-bottom:5px;}
.img_b10 img{margin-bottom:10px;}

.w10{width:10%;}
.w15{width:15%;}
.w20{width:20%;}
.w25{width:25%;}
.w30{width:30%;}
.w35{width:35%;}
.w40{width:40%;}
.w45{width:45%;}
.w50{width:50%;}
.w55{width:55%;}
.w60{width:60%;}
.w65{width:65%;}
.w70{width:70%;}
.w75{width:75%;}
.w80{width:80%;}
.w85{width:85%;}
.w90{width:90%;}

.mt5{margin-top:5px !important;}
.mt10{margin-top:10px !important;}
.mt15{margin-top:15px !important;}
.mt20{margin-top:20px !important;}
.mt25{margin-top:25px !important;}
.mt30{margin-top:30px !important;}
.mt35{margin-top:35px !important;}
.mt40{margin-top:40px !important;}
.mt45{margin-top:45px !important;}
.mt50{margin-top:50px !important;}

.mb5{margin-bottom:5px !important;}
.mb10{margin-bottom:10px !important;}
.mb15{margin-bottom:15px !important;}
.mb20{margin-bottom:20px !important;}
.mb25{margin-bottom:25px !important;}
.mb30{margin-bottom:30px !important;}
.mb35{margin-bottom:35px !important;}
.mb40{margin-bottom:40px !important;}
.mb45{margin-bottom:45px !important;}
.mb50{margin-bottom:50px !important;}

.mtb5{margin:5px 0 !important;}
.mtb10{margin:10px 0 !important;}
.mtb15{margin:15px 0 !important;}
.mtb20{margin:20px 0 !important;}

.ptb5{padding:5px 0 !important;}
.ptb10{padding:10px 0 !important;}
.ptb15{padding:15px 0 !important;}
.ptb20{padding:20px 0 !important;}

.mr3{margin-right:3px !important;}
.mr4{margin-right:4px !important;}
.mr5{margin-right:5px !important;}
.mr6{margin-right:6px !important;}
.mr7{margin-right:7px !important;}
.mr8{margin-right:8px !important;}
.mr9{margin-right:9px !important;}
.mr10{margin-right:10px !important;}
.mr15{margin-right:15px !important;}
.mr20{margin-right:20px !important;}

.f70per{font-size:70%}
.f80per{font-size:80%}
.f90per{font-size:90%}
.f110per{font-size:110%}
.f120per{font-size:120%}
.f130per{font-size:130%}
.f140per{font-size:140%}
.f150per{font-size:150%}
.f160per{font-size:160%}
.f170per{font-size:170%}
.f180per{font-size:180%}




.memo{font-size:85%; line-height: 1.5;}

.movie-wrap {position: relative; padding-bottom: 50%; padding-top: 30px; height: 0; overflow: hidden;}
.movie-wrap iframe {position: absolute; top: 0; left: 0; width:100%; height:100%;}

#page-top{position: fixed; bottom: 30px; right: 30px; z-index:20;}
#page-top{width: 50px; height: 50px; border: #fff solid 0px; border-radius: 500rem; opacity: .5; background: rgba(160,0,0,1)}
#page-top:hover{opacity: 1;}
#page-top::before{content: 'Back'; width: 100%; text-align: center; font-size: .7rem; color: #fff; position: absolute; left: 0; bottom: 5px; margin: auto;}
#page-top::after{
content: "";
position: absolute;
right: 0px;
left: 0px;
width: 0px;
height: 0px;
margin: auto;
border-style: solid;
border-color: transparent transparent #fff transparent ;
border-width: 0px 6px 10px 6px;
animation:backtop 1.5s both; animation-iteration-count: infinite;}

@keyframes backtop {
0% {top: 7px;}
50%{top: 12px;}
100% {top: 7px;}
}



@media only screen and (max-width:767px) {

}
