@charset "UTF-8";
/*
Theme Name: MY THEME 
Author: Zenshin
Description: オリジナルテーマ
Version: 1.0
*/
img {
    max-width: 100%;
    height: auto;
	vertical-align: bottom;
}

.img-full img {
	width: 100%;
	height: auto;
	text-align: center;
	vertical-align: bottom;
}


@media screen and (max-width: 780px) {
	.flex_res{
		flex-direction: column;
		align-items: center;
	}
}

.flex_hanyo{
	display: flex;
	justify-content: center;
}

.flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

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

.flex-base {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3%;
}

.alignleft {
	float: left;
	margin-left: 0;
	margin-right: 1em;
}

.alignright {
	float: right;
	margin-left: 1em;
	margin-right: 0;
}

.aligncenter {
	margin-left: auto;
	margin-right: auto;
}

.wp-block-categories.aligncenter,
.wp-block-latest-posts.aligncenter,
.wp-block-archives.aligncenter,
.wp-block-tag-cloud.aligncenter,
.wp-block-latest-comments.aligncenter,
.wp-block-rss.aligncenter {
	text-align: center;
}

figure {
	margin-left: 0;
	margin-right: 0;
}

body {
	box-sizing: border-box;
}

body *,
body *::before,
body *::after {
	box-sizing: inherit;
}

ul {
	padding-inline-start: 1rem;
}

pre {
	font-family: unset;
}

/* 変数 */
:root {
	--f1: 2.44em;
	/* 39.04px */
	--f2: 1.95em;
	/* 31.2px */
	--f3: 1.56em;
	/* 24.96px */
	--f4: 1.25em;
	/* 20px */
	--f5: 1em;
	/* 16px */
	--f6: 0.8em;
	/* 12.8px */

	--f7: 0.66em;
	/* 12.8px */

	--basecolor: #63a211;
	/* 基本色 */
	--gradient: linear-gradient(81.7deg, rgba(34, 126, 34, 1) 8.1%, rgba(99, 162, 17, 1) 86.5%);

	--myfont: "dnp-shuei-mgothic-std", sans-serif;
	--myw: 720px;
	/*標準幅*/
}


/* フォント */
body {
	font-family: var(--myfont);
	font-size: 21px;
}

p {
	line-height: 1.8;
	font-size: var(--f5);
}


h1 {
	font-size: var(--f1);
	font-weight: 300;
}

h2 {
	font-size: var(--f3);
	margin-block-start: 0;
}

h3 {
	font-size: var(--f3);
}

h4 {
	font-size: var(--f4);
}

h5 {
	font-size: var(--f5);
}

h6 {
	font-size: var(--f6);
}

.text_item_double_L{
	width: 55%;
	padding: 30px 0;
	margin: 0 auto;
}

.text_item_double_L p{
	font-size: 18px;
}

.text_img_double_R{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45%;
	padding: 30px 0;
	margin-left: 8%;
}

.text_img_double_R img{
	vertical-align: middle;
}
.title_wrapper{
	margin-right: 50%;
}

.title_img{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 30px 0;
}

.top_assist_text{
	font-size: 14px;
	/* margin-top: 35px; */
}

@media screen and (max-width: 780px) {
	.text_item_double_L{
		width: 100%;
		display: flex;
		flex-direction: column; /* 要素を縦方向に並べる */
		justify-content: center; /* 横方向（左右方向）の中央揃え */
		align-items: center; /* 縦方向（上下方向）の中央揃え */
		padding: 0;
	}
	.text_img_double_R{
		width: 70%;
		margin-left: 0;
		margin-bottom: 10px;
	}
	.title_img{
		width: 70%;
		margin: 20px 0 30px 0;
	}
	.text_item_double_L p{
		font-size: 14px;
	}
	.title_wrapper{
		width: 100%;
		display: flex;
		flex-direction: column; /* 要素を縦方向に並べる */
		justify-content: center; /* 横方向（左右方向）の中央揃え */
		align-items: center; /* 縦方向（上下方向）の中央揃え */
	}
	.osirase_img{
		width: 50%;
	}
}


/* 横幅 */
body {
	margin: 0;
}


