@charset "utf-8";


/* ---------------------------------------------
    基本css
--------------------------------------------- */
*{
    list-style: none;
}

html { color: #000; }
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{ margin:0;padding:0; }


p,li,dt,dd,h1,h2,h3,h4,th,td{
    font-size: 16px;
    line-height: 1.7em;
    margin: 0;
    padding: 0;
    color: #1e1e1e;
    font-family: 'Kosugi Maru', sans-serif, "メイリオ",Meiryo, "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}


.mt0{margin-top: 0px !important;}
.mt8{margin-top: 8px !important;}
.mt16{margin-top: 16px !important;}
.mt24{margin-top: 24px !important;}
.mt32{margin-top: 32px !important;}
.mt40{margin-top: 40px !important;}
.mt48{margin-top: 48px !important;}
.mt56{margin-top: 56px !important;}
.mt64{margin-top: 64px !important;}
.mt72{margin-top: 72px !important;}
.mt80{margin-top: 80px !important;}
.mt88{margin-top: 88px !important;}
.mt96{margin-top: 96px !important;}

.mb0{margin-bottom: 0px !important;}
.mb8{margin-bottom: 8px !important;}
.mb16{margin-bottom: 16px !important;}
.mb24{margin-bottom: 24px !important;}
.mb32{margin-bottom: 32px !important;}
.mb40{margin-bottom: 40px !important;}
.mb48{margin-bottom: 48px !important;}
.mb56{margin-bottom: 56px !important;}
.mb64{margin-bottom: 64px !important;}
.mb72{margin-bottom: 72px !important;}
.mb80{margin-bottom: 80px !important;}

.ml0{margin-left: 0px!important;}
.ml8{margin-left: 8px!important;}
.ml12{margin-left: 12px!important;}
.ml16{margin-left: 16px!important;}
.ml24{margin-left: 24px!important;}
.ml32{margin-left: 32px!important;}
.ml40{margin-left: 40px!important;}

.mr0{margin-right: 0px!important;}
.mr8{margin-right: 8px!important;}
.mr12{margin-right: 12px!important;}
.mr16{margin-right: 16px!important;}
.mr24{margin-right: 24px!important;}
.mr32{margin-right: 32px!important;}
.mr40{margin-right: 40px!important;}


*:focus {
    outline: none;
}

.inner {
    width: 100%;
    margin: 0 auto;
}
.pc {display: block !important;}
.sp {display: none !important;}
br.pc {display: block !important;}
br.sp {display: none !important;}
span.pc {display: inline-block !important;}
span.sp {display: none !important;}


#product h2 span.pc {
    position: unset;
    width: unset;
    height: unset;
    right: unset;
    top: unset;
}
#product h2 span.r_mark {
    position: unset;
    display: inline;
}

/* ---------------------------------------------
    micro clearfix
--------------------------------------------- */
.clearfix::before, 
.clearfix::after {
    content: "";
    display: table;
}
.clearfix::after {
    clear: both;
}
/* For IE 6/7 (trigger hasLayout) */
.clearfix {
    zoom: 1;
}
.fl {
    float: left;
}
.fr {
    float: right;
}
.center {
    text-align: center !important;
}
.t-left {
	text-align: left !important;
}
.t-right {
	text-align: right !important;
}
.small {
    font-size: 12px !important;
}
.kome {
    text-align: left;
}
.kome::before {
    content: "※";
    padding-right: 4px;
    text-align: left;
}
.kome.small {
    text-indent: -16px;
    padding-left: 16px;
}
.price{
   text-align: right;
}

/* ---------------------------------------------
    table
--------------------------------------------- */
table {
    border-collapse: collapse;
    margin: 0 auto;
    padding: 0;
    table-layout: fixed;
    color: #000;
}
table thead{
    border-bottom: 2px solid #007bad;
}
table tr:last-child{
   border-bottom: none
}
table th,
table td {
    padding: 4px 10px 3px;
    border-right: 1px solid #bbb;
    font-size: 13px;
}

table th:last-child,
table td:last-child{
    border: none;
}
tbody th {
    color: #616161;
}
tbody.group th,
tbody.group td {
    color: #007bad;
}


/*-------------------------------------------------------------------------
        エフェクト
--------------------------------------------------------------------------*/
.effect dt {
  transition: 1.2s;
    -webkit-transition:  1.2s;
} 
.effect dd {
  transition: 1.2s;
    -webkit-transition:  1.2s;
  transition-delay: .2s;
    -webkit-transition-delay:  .2s;
}
.effect-fade {
    opacity: 0; 
    -webkit-transition: all 1.2s ease; 
    transition: all 1.2s ease;
}
.effect-fade.active{
    opacity: 1; 
    -webkit-transform: translate3d(0, 0, 0); 
    transform: translate3d(0, 0, 0);
}

.effect-kurukuru.active{
    animation: kurukuru 0.15s linear infinite;
    -webkit-animation: kurukuru 0.15s linear infinite;
    animation-iteration-count: 4;
}
@keyframes kurukuru {
  0%   { transform: rotateY(0deg); }
  100% { transform: rotateY(360deg); }
}
.effect-swing {
    animation: 3s ease 0s normal none infinite swing;
    transform-origin: center top;
    -moz-animation: 3s ease 0s normal none infinite swing;
    -moz-transform-origin: center top;
    -webkit-animation:swing 3s infinite ease-in-out;
    -webkit-transform-origin:top;
    -ms-animation:swing 3s infinite ease-in-out;
    -ms-transform-origin:top;
}
@-moz-keyframes swing{
    0%{-moz-transform:rotate(-3deg)}
    50%{-moz-transform:rotate(3deg)}
    100%{-moz-transform:rotate(-3deg)}
}
@-webkit-keyframes swing{
    0%{-webkit-transform:rotate(-3deg)}
    50%{-webkit-transform:rotate(3deg)}
    100%{-webkit-transform:rotate(-3deg)}
}
@-ms-keyframes swing{
    0%{-ms-transform:rotate(-3deg)}
    50%{-ms-transform:rotate(3deg)}
    100%{-ms-transform:rotate(-3deg)}
}

.item {
    opacity: 0;
}
@-webkit-keyframes item_fade {
  100% {
    opacity: 1;
  }
}
@keyframes item_fad {
  100% {
    opacity: 1;
  }
}
.text-focus-in {
    opacity: 0;
}
.text-focus-in.active {
    -webkit-animation: text-focus-in 0.3s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
            animation: text-focus-in 0.3s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}
@-webkit-keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}
@keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
            filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}
.effect-buruburu.active {
    display: block;
    animation: hurueru .3s  infinite;
    animation-iteration-count: 3;
}
@keyframes hurueru {
    0% {transform: translate(0px, 0px) rotateZ(0deg)}
    25% {transform: translate(2px, 2px) rotateZ(1deg)}
    50% {transform: translate(0px, 2px) rotateZ(0deg)}
    75% {transform: translate(2px, 0px) rotateZ(-1deg)}
    100% {transform: translate(0px, 0px) rotateZ(0deg)}
}
@-webkit-keyframes hurueru {
    0% {-webkit-transform: translate(0px, 0px) rotateZ(0deg)}
    25% {-webkit-transform: translate(2px, 2px) rotateZ(1deg)}
    50% {-webkit-transform: translate(0px, 2px) rotateZ(0deg)}
    75% {-webkit-transform: translate(2px, 0px) rotateZ(-1deg)}
    100% {-webkit-transform: translate(0px, 0px) rotateZ(0deg)}
}

