@charset "urf-8";
/*----------------
        comonn
----------------*/
.products .sp{
    display: none;
}

.products .pc{
    display: block;
}
.products .grid {
    display: grid;
    grid-template-columns: 1fr auto auto;
    column-gap: 40px;
    padding-top: 72px;
    max-width: 1100px;
}
.products .grid img {
    grid-column: 1;
    grid-row: 1;
}
.products .y-ttl{
    grid-column: 3;
    grid-row: 1;
    font-size: 30px;
    writing-mode: vertical-rl;
    display: inline-block;
    line-height: 1.5;
    letter-spacing: 0.1em;
}
.products .y-text{
    grid-column: 2;
    grid-row: 1;
    font-size: 16px;
    writing-mode: vertical-rl;
    font-weight: normal;
    line-height: 1.75;
    letter-spacing: 0.1em;
}
.products ul.flex{
    padding-bottom: 98px;
    justify-content: space-between;
    align-items: stretch;
    clear: both;
    padding-top: 60px;
}
.products ul.flex li {
    width: 32%;
}
.products .l-ttl{
    font-size: 30px;
    text-align: center;
    letter-spacing: 0.2em;
}
.products .text{
    font-size: 16px;
    font-weight: normal;
    line-height: 1.75;
    padding-top: 36px;
    letter-spacing: 0.1em;
}
.products .w1100{
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

@media(max-width: 767px){
    .products .sp{
        display: block;
    }
    .products .sp-top{
        display: block;
        padding: 41px 35px;
    }
    .products .pc{
        display: none;
    }
    .products .l-ttl{
        font-size: 22px;
    }
    .products .grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 0;
        padding-top: 45px;
    }
    .products .grid img {
        grid-column: 1;
        grid-row: 2;
        margin-bottom: 22px;
    }
    .products .y-ttl{
        grid-column: 1;
        grid-row: 1;
        margin-bottom: 17px;
        font-size: 22px;
        writing-mode: horizontal-tb;
        letter-spacing: 0.2em;
    }
    .products .y-ttl rt{
        padding-bottom: 10px;
    }
    .products .y-text{
        grid-column: 1;
        grid-row: 3;
        font-size: 14px;
        writing-mode: horizontal-tb;
    }
    .products .text{
        font-size: 14px;
        padding-top: 0;
    }
    .products .w1100{
        width: auto;
        box-sizing: border-box;
    }
    .products ul.flex{
        flex-direction: column;
        padding-top: 40px;
        padding-bottom: 60px;
    }
    .products ul.flex li{
        display: grid;
        grid-template-columns: 50% 50%;
        align-items: flex-start;
        gap: 18px;
        width: 100%;
    }
    .products ul.flex li + li{
      margin-top: 25px;
    }
}

