/* ローリングストック */

/* common setting */

/* 画像リンク */
#main a:hover img {
    opacity:0.7;
    filter:alpha(opacity=70);
    -ms-filter:"alpha( opacity=70 )";
    transition:0.5;
    transition-duration:0.3s;
}

body {
    position:relative;
    overflow-x:hidden;
}

#navHeader {
    margin-bottom:0 !important;
    z-index:100;
}

/* common setting END */

#contents * {
    box-sizing: border-box;
}

.pc {display:block;}
.sp {display:none;}

#contents {
    line-height: 2.0;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    font-size: 24px;
    font-weight: 600;
}

@media only screen and (max-width: 750px) {
    #contents {
        font-size: 3.2vw;
    }
}

#contents a {
    transition: all .3s ease;
}
#contents figure {
    margin: 0;
}
#contents figure img {
    max-width: 100%;
    height: auto;
}

/* PCレイアウト */
/*-------------------------------------------*/

#main {
    width: 100%;
    text-align: center;
}
#main img {
    margin: auto;
}

#lead {
    width: 90%;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}
#lead h2 {
    margin-bottom: 0.5em;
    font-size: 45px;
    color: #ff5000;
}
#lead p {
    margin-bottom: 1em;
    text-align: left;
    font-size: 17px;
}

@media only screen and (max-width: 750px) {
    #lead h2 {
        font-size: 6vw;
    }
    #lead p {
        font-size: 3.2vw;
    }
}

/* アコーディオン */
#acc {
    background-color: #ff5000;
    margin-bottom: 20px;
}
#acc h2 {
    background-color: #ff5000;
}
#acc input {
    display: none;
}
#acc label {
    display: inline-block;
    line-height: 1.0;
    transition: all .3s ease;
    cursor: pointer;
}
#acc label.icon {
    padding-bottom: 10px;
    font-size: 90px;
    color: #ffffff;
}
#acc label.close {
    margin-top: 2em;
    font-size: 30px;
}
#acc label.close span {
    font-size: 50px;
}
#acc label:hover {
    opacity: 0.7;
}

@media only screen and (max-width: 750px) {
    #acc {
        margin-bottom: 4.6vw;
    }
    #acc label.icon {
        padding-bottom: 1.6vw;
        font-size: 12vw;
    }
    #acc label.close {
        font-size: 4.2vw;
    }
    #acc label.close span {
        font-size: 6.8vw;
    }
}

#acc article {
    background-color: #ffffff;
}
#acc article .inner {
    width: 90%;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 30px;
    padding-bottom: 30px;
}
#acc article h3 {
    margin-bottom: 0.5em;
    font-size: 42px;
}
#acc article p {
    margin-bottom: 1em;
    text-align: left;
}
#acc article figure {
    margin-bottom: 2em;
}
#acc article h4 {
    margin-bottom: 0.5em;
    text-align: left;
    font-size: 38px;
}
#acc article h4 span {
    font-size: 28px;
}

#acc article dl {
    margin-bottom: 3em;
}
#acc article dl div {
    display: flex;
    justify-content: space-between;
    position: relative;
    padding: 16px 0;
    border-top: 1px solid #ff5000;
}
#acc article dl div:last-of-type {
    border-bottom: 1px solid #ff5000;
}
#acc article dl dt {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 154px;
    background-color: #ff5000;
    border-radius: 20px;
    line-height: 1.4;
    font-size: 29px;
    color: #ffffff;
}
#acc article dl dd {
    width: calc(100% - 174px);
    text-align: left;
    line-height: 1.4;
    font-size: 25px;
}
#acc article dl dd strong {
    font-size: 29px;
    color: #ff5000;
}
#acc article dl dd p:not(:last-child) {
    margin-bottom: 0.5em;
}

#acc article dl div:nth-child(3) dd {
    padding-bottom: 50px;
}

#acc article dl div img {
    position: absolute;
    right: 0;
    bottom: 0;
}
#acc article dl div img.illust01 {
    right: -20px;
}
#acc article dl div img.illust02 {
    bottom: 0;
}
#acc article dl div img.illust03 {
    bottom: -40px;
}
#acc article cite {
    text-align: left;
    line-height: 1.4;
    font-style: normal;
}
#acc article cite a {
    color: #000000;
    word-break: break-all;
}

@media only screen and (max-width: 949px) {
    #acc article dl div:nth-child(2) dd {
        padding-bottom: 6vw;
    }
    #acc article dl div:nth-child(3) dd {
        padding-bottom: 10vw;
    }
}