.alignfull {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.alignwide {
	margin-top: 5%;
	padding-left: 25%;
	padding-right: 25%;
}

/*スマホ*/
@media (max-width: 600px) {
	.alignwide {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (min-width: 1320px) {}


/*配置*/
.center {
	text-align: center;
}

.space-between {
	justify-content: space-between;
}

/* ポジション */
.relative {
	position: relative;
}

.top {
	vertical-align: top;
}

/*リンク*/
a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	color: inherit;
	opacity: 0.7;
}

/*色*/
.white {
	color: white;
}

.red {
	color: red;
}

.green {
	color: green;
}

.grey {
	background-color: #F2F2F2;
	padding-bottom: 5%;
}

.white-bg {
	background-color: white;
}

/*スマホ限定/PC限定*/
/*フッターの画像切替のみに使用 bootstrapのxlに対応*/
.sp {
	display: none;
}

.sp-md {
	display: none;
}

.pc {
	display: block;
}



@media only screen and (max-width:780px) {
	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.pc_sub {
		display: none;
	}
}

@media only screen and (max-width:768px) {
	.sp-md {
		display: block;
	}

}

/*-----マージン共通-----*/
.margin_hanyo {
	margin-top: 120px;
}

.margin_hanyo_sub2 {
	margin-top: 100px;
}

.margin_right_pc{
	margin-right: 20px;
}

.margin_hanyo_bottom {
	margin-bottom: 5%;
}

@media screen and (max-width: 780px) {
	.margin_hanyo{
		margin-top: 50px;
	}
	.margin_hanyo_sub {
		margin-top: 10px;
	}
	.margin_hanyo_sub2 {
		margin-top: 50px;
	}
	.margin_top_res{
		margin-top: 15px;
	}
	.margin_right_pc{
		margin-right: 0;
	}
}

/*-----トップ-----*/



.content-wrapper {
	padding: 0 7%;
}

@media screen and (max-width: 780px) {
	.content-wrapper{
		padding: 0 15px;
	}
}

.content-wrapper-white {
	background-color: #FFFFFF;
	padding: 0 10%;
}

.content-wrapper h1 {
	margin-block-start: 0;
}

.content-wrapper h1,
.content-wrapper-white h1 {
	width: 50%;
	text-align: center;
}

.corner-top {
	padding: 0 3%;
	display: flex;
	justify-content: space-between;
}

.topLeft {
	border-top: solid 1px;
	border-left: solid 1px;
	width: 5%;
	height: 5%;
	padding-top: 5%;
}

.topRight {
	border-top: solid 1px;
	border-right: solid 1px;
	width: 5%;
	height: 5%;
	padding-top: 5%;
}

.corner-bottom {
	padding: 1% 3%;
	margin-bottom: 3%;
	display: flex;
	justify-content: space-between;
}

.bottomLeft {
	border-bottom: solid 1px;
	border-left: solid 1px;
	width: 5%;
	padding-top: 5%;
}

.bottomRight {
	border-bottom: solid 1px;
	border-right: solid 1px;
	width: 5%;
	padding-top: 5%;
}

h5.blog-date {
	margin-block-end: 0;
}

.flex-item-30 {
	width: 30%;
}

.flex-item-40 {
	width: 40%;
	overflow-clip-margin: unset;
	overflow: unset;
}

.flex-item-30 iframe {
	width: 100%;
	height: 315px;
}

.sellingPlaceText {
	text-align: center;
	font-size: var(--f3);
}

.contact-container {
    display: flex;
    justify-content: center; /* 横軸で中央寄せ */
    align-items: center; /* 縦軸で中央寄せ */
    min-height: 20vh; /* ビューポートの高さに合わせる */
	white-space: nowrap;
}

.box {
    --bg-gradient: linear-gradient(#333 0 100%);
    margin: 3%;
    padding: 1.5rem;
    background-image:
        var(--bg-gradient),
        var(--bg-gradient),
        var(--bg-gradient),
        var(--bg-gradient);
    background-repeat: no-repeat;
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
    background-position: left top 5px, right 5px top, left bottom 5px, left 5px top;
}

.box a{
	font-size: 21px;
}

@media screen and (max-width: 780px) {
	.box a{
		font-size: 14px;
	}
}

.floatLeft {
	float: left;
}

.floatRight {
	float: right;
}

/* 最新の投稿用のスタイル */
.first-item {
    width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3%;
}

/* 残りの投稿用のスタイル (flexで3つ横並び)  TODO */
.flex-item {
    flex: 1 1 30%; /* 3つの投稿を横並びにする */
	color: blue;
}

.row.first-item h2 {
	margin-inline-start: -10px;
}

.blog-contentWrapper {
	padding: 1%;
	background-color: #F2F2F2;
}

.blog_item{
	display: flex;
	width: 33%;
}



.blog_img {
	width: 40%; /* トリミング後の正方形のサイズ */
	padding-top: 40%; /* トリミング後の正方形のサイズ */
	overflow: hidden; /* はみ出た部分を非表示にする */
	position: relative; /* 絶対配置の基準にする */
	background-color: white;
}
  
.blog_img img {
	width: auto; /* コンテナいっぱいに画像を表示 */
	max-width: none; /* 親要素の制約を無視 */
	height: 100%; /* アスペクト比を維持 */
	display: block; /* インライン要素からブロック要素に変更 */
	position: absolute; /* 絶対配置 */
	top: 50%; /* 上端をコンテナの中央に移動 */
	left: 50%; /* 左端をコンテナの中央に移動 */
	transform: translate(-50%, -50%); /* 中央揃え */
}

@media screen and (max-width: 780px) {
	.blog_item{
		width: 100%;
	}
	.blog-contentWrapper {
		padding: 2%;
		margin: 2% auto;
	}
	.blog_img{
		width: 25%; /* トリミング後の正方形のサイズ */
		padding-top: 25%; /* トリミング後の正方形のサイズ */
	}
}

.blog_text{
	width: 50%;
}

.blog_text h3{
	font-size: 0.73vw;
}

.blog_text h2{
	font-size: 1.25vw;
}

.blog_text p{
	font-size: 0.73vw;
}

@media screen and (max-width: 780px) {
	.blog_text{
		width: 75%;
	}

	.blog_text h3{
		font-size: 12px;
	}
	
	.blog_text h2{
		font-size: 14px;
	}
	
	.blog_text p{
		font-size: 11px;
	}
}

.tableFont table tr td{
	font-size: 0.94vw;
}

.tableFont h2{
	font-size: 1.88vw;
}

.tableFont p{
	font-size: 0.94vw;
	margin-bottom: -2%;
}

@media screen and (max-width: 780px) {
	.tableFont table tr td{
		font-size: 14px;
	}
	
	.tableFont h2{
		font-size: 21px;
	}
	
	.tableFont p{
		font-size: 14px;
		margin-bottom: -2%;
	}
}

.blog_main_text h2{
	font-size: 36px;
	margin-left: -20px;
	margin-bottom: 30px;
}

.blog_main_text{
	font-size: 18px;
}

.post_bar_sp {
    width: 100%;
    border: 10px solid #F2F2F2;
    margin: 40px 0;
}

@media screen and (max-width: 780px) {
	.content {
		font-size: 2.5vw;
	}

	.tableFont h2 {
		font-size: x-large;
	}
	.blog_main_text{
		font-size: 14px;
	}
	.blog_main_text h2{
		font-size: 21px;
		margin-left: 0;
		margin-bottom: 20px;
	}
}

.introduction_padding{
	padding-left: calc((100vw - (50vw + 300px)) / 2);
	padding-right: calc((100vw - (50vw + 300px)) / 2);
}

/* .introduction_item{
	border-bottom: solid 1px black;
	padding-bottom: 3%;
} */

.introduction_item {
    position: relative;
    padding: 10px 10px;
    /* max-width: 100%;
    width: 120px; */
    /* text-align: center;
    margin: 0 auto; */
}
.introduction_item::before,
.introduction_item::after{ 
    content:'';
    width: 35px;
    height: 35px;
    position: absolute;
    display: inline-block;
}
.introduction_item::before{
    border-left: solid 1px black;
    border-top: solid 1px black;
    top:0;
    left: 0;
}
.introduction_item::after{
    border-right: solid 1px black;
    border-bottom: solid 1px black;
    bottom:0;
    right: 0;
}

@media screen and (max-width: 780px) {
	.introduction_padding{
		padding-left: 10px;
		padding-right: 10px;
	}
	.introduction_item{
		border: none;
		padding: 0 3%;
	}
	.introduction_item::before{
		border: none;
	}
	.introduction_item::after{
		border: none;
	}
	.introduction_img{
		padding: 3%;
		border: solid 1px black;
	}
}

/*-------スライダー--------*/
.metaslider .flexslider {
	margin: 0;
}

/*-------会社概要--------*/

.info_text_item_double_L{
	flex-direction: column;
	display: flex;
	justify-content: center;
	width: 55%;
	padding: 30px 2% 30px 0;
	margin: 0 auto;
}
@media only screen and (max-width:780px) {
	.info_text_item_double_L{
		width: 100%;
		padding: 30px 0;
		display: flex;
		flex-direction: column; /* 要素を縦方向に並べる */
		justify-content: center; /* 横方向（左右方向）の中央揃え */
		align-items: center; /* 縦方向（上下方向）の中央揃え */
	}
}

.title-wrapper.story {
	padding-left: 10%;
	margin-bottom: 5%;
}

.greenTable tr {
	line-height: var(--f3);
	border-bottom: solid 1px rgb(0, 75, 0);
	padding-left: 3%;
}

.redTable tr {
	line-height: var(--f3);
	border-bottom: solid 1px rgb(161, 0, 0);
	padding-left: 3%;
}

.greenTable tr:last-child,
.redTable tr:last-child
{
    border: #F2F2F2;
}

.right-pic {
	padding: 5% 0 5% 10%;
}

.left-pic {
	padding: 5% 10% 5% 0;
}

.nagi-text {
	font-size: 18px;
}

.info_text_item_double_R{
	flex-direction: column;
	display: flex;
	justify-content: center;
	width: 55%;
	padding: 30px 2% 30px 0;
	margin: 0 auto;
}

.text_img_double_L{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45%;
	padding: 30px 0;
	margin-right: 8%;
}

.story_text{
	font-size: 26px;
	font-weight: bold;
}

.story_text_sub{
	font-size: 20px;
	font-weight: bold;
}
  
.staff_container {
	display: flex;
	justify-content: space-between;
	padding: 20px;
	gap: 20px; /* 要素間のスペースを設定 */
}

.staff_item {
	flex: 1;
}

.staff_square_image {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1; /* 正方形の画像を維持 */
	object-fit: cover; /* 画像を要素にフィットさせる */
	margin-bottom: 15px;
}

.staff_item p{
	font-size: 1.09vw;
	font-weight: bold;
}

.staff_text_sub{
	font-size: 0.73vw;
	color: red;
}

.staff_item table {
	width: 100%;
	border-collapse: collapse;
	/* margin-top: 10px; */
}

.staff_item th {
	/* padding: 8px; */
	width: 28%;
	font-size: 0.94vw;
	text-align: left;
}
.staff_item td {
	/* padding: 8px; */
	font-size: 0.94vw;
	text-align: left;
	padding-left: 5%;
}

.smile_photo_container {
	display: grid;
	grid-template-columns: repeat(5, 1fr); /* 5列レイアウト */
	gap: 10px; /* 要素間のスペース */
	padding: 10px;
}

.smile_photo_item {
	width: 100%;
	height: 0;
	padding-bottom: 100%; /* 正方形の維持 */
	position: relative;
}

.smile_photo_item img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; /* 画像を要素にフィット */
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); /* 濃い影の追加 */
}

/* メディアクエリで画面幅が780px以下の場合に2列に整列 */
@media (max-width: 1000px) {
.smile_photo_container {
    grid-template-columns: repeat(2, 1fr); /* 2列レイアウト */
  }
}

@media only screen and (max-width:780px) {
	.info_text_item_double_R{
		width: 100%;
		padding: 30px 0;
		display: flex;
		flex-direction: column; /* 要素を縦方向に並べる */
		justify-content: center; /* 横方向（左右方向）の中央揃え */
		align-items: center; /* 縦方向（上下方向）の中央揃え */
		order: 1; /* 順序を変更 */
	}
	
	.text_img_double_L{
		width: 70%;
		margin-right: 0;
		margin-bottom: 10px;
		order: 2; /* 順序を変更 */
	}
	.story_text{
		font-size: 21px;
	}
	
	.story_text_sub{
		font-size: 18px;
	}
	.staff_container {
		padding: 0;
	}
	.staff_item p{
		font-size: 18px;
	}
	.staff_item th {
		/* padding: 8px; */
		width: 120px;
		font-size: 14px;
	}
	.staff_item td {
		/* padding: 8px; */
		font-size: 14px;
		text-align: left;
		padding-left: 0;
	}
	.staff_text_sub{
		font-size: 11px;
		color: red;
	}
}



/* これ、写真一覧のやつ */
.img_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.img_container a:hover {
    opacity: 1; /* マウスが重なった際に透明度を変更しないようにする */
}

.img_subcontainer {
	display: inline-block;
	overflow: hidden;
	position: relative;
	margin: 0.2rem;
}

.img_cover{
	overflow: hidden;
}

.img_subcontainer img {
	flex-grow: 1;
	object-fit: cover;
	height: 200px;
	width: auto;
	border-radius: 4px;
	overflow: hidden;
}

/* 画像のスタイル */
.lightbox-img {
	max-width: 100%;
	height: auto;
	cursor: pointer;
	display: inline-block;
    overflow: hidden;
}

/* Lightboxのスタイル */
#lightbox-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	justify-content: center;
	align-items: center;
	z-index: 999;
}