.effect-poyon.active {
  animation: poyon 1.1s linear 0s 1;
  -webkit-animation: poyon 1.1s linear 0s 1;
}

@keyframes poyon {
  0%   { transform: scale(0.8, 1.4) translate(0%, -100%); }
  10%  { transform: scale(0.8, 1.4) translate(0%, -15%); }
  20%  { transform: scale(1.4, 0.6) translate(0%, 30%); }
  30%  { transform: scale(0.9, 1.1) translate(0%, -10%); }
  40%  { transform: scale(0.95, 1.2) translate(0%, -30%); }
  50%  { transform: scale(0.95, 1.2) translate(0%, -10%); }
  60%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  70%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}
@-webkit-keyframes poyon {
  0%   { -webkit-transform: scale(0.8, 1.4) translate(0%, -100%); }
  10%  { -webkit-transform: scale(0.8, 1.4) translate(0%, -15%); }
  20%  { -webkit-transform: scale(1.4, 0.6) translate(0%, 30%); }
  30%  { -webkit-transform: scale(0.9, 1.1) translate(0%, -10%); }
  40%  { -webkit-transform: scale(0.95, 1.2) translate(0%, -30%); }
  50%  { -webkit-transform: scale(0.95, 1.2) translate(0%, -10%); }
  60%  { -webkit-transform: scale(1.1, 0.9) translate(0%, 5%); }
  70%  { -webkit-transform: scale(1.0, 1.0) translate(0%, 0%); }
}

.marker.active{
    background-position: -100% .5em;
}
.marker {
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(255,250,153) 50%);
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 1.8s ease;
    font-weight: bold;
}
/*-------------------------------------------------------------------------
        header
--------------------------------------------------------------------------*/
header {
    width: 100%;
    background-color: rgba(255, 255, 255, 0.93);
    border-top: 12px solid #bb0015;
    box-shadow:2px 2px 8px -1px rgba(0,0,0,0.41);
    -moz-box-shadow:2px 2px 8px -1px rgba(0,0,0,0.41);
    -webkit-box-shadow:2px 2px 8px -1px rgba(0,0,0,0.41);
    -o-box-shadow:2px 2px 8px -1px rgba(0,0,0,0.41);
    -ms-box-shadow:2px 2px 8px -1px rgba(0,0,0,0.41);
    position: absolute;
    z-index: 99;
}
header img {
    width: 100%;
    height: auto;
}
header .inner {
    height: 60px;
    position: relative; 
}
header .inner .logo {
    width: auto;
    height: 30px;
    position: absolute;
    top: 15px;
    left: 15px;
}
header .inner .kk_logo {
    width: auto;
    height: 30px;
    position: absolute;
    top: 15px;
    right: 15px;
}
header .inner img {
    width: auto;
    height: 100%;
}

/*-------------------------------------------------------------------------
        navi
--------------------------------------------------------------------------*/
nav {
    width: 100%;
    height: 50px;
    background-color: rgba(187, 0, 21, 0.95);
    overflow: hidden;
    position: fixed;
    top: 0;
    margin: auto;
    box-shadow:0px 4px 4px 0px rgba(10,8,0,0.21);
    -moz-box-shadow: 0px 4px 4px 0px rgba(10,8,0,0.21);
    -webkit-box-shadow: 0px 4px 4px 0px rgba(10,8,0,0.21);
    -o-box-shadow: 0px 4px 4px 0px rgba(10,8,0,0.21);
    z-index: 99;
    display: none;
}
nav img {
    width: 100%;
    height: auto;
}
.nav-fixed  {
  position:  fixed;
  top: 0;
  left: 0;
  -webkit-transition: all .4s ease 0s,background .6s ease .2s;
  transition: all .4s ease 0s,background .8s ease .2s;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  display: block !important;
    -webkit-transform: translateX(0);
    -webkit-transition: .2s -webkit-transform ease-in-out;
}
nav .logo {
    width: auto;
    height: 20px;
    position: absolute;
    top: 11px;
    left: 15px;
}
nav img {
    width: auto;
    height: 100%;
}
nav ul {
    width: 70%;
    float: right;
    height: 30px;
    margin: 18px auto 0;
}
nav ul li {
    float: left;
    font-size: 13px;
    margin-right: 5%;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.06em;
    font-weight: 600;
}
nav ul li:last-child {
    margin-right: 0%;
}
nav ul li:nth-child(4) {
    margin-top: -7px;
}
/*
nav ul li:nth-child(5) {
    margin-top: -12px;
    border: 1px solid #fff;
    padding: 3px 8px;
    background: #fff;
}
*/
nav ul li a {
    text-decoration: none;
    color: #fff;
}


ul#menu {
    display: none;
}


/*-------------------------------------------------------------------------
        mainImages
--------------------------------------------------------------------------*/
#main {
    background: url(../images/main_images_bg.png) center center /cover no-repeat;
    border-bottom: 40px solid #002063;
    position: relative;
}
  @keyframes fade-in1 {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }


.slick-slider img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.slick-slider.slick-initialized{
    animation-name: fade-in1;
    animation-duration: 0.5s; 
    animation-timing-function: ease-out;
    animation-delay: 0.1s;
    animation-iteration-count: 1; 
    animation-direction: normal; 
    animation-fill-mode: forwards; 
}
.border_box {
    width: 100%;
    height: 27px;
    background-color: #027cae;
    position: absolute;
    bottom: 14px;
}


/*-------------------------------------------------------------------------
        Contents
--------------------------------------------------------------------------*/
#contents {

}
#contents img {
    width: 100%;
    height: auto;
}
section {
    padding-top: 100px;
    margin-top: -100px;
}

#recipe_list_con h2.balloon, 
#history h2.balloon, 
#new h2.balloon, 
#product h2.balloon, 
#sitemap h2.balloon,
#lineup h2.balloon {
    position: relative;
    display: block;
    text-align: center;
    padding: 25px;
    background-color: #be0d21;
    border: #be0d21 solid 4px;
    min-height: auto;
    font-size: 20px;
    margin: 5vh auto 9vh;
    border-radius: 25px;
    color: #fff;
    width: 500px;
}
#recipe_list_con h2.balloon::before,
#history h2.balloon::before, 
#new h2.balloon::before, 
#product h2.balloon::before, 
#sitemap h2.balloon::before, 
#lineup h2.balloon::before {
    content: '';
    position: absolute;
    display: block;
    z-index: 1;
    border-style: solid;
    border-color: #be0d21 transparent;
    border-width: 25px 25px 0 0;
    bottom: -16px;
    left: 50%;
    margin-left: -10px;
}
#recipe_list_con h2.balloon::after,
#history h2.balloon::after, 
#new h2.balloon::after, 
#product h2.balloon::after, 
#sitemap h2.balloon::after, 
#lineup h2.balloon::after {
    content: '';
    position: absolute;
    display: block;
    z-index: 0;
    border-style: solid;
    border-color: #be0d21 transparent;
    border-width: 25px 25px 0 0;
    bottom: -25px;
    left: 50%;
    margin-left: -14px;
}


