/*
Theme Name:さいとう製菓  共通CSS
*/

@charset "UTF-8";

/*
=================================================================*/

/* 
  Reset: margin, padding propaty
-----------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h4,h5,h6,pre,form,fieldset,input,p,blockquote {
	margin:0;padding:0; } 

/* 
  Reset: border propaty
-----------------------------------------------------------------*/
abbr,acronym,fieldset,img {
	border:0; } 

/*
  Reset: [table] selector
-----------------------------------------------------------------*/
table {
	 border-collapse:collapse; border-spacing:0; } 
 
table,th,td,h3 {
	margin:0;padding:0; } 

caption,th,td {
	text-align:left; } 

/*
  Reset: List selector
-----------------------------------------------------------------*/
ol,ul {
	list-style:none; }


/*
  フォントの基本設定
=================================================================*/
/*
  Reset: font-size, line-height propaty
-----------------------------------------------------------------*/
body {
	font-size:14px;
	line-height:1.7;
}
h1,h2,h3,h4,h5,h6 {
	font-size:14px;
	line-height:1.7;
}
div,p,li,dt,dd {
	font-size:14px;
	line-height:1.7;
}
table,caption,th,td {
	font-size:14px;
	line-height:1.7;
}

/* 
  Reset: font-family propaty
-----------------------------------------------------------------*/
body {
	font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
	font-style: normal;
}

/*
  画像
=================================================================*/
img{
	border:none;
	vertical-align:top;
	width: 100%;
	height: auto;
}

/*
  IE対策
=================================================================*/
* {
	zoom: 1;
}
ul,ol,li {
	zoom: normal;
}

/*
  main css
=================================================================*/
html{
	height:100%;
}
body{
	height:100%;
	color: #231815;
}
.wrap,.page_wrap{
	overflow-x: hidden;
}
.container{
    position: relative;
	max-width: 1100px;
	margin: 0 auto;
}
a{
	text-decoration:none;
}
a img,a{
	-webkit-transition: 0.3s ease-in-out;
     -moz-transition: 0.3s ease-in-out;
     -o-transition: 0.3s ease-in-out;
     transition: 0.3s ease-in-out;
}
a:hover img ,a:hover{
     opacity: 0.8;
}

.sp{
	display: none;
}

