.bakery_special2022 section > div {
	max-width:1200px;
	padding:100px 0 40px 0;
	box-sizing:border-box;
}

#bs22_archive {
    padding:110px 0 24px 0;
    background: linear-gradient(90deg, #F4F3ED 0%, #F4F3ED 80%, #fff 80%, #fff 100%);
}

.bakery_special2022 section h2 {
    text-align: center;
    padding-left: 0;
    padding-bottom:36px;
}

.bakery_special2022 section h2:after {
    content:"";
    width:167px;
    height:25px;
    display:block;
    background:url(../img/sepalator_dot_archive_title@2x.png) no-repeat;
    background-size:cover;
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
}

#bs22_archive ul.posts {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}

#bs22_archive ul.posts li {
    width:29%;
    padding-bottom:90px;
    box-sizing:border-box;
}

#bs22_archive ul.posts li a .image {
	display:block;
	width:350px;
	height:233px;
	overflow:hidden;
	margin:auto;
}

#bs22_archive ul.posts li a .image img {
	transform:scale(1);
	transition:all 0.5s ease-in-out;
}

#bs22_archive ul.posts li a:hover .image img {
	transform:scale(1.1);
}

#bs22_archive dl {
    display:flex;
    color:#C19342;
    font-size:14px;
    margin-top:10px;
}

#bs22_archive dl dt {
    position:relative;
    padding-left:26px;
}

#bs22_archive dl dt:before {
    content:url(../img/icon_bread.svg);
    position:absolute;
    left:0;
    top:3px;
}

#bs22_archive dl dd {
    margin-left:16px;
}

#bs22_archive h3 {
    margin-top:10px;
}

#bs22_archive dl + h3 {
    margin-top:0;
}

#bs22_archive h3 a {
	font-family:"Shippori Mincho B1","游ゴシック","Yu Gothic",YuGothic,"Noto Sans JP";
	font-weight:500;
	font-size:20px;
	color:#314872;
	line-height:1.5;

    padding-bottom: 2px;
    background: linear-gradient(#314872, #314872) 0 100%/0 1px no-repeat;
    transition: background .5s;
    text-decoration: none;
}

#bs22_archive h3 a.reverse {
    background-position: 100% 100%;
}
#bs22_archive h3 a:hover {
    background-size: 100% 1px;
}

#bs22_archive .tags {
	display:flex;
	flex-wrap:wrap;
	margin-top:10px;
}

#bs22_archive .tags a {
	display:inline-block;
	padding:0 6px;
	border:solid 1px #D0DCEF;
	background:#fff;
	color:#6D7FA5;
	font-size:13px;
	line-height:27px;
	white-space:nowrap;
	margin-right:8px;
	margin-bottom:8px;
    transition:all 0.5s;
}

#bs22_archive .tags a:hover {
	border-color:#BCC9DD;
	background:#BCC9DD;
	color:#fff;
}


#bs22_archive .note {
    padding:0;
    text-align:center;
    color:#808080;
    font-size:14px;
}

.bakery_special2022 .frame.pagination_frame {
    margin:0;
}

.pagination {
    justify-content: center;
}

.pagination li a,
.pagination li span {
    width: 47px;
    height: 47px;
    margin-right: 8px;
    border-radius: 0;
    border: 1px solid #314872;
    background-color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 16px;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #314872;
    font-size:18px;
    -webkit-transition: .3s;
    transition: .3s;
}

.pagination li span.current {
    width: 47px;
    height: 47px;
    margin-right: 8px;
    border-radius: 0;
    color: #fff;
    border-color: #314872;
    background-color: #314872;
}

.pagination li a:hover {
    width: 47px;
    height: 47px;
    margin-right: 8px;
    border-radius: 0;
    color: #314872;
    border-color: #D0DCEF;
    background-color: #D0DCEF;
}

.pagination li a.prev, .pagination li a.next {
    width:123px;
}

.pagination li a.prev::before, .pagination li a.next::before {
    right:auto;
    left:auto;
}

/*
.pagination li a.prev:hover::before, .pagination li a:hover.next::before {
    border-top-color:#fff;
    border-right-color:#fff;
}
*/

/*特集個別フッター定義*/
#bs22_footer {
    margin-top:0;
}

#bs22_footer > div > ul {
    display:flex;
    flex-wrap:nowrap;
    margin:auto;
}

#bs22_footer > div > ul > li {
    position:relative;
}

#bs22_footer > div > ul > li:nth-of-type(1) {
    width:300px;
    box-sizing:border-box;
    background:#C3E2E2;
}

#bs22_footer > div > ul > li:nth-of-type(1):before {
    content:"";
    display:block;
    position:absolute;
    width:140px;
    height:115px;
    background:url(../img/footer_image_left@2x.png) no-repeat 0 0;
    background-size:contain;
    right:20px;
    bottom:-30px;
}

#bs22_footer > div > ul > li:nth-of-type(1) img {
    width:100%;
    height:auto;
}

#bs22_footer > div > ul > li:nth-of-type(2) {
    display:flex;
    background:#143154;
    color:#fff;
    flex:1;
    padding:84px 106px;
    box-sizing:border-box;
}

#bs22_footer > div > ul > li:nth-of-type(2):before {
    content:"";
    display:block;
    position:absolute;
    width:759px;
    height:208px;
    background:url(../img/footer_image_right@2x.png) no-repeat 0 0;
    background-size:contain;
    right:42px;
    bottom:-56px;
}

#bs22_footer > div > ul > li > ul:nth-of-type(2) {
    margin-left:58px;
}

