@charset "utf-8";
/*
theme Name: 食品画像のそざい屋さん
Author: Eiji Matsushita
Description: original theme
version： 1.0.0
*/

/*Noto Sans JP の読み込み*/
/*@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');*/


/*
 * #535c68 濃いグレー #5c6674 濃い少しうすいグレー
 * 
 * 
 * */
/* =================================================
基本設定
================================================= */
body {
	font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Noto Sans Japanese', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;/*'Noto Sans JP', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ",sans-serif;*/
	font-size: 16px;
	line-height: 1.5;
	color: #2d3436;
	/*background-color: red;*/
	background-image: url(https://sozaiya-san.jp/wp-content/uploads/2021/07/back_img.png);
	background-size: 200px;
	background-color:rgba(255,255,255,0.3);
	background-blend-mode:lighten;
	word-break: break-all;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
}

h1{
	font-size: 1.5rem;/*24p*/
}

h2{
	font-size: 1.25rem;/*20p*/
}

h3{
	font-size:1.25rem;/*20p*/
}

h4{
	font-size:1.25rem;/*20p*/
}

a{
	color: #0066c0;
}

p:empty:before {
    content: initial!important;
}

img{
	width: auto;
	height: auto;
}

.marker-animation{
	font-weight: bold;
	background:linear-gradient(transparent 60%, rgb(253, 203, 110) 60%) !important;
}
/* =================================================
全体のメディアクエリ
================================================= */
.pc { display: block !important; }
.sp { display: none !important; }

@media only screen and (max-width: 999px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}
/* =================================================
レイアウト
================================================= */
header,footer{
	width: 100%;
	background: linear-gradient(180deg, #535c68 0%, #535c68 50%, #5c6674 50%, #5c6674 100%);
	padding: 10px 5px;
}

header{
	padding-bottom: 30px;
}

.header_inner, .footer_inner{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

#top, #content, nav{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
}

#content{
	max-width: 1500px;
}

#main, #side{
	width: 100%;
}

/* =================================================
共通デザイン
================================================= */

/* 記事リスト　post_list
------------------------------------------------- */
.post_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.post_list_body{
	position: relative;
	width: min(100vw * 0.15, 120px);
	height: min(100vw * 0.15, 120px);
	margin: clamp(13px, 100vw * 0.025, 25px);
	transition: all  0.3s ease;
	border-radius: min(100vw * 0.015, 15px);
	border: solid 1px #DFE6E9;
}

.post_list_body a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height:100%;

}

.post_list_body img{
	margin: 0 auto;
	object-fit: contain;
	width:100px;
	height:auto;
	max-width: min(100vw * 0.15, 120px);
	max-height: min(100vw * 0.15, 120px);
}

.post_list_body:hover{
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);	
}

.post_list_title{
	font-size: 1rem;
	color: #2d3436;
	overflow: hidden;
}

/* タイトルテキスト付き記事リスト　post_list_text
------------------------------------------------- */
.post_list .text{
	position: absolute;
	width: min(100vw * 0.15, 120px);
	text-align: center;
	height: clamp(20px, 3.2vw, 32px);
	bottom: clamp(-37px, -3.7vw, -25px);
}

.post_list .text h2{
	font-size: clamp(10px, 1.6vw, 16px);
	color: #535c68;
	font-weight: normal;
	line-height: clamp(10px, 1.6vw, 16px);
	overflow: hidden;
	height: 100%;

}

/* タグリスト　tag_list
------------------------------------------------- */
.tag_list ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 25px;
}

.tag_list a{
	display: block;
	transition: all  0.3s ease;
	color: #535c68;
	padding: 6px 20px;
	margin: 5px 10px;
	border: solid #535c68 1px;
	border-radius: 5px;
}

.tag_list a:hover{
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	font-weight: bold;
}

.tag_list span{
	padding: 6px 0px;
	margin: 5px 0px;
	color: #535c68;
}