#lightbox-image {
	max-width: 90%;
	max-height: 90%;
}

.employee {
	font-size: 1vw;
}

#smile {
	justify-content: flex-start;
	margin-bottom:8%;
}

#smile .topRight{
	margin-left: auto;
}

#smile img{
	height: 150%;
	width: auto;
}

@media only screen and (max-width:1000px) {
	.employee {
		font-size: 2vw;
	}
}

@media only screen and (max-width:780px) {
	.title-wrapper.story {
		padding-left: 3%;
	}
	.info-itemsFrame {
		margin-bottom: 16%;
	}
	.right-pic {
		padding: 0;
		margin-top: 16%;
	}
	.left-pic {
		padding: 0;
	}
	.nagi-text {
		font-size: 14px;
	}
	.employee {
		font-size: 3vw;
	}
	.employeeText {
		padding-left: 1%;
	}

	#smile{
		margin-bottom: 15%;
	}
}

/*---------お問い合わせ------------*/
#contact {
	justify-content: flex-start;
}

#contact .topRight{
	margin-left: auto;
}

#contact h2{
	align-content: end;
    margin-left: 5%;
    color: initial;
}

.contact_cel {
	padding: 2% 10% 6% 10%;
	/* background-color: white; */
	border-radius: 20px;
}


.confirm {
	text-align: center;
}