/*-------------------------------------------------------------------------
        K＆Kコンビーフの歴史
--------------------------------------------------------------------------*/
#history {
    min-height: 2600px;
    position: relative;
    background: url(../images/history_bg_01.png) center 185px no-repeat;
    background-size: 41px;
    width: 1020px;
    margin: 70px auto 16px;
    padding-top: 0px;
}
.hisbox {
    margin: 0 2% 64px;
}
.hisbox .h_box {
    width: 1020px;
    margin: 16px auto 0px;
}
#history h2 {
    width: 540px;
    min-height: 160px;
    margin: -60px auto 0;
    text-align: center;
    position: relative;
}
#history h2 > img {
    width: 400px;
    height: auto;
}

#history h2 span {
    display: block;
    width: 100px;
    height: auto;
    position: absolute;
    right: -35px;
    top: 0;
}
#history h2 span > img {
    width: 100%;
    height: auto;
}


#history dl {
    position: absolute;
}
#history dl dd p {
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.06em;
    margin: -16px auto 0;
    color: #000;
    text-shadow: 
    #fff 3px 0px,  #fff -3px 0px,
    #fff 0px -3px, #fff 0px 3px,
    #fff 3px 3px , #fff -3px 3px,
    #fff 3px -3px, #fff -3px -2px,
    #fff 1px 3px,  #fff -1px 3px,
    #fff 1px -3px, #fff -1px -2px,
    #fff 3px 1px,  #fff -3px 1px,
    #fff 3px -1px, #fff -3px -1px;
    line-height: 1.2;
    position: relative;
    display: revert;
}
#history dl dd p sup {
    position: absolute;
    top: 4px;
    right: -16px;
    font-size: 13px;
}

#history dl.box01 { 
    left: 535px;
    top: 160px;
}
#history dl.box01 dt {
    width: 168px;
    float: left;
}
#history dl.box01 dd  {
    width: 300px;
    float: right;
}
#history dl.box01 dd p {
    margin-top: 23px;
}
#history dl.box01 dd:last-of-type  {
    width: 300px;
    text-align: center;
    padding: 10px 75px 0 0;
}

#history dl.box02 { 
    right: 535px;
    top: 430px
}
#history dl.box02 dt {
    width: 168px;
    float: right;
}
#history dl.box02 dd  {
    float: right;
    width: 150px;
    margin-top: 22px;
    margin-right: 12px;
}

#history dl.box03 { 
    left: 535px;
    top: 530px
}
#history dl.box03 dt {
    width: 168px;
    float: left;
}
#history dl.box03 dd  {
    float: left;
    width: 230px;
    margin-left: 12px;
    margin-top: -42px;
}


#history dl.box04 { 
    right: 535px;
    top: 640px
}
#history dl.box04 dt {
    width: 168px;
    float: right;
}
#history dl.box04 dd  {
    float: right;
    width: 200px;
    margin-top: -50px;
    margin-right: 2px;
    text-align: center;
    position: relative;
}
#history dl.box04 dd p {
    margin: 0px auto;
    line-height: 1.2;
    position: absolute;
    bottom: 4px;
    left: 0;
    right: 0;
}

#history dl.box05 { 
    right: 535px;
    top: 800px
}
#history dl.box05 dt {
    width: 168px;
    float: right;
}
#history dl.box05 dd  {
    float: right;
    width: 195px;
    margin-top: -40px;
    text-align: center;
    position: relative;
}
#history dl.box05 dd p {
    margin: 0px auto;
    line-height: 1.2;
    position: absolute;
    bottom: 4px;
    left: 0;
    right: 0;
}

#history dl.box06 { 
    left: 535px;
    top: 830px;
}
#history dl.box06 dt {
    width: 168px;
    float: left;
}
#history dl.box06 dd  {
    float: left;
    width: 230px;
    margin-left: 12px;
}
#history dl.box06 dd p {
    margin: 20px auto 0;
    color: #686869;
    font-weight: 500;
}

#history dl.box07 { 
    left: 535px;
    top: 930px;
}
#history dl.box07 dt {
    width: 168px;
    float: left;
}
#history dl.box07 dd  {
    float: left;
    width: 230px;
    margin-left: 12px;
}
#history dl.box07 dd p {
    margin: 20px auto 0;
    color: #686869;
    font-weight: 500;
}


#history dl.box08 { 
    background: url(../images/history_box08_bg.png) center center no-repeat;
    left: 5%;
    top: 970px;
    width: 350px;
    height: 350px;
    background-size: contain;
}
#history dl.box08 dt { 
    text-align: center;
    width: 210px;
    position: absolute;
    right: -24px;
    bottom: 145px;
}
#history dl.box08 dd { 
    position: relative;
    width: 350px;
    height: 350px;
}
#history dl.box08 h3 { 
  text-shadow: 
    #fff 3px 0px,  #fff -3px 0px,
    #fff 0px -3px, #fff 0px 3px,
    #fff 3px 3px , #fff -3px 3px,
    #fff 3px -3px, #fff -3px -2px,
    #fff 1px 3px,  #fff -1px 3px,
    #fff 1px -3px, #fff -1px -2px,
    #fff 3px 1px,  #fff -3px 1px,
    #fff 3px -1px, #fff -3px -1px;
    font-size: 19px;
    color: #000;
}
#history dl.box08 .item {
    position: absolute;
    width: 125px;
    height: auto;
}

#history dl.box08 .item.active:nth-child(1) {
  -webkit-animation: item_fad 0.5s ease 0.5s 1 forwards;
  animation: item_fad 0.5s ease 0.5s 1 forwards;
    top: 24px;
    right: 0;
}

#history dl.box08 .item.active:nth-child(2) {
  -webkit-animation: item_fad 0.5s ease 1s 1 forwards;
  animation: item_fad 0.5s ease 1s 1 forwards;
    top: 0;
    left: 30px;
}
#history dl.box08 .item.active:nth-child(3) {
  -webkit-animation: item_fad 0.5s ease 1.5s 1 forwards;
  animation: item_fad 0.5s ease 1.5s 1 forwards;
    top: 134px;
    left: -32px;
}
#history dl.box08 .item.active:nth-child(4) {
  -webkit-animation: item_fad 0.5s ease 2s 1 forwards;
  animation: item_fad 0.5s ease 2s 1 forwards;
    bottom: -32px;
    right: -5px;
    width: 250px;
}

#history dl.box09 { 
    left: 535px;
    top: 1260px;
}
#history dl.box09 dt {
    width: 168px;
    float: left;
}
#history dl.box09 dd  {
    float: left;
    width: 180px;
    margin-top: -48px;
    margin-left: 8px;
    text-align: center;
}
#history dl.box09 dd p {
    margin: -10px auto 0;
    font-size: 16px;
    line-height: 1.3;
}

#history dl.box10 { 
    right: 535px;
    top: 1395px;
}
#history dl.box10 dt {
    width: 168px;
    float: right;
}
#history dl.box10 dd  {
    float: right;
    width: 150px;
    margin-top: 26px;
    margin-right: 12px;
    text-align: right;
}

#history dl.box11 { 
    left: 535px;
    top: 1441px;
}
#history dl.box11 dt {
    width: 168px;
    float: left;
}
#history dl.box11 dd  {
    float: left;
    width: 180px;
    margin-top: -48px;
    margin-left: 8px;
    text-align: center;
}
#history dl.box11 dd p {
    margin: -24px -14px 0 0;
    font-size: 16px;
    line-height: 1.3;
    text-align: right;
}