/* グリッドリスト　grid_list
------------------------------------------------- */
.grid_list_body {
	width: 33.3%;
	padding: 10px;
}

.grid_list_main{
	transition: all  0.3s ease;
	border-radius: min(100vw * 0.015, 15px);
	border: solid 1px #DFE6E9;
	overflow: hidden;
}

.grid_list_main:hover{
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);	
}

.grid_list_body img {
	display: block;
	width: 100%;
}

.grid_list_body .text{
	color: #2d3436;
	padding: 5px 10px;
}

.grid_list_body .text h2{
	font-weight: normal;
}

@media only screen and (max-width: 999px){
	.grid_list_body {
		width: 50%;
		padding: 10px;
	}

	.grid_list_body .text h2{  
		font-size: 1rem;
	}
}
/* ドット水平線
------------------------------------------------- */
.text_line {
	color: #636e72;
	display: flex;
	align-items: center;
	justify-content:center;
	text-align: center;
	font-size:1.25rem;/*20p*/
	margin: 20px 0;
}

.text_line.title_line{
	font-size: 1.5rem;
}


.text_line:before, .text_line:after {
	content: "";
	flex-grow: 1;
	border-top: 4px dotted #636e72;
	display: block;
}

.text_line:before {
	margin-right: 1.5rem;
}

.text_line:after {
	/*margin-left: 1.5rem;*/
}

/* 矢印水平線
------------------------------------------------- */

/* =================================================
ヘッダー
================================================= */
.header_inner{
	padding-top: min(100vw * 0.06, 60px);
	padding-bottom: min(100vw * 0.03, 30px);
	position: relative;
}

.header_logo h1{
	text-align: center;
	font-size: 0rem;
}

.header_logo{
	width: min(100vw * 0.6, 400px);
	/*max-width: 300px;*/
	margin: 0 auto;
}

.header_logo img{
	width: 100%;
}

.top_img{
	padding: 0 20px;
}

.top_img .webtest-banner{
	display: block;
	margin: 20px auto;
	padding:0 20px;
	width: 100%;
	max-width: 800px;
}

.header_point{
	position: absolute;
}

.hp_left{
	left: 10px;
	top: 40%;
}

.hp_right{
	right: 10px;
	top: 40%;
	width: 250px;
}

.hp_right img{
	width: 100%;
}

@media only screen and (max-width: 999px){
	.header_point{
		display: none;
	}
}
/* 検索 .search_box
------------------------------------------------- */
.search_header{
	position:relative;
	z-index: 10000;
}

.search_box form{
	height:min(100vw * 0.08, 40px);
	width: min(100vw * 0.4, 400px);
	margin: 20px auto;
}

.search_box input[type=text]{
	height:100%;
	width:100%;
	background-color: #FFF;
	border: solid #DFE6E9 3px;
	border-radius: 45px;
	text-align: center;
}

.search_box .label_box{
	height: 50px;
	color: #FFF;
	font-weight: bold;
	line-height: 50px;
	text-align: center;
	margin: 0 calc(50% - 50vw);
	width: 100vw;
	padding-right: 10px;
}

.search_box .label_box input[type="checkbox"] {
display: none;
}

.check_label:after{
	position: absolute; 
	content: ""; 
	display: block; 
	top: 50%; 
	left: 15px; 
	margin: -8px 0 0 -2px;
	width: 16px;
	height: 16px;
	border: 3px solid #FFF; 
	border-radius: 3px; 
	box-sizing: border-box;
}