.cform th {
	font-size: 18px;
	width: 100%;
	/*変なところで改行される場合はここの数字を変更します。*/
	padding: 10px 0 10px 15px;
	/* background-color: white; */
	color: black;
	font-weight: bold;
}

.cform td {
	width:100%;
	font-size: 18px;
	line-height: 150%;
	padding: 7px 5px;
}

.cform {
	width: 90% !important;
	margin: auto;
	margin-top: 50px;
	border-spacing: 0px;
}

.cform tbody,
.cform tr,
.cform th,
.cform td{
	display: block;
	width: 100% !important;
}

.mw_wp_form form p {
	text-align: center;
}

.cform [type=submit] {
	display: inline-block;
	font-size: 18px;
	padding: 10px 30px;
	text-decoration: none;
	/* background: #ff8f00;
	color: #FFF;
	border-bottom: solid 4px #B17C00; */
}

.cform option,
.cform textarea,
.cform input[type=text],
.cform input[type=email],
.cform input[type=search],
.cform input[type=url] {
	width: 100%;
	min-height: 40px;
	padding: 2%;
	border: solid 1px black;
}

.cform input[type=text].jusyo,
.cform input[type=text].p-region,
.cform input[type=text].p-locality
{
	padding: 5px;
}

.mw_wp_form th:not(.post-con) {
	text-align: left;
	padding: 2% 0;
	/* font-size: 21px; */
	width: auto;
	font-weight: normal;
}