#history dl.box12 { 
    right: 535px;
    top: 1600px;
}
#history dl.box12 dt {
    width: 168px;
    float: right;
}
#history dl.box12 dd  {
    float: right;
    width: 180px;
    margin-top: -48px;
    text-align: center;
}
#history dl.box12 dd p {
    margin: -17px 0 0 -8px;
    font-size: 16px;
    line-height: 1.3;
    text-align: left;
}

#history dl.box13 { 
    left: 535px;
    top: 1642px;
}
#history dl.box13 dt {
    width: 168px;
    float: left;
}
#history dl.box13 dd  {
    float: left;
    width: 180px;
    margin-top: -48px;
    margin-left: 8px;
    text-align: center;
}
#history dl.box13 dd:last-of-type {
    position: absolute;
    top: 130px;
    left: 16px;
}
#history dl.box13 dd p {
    margin: -32px -20px 0 0;
    font-size: 16px;
    line-height: 1.3;
    text-align: right;
  text-shadow: 
    #fff 3px 0px,  #fff -3px 0px,
    #fff 0px -3px, #fff 0px 3px,
    #fff 3px 3px , #fff -3px 3px,
    #fff 3px -3px, #fff -3px -2px,
    #fff 1px 3px,  #fff -1px 3px,
    #fff 1px -3px, #fff -1px -2px,
    #fff 3px 1px,  #fff -3px 1px,
    #fff 3px -1px, #fff -3px -1px;
}
#history dl.box13 dd:last-of-type p {
    margin: -32px -10px 0 
}

#history dl.box14 { 
    right: 535px;
    top: 1825px;
}
#history dl.box14 dt {
    width: 168px;
    float: right;
}
#history dl.box14 dd  {
    float: right;
    width: 180px;
    margin-top: -32px;
    margin-right: 8px;
    text-align: center;
}
#history dl.box14 dd p {
    margin: -10px auto 0;
    font-size: 16px;
    line-height: 1.3;
}
#history dl.box15 { 
    left: 535px;
    top: 1940px;
}
#history dl.box15 dt {
    width: 168px;
    float: left;
}
#history dl.box15 dd  {
    float: left;
    width: 230px;
    margin-top: 17px;
    margin-left: -8px;
    text-align: center;
}
#history dl.box15 dd p {
    margin: -16px 0 0 -8px;
    font-size: 19px;
    line-height: 1.3;
    text-align: left;
  text-shadow: 
    #fff 3px 0px,  #fff -3px 0px,
    #fff 0px -3px, #fff 0px 3px,
    #fff 3px 3px , #fff -3px 3px,
    #fff 3px -3px, #fff -3px -2px,
    #fff 1px 3px,  #fff -1px 3px,
    #fff 1px -3px, #fff -1px -2px,
    #fff 3px 1px,  #fff -3px 1px,
    #fff 3px -1px, #fff -3px -1px;
}
#history dl.box15 dd p img {
    height: 25px;
    width: auto;
    margin-right: 9px;
    margin-top: -3px;
}

#history dl.box16 { 
    right: 535px;
    top: 2025px;
}
#history dl.box16 dt {
    width: 168px;
    float: right;
}
#history dl.box16 dd  {
    float: right;
    width: 180px;
    margin-top: -37px;
    margin-left: 0;
    text-align: center;
}
#history dl.box16 dd:last-of-type {
    position: absolute;
    top: 160px;
    right: 10px;
}
#history dl.box16 dd p {
    margin: -32px -10px 0 -10px;
    font-size: 16px;
    line-height: 1.3;
    text-align: left;
  text-shadow: 
    #fff 3px 0px,  #fff -3px 0px,
    #fff 0px -3px, #fff 0px 3px,
    #fff 3px 3px , #fff -3px 3px,
    #fff 3px -3px, #fff -3px -2px,
    #fff 1px 3px,  #fff -1px 3px,
    #fff 1px -3px, #fff -1px -2px,
    #fff 3px 1px,  #fff -3px 1px,
    #fff 3px -1px, #fff -3px -1px;
}
#history dl.box16 dd:last-of-type p {
    margin: -32px -10px 0 
}

#history dl.box17 { 
    left: 535px;
    top: 2240px;
}
#history dl.box17 dt {
    width: 168px;
    float: left;
}
#history dl.box17 dd  {
    width: 180px;
    margin-top: 17px;
    margin-left: 175px;
    text-align: center;
}
#history dl.box17 dd p {
    margin: auto;
    font-size: 22px;
    line-height: 1.3;
    text-align: center;
  text-shadow: 
    #fff 3px 0px,  #fff -3px 0px,
    #fff 0px -3px, #fff 0px 3px,
    #fff 3px 3px , #fff -3px 3px,
    #fff 3px -3px, #fff -3px -2px,
    #fff 1px 3px,  #fff -1px 3px,
    #fff 1px -3px, #fff -1px -2px,
    #fff 3px 1px,  #fff -3px 1px,
    #fff 3px -1px, #fff -3px -1px;
}
#history dl.box17 dd p img {
    height: 21px;
    width: auto;
    margin-right: 16px;
}
#history dl.box17 dd::before,
#history dl.box18 dd::before  {
    content: "";
    position: absolute;
    left: -46px;
    top: 0;
    transform: skewY(-25deg);
    transform-origin: bottom left;
    z-index: -1;
    height: 100%;
    background: #bb0015;
    width: 41px;
}
#history dl.box18 dd::before {
    left: unset;
    right: -45px;
}
#history dl.box18 { 
    right: 535px;
    top: 2400px;
}
#history dl.box18 dt {
    width: 168px;
    float: right;
}
#history dl.box18 dd  {
    float: right;
    width: 260px;
    margin-top: -8px;
    margin-left: 0;
    text-align: center;
}
#history dl.box18 dd p {
    margin: -32px 0px 0 10px;
    font-size: 21px;
    line-height: 1.3;
    text-align: left;
    text-shadow: 
    #fff 3px 0px,  #fff -3px 0px,
    #fff 0px -3px, #fff 0px 3px,
    #fff 3px 3px , #fff -3px 3px,
    #fff 3px -3px, #fff -3px -2px,
    #fff 1px 3px,  #fff -1px 3px,
    #fff 1px -3px, #fff -1px -2px,
    #fff 3px 1px,  #fff -3px 1px,
    #fff 3px -1px, #fff -3px -1px;
}
#history dl.box18 dd p .small {
    font-size: 18px;
}


/*-------------------------------------------------------------------------
        新コンビーフについて
--------------------------------------------------------------------------*/
#new {
    width: 880px;
    margin: 0 auto 180px;
}
#new h2 {
    width: 620px;
    min-height: 160px;
    margin: 0px auto 0;
    text-align: center;
    position: relative;
}
#new h2 > img {
    width: 440px;
    height: auto;
}