.check_label {
	position: relative; 
	padding: 0 0 0 35px; 
}
.check_label:hover:after {
	border-color: #fbdd74; 
}
.check_label:after, .check_label:before{
	position: absolute; 
	content: ""; 
	display: block; 
	top: 50%; 
}
/*チェックマークの追加*/
.check_label:before {
	color: #FFF;
	left: 19px; 
	margin-top: -10px; 
	width: 7px; 
	height: 12px; 
	border-right: 3px solid #FFF; 
	border-bottom: 3px solid #FFF; 
	transform: rotate(45deg); 
	opacity: 0; 
}
/*チェックボックスがチェックされた時に動作する内容*/
input[type=checkbox]:checked + .check_label:before {
	opacity: 1; 
}

@media only screen and (max-width: 399px) {
	.search_box input::placeholder{
		font-size: 12px;
	}
}

/* カテゴリー一覧 .cate_list
------------------------------------------------- */
#popmake-6844.pum-container,
#popmake-53029.pum-container{
	width: 100% !important;
	max-width: 600px !important;
}

.pum-content{
	padding: 10px;
}

.scroll_box{
	max-height: 80vh;
	overflow: scroll;
	border: none !important;
	outline: none !important;
}

.cate_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.cate_list li{
	width: 120px;
	height:60px;	
	margin: 5px 5px;
}

.cate_list a{
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	width: 120px;
	height:60px;
	border: solid 1px #535c68;
	color: #535c68;
	transition: all  0.3s ease;
}

.cate_list a:hover{
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);	
}
/* =================================================
トップ　#top
================================================= */
.top_img{
	width: 100%;
	max-width: 800px;
	margin: 40px auto;
}
.top_img img{
	width: 100%;
}

.category-621 .top_img{
	max-width: none;
}

.new_img{
	width: 150px;
	position: absolute;
top: -77px;
    left: -13px;
}

.new_img img{
	width: 100%;
	max-width: none;
}

@media screen and (max-width:999px){
	.new_img{
		display: none;
	}
}

/* =================================================
ナビゲーション　nav
================================================= */
nav {
	position: sticky;
	top: max(100vw * -0.02, -20px);
	z-index: 5000;
}

nav ul{
	width:100%;
	display: flex;
	flex-flow: row;
	justify-content: space-around;
	border-top: solid 3px #535c68;
	margin: min(100vw * 0.02, 20px) 0;
}

nav li{
	display: flex;
	position:relative;
	width: 18%;
	align-items: stretch;
	font-size: clamp(8px, 1.6vw, 16px)
}

nav li a{
	display: block;
	/*line-height: calc(100% * 2.8);*/
	position: relative;
	z-index: 20;
	width: 100%;
	text-align:center;
	background-color:#535c68;
	color: #FFF;
	border: solid 3px #535c68;
	border-radius: 0px 0px 10px 10px;
	top: -3px;
	padding: min(100vw * 0.007,7px);
}

nav li .nav_a01, nav li .nav_a05{
	background-color:#FFF;
	color: #535c68;	
}

nav li img{
	position:absolute;
	z-index: 10;
	width: 100%;
	left: 0;
	bottom: 3px;
}

.nav_a01:hover + .nav_img01,
.nav_a02:hover + .nav_img02,
.nav_a03:hover + .nav_img03,
.nav_a04:hover + .nav_img04,
.nav_a05:hover + .nav_img05{
	bottom: calc(100%);
	transition: 0.1s ease-out;
}

/* =================================================
パンくずリスト　.breadcrumbs
================================================= */
.breadcrumbs{
	margin-left: 10px;
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
}

.breadcrumbs span{
	line-height: 25px;
}

.breadcrumbs a{
	background-color: #FFF;
	color: #535c68;
	padding: 0px 5px;
	border: solid 2px #535c68;
	margin: 3px;
	line-height: 25px;
}

.breadcrumbs .current-item{
	background-color: #535c68;
	color: #FFF;
	padding: 0px 5px;
	border: solid 2px #535c68;
	margin: 3px;
	line-height: 25px;
}


/* =================================================
固定ページpage　記事ページsingle
#content -> #main -> .main_inner
-> .post_body
	├h1 .post_title
	└div .post_content
================================================= */