@keyframes appeare {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.sp{
    display: none;
}
.zoomIn{
    transform: scale(0);
}
.zoomIn.is-inview{
    will-change:animation;
    animation: zoomIn 1s ease-in-out forwards;
}
@keyframes zoomIn{
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

.heartbeat.is-inview{
    animation: heartbeat 2.5s ease-in-out 1 both;
}

@keyframes heartbeat{
    from{
        transform: scale(1);
        transform-origin: center center;
        animation-timing-function: ease-out;
    }
    10%{
        transform: scale(0.91);
        animation-timing-function: ease-in;
    }
    17%{
        transform: scale(0.98);
        animation-timing-function: ease-out;
    }
    33%{
        transform: scale(0.87);
        animation-timing-function: ease-in;

    }
    45%{
        transform: scale(1);
        animation-timing-function: ease-out;
    }
}

.slideInRight{
    opacity: 0;
}
.slideInRight.is-inview,#music.slideInRight  {
    animation: slideInRight 2s ease forwards;
}
@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(150px);
  }
  
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.slideInLeft{
    opacity: 0;
}
.slideInLeft.is-inview {
    animation: slideInLeft 2s ease forwards;
}
@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-150px);
  }
  
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.new_icon{
    width: 38px;
    margin-left: 10px;
    line-height: 1;
}
/*
  #header
=================================================================*/
/*headerレイアウト*/
#header{
	display: flex;
	justify-content: space-between;
	padding: 20px 0 0;
    position: relative;    
}
#header h1{
	width: 30%;
	max-width: 132px;
}
#header nav{
    margin-right: 202px;
}
#header nav ul{
	display: flex;
}
#header nav #main_nav{
	margin-top: 10px;
}
#header nav #main_nav li{
	margin-right: 30px;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-size: 12px;
}
#header nav #main_nav li a{
	color: #231815;
}
.fix_container{
    width: 1100px;
    margin: 0 auto;
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    top:10px;
    z-index: 4;
    pointer-events: none;
}
#sub_nav{
    float: right;
    width: 202px;
    display: flex;
    justify-content: space-between;
    pointer-events: auto;
}
#sub_nav li{
	width: 64px;
}
#sub_nav li a{
    pointer-events: auto;
    height: 100%;
    display: block;
}
/*
  footer
=================================================================*/
footer{
    background: #fff;
    z-index: 999;
    position: relative;
}
.footerL,.footerBtm{
    display: flex;
    align-items: center;
    justify-content: center;
}
.footerBtm{
    align-items: baseline;
    margin-top: 50px;
}
/*bnr*/
.footerL .link{
    display: flex;
    justify-content:center;
    width: 22%;
}
.footerL .link li{
    max-width: 108px;
    width: 49.5%;
}
.footerL .link li:first-child{
    margin-right: 15px;
}
/*social*/
.footerL .social_link{
    margin: 0 40px;
}
.footerL .social_link li{
    max-width: 117px;
}
.footerL .social_link li:first-child{
    margin-bottom: 20px;
}
.footer_contact{
    max-width: 215px;
}
footer .footer_nav{
    width:fit-content;
    margin-right: 60px;
}
footer .footer_nav li{
    font-family: 'Zen Maru Gothic', sans-serif;
    font-size: 12px;
    margin-bottom: 15px;
}
footer .footer_nav li a{
    color: #333;
}
footer .footer_info{
    max-width: 295px;
    width: 27%;
}
footer .footer_info dt{
    margin-bottom: 15px;
}
footer .footer_info dd{
    width:fit-content;
    margin: 0 auto;
}
footer .footer_info li{
    font-size: 12px;
    line-height: 1.8em;
}
footer .footer_info li .tel_num{
    font-size: 20px;
    font-weight: bold;
}
.footer_info li:nth-child(2),.footer_info li:nth-child(4){
    margin-bottom: 10px;
}
footer .footer_info li:nth-child(3)::before{
    display: inline-block;
    content:"";
    width: 23.6px;
    height: 13.5px;
    background: url("../images/footer_tel.png") center no-repeat;
    background-size: 100% auto;  
}
footer .footer_info li:nth-child(4)::before{
    display: inline-block;
    content:"";
    width: 23.6px;
    height: 13.5px;
}
footer .footer_info a{
    color: #333;
}
address{
    font-size: 10px;
    padding: 100px 0 50px;
    text-align: center;
    font-style: normal;
    color: #333;
}
address a{
    color: #333;
}
/*
  トップと共通部分
=================================================================*/
/*アニメーション*/
.btn_zoom img,.btn_zoom{
    transition:1s all;
}
.btn_zoom:hover img,.btn_zoom a:hover,.btn_zoom:hover{
    transform:scale(1.03,1.03);
    transition:1s all;
    opacity: inherit !important;
}
.flex_wrap{
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.flex_wrap .left_side{
    position: relative
}
#top_onlineShop{
    position: relative;
}
#top_onlineShop .flex_wrap{
    flex-direction:row-reverse;
    margin-bottom: 200px;
}
#top_onlineShop .left_side{
    width: 80%;
    padding-top: 100px;
}
#top_onlineShop .left_mv{
    max-width: 820px;
}
#top_onlineShop .text_img{
    position: absolute;
    top: 60px;
    left: -300px;
    width: 300px !important;
    height: auto;
}
#top_onlineShop .right_side{
    margin-right: -100px;
}
#top_onlineShop .right_side img{
    max-width: 534px;
}
.borderL.is-inview{
    position: absolute;
    left: 100%;
    bottom: 100px;
    width: 0;
    height: 2px;
    transform: translateX(-100%);
    background: #f8e22d;
    animation: border_animL 1.5s linear forwards;
}
.borderR.is-inview{
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 0;
    height: 2px;
    background: #f8e22d;
    animation: border_animR 1.5s linear forwards;
}
.borderL2.is-inview{
    position: absolute;
    left: 100%;
    bottom: -10px;
    width: 0;
    height: 2px;
    transform: translateX(-100%);
    background: #f8e22d;
    animation: border_animL2 1.5s linear forwards;
}

@keyframes border_animL {
  0%{
    width: 0%;
  }
  100%{
    width: 40%;
  }
}
@keyframes border_animR {
  0%{
    width: 0%;
  }
  100%{
    width: 45%;
  }
}
@keyframes border_animL2 {
  0%{
    width: 0%;
  }
  100%{
    width: 45%;
  }
}

/*
  レスポンシブ
=========================================================================================================*/