@media only screen and (max-width: 750px) {
    #acc article .inner {
        padding-top: 8vw;
        padding-bottom: 8vw;
    }
    #acc article h3 {
        font-size: 5.6vw;
    }
    #acc article h4 {
        margin-bottom: 0.25em;
        font-size: 4.6vw;
    }
    #acc article h4 span {
        font-size: 3.2vw;
    }
    #acc article dl div {
        padding: 2vw 0;
    }
    #acc article dl dt {
        width: 24vw;
        font-size: 4vw;
    }
    #acc article dl dd {
        width: calc(100% - 27vw);
        font-size: 3.2vw;
    }
    #acc article dl dd strong {
        font-size: 3.4vw;
    }
    #acc article dl div img.illust01 {
        right: -3vw;
        width: 24vw;
    }
    #acc article dl div img.illust02 {
        width: 36vw;
    }
    #acc article dl div img.illust03 {
        bottom: -6vw;
        width: 16vw;
    }
    #acc article dl div:nth-child(2) dd {
        padding-bottom: 8vw;
    }
}

#acc article {
    visibility: hidden;
    height: 0;
    opacity: 0;
    transition: all .5s ease;
}
#acc input:checked ~ article {
    visibility: visible;
    height: auto;
    opacity: 1;
}
#acc label.icon span.minus {
    display: none;
}
#acc input:checked ~ label.icon span.minus {
    display: block;
}
#acc input:checked ~ label.icon span.plus {
    display: none;
}

/* anchor */
#anchor {
    background-color: #ff5000;
}
#anchor ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    max-width: 810px;
    margin-left: auto;
    margin-right: auto;
    padding: 18px;
}
#anchor ul li {
    width: calc(50% - 9px);
}
#anchor ul li:first-child {
    width: 100%;
    margin-bottom: 18px;
}
#anchor ul li a {
    display: block;
    position: relative;
    background-color: #ffffff;
    padding-top: 1em;
    padding-bottom: 2.5em;
    text-align: center;
    line-height: 1.2;
    font-size: 24px;
    color: #ff5000;
    letter-spacing: -0.05em;
}
#anchor ul li a:hover {
    text-decoration: none;
    opacity: 0.7;
}
#anchor ul li a:active,
#anchor ul li a:focus {
    text-decoration: none;
}
#anchor ul li a:after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.75em;
    width: 1em;
    height: 0.75em;
    background-color: #ff5000;
    margin: auto;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    content: "";
}

@media only screen and (max-width: 750px) {
    #anchor ul {
        padding: 2.7vw 0;
    }
    #anchor ul li {
        width: calc(50% - 1.35vw);
    }
    #anchor ul li:first-child {
        margin-bottom: 2.7vw;
    }
    #anchor ul li a {
        font-size: 3.2vw;
    }
    #anchor ul li:first-child a {
        font-size: 3.6vw;
    }
}


/* ex */
#ex .outside {
    background-color: #fff8b2;
    padding-top: 1.5em;
}
#ex .outside.white {
    background-color: #ffffff;
}
#ex .outside h3 {
    margin-bottom: 0.5em;
    font-size: 36px;
    color: #ff5000;
}
#ex .outside h3 span {
    padding-left: 1.75em;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
}
#ex .outside h3 span.no1 {
    background-image: url("../images/icon_1.png");
}
#ex .outside h3 span.no2 {
    background-image: url("../images/icon_2.png");
}
#ex .outside h3 span.no3 {
    background-image: url("../images/icon_3.png");
}
#ex .outside h3 span.no4 {
    background-image: url("../images/icon_4.png");
}
#ex .wrap {
    display: flex;
    justify-content: space-between;
    width: 90%;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}