/* 基本デザイン
------------------------------------------------- */
.main_inner {
	max-width: 800px;
	margin: 0 auto;
	margin-bottom: 25px;
}

.post_content p {
	line-height: 1.8;
	/*font-size: 1.125rem;*/
	margin-bottom: 1rem;
}

.post_content img{
	height: auto;
	text-align: center;
}

.post_content h2{
	border: solid 2px #535c68;
	color: #535c68;
	padding: 5px 15px;
	margin: 3rem 0px 1.5rem 0px;
}

.post_content h3{
	border-bottom: solid 3px #5c6674;
	position: relative;
	margin: 2rem 0 1rem 0;
}

.post_content h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #535c68;
  bottom: -3px;
  width: 20%;
}

.trans_box{
	border: 1px solid #DFE6E9;
	background-color: rgba(223, 230, 233, 0.3);
	border-radius: 15px;
	text-align: center;
	padding: 5px;
	margin: 20px auto;
}

.trans_box p{
	font-size: 0.9rem;
	margin: 0;
}

.trans_box.free_img p{
	text-align: left;
}

.twitter {
	text-align: center;
	margin: 50px;
}

.twitter .twitter-timeline{
	border: solid 1px #DFE6E9 !important;
	width: 100% !important;
}

@media screen and (max-width:999px){
	.main_inner {
		padding: 10px 15px;
	}
}

#popmake-19304.pum-container{
	width: 100% !important;
	max-width: 400px !important;
}

.popuup-twitter{
	width: 100%;
}

