@charset "utf-8";
/* 
	
CSS base.css */



/*
base #262626
*/


/*//////////////////


IE判別処理


//////////////////*/
#iealertbox { position: fixed; top: 0; right: 0; height: 100%; width: 100%; background: #262626; z-index: 10000; display: none; justify-content: center; align-items: center; pointer-events: none; }
#iealertbox.is-ie { display: flex; pointer-events: auto; }
#iealertbox .inbox { text-align: center; margin: 10%; color: #fff; }
#iealertbox .inbox .copy {  }
#iealertbox .inbox .txt { margin-bottom: 20px; }
#iealertbox .inbox .browser { text-align: center; display: flex; justify-content: center; }
#iealertbox .inbox .browser li { margin: 20px;  }
#iealertbox .inbox .browser li a { width: 280px; border: 2px solid #fff; padding: 40px; display: block; border-radius: 10px; box-sizing: border-box; text-decoration: none; color: #fff; }
#iealertbox .inbox .browser li a:hover { background: #666; }
#iealertbox .inbox .browser li a img { width: 120px; }
#iealertbox .inbox .browser li a .txt1 { margin-top: 20px; line-height: 1.8; }
@media screen and (max-width: 767px) {
	#iealertbox .inbox .browser { display: block; }
	#iealertbox .inbox .browser li { margin: 0; margin-bottom: 20px; }
	#iealertbox .inbox .browser li a { width: 100%; padding: 30px 8%; }
	#iealertbox .inbox .browser li a img { width: 80px; }
	#iealertbox .inbox .txt { text-align: justify; }
	#iealertbox .inbox .txt br { display: none;  }
}





/*//////////////////


Header


//////////////////*/

#header { width: 100px; height: 100%; background: #fff; z-index: 100; position: fixed; right: 0; top: 0; transition: 0.6s cubic-bezier(0.25, 1, 0.5, 1) 0.2s; background: #fafafa; }
#header.is-open { width: 150px; transition: 0.6s cubic-bezier(0.25, 1, 0.5, 1) 0s; background: #262626; }

@media screen and (max-width: 1280px){
	#header.is-open { width: 100px; }
}
@media screen and (max-width: 1040px) {
	#header { width: 100%; height: 120px; background: #fff; }
	#header.is-open { width: 100%; } 
}
@media screen and (max-width: 767px) {
	#header { height: 80px; }
}


#navlogobox .logo1 { display: none; }
#navlogobox .logo2 { display: block; width: 80%; margin: 20px auto 0; }
#navbtnbox { display: block; position: absolute; bottom: 20px; right: 0;z-index: 1; text-align:center; width: 100px; display: flex; flex-wrap: wrap; justify-content:center; font-size: 0; }
#navbtnbox a { text-decoration: none;  }
#navbtnbox a:hover { opacity: 0.6; }
#navbtnbox a:hover span { opacity: 0.6; transition: 0.5s; }
#navbtnbox .shop { width: 100%; text-align: center; }
#navbtnbox .shop a { text-align: center; margin-left: -6px; }
#navbtnbox .shop a img { width:32px; display: inline-block; margin: 0 auto 8px; }
#navbtnbox .shop a span { font-size: 1.3rem; text-align: center; line-height: 1.3; display:block; font-family: 'Cambay', YuGothic, "Yu Gothic Medium", "游ゴシック", "Yu Gothic", 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif; letter-spacing: 0.1em;}
#navbtnbox .mail { width: 100%; margin: 15px 0 12px;}
#navbtnbox .mail a img { width:20px }
#navbtnbox .instagram { margin-right: 8px;}
#navbtnbox .instagram a img { width:20px }
#navbtnbox .line a img { width:24px }
#header.is-open #navbtnbox { pointer-events: none;  }
@media screen and (max-width: 1040px) {
	#navbtnbox { bottom: auto; top:35px; right: 80px; transition: 0.5s; }
	#navbtnbox>div{ display:none;}
	#navbtnbox .shop { display:block; }	
	#navlogobox .logo1 { display: block;margin-left: 20px; margin-top: 25px; width: 210px}
	#navlogobox .logo2 { display: none; }
}
@media screen and (max-width: 767px) {
	#navbtnbox { top:20px; right: 60px; }
	#navbtnbox>div{ display:none;}
	#navbtnbox .shop { display:block; }
	#navbtnbox .shop a { margin: 0; }
	#navbtnbox .shop a img { display: block; margin: 0 auto 8px; }
	#navbtnbox .shop a span { display: inline-block; vertical-align: middle; margin-left: 5px; font-size: 1.1rem; }
	#navbtnbox .shop a span br { display: none; }
	#navlogobox .logo1 { margin-top: 15px; width: 160px; }
}
@media screen and (max-width: 500px){
	#navbtnbox { top:20px; right: 50px; }
}





