@charset "UTF-8";

/*
Theme Name: MY THEME 
Author: Zenshin
Description: オリジナルテーマ
Version: 1.0
*/
img {
	max-width: 100%;
	height: auto;
}

.img-full img {
	width: 99vw;
	height: auto;
	text-align: center;
	vertical-align: bottom;
}

.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: "Noto Sans JP", 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);
}


/* 横幅 */
body {
	margin: 0;
}


.alignfull {
	width: 99vw;
	height: auto;
}

.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;
}

.white-bg {
	background-color: white;
}

/*スマホ限定/PC限定*/
/*フッターの画像切替のみに使用 bootstrapのxlに対応*/
.sp {
	display: none;
}

.sp-md {
	display: none;
}

.pc {
	display: block;
}

@media only screen and (max-width:1200px) {
	.sp {
		display: block;
	}

	.pc {
		display: none;
	}
}

@media only screen and (max-width:768px) {
	.sp-md {
		display: block;
	}

}

/*-----マージン共通-----*/
.margin_hanyo {
	margin-top: 5%;
}

.margin_hanyo_bottom {
	margin-bottom: 5%;
}

/*-----トップ-----*/
.content-wrapper {
	background-color: #F2F2F2;
	padding: 0 10%;
}

.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%;
	margin-top: 3%;
	display: flex;
	justify-content: space-between;
}

.topLeft {
	border-top: solid 2px;
	border-left: solid 2px;
	width: 5%;
	height: 5%;
	padding-top: 5%;
}

.topRight {
	border-top: solid 2px;
	border-right: solid 2px;
	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 2px;
	border-left: solid 2px;
	width: 5%;
	padding-top: 5%;
}

.bottomRight {
	border-bottom: solid 2px;
	border-right: solid 2px;
	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;
	/* ビューポートの高さに合わせる */

}

.box {
	--bg-gradient: linear-gradient(#333 0 100%);
	margin: 0.5rem;
	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;
}

.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;
}

.content {
	color: black;
	font-size: 0.73vw;
}

.blog-contentWrapper {
	padding: 2%;
	background-color: #F2F2F2;
}

.tableFont {
	font-size: 1.15vw;
}

.Font h2 {
	/*
	font-size: 2.5vw;
	*/
}

.post_bar_sp {
	width: 94%;
	border: 2px solid green;
	border-radius: 6px;
	margin: 3% 3%;
}

@media screen and (max-width: 768px) {
	.content {
		font-size: 2.5vw;
	}

	.tableFont {
		font-size: 2vw;
	}

	.tableFont h2 {
		font-size: x-large;
	}
}

/*-------スライダー--------*/
.metaslider .flexslider {
	margin: 0;
}

/*-------会社概要--------*/
.title-wrapper.story {
	padding-left: 10%;
	margin-bottom: 5%;
}

.greenTable tr {
	line-height: var(--f3);
	border: green;
	padding-left: 3%;
}

.redTable tr {
	line-height: var(--f3);
	border: red;
	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 {
	text-align: center;
	font-size: 1.5vw;
}


/* これ、写真一覧のやつ */
.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:768px) {
	.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: 3vw;
	}

	.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_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;
}

/*プライバシーポリシー*/
.policy {
	height: 200px;
	overflow-y: scroll;
	border: solid 1px black;
}

@media screen and (max-width: 800px) {
	.contact-guide {
		width: 100%;
	}
}

/*-------商品一覧-------*/
.item-header {
	line-height: var(--f3);
	font-size: var(--f3);
}

.item-explain {
	padding: 3% 0;
	line-height: var(--f3);
}

.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 {
	max-width: 25%;
}

/*
.thumbnail, #main-image {
    max-height: 100%;
    width: auto;
	object-fit: contain;
}
*/

@media only screen and (max-width:800px) {
	.item-text {
		font-size: 3vw;
	}

	.item-price span {
		font-size: 4vw;
	}
}

/*-------採用情報--------*/
.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;
}

.table {
	font-size: 1.2vw;
}


.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: 2.5vw;
	}

	.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: 99vw;
	/* background: #F2F2F2; */
	padding-top: 0%;
	padding-bottom: 0%;
	padding-left: 0%;
	padding-right: 10%;
	z-index: 100;
}

.myhead ul {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;

}

.myhead ul li:not(:last-child) {


	border-right: 2px solid #000;
	/* 縦線のスタイル */
}