#bs22_footer > div > ul > li > ul li a,
#bs22_footer > div > ul > li > ul li span {
    font-family:"Shippori Mincho B1","游ゴシック","Yu Gothic",YuGothic,"Noto Sans JP";
	font-weight:200;
	font-size:21px;
	color:#fff;
	line-height:1;
}


#bs22_footer > div > ul > li > ul > li + li {
    margin-top:30px;
}

#bs22_footer > div > ul > li > ul > li > a,
#bs22_footer > div > ul > li > ul > li > span {
    position:relative;
    display:block;
    height:38px;
    padding-left:8px;
    padding-right:44px;
}

#bs22_footer > div > ul > li > ul > li > span::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(1, 1);
    transform-origin: right top;
    transition: transform .5s;
}

#bs22_footer > div > ul > li > ul > li > a img:nth-of-type(1),
#bs22_footer > div > ul > li > ul > li > span img:nth-of-type(1) {
    margin:2px 18px 0 0;
}

#bs22_footer > div > ul > li > ul > li > a img:nth-of-type(2) {
    position:absolute;
    top:6px;
    right:6px;
}

#bs22_footer > div > ul > li > ul > li > ul {
	margin:22px 0 0 52px;
}

#bs22_footer > div > ul > li > ul > li > ul > li {
    position:relative;
    padding-left:58px;
    background:url(../img/footer_indent_border.svg) no-repeat left 50%;
    line-height:26px;
}

#bs22_footer > div > ul > li > ul > li > ul > li + li {
    margin-top:14px;
}

#bs22_footer > div > ul > li > ul > li > ul > li > a {
	font-size:18px;
    line-height:26px;
}

#bs22_footer > div > ul > li > ul > li > ul > li > a > img {
	margin:10px 0 0 12px;
}

#bs22_footer .animate_underline::after {
    background:#fff;
    /*
    bottom:-16px;
    */
}

#bs22_footer > div > ul > li > ul > li > ul > li > a.animate_underline::after {
	transform:scale(0, 1);
    transform-origin: left top;
    bottom:-8px;
}

#bs22_footer > div > ul > li > ul > li > ul > li > a.animate_underline:hover::after {
    transform:scale(1, 1);
    transform-origin: right top;
}

@media only screen and (max-width: 900px) {

	/*一覧カラム２列制御*/
    #bs22_archive ul.posts li {
        width:46%;
    }

    /*フッターメニューのみ１列制御*/
    #bs22_footer > div > ul > li:nth-of-type(1):before {
        display:none;
    }

    #bs22_footer > div > ul > li:nth-of-type(2):before {
        display:none;
    }

    #bs22_footer > div > ul > li:nth-of-type(2) {
        display:block;
    }

    #bs22_footer > div > ul > li > ul:nth-of-type(2) {
        margin-left: 0;
        margin-top:30px;
    }

}

@media only screen and (max-width: 767px) {

    #bs22_archive {
        padding-top: 56px;
        background: linear-gradient(90deg, #F4F3ED 0%, #F4F3ED 70%, #fff 70%, #fff 100%);
    }

    .bakery_special2022 section > div {
        padding: 45px 0 48px 0;
    }

    /*一覧カラム1列制御*/
    #bs22_archive ul.posts li {
        width:calc(100vw - 40px);
        margin:auto;
        padding-bottom:0;
    }

    #bs22_archive ul.posts li.margin_fill {
        display:none;
    }

    #bs22_archive ul.posts li + li {
        margin-top:50px;
    }

    #bs22_archive ul.posts li a .image {
        width:calc(100vw - 40px);
    }

    #bs22_archive dl {
        font-family:"Noto Sans JP";
        font-size:13px;
        font-weight:400;
        margin-top:6px;
    }

    #bs22_archive h3 a {
        font-size: 19px;
        line-height: 28px;
    }

    #bs22_archive .tags a {
        font-size: 11px;
        line-height:25px;
    }

    #bs22_archive .note {
        font-size: 12px;
    }

    .pagination {
        margin-top: 50px;
    }

    .pagination li a, .pagination li span {
        width: 36px;
        height: 36px;
        margin-right: 6px;
        line-height: 16px;
        font-size: 14px;
    }

    .pagination li span.current, .pagination li a:hover {
        width: 36px;
        height: 36px;
        margin-right: 6px;
    }

    .pagination li a.prev, .pagination li a.next {
        width: 94px;
    }

    .pagination li a.prev::before,
    .pagination li a.next::before {
        width: 6px;
        height: 6px;
    }

    /*フッター１列制御*/
    #bs22_footer {
        margin-top:80px;
    }

    #bs22_footer > div > ul {
        display: block;
    }

    #bs22_footer > div > ul > li:nth-of-type(1) {
        width:auto;
    }

    #bs22_footer > div > ul > li:nth-of-type(2) {
        padding: 46px;
    }

    #bs22_footer > div > ul > li > ul > li > a,
    #bs22_footer > div > ul > li > ul > li > span {
        
        height:27px;
        font-size:18px;
    }

    #bs22_footer > div > ul > li > ul > li > a img:nth-of-type(1),
    #bs22_footer > div > ul > li > ul > li > span img:nth-of-type(1) {
        height: 16px;
    }

    #bs22_footer > div > ul > li > ul > li > a img:nth-of-type(2) {
        height: 10px;
    }

    #bs22_footer > div > ul > li > ul > li > ul > li + li {
        margin-top: 10px;
    }

    #bs22_footer > div > ul > li > ul > li > ul > li > a {
        font-size: 14px;
        line-height:20px;
    }

    #bs22_footer > div > ul > li > ul > li > ul > li > a > img {
        margin: 7px 0 0 10px;
    }
    
    
}