@charset "utf-8";
/******************************************************************************

 General Setting

******************************************************************************/
body {
 margin:0;
 padding:0;
 font-family: 'PorscheNextJPTP-Regular','Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 color: #000;
 word-wrap : break-word;
 -webkit-font-smoothing: antialiased;
 position: relative;
 background: #FFF;
 font-size: 16px;
 line-height: 1.4em;
}
body.is-fixed { 
 position: fixed;
 width: 100%;
 height: 100%;
 overflow-y: scroll;
}
@media screen and (max-width: 1070px) and (min-width: 768px){
 body {
  font-size: 24px;
  line-height: 1.75em;
 }
}
@media screen and (max-width: 767px) {
 body {
  font-size: 14px;
  line-height: 1.75em;
 }
}

/******************************************************************************

 Layout

******************************************************************************/
#wrapper {
 width: 100%;
 position: relative;
 height: 100%;
 min-height: 100%;
 overflow: hidden;
}
.l-wrapper img {
 width: 100%;
 height: auto;
}
.l-container {
 margin:0 auto;
 padding: 40px 0 0;
 height: auto;
 position: relative;
}
@media screen and (max-width: 1070px) {
 .l-container {
  padding: 0;
 }
}
.l-section {
 padding: 0;
 position: relative;
}

.l-inner {
 clear:both;
 margin:0 auto;
 padding: 0 10px;
 max-width:1600px;
 height:auto;
 box-sizing: border-box;
}
@media screen and (min-width: 1400px) {
 .l-inner {
  padding: 0 7%;
 }
}
@media screen and (max-width: 1070px) {
 .l-inner {
  padding: 0 4%;
 }
}

.l-half {
 width: 50%;
}
.l-2clm {
 width: 48.5%;
}
.l-3clm {
 width: 32%;
 margin-left: 0.5%;
 margin-right: 0.5%;
}
@media screen and (max-width: 1070px) {
 .flexWrap:not(.tabFlex):not(.spFlex) .l-half,
 .flexWrap:not(.tabFlex):not(.spFlex) .l-2clm,
 .flexWrap:not(.tabFlex):not(.spFlex) .l-3clm {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 3.75em;
 }
}


/******************************************************************************

 footer

******************************************************************************/
footer {
 padding: 2.5em 0 4em;
 background: #323232;
}
@media screen and (max-width: 1070px) {
 footer {
  font-size: 14px;
  padding: 2.5em 0 5em;
 }
}
footer,
footer a{
 color: #FFF !important;
}
footer .inner{
 padding: 0 7%;
 margin: 0 auto;
 display: -webkit-flex;
 display: flex;
 flex-wrap:wrap;
 -webkit-flex-wrap:wrap;
 justify-content:space-between;
 -webkit-box-pack:justify;
 -webkit-justify-content:space-between;
 align-items:center; 
 -webkit-box-align:center;
 -webkit-align-items:center;
}
@media screen and (max-width: 1070px) {
 footer .inner{
  display: block;
 }
}
footer .inner p{
 margin: 0;
}
footer .snsLink {
 margin: 0;
 padding: 0;
 justify-content: flex-end;
 -webkit-box-pack:start;
 -webkit-justify-content:flex-end;
}
@media screen and (max-width: 1070px) {
 footer .snsLink {
  margin: 1em 0;
 }
}
footer .snsLink li {
 margin-left: 1em;
}
footer .snsLink li a{
 padding: 0 !important;
 display: block;
}
footer .snsLink span {
 display: block !important;
 background: #FFF;
 border-radius: 50%;
 cursor: pointer;
 width: 50px;
 height: 50px;
 line-height: 50px;
}
footer .snsLink span:before {
 color: #000;
 width: 50px;
 height: 50px;
 line-height: 50px;
}
footer .snsLink li.iconimg span {
 font-size: 0;
 transition: background-color 0.24s;
}
footer .snsLink li.iconimg span:hover{
 background: #d5001c;
}
footer .snsLink li.iconimg span:before{
 content: "";
 display: block;
}
footer .snsLink li.iconimg span.mail:before{
 background: url(/sp/assets/common_img/icon_mail_bk.png) no-repeat center center;
 background-size: 45% auto;
}

.gui-btn-sm-facebook,
.gui-btn-sm-twitter,
.gui-btn-sm-instagram {
 font: 0/0 serif;
 margin-right: 4px;
}
.gui-btn-sm-facebook::before {
 content: "";
 font-family: 'pag-iconfont';
 position: absolute;
 text-align: center;
 font-size: 28px;
}
.gui-btn-sm-twitter::before {
 content: "";
 font-family: 'pag-iconfont';
 position: absolute;
 text-align: center;
 font-size: 28px;
}
.gui-btn-sm-instagram::before {
 content: "";
 font-family: 'pag-iconfont';
 position: absolute;
 text-align: center;
 font-size: 28px;
}