.myhead ul li {
	flex: 1 0 auto;
	text-align: center;
	list-style: none;

}

.head_item p {
	display: inline-block;
	vertical-align: center;
	color: black;
	margin-top: 30px;
	margin-right: 30px;
	font-size: 25px;
}

.head_item p span {
	font-size: var(--f6);
}

/*-------商品一覧、採用情報のヘッダー--------*/
.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: 80%;
		height: auto;
	}
}

/*----------------各投稿ページ------------------*/
.myposthead {}

.post_single_width {
	padding: 5% 20%;
}

.post_left_date {
	text-align: left;
}

.post_single_content {
	margin-top: 5%;
}

.post_single_content p {
	font-size: 1rem;
}

.post-alignwide {
	padding-left: 5%;
	padding-right: 5%;
}

.sumbnail {
	text-align: center;
}


/*--投稿　一部お知らせ一覧でも適用---*/
.wp-show-posts {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	flex-wrap: wrap;
	/* 幅が狭い場合に縦に並ぶ */
	/* height: 100vh; */
}

.wp-show-posts-inner header {
	display: flex;
	flex-direction: column-reverse;
}

.wp-show-posts-entry-header {
	text-align: left;
	/* padding: 5%; */
	margin: 5%;
	border-bottom: 1px solid #000000;
}

.wp-show-posts-entry-summary {
	margin: 5%;
}

.wp-show-posts-single {
	width: 30%;
	padding-bottom: 4.375rem;
	background-color: #fff;
	border: 2px solid #000000;
	overflow: hidden;
}

.wp-show-posts-image {
	width: 100%;
}

.wp-show-posts-image img {
	width: 100%;
	/* 画像の幅を親ボックスに合わせる */
	height: auto;
	/* アスペクト比を維持するために */
	display: block;
	/* インライン要素の余白を除去するために */
}

.wp-show-posts-inner p {
	text-align: left;
	font-size: large;
}

.wpsp-read-more {
	width: 80%;
	height: 6.25em;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	background-color: #000;
}

.wpsp-read-more a {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: x-large;
	color: #ccc !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: 1000px) {
	.wp-show-posts {
		display: flex;
		flex-direction: column;
	}

	.wp-show-posts-single {
		width: 100%;
	}
}


/*-------フッター--------*/
.m-5 {
	margin: 5% 0 !important;
}

.bg-rgb-ash {
	background-color: rgba(224, 222, 206, 0.6);
	padding: 3% 0;
}

.myfoot {
	position: relative;
	background-color: #004a9b
}

.overImage {
	position: absolute;
	background-color: rgba(0, 0, 0, 0.5);
	right: 5%;
	bottom: 5%;
	width: 90%;
	height: 90%;
}

.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: 25%;
}

.wid75 {
	width: 75%;
}

.googleMap {
	position: absolute;
	bottom: 0;
	width: 80%;
	height: auto;
	border: 0;
}

.wrapper {
	padding: 5%;
	width: 100%;
}

.accessFont {
	font-size: 1.15vw;
	line-height: 1vw;
	margin-bottom: 3%;
}

.footerIframe {
	aspect-ratio: 905 / 561;
}

.sp .wrapper {
	text-align: center;
}

.sp table {
	margin: 0 auto;
}

@media screen and (max-width: 1200px) {
	.col-xl-6.white.relative {
		position: unset;
	}

	.footerIframe {
		aspect-ratio: 180 / 173;
	}
}

@media screen and (max-width: 1025px) {
	.accessFont h2 {
		font-size: 3.5vw;
	}

	#one,
	#two {
		max-width: 65% !important;
	}
}

@media screen and (max-width: 540px) {
	.accessFont table.white {
		font-size: 2.5vw;
	}
}

/*-------ふわっとするアニメーション--------*/
.fadeInUp {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.0s ease, transform 1.0s ease;
}

.fadeInUpVisible {
	opacity: 1;
	transform: translateY(0);
}

/*-------　追記分　小川--------*/
.top_massage {
	font-size: 18px;
}

.box a {
	font-size: 48px;
}

/* 小川追記 */
/* header */

.w-50 {
	width: 50%;
}

.w-20 {
	width: 50%;
}

.w-30 {
	width: 30%;
}

.flex-end {
	display: flex;
	justify-content: flex-end;
}