/* 記事（.single）ページのデザイン
------------------------------------------------- */
.single .post_content .wp-block-image{
	width:600px;
	height:600px;
	max-width: min(100vw * 0.6, 600px);
	max-height: min(100vw * 0.6, 600px);
	margin: 25px auto;
	text-align: center;
	border: 1px solid #DFE6E9;
	border-radius: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.single .post_content .wp-block-image img{
	width:auto;
	height:auto;
	max-width: min(100vw * 0.58, 580px);
	max-height: min(100vw * 0.58, 580px);
	/*pointer-events: none;*/
}

.single .post_content .wp-block-file{
	text-align:center;
	margin: 0 auto;
	width: 100%;
	max-width: 400px;
	padding: 0px 5px;
}

.single .wp-block-file .wp-block-file__button{
	display: block;
	width: 100%;
	border-radius: 0px  !important;
	background-color: #535c68  !important;
	font-weight: bold;
	font-size: 1rem !important;
	padding: 10px !important;
	transition: all  0.3s ease;
	color: #FFF;
}

.single .wp-block-file .wp-block-file__button:hover{
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	font-weight: bold;
}

.single .post_content .wp-block-table,
.single .post_content .wp-block-table table{
	margin: 0px auto;
	text-align:center;
	width: 100%;
	max-width:400px;
	border-collapse: separate !important;
	border-spacing: 5px !important;
	box-sizing: border-box;
	margin: 0px auto;
}

.single .post_content .wp-block-table td:nth-of-type(1){
	width: 20%;
	background-color: #535c68;
	color: #FFF;
	border: solid #535c68 3px;
	padding: 10px 0;
}

.single .post_content .wp-block-table td:nth-of-type(2){
	width: 70%;
	background-color: #FFF;
	color: #535c68;
	border: solid #535c68 3px;
	padding: 10px 0;
	vertical-align: middle;
}

.arrow, .gram{
	color: #535c68;
	display: flex;
	align-items: center;
	margin: 10px auto;
	width: 600px;
	position: absolute;
	bottom: 0;
}

.gram{
	top: 30%;
	left: 50%;
	max-width: 400px;
}

.arrow_line, .gram_line{
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0 !important;
}

.arrow .arrow_line:before, .arrow .arrow_line:after,
.gram .gram_line:before{
	content: "";
	flex-grow: 1;
	border-top: 3px dotted #535c68;
	display: block;
}

.arrow .arrow_line:before, .gram .gram_line:before, {
	margin-right: .4em;
}

.arrow .arrow_line:after {
	margin-left: .4em;
}

.single .wp-block-embed{
	text-align: center;
	margin: 25px auto;
}

/* 固定（.page）ページのデザイン
------------------------------------------------- */
.page figure{
	width: 100%;
	text-align: center;
	margin: 2rem 0 1rem 0;
}

.page figure img{
	width: 100%;
	max-width: 800px;
}

.metaslider {
    margin: 0 auto;

}

/* そざい屋さん活用術カテゴリのデザイン
 * categoryid-428:　活用術
 * categoryid-309:　アートギャラリー
 * categoryid-622: こどもとあそぼう
------------------------------------------------- */
/*画像枠線の非表示*/
.categoryid-309 .post_content .wp-block-image,
.categoryid-622 .post_content .wp-block-image{
	border: none;
}

/*実寸大ボタンの非表示*/
.categoryid-428 .actual{
	display: none !important;
}

/*横幅矢印の非表示*/
.categoryid-428 .arrow{
	display: none;
}

/*アートギャラリー*/
.categoryid-309 .post_content .wp-block-image,
.categoryid-622 .post_content .wp-block-image{
	width:100%;
	height:auto;
	max-width: min(100vw, 800px);
	max-height: auto;
	max-height: 800px;
	border-radius: 0px;
}

.categoryid-309 .post_content .wp-block-image img,
.categoryid-622 .post_content .wp-block-image img{
	width: 100%;
	max-width: min(100vw, 800px);
	max-height: auto;
	max-height: 800px;
}

/*こどもとあそぼう*/
.categoryid-622.single .post_content .wp-block-image .frame{
	position: absolute;
	display: none;
}

.ex{
	border-bottom: 1px dashed #636e72;
	margin: 50px 0;
}

.ex p{
	margin: 0;
	line-height: 2;
}

.categoryid-622.single .post_content .wp-block-table,
.categoryid-622.single .post_content .wp-block-file{
	max-width: none;
	margin-top: 10px;
    margin-bottom: 10px;
}

.note{
	color: #636e72;
	font-size: 0.8rem;
}

.sp-print{
	display: block;
	width: 100%;
	padding: 10px 0;
	text-align: center;
	text-decoration: none;
	color: #535c68;
	max-width: 400px;
	margin: 0 auto;
	border-radius: 30px;
	border: solid #535c68 3px;
	transition: all  0.3s ease;
}

.sp-print:hover{
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
}

.categoryid-622 h3{
	text-align: center;
	color: #535c68;
}

.making-img{
	background-color: #FFF;
	padding: 15px;
	border-radius: 10px;
}

.making-img img{
	width: 100%;
}






/* =================================================
ページネーション
================================================= */
.pagination{
	width: 100%;
	margin-bottom: 25px;
}

.pagination ul{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-weight: bold;
}

.pagination li a,
.pagination li span{
	width: 40px;
	height: 40px;
	border-radius: 50px;
	background-color: #DFE6E9;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 25px 5px;
	color: #535c68;
}

.pagination .prev,
.pagination .next{
	color: #fff;
}

.pagination .prev,
.pagination .next,
.pagination .current{
	background-color: #535c68;
	color: #fff;
}

.pagination .dots{
	background-color: transparent;
}

.pagination li a:hover,
.pagination li a.active{
	color: #FFF;
	background: #535c68;
	border-radius: 10px;
	border-radius: 50px;
	animation: animScale 0.4s ease-out;
	transform-origin: 50% 50%;
	-webkit-animation: animScale 0.4s ease-out;
	-webkit-transform-origin: 50% 50%;
	-moz-animation: animScale 0.4s ease-out;
	-moz-transform-origin: 50% 50%;
}
@keyframes animScale {
	0% { transform: scale(0.8, 0.8); }
	40% { transform: scale(1.2, 1.2); }
	60% { transform: scale(1, 1); }
	80% { transform: scale(1.1, 1.1); }
	100% { transform: scale(1, 1); }
}
@-webkit-keyframes animScale {
	0% { -webkit-transform: scale(0.8, 0.8); }
	40% { -webkit-transform: scale(1.2, 1.2); }
	60% { -webkit-transform: scale(1, 1); }
	80% { -webkit-transform: scale(1.1, 1.1); }
	100% { -webkit-transform: scale(1, 1); }
}
@-moz-keyframes animScale {
	0% { -moz-transform: scale(0.8, 0.8); }
	40% { -moz-transform: scale(1.2, 1.2); }
	60% { -moz-transform: scale(1, 1); }
	80% { -moz-transform: scale(1.1, 1.1); }
	100% { -moz-transform: scale(1, 1); }
}

@media only screen and (max-width: 599px){
	.pagination li .page-numbers{
		display: none;
	}

	.pagination li .next,
	.pagination li .prev,
	.pagination li .current{
		display: flex;
	}

}

/* =================================================
フッター
================================================= */
footer {
	margin-top: 25px;
}

.footer_inner{
	text-align: center;
	color: #FFF;
	padding: 50px 0;
}

/* =================================================
グーグルフォーム
================================================= */
#pum_popup_title_6946{
	font-size: 1rem !important;
}