#new h2 span {
    display: block;
    width: 100px;
    height: auto;
    position: absolute;
    left: -35px;
    top: 0;
}
#new h2 span > img {
    width: 100%;
    height: auto;
}
#new .sub {
    width: 600px;
    margin: 10px auto;
    padding-left: 70px;
    position: relative;
}
#new .sub p {
    width: 480px;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    float: left;
}
#new .sub figure {
    width: 120px;
    letter-spacing: 0.04em;
    position: absolute;
    margin: 0;
    right: -80px;
    bottom: -20px;
}
#new h3 {
    width: 400px;
    margin: 32px 0 0 88px;
}
#new h4 {
    margin: 4px auto 8px;
    padding: 4px 40px 0;
    font-size: 21px;
    color: #007cae;
    font-weight: 600;
    display: inline-block;
}
#new h4::before {
    content: "";
    background: url(../images/new_h4_be.png) 0 0 no-repeat;
    width: 34px;
    height: 39px;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}
#new h4::after {
    content: "";
    background: url(../images/new_h4_af.png) 0 0 no-repeat;
    width: 34px;
    height: 39px;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
}
.newbox {
    text-align: center;
    position: relative;
}
.newbox p {
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0.04em;
}

.newbox.box_01 {
    margin: 36px 0 56px;
    width: 501px;
}
.newbox.box_01 figure {
    width: 130px;
    position: absolute;
    top: -30px;
    right: -200px;
}
.newbox.box_02 {
    margin: 36px 0 56px 160px;
    width: 400px;
}
.newbox.box_02 figure {
    width: 100px;
    position: absolute;
    top: 0;
    left: -150px;
}
.newbox.box_03 {
    margin: 36px 0 56px 240px;
    width: 501px;
}
.newbox.box_04 {
    margin: 36px 0 56px 80px;
    width: 420px;
}
.newbox.box_04 figure {
    width: 180px;
    position: absolute;
    top: -20px;
    right: -250px;
}
.newbox.box_04 p.kome.small {
    margin: 10px 20px 0;
    font-size: 11px !important;
}

.newbox.box_04 span.small {
    font-size: 70% !important;
    vertical-align: top;
    padding-left: 2px;
}

/*-------------------------------------------------------------------------
        商品紹介
--------------------------------------------------------------------------*/
#product {
    margin: 40px auto 56px;
    border-top: 1px solid #ccc; 
    border-bottom: 1px solid #ccc;     
}
#product h2 {
    width: 620px;
    min-height: 160px;
    margin: 0px auto 0;
    text-align: center;
    position: relative;
}
#product h2 > img {
    width: 440px;
    height: auto;
}

#product h2 span {
    display: block;
    width: 100px;
    height: auto;
    position: absolute;
    right: -35px;
    top: 0;
}
#product h2 span > img {
    width: 100%;
    height: auto;
}
#product h3 {
    font-family: 'Sawarabi Mincho', sans-serif, 'Ibarra Real Nova', serif;
    margin: 4px auto 8px;
    padding: 1px 56px 0;
    font-size: 30px;
    color: #414141;
    font-weight: 600;
    display: inline-block;
    min-height: 73px;
    text-align: center;
    line-height: 1.1;
    position: relative;
}
#product .box_01 h3 ,
#product .box_04 h3 {
    line-height: 70px;
}
#product h3 span {
    font-family: 'Ibarra Real Nova', serif;
    font-size: 95%;
    letter-spacing: 0.08em;
}
#product h3::before,
#product h3::after {
    content: "";
    background: url(../images/product_h3_be.png) 0 0 no-repeat;
    width: 28px;
    height: 73px;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
#product h3::after {
    background: url(../images/product_h3_af.png) 0 0 no-repeat;
    left: unset;
    right: 0;
}
#product h4 {
    margin: 10px auto 24px;
    padding: 4px 0 0 57px;
    font-size: 24px;
    color: #007CAE;
    font-weight: 600;
    line-height: 30px;
    letter-spacing: 0.08em;
    position: relative;
}
#product h4::before {
    content: "";
    background: url(../images/product_h4_be.png) 0 0 no-repeat;
    width: 50px;
    height: 64px;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}
#product .fl {
    width: 63%;
}
#product .fl dl {
    margin: 24px auto 0px;
}
#product .fl dt, 
#product .fl dd {
    font-size: 13px;
    line-height: 1.4;
    margin-bottom: 8px;
}
#product .fl dt {
    width: 95px;
    float: left;
    text-align: right;
}
#product .fl dd {
    width: 83%;
    float: left;
    padding-right: 0%;
}
#product .fl dt::after {
    content: "：";
}
.probox {
    width: 980px;
    margin: 1vh auto 40px;
    padding: 0 24px 4%;
}
.probox.box_01 {
    background: url(../images/product_box01_bg.png) 98% 5px no-repeat;
    background-size: 34%;
}
.probox.box_02 {
    background: url(../images/product_box02_bg.png) 98% 5px no-repeat;
}
.probox.box_03 {
    background: url(../images/product_box03_bg.png) 98% 5px no-repeat;
}
.probox.box_04 {
    background: url(../images/product_box04_bg.jpg) 100% 0 no-repeat;
    background-size: 38%;
}
.probox.box_04::after {
    background: url(../images/recipe/recipe_r.png) 0 0 no-repeat;
    background-size: 100%;
    display: block;
    content: "";
    height: 13px;
    width: 283px;
    position: absolute;
    right: 5.5%;
    bottom: -2vh;
}
#product .fl {
    width: 63%;
}
#product .fl dl {
    margin: 36px 2% 0px;
}
#product .fr {
    width: 35%;
    margin: 16px auto 0px;
}
#product .fr p.bottom {
    border-top: 1px solid #bbb;
    margin: 0px 12% 0px;
    font-size: 11px;
    padding-top: 4px;
}
#product .fr table {
    margin: 36px auto 0;
}
#product .fr table th, 
#product .fr table td {
    padding: 9px 10px 0;
    font-size: 12px;
    line-height: 1.2;
}
#product .fr tr:last-child th, 
#product .fr tr:last-child td {
    padding-bottom: 9px;
}
/*-------------------------------------------------------------------------
        ABCレシピ
--------------------------------------------------------------------------*/
#ABCrecipe {
    margin: 40px auto 30vh;
}
#ABCrecipe h3 {
    position: relative;
    font-size: 18px;
    text-align: center;
    margin: 0px auto;
    width: 980px;
}
#ABCrecipe h3 strong {
    display: block;
    font-size: 1.8rem;
    text-align: center;
}
#ABCrecipe h3 span {
    position: relative;
    z-index: 2;
    display: inline-block;
    margin: 0 2.5em;
    padding: 0 1em;
    background-color: #fff;
}
#ABCrecipe h3::before {
    position: absolute;
    top: 50%;
    z-index: 1;
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}
#ABCrecipe h4 {
    width: 620px;
    min-height: 160px;
    margin: 56px auto 0;
    text-align: center;
    position: relative;
}
#ABCrecipe h4 > img {
    width: 440px;
    height: auto;
}