.otoiawase {
	vertical-align: top;
}

/* .contact_top {
	background-color: #F2F2F2;
}

.contact_top .alignwide {
	margin-top: 0;
}

.contact_top .corner-top {
	padding-top: 5%;
}

.contact_top .corner-bottom {
	margin-bottom: 0;
}

.contact-guide {
	width: 95%;
	margin: auto;
	padding: 3% 10%;
	background: white;
	font-family: "Yu Mincho", "YuMincho", serif;
}

.cform textarea {
	width: 100%;
}

table.cform {
	border-collapse: separate;
	border-spacing: 60px 20px; /* 水平方向の間隔は0、垂直方向の間隔は10px 
  }*/

.mw_wp_form form p {
	text-align: center;
}

button[type="submit" i] {
	/*もともとの設定変更*/
	border: 0px;
	background-color: unset;
	--bg-gradient: linear-gradient(#333 0 100%);
    margin: 0.5rem;
    padding: 1rem 1.5rem;
    background-image:
        var(--bg-gradient),
        var(--bg-gradient),
        var(--bg-gradient),
        var(--bg-gradient);
    background-repeat: no-repeat;
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
    background-position: left top 5px, right 5px top, left bottom 5px, left 5px top;
} 

.required-srt {
	color: red;
	font-size: 12px;
}

@media screen and (max-width: 780px) {
	.cform tbody,
	.cform tr,
	.cform th,
	.cform td{
		font-size: 14px;
	}

	.cform th{
		background-color: #F2F2F2;
	}
}

/*プライバシーポリシー*/
.policy {
	height: 200px;
	overflow-y: scroll;
	border: solid 1px black;
}
.contact-guide{
	font-size: 18px;
}

.contact-guide p{
	margin-top: 10px;
	text-align: center;
	background-color: #F2F2F2;
}

@media screen and (max-width: 780px) {
	.contact-guide {
		font-size: 14px;
		width: 100%;
	}
}

/*-------商品一覧-------*/
.item-header {
	line-height: var(--f3);
	font-size: var(--f3);
}

.item-explain {
	padding: 3% 0;
	line-height: var(--f3);
}

.item-explain p{
	padding-top: 20px;
	font-size: 14px;
	border-top: solid 1px #009245;
}

.item-features {
	line-height: var(--f3);
	border-bottom: 2px solid #009245;
	padding: 3% 0;
}

.item-features li{
	list-style-position: inherit;
}

.item-price {
	color:red;
	line-height: var(--f3);
	padding: 3% 0;
}

.item-price span {
	font-size: xx-large;
	font-weight: 500;
}

.item-price span span.price{
	font-weight: 600;
}

img.thumbnail{

}

.item_main_container{
	padding: 40px;
}

.item_img_container{
	margin-right: 30px;
	width: 500px;
}

.item_text_container{
	width: 70%;
}

.item_table{
	margin-top: 40px;
}

.item_imgs{
	justify-content: space-between;
	margin-top: 2%;
}

.item_imgs img{
	width: 32%;
}

.item_img{
	width: 100%;
	height: 0;
	padding-bottom: 100%; /* 正方形の維持 */
	position: relative;
}

.item_img img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; /* 画像を要素にフィット */
}

.item-text {
	font-size: 18px;
}

.flex_items{
	display: flex;
	justify-content: center;
}
/*
.thumbnail, #main-image {
    max-height: 100%;
    width: auto;
	object-fit: contain;
}
*/

