

/*

*/



.anime-ff{-webkit-animation:fuwafuwa 1.2s linear infinite; animation:fuwafuwa 1.2s linear infinite;}
@keyframes fuwafuwa{ 0%{margin-bottom:-4px; opacity:1;} 50%{margin-bottom:4px; opacity:0.7;} 100%{margin-bottom:-4px; opacity:1;}}
@keyframes opacity_1{0%{opacity:0;} 50%{opacity:0.5;} 100%{opacity:1;}}
@keyframes opacity_2{0%{opacity:0;} 50%{opacity:0.3;} 100%{opacity:1;}}


nav a:hover{opacity:0.7; }
nav a{transition:all 0.3s; opacity:1; }
.button-top-wrapper a:hover{opacity:0.7;}
.button-top-wrapper a{transition:all 0.3s; opacity:1; }
div#infscr-loading {width:100%; text-align:center; margin:0 auto;}




html{ font-size:62.5%;}
body{ font-size:13px; color:#222; line-height:1.7; font-family: 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;}
a{color:#222;}
p.button{box-sizing:border-box; cursor:pointer; opacity:1; transition:all 0.8s; position: relative; z-index:1; background-color:transparent;}
.font-white{color:#fff;}
.font-black{color:#222;}
.font-ss{font-family: 'Source Sans Pro', sans-serif;}
.font-ss.semi-bold{font-weight:600;}

.ta{display: none;}
.sp{display: none;}
nav.sp-menu{display:none;}

p.button{width:180px; height:40px; text-align: center;}
p.button a{text-decoration:none; line-height: 36px;}
p.button.black{border:2px solid #333; position: relative;}
p.button.black a{transition: color 0.3s ease; position: relative; z-index: 2;}
p.button.black::after{background: #333; position: absolute; left: 0; top: 0; width: 0%; height: 100%; content: ""; z-index: 1; transition: width 0.3s ease;}
p.button.black:hover{}
p.button.black:hover a{color: #FFF;}
p.button.black:hover::after{width: 100%;}
p.button.white{border:2px solid #fff;}


header nav.pc-menu{background:#fff;}
header.transparent nav.pc-menu{background-color : transparent;}
header nav.pc-menu{position:fixed; z-index:200; width:100%; height:60px; box-sizing: border-box; padding:0 1.3% 0 2.34%; display:flex; justify-content:space-between; align-items:center;}
header nav.pc-menu a.logo-row{/*visibility:hidden;*/ opacity: 0; height:66px;}
header nav.pc-menu a.logo-row img{width:180px; height:66px;}
header nav.pc-menu ul li{display:inline;}
header nav.pc-menu ul.menu{min-width:500px; margin-right: 3%;}
header nav.pc-menu ul.list-sns li.icon-f{margin-right:4px;}
header nav.pc-menu ul.menu li{margin-right:27px;}
header nav.pc-menu ul.menu li:last-of-type{margin-right:0;}
header nav.pc-menu ul.menu li.current a{border-bottom:2px solid #fff; padding-bottom:6px;}
header nav.pc-menu ul.menu li a{text-decoration: none; color:#fff; letter-spacing: 0.03em;}
header nav.pc-menu ul.list-sns li svg{fill:#fff; width:22px; height:22px;}
header.transparent nav.pc-menu{transition: background 0.5s ease; background: rgba(255, 255, 255, 0); }
header.transparent nav.pc-menu.scroll{background: rgba(255, 255, 255, 1);}

header nav.pc-menu.scroll a.logo-row{opacity: 1;}
header nav.pc-menu.scroll ul.menu li a{color:#222;}
header nav.pc-menu.scroll ul.list-sns li svg{fill:#222;}
header nav.pc-menu.scroll ul.menu li.current a{border-bottom:2px solid #222; padding-bottom:4px;}


footer {width:100%;}
footer div.button-top-wrapper{ width:100%; padding:35px 55px 45px; box-sizing:border-box; text-align:right;}
footer div.button-top-wrapper a.button-top{text-align:right; box-sizing:border-box;}
footer div.button-top-wrapper a.button-top img{width:70px; height:45px;}
footer div.row{background:#222; width:100%; height:60px; text-align:center;}
footer div.row p.copyright{font-size:1.2rem; line-height:60px;}


/* indexのぞくページのheader */
header.other nav.pc-menu{background:#fff;}
header.other nav.pc-menu a.logo-row{opacity: 1;}
header.other nav.pc-menu ul.menu li a{color:#222;}
header.other nav.pc-menu ul.list-sns li svg{fill:#222;}
header.other nav.pc-menu ul.menu li.current a{border-bottom:2px solid #222; padding-bottom:4px;}

header.other nav.sp-menu div.sp-menu-bar a.logo{opacity: 1;}
header.other nav.sp-menu div.sp-menu-bar{ background:#fff; z-index:1; position: absolute;}
header.other nav.sp-menu div.sp-menu-bar p.button-sp-menu span.line{background:#222;}


/* Infinite Scroll */
#infscr-loading{font-size: 1.3rem;}
#infscr-loading img{width:24px!important; height:24px!important;}


@media (max-width: 900px) {
  header nav.pc-menu{height:0; display: none;}
  header nav.sp-menu{display: block; position:fixed; z-index:200; background:#fff;}
  header.transparent nav.sp-menu{transition: all 0.5s ease; background: rgba(255, 255, 255, 0);}
  header.transparent nav.sp-menu.scroll{background: rgba(255, 255, 255, 1);}

  header nav.sp-menu ul.menu li a{text-decoration: none; }
  header nav.sp-menu{height:60px; width:100%; transition:all 0.6s;}
  header nav.sp-menu div.sp-menu-bar{display:block;}
  header nav.sp-menu div.sp-menu-bar{width:100%; height:60px; display:flex; justify-content:space-between; align-items:center;}
  header nav.sp-menu div.sp-menu-bar a img{width:90px; height:33px; margin-left:30px; margin-top: 11px;}
  header nav.sp-menu div.sp-menu-bar p.button-sp-menu{cursor:pointer;}
  header nav.sp-menu div.sp-menu-bar p.button-sp-menu span.line{display:block; width:22px; height:3px; background:#fff; position:absolute; top:50%; left:50%; margin-left:-11px; transition:all 0.3s;}
  header nav.sp-menu div.sp-menu-bar p.button-sp-menu span.line:first-of-type{margin-top:-7px;}
  header nav.sp-menu div.sp-menu-bar p.button-sp-menu span.line:nth-of-type(2){margin-top:3px;}
  header nav.sp-menu div.sp-menu-bar p.button-sp-menu{width:60px; height:60px; position:relative;}


  html.overflow, html.overflow body{overflow: hidden;}
  header nav.sp-menu div.sp-menu-bar{position: absolute; z-index:2; }
  header nav.sp-menu div.menu-inner{background: #fff; height:0; width: 100%; transition:all 0.6s ease; overflow:auto; position: absolute; z-index:-1;}
  header nav.sp-menu div.menu-inner ul{display: none; color:#fff; transition:all 0.6s;}
  header nav.sp-menu.on div.menu-inner{ height:100%; overflow: auto; padding-top:60px; box-sizing:border-box;}
  header nav.sp-menu.on div.menu-inner ul.menu{display:flex; flex-direction: column; align-items:center; height:calc(100vh - 114px); justify-content: center; }
  header nav.sp-menu.on div.menu-inner ul.menu li{margin-bottom: 47px;}
  header nav.sp-menu.on div.menu-inner ul.menu li a{font-size:2.2rem;}
  header nav.sp-menu.on div.menu-inner ul.list-sns li{display:inline-block;}
  header nav.sp-menu.on div.menu-inner ul.list-sns li.icon-in{margin-right:30px;}
  header nav.sp-menu.on div.menu-inner ul.list-sns li.icon-f {margin-right: 4px;}
  header nav.sp-menu.on div.menu-inner ul.list-sns li svg{fill:#222; width:22px; height:22px;}
  header nav.sp-menu.on div.menu-inner ul.list-sns{text-align:right;}
  header nav.sp-menu.on ul.menu li.current a{border-bottom:2px solid #222; padding-bottom:2px;}
  header nav.sp-menu.on div.menu-inner ul{display:block;}

  header nav.sp-menu div.sp-menu-bar a.logo{opacity: 0;}
  header nav.sp-menu.scroll div.sp-menu-bar a.logo{opacity: 1;}
  header nav.sp-menu.scroll div.sp-menu-bar{ }
  header nav.sp-menu.scroll div.sp-menu-bar p.button-sp-menu span{background:#222;}

  header nav.sp-menu.on{height:100%;}
  header nav.sp-menu.on div.sp-menu-bar p.button-sp-menu span.line:first-of-type{transform: rotate(45deg); margin-top: 0px;}
  header nav.sp-menu.on div.sp-menu-bar p.button-sp-menu span.line:nth-of-type(2){transform: rotate(-45deg); margin-top: 0px;}
  header nav.sp-menu.on div.sp-menu-bar{background:#fff; z-index:2; position: absolute;}
  header nav.sp-menu.on div.sp-menu-bar a.logo{opacity: 1;}
  header nav.sp-menu.on div.sp-menu-bar p.button-sp-menu span{background:#222;}


  footer div.button-top-wrapper {padding: 65px 30px 37px;}

}





@media (max-width: 480px) {
  header nav.sp-menu{height:50px;}
  header nav.sp-menu.on div.menu-inner{ padding-top:50px;}
  header nav.sp-menu.on div.menu-inner ul.menu{height:calc(100% - 60px);}

  header nav.sp-menu.on div.menu-inner ul.menu li{margin-bottom:39px;}
  header nav.sp-menu.on div.menu-inner ul.menu li a{font-size:1.8rem;}
  header nav.sp-menu div.sp-menu-bar a img{margin-left: 20px;}
  header nav.sp-menu div.sp-menu-bar{height:50px;}
  header nav.sp-menu div.sp-menu-bar a img{width:120px; height:auto; margin-top:10px;}
  header nav.sp-menu div.menu-inner ul.menu li a{font-size:1.8rem; letter-spacing:0.03rem;}
  header nav.sp-menu div.menu-inner ul.menu li{margin-bottom:45px;}
  header nav.sp-menu.on div.menu-inner ul.list-sns li{display:inline-block;}

  footer div.button-top-wrapper {padding: 40px 20px 32px; text-align:center;}


}