#ABCrecipe h4 span {
    display: block;
    width: 100px;
    height: auto;
    position: absolute;
    left: -30px;
    top: -32px;
}
#ABCrecipe h4 span > img {
    width: 100%;
    height: auto;
}
.ABC_body {
    width: 980px;
    margin: 56px auto 180px;
}
.ABC_body li {
    float: left;
    width: 32%;
    margin: 0 2% 0 0;
}
.ABC_body li:last-child {
    margin: 0;
}
.ABC_body li p {
    text-align: center;
    margin: 10px 8px 0;
    font-size: 15px;
    line-height: 1.3;
}
.ABC_body button {
    padding: 5px 2%;
    background-color: #231916;
    border: 1px solid #231916;
    border-radius: 2px;
    cursor: pointer;
    text-align: center;
    margin: 5px auto 0;
    color: #fff;
    display: block;
    width: 100%;
    font-size: 14px;
    letter-spacing: 0.08em;
    -webkit-transition: all .3s;
    transition: all .3s;
    position: relative;
}
.ABC_body button:hover {
    background-color: #fff;
    color: #231916;
}
.ABC_body button::after{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f35a';
    font-size: 20px;
    color: #fff;
    position: absolute;
    width: 27px;
    height: 27px;
    top: 0;
    bottom: 0;
    left: 12%;
    margin: auto;
    text-align: center;
}
.ABC_body button:hover::after {
    color: #000;
}


/*-------------------------------------------------------------------------
        レシピ モーダル内
--------------------------------------------------------------------------*/

.modalArea01,
.modalArea02,
.modalArea03 {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.modalBg01,
.modalBg02,
.modalBg03 {
    width: 100%;
    height: 100%;
    background-color: rgba(30,30,30,0.9);
}
.modalWrapper .closeModal01,
.modalWrapper .closeModal02,
.modalWrapper .closeModal03 {
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    cursor: pointer;
}
.modalWrapper img {
    width: 100%;
    height: auto;
}
.modalWrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%, -50%);
    width: 85%;
    max-width: 980px;
    padding: 10px 30px;
    background-color: #fff;
    height: 90%;
    overflow: auto;
    padding: 3vh 4vw;
}
.modalWrapper::-webkit-scrollbar{
    width: 8px;
}
.modalWrapper::-webkit-scrollbar-track{
    background: #fff;
    border: none;
    border-radius: 10px;
    box-shadow: inset 0 0 2px #930011; 
}
.modalWrapper::-webkit-scrollbar-thumb{
    background: #b40317;
    border-radius: 10px;
    box-shadow: none;
}

/*-------------------------------------------------------------------------
        レシピ 内容
--------------------------------------------------------------------------*/

#recipe {
    margin-bottom: 25vh;
}
#recipe h1 {
    font-size: 30px;
    text-align: center;
    margin: 0px auto 1%;
    color: #ffffff;
    font-weight: 900;
    background-color: #002063;
    line-height: 2.5em;
}
#recipe h1 span.osusume{
    width: 90px;
    height: 90px;
    position: absolute;
    top: 1%;
    right: 3%;
    background-image: url(/brands/kk/cornedbeef/images/recipe/icon-03.png);
}
@media only screen and (max-width: 736px){
    #recipe h1 span.osusume{
        height: 0px !important;
    }
}

#recipe h2 {
    width: 49%;
    float: right;
    background: #409cc2;
    color: #fff;
    font-size: 13.5px;
    text-align: center;
    line-height: 1.3;
    padding: 10px 1% 10px;
}
#recipe figure {
    margin: 0 auto 1%;
    width: 50%;
    float: left;
}
#recipe p.overview {
    clear: both;
    background: #b40317;
    text-align: center;
    font-size: 13px;
    padding: 6px 2% 5px;
    letter-spacing: 0.08em;
    color: #fff;
}
#recipe p.overview span.pc {
    padding-right: 8px;
}
#recipe .point_box {
    width: 49%;
    float: right;
    position: relative;
    text-align: center;
    padding-top: 10%;
}
#recipe .point_box.box02 {
    padding-top: 9%;
}
#recipe .box03 .point_box{
    padding-top: 8%;
}
#recipe .point_box p{
    font-size: 15px;
}
#recipe table {
    width: 42%;
    float: left;
    margin: 5.5vh 0% 0;
    table-layout: inherit;
}
#recipe table th, 
#recipe table td {
    padding: 4px 10px 4px;
    font-size: 12px;
    border-bottom: 0.05rem solid #f0f0f0;
}
#recipe .made_box {
    width: 55%;
    float: right;
    margin: 3vh auto 0;
}
#recipe table th:last-child, 
#recipe table td:last-child {
    border: none;
    border-bottom: 0.05rem solid #f0f0f0;
}
#recipe table .group tr:last-child {
    border-bottom: 8px solid #e7f3f7;
}
#recipe tbody th {
    text-align: left;
}
#recipe thead th {
    font-size: 14px;
}
#recipe table th.double {
    text-align: center;
    font-size: 15px;
    background: rgba(23, 135, 180, 0.1);
    padding: 0px 1% 0;
    border-top: 16px solid #fff;
}
#recipe table tbody {
    border-bottom: 16px solid #fff;
}
#recipe h3 {
    font-size: 21px;
    letter-spacing: 0.08em;
    border-bottom: 1px solid #000;
    padding: 0 1% 0;
    margin: 2vh auto 3vh;
}
#recipe h3.mt0 {
    margin: 3px auto 3vh;
}
#recipe ol {
    counter-reset: number;
    list-style-type: none;
    padding: 0 1% 0 3%;
    margin-bottom: 3vh;
}
#recipe ol li {
    position: relative;
    line-height: 1.3em;
    padding: 0 0.5em 16px 28px;
    font-size: 15px;
}
#recipe ol li:before{
    position: absolute;
    counter-increment: number;
    content: counter(number);
    display: inline-block;
    background: #409cc2;
    color: white;
    font-family: 'Avenir','Arial Black','Arial',sans-serif;
    font-weight: bold;
    font-size: 15px;
    left: 0;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    top: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
#recipe ul {
    padding: 0 3% 2vh;
    position: relative;
    list-style-type: none;
}

#recipe ul li {
    line-height: 1.3;
    padding: 0 0.5em 10px 23px;
    font-size: 15px;
   position: relative;
}

#recipe ul li:before {
    font-family: 'Font Awesome 5 Free';
    content: '\f00c';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: #ffb03f;
}
#recipe span.number {
    display: inline-block;
    background: #409cc2;
    color: white;
    font-family: 'Avenir','Arial Black','Arial',sans-serif;
    font-weight: bold;
    font-size: 14px;
    width: 17px;
    height: 17px;
    line-height: 17px;
    text-align: center;
    margin: 0 2px;
}
#recipe span.alphabet {
    font-weight: bold;
    font-size: 14px;
    color: #007bad;
    background-color: #e7f3f7;
    padding: 3px 4px 3px 3px;
}
span.r_mark {
    vertical-align: baseline;
    font-size: 78%;
}
.recipe_r {
    text-align: right;
}
#contents .recipe_r img {
    max-height: 13px;
    width: auto;
}





/*-------------------------------------------------------------------------
        レシピ
--------------------------------------------------------------------------*/
.recipe_page #recipe.recipe_box{
    background: url(../images/main_images_bg.png) right center /cover no-repeat;
    position: relative;
    margin-bottom: 0vh;
    padding-bottom: 14vh;
    z-index: -1;
}
.recipe_page .recipe_box::before {
    background: rgb(232 232 232／80%);
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
.recipe_page #lineup h2.balloon {
    margin: 0 auto 9vh;
}
.recipe_page .recipe_list_body {
    margin: 56px auto 48px;
}
.recipe_page #recipe_list_con h2.balloon {
    margin-top: 12vh;
}
.recipe_page .ABC_body {
    margin-bottom: 26vh
}
article#menu {
    width: 1020px;
    margin: 115px auto 3vh;
    border: 1px solid #ccc;
    padding: 3% 4%;
    background-color: #fff;
    z-index: 1;
    position: relative;
}
#recipe #menu .point_box {
    padding-top: 3%;
}
#recipe table tbody.group {
    border-bottom: 4px solid #fff;
}