@media screen and (max-width: 959px) {
    .tb{
        display: block;
    }
    /*drawer*/
    .fixed{
        position: fixed;
        width: 100%;
        height: 100%;
    }
    .drawer_logo{
        width: 20%;
    }
    .menu-trigger {
        transition: .3s;
        width: 33px;
        height: 36px;
        vertical-align: middle;
        cursor: pointer;
        position: fixed;
        top: 20px;
        right: 5%;
        z-index: 9999;
        background: none;
    }
    .menu-trigger p{
        position: absolute;
        top: 28px;
    }
    .menu-trigger span {
        display: inline-block;
        box-sizing: border-box;
        position: absolute;
        top:0;
        left:0;
        width: 100%;
        height: 2px;
        background-color: #828282;
        transition: all .5s;
        display: none;
    }
    .menu-trigger.active span {
        top:10px;
        display: block;
    }
    .menu-trigger.active img{
        opacity: 0;
        transition: all .5s;
    }
    .menu-trigger.active span:nth-of-type(2) {
      top: 20px;
    }
    .menu-trigger.active span{
        background: #828282;
        height: 2px;
        width: 90%;
        left: 5%;
    }
    .menu-trigger.active span:nth-of-type(1) {
        transform: translateY(5px) rotate(-45deg);
        opacity: 1;
    }
    .menu-trigger.active span:nth-of-type(2) {
        transform: translateY(-5px) rotate(45deg);
        opacity: 1;
    }
    .fix_container{
        display: none;
    }
    /*drawer中*/
    nav {
        width: 100%;
        min-height: 100vh;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 9998;
        transform: translate3d(0,-100%,0);
        transition: all .5s;
        background-size: 100% auto;
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box;
    }
    nav.open {
        transform: translate3d(0,0,0);
    }
    .drawer_wrap{
        padding: 20px 6% 0;
        background: #F8E22D;
        position: relative;
    }
    .drawer_top{
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 30px;
    }
    #drawer_left{
        width: 53%;
    }
    .navi li{
        width: 100%;
        background: #fff;
        text-align: center;
        font-family: 'Zen Maru Gothic', sans-serif;
        font-weight: 700;
        padding: 10px 0;
        margin-bottom: 20px;
        border-radius: 30px;
    }
    .navi li:last-child{
        margin-bottom: 0
    }
    .navi li a{
        color: #000;
    }
    .drawer_top .link{
        width: 42%;
        display: flex;
        flex-wrap: wrap;
    }
    .drawer_top .link li{
        width: 50%;
    }
    .drawer_top .link li:first-child,.drawer_top .link li:last-child{
        margin-left:50%;
    }
    .drawer_top .link li:nth-child(2){
        transform: translateY(-25%);
    }
    .drawer_top .link li:last-child{
        transform: translateY(-50%);
    }
    .drawer_top .link li img{
        max-width: 150px;
    }
    .drawer .social_link li{
        width: 40%;
        margin: 30px auto;
        max-width: 234px;
        box-sizing: border-box;
        
    }

    /*
      
    =================================================================*/
    footer .footer_info{
        max-width: 295px;
        width: 40%;
    }

    .wrap,.page_wrap{
        overflow-x: hidden;
    }
    .container{
        position: relative;
        width: 90%;
        margin: 0 auto;
    }
    .flex_wrap{
        display: block;
    }
    
    #top_onlineShop .flex_wrap{
        margin-bottom: 100px;
    }
    #top_onlineShop .left_side{
        width: 100%;
        padding-top: 100px;
    }
    #top_onlineShop .left_mv{
        max-width: 820px;
        width: 100%;
        right: -12%;
        position: relative;
    }
    #top_onlineShop .text_img{
        position: absolute;
        top: 30px;
        left: 0;
        width: 40% !important;
        height: auto;
    }
    #top_onlineShop .right_side{
        margin:-30px 0 0 0;
        width: 100%;
    }
    #top_onlineShop .right_side img{
        max-width: 534px;
    }
    .borderL.is-inview{
        bottom: 90px;
        height: 1px;
    }
    .borderR.is-inview{
        position: absolute;
        left: 0;
        bottom: -10px;
        width: 0;
        height: 1px;
        background: #f8e22d;
        animation: border_animR 1.5s linear forwards;
    }
    .borderL2.is-inview{
        position: absolute;
        left: 100%;
        bottom: -10px;
        width: 0;
        height: 1px;
        transform: translateX(-100%);
        background: #f8e22d;
        animation: border_animL2 1.5s linear forwards;
    }
    @keyframes border_animL {
      0%{
        width: 0%;
      }
      100%{
        width: 70%;
      }
    }
    @keyframes border_animR {
      0%{
        width: 0%;
      }
      100%{
        width: 95%;
      }
    }
    @keyframes border_animL2 {
      0%{
        width: 0%;
      }
      100%{
        width: 90%;
      }
    }
}