.gf_wrapper{
	width: 90%;
	max-width: 800px;
	height: 400px;
	margin: 10px auto;
	position: relative;
}

.gf_wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #DFE6E9;

}

.scrollbox::-webkit-scrollbar {
	background:#ccc;
	width:10px;
}
.scrollbox::-webkit-scrollbar-thumb {
	background:#aaa;
	border-radius: 50px;
	height: 50px;
}

.m2 .freebirdFormviewerViewHeaderTitle{
	font-size: 10px !important;
}

/*研究のお願い*/
.please{
	display: none;
}

@media screen and (max-width: 400px){

	.gf-img{
		display: none;
	}
}

/* =================================================
実寸大ボタン
================================================= */
.actual{
	z-index: 15001;
}
.actual_button{}

.actual_button .ruler_box,
.actual_button .size_box,
.actual_button .button_box{
	width: 300px;
	margin: 30px auto;
	text-align: center;
}

.actual_button .size_box{
	position: relative;
}

.actual_button .ruler_box img{
	width: 100%;
}

.actual_button .ruler_box h2{
	font-weight: normal;
}

.actual_button input[type="tel"]{
	width: 100px;
	border: 1.5px solid #535c68;
	border-radius: 50px;
	height: 3rem;
	padding: 0 0.5rem;
}

.actual_button span{
	margin-left: 10px;
	position: absolute;
	bottom: 0;
}

.actual_button .size_button,
.return_button{
	border: 1.5px solid #535c68;
	border-radius: 3px;
	height: 2rem;
	padding: 0 0.5rem;
	color: #535c68;
	font-weight: bold;
}

.return_button{
	color: #FFF;
	background-color: #535c68;
	position: absolute;
	left: 5%;
	top: 50%;
}

.actual_wrap{
transition: all 0.4s ease 0s;
    background-color: rgba(255, 255, 255, 0.8);
    max-width: none;
    max-height: none;
    width: 100%;
    min-height: 100vh;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 14000;
}

/* =================================================
カテゴリー記事一覧
================================================= */
.catlist-body{
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
}

.catlist-body a{
	text-decoration: none;
    display: block;
    color: #333;
	font-weight: bold;
	width: 48%;
	border: solid 1px #DFE6E9;
	background-color: transparent;
    padding: 10px;
	margin-bottom: 1.5rem;
    border-radius: 5px;
	box-sizing: border-box;
    max-width: none;
	transition: all .3s ease;
}