#recipe.seachicken_box ol li:before,
#recipe.seachicken_box span.number {
    background: #aa7330;
}
#recipe.seachicken_box span.alphabet {
    color: #aa7330;
    background-color: #ece0d2;
}c
#recipe.seachicken_box tbody th {
    color: #aa7330;
}
#recipe.seachicken_box table thead {
    border-bottom: 2px solid #aa7330;
}
#recipe.seachicken_box table th.double {
    background: rgb(170 115 48／22%);
    color: #aa7330;
}
#recipe.seachicken_box tbody.group th, 
#recipe.seachicken_box tbody.group td {
    color: #aa7330;
}
#recipe.seachicken_box table .group tr:last-child {
    border-bottom: 8px solid #ece0d2;
}
#recipe.seachicken_box h3 {
    border-bottom: 2px solid #aa7330;
}
.seachicken > h2 {
    width: 1020px;
    margin: 0 auto 0;
    padding-top: 10vh;
}
.seachicken .probox {
    margin: 0 auto 40px;
    position: relative;
}
.seachicken #product {
    margin: 40px auto 0;
}
.seachicken #product h2.balloon {
    margin: 0 auto 5vh;
}

/*-------------------------------------------------------------------------
        商品ラインナップ
--------------------------------------------------------------------------*/
#lineup {
    background: #fffaf1; /*rgb(0 25 81／10%);*/
}
#lineup h2 {
    width: 620px;
    min-height: 160px;
    margin: 0px auto 0;
    text-align: center;
    position: relative;
}
#lineup h2 > img {
    width: 440px;
    height: auto;
}

#lineup h2 span > img {
    width: 100%;
    height: auto;
}
.lineup_body {
    width: 980px;
    margin: 56px auto 0vh;
}
.lineup_body  ul {
    margin-bottom: 6vh;
}
.lineup_body li {
    float: left;
    width: 30%;
    margin: 0px 4% 10vh 0;
    min-height: 320px;
}
.lineup_body li:nth-child(3n) {
    margin: 0 0 10vh;
}
.lineup_body li p {
    text-align: center;
    margin: 10px 8px 0;
    font-size: 15px;
    line-height: 1.3;
    min-height: 38px;
    vertical-align: middle;
}
.lineup_body li figure {
    margin: 0;
    overflow: hidden;
    position: relative;
    background-color: #fff;
}
.lineup_body li figure .caption {
    font-size: 110%;
    color: #fff;
    text-align: center;
    padding-top: 11vh;
}
.lineup_body li figure figcaption {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0; 
    background-color: rgba(0,0,0,0.8);
    -webkit-transform: rotateY(-240deg);
    transform: rotateY(-240deg);
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease;
}
.lineup_body li figure:hover figcaption {
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
    opacity: 1;  
}

.lineup_body button {
    padding: 4px 2%;
    background-color: #be0d21;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    text-align: center;
    margin: 6px auto 0;
    color: #fff;
    display: block;
    width: 70%;
    font-size: 14px;
    letter-spacing: 0.2em;
    position: relative;
    cursor:pointer;
    transition:800ms ease all;
    outline:none;
}
.lineup_body button.fl {
    float: left;
    width: 49%;
}
.lineup_body button.fr {
    float: right;
    width: 49%;
}
.lineup_body button span::after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f35d';
    font-size: 12px;
    color: #fff;
    position: absolute;
    width: 13px;
    height: 29px;
    top: 0;
    bottom: 0;
    right: 12%;
    margin: auto;
}
.lineup_body button:hover span::after {
    color: #be0d21;
}
#contents .lineup_body button img {
    width: 13px;
    position: absolute;
    right: 4vw;
    height: 13px;
    margin: auto;
    top: 0;
    bottom: 0;
}
.lineup_body button:hover{
    background:#fff;
    color:#be0d21;
}
.lineup_body button::before,
.lineup_body button::after{
    content:'';
    position:absolute;
    top:0;
    right:0;
    height:2px;
    width:0;
    background: #be0d21;
    transition:400ms ease all;
}
.lineup_body button::after{
    right:inherit;
    top:inherit;
    left:0;
    bottom:0;
}
.lineup_body button:hover::before,
.lineup_body button:hover::after{
    width:100%;
    transition:800ms ease all;
}


.lineup_body button.detail {
    background-color: #007cae;
    font-size: 13px;
    letter-spacing: 0.1em;
    padding-right: 7%;
}
.lineup_body button.detail::before,
.lineup_body button.detail::after{
    background: #007cae;
}
.lineup_body button.detail:hover{
    background:#fff;
    color:#007cae;
}
.lineup_body button.detail span::after {
    right: 11%;
}
.lineup_body button.detail:hover span::after {
    color:#007cae;
}
.lineup_body button.buy,
.lineup_body button.buy:hover {
    pointer-events: none;;
}
.lineup_body button.buy:hover::before,
.lineup_body button.buy:hover::after{
    transition: unset;
}





/*-------------------------------------------------------------------------
       パンくず
--------------------------------------------------------------------------*/

.breadcrumbs {
    background: #027cae;
    border-top: 1px solid #ccc;
    margin: 0 auto 0;
}
.breadcrumbs > ul {
    width: 980px;
    margin: 0 auto;
    padding: 15px 0 14px;
}

.breadcrumbs > ul > li {
    display: inline-block;
    position: relative;
    font-size: 12px;
    padding-right: 15px;
    color: #fff;
}
.breadcrumbs > ul > li::after {
    content: ">";
    display: block;
    position: absolute;
    top: 0em;
    right: 0;
}
.breadcrumbs > ul > li:last-child {
    padding-right: 0;
}
.breadcrumbs > ul > li:last-child::after {
    display: none;
}
.breadcrumbs > ul > li + li {
    padding-left: 10px;
}
.breadcrumbs > ul > li a,
.breadcrumbs > ul > li a:visited {
    margin: 0;
    padding: 0;
    font-size: 100%;
    text-decoration: none;
    color: #fff;
}
.breadcrumbs > ul > li a:hover {
    color: #ccc;
    text-decoration: underline;
}

/*-------------------------------------------------------------------------
        バナー
--------------------------------------------------------------------------*/
#bnr {
    margin: 0px auto 32px;
    padding: 0;
}
.bnr_body {
    width: 980px;
    margin: 0px auto 3vh;
    padding: 8vh 50px 0;
}
.bnr_body li {
    float: left;
    width: 32%;
    margin: 0 2% 40px 0;
}
.bnr_body li:nth-child(3n) {
    margin: 0 0 40px;
}
#bnr a:hover img {
    opacity: 0.5;
    filter: alpha(opacity=50);
}


/*-------------------------------------------------------------------------
        footer
--------------------------------------------------------------------------*/

