@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Kosugi&display=swap');

/* PC */
@media only screen and (min-width: 481px) {

.sp{ display: none; margin: 0; padding: 0; font-size: 0;}

html{margin-top: 0!important;}

body{
 overflow-x: hidden;
 font-family: 'Kosugi', sans-serif!important;
 -webkit-font-smoothing: antialiased;
 color: #303030;
}

a{ color: #303030!important;}

.wrap-l{max-width: 1850px; margin: auto;}
.wrap-s{max-width: 1680px; margin: auto;}
.wrap-ss{max-width: 1100px; margin: auto;}

.post, .page{ margin: 0!important}

/* ヘッダー関係 */

header.site-header{
 margin: 100px auto 0;
}
div.head-box{
 display: flex;
 justify-content: center;
 margin: 0;
 padding: 0;
 list-style: none;
 min-width: 1100px;
}
div.head-box .head-logo{
 margin-right: 40px;
}
div.head-box span:first-of-type{
 color: #0D162B;
}
div.head-box span:last-of-type{
 margin-left: auto;
}
span.head-logo h1{
 font-size: 1em;
 margin: 0;
 padding: 0;
}
span.head-logo h1 img{
 width: 257px;
 max-width: 257px;
}
span.head-add{
 position: relative;
 width: 50%;
 font-size: 0.9em;
}
span.head-add address{
 position: absolute;
 bottom: 40px;
 padding: 0;
 font-style: normal;
}
span.head-add nav.main-navigation{
 position: absolute;
 bottom: 20px;
}
span.head-add nav.main-navigation ul{
 justify-content: space-between;
}
span.head-add nav.main-navigation ul a{
 position: relative;
 display: inline-block;
 text-decoration: none;
}
span.head-add nav.main-navigation ul a::after {
 position: absolute;
 bottom: -4px;
 left: 0;
 content: '';
 width: 100%;
 height: 2px;
 background: #303030;
 transform: scale(0, 1);
 transform-origin: right top;
 transition: transform .3s;
}
span.head-add nav.main-navigation ul a:hover::after {
 transform-origin: left top;
 transform: scale(1, 1);
}
span.head-contact div.head-tel img{
 width: 285px;
}
span.head-contact div.head-sns{
 text-align: center;
}
span.head-contact div.head-sns a{
 margin: auto 1em;
}
span.head-contact div.head-sns a:hover img{
 animation: poyo .6s;
}


/* フッター関係 */

footer.site-footer{
 background: #000000;
 color: #ffffff;
}
footer.site-footer nav.main-navigation{
 width: 90%;
 max-width: 1200px;
 min-width: 650px;
 padding: 50px 0 100px;
 margin: auto;
}
footer.site-footer nav.main-navigation ul{
 justify-content: space-between;
}
footer.site-footer nav.main-navigation ul a{
 position: relative;
 display: inline-block;
 text-decoration: none;
 color: #FFFFFF!important;
}
footer.site-footer nav.main-navigation ul a::after {
 position: absolute;
 bottom: -4px;
 left: 0;
 content: '';
 width: 100%;
 height: 2px;
 background: #FFFFFF;
 transform: scale(0, 1);
 transform-origin: right top;
 transition: transform .3s;
}
footer.site-footer nav.main-navigation ul a:hover::after {
 transform-origin: left top;
 transform: scale(1, 1);
}

div.footer-container{
 display: flex;
 justify-content: space-between;
}
div.footer-left,
div.footer-right{
 padding-bottom: 75px;
 min-width: 840px;
}

div.footer-logo{
 display: inline-block;
 width: 225px;
}
div.footer-logo img{
 width: 225px;
 max-width: 225px; 
}
div.footer-coupon{
 display: inline-block;
 width: 100%;
 max-width: 600px;
 text-align: right;
}
div.footer-coupon img{
 width: 507px;
 max-width: 507px; 
}
div.foot-add{
 display: flex;
 flex-wrap: wrap;
 margin-top: 65px;
}
span.foot-add-1st{
 width: calc(20%);
 padding-bottom: 1em;
}
span.foot-add-2nd{
 width: calc(80%);
 padding-bottom: 1em;
}
span.foot-add-2nd i{
 font-size: 0.7em;
 font-style: normal;
}
div.footer-right iframe{
 width: 100%;
 height: 563px;
 border: none;
}
span.foot-link a{
 font-size: 0.7em;
 color: #ffffff!important;
 text-decoration: none;
}
div.copyright{
 width: 100%;
 text-align: center;
}

}/* PC */


/* スマートフォン */
@media only screen and (max-width: 480px) {

.pc{ display: none; margin: 0; padding: 0; font-size: 0;}

body{
 overflow-x: hidden;
 font-family: 'Kosugi', sans-serif!important;
-webkit-font-smoothing: antialiased;
 color: #303030;
}

.wrap-s{max-width: 340px; margin: auto;}
.wrap-ss{max-width: 340px; margin: auto;}
div#sp_wrap{ max-width: 100%!important;}

.post, .page{ margin: 0!important}

/* ヘッダー関係 */

div.menu_title a{
 background: url("/img/sp_common/sp_logo.png") top left no-repeat;
 background-size: contain;
 width: 98px;
 height: 41px;
 text-decoration: none;
}
html body div#wprmenu_bar{
 height: 55px!important;
}
.admin-bar #wprmenu_menu_ul{
 margin-top: 70px!important;
}
html body div.wprm-overlay{
 background: rgba(255,255,255,0.9)!important;
}
ul#wprmenu_menu_ul{
 margin-top: 20px;
}
span.wprmenu_foot-tel, 
span.wprmenu_foot-add{
 width: 100%;
 padding-left: 1em;
}
div.wprmenu_foot {
 padding-top: 3em;
}
div.wprmenu_foot span{
 display: block;
}
span.wprmenu_foot-tel img{
 width: 217px;
 max-width: 217px;
}
span.wprmenu_foot-add p{
 font-size: 0.8em!important;
}
span.wprmenu_foot-sns a{
 display: inline-block;
}
span.wprmenu_foot-sns a img{
 width: 51px;
 max-width: 51px;
}