.top-button {
	gap: 8%;
	padding-right: 3%;
}

.head_item {
	align-items: center;
}

.flex-evenly {
	display: flex;
	justify-content: space-evenly;
}

.myhead {
	margin: 2% 0;
}

.respo-font {
	font-size: 1.4vw;
}

.style-none,
.list-none {
	list-style: none;
	padding: 0;
	margin: 0;
}

.style-none {
	display: none;
}

.hover-item:hover .style-none {
	display: block;
}

.hover-item {
	position: relative;
}

.style-none {
	content: '';
	position: absolute;
	white-space: nowrap;
}

.style-none li {
	background-color: #81041A;
	color: #FFFFFF;
	padding: 10px;
}

.mini-pad li {
	padding: 10px 20px;
}

/* footer */
.flex bottom3 .myfoot {

	margin: auto;

}

.border-top {
	border-top: 1px solid #81041A !important;

}

.border-top .font16 {
	background-color: #ff8736;
	color: white;


}

.margin0 {
	margin: 0;
	color: white;
}

.flex-nowrap {
	display: flex;
	flex-wrap: nowrap;
	gap: 3%;
	margin-top: 5%;
	margin-left: 3%;
	margin-right: 3%;
}

.footer-menu {
	display: flex;
	width: 50%;
	justify-content: center;
	gap: 10%;
	margin-top: 5%;
}

.pad0 {
	padding: 0;
	list-style: none;
}

.border-red {

	color: white;
}

.bottom5 {
	margin-bottom: 5%;
}

.ash {
	color: #898989;
	transform: translateX(20px);
}

/* 小川追加分 */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');

.aboutus_wrapper {
	text-align: center;
}

.title_aboutus {
	font-family: 'Montserrat', sans-serif;
}

.title_aboutus {
	padding-top: 8%;
	font-size: 55px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 0%;
	line-height: 1;
	/* 行の高さを最小限にする */
}

.titlebottom_aboutus {
	text-align: center;
	margin-top: 0%;
	color: #004fff;
	/* 青色に設定 */

	font-family: 'Sans JP', sans-serif;
}

.titlebottom_aboutus {
	position: relative;
	/* 疑似要素の基準位置 */
	display: inline-block;
	/* テキストの長さに合わせる */
	padding-left: 50px;
	/* 下線が伸びる余白 */
}

.titlebottom_aboutus::before {
	content: "";
	/* 疑似要素 */
	position: absolute;
	left: -80;
	bottom: 0.2em;
	/* 文字の下に配置 */
	width: 280px;
	/* 左に伸ばす線の長さ（調整可能） */
	height: 0.5px;
	/* 下線の太さ */
	background-color: #004fff;
	/* 下線の色（青など） */

}

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');

.recruit_wrapper {
	text-align: center;
}


.title_recruit {
	font-family: 'Montserrat', sans-serif;
}

.title_recruit {
	padding-top: 8%;
	font-size: 55px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 0%;
	line-height: 1;
	/* 行の高さを最小限にする */
}

.titlebottom_recruit {
	text-align: center;
	margin-top: 0%;
	color: #004fff;
	/* 青色に設定 */
	font-family: 'Sans JP', sans-serif;
	position: relative;
	/* 疑似要素の基準位置 */
	display: inline-block;
	/* テキストの長さに合わせる */
	padding-left: 50px;
	/* 下線が伸びる余白 */
}

.titlebottom_recruit::before {
	content: "";
	/* 疑似要素 */
	position: absolute;
	left: -350;
	bottom: 0.2em;
	/* 文字の下に配置 */
	width: 500px;
	/* 左に伸ばす線の長さ（調整可能） */
	height: 1px;
	/* 下線の太さ */
	background-color: #004fff;
	/* 下線の色（青など） */
}



.recuruit-container {
	margin: 3% 0;
	display: flex;
	justify-content: space-evenly;
	/* 画像間のスペースを均等に */
	align-items: center;
	/* 画像を縦方向に中央揃え */
}

.recuruit {
	display: flex;
	width: 80%;
	justify-content: center;
	margin-top: 5%;
	margin-bottom: 10%;
	justify-content: space-between;
	gap: 5%;
}

.foot1 {

	display: flex;
	/* justify-content: space-between; */
	flex-wrap: wrap;
	padding-top: 5%;
	padding-left: 10%;
	padding-right: 10%;
	padding-bottom: 5%;
}