.catlist-body a:hover{
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	background-color: #FFF !important;
}

.catlist-body a figure{
	margin: 5px 0;
	overflow: hidden;
}

@media only screen and (max-width: 599px){
	.catlist-body a{
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
		margin-bottom: 1.0rem;
	}
}

/* =================================================
 * 地産地消MAPのデザイン
 * categoryid-1712
================================================= */

/* 不要なパーツの削除 */
.categoryid-1712 .post_title,
.categoryid-1712 .free_img,
.categoryid-1712 .footer_trans_box,
.categoryid-1712 .footer_post_list{
	display: none;
}

.categoryid-1712  {
	background-color: #FFF;
	background-image: none;
}

.categoryid-1712 .post_content{
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color: #3F665C;
}

/* h2のデザイン */
.categoryid-1712 .post_content .h2_line{
	align-items: center; /* 横線を上下中央 */
	display: flex;
	border: none;
	padding: 0;
	font-size: 1.5rem;
	color: #3F665C;
}

.categoryid-1712 .post_content .h2_line::after {
  background-color: #3F665C; /* 横線の色 */
  border-radius: 5px; /* 横線の両端を丸く */
  content: "";
  flex-grow: 1; /* 横幅いっぱい */
  height: 1.5px; /* 横線の高さ */
}

.categoryid-1712 .post_content .h2_line::after {
  margin-left: 15px; /* 文字との余白 */
}

/* あいち地産地消MAPページ .postid-49295 */

.postid-49295 h1{
	margin: 2rem auto;
	font-size: clamp(1.5rem, calc(3vw + 6px), 2.5rem);
	letter-spacing:0.2rem;
}

.postid-49295 p{
	margin: 0.5rem auto;
}

.postid-49295 .wp-block-file{
	margin: 3rem auto !important;
}

/*map_aichi_map*/
.map_aichi_map{
	margin: 2rem auto;
	width: 90%;
	max-width: 600px;
}

.map_aichi_map img{
	width: 100%;
}

/* map_main */
.map_main {
	text-align: center;
}

.map_main .map_main_title{
	font-size: 2.0rem;
}

.map_main .map_sub_title{
	font-size: 1.5rem;
	font-weight: bold;
}

.map_main .map_main_img{
	width: 70%;
	margin: 0 auto;
}

.map_main .map_main_img img{
	width: 100%;
}

.map_main .map_catch_copy{
	font-size: 1.25rem;
	font-weight: bold;
	margin: 2.0rem auto;
}

.map_main .map_top_text{
	text-align: left;
	max-width: 70%;
	margin: 1.0rem auto;
}

.map_main .map_map_img{
	width: 70%;
	margin: 0 auto;
}

.map_main .map_map_img img{
	width: 100%;
}

/* map_data */
.map_data .data_box{
	border: 1.5px solid #3F665C;
	border-radius: 20px;
	margin: 1rem auto;
	display: flex;
	align-items: center;
}

.map_data .data_1{
	background-color: #3F665C;
	color: #FFF;
}

.map_data .data_2 .data_no, .map_data .data_3 .data_no{
	color: #FFF;
	text-shadow:1px 1px 0 #3F665C, -1px -1px 0 #3F665C,
				-1px 1px 0 #3F665C, 1px -1px 0 #3F665C,
				0px 1px 0 #3F665C,  0-1px 0 #3F665C,
				-1px 0 0 #3F665C, 1px 0 0 #3F665C;
}

.map_data .data_box p{
	margin: 0;
}

.map_data .data_no{
	text-align: center;
	font-size: 64px;
	width: 90px;
	height: 90px;
	line-height: 90px;
}

.map_data .data_text{
	flex: 1;
	padding: 5px;
}

/* map_chose_img */

.map_chose_img{
	max-width: 500px;
	width: 90%;
	margin: 0 auto;
}

.map_chose_img img{
	width: 100%;
}