/* フッター関係 */

footer.site-footer{
 background: #000000;
 color: #ffffff;
 padding-top: 68px;
}
footer.site-footer nav.main-navigation{
 display: none;
 margin: 0;
 padding: 0;
 font-size: 0;
}

div.footer-container{
 width: 340px;
 max-width: 340px;
}
div.footer-left,
div.footer-right{
}

div.footer-logo{
 display: flex;
 justify-content:space-between;
}
div.footer-logo img{
 width: 135px;
 max-width: 135px; 
}
div.foot-sns{
 width: 165px;
 text-align: center;
}
div.foot-sns img{
 width: 45px;
 max-width: 45px;
 margin: 0 5px;
}
div.footer-coupon{
 width: 100%;
 margin-top: 24px;
}
div.footer-coupon img{
 width: 340px;
 max-width: 340px; 
}
div.foot-add{
 margin-top: 35px;
}
span.foot-add-1st,
span.foot-add-2nd{
 display: block;
}
span.foot-add-2nd {
 margin-bottom: 1em;
}
span.foot-add-2nd i{
 font-size: 0.7em;
 font-style: normal;
}
span.foot-link {
 display: block;
 margin-bottom: 1em;
}
span.foot-link a{
 font-size: 0.7em;
 color: #ffffff!important;
 text-decoration: none;
}
div.footer-right iframe{
 width: 340px;;
 height: 280px;
 border: none;
 margin-bottom: 20px;
}
div.copyright{
 width: 100%;
 text-align: center;
 font-size: 0.8em;
}
}/* スマートフォン */


/* キーフレーム */
@keyframes poyo {
	from, to { transform: none; }
	10% { transform: scale(1.2); }
	40% { transform: scale(.9); }
	60% { transform: scale(1.04); }
	80% { transform: scale(.98); }
}
@keyframes light {
	100% { outline-color: transparent; outline-offset: 12px; }
}

/* ページTOP */
#page_top{
  width: 64px;
  height: 64px;
  position: fixed;
  right: 10px;
  bottom: 0;
  opacity: 0;
  transition: all 1s ease;
}
#page_top.show {
    opacity: 0.6;
    transform: none;
 }
#page_top a{
  position: relative;
  display: block;
  width: 64px;
  height: 64px;
  text-decoration: none;
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
}
#page_top a:hover img{
 animation: poyo .6s;
}