.top-icon img {
	width: 80%;
}

.adress {
	margin: auto 0 auto 15%;
}

.aboutus {
	padding-bottom: 5%;
	/* padding-top: 5%; */

}

.aboutus-title {}



.back-img {
	background-image: url(./image/back-img.png);
}

padding-top: 5%;

/* ここから会社概要　小川 */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');

.our_wrapper {
	text-align: center;
}

.our_wrapper {
	text-align: center;
	/* 画面中央に配置 */
}

.title_our {
	font-family: 'Montserrat', sans-serif;
}

.title_our {
	padding-top: 8%;
	font-size: 55px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 0%;
	line-height: 1;
	/* 行の高さを最小限にする */
}

.titlebottom_our {
	text-align: center;
	margin-top: 0%;
	color: #004fff;
	/* 青色に設定 */
	font-family: 'Sans JP', sans-serif;
	position: relative;
	/* 疑似要素の基準位置 */
	display: inline-block;
	/* テキストの長さに合わせる */
	padding-left: 50px;
	/* 下線が伸びる余白 */
}

.titlebottom_our::before {
	text-align: center;
	content: "";
	/* 疑似要素 */
	position: absolute;
	left: -100;
	bottom: 0.2em;
	/* 文字の下に配置 */
	width: 250px;
	/* 左に伸ばす線の長さ（調整可能） */
	height: 0.5px;
	/* 下線の太さ */
	background-color: #004fff;
	/* 下線の色（青など） */
}

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');

.history_wrapper {
	text-align: center;
}

.history_wrapper {
	text-align: center;
	/* 画面中央に配置 */
}

.title_history {
	font-family: 'Montserrat', sans-serif;
}

.title_history {
	padding-top: 8%;
	font-size: 55px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 0%;
	line-height: 1;
	/* 行の高さを最小限にする */
}

.titlebottom_history {
	text-align: center;
	margin-top: 0%;
	color: #004fff;
	/* 青色に設定 */
	font-family: 'Sans JP', sans-serif;
	position: relative;
	/* 疑似要素の基準位置 */
	display: inline-block;
	/* テキストの長さに合わせる */
	padding-left: 50px;
	/* 下線が伸びる余白 */
}

.titlebottom_history::before {
	text-align: center;
	content: "";
	/* 疑似要素 */
	position: absolute;
	left: -250;
	bottom: 0.2em;
	/* 文字の下に配置 */
	width: 350px;
	/* 左に伸ばす線の長さ（調整可能） */
	height: 1px;
	/* 下線の太さ */
	background-color: #004fff;
	/* 下線の色（青など） */
}

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');

.access_wrapper {
	text-align: center;
}

.access_wrapper {
	text-align: center;
	/* 画面中央に配置 */
}

.title_access {
	font-family: 'Montserrat', sans-serif;
}

.title_access {
	padding-top: 8%;
	font-size: 55px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 0%;
	line-height: 1;
	/* 行の高さを最小限にする */
}

.titlebottom_access {
	text-align: center;
	margin-top: 0%;
	color: #004fff;
	/* 青色に設定 */
	font-family: 'Sans JP', sans-serif;
	position: relative;
	/* 疑似要素の基準位置 */
	display: inline-block;
	/* テキストの長さに合わせる */
	padding-left: 50px;
	/* 下線が伸びる余白 */
}

.titlebottom_access::before {
	text-align: center;
	content: "";
	/* 疑似要素 */
	position: absolute;
	left: -250;
	bottom: 0.2em;
	/* 文字の下に配置 */
	width: 350px;
	/* 左に伸ばす線の長さ（調整可能） */
	height: 1px;
	/* 下線の太さ */
	background-color: #004fff;
	/* 下線の色（青など） */
}

.our-container {
	/* text-align: center; /* 画像とテキストを中央揃え */
	padding-top: 5%;
	*/ flex-direction: column;
	/* 縦方向に配置 */
	align-items: center;
	/* 水平方向の中央揃え */
	justify-content: center;
	/* 垂直方向の中央揃え（必要なら） */
	height: auto;
	/* 必要に応じて調整 */

}

.our-container img {
	display: block;
	/* インライン要素の画像をブロック要素に */
	margin: 0 auto;
	/* 画像を中央揃え */
}

.aboutusline {
	margin-top: 0;
	text-align: center;
}