#ex .text {
    width: 36%;
    margin-top: -0.5em;
    text-align: left;
}
#ex .wrap figure {
    width: 61.5%;
}
#ex .wrap.no3 .text {
    width: 39.5%;
}
#ex .wrap.no3 figure {
    width: 58%;
}
#ex .btn {
    width: 80%;
    max-width: 655px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.5em;
}
#ex .btn a {
    display: block;
    position: relative;
    width: 100%;
    height: 2.4em;
    font-size: 34px;
}
#ex .btn span {
    display: block;
    position: relative;
    width: calc(100% - 16px);
    height: calc(100% - 8px);
    background-color: #ffffff;
    margin-left: 4px;
    padding-left: 0.5em;
    border: 2px solid #ff5000;
    border-radius: 9999px;
    text-align: left;
    color: #ff5000;
    z-index: 1;
    transition: all .3s ease;
}
#ex .btn a span:after {
    display: block;
    position: absolute;
    top: 0;
    right: 1em;
    bottom: 0;
    margin: auto;
    width: 0.45em;
    height: 0.65em;
    background-color: #ff5000;
    margin: auto;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    content: "";
}
#ex .btn a:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ff5000;
    border-radius: 9999px;
    content: "";
}
#ex .btn a:hover {
    text-decoration: none;
}
#ex .btn a:hover span {
    transform: translate(4px,4px);
}


#ex p.center {
    margin-bottom: 1.5em;
    line-height: 1.6;
    color: #ff5000;
}

@media only screen and (max-width: 750px) {
    #ex .outside h3 {
        font-size: 4.8vw;
    }
    #ex .wrap {
        width: 100%;
    }
    #ex .wrap.no1 .text {
        width: 40%;
        margin-left: 5%;
    }
    #ex .wrap.no1 figure {
        width: 49.333vw;
        margin-right: 0;
    }
    #ex .wrap.no2 .text {
        width: 39.5%;
        margin-right: 5%;
    }
    #ex .wrap.no2 figure {
        width: 51.333vw;
    }
    #ex .wrap.no3 .text {
        width: 40%;
        margin-left: 5%;
    }
    #ex .wrap.no3 figure {
        width: 49.333vw;
    }
    #ex .illust {
        width: 84%;
        margin-left: auto;
        margin-right: auto;
    }
    #ex .btn {
        width: 90%;
    }
    #ex .btn a {
        font-size: 4.5vw;
    }
}


/* 共通ボタン */
.btn-more {
}
.btn-more a {
    display: block;
    position: relative;
    width: 100%;
    padding-right: 6px;
    padding-bottom: 6px;
    text-align: left;
    color: #ffffff;
}
.btn-more a:before {
    display: block;
    position: absolute;
    top: 3px;
    left: 3px;
    width: calc(100% - 3px);
    height: calc(100% - 3px);
    background-color: #ffa880;
    border-radius: 12px;
    content: "";
}
.btn-more a span {
    display: block;
    position: relative;
    width: 100%;
    background-color: #ff5000;
    border-radius: 12px;
    padding: 0 1em 0.25em;
    z-index: 1;
    transition: all .3s ease;
}
.btn-more a span:before,
.btn-more a span:after {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    right: 0.75em;
    width: 0.6em;
    height: 2px;
    border-radius: 9999px;
    background-color: #ffffff;
    transform-origin: calc(100% - 1px) 50%;
}
.btn-more a span:before {
    transform: rotate(40deg);
}
.btn-more a span:after {
    transform: rotate(-40deg);
}

.btn-more a:hover {
    text-decoration: none;
}
.btn-more a:hover span {
    transform: translate(4px,4px);
}


.btn-product {
    display: inline-block;
    position: relative;
    width: 11em;
    height: 2.4em;
    font-size: 18px;
}
.btn-product span {
    display: block;
    position: relative;
    width: calc(100% - 6px);
    height: calc(100% - 3px);
    background-color: #ffffff;
    margin-left: 2px;
    padding-right: 1em;
    border: 2px solid #ff5000;
    border-radius: 9999px;
    text-align: center;
    color: #ff5000;
    z-index: 1;
    transition: all .3s ease;
}
.btn-product span:after {
    display: block;
    position: absolute;
    top: 0;
    right: 1em;
    bottom: 0;
    margin: auto;
    width: 0.65em;
    height: 0.85em;
    background-color: #ff5000;
    margin: auto;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    content: "";
}
.btn-product:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ff5000;
    border-radius: 9999px;
    content: "";
}
.btn-product:hover {
    text-decoration: none;
}
.btn-product:hover span {
    transform: translate(1px,1px);
}
@media only screen and (max-width: 750px) {
    .btn-product {
        font-size: 3.4vw;
    }
}


/* products */
#products {
    width: 90%;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}
