@charset "UTF-8";
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, 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,article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,time, mark, audio, video {margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;box-sizing:border-box}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block;}
ol, ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,q:before, q:after {content:''; content:none;}
table {border-collapse:collapse; border-spacing:0;}
body{font-family:'Noto Sans JP',"Hiragino Kaku Gothic Pro", HiraGothicProN-W3,"ヒラギノ角ゴ ProW3",メイリオ,Meiryo,Osaka,'ＭＳ Ｐゴシック','MS PGothic',Verdana, Arial, Helvetica, sans-serif; color:#222; letter-spacing:.16em;line-height:2em;}
*,*:before,*:after {box-sizing:inherit;}
img{vertical-align:bottom;}
a{color:#1C1C1C; -webkit-transition:all 0.3s ease; -moz-transition:all 0.3s ease; -o-transition:all 0.3s ease; transition:all 0.3s ease; outline:none;}
.link a{color:#0170d8; display:inline-block; padding-right:30px}
a:hover{text-decoration:none;}
input[type=submit], button {padding:10px; text-align:center; font-size:16px; -webkit-appearance:none; border-radius:50px; background:#fff;border:none;line-height:1; outline:none}
/* bootstrap */
/* Font Awesome */
.fa-twitter:before {
    content: '𝕏';
    font-family: unset;
    font-weight: bold;
}
/* swiper */
.swiper-container {width: 100%; height: 100vh; z-index:0}
.swiper-container .swiper-slide{width:100%;}
.swiper-button-next,.swiper-button-prev{background-color:#000; border-radius:50%; width:40px; height:40px; top:45vw; right:-20px; left:auto; z-index:9;}
.swiper-button-next:hover,.swiper-button-prev:hover{background-color:#666;}
.swiper-button-prev{right:auto; left:-20px;}
.swiper-button-next:after, .swiper-button-prev:after{color:#fff; font-size:1.2rem; font-weight:bold;}
.swiper-pagination{position:static;}
.swiper-pagination-bullet{width:13px; height:13px; background:#000;}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:25px 14px;}

@media (min-width:768px){
	.swiper-button-next,.swiper-button-prev{top:40vw; width:48px; height:48px;}
}
@media (min-width:1024px){
	.swiper-button-next,.swiper-button-prev{top:42%;}
	.swiper-button-prev{left:-48px;}
	.swiper-button-next{right:-48px;}
}
@media (min-width:1200px){
	.container {max-width:1190px;}
}


/* header */
header{width:100%; position:fixed; z-index:10}
.headerIn{margin:3vw auto 0;}
.headerIn nav{display:none}
.headerIn nav li{margin:0 20px; color:#fff; font-weight:700}
.headerIn nav li span{font-size:.75rem;}
.headerIn nav li a{color:#000;}

.headerIn .logo{width:27vw; text-align:center; padding-left:4vw}
.headerIn .logo img{width:100%;}
.headerIn .logo .logo_d{display:none}

header.fixed .headerIn{max-width:1350px; background-color:#fff; padding:12px 15px 10px; filter:drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.102)); margin-top:0}
header.fixed .headerIn .logo{width:24vw; padding-left:0; margin-top:-1.5vw; margin-bottom:1vw}
header.fixed .headerIn .logo_f{padding-left:0 ; padding-top:2vw;display:block; width:100%;}
header.fixed .headerIn nav li a:hover{border-bottom:solid 1px #000}

.sphed-nav {position:absolute; right:2vw; top:2vw; z-index:11;}
.sphed-nav div{-webkit-transition:all .4s; cursor:pointer; display:block; height:50px; width:50px;  transition:all .4s; position:relative}
.sphed-nav div span{-webkit-box-sizing:border-box; -webkit-transition:all .4s; background-color:#000; box-sizing:border-box; display:inline-block; height:2px; left:0; margin:auto; position:absolute; right:0; transition:all .4s; width:24px;}
.sphed-nav div span:nth-child(1) {top:13px;}
.sphed-nav div span:nth-child(2) {top:20px;}
.sphed-nav div span:nth-child(3) {top:28px;}

#openbtn.active span{width:50%;background-color:#fff;}
#openbtn.active span:nth-child(1){-webkit-transform: translateY(9px) rotate(-45deg); transform: translateY(9px) rotate(-45deg);}
#openbtn.active span:nth-child(2){opacity:0;}
#openbtn.active span:nth-child(3){-webkit-transform: translateY(-6px) rotate(45deg); transform: translateY(-6px) rotate(45deg);}
#sp-nav{
	background-color:#000;
	position:absolute;
    width:80%;
    z-index:10;
	transform:translateX(100%);
    transition:transform .3s;
	top:0px;
	right:0;
	height:100vh;
	min-height:100%;
	padding:5vw 0 0 7vw;
	box-sizing:border-box;
}
#sp-nav.active{transform:translateX(0);}
#sp-nav ul{margin-bottom:5vw}
#sp-nav li{font-weight:700;}
#sp-nav li a{color:#fff; display:block; padding:2vw 0;}
#sp-nav .nav-logo{width:25vw; margin-bottom:8vw;}
#sp-nav .nav-logo img{width:100%}
#sp-nav .sns li {margin:0 3vw;}
#sp-nav .sns li a{display:block; width:40px; height:40px;}
#sp-nav .sns li img{width:100%}

@media (min-width:768px){
	header.fixed .headerIn .logo{width:13vw; margin:0; padding:1.5vw;}
	header.fixed .headerIn .logo_f{padding-top:0;}
	.headerIn .logo{width:20vw;}
	#sp-nav .nav-logo{width:15vw;}
	#sp-nav .sns li {margin:0 2vw;}
	#sp-nav .sns li a{padding-top:.7vw}
}
@media (min-width:1024px){
	.headerIn{margin:30px auto 0; padding:0 46px}
	.headerIn .logo{width:160px; padding-left:20px}
	.headerIn .logo .logo_d{display:block}
	.headerIn .logo .logo_f{display:none}
	.headerIn .logo img{width:100%;}
	header.fixed{padding:10px 0 0; min-height:60px;}
	header.fixed .headerIn{border-radius:50px;margin:0 30px}
	header.fixed .headerIn .logo{width:114px; padding:0 0 0 18px;}
	header.fixed .headerIn .logo .logo_d{display:none}
	header.fixed .headerIn .logo .logo_f{display:block}
	.headerIn nav {display:block;margin-bottom: 6px;}
	#sp-nav,.sphed-nav{display:none}
}
@media (min-width:1200px){
	header.fixed .headerIn{margin:auto;}
}
@media (min-width:1400px){
	.headerIn .logo{padding-left:0}
}


/* footer */
footer{background-color:#000; color:#fff; padding:10vw 0;}
.f-logo{width:35vw; margin:0 auto 6vw;}
.f-logo img{width:100%}
.snslist li{margin:0 3vw;}
.snslist li a{width:40px; height:40px; border-radius:50%;display:-webkit-flex; display:flex; -webkit-justify-content:center; justify-content:center; -webkit-align-items:center; align-items:center;}
.snslist img{width:100%}
.sitebn{width:85%; margin-left:auto; margin-right:auto}
.sitebn img{width:100%; display:block;}
.snslist p {letter-spacing: .1em;margin-top: 3vw;text-align: center;}
@media (min-width:720px){
	.sitebn{width:55%;}
}
@media (min-width:768px){
	footer .company{text-align:left; margin-bottom:0}
}
@media (min-width:1024px){
	footer{padding:40px 0 20px;}
	.f-logo{width:186px; margin:0;}
	.snslist li{margin:0 10px}
	.snslist li:last-child{margin-right:0}
	.snslist p {text-align: right;margin-top: 15px;}
	.sitebn{width:600px}
}

/* common */
.wrap{overflow:hidden;}
/*.bg{position:relative; z-index:-1;}
.bg_img{position:absolute; top:0; bottom:0; left:0; right:0; height:100%; width:100%; object-fit:cover; z-index:0;}*/
.bg-rimo{background:url("../img/common/rimo-bg.png"); background-size:50%; padding:60px 0}
.headline{margin-bottom:5vw}
.headline span{font-size:.875rem; color:#000; letter-spacing:.1em; display:block;text-align:center;font-weight:700;margin-top:-8px;}
.headline img{display:block; margin:0 auto; width:65%;}
.btn{margin:30px auto;font-size:1.25rem;letter-spacing:.15em; width:100%; position:relative; padding:0; font-weight:700;}
.btn a{color:#fff; display:block; background-color:#000; width:100%; padding:15px 0 17px 0; border-radius:50px;filter: drop-shadow(0px 2px 3px rgba(0, 0, 0, 0.102));}
.btn a:hover{background-color:#666}
.btn span{position:absolute; right:30px; top:50%; margin-top:-4px; padding-right:3px;}
.btn span:before,.btn span:after{content:""; display:block; width:16px; height:12px; border-radius:2px; border:solid 2px #fff;}
.btn span:after{border-left:none; border-bottom:none; position:absolute; top:-5px; right:-2px;}
.btn-outline{width:90%; font-weight:700; letter-spacing:normal; font-size:1rem; margin:0 auto; display:block}
.btn-outline a{color:#000;background-color:#fff; border:solid 3px #000; padding:10px 50px 12px 20px;}
.btn-outline span{right:20px;}
.btn-outline span:before,.btn-outline span:after{border:solid 2px #000;width:12px; height:9px;}
.btn-outline span:after{border-left:none; border-bottom:none;top:-3px; right:0;}
.btn-outline a:hover{background-color:#000; color:#fff;}
.btn-outline a:hover span:before,.btn-outline a:hover span:after{border-color:#fff;}

@media (min-width:768px){
	.bg-rimo{background:url("../img/common/rimo-bg.png"); background-size:25%;}
	.heading_text{font-size:1.2rem; margin-bottom:25px;}
	.btn{width:360px;}
	.btn-outline{width:auto;}
}
@media (min-width:1024px){
	.bg-rimo{padding:100px 0}
	.headline{margin-bottom:45px}
	.headline img{width:auto; height:100px}
	.headlinesub img{height:60px}
	.btn{width:400px;}
	.btn-outline{width:auto; margin:0}
}
@media (min-width:1200px){
	.heading_text{font-size:30px; letter-spacing:normal;}
	.headline{margin-bottom:60px}
}


/* main & news & slider */
#main,#main .inner,#main .main-img .swiper-slide{height:110vw}
#main{border:solid #000 6px; overflow:hidden; position:relative; z-index:0}
/*#main .bg_img{opacity:.96}*/
#main .main-img{position:absolute; left:0;right:0; top:0;bottom:0; z-index:1}
#main .main-img .swiper-slide{background-color:#222; width:100%}
#main .main-img .swiper-slide img{opacity:.96; position:absolute; top:0; bottom:0; left:0; right:0; height:100%; width:100%; object-fit:cover; z-index:0;}
#main .inner{position:relative; margin:0 auto; z-index:2}
#main .main-caption{text-align:center;color:#fff; line-height:normal; padding-top:40vw;letter-spacing:.08em;}

.presented{text-align:center}
.presented img{height:23px; margin-top:3vw}
.news{border:solid 4px #000; padding:4.5vw 5vw; border-radius:15px;margin-top:10vw;}
.news h3{font-size:.95rem; font-weight:bold; color:#000; letter-spacing:.1em; margin-bottom:10px; line-height:1.6em}
.news p{font-size:.8rem; line-height:1.7em; letter-spacing:.05em; margin-bottom:12px}

.slider{position:relative; width:90%; margin:0 auto;}
.slider.swiper-container-fade .swiper-slide {opacity: 0 !important;visibility: hidden !important;}
.slider.swiper-container-fade .swiper-slide .slide-inner {opacity: 0; transition: opacity .5s ease-in;}
.slider.swiper-container-fade .swiper-slide.swiper-slide-active {opacity: 1 !important;visibility: visible !important;}
.slider.swiper-container-fade .swiper-slide.swiper-slide-active .slide-inner {opacity: 1;}
.aboutPhotos{width:80%; margin:0 10% 5vw}
.abouttext{text-align:left;background-color:#fff;}
.abouttext h3{font-size:1rem; font-weight:bold; margin-bottom:10px; line-height:1.5em;}
.abouttext h4{font-weight:bold; margin:15px 0 10px;}
.abouttext p{letter-spacing:.1em;line-height:1.5em; font-size:.92rem;}

@media (min-width:768px){
	.abouttext h3{font-size:1.5rem; margin-bottom:12px;}
	.abouttext p{font-size:1rem;line-height:2em;}
	.news h3{font-size:1.4rem;}
}
@media (min-width:1024px){
	#main .main-caption{padding-top:340px;}
	.presented img{height:40px; margin-top:15px}
	.aboutPhotos{width:47%; margin:0 0 0 2%}
	.abouttext{width:50%; padding:15px 20px;}
	.news{padding:30px 50px; text-align:center; margin-top:100px;}
	.news h3{font-size:1.5rem; margin-bottom:20px;}
	.news p{font-size:1rem;}
}
@media (min-width:1200px){
	#main,#main .inner,#main .main-img .swiper-slide{height:850px;}
	#main .inner{max-width:1290px}
	#main .main-caption{padding-top:320px;}
	.abouttext h4{margin-top:50px}
}

/* LineUp */
.LineUplist li{width:40vw; height:50vw;margin:1vw 2.5vw 3vw;overflow:hidden;position:relative; z-index:0;filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.102)); border-radius:15px;}
.LineUplist li img{z-index:1; width:100%;}
.LineUplist li .lineuptext{position:absolute; z-index:2; left:0; bottom:0; background-color:#fff; padding:2vw 2.5vw; width:100%; line-height:normal; letter-spacing:normal}
.LineUplist li .lineuptext h4{color:#000; font-weight:700;font-size:.625rem; position: relative}
.LineUplist li .lineuptext h4 .label,.LineUplist li .lineuptext h4 .label span{border-radius:50%; display:block}
.LineUplist li .lineuptext h4 .label{position:absolute; top:-10vw; right:-4vw; width:64px; height:64px; background-color:#000; color:#fff; text-align:center; font-size:.875rem; font-weight:normal; padding:3px; transform: scale(0.6);}
.LineUplist li .lineuptext h4 .label span{border:solid 1px #fff; width:58px; height:58px; padding-top:10px; line-height:1.2em}
.LineUplist li .lineuptext p{font-size:.615rem;}
.LineUplist li .mask{width:100%; height:100%; position:absolute; top:0; left:0; background-color:rgba(0,0,0,0.8); -webkit-transition:all 0.6s ease; transition:all 0.6s ease; color:#fff; padding:4vw 3vw; box-sizing:border-box; font-size:.67rem; letter-spacing:normal; line-height:normal; z-index:3;
opacity:0; -webkit-opacity:0; -moz-opacity:0; filter:alpha(opacity=0); -ms-filter:"alpha(opacity=0)"; transition:1s all;}
.LineUplist li .mask br{display:none}
.LineUplist li.active .mask{bottom:0; opacity:1; -webkit-opacity:1; -moz-opacity:1; filter:alpha(opacity=100); -ms-filter:"alpha(opacity=100)"; transition:1s all;}
.subbox{background-color:#fff; margin-top:84px; padding:8vw 0; border-radius:15px;}
.parent {margin:0 auto; width:90%;}
.step{background-color:#F8F8F8; padding:40px 0 5vw; width:100%; text-align:center; border-radius:15px;margin-bottom:6vw;}
.step h4{color:#000; font-weight:bold;font-size:1.25rem; margin-bottom:20px}
.step h4 strong{position:relative}
.step h4 strong:before,.step h4 strong:after{position:absolute; width:90px; content:url("../img/common/line.png"); top:-8%;}
.step h4 strong:before{left:-90px;}
.step h4+p{font-size:.75rem; line-height:1.7em}
.step ul{margin-top:20px;}
.step li{color:#000; font-weight:bold; margin:0 1vw; line-height:normal;}
.step li span{color:#000; display:block;}
.step li p{border-radius:50%; width:30vw; height:30vw; background-color:#fff; overflow:hidden; margin-bottom:7px}
.step li p img{height:100%;}
.step2 li{display:-webkit-flex; display:flex; -webkit-justify-content:center; justify-content:center; -webkit-align-items:center; align-items:center; margin-bottom:4vw}
.step2 li p{width:110px; height:110px; margin-right:4vw;}
.step2 li div{text-align:left; font-size:.9rem}
.step3 li{margin:1vw 2vw;}
.step3 li p{width:20vw; height:20vw;}
.step3 li p img{height:107%;}
@media (min-width:768px){
	.LineUplist li{width:43%;margin:5px 3.5% 20px;}
	.LineUplist li .lineuptext{padding:20px;}
	.LineUplist li .lineuptext h4{font-size:1.05rem}
	.LineUplist li .lineuptext h4 .label{right:-1vw; top:-7vw; transform:scale(0.85);}
	.LineUplist li .lineuptext p{font-size:.8125rem}
	.LineUplist li .mask{padding:52px 25px;font-size:.875rem;letter-spacing:.1rem;line-height:1.675em;}
	.LineUplist li .mask br{display:inline}
	.step h4+p{font-size:1rem}
	.step li{margin:0 10px}
	.step3 li{margin:1vw 2vw;}
}
@media (min-width:1024px){
	.LineUplist li{width:272px;height:300px;margin:10px 17px 20px;}
	.LineUplist li:hover .mask{bottom:0; opacity:1; -webkit-opacity:1; -moz-opacity:1; filter:alpha(opacity=100); -ms-filter:"alpha(opacity=100)"; transition:1s all;}
	.LineUplist li .lineuptext h4 .label{transform:none; top:-50px; right:0;}
	.subbox{padding:40px 0 50px;}
	.subbox h3 img{width:auto; height:70px}
	.parent{display:-ms-grid;display:grid;-ms-grid-columns:repeat(2, 1fr);grid-template-columns:repeat(2, 1fr);-ms-grid-rows:repeat(420px 2);grid-template-rows: 420px 2;grid-column-gap:32px;grid-row-gap:22px;max-width:1100px;}
	.step{margin-bottom:inherit}
	.step h4{font-size:1.75rem;}
	.step li p{width:140px; height:140px;}
	.step1 {grid-area:1 / 1 / 2 / 2; }
	.step2 {grid-area:1 / 2 / 2 / 3; }
	.step3 {grid-area:2 / 1 / 3 / 3; }
	.step2 li{display:block}
	.step2 li p{width:100px; height:100px; margin-right:0;}
	.step2 li div{text-align:center}
	.step3 li{margin:0 15px}
}
@media (min-width:1200px){
	.LineUp.container {max-width:1255px;}
	.subbox{padding:50px 0 60px;}
	.parent{-ms-grid-rows:repeat(420px 319px);grid-template-rows: 420px 319px;}
	.step li p{width:160px; height:160px;}
	.step2 li p{width:120px; height:120px;}
	.step3 li{margin:0 10px}
	.step3 li p{width:100px; height:100px;}
}


/* Access & Infomation */
.access_content{margin-bottom:7vw}
.access_content img{border-radius:15px; width:100%; height:auto}
.access_content section{padding:15px;}
.access_content section h4{font-size:1.15rem; font-weight:700; margin-bottom:5vw;}
.access_content section p{font-size:.8125rem; line-height:normal;margin-bottom:3vw;}
.gmap {height:0; overflow:hidden; padding-bottom:75.25%; position:relative; border-radius:15px;}
.gmap iframe {position:absolute; left:0; top:0; height:100%; width:100%;}
.infobox{text-align:center; padding:0 4vw;}
.infobox .headline+p{letter-spacing:normal; font-size:.875rem}
.Circle{width:330px; height:330px; border-radius:50%; background:url("../img/content/dolce.jpg") center center no-repeat; margin:20px auto 0; display:none}
.FBBox{border:solid 4px #000; background-color:#fff; padding:4vw; border-radius:15px; height:80vw; width:100%; margin:5vw auto;}
.FBBox iframe{width:100%; height:100%;}

@media (min-width:768px){
	.access_content section h4{font-size:1.5rem;}
	.access_content section p{font-size:1rem}
	.gmap{padding-bottom:55.25%;}
	.infobox{padding:0 40px;}
	.Circle{display:block}
	.FBBox{height:560px; width:580px; padding:38px; margin:0}
}
@media (min-width:1024px){
	.access_content{margin-bottom:50px}
	.access_content img{width:50%; height:auto;}
	.access_content section{width:50%; padding:0 0 15px 40px;}
	.access_content section h4,.access_content section p{margin-bottom:15px}
	.gmap{padding-bottom:25.25%;}
	.infobox .headline+p{font-size:1rem}
}
@media (min-width:1200px){
	.infobox .headline{margin-bottom:15px;}
}






@media (min-width:768px){}
@media (min-width:1024px){}
@media (min-width:1200px){}



@media (min-width:768px){}
@media (min-width:1024px){}
@media (min-width:1200px){}