.items_table {
	font-size: 18px;
}
.items_table th{
	font-weight: bold;
	width: 150px;
}
@media only screen and (max-width:1350px) {
	.itemst_table {
	font-size: 16px;
	}
}
@media only screen and (max-width:920px) {
	.itemst_table {
	font-size: 14px;
	}
}
@media only screen and (max-width:780px) {
	.items_table,
	.items_table th,
	.items_table td,
	.items_table tr,
	.items_table tbody {
		display: block;
		width: 100%;
	}
	.items_table th{
		background-color: #ffffff;
		text-align: center;
	}
	.items_table td{
		font-size: 14px;
		margin: 10px 0;
	}
	.item_main_container{
		padding: 40px 10px;
	}
}

@media only screen and (max-width:1200px) {
	.flex_items{
		flex-direction: column;
		align-items: center;
	}

	.item_img_container{
		margin-right: 0;
		margin-top: 30px;
		width: 100%;
		order: 2;
	}
	
	.item_text_container{
		width: 100%;
		order: 1;
	}

	.item-header {
		font-size: 24px;
	}

	.item-price span {

	}
}

/*-------採用情報--------*/

.employment_center_left{
	display: flex;
	justify-content: center;
}

.employment_center_left p{
	text-align: left;
	font-size: 18px;
}

.employment h1 {
	margin-bottom: 5%;
	text-align: left;
	padding-left: 3%;
}

.employment h4 {
	margin-bottom: 3%;
	text-align: left;
	padding-left: 5%;
	font-size: 1.5vw;
}

.employment h4.welcome {
	margin-top: 3%;
	margin-bottom: 3%;
	text-align: center;
	font-size: 1.5vw;
}

.employment_table {
	font-size: 18px;
}
.employment_table th{
	font-weight: bold;
	width: 150px;
}
@media only screen and (max-width:1350px) {
	.employment_table {
	font-size: 16px;
	}
}
@media only screen and (max-width:920px) {
	.employment_table {
	font-size: 14px;
	}
}
@media only screen and (max-width:780px) {
	.employment_table,
	.employment_table th,
	.employment_table td,
	.employment_table tr,
	.employment_table tbody {
		display: block;
		width: 100%;
	}
	.employment_table th{
		background-color: #F2F2F2;
		text-align: center;
	}
	.employment_table td{
		margin: 10px 0;
	}
	.employment_center_left p{
		font-size: 14px;
	}
}



.employTabel .title {
	width: 22%;
}

.employment img {
	width: 100%;
}

.contact-box {
    --bg-gradient: linear-gradient(#333 0 100%);
    margin: 0.5rem;
    padding: 1.0rem;
    background-image:
        var(--bg-gradient),
        var(--bg-gradient),
        var(--bg-gradient),
        var(--bg-gradient);
    background-repeat: no-repeat;
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
    background-position: left top 5px, right 5px top, left bottom 5px, left 5px top;
	font-size: 2rem;
}

@media only screen and (max-width:800px) {
	.employTabel .title {
		width: 25%;
	}

	.employment h4,
	.employment h4.welcome {
		font-size: 3vw;
	}

	.table {
		font-size: 14px;
	}
	
	.wrap {
		display:flex;
		flex-flow: column;
		font-size: 2.0vw;
	  }
}

@media only screen and (max-width:540px) {
	.employment h1 {
		width: 100%;
	}

	.content-wrapper-white {
		padding: 0 5%;
	}
}


/*-------ヘッダー--------*/
.myhead {
	width: 100%;
	background: #F2F2F2;
	padding: 0 2% 2% 2%;
	z-index: 100;
}

.head_item p {
	display: inline-block;
	vertical-align: center;
	color: black;
	margin: 1% 3%;
	font-size: 1.56vw;
}

.head_shop_p{
	position: relative; 
	display: inline-block;
}

.head_shop_span{
	position: absolute; 
	font-size: 50%;
	top: 100%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/*-------商品一覧、採用情報のヘッダー--------*/
.page-id-21 .myhead,
.page-id-23 .myhead {
	background: #FFFFFF;
}


/*ハンバーガー*/
body.admin-bar #wprmenu_bar {
	opacity: 0.7;
}

#wprmenu_bar .menu_title {
	visibility: hidden;
	text-align: center;
}

#wprmenu_bar .menu_title a {
	visibility: visible !important;
}

.admin-bar #wprmenu_menu_ul {
	padding: 12% 0;
}

#mg-wprm-wrap ul li {
	border-bottom: solid 1px black;
}

#mg-wprm-wrap ul#wprmenu_menu_ul li.menu-item a {
	position: relative;
	color: black;
	font-family: "Yu Mincho", "YuMincho", "ヒラギノ角ゴ Pro W3", Arial, serif;
	align-content;
}

#mg-wprm-wrap ul#wprmenu_menu_ul li.menu-item a span {
	margin-left: 15px;
	font-size: 10px;
}