/*
  SP
=========================================================================================================*/

@media screen and (max-width: 480px) {
    .sp{
        display: block;
    }
    .pc{
        display: none;
    }
    
    /*drawer*/
    .drawer_logo{
        width: 30%;
    }
    .drawer_top .link{
        display: block;
    }
    .drawer_top .link li{
        width: 77%;
    }
    .drawer_top .link li:last-child,.drawer_top .link li:first-child{
        position: relative;
        left: 25%;
        margin: 0;
    }
    .drawer_top .link li:nth-child(2),.drawer_top .link li:last-child{
        transform: none;
    }
    .drawer .social_link li{
        width: 70%;
        margin: 30px auto;
    }
    /*
      footer
    =================================================================*/
    .footerL{
        text-align: center;
    }
    .footerL .link{
        width: 58.4%;
        margin: 0 auto;
    }
    .footerL .link li{
        max-width: 190px;
        width: 49.5%;
    }
    .footerL .social_link{
        width:fit-content;
        margin: 20px auto;
    }
    .footerL,.footerBtm{
        display: block;
    }
    .footer_contact{
        max-width: 215px;
        margin: 0 auto;
    }
    .footerBtm{
        margin-top: 0;
    }
    footer .footer_nav{
        display: flex;
        justify-content: space-between;
        margin-right: 0;
        width: 84%;
        margin: 30px auto 10px;
        
    }
    footer .footer_nav li{
        font-family: 'Zen Maru Gothic', sans-serif;
        font-size: 12px;
        margin-bottom: 15px;
    }
    footer .footer_nav li a{
        color: #333;
    }
    footer .footer_info{
        max-width: 295px;
        width: 80%;
        margin: 0 auto;
    }
    footer .footer_info dt{
        width: 90%;
        margin: 0 auto 15px;
    }
    footer .footer_info dd{
        width:fit-content;
        margin: 0 auto;
    }
    footer .footer_info li{
        font-size: 12px;
        line-height: 1.8em;
    }
    footer .footer_info li .tel_num{
        font-size: 20px;
        font-weight: bold;
    }
    .footer_info li:nth-child(2),.footer_info li:nth-child(4){
        margin-bottom: 10px;
    }
    footer .footer_info li:nth-child(3)::before{
        display: inline-block;
        content:"";
        width: 23.6px;
        height: 13.5px;
        background: url("../images/footer_tel.png") center no-repeat;
        background-size: 100% auto;  
    }
    footer .footer_info li:nth-child(4)::before{
        display: inline-block;
        content:"";
        width: 23.6px;
        height: 13.5px;
    }
    footer .footer_info a{
        color: #333;
    }
    address{
        font-size: 10px;
        padding: 100px 0 20px;
        text-align: center;
        font-style: normal;
        color: #333;
        
    }
    
    /**/
    #top_onlineShop .flex_wrap{
        margin-bottom: 100px;
    }
    #top_onlineShop .left_side{
        width: 100%;
        padding-top: 100px;
    }
    #top_onlineShop .left_mv{
        max-width: 820px;
        width: 120%;
        right: -12%;
        position: relative;
    }
    #top_onlineShop .text_img{
        position: absolute;
        top: 60px;
        left: 0;
        width: 45% !important;
        height: auto;
    }
    #top_onlineShop .right_side{
        margin:-30px 0 0 0;
        width: 100%;
    }
    #top_onlineShop .right_side img{
        max-width: 534px;
    }
    .borderL.is-inview{
        bottom: 55px;
        height: 1px;
    }
    .borderR.is-inview{
        position: absolute;
        left: 0;
        bottom: -10px;
        width: 0;
        height: 1px;
        background: #f8e22d;
        animation: border_animR 1.5s linear forwards;
    }
    .borderL2.is-inview{
        position: absolute;
        left: 100%;
        bottom: -10px;
        width: 0;
        height: 1px;
        transform: translateX(-100%);
        background: #f8e22d;
        animation: border_animL2 1.5s linear forwards;
    }
    @keyframes border_animL {
      0%{
        width: 0%;
      }
      100%{
        width: 60%;
      }
    }
    @keyframes border_animR {
      0%{
        width: 0%;
      }
      100%{
        width: 95%;
      }
    }
    @keyframes border_animL2 {
      0%{
        width: 0%;
      }
      100%{
        width: 90%;
      }
    }

}