.messeageline {
	position: relative;
	/* 疑似要素の基準位置 */
	display: inline-block;
	/* テキストの長さに合わせる */
	padding-left: 50px;
	/* 下線が伸びる余白 */
}

.messeageline::before {
	content: "";
	/* 疑似要素 */
	position: absolute;
	left: -80;
	bottom: 0.2em;
	/* 文字の下に配置 */
	width: 220px;
	/* 左に伸ばす線の長さ（調整可能） */
	height: 2px;
	/* 下線の太さ */
	background-color: #004fff;
	/* 下線の色（青など） */
}

.our-container {
	text-align: center;
	padding-top: 5%;
}

.aboutusline {
	position: relative;
	/* 疑似要素の基準位置 */
	display: inline-block;
	/* テキストの長さに合わせる */
	padding-left: 50px;
	/* 下線が伸びる余白 */
}

.aboutusline::before {
	content: "";
	/* 疑似要素 */
	position: absolute;
	left: -80;
	bottom: 0.2em;
	/* 文字の下に配置 */
	width: 280px;
	/* 左に伸ばす線の長さ（調整可能） */
	height: 2px;
	/* 下線の太さ */
	background-color: #004fff;
	/* 下線の色（青など） */
}

/* /* .aboutusline {
	color: #004fff;
	position: relative;
	display: inline-block; /* テキストの長さに合わせる */
padding-left: 40px;
/* 下線を伸ばす余白 */
}

*/ */
/* .aboutusline::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0.2em; /* 文字の下に調整 */
width: 30px;
/* 左に伸ばす線の長さ */
height: 2px;
/* 下線の太さ */
background-color: #004fff;
/* 下線の色 */
}

*/

/* .aboutusline ::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 40%;
    height: 3px;
    background: linear-gradient(to right, #81041A 40%, #81041A 40%, #e6e6e6 40%, #e6e6e6 60%);
} */
.accessleft {
	color: #000;
}

.table-left {
	border-bottom: 2px solid #004fff;
	padding: 1% 2%;
}

.table-right {
	border-bottom: 1px solid #004fff;
	padding: 1% 2%;
}

.table-margin {
	text-align: center;
	width: 50%;
	margin: auto;
}

.our {
	display: flex;
	justify-content: center;
	/* 水平方向に中央揃え */
	padding-top: 5%;
	align-items: center;
}

.message-wrapper {
	display: flex;
	justify-content: center;
	/* 水平方向に中央揃え */
	align-items: center;

}

.message {
	width: 70%;
	margin: auto;
}

.daihyouaisatu {
	padding-bottom: 5%;
	padding-top: 5%;
}

.message-container {
	position: relative;
	padding-bottom: 40px;
	/* 下の余白を確保 */
	padding-top: 5%;
}

.right-bottom {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 40%;
}

.history {

	justify-content: center;
	/* 水平方向に中央揃え */
	padding-top: 5%;
	align-items: center;
}

/* 小川　ここから事業案内 */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');

.business_wrapper {
	text-align: center;
}

.title_business {
	font-family: 'Montserrat', sans-serif;
}

.title_business {
	padding-top: 8%;
	font-size: 55px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 0%;
	line-height: 1;
	/* 行の高さを最小限にする */
}

.titlebottom_business {
	text-align: center;
	margin-top: 0%;
	color: #004fff;
	/* 青色に設定 */

	font-family: 'Sans JP', sans-serif;
}

.titlebottom_business {
	position: relative;
	/* 疑似要素の基準位置 */
	display: inline-block;
	/* テキストの長さに合わせる */
	padding-left: 50px;
	/* 下線が伸びる余白 */
}

.titlebottom_business::before {
	content: "";
	/* 疑似要素 */
	position: absolute;
	left: -160;
	bottom: 0.2em;
	/* 文字の下に配置 */
	width: 290px;
	/* 左に伸ばす線の長さ（調整可能） */
	height: 0.5px;
	/* 下線の太さ */
	background-color: #004fff;
	/* 下線の色（青など） */
}

.workimage {
	padding-top: 5%;
	padding-bottom: 5%;
	padding-right: 3%;
	padding-left: 3%;
}

.workimage1 {
	display: flex;
	gap: 2%;
}

.workimage2 {
	padding-top: 2%;
	display: flex;
	gap: 2%;
}