#mg-wprm-wrap ul#wprmenu_menu_ul li.menu-item a::after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: 3px solid #313131;
	border-right: 3px solid #313131;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 50%;
	right: 20px;
	border-radius: 1px;
	transition: 0.3s ease-in-out;
}

#mg-wprm-wrap {
	background-color: white;
	opacity: 0.8;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
	border-radius: 0px;
	height: 2px;
}

/*クリック後該当ページの色が変わるを無効化*/
#mg-wprm-wrap li.current-menu-item>a {
	color: black !important;
}

#mg-wprm-wrap li.current-menu-item>a {
	background: none;
}

@media only screen and (max-width:800px) {
	.myhead {
		display: none;
	}
}

@media only screen and (max-width:1023px) {
	.head_item {
		width: 100%;
		text-align: center;
		margin-top: 5px;
	}

	.head_item p {
		margin-top: 0;
	}

	.head_item img {
		width: 30%;
		height: auto;
	}
}

/*----------------各投稿ページ------------------*/
/* // 投稿詳細ページ */
.post-alignwide {
	font-size: 16px;
	line-height: 1.5;
	margin-bottom: 50px;
	margin-left: 20%;
	margin-right: 20%;
	text-align: left;
	padding: 5% 1%;
}

.post_date {
	margin-top: 80px;
	margin-bottom: 20px;
	font-size: 14px;
}

.post-alignwide h2 {
	margin-bottom: 50px;
	margin-left: 2%;
	text-align: left;
}

.backToPage {
font-size: 14px;
font-style: italic;
text-decoration: underline;
}

.post-navigation {
  margin-top: 3em;
}

.post_single_content{
	font-size: 18px;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.nav-links {
  border-top: 1px solid #ccc;
  padding: .5em 0;
}

.nav-links:after {
  content: "";
  display: block;
  clear: both;
}

.nav-previous {
	padding: 10px;
  	float: left;
	border-bottom: solid 1px;
}

.nav-next {
	padding: 10px;
  	float: right;
	border-bottom: solid 1px;
}

.sumbnail{
	display: flex;
	justify-content: center;
}

@media only screen and (max-width: 767px) {
	.post-alignwide {
		font-size: 16px;
		line-height: 1.5;
		margin-bottom: 50px;
		margin-left: 2%;
		margin-right: 2%;
		text-align: left;
		padding: 2% 1%;
	}
	.nav-previous {
		font-size: 12px;
	}

	.nav-next {
		font-size: 12px;
	}
	.post_single_content{
		font-size: 14px;
	}
}


/*--投稿　一部お知らせ一覧でも適用---*/
.news_container{
	display: flex;
	justify-content: center; /* 親コンテナ内で全体を中央寄せ */
	width: 100%;
}

.wp-show-posts {
	margin: 0;
	padding: 0;
	width: 100%;
	display: flex;
	justify-content: flex-start; /* 子要素を左揃え */
	flex-wrap: wrap;
	gap: 2%;
	/* 幅が狭い場合に縦に並ぶ */
	/* height: 100vh; */
}

.wp-show-posts-inner header {
	display: flex;
	flex-direction: column-reverse;
}

.wp-show-posts-entry-header {
	text-align: left;
}

.wp-show-posts-entry-summary {
	margin: 5%;
}

.wp-show-posts-single {
	width: 32%;
	padding-bottom: 4.375rem;
	overflow: hidden;
}

.wp-show-posts-image {
	position: relative;
	width: 100%;
	padding-top: 100%; /* 正方形にするためのパディング */
	overflow: hidden; /* 余分な部分を隠す */
}

.wp-show-posts-image a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.wp-show-posts-image img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: 100%;
	object-fit: cover; /* 画像をコンテナにフィットさせる */
	transform: translate(-50%, -50%); /* 画像を中央に配置 */
}

.wp-show-posts-inner p {
	text-align: left;
	font-size: 18px;
}

.wp-show-posts-entry-title{
	font-size: 21px;
}

.wp-show-posts-entry-date{
	font-size: 14px;
}

.wpsp-read-more {
	width: 80%;
	border-bottom: solid 1px black;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
}

a.wp-show-posts-read-more{
	border: none !important;
}

a.wp-show-posts-read-more:focus,a.wp-show-posts-read-more:hover{
	background: none !important;
	color: #747474;
}

.wpsp-read-more a {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: x-large;
	background-color: none !important;
}


.detailed_button_hanyo {
	width: 100%;
	height: 6.25em;
	margin: 2% 0 2% 0;
	background-color: #000;
}

.detailed_button_hanyo a {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: x-large;
	color: #ccc;
}

/*全体のレイアウト*/
.wpsp-load-more {
	display: flex;
	justify-content: center;
	padding: 20px 0;
	font-size: 14px;
	line-height: 1em;
}