/*---------------
    ttl-bg
----------------*/
.products .ttl-bg{
    position: relative;
    width: 100%;
    height: 582px;
    background-image: url("../img/products-top.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.products .ttl-bg .l-ttl{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    text-align: center;
}
.products .ttl-bg span{
    font-size: 12px;
    text-align: center;
}

@media(max-width: 767px){
    .products .ttl-bg{
        width: 100%;
        height: auto;
        background-image: url("../img/sp-products-top.jpg");
        background-position: bottom center;
        text-align: center;
    }
    .products .ttl-bg .l-ttl{
        padding: 165px 0;
        position: static;
        top: auto;
        left:auto;
        transform: inherit;
        display: inline-block;
    }
    .products .ttl-bg span{
        font-size: 10px;
    }

}

/*---------------
    若草
----------------*/
.products .wakakusa{
    margin-top: 80px;
    background-image: url('../img/products_bg01.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
@media(max-width: 767px){
    .products .wakakusa{
        margin-top: 70px;
        background-position: center top;
    }
    .products .syouhin-img{
        width: auto;
    }
}
/*---------------
    伯耆棒
----------------*/
.products .houkibou{
    margin-top: 80px;
    background-image: url('../img/products_bg02.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
@media(max-width: 767px){
    .products .houkibou{
        margin-top: 70px;
        background-position: center top;
    }
}
/*---------------
    願ひ菓子
----------------*/
.products .negaigashi{
    margin-top: 80px;
    background-image: url('../img/products_bg03.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
@media(max-width: 767px){
    .products .negaigashi{
        margin-top: 70px;
        background-position: center top;
    }
}
/*---------------
    定番商品
----------------*/
.products .standard{
    padding-bottom: 80px;
    margin-top: 105px;
}
.products .standard h3 {
    font-size: 30px;
    text-align: center;
    letter-spacing: 0.2em;
}
.products .standard ruby{
    display: flex;
    align-items: flex-end;
}
.products .standard ul.flex{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
    justify-content: space-between;
    column-gap: 18px;
    row-gap: 48px;
    padding-top: 80px;
    padding-bottom: 0;
}
.products .standard ul.flex li.flex-li {
    width: 100%;
}
.products .standard ul.flex li.flex-li .ttl{
    padding: 40px 0;
    font-size: 30px;
    letter-spacing: 0.2em;
}
.products .standard ul.flex li.flex-li .text{
    padding: 0;
}
@media(max-width:767px){
    .products .standard{
        margin-top: 70px;
        padding-bottom: 0;
    }
    .products .standard h3 {
        font-size: 23px;
    }
    .products .standard ul.flex{
        grid-template-columns: repeat(2, 1fr);
        column-gap: 23px;
        padding-top: 60px;
    }
    .products .standard ul.flex li.flex-li {
        display: block;
    }
    .products .standard ul.flex li.flex-li + li {
        margin-top: 0;
    }
    .products .standard ul.flex li.flex-li .ttl {
        padding: 20px 0;
        font-size: 22px;
    }
}

/*---------------
    季節商品
----------------*/
.products .seasonal{
    padding-bottom: 80px;
    margin-top: 90px;
}
.products .seasonal h3 {
    font-size: 30px;
    text-align: center;
    letter-spacing: 0.2em;
}
.season {
    display: grid;
    grid-template-columns: 1fr 1fr 1.4fr;
    gap: 16px;
    margin-top: 80px;
}
.season + div {
    margin-top: 100px;
}
.season .textarea {
    grid-column: span 2;
}
.season .textarea h4 {
    font-size: 24px;
    letter-spacing: 0.2em;
}
.season .textarea h4 span {
    font-size: 48px;
}
.season .textarea p {
    padding-top: 10px;
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.1em;
}
.season .img01 {
    grid-row: 2;
}
.season .img02 {
    grid-row: 2;
}
.season .img-l {
    grid-column: 3;
    grid-row: span 2;
}
.season figure {
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: 100%;
}
.season figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.season figure figcaption {
    font-size: 16px;
}
.season:nth-child(odd) {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
}
.season:nth-child(odd) .textarea {
  grid-column: 2/4;
}
.season:nth-child(odd) .img01 {
    grid-column: 2;
}
.season:nth-child(odd) .img02 {
    grid-column: 3;
}
.season:nth-child(odd) .img-l {
    grid-column: 1;
    grid-row: 1/3;
}
.spring .textarea h4 span {
    color: #e87e95;
}
.summer .textarea h4 span {
    color: #32cbd9;
}
.autumn .textarea h4 span {
    color: #e76234;
}
.winter .textarea h4 span {
    color: #3a67ba;
}

@media(max-width:767px){
    .products .seasonal{
        padding-bottom: 55px;
        margin-top: 70px;
    }
    .season,
    .season:nth-child(odd) {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }
    .season {
        margin-top: 40px;
    }
    .season + div {
        margin-top: 70px;
    }
    .products .seasonal h3 {
        font-size: 24px;
    }
    .season:nth-child(odd) .textarea {
      grid-column: 1/3;
    }
    .season .textarea h4 {
        font-size: 18px;
    }
    .season .textarea h4 span {
        font-size: 27px;
    }
    .season .textarea p {
        padding-top: 15px;
        font-size: 13px;
    }
    .season .img01 {
        grid-row: 3;
    }
    .season:nth-child(odd) .img01 {
        grid-column: 1;
    }
    .season .img02 {
        grid-row: 3;
    }
    .season:nth-child(odd) .img02 {
        grid-column: 2;
    }
    .season .img-l {
        grid-column: span 2;
        grid-row: 2;
    }
    .season:nth-child(odd) .img-l {
        grid-column: span 2;
        grid-row: 2;
    }
    .season figure {
        gap: 10px;
    }
    .season figure figcaption {
        font-size: 13px;
    }
}

/*---------------
    オンラインショップ遷移ボタン
----------------*/
.products .button a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: fit-content;
    margin: 0 auto 80px;
    padding: 27px 24px;
    background-color: #506f32;
    font-size: 17px;
    color: #fff;
}
.products .button img {
    width: 1.2em;
}

@media(max-width:767px){
    .products .button a {
        gap: 10px;
        padding: 17px 24px;
        font-size: 14px;
    }

}

/*---------------
    カタログ
----------------*/
.catalog{
	text-align:center;
}
.catalog .w1100{
	border-top:1px solid #000000;
	padding:100px 0;
}
.catalog h3{
	font-size:26px;
}
.catalog p{
	font-size:16px;
	line-height:1.75;
	margin:30px 0;
}
.catalog .cate-btn{
	max-width:330px;
	width:100%;
	margin:30px auto 0;
}
.catalog .cate-btn a{
	display:block;
	padding:15px 0 20px;
	background:#E9E9E9;
	line-height:1.75;
	font-size:22px;
	border-radius:5px;
}
.catalog .cate-btn a small{
	display:block;
	font-size:18px;
}
@media(max-width:480px){
	.catalog .w1100{
		padding:15vw 2vw;
		box-sizing:border-box;
	}
	.catalog h3{
		font-size:6.5vw;
	}
	.catalog p{
		font-size:3.8vw;
		margin:7vw 0;
	}
	.catalog .cate-btn a{
		font-size:5.5vw;
	}
	.catalog .cate-btn a small{
		font-size:4.5vw;
	}
}