/*//////////////////


Nav


//////////////////*/

#gnav { z-index: 1002; position: fixed; top: 0; right: 100px; display: flex; justify-content: space-between; align-items: center; height: 100vh; width: calc(100vw - 100px); opacity:0; background: #191919; pointer-events: none; transition: 0.6s cubic-bezier(0.25, 1, 0.5, 1) 0.2s; }
#gnav .navbox { display: flex; flex-direction: column; align-items: center; z-index: 10; width: 100%; padding: 0; box-sizing: border-box; }
#gnav.is-open { pointer-events: auto; right: 150px; opacity:1; transition: 0.6s cubic-bezier(0.25, 1, 0.5, 1) 0s; width: calc(100vw - 150px); }
#gnav a { transition: 1s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
#gnav ul.main { display: block; text-align:center; width:92%; margin-bottom:20px; }
#gnav ul.main>li { display: inline-block; margin: 3px 8px; }
#gnav ul.main>li a { font-size: 2.0rem; color: #fff; text-decoration: none; position: relative; }

#gnav .shopbox { position: absolute; bottom: 0; left: 0; display: flex; height: 360px; width: 100%; background: #ddd; max-height: 43vh; }
#gnav .shopbox>div { width: 50%; overflow: hidden; height: 100%; background-position: center center; background-size: cover; position: relative; color: #fff; z-index: 1; display: flex; justify-content: center; align-items: center;}
#gnav .shopbox>div:after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.3; background: #000; }
#gnav .shopbox .bg { position: absolute; top: 0; left: 0; object-fit: cover; font-family: 'object-fit: cover;'; display: block; width: 100%; height: 100%; }
#gnav .shopbox .inbox { z-index: 1; position: relative; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; font-size: 1.4rem;  line-height: 2;}
#gnav .shopbox .piccolomondo .logo img { width: 270px; margin-right: 40px; }
#gnav .shopbox .piccolomondo br.adj { display: none; } 
#gnav .shopbox .fuu .logo img { width: 150px; margin-right: 60px;}
#gnav .shopbox .link { text-align: center; width: 100%; margin-top: 20px; }
#gnav .shopbox .link a { opacity: 1; }
#gnav .shopbox img { width: 100px;}