/* map_season_img */

.map_season_img{
	max-width: 500px;
	width: 90%;
	margin: 0 auto;
}

.map_season_img img{
	width: 100%;
}

.map_season_text {
	text-align: center;
	font-size: 1.25rem;
	font-weight: bold;
	margin-top: 1.0rem;
}

/* map_preserve_img */

.map_preserve_img{
	max-width: 400px;
	width: 70%;
	margin: 0 auto;
}

.map_preserve_img img{
	width: 100%;
}

.map_preserve_text{
	text-align: center;
	font-size: 1.25rem;
	font-weight: bold;
	margin-top: 1.0rem;
}

/* map_recipe */

.map_recipe h3{
	border-bottom: 1px solid #3F665C;
}

.map_recipe h3:after{
	content: none;
}

.map_recipe_title{
	margin-top: 1rem;
	text-align: center;
	font-size: 1.0rem;
}

.map_recipe_title strong{
	font-size: 1.5rem;
}

.map_recipe_sozai_num{
	display: flex;
	font-size: 1rem;
}


@media only screen and (min-width:600px) {
	.map_recipe_img{
		width: 70%;
		margin: 0 auto;
	}

	.map_recipe_img img{
		width: 100%;
	}
	
	.map_recipe_text{
		width: 70%;
		margin: 0 auto;
	}

	.map_recipe_sozai{
		flex:1;
	}

	.map_recipe_num{
		flex:1;
	}

}

@media only screen and (max-width:599px) {

	.map_recipe_main {
		display: flex;
	}
	
	.map_recipe_title{
		font-size: 0.8rem;
	}

	.map_recipe_title strong{
		font-size: 1.25rem;
	}

	.map_recipe_img{
		position: relative;
		width:150px;
		height:300px;
	}

	.map_recipe_img img{
		position: absolute;
		height: 100%;
		right: 10px;
	}

	.map_recipe_text{
		flex:1;
	}

	.map_recipe_sozai_num{
		font-size: 0.8rem;
	}

	.map_recipe_sozai{
		margin-right: 0.5rem;
	}
}

.map_recipe_block_main{
	display: flex;
	width: 70%;
	margin: 2rem auto;
}

.map_recipe_block_left{
	flex:1;
	padding-right: 2rem;
}

.map_recipe_block_right{
	width: 200px;
}

.map_recipe_block_right img{
	width: 100%;
}

.map_recipe_block_title{
	display: flex;
}

.map_recipe_block_title p{
	margin: 0;
	font-size: 1.25rem;
	font-weight: bold;
}

.map_recipe_block_title p:nth-child(1){
	width: 45px;
	line-height: 45px;
	text-align: center;
	border: 1px solid #3F665C;
}

.map_recipe_block_title p:nth-child(2){
	flex: 1;
	line-height: 45px;
	text-align: center;
	border-top: 1px solid #3F665C;
}

.map_recipe_block_info{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 155px;
	text-align: center;
}

@media only screen and (max-width:599px) {
	.map_recipe_block_main{
		width: 90%;
	}

	.map_recipe_block_left{
		padding-right: 1rem;
	}
	
	.map_recipe_block_title p{
		font-size: 1.2rem;
	}

	.map_recipe_block_title p:nth-child(1){
		width: 35px;
		line-height: 35px;
	}

	.map_recipe_block_title p:nth-child(2){
		line-height: 35px;
	}	
	.map_recipe_block_right{
		width: 150px;
	}

	.map_recipe_block_info{
		height: 115px;
		font-size: 0.8rem;
	}
}

/* map_column */
.map_column_img{
	width: 90%;
	margin: 0 auto;
}

.map_column_img img{
	width: 100%;
	aspect-ratio: 16 / 9;
}

.map_column_text{
	width: 90%;
	margin: 0 auto;
}

.map_column_file{
	background-color: #3F665C !important;
}