footer {
    background: url(../images/footer_bg.png) center bottom repeat-x;
    background-size: 300px;
    padding: 0 0 24px;
}
footer img {
    width: 100%;
    height: auto;
}
ul.footer_link {
    text-align: center;
    max-width: 980px;
    margin: 0 auto 8px;
    letter-spacing: 0.08em;
    display: flex;
    justify-content: center;
}
footer li {
    position: relative;
    float: left;
    margin-right: 8px;
    padding-left: 8px;
    border-left: 1px solid #ccc;

}
footer li:last-child {
    border-right: 1px solid #ccc;

}

footer li a {
    font-size: 12px;
    text-decoration: none;
    color: #808080;
}
footer li:nth-child(3)::after,
footer li:nth-child(4)::after,
footer li:nth-child(5)::after {
    content: "";
    background: url(../images/ico_win.png) 0 0 no-repeat;
    width: 10px;
    height: 10px;
    position: absolute;
    background-size: contain;
    margin: auto;
    top: 0;
    bottom: 0;
    margin-left: 3px;
}
footer li:nth-child(3) {
    padding-right: 12px;
}
footer li:nth-child(4) {
    padding-right: 12px;
}
footer li:nth-child(5) {
    padding-right: 18px;
}
.gotop {
    width: 60px;
    height: 60px;
    position: fixed;
    bottom: 10px;
    right: 10px;
    background: #bb0015;
    opacity: 0.95;
    border-radius: 50%;
    z-index: 9999;
}
.gotop a{
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    text-decoration: none;
}
.gotop a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f062';
    font-size: 30px;
    color: #fff;
    position: absolute;
    width: 30px;
    height: 30px;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}
.copyright {
    font-size: 11px;
    letter-spacing: 0.15em;
    color: #6c6c6c;
    text-align: center;
}


/*-------------------------------------------------------------------------
       サイトマップ
--------------------------------------------------------------------------*/
.sitemap #contents {
    border: none;
    padding: 12vh 0 0;
    margin: 0;
}
#sitemap {
    margin: -100px auto 24vh;
    width: 980px;
}
#sitemap ul {
  padding: 0;
  position: relative;
}

#sitemap ul li {
    color: white;
    background: #001951;
    line-height: 1.5;
    padding: 1.2em 2em 1.2em 3.5em;
    border-bottom: 12px solid white;
    list-style-type: none!important;
}
#sitemap ul li.list {
    padding: 1.2em 2em 1.2em 3.5em;
}
#sitemap ul li.list li {
    background: #027cae;
}
#sitemap ul li::before {
    font-family: "Font Awesome 5 Free";
    content: "\f14a";
    position: absolute;
    left: 1.8em;
    color: white;
}
#sitemap ul li.no_check::before {
    display: none;
}
#sitemap ul li.no_check ul {
    margin: 0.4vh 0 0.5vh -2em;
}
#sitemap ul li ul {
    margin: 1.5vh 0 0.5vh -2em;
}
#sitemap ul li li {
    border: none;
    padding: 1em 1.3em 0.9em 4.1em;
    font-size: 14px;
    border-top: 1px solid rgb(255 255 255／30%);
}
#sitemap ul li li:last-child {
    border-bottom: 1px solid rgb(255 255 255／30%);
}
#sitemap ul li li::before {
    content: "\f00c";
    position: absolute;
    left: 2.3em;
    color: white;
    font-weight: 999;
}
#sitemap ul li a,
#sitemap ul li a:visited {
    color: #fff;
    text-decoration: none;
} 
#sitemap ul li a:hover {
    color: rgb(255 255 255／37%);
}
#sitemap .fl,#sitemap .fr {
    width: 49%;
}

/*-------------------------------------------------------------------------
       レシピ一覧
--------------------------------------------------------------------------*/
.recipe_list #contents {
    border: none;
    padding: 12vh 0 0;
    margin: 0;
}

.recipe_list #ABCrecipe {
    margin: -100px auto 56px;
}

/*-------------------------------------------------------------------------
        公式レシピ一覧
--------------------------------------------------------------------------*/
#recipe_list {
    margin: 40px auto 56px;
}
#recipe_list h3 {
    position: relative;
    font-size: 18px;
    text-align: center;
    margin: 0px auto;
    width: 980px;
}
#recipe_list h3 strong {
    display: block;
    font-size: 1.8rem;
    text-align: center;
}
#recipe_list h3 span {
    position: relative;
    z-index: 2;
    display: inline-block;
    margin: 0 2.5em;
    padding: 0 1em;
    background-color: #fff;
}
#recipe_list h3::before {
    position: absolute;
    top: 50%;
    z-index: 1;
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ccc;
}
#recipe_list h4 {
    width: 620px;
    min-height: 160px;
    margin: 56px auto 0;
    text-align: center;
    position: relative;
}
#recipe_list h4 > img {
    width: 440px;
    height: auto;
}

#recipe_list h4 span {
    display: block;
    width: 100px;
    height: auto;
    position: absolute;
    left: -30px;
    top: -32px;
}
#recipe_list h4 span > img {
    width: 100%;
    height: auto;
}
.recipe_list_body {
    width: 980px;
    margin: 56px auto 88px;
}
.recipe_list_body li {
    float: left;
    width: 32%;
    height: 310px;
    margin: 0 2% 5vh 0;
}
.recipe_list_body li a:hover {
    text-decoration: none;
}
.recipe_list_body li:nth-child(3n) {
    margin: 0 0 5vh 0;
}
.recipe_list_body li:last-child {
    margin: 0;
}
.recipe_list_body li p {
    text-align: center;
    margin: 10px 0% 0;
    font-size: 15px;
    line-height: 1.3;
}
.recipe_list_body button {
    padding: 5px 2%;
    background-color: #231916;
    border: 1px solid #231916;
    border-radius: 2px;
    cursor: pointer;
    text-align: center;
    margin: 5px auto 0;
    color: #fff;
    display: block;
    width: 100%;
    font-size: 14px;
    letter-spacing: 0.08em;
    -webkit-transition: all .3s;
    transition: all .3s;
    position: relative;
    display: none;
}
.recipe_list_body button:hover {
    background-color: #fff;
    color: #231916;
}
.recipe_list_body button::after{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f35a';
    font-size: 20px;
    color: #fff;
    position: absolute;
    width: 27px;
    height: 27px;
    top: 0;
    bottom: 0;
    left: 12%;
    margin: auto;
    text-align: center;
}
.recipe_list_body button:hover::after {
    color: #000;
}

.hover_box01 {
    overflow: hidden;
    position: relative;
}
.hover_box01 .caption {
    width: 100%;
    height: 25px;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    text-align: center;
    -webkit-transition: all 0.3s step-end;
    transition: all 0.3s step-end;
}
.hover_box01 .caption.second {
    height: 40px;
}
.hover_box01:hover .caption {
    visibility: visible;  
}
.hover_box01 .caption p {
    font-size: 130%;
    margin: 0;
    color: #fff;
    opacity: 0;
}
.hover_box01:hover .caption p {
    opacity: 1;
}
.hover_box01 .mask1, 
.hover_box01 .mask2 {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    background-color: rgba(0,0,0,0.7);
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
}
.hover_box01 .mask1 {
    left: -50%;
}
.hover_box01:hover .mask1 {
    left: 0;
}
.hover_box01 .mask2 {
    right:  -50%; 
}
.hover_box01:hover .mask2 {
    right: 0; 
}