#gnav .linkbox { text-align:center;  margin-bottom: 50px; }
#gnav .linkbox li { display: inline-block; color: #fff; margin: 0 10px; }
#gnav .linkbox li a { color: #fff; font-family: 'Cambay', sans-serif; letter-spacing: 0.14em; font-size: 2.4rem; text-decoration: none; line-height: 1; position: relative; }
#gnav .linkbox li:nth-child(3) a span { letter-spacing: 0.1em; font-size: 2.0rem; font-weight: bold; font-family: YuGothic, "Yu Gothic Medium", "游ゴシック", "Yu Gothic", 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;}
#gnav .linkbox li img { margin-right:10px; }
#gnav .linkbox li:nth-child(1) img { width: 22px; vertical-align:-3px; }
#gnav .linkbox li:nth-child(2) img { width: 22px; vertical-align:-1px; }
#gnav .linkbox li:nth-child(3) img { width: 26px; vertical-align:-5px; }
#gnav .linkbox li:nth-child(3) a span span { font-size: 1.4rem; font-weight: normal; }
#gnav .linkbox li a:after { content: ""; position: absolute; bottom:-10px; height: 2px; width: 0; left: 50%; margin-left: 0; background: #fff; transition: 0.4s cubic-bezier(0.25, 1, 0.5, 1); font-size: 0; }
#gnav .linkbox li a:hover:after { width: 100%; margin-left: -50%; }
#gnav .linkshop { padding-bottom:360px; }
#gnav .linkshop a { text-decoration: none; position: relative; }
#gnav .linkshop a span { color: #fff; text-decoration: none; font-size: 2.0rem; font-weight: bold; line-height: 1; }
#gnav .linkshop a img { width: 32px; margin-right:10px; vertical-align:-5px; }
#gnav ul.main>li a:after,
#gnav .linkshop a:after,
#gnav .linkbox li a:after { content: ""; position: absolute; bottom:-8px; height: 2px; width: 0; left: 50%; margin-left: 0; background: #fff; transition: 0.4s cubic-bezier(0.25, 1, 0.5, 1); font-size: 0; border-radius: 1px; }
#gnav .linkbox li a:after { bottom:-2px;  }
#gnav .linkshop a:after { bottom:-12px;  }
#gnav ul.main>li a:hover:after,
#gnav .linkshop a:hover:after,
#gnav .linkbox li a:hover:after { width: calc(100% + 16px); margin-left: calc(-8px - 50%); }
@media screen and (max-width: 1500px){
	#gnav .shopbox .piccolomondo br.adj { display: block; } 
}
@media screen and (max-width: 1280px){
	#gnav { right: 120px; width: calc(100vw - 50px); }
    #gnav.is-open { right: 100px; width: calc(100vw - 100px); }
    #gnav ul.main>li { display: inline-block; margin: 3px 5px; }
    #gnav .shopbox .piccolomondo .logo img { width: 180px; margin-right: 20px; }
    #gnav .shopbox .fuu .logo img { width: 110px; margin-right: 30px;} 
}
@media screen and (max-width: 1040px){
    #gnav { right: 0; top: 0; width: 100vw; transform: scale(1.1); overflow-y: scroll; -ms-overflow-style: none; }
    #gnav::-webkit-scrollbar { display: none; }
    #gnav.is-open { right: 0; top: 0; width: 100vw; transform: scale(1);}
    #gnav ul.main { margin-bottom:30px; padding-top: 60px; }
    #gnav ul.main>li { display: block; margin: 0 0 5px; }
	#gnav .shopbox { display: none; }
	#gnav .linkshop { padding-bottom:60px; }
	#gnav .linkbox li { display: block; margin-bottom: 14px; }
	#gnav ul.main>li a:after,
	#gnav .linkshop a:after,
	#gnav .linkbox li a:after { display: none; }
}
@media screen and (max-width: 767px){
    #gnav ul.main { margin-bottom:30px; padding-top: 60px; }
    #gnav ul.main>li { display: block; margin: 0 0 5px; }
	#gnav .shopbox { display: none; }
	#gnav .linkshop { padding-bottom:60px; }
	#gnav .linkbox li { display: block; margin-bottom: 14px; }
    #gnav ul.main>li { margin: 0 0 3px; }
	#gnav ul.main>li a { font-size: 1.8rem; }
    #gnav .linkbox { margin-bottom: 30px; }
	#gnav .linkbox li a { font-size: 1.8rem; }
	#gnav .linkbox li { margin-bottom: 10px }
	#gnav .linkbox li:nth-child(3) a span { font-size: 1.6rem; }
	#gnav .linkbox li img { margin-right:7px; }
    #gnav .linkbox li:nth-child(1) img { width: 18px; }
    #gnav .linkbox li:nth-child(2) img { width: 18px; }
    #gnav .linkbox li:nth-child(3) img { width: 22px; }
	#gnav .linkshop a span { font-size: 1.6rem; }
	#gnav .linkshop a img { width: 26px; }
}
@media screen and (max-width: 500px){
}
@keyframes bgfadeout {
  0% { visibility: visible; }
  100% { opacity: 0; visibility: hidden; }
}
@keyframes bgfadein {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes bgfadeout {
  0% { visibility: visible; }
  100% { opacity: 0; visibility: hidden; }
}








/*//////////////////


Menubtn


//////////////////*/

#menubtn { z-index: 1004; position: fixed; top: calc(50% - 20px); right: 10px; display: block; background: transparent; width: 80px; height: 80px; margin-top: -40px; transition : 0.3s; cursor: pointer; transition: 0.5s; }
#menubtn a { text-decoration: none; position: relative; display: block; height: 100%; width: 100%; }
#menubtn a .line { height: 44px; width: 2px; background: #262626; position: absolute; top:10px; overflow: hidden;  transition : 0.3s; }
#menubtn a .line:before { content: ""; position: absolute; left: 0px; top: 0; height: 0; width: 2px; background: #fafafa; z-index: 1;}
#menubtn a #line1 { left: 31px; animation: line-hover-back 1s cubic-bezier(0.25, 1, 0.5, 1) 0s 1 normal both; }
#menubtn a #line2 { left: 39px; animation: line2-hover-back 1s cubic-bezier(0.25, 1, 0.5, 1) 0.1s 1 normal both; }
#menubtn a #line3 { left: 47px; animation: line-hover-back 1s cubic-bezier(0.25, 1, 0.5, 1) 0.35s 1 normal both; }
#menubtn a:hover #line1 { animation: line-hover 1s cubic-bezier(0.25, 1, 0.5, 1) 0s 1 normal both; }
#menubtn a:hover #line3 { animation: line-hover 1s cubic-bezier(0.25, 1, 0.5, 1) 0.2s 1 normal both; }
#menubtn a:hover #line2 { animation: line2-hover 1s cubic-bezier(0.25, 1, 0.5, 1) 0.1s 1 normal both; }
#menubtn a:hover #line1:before { animation: line-hover-b 1s cubic-bezier(0.25, 1, 0.5, 1) 0s 1 normal both;}
#menubtn a:hover #line3:before { animation: line-hover-b 1s cubic-bezier(0.25, 1, 0.5, 1) 0.2s 1 normal both;}
#menubtn a .txt { position:absolute; top:62px; text-align:center; width:100%; font-family: 'Cambay', sans-serif; letter-spacing: 0.14em; transition: 0.5s; font-size: 1.3rem; }
#menubtn a .txt.close { opacity: 0; }
#menubtn.active { right: 40px; }
#menubtn.active a .line { background: #fff; }
#menubtn.active a .line,
#menubtn.active a .line:before { animation: none!important; }
#menubtn.active a #line1 { left: 33px; }
#menubtn.active a #line2 { top: 10px; transform:translateY(0) translateX(0) rotate(-60deg); }
#menubtn.active a #line3 { left: 45px; } 
#menubtn.active a .txt { color: #fff; }
#menubtn.active a .txt.menu { opacity: 0; }
#menubtn.active a .txt.close { opacity: 1; }
@media screen and (max-width: 1280px){
    #menubtn.active { right: 10px; }
}	
@media screen and (max-width: 1040px){
	#menubtn { top: 15px; right: 20px; margin-top: 0; }
	#menubtn a .line { height: 44px; }
    #menubtn.active { right: 30px; }
}
@media screen and (max-width: 767px){
	#menubtn { top: 0; right: 0; margin-top: 0; }
	#menubtn a .txt { top:48px; font-size: 1.1rem; }
	#menubtn a .line { height: 15px; }
	#menubtn a #line1 { top:27px; left: 31px; animation: none; }
    #menubtn a #line2 { top:22px; left: 39px; animation: none; }
    #menubtn a #line3 { top:27px; left: 47px; animation: none; }
    #menubtn.active a #line1 { left: 33px; }
    #menubtn.active a #line2 { top: 22px; height: 24px; }
    #menubtn.active a #line3 { left: 45px; } 
    #menubtn.active a:hover #line2 { height: 24px; }
    #menubtn a:hover #line1 { animation: none; height: 15px; top:27px; }
    #menubtn a:hover #line3 { animation: none; height: 15px; top:27px; }
    #menubtn a:hover #line2 { animation: none; height: 15px; top:22px; }
    #menubtn a:hover #line1:before { animation: none;}
    #menubtn a:hover #line3:before { animation: none;}
    #menubtn.active { right: 10px; }
}
@keyframes line-hover-b {
  0% { height: 0; margin-top: -44px; }
  40% { height: 10px; margin-top:0; }
  100% { height: 0; margin-top: 10px;}
}
@keyframes line-hover {
  0% { height: 44px; }
  40% { height: 10px; top:44px; }
  100% { height: 10px; top:44px; }
}
@keyframes line2-hover {
  0% { height: 44px; }
  40% { height: 0; top:54px; }
  100% { height: 0; top:54px; }
}
@keyframes line2-hover-back {
  0% { height: 0; top:54px; }
  100% { height: 44px; top:10px; }
}
@keyframes line-hover-back {
  0% { height: 20px; top:34px; }
  100% { height: 44px; top:10px; }
}






/*//////////////////


Mainv.index


//////////////////*/

#mainv.index { position: relative; height: 100vh; width: calc(100% - 100px) }
#mainv.index .bg { position: absolute; top: 0; left: 0; height: 100%; width: 100%; object-fit: cover; font-family: 'object-fit: cover;'; }
#mainv.index ul { display: flex; height: 100%; }
#mainv.index ul li { flex: 1; transition: 0.6s cubic-bezier(0.25, 1, 0.5, 1); padding: 0; position: relative; display: flex; align-items: center; justify-content: center; }
#mainv.index ul li .txtbox { text-align: center; z-index: 1; }
#mainv.index ul li .txtbox .logo { margin: 0 auto 10px; }
#mainv.index ul li:nth-child(1) .txtbox .logo { width: 270px; }
#mainv.index ul li:nth-child(2) .txtbox .logo { width: 210px; }
#mainv.index ul li .txtbox .tategaki { margin-bottom: 10px; font-size: 2.0rem; color: #fff; font-weight: bold; }
#mainv.index ul li .txtbox .txt2 { margin-bottom: 15px; font-size: 1.8rem; color: #fff; font-weight: bold; }
#mainv.index ul li:after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.5; background: #000; transition: 0.4s; }
#mainv.index ul li .txtbox .link { position: absolute; top: calc(50% + 130px); left: calc(50% - 130px); opacity: 0; transition: 0.5s 0s; }
#mainv.index ul li:nth-child(1) .txtbox .link { top: calc(50% + 180px); }
#mainv.index ul li:hover { flex: 2; }
#mainv.index ul li:hover .txtbox .link { opacity: 1; transition: 0.6s 0.4s; }
#mainv.index ul li:hover:after { opacity: 0.3; }
@media screen and (max-width: 1040px){
	#mainv.index { position: relative; width: 100%; margin-top: 120px; }
}
@media screen and (max-width: 767px){
	#mainv.index { margin-top: 80px; }
	#mainv.index ul { display: block; height: 100%; }
	#mainv.index ul li { flex: none; height: 50%; }
	#mainv.index ul li .txtbox .logo { margin: 0 auto 5px; }
	#mainv.index ul li .txtbox .tategaki { display: none; }
	#mainv.index ul li:nth-child(1) .txtbox .logo { width: 180px; }
	#mainv.index ul li:nth-child(2) .txtbox .logo { width: 130px; }
	#mainv.index ul li .txtbox .link { position: static; opacity: 1; }
	#mainv.index ul li .txtbox .txt2 { margin-bottom: 10px; font-size: 1.5rem; }
	#mainv.index ul li:hover { flex: none; }
	#mainv.index ul li:after { opacity: 0.25; }
}









/*//////////////////


Mainv.under


//////////////////*/

#mainv.under { height:560px; width: calc(100% - 100px); position: relative; display: flex; justify-content: center; align-items: center; background-position: center center; background-size: cover; }
#mainv.under.gallery { padding: 160px 0 100px; height: auto; }
#mainv.under.wide { height: 850px; justify-content: flex-start; align-items: flex-end; }
#mainv.under .box .pagetitle { text-align: center; margin-top: 40px; }
#mainv.under.wide .box.left { padding-left: 8%; padding-bottom: 140px; }
#mainv.under.wide .box.left .pagetitle { text-align: left; }
@media screen and (max-width: 1040px){
	#mainv.under { height: 400px; margin-top: 120px; width: 100%;}
	#mainv.under.gallery { padding: 60px 0; height: auto; }
	#mainv.under.wide { height: 700px; }
}
@media screen and (max-width: 767px){
	#mainv.under { height: 300px; margin-top: 80px; }
	#mainv.under.wide { height: 400px; }
	#mainv.under .box .pagetitle { margin-top: 20px; }
	#mainv.under.wide .box.left { padding-left: 6%; padding-bottom: 70px; }
}
@media screen and (max-width: 500px){
	#mainv.under { height: 240px; }
	#mainv.under.wide .box.left { padding-left: 6%; padding-bottom: 50px; }
}











/*//////////////////


Pankuzu


//////////////////*/

#pankuzu { line-height: 1.4; padding:15px 0; text-align: right; margin-right: 100px; }
#pankuzu ol { margin: 0 40px; font-size: 0; }
#pankuzu ol li { display:inline; font-size: 1.5rem; }
#pankuzu ol li:before { content:"/"; display: inline-block; margin: 0 5px }
#pankuzu ol li:first-child:before { display: none; }
#pankuzu ol li:first-child a:before { content:url(../img/common/icon_home.svg); width: 18px; font-size: 0; vertical-align: -2px; padding-right: 8px; display: inline-block; }
#pankuzu ol li a { text-decoration: none; }
#pankuzu ol li a:hover { opacity: 0.7; transition: 0.3s; text-decoration: underline; }
@media screen and (max-width: 1280px) { 
	#pankuzu ol li { font-size: 1.4rem; }
	#pankuzu ol li:first-child a:before { width: 16px; }
}
@media screen and (max-width: 1040px) { 
	#pankuzu{ display: none; }
}





/*//////////////////


Content


//////////////////*/

#main { margin-right: 100px; }
#index #main { }
@media screen and (max-width: 1040px) { 
	#main { margin: 0; }
}








/*//////////////////


Footer


//////////////////*/

#footer { margin-right: 100px; }
#index #footer { }
@media screen and (max-width: 1040px) { 
	#footer { margin: 0; }
}

/* contactbox */
#footer .contactbox { padding: 200px 0; }
#footer .contactbox .incnt { display: flex; justify-content: space-between; align-items: center; }
#footer .contactbox a { text-decoration: none; position: relative; }
#footer .contactbox a:hover { opacity:0.6; }
#footer .contactbox .leftbox { flex: 1; }
#footer .contactbox .leftbox .link { font-size: 3.8rem; font-family: 'Cambay', sans-serif; letter-spacing: 0.14em; display: inline-block; margin-right: 40px; line-height: 1.4; }
#footer .contactbox .leftbox .link a { text-align: none; }
#footer .contactbox .leftbox .link img { width: 26px; margin-left: 10px; vertical-align:-2px; }
#footer .contactbox .leftbox .txt { font-size: 2.0rem; display: inline-block; }
#footer .contactbox .rightbox .mail { margin-bottom: 0px; }
#footer .contactbox .rightbox .mail .link { font-size: 3.8rem; font-family: 'Cambay', sans-serif; letter-spacing: 0.14em; }
#footer .contactbox .rightbox .mail .link img { width: 26px; margin-right: 10px; vertical-align:2px; }
#footer .contactbox .rightbox .line .link { font-size: 3.0rem; }
#footer .contactbox .rightbox .line .link span{ font-weight: bold; }
#footer .contactbox .rightbox .line .link img { width: 33px; margin-right: 10px; vertical-align:-6px;}
#footer .contactbox .rightbox .line span span { font-size: 1.4rem; font-weight: bold; }
@media screen and (max-width: 1040px) {
	#footer .contactbox a:hover:after { display: none; }
}
@media screen and (max-width: 767px) {
	#footer .contactbox { padding: 100px 0; }
	#footer .contactbox .incnt { display: block; text-align: center; }
	#footer .contactbox .leftbox { flex: none; margin-bottom: 40px; }
    #footer .contactbox .leftbox .link { font-size: 2.4rem; margin-right: 20px;  }
    #footer .contactbox .leftbox .link img { width: 20px; margin-left: 5px; }
    #footer .contactbox .leftbox .txt { font-size: 1.2rem; }
    #footer .contactbox .rightbox .mail { margin-bottom: 10px; }
    #footer .contactbox .rightbox .mail .link { font-size: 2.4rem; line-height: 1.8; }
    #footer .contactbox .rightbox .mail .link img { width: 20px; margin-right: 5px; vertical-align:-1px; }
    #footer .contactbox .rightbox .line .link { font-size: 2.0rem; }
    #footer .contactbox .rightbox .line .link span{ font-weight: bold; }
    #footer .contactbox .rightbox .line .link img { width: 24px; margin-right: 5px;}
    #footer .contactbox .rightbox .line span span { font-size: 1.2rem;  }
}
@media screen and (max-width: 500px) {
}

/* footerinfo */
#footer .footerinfo { display: flex; align-items: flex-end; }
#footer .footerinfo>div { padding: 120px 0; display: flex; justify-content: center; align-items: center; width: 54%; }
#footer .footerinfo .inbox {}
#footer .footerinfo .logo { margin-bottom: 20px; }
#footer .footerinfo .txt { font-size: 1.5rem; }
#footer .footerinfo .txt br.adj { display: none; }
#footer .footerinfo .teltxt { margin-top: 30px; }
#footer .footerinfo .tel { font-size: 3.8rem; left: 0.1em; font-family: 'Cambay', sans-serif; line-height: 1.4; }
#footer .footerinfo .tel a { text-decoration: none; }
#footer .footerinfo .piccolomondo { margin-bottom: 60px; background: #f7f7f7; padding-right: 4%; }
#footer .footerinfo .piccolomondo .logo img { width: 260px; }
#footer .footerinfo .fuu { background: #262626; color: #fff; margin-left: -4%; width:50%; }
#footer .footerinfo .fuu .logo img { width: 150px; }
#footer .footerinfo .fuu .tel a { color: #fff; }
@media screen and (max-width: 1280px) {
}
@media screen and (max-width: 1040px) {
    #footer .footerinfo { display: block; }
    #footer .footerinfo>div { width: 88%; text-align: center; padding: 60px 6%!important; border-box: border-box; display: block; }
    #footer .footerinfo .logo { margin-bottom: 10px; }
    #footer .footerinfo .piccolomondo { margin-bottom: 0; }
    #footer .footerinfo .piccolomondo .logo img { width: 210px; }
    #footer .footerinfo .fuu { width: 88%; margin-left: 0; }
    #footer .footerinfo .fuu .logo img { width: 120px; }
}
@media screen and (max-width: 767px) {
	#footer .footerinfo .txt { font-size: 1.4rem; }
    #footer .footerinfo .tel { font-size: 2.8rem; }
}
@media screen and (max-width: 500px) {
    #footer .footerinfo>div { text-align: left }
    #footer .footerinfo .txt br.adj { display: block; }
}

#footer .footerend { padding: 80px 6% 20px; display: flex; justify-content: space-between; flex-direction: row-reverse; flex-wrap: wrap; font-size: 1.5rem; }
#footer .footerend .cr { margin-right: 60px; margin-bottom: 10px; }
#footer .footerend .fnav { text-align: right; margin-bottom: 10px;}
#footer .footerend .fnav li { margin-right: 10px; display: inline-block; }
#footer .footerend .fnav li:last-child { margin-right: 0; }
#footer .footerend .fnav li a { text-decoration: none; }
#footer .footerend .fnav li a:hover { text-decoration: underline; }
@media screen and (max-width: 1400px) {
	#footer .footerend .fnav li { letter-spacing: 0.05em; }
	#footer .footerend .cr { margin-right: 30px; }
}
@media screen and (max-width: 1280px) {
	#footer .footerend { display: block; }
	#footer .footerend .cr { margin-right: 0; margin-bottom: 0; }
	#footer .footerend .fnav { text-align: left; margin-bottom: 40px; }
	#footer .footerend .fnav li { letter-spacing: 0.1em; }
}
@media screen and (max-width: 767px) {
	#footer .footerend { padding: 60px 6% 30px; }
}

.grecaptcha-badge{ z-index: 1000; bottom: 180px!important; }
@media screen and (max-width: 1040px) {
	.grecaptcha-badge{ bottom: 20px!important; }
}