.businesswrap {
	display: flex;
	padding-top: 5%;
	padding-left: 15%;
	padding-right: 10%;
	gap: 5%;
}

.businesswrap_img {
	/* padding-right: 3%; */
}

.big-title {
	font-weight: bold;
	padding-top: 3%;
}

.businesstext16 {
	/* font-size: 16px; */
	padding-top: 3%;
	font-weight: bold;
}

.workimage_main {
	display: flex;
	justify-content: center;
	/* 水平方向に中央寄せ */
	align-items: center;
	/* 垂直方向も中央寄せ（必要なら） */
	text-align: center;
	/* インライン要素（img）を中央揃え */
	padding-top: 10%;
}

.workimage_main img {
	width: 70%;
	/* 画像を小さく（50%のサイズ） */

	height: auto;
	/* 縦横比を維持 */
}

.itemswrap {
	padding-top: 10%;
	display: flex;
	padding-left: 15%;
	padding-right: 10%;
	gap: 5%;
}

.itembig-title {
	font-weight: bold;
	color: black;
	/* 文字色を黒 */
	display: inline-block;
	/* 下線の幅をテキストに合わせる */
	position: relative;
	/* 疑似要素の基準位置 */
}

.itembig-title::after {
	content: "";
	/* 疑似要素を作る */
	position: absolute;
	left: 0;
	bottom: -2px;
	/* 文字の下に配置 */
	width: 100%;
	/* 下線の幅をタイトルと同じに */
	height: 1px;
	/* 下線の太さ */
	background-color: #004fff;
	/* 下線の色（青） */
}

.itembig-title {
	margin-top: 20px;
	/* 上の隙間を20px空ける */
}


/* 可児追加分　レスポ化対応 */
.bg-blue {
	background-color: #004a9b;
}

.w-50-ex {
	width: 50%;
}

.right {
	text-align: right;
	margin: 25px auto;
}

.table-bottom {
	text-align: center;
	width: 80%;
	border-collapse: separate;
	border-spacing: 20px 0;
}

.table-margin {
	border-collapse: separate;
	border-spacing: 20px 0;
}

.w-20 {
	width: 20%;
}

@media only screen and (min-width: 769px) {
	.sp {
		display: none;
	}
}

@media only screen and (max-width: 1000px) {
	.column-1000 {
		flex-direction: column;
	}

	.w-50-ex {
		width: 100%;
		
	}
	
}

@media only screen and (max-width: 500px) {
	
	.w-50-ex {
        width: 100%;
        max-height: 180px; /* 画像が大きすぎる場合は高さをさらに制限 */
        height: auto;
        object-fit: contain;
		margin-bottom: 20px; /* フッターとの間隔を確保 */
    }

	.w-50-ex iframe {
		height: 100% !important;
	}

	.sp-40 {
		font-size: 40px;
	}
}
@media only screen and (max-width: 1000px) {
    .adress {
        margin: 0;
		width: 100%;
    }
}



@media only screen and (max-width: 1000px) and (min-width: 769px) {
	.table-margin {
		width: 80%;
	}
}

@media only screen and (max-width: 768px) {
	.sp-column {
		flex-direction: column;
	}

	.sp-column-re {
		flex-direction: column-reverse;
	}

	.sp-flex {
		display: flex;
	}

	.w-50 {
		width: 100% !important;
	}

	.pc {
		display: none;
	}

	.footer-menu {
		width: 100% !important;
	}

	.footer-menu li {
		margin: 10px;
		padding: 4px 0;
	}

	.w-20 {
		width: 100%;
	}

	.businesswrap_img {
		text-align: center;
	}
}

@media only screen and (max-width: 768px) and (min-width: 561px) {
	.table-margin {
		width: 80%;
	}

	.table-left,
	.table-right {
		padding: 2% 4%;
	}

	p {
		font-size: 18px;
	}

	h2 {
		font-size: 28px;
	}
}

@media only screen and (max-width: 560px) {

	.table-margin,
	.table-bottom {
		width: 90%;
	}

	.table-left,
	.table-right {
		padding: 20px 10px;
	}

	p {
		font-size: 16px;
	}

	h2 {
		font-size: 24px;
	}
}

@media (max-width: 560px) {
	.recuruit {
		flex-direction: column;
		/* 縦並びに変更 */
		align-items: center;
		/* 中央寄せ（必要なら） */
		gap: 20px;
		/* 縦の余白を調整 */
	}
}