#products ul {
    display: flex;
    justify-content: space-between;
    margin-bottom: 45px;
}
#products ul li {
    width: 200px;
}
#products ul li:nth-child(2) {
    width: 223px;
}
#products .package05 {
    width: 460px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
}
@media only screen and (max-width: 920px) {
    #products ul {
        flex-wrap: wrap;
        width: 80%;
        max-width: 480px;
        margin-left: auto;
        margin-right: auto;
    }
    #products ul li {
        width: 46%;
        margin-bottom: 5%;
    }
    #products ul li:nth-child(2) {
        width: 51%;
    }
    #products ul li:nth-child(1) .btn-product,
    #products ul li:nth-child(2) .btn-product {
        margin-top: -2em;
    }
    #products .package05 {
        width: 100%;
    }
}
@media only screen and (max-width: 750px) {
    #products ul {
        width: 100%;
        max-width: inherit;
        margin-bottom: 8vw;
    }
    #products ul li {
        width: 46%;
    }
    #products ul li:nth-child(2) {
        width: 51%;
    }
    #products .package05 {
        margin-bottom: 12vw;
    }
}

#products .btn-more {
    width: 100%;
    margin-left: auto;
}
@media only screen and (max-width: 750px) {
    #products .btn-more {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2em;
    }
}


/* recipe */
#recipe {
    margin-bottom: 3em;
}
#recipe p.lead {
    line-height: 1.4;
}
#recipe h3 {
    position: relative;
    margin-bottom: 1em;
}
#recipe h3:after {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 115px;
    background-color: #fff8b2;
    z-index: -1;
    content: "";
}
#recipe h3.h3-01:after {
    bottom: 16%;
}
@media only screen and (max-width: 949px) {
    #recipe h3:after {
        height: 12.1vw;
    }
}
@media only screen and (max-width: 750px) {
    #recipe h3 {
        margin-bottom: 0;
    }
    #recipe h3:after {
        display: none;
    }
}

#recipe .wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 90%;
    max-width: 855px;
    margin-left: auto;
    margin-right: auto;
}
#recipe .wrap.recipe-a {
    margin-bottom: 0;
}
#recipe .wrap.recipe-b {
    margin-bottom: 3.5em;
    padding-top: 1.5em;
}
#recipe .wrap.recipe-a .block {
    width: 48%;
    margin-bottom: 2em;
}
#recipe .wrap.recipe-b .block {
    width: 48%;
}
#recipe .block {
    display: flex;
    flex-direction: column;
}
#recipe .block figure {
    position: relative;
    margin-bottom: 0.5em;
}
#recipe .block figure figcaption {
    position: absolute;
    top: -1.5em;
    left: 0;
}
#recipe .block figure img {
    border-radius: 20px;
}
#recipe .block h4 {
    margin-bottom: 0.25em;
    text-align: left;
    line-height: 1.4;
    font-size: 28px;
    color: #ff5000;
}
#recipe .block p {
    flex-grow: 1;
    margin-bottom: 1.5em;
    text-align: left;
    line-height: 1.4;
    font-size: 20px;
}
#recipe .block figure .circle {
    position: absolute;
    right: -5%;
    bottom: -40%;
    width: 45.85%;
}

#recipe figure.illust {
    width: 48%;
    max-width: 370px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 750px) {
    #recipe .wrap.recipe-a {
        margin-bottom: 0;
    }
    #recipe .wrap.recipe-b {
        padding-top: 2.5em;
    }
    #recipe .wrap.recipe-a .block {
        width: 47.5%;
        margin-bottom: 6vw;
    }
    #recipe .wrap.recipe-b .block {
        width: 47.5%;
    }
    #recipe .block h4 {
        font-size: 3.2vw;
    }
    #recipe .block p {
        margin-bottom: 0.5em;
        font-size: 2.8vw;
    }
}






/* 949px以下 */
/*-------------------------------------------*/
@media only screen and (max-width: 949px) {

/* common setting */

img, object, embed, video {
    max-width:100%;
    height:auto;
}

#navHeader {
    height:20px;
}




/* common setting END */



}
/*-------------------------------------------*/
/* 949px以下 END */



/* 768px以下 */
/*-------------------------------------------*/
@media only screen and (max-width: 768px) {





}
/*-------------------------------------------*/
/* 768px以下 END */



/* 750px以下 */
/*-------------------------------------------*/
@media only screen and (max-width: 750px) {

/* common setting */

#navHeader {
    height:4.5em;
}

.pagetop_sp {z-index:9999;}

.pc {display:none;}
.sp {display:block;}

/* common setting END */


}
/*-------------------------------------------*/
/* 750px以下 END */