/*各部品のレイアウト*/
.wpsp-load-more span,
.wpsp-load-more a {
	display: block;
	font-size: 1.625rem;
	margin: 2px 2px 2px 0;
	padding: 15px 14px 15px 14px;
	text-decoration: none;
	width: auto;
	color: #000000;
	/* 通常の文字色 */
	background: #ffffff;
	/* 通常の背景色 */
	border: solid 2px black;
}

/*マウスホーバー時*/
.wpsp-load-more a:hover {
	color: #000000;
	/* マウスホバー時の文字色 */
	opacity: 0.5;
}

/*選択時*/
.wpsp-load-more .current {
	padding: 15px 14px 15px 14px;
	color: #ffffff;
	/* 現在のページの文字色 */
	background: #000000;
	/* 現在のページの背景色 */
}


.wp-show-posts-columns#wpsp-52 .wp-show-posts-inner {
	margin-left:0 !important;
}

.element_white {
	background-color: #FFFFFF;
	background-size: cover;
	width: 100%;
	/* 横幅の1.5の高さを最低とする */
	padding: 5% 0;
	font-family: "Shippori Mincho B1", serif;
}

.element_white .alignwide {
	margin-top: 0;
	padding-left: 5%;
    padding-right: 5%
}


/*以下は幅413px以下のスマホの時*/
@media only screen and (max-width: 413px) {
	.wpsp-load-more {
		font-size: 12px;
		line-height: 12px;
	}

	.wpsp-load-more span,
	.wpsp-load-more a {
		padding: 7px 10px 7px 10px;
	}

	.wpsp-load-more .current {
		padding: 7px 10px 7px 10px;
	}
}

@media screen and (max-width: 860px) {
	.wp-show-posts {
		display: flex;
		flex-direction: column;
	}

	.wp-show-posts-single {
		border-top: solid 1px black;
		width: 100%;
		padding: 5px 0;
		margin: 0 !important;
	}
	.wp-show-posts-image{
		display: none !important;
	}
	.wpsp-read-more {
		width: 100%;
		border-bottom: none;
		justify-content: flex-end; /* 右寄せ */
	}
	.wpsp-read-more a{
		font-size: 14px;
		justify-content: flex-end; /* 右寄せ */
	}
	.wp-show-posts-entry-date{
		font-size: 11px;
	}
}


/*-------フッター--------*/
.myfoot {
	background-image: url(./image/foot_bg.png);
	background-repeat: no-repeat; /* 画像の繰り返しを無効にする */
	background-size: cover; /* 画像をコンテナのサイズに合わせる */
}

.overImage {
	padding: 5%;
	width: 100%;
}

.flex-item-half {
	width: 50%;
}

div.flex-item-half.white {
	margin-top: 5%;
	padding-left: 5%;
	padding-right: 5%;
}

div.flex-item-half.white h2 {
	text-align: center;
}

.wid25 {
	width: 30%;
}

.wid75 {
	width: 70%;
}

.googleMap {
	position: absolute;
	bottom: 0;
	width: 80%;
	height: auto;
	border: 0;
}

.accessmap{
	width: 100%;
    position: relative;
	height: 0;
    padding-top: 56.25%;
	margin-top: 20px;
}

.responsive-iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
  }

.access_text_container{
	width: 50%;
	margin-right: 30px;
}

.access_title_img{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 30px 0;
}

.accessFont {
	font-size: 1.15vw;
	margin-bottom: 3%;
}

.accessimg{
	width: 50%;
	display: flex;
  	flex-direction: column;
}

.accessimg img{
	margin-top: auto;
}

.sp .wrapper {
	text-align: center;
}

.sp table {
	margin: 0 auto;
}

.access_table {
	font-size: 18px;
	color: white;
}
.access_table th{
	font-weight: bold;
	width: 150px;
}

.marushi{
	background-color: #074900;
	color: #fff;
	text-align: center;
	padding: 20px 0;
	width: 100%;
	bottom: 0;
}

.marushi p{
	margin: 0;
 	font-size: 14px;
}

@media only screen and (max-width:1350px) {
	.access_table {
	font-size: 16px;
	}
}
@media only screen and (max-width:920px) {
	.access_table {
	font-size: 14px;
	}
}
@media only screen and (max-width:780px) {
	.access_text_container{
		width: 100%;
		margin-right: 0;
	}
	.accessimg{
		margin-top: 20px;
		width: 100%;
	}
	.access_title_img{
		width: 100%;
		margin: 20px 0 30px 0;
	}
	.access_table,
	.access_table th,
	.access_table td,
	.access_table tr,
	.access_table tbody {
		display: block;
		width: 100%;
	}
	.access_table th{
		background-color: #850000;
		text-align: center;
	}
	.access_table td{
		margin: 10px 0;
		text-align: center;
	}
	.myfoot {
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
	}
}

/*-------ふわっとするアニメーション--------*/
.fadeInUp {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1.0s ease, transform 1.0s ease;
}

.fadeInUpVisible {
    opacity: 1;
    transform: translateY(0);
}