@media (max-width: 560px) {
	.recuruit img {
		width: 80%;
		/* スマホでは少し大きめに */

	}
}

.left {
	text-align: left;
}

.container {
	width: 80%;
	margin: 3% auto;
}

.policy-scrollable {
	overflow-y: scroll;
	height: 240px;
	background-color: rgba(252, 252, 252, 0.3);
	border: 2px solid #004fff;
	color: #000 !important;
}

.font16 {
	font-size: 16px;
}

.required-srt {
	color: #FF0000;
	border-radius: 5px;
	white-space: nowrap;
	margin-right: 10px;
	padding: 0 2px;
}

/* .optional-srt {
	background-color: #0083D9;
	border-radius: 5px;
	white-space: nowrap;
	margin-right: 10px;
	padding: 0 2px;
} */
.vertical-top {
	vertical-align: top;
}

.bg-form {
	
}

.border-form {
	
}

.btn-flat-border {
	border: none;
	background-color: #004fff;
	color: #FFFFFF;
	padding: 1% 3%;
}

.wpcf7-form {
	width: 100%;
	margin: auto;
}

.cform {
	width: 100%;
}

.border-form input {
	width: 60%;
	border: none;
	background-color: #FFFFFF;
}

.border-form textarea {
	width: 100%;
	border: none;
	background-color: #FFFFFF;
}

.bg-form p {
	width: 60%;
	margin: 0 auto;
	font-size: 16px;
	white-space: nowrap;
}

.border-form p {
	margin: 0;
	font-size: 16px;
}

.bg-form,.border-form {
	padding: 1% 2%;
}

.sending-button {
	text-align: center;
	margin-top: 3%;
}

.btn-confirm-page {
	transform: translateY(-150px);
}



.wpcf7-spinner {
	display: none;
}

.w-20-extra {
	width: 20%;
}

@media only screen and (min-width: 769px) {
	.trigger-point {
		display: none;
	}
}

@media only screen and (max-width: 768px) {
	.sp-none {
		display: none;
	}

	.cform tr {
		display: flex;
		flex-direction: column;
	}

	.bg-form p {
		text-align: center;
	}

	.border-form input {
		width: 100%;
	}	
}

.w-80 {
	width: 80%;
	margin: 3% auto;
}

.font24 {
	font-size: 24px;
}

.bold {
	font-weight: bold;
}

.border-bottom-own {
	position: relative;
}

.border-bottom-own::after {
	position: absolute;
	content: '';
	background-color: #004fff;
	width: 20%;
	height: 1px;
	top: 50px;
	left: 0;
}

.red-circle-be {
	background-color: #a5261a;
	color: #FFFFFF;
	border-radius: 10px;
	font-size: 14px;
	padding: 1px 10px;
}

.font30 {
	font-size: 30px;
}

.m-t-30 {
	margin-top: 50px;
}

@media only screen and (max-width: 768px) and (min-width: 561px) {
	.cform {
		width: 90%;
		margin: auto;
	}

	.w-80 {
		width: 90%;
	}

	.font24 {
		font-size: 20px;
	}

	.border-bottom-own::after {
		top: 40px;
		width: 30%;
	}

	.font30 {
		font-size: 24px;
	}

	.container {
		width: 90%;
	}

	.table-bottom tbody {
		width: 100%;
	}
}

@media only screen and (max-width: 560px) {
	.sm-border {
		border-bottom: 1px solid #e6e6e6;
		padding: 5%;
	}

	.bg-form,.border-form {
		width: 100%;
	}

	.cform {
		width: 95%;
		margin: auto;
	}

	.btn-flat-border {
		width: 150px;
	}

	.sm-w-100 {
		width: 100%;
	}

	.w-80 {
		width: 95%;
	}

	.font24 {
		font-size: 18px;
	}

	.border-bottom-own::after {
		top: 40px;
		width: 40%;
	}

	.font30 {
		font-size: 20px;
	}

	.container {
		width: 95%;
	}
	
	.table-bottom tbody {
		width: 100%;
	}
}

@media only screen and (max-width: 419px) {
	.border-bottom-own::after {
		top: 70px;
	}
}

@media only screen and (max-width: 380px) {
	.font-vw-7 {
		font-size: 7.36vw;
	}

	.font-vw-4 {
		font-size: 4.73vw;
	}
}