@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Roboto:100,100i,300i,500i&display=swap');
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}

html {
	font-size: 62.5%;
}

body, table, input, textarea, select, option {
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
	max-width: 100%;
}

a,
a:link {
	color: #231815;
	text-decoration: none;
}

a:visited {
	color: #231815;
}

a:hover {
	color: #231815;
}

a:active {
	color: #231815;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1100px;
	color: #231815;
	font-size: 1.4rem;
	line-height: 1.75;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #f7f5f6;
}

#container {
	text-align: left;
}

#main {
}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

@media all and (min-width: 768px) {
	.sp {
		display: none !important;
	}
}

@media all and (max-width: 767px) {
	body {
		min-width: inherit;
		font-size: 1.2rem;
	}

	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	
	.pc {
		display: none !important;
	}
	
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	/*background-color: #084033;*/
	background-color: #FFF;
	/*background: url("img/common/back1.jpg") repeat top;*/
}

#gHeader .topBox {
	padding: 4px 5px 4px;
	background-color: #084033;
}

#gHeader .topBox ul {
	margin: 0 auto;
	display: flex;
	width: 964px;
	justify-content: flex-end;
	line-height: 1;
	align-items: center;
}

#gHeader .topBox ul li {
	margin-right: 34px;
}

#gHeader .topBox ul li img {
	margin-left: 5px;
}

#gHeader .topBox ul li:last-child {
	margin-right: 0;
}

#gHeader .topBox ul li a {
	color: #FFF;
	font-size: 1.3rem;
}

#gHeader .headerBox {
	padding: 8px 0 4px;
	margin: 0 auto;
	width: 1040px;
	display: flex;
	justify-content: space-between;
}

#gHeader .headerBox h1 {
	width: 131px;
}

@media all and (min-width: 768px) {
	#gHeader .topBox ul li a:hover {
		text-decoration: underline;
	}
}

@media all and (max-width: 767px) {
	#gHeader .topBox {
		padding: 5px;
	}

	#gHeader .topBox ul {
		width: 100%;
	}

	#gHeader .topBox ul li {
		margin-right: 20px;
	}

	#gHeader .topBox ul li:last-child {
		margin-right: 0;
	}

	#gHeader .topBox ul li a {
		font-size: 1rem;
	}

	#gHeader .headerBox {
		position: relative;
		padding: 10px;
		width: auto;
		display: block;
	}

	#gHeader .headerBox h1 {
		width: 80px;
	}
	
	#gHeader .headerBox .menu {
		margin-top: -12px;
		position: absolute;
		right: 10px;
		top: 50%;
		width: 30px;
		height: 24px;
		cursor: pointer;
	}
	
	#gHeader .headerBox .menu span {
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		top: calc(50% - 1px);
		height: 2px;
		background-color: #000;
		transition: all .3s;
	}
	
	#gHeader .headerBox .menu span:first-child {
		top: 0;
	}
	
	#gHeader .headerBox .menu span:last-child {
		top: calc(100% - 2px);
	}
	
	#gHeader .headerBox .menu.on span {
		opacity: 0;
		top: calc(50% - 1px) !important;
	}
	
	#gHeader .headerBox .menu.on span:first-child {
		opacity: 1;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
		
	}
	
	#gHeader .headerBox .menu.on span:last-child {
		opacity: 1;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
		
	}
}



/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi ul {
	margin: 5px 0 0;
	display: flex;
	justify-content:center;
	line-height: 1;
}

#gNavi li {
	position: relative;
	width: 221px;
	text-align: center;
	border-left: 1px solid #80af9b;
}

#gNavi li:first-child {
	width: 180px;
	border-left: none;
}

#gNavi li a {
	padding: 2px 5px 4px;
	font-size: 1.6rem;
	color: #084033;
	display: inline-block;
	letter-spacing: 1px;
	font-weight: bold;
}

#gNavi li a:hover {
	opacity: 0.7;
}

#gNavi li a span {
	margin-top: 5px;
	font-size: 1.2rem;
	font-family: 'Roboto', sans-serif;
	font-weight: 100;
	letter-spacing: 0;
	display: block;
	color: #A6B69E;
	font-weight: bold;
}

#gNavi li ul {
	margin: 0 0 0 -90px;
	display: none;
	padding-top: 14px;
	position: absolute;
	top: 100%;
	left: 50%;
	width: 180px;
	z-index: 50;
}

#gNavi li ul li {
	position: relative;
	width: auto !important;
	border: none;
	display: block;
	border-bottom: 1px dotted #FFF;
	background-color: rgba(0,0,0,0.5);
}

#gNavi li ul li:first-child:before {
	margin-left: -8px;
	position: absolute;
	bottom: 100%;
	left: 50%;
	border: 8px solid transparent;
	border-bottom-color: rgba(0,0,0,0.5);
	content: "";
}

#gNavi li ul li:last-child {
	border-bottom: none;
}

#gNavi li ul li a {
	padding: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

@media all and (-ms-high-contrast:none) {
	#gNavi li ul li a {
		padding: 15px 8px 0px;
	}
}

@media all and (min-width: 768px) {
	#gNavi {
		display: block !important;
	}
}

@media all and (max-width: 767px) {
	#gNavi {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: none;
		background-color: rgba(0,98,57,0.9);
		z-index: 100;
	}
	
	#gNavi ul {
		margin: 0;
		display: block;
	}

	#gNavi li {
		position: relative;
		width: auto;
		border-left: none;
		border-top: 1px solid #80af9b;
	}

	#gNavi li:first-child {
		width: auto;
/*		border: none;*/
	}

	#gNavi li a {
		padding: 10px;
		font-size: 1.4rem;
		display: block;
		color: #fff;
	}

	#gNavi li a span {
		font-size: 1rem;
	}
	
	#gNavi li .slide {
		position: absolute;
		right: 10px;
		top: 15px;
		display: block;
		width: 20px;
		height: 20px;
		cursor: pointer;
	}
	
	#gNavi li .slide:before,
	#gNavi li .slide:after {
		margin-top: -1px;
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		height: 2px;
		background-color: #FFF;
		content: "";
		transition: all .3s;
	}
	
	#gNavi li .slide:before {
		-webkit-transform: rotate(90deg);
		-moz-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	
	#gNavi li .slide.on:before {
		-webkit-transform: rotate(0);
		-moz-transform: rotate(0);
		-ms-transform: rotate(0);
		-o-transform: rotate(0);
		transform: rotate(0);
	}
	
	#gNavi li ul {
		margin: 0;
		display: none;
		padding-top: 0;
		position: relative;
		top: auto;
		left: auto;
		width: auto;
	}

	#gNavi li ul li {
		border-bottom: 1px dotted #FFF !important;
	}

	#gNavi li ul li:first-child:before {
		display: none;
	}

	#gNavi li ul li:last-child {
		border-bottom: none !important;
	}

	#gNavi li ul li a {
		padding: 8px;
	}
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 22px 10px 11px;
	/*background-color: #084033;*/
	background-color: #084033;
	/*background: url("img/common/back1.jpg") repeat top;*/
}

#gFooter .footerinner {
	margin: 0 auto;
	width: 960px;
	position: relative;
}

#gFooter .ttl {
	padding-bottom: 3px;
	position: absolute;
	left: 4px;
	top: -2px;
	color: #FFF;
	font-size: 2.2rem;
	font-family: 'Roboto', sans-serif;
	font-weight: 100;
	line-height: 1;
	letter-spacing: 2.2px;
	font-style: italic;
	border-bottom: 2px dotted #FFF;
}

#gFooter .fNavi {
	padding: 0 20px 15px 150px;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}@media screen and (max-width: 767px) {
	#gFooter .fNavi {
		max-width: inherit;
	}
}

#gFooter .fNavi li {
	margin: 7px 20px 0;
	color: #FFF;
	font-size: 1.3rem;
	font-weight: bold;
/*	min-width: 150px;*/
}

#gFooter .fNavi li.long {
/*	min-width: 340px;*/
}

#gFooter .fNavi li span {
	font-weight: 500;
}

#gFooter .fNavi li a {
	color: #FFF;
}

#gFooter .f_bn01 {
	margin-right: 69px;
	text-align: center;
}@media screen and (max-width: 767px) {
	#gFooter .f_bn01 {
		margin: 0 auto 10px;
		text-align: center;
	}
}

#gFooter .flexbox {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #83a09b;
	margin-bottom: 11px;
	padding-bottom: 20px;
	flex-wrap: wrap;
}


#gFooter .btmBox {
	margin-bottom: 15px;
}

#gFooter .btmBox:after {
	content: "";
}

#gFooter .btmBox .logo {
	float: left;
	margin: 4px 26px 0 13px;
}

#gFooter .btmBox .logo a img {
	height: 33px;
	width: auto;
}

#gFooter .btmBox .address {
	float: left;
	font-weight: 700;
	color: #FFF;
	line-height: 1.5;
}

#gFooter .btmBox .address a {
	display: inline-block;
	margin-right: 30px;
	color: #FFF;
}

#gFooter .copyright {
	text-align: center;
	font-size: 1.2rem;
	font-weight: 700;
	color: #FFF;
	line-height: 1;
	letter-spacing: 1.96px;
}

.no-link {
	text-decoration: none !important;
}

@media all and (min-width: 768px) {
	#gFooter .fNavi li a:hover {
		text-decoration: underline;
	}
}

@media all and (max-width: 767px) {
	#gFooter {
		padding: 10px;
	}

	#gFooter .footerinner {
		width: auto;
	}

	#gFooter .ttl {
		display: inline-block;
		padding-bottom: 3px;
		position: relative;
		left: auto;
		top: auto;
		font-size: 2rem;
		letter-spacing: 2px;
	}

	#gFooter .fNavi {
		padding: 0 0 20px;
		margin-bottom: 20px;
	}

	#gFooter .fNavi li {
		margin: 10px 10px 0;
		font-size: 1.2rem;
	}

	#gFooter .btmBox .logo {
		float: none;
		margin: 0 10px;
		text-align: center;
	}

	#gFooter .btmBox .logo a img {
		height: 25px;
	}

	#gFooter .btmBox .address {
		float: none;
		text-align: center;
	}

	#gFooter .btmBox .copyright {
		margin: 15px 0 0;
		float: none;
		font-size: 1rem;
		text-align: center;
		letter-spacing: 0;
	}
}

#gFooter .f_sns {
	position: absolute;
	bottom: 10px;
	right: 0;
	display: flex;
	justify-content: space-around;
	width: 80px;
}@media all and (max-width: 769px) {
	#gFooter .f_sns {
		position: static;
		text-align: center;
		margin: 15px auto;
	}
}


/*------------------------------------------------------------
	書式設定
------------------------------------------------------------*/
/* テキストの位置 */
.taLeft { text-align: left !important; }
.taCenter { text-align: center !important; }
.taRight { text-align: right !important; }

/* フォントの太さ */
.fwNormal { font-weight: normal !important; }
.fwBold { font-weight: bold !important; }

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
	* html .clearfix {
		zoom: 1;
	}

	*+html .clearfix {
		zoom: 1;
	}

.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.comBox {
	margin: 0 auto;
	width: 1080px;
}

@media all and (max-width: 768px) {
	.comBox {
		margin: 0 15px;
		width: auto !important;
	}
}

/*------------------------------------------------------------
	headline01
------------------------------------------------------------*/

.headLine01 {
	margin-bottom: 35px;
	padding: 4px 10px 15px;
	text-align: center;
	background-color: #f8f2e4;
	font-size: 2.8rem;
	letter-spacing: 2.24px;
	color: #666;
}

.headLine01 span {
	padding-top: 5px;
	display: block;
	position: relative;
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	line-height: 1;
	font-size: 1.9rem;
	font-style: italic;
	letter-spacing: 2.28px;
	color: #006239;	
}

.headLine01 span:before {
	margin-left: -51px;
	position: absolute;
	top: -3px;
	left: 50%;
	width: 102px;
	height: 1px;
	background-color: #006138;
	content: "";
}

@media all and (max-width: 768px) {
	.headLine01 {
		margin-bottom: 25px;
		padding: 5px 0 10px;
		font-size: 2.4rem;
	}

	.headLine01 span {
		font-size: 1.6rem;
	}

	.headLine01 span:before {
		margin-left: -25px;
		width: 50px;
	}
}

/*------------------------------------------------------------
	combgTxt
------------------------------------------------------------*/

.combgTxt {
	position: relative;
	z-index: 50;
}

.combgTxt.red {
	color: #EA5520;
}

.combgTxt:after {
	position: absolute;
	bottom: 3px;
	left: 0;
	right: 0;
	height: 6px;
	background-color: #fff438;
	content: "";
	z-index: -1;
}

.combgTxt.green:after {
	background-color: #C1DA97;
}

.combgTxt2 {
	position: relative;
	z-index: 50;
	font-weight: bold;
}

.combgTxt2.red {
	color: #EA5520;
}

@media all and (max-width: 768px) {
	.combgTxt:after {
		height: 4px;
	}
}

/*------------------------------------------------------------
	headline02
------------------------------------------------------------*/
.headline02 {
	margin-bottom: 16px;
	font-size: 2.9rem;
	text-align: center;
}

.headline02 span {
	display: inline-block;
	line-height: 1.15;
	background: url(img/common/line.jpg) repeat-x left bottom;
}

@media all and (max-width: 768px) {
	.headline02 {
		margin-bottom: 10px;
		font-size: 2.5rem;
		line-height: 1.2;
	}

	.headline02 span {
		display: inline;
		background-size: auto 6px;
	}
}


/*------------------------------------------------------------
	comTableBox
------------------------------------------------------------*/
select::-ms-expand { display: none; }	

input,
select,
textarea {
	padding: 5px;
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid #bfbfbf;
	background-color: #FFF;
	width: 100%;
	height: 29px;
	font-size: 1.4rem;
	letter-spacing: 1.96px;
	box-sizing: border-box;
	border-radius: 0;
}

.comTableBox {
	margin: 0 auto;
	width: 658px;
}

.comTableBox table {
	width: 100%;
}

.comTableBox table th,
.comTableBox table td {
	text-align: left;
}

.comTableBox table th {
	position: relative;
	padding: 6px 9px 0;
	letter-spacing: 1.12px;
	vertical-align: top;
}

.comTableBox table td {
	padding-bottom: 12px;
	width: 488px;
	font-weight: 700;
	vertical-align: top;
}

.comTableBox table td span {
	margin-bottom: 15px;
	padding: 0 5px;
	display: block;
}

.wid01 {
	margin: 0 10px;
	width: 97px;
}

.wid02 {
	width: 129px;
}

select {
	margin-bottom: 14px;
	line-height: 1;
	background: #FFF url("img/common/select_bg.png") right center no-repeat;
	background-size: 23px auto;
}

input[type="radio"],
input[type="checkbox"] {
	display: none;
}
input[type="radio"] + label,
input[type="checkbox"] + label {
	position: relative;
	display: block;
	padding: 5px 0 5px 40px;
	letter-spacing: 1.96px;
	font-weight: 500;
	cursor: pointer;
}
input[type="radio"] + label:before,
input[type="checkbox"] + label:before {
	margin-top: -14px;
	position: absolute;
	left: 0;
	top: 50%;
	width: 27px;
	height: 27px;
	content: "";
	border: 1px solid #bfbfbf;
	background-color: #FFF;
}

input[type="radio"]:checked + label:after,
input[type="checkbox"]:checked + label:after {
	margin-top: -9px;
	position: absolute;
	left: 5px;
	top: 50%;
	width: 19px;
	height: 19px;
	content: "";
	background-color: #bfbfbf;
	border-radius: 3px;
}

textarea {
	height: 121px;
}

.submitList {
	display: flex;
	justify-content: center;
}

.submitList li {
	margin: 0 10px;
}

.submitList input {
	padding: 0;
	display: flex;
	width: 210px;
	height: 35px;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 5.7px;
	color: #006239;
	border: 3px solid #006138;
	cursor: pointer;
}

.comTableBox .must {
	position: absolute;
	right: 42px;
	top: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 15px;
	font-weight: 700;
	font-size: 1.3rem;
	line-height: 1;
	color: #FFF;
	letter-spacing: 1.82px;
	background-color: #E55927;
}

@media all and (min-width: 768px) {
	.submitList input:hover {
		opacity: 0.7;
	}
}

@media all and (max-width: 768px) {
	select::-ms-expand { display: none; }	

	input,
	select,
	textarea {
		height: 25px;
		font-size: 1.2rem;
	}

	.comTableBox {
		width: auto;
	}
	
	.comTableBox table th,
	.comTableBox table td {
		display: block;
		width: 100%;
	}

	.comTableBox table th {
		padding: 5px;
	}

	.comTableBox table td {
		padding-bottom: 5px;
	}

	.comTableBox table td span {
		margin-bottom: 10px;
	}

	.wid01 {
		margin: 0 5px;
		width: 25%;
	}

	.wid02 {
		width: 28%;
	}

	select {
		margin-bottom: 10px;
		background-size: 20px auto;
	}
	
	select.wid02 {
		width: 50%;
	}

	textarea {
		height: 70px;
	}

	.submitList {
		flex-wrap: wrap;
	}

	.submitList li {
		margin: 0 0 10px;
		width: 100%;
	}

	.submitList input {
		margin: 0 auto;
		width: 200px;
		height: 30px;
		font-size: 1.3rem;
		letter-spacing: 2px;
	}
	
	.comTableBox .must {
		margin: 0 15px;
		position: relative;
		right: auto;
		top: auto;
		display: inline-flex;
	}
}

/*------------------------------------------------------------
	headline03
------------------------------------------------------------*/
.headline03 {
	margin-bottom: 16px;
	text-align: center;
	font-weight: 700;
	letter-spacing: -1.96px;
	color: #F2A0A3;
	line-height: 1.4;
}

.headline03.blue {
	color: #4486C1;
}

.headline03.origin {
	color: #ED8E00;
}

.headline03.green {
	color: #3EAC4A;
}

.headline03.brown {
	color: #A58147;
}

.headline03 span {
	margin: 0 auto;
	width: 53px;
	display: block;
}

.headline04 {
	margin-bottom: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 32px;
	text-align: center;
	font-size: 2rem;
	color: #FFF;
	letter-spacing: 1px;
	background-color: #F2A0A3;
}

.headline04.blue {
	background-color: #4287c0;
}

.headline04.origin {
	background-color: #ee8f01;
}

.headline04.green {
	background-color: #36ac4b;
}

.headline04.brown {
	background-color: #A58147;
}

/*------------------------------------------------------------
	comImgBox
------------------------------------------------------------*/
.comImgBox {
	margin-bottom: 23px;
	display: flex;
	justify-content: space-between;
}

.comImgBox .photoBox {
	width: 385px;
}

.comImgBox .photoBox .topPhoto {
	margin-bottom: 8px;
	height: 212px;
	background-color: #FFF;
}


.comImgBox .photoBox .topPhoto img {
	margin: 0 auto;
	height: 100%;
	width: auto;
	max-height: 213px;
}

.comImgBox .photoBox .topPhoto li {
	text-align: center;
	width: 100%;
	height: 100%;
}

.comImgBox .photoBox .naviPhoto li {
	margin-right: 5px;
	width: 92px !important;
	float: left;
	display: flex !important;
	align-items: center;
	cursor: pointer;
	background-color: #FFF;
}

.comImgBox .photoBox .naviPhoto li:last-child {
	margin-right: 0;
}

.comImgBox .photoBox .naviPhoto li img {
	max-width: 92px;
}

.comImgBox .textBox {
	width: 590px;
}

.comImgBox .textBox table {
	width: 100%;
	height: 100%;
	border-collapse: collapse;
}

.comImgBox .textBox table th,
.comImgBox .textBox table td {
	padding: 3px 0 3px 10px;
	height: 50px;
	letter-spacing: 0.7px;
	font-weight: 700;
	text-align: left;
	align-items: center;
	background-color: #FFF;
	box-sizing: border-box;
	border-bottom: 5px solid #f1f0ec;
}

.comImgBox .textBox table tr:last-child th,
.comImgBox .textBox table tr:last-child td {
	border-bottom: none;
}

.comImgBox .textBox table td {
	color: #4d4d4d;
}

.comImgBox .textBox table td:last-child {
	width: 145px;
}

.comImgBox .textBox table th {
	width: 140px;
}

.comImgBox .textBox table th .bg {
	padding: 5px 0 5px 10px;
	position: relative;
	z-index: 50;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 100%;
	color: #FFF;
	background-color: #7f7f81;
	box-sizing: border-box;
}

@media all and (min-width: 768px) {
	.comImgBox .photoBox .naviPhoto li:hover {
		opacity: 0.7;
	}
}

@media all and (max-width: 767px) {
	.comImgBox {
		margin-bottom: 20px;
		flex-wrap: wrap;
	}

	.comImgBox .photoBox {
		margin-bottom: 20px;
		width: 100%;
	}

	.comImgBox .photoBox .topPhoto {
		margin: 0 0 10px;
		height: 50vw;
		overflow: hidden;
	}
	
	.comImgBox .photoBox .topPhoto img {
		max-height: 52vw;
	}
	
	.comImgBox .photoBox .naviPhoto {
		margin: 0 -5px;
	}

	.comImgBox .photoBox .naviPhoto li {
		margin: 0 5px;
		display: block !important;
		width: auto !important;
	}
	
	.comImgBox .photoBox .naviPhoto li:last-child {
		margin: 0 5px;
	}

	.comImgBox .textBox {
		width: 100%;
	}

	.comImgBox .textBox table th,
	.comImgBox .textBox table td {
		padding: 3px;
		height: 50px;
	}

	.comImgBox .textBox table td:last-child {
		width: 25%;
	}

	.comImgBox .textBox table th {
		width: 25%;
	}

	.comImgBox .textBox table th .bg {
		padding: 3px;
	}
}
/*------------------------------------------------------------
	top
------------------------------------------------------------*/
.top .mainVisual {
	position: relative;
	text-align: center;
	background-color: #FFF;
	padding-bottom: 0 !important;
}

.top .mainVisual .slick-dots {
	position: absolute;
	bottom: 10px;
	left: 0;
	right: 0;
	text-align: center;
}

.top .mainVisual .slick-dots li {
	margin: 0 5px;
	display: inline-block;
}

.top .mainVisual .slick-dots li button {
	padding: 0;
	color: transparent;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #231815;
	border: 1px solid #231815;
	overflow: hidden;
	cursor: pointer;
}

.top .mainVisual .slick-dots li.slick-active button {
	background-color: transparent;
}

.top .mainVisual li {
	text-align: center;
	margin: 0;
	padding: 0;
	padding: 0 !important;
	line-height: 0;
	vertical-align: bottom;
}

.top .mainVisual img {
	margin: 0 auto;
	width: auto;
	height: auto;
}

.top .news {
	padding: 34px 10px 25px;
	background: #f7f7f7 url("img/index/news_bg.png") no-repeat center;
	background-size: auto 100%;
}

.top .news .comBox {
	width: 820px;
	display: flex;
	justify-content: space-between;
	padding-bottom: 30px;
}

.top .news .topics {
	padding-bottom: 20px;
	margin-top: 20px;
/*	border-bottom: #808080 dotted 1px;*/
}

.top .news .topics ul {
	height: 84px;
	overflow-y: scroll;
}

.top .news h2 {
	margin: -6px 10px 0 -12px;
	font-size: 1.5rem;
	color: #7F8080;
	letter-spacing: 2.5px;
	min-width: 230px;
	text-align: center;
}

.top .news h2 span {
	
	position: relative;
	
	
	padding-top: 7px;
	display: inline-block;
	/*
	font-family: 'Roboto', sans-serif;
	font-style: italic;
	border: solid 2px #C1DA97;
	background-color: #FFF;
	padding: 5px 0;
	*/
	font-size: 2.0rem;
	font-weight: bold;
	color: #006239;
	line-height: 1;
	letter-spacing: 0;
	z-index: 100;
	white-space: nowrap;
}

.top .news h2 span.topicstitle {
	position: relative;
	font-family: 'Roboto', sans-serif;
	font-style: italic;
	font-size: 3.2rem;
	font-weight: 100;
	color: #006239;
	line-height: 1;
	letter-spacing: 0;
	z-index: 100;
}


.top .news h2 span:after {
	
	position: absolute;
	z-index: -1;
	left: 0;
	right: 0;
	bottom: 4px;
	height: 7px;
	background-color: #C1DA97;
	content: "";
}



.top .news ul {
	width: 634px;
}

#shakai {
	max-height: 138px;
	overflow-y: scroll;
}

.topics2 {
	max-height: 228px;
	overflow-y: scroll;
}

.top .news ul li {
	margin-bottom: 12px;
	padding: 0 6px 10px;
	border-bottom: 1px solid #c5c5c5;
}

.top .news ul li:last-child {
	margin-bottom: 0;
	border-bottom: none;
}

.top .news ul li a {
	display: block;
	font-weight: 700;
}

.top .news ul li a:hover {
	opacity: 0.7;
}

.top .news ul li a .ttl {
	margin-right: 15px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: #E07B29;
	font-size: 1.3rem;
	line-height: 1;
	color: #FFF;
	width: 86px;
	height: 21px;
}

.top .news ul li a .ttl.ttl01 {
	background-color: #6EAF2E;
}

.top .news ul li a .ttl2 {
	margin-right: 15px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	line-height: 1;
	width: 86px;
	height: 21px;
	vertical-align: middle;
}

.top .news ul li a .time {
	margin-right: 18px;
	color: #006239;
}

.top .business {
	padding: 22px 0 23px;
	background-color: #e5e5e5;
}

.top .business h2 {
	margin-bottom: 6px;
	text-align: center;
	font-size: 1.5rem;
	color: #7F8080;
	letter-spacing: 3px;
}

.top .business h2 span {
	display: inline-block;
	position: relative;
	font-family: 'Roboto', sans-serif;
	font-style: italic;
	font-size: 4.2rem;
	font-weight: 100;
	color: #006239;
	line-height: 1;
	letter-spacing: 0;
	z-index: 100;
}

.top .business h2 span:after {
	position: absolute;
	z-index: -1;
	left: 0;
	right: 0;
	bottom: 4px;
	height: 7px;
	background-color: #C1DA97;
	content: "";
}

.top .business ul {
	margin: 0 auto;
	width: 932px;
	display: flex;
	justify-content: center;
}

.top .business ul li {
	width: 294px;
	margin: 0 15px;
}

.top .business ul li a {
	padding: 9px 10px 35px;
	position: relative;
	display: block;
	height: 100%;
	color: #FFF;
	text-align: center;
	background: linear-gradient(to right bottom, #006138 50%, #1c4c34 50%);
	box-sizing: border-box;
}

.top .business ul li a:after {
	margin-left: -16px;
	position: absolute;
	left: 50%;
	bottom: 15px;
	width: 33px;
	height: 7px;
	background: url("img/index/business_icon04.png") center no-repeat;
	background-size: 100% auto;
	content: "";
}

.top .business ul li a:hover {
	opacity: 0.7;
}

.top .business ul li .icon {
	margin: 0 auto 1px;
	display: block;
	width: 80px;
}

.top .business ul li .ttl {
	margin-bottom: 9px;
	display: inline-block;
	font-size: 2rem;
	letter-spacing: 4px;
	font-weight: 700;
	line-height: 1.6;
	border-bottom: 3px solid #7b9a7a;
}

.top .business ul li .txt {
	display: block;
	line-height: 1.46;
}

.top .snsBox {
	padding: 41px 0 38px;
	background-color: #f7f5f6;
}

.top .snsBox a:hover {
	opacity: 0.7;
}

.top .snsBox .comBox {
	width: 966px;
}

.top .snsBox .facebook {
	float: left;
}

.top .snsBox .instagram {
	float: left;
	width: 447px;
	margin-top: -5px;
}

.top .snsBox .link {
	margin: 1px 11px 0 0;
	float: right;
	width: 447px;
}

.top .snsBox .link .topBtn {
	margin-bottom: 22px;
}

.top .snsBox .btnBox {
	padding: 18px 10px 10px;
	position: relative;
	background-color: #FFF;
	border: 1px solid #ececec;
	z-index: 50;
}

.top .snsBox .btnBox:before {
	position: absolute;
	left: 4px;
	right: 4px;
	top: 4px;
	bottom: 4px;
	border: 1px solid #ececec;
	content: "";
	z-index: -1;
}

.top .snsBox .btnBox .ttl {
	padding: 0 5px;
	position: relative;
	margin: 0 auto 24px;
	width: 240px;
	font-size: 1.4rem;
	letter-spacing: 1.68px;
	color: #7F8080;
	font-weight: 700;
	z-index: 50;
	box-sizing: border-box;
}

.top .snsBox .btnBox .ttl span {
	margin-right: 20px;
	display: inline-block;
	font-family: 'Roboto', sans-serif;
	font-style: italic;
	font-size: 3.4rem;
	font-weight: 100;
	color: #006239;
	line-height: 1;
	letter-spacing: 0;
	vertical-align: middle;
	
}

.top .snsBox .btnBox .ttl:after {
	position: absolute;
	z-index: -1;
	left: 0;
	right: 0;
	bottom: 4px;
	height: 7px;
	background-color: #C1DA97;
	content: "";
}

.top .snsBox .btnBox ul {
	display: flex;
	justify-content: space-between;
}

.top .snsBox .btnBox li {
	width: 207px;
}

.top .snsBox .btnBox li a {
	padding: 5px 15px 5px 25px;
	position: relative;
	display: block;
	height: 100%;
	color: #FFF;
	text-align: center;
	font-weight: 700;
	letter-spacing: 1.12px;
	background: #006239 url("img/index/link_icon02.png") right 5px center no-repeat;
	background-size: 25px auto;
	box-sizing: border-box;
}

.top .snsBox .btnBox li a img {
	position: absolute;
	left: 23px;
	top: 50%;
	transform: translateY(-50%);
}

.top .snsBox .btnBox li a.tel {
	padding: 7px 5px 5px 15px;
	font-family: 'Roboto', sans-serif;
	font-style: italic;
	font-weight: 500;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: 0.4px;
	color: #006239;
	background-color: #90A689;
	background-image: none;
}

@media all and (max-width: 768px) {
	.top .mainVisual li {
		position: relative;
		height: 26vh;
	}
	
	.top .mainVisual .slick-dots {
		bottom: 0;
	}
	
	.top .mainVisual .slick-dots li {
		height: auto;
	}
	
	.top .mainVisual img {
		position: absolute;
		left: 50%;
		top: 0;
		width: auto;
		max-width: inherit;
		height: 100%;
		transform: translateX(-50%);
	}
	
	.top .news {
		padding: 25px 0;
	}

	.top .news .comBox {
		width: auto;
		display: block;
		padding-bottom: 30px;
	}

	.top .news h2 {
		margin: 0 0 20px;
		display: inline-block;
		font-size: 1.4rem;
	}

	.top .news h2 span {
		font-size: 2rem;
		padding: 5px;
	}

	.top .news h2 span:after {
		z-index: -1;
		height: 5px;
	}

	.top .news ul {
		width: auto;
	}

	.top .news ul li {
		margin-bottom: 8px;
		padding: 0 5px 5px;
	}

	.top .news ul li:last-child {
		margin-bottom: 0;
	}
	
	.top .news ul li a span {
		margin-top: 5px;
		display: block;
	}

	.top .news ul li a .ttl {
		margin: 0 10px 0 0;
		font-size: 1.1rem;
		width: 70px;
		height: 20px;
	}

	.top .news ul li a .time {
		display: inline-block;
		margin: 0;
	}
	
	.top .business {
		padding: 20px 0;
	}

	.top .business h2 {
		font-size: 1.4rem;
	}

	.top .business h2 span {
		font-size: 3.2rem;
	}

	.top .business ul {
		margin: 0 auto;
		width: auto;
		max-width: 400px;
		flex-wrap: wrap;
		justify-content: center;
	}

	.top .business ul li {
		margin-bottom: 15px;
		width: 100%;
	}
	
	.top .business ul li:last-child {
		margin-bottom: 0;
	}
	
	.top .snsBox {
		padding: 30px 0;
	}

	.top .snsBox .comBox {
		width: auto;
	}

	.top .snsBox .facebook {
		margin: 0 auto;
		float: none;
		width: 250px;
	}
	
	.top .snsBox .facebook iframe {
		width: 250px;
	}
	
	.top .snsBox .instagram{
		margin: 0 auto;
		float: none;
		width: 100%;
	}
	
	.top .snsBox .link {
		margin: 0 auto 20px;
		float: none;
		width: auto;
	}

	.top .snsBox .link .topBtn {
		margin-bottom: 20px;
	}

	.top .snsBox .btnBox {
		padding: 10px;
	}

	.top .snsBox .btnBox ul {
		display: block;
	}

	.top .snsBox .btnBox li {
		margin: 0 auto 10px;
		width: 207px;
	}
	
	.top .snsBox .btnBox li a.tel {
		background-image: url("img/index/link_icon01.png");
	}
}

.topBtn .flex {
	display: flex;
	justify-content: space-between;
}@media all and (max-width: 768px) {
	.topBtn .flex {
		flex-wrap: wrap;
		justify-content: center;
		margin: 20px auto;
	}
}


/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
.contact {
	margin-bottom: 243px;
}

.contact .topTxt {
	margin: 0 0 31px 298px;
	letter-spacing: 1.96px;
}

.contact ul {
	margin-bottom: 8px;
}

@media all and (max-width: 767px) {
	.contact {
		margin-bottom: 100px;
	}

	.contact .topTxt {
		margin: 0 0 20px;
		text-align: center;
		letter-spacing: 1px;
	}
}

/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
.privacy .topTxt {
	margin: 0 auto 55px;
	width: 590px;
	letter-spacing: 1.96px;
}

.privacy .comBox {
	margin-bottom: 64px;
	width: 734px;
}

.privacy dl {
	margin-bottom: 57px;
}

.privacy dt {
	margin-bottom: 5px;
	padding-bottom: 3px;
	font-size: 2.2rem;
	letter-spacing: 2.2px;
	line-height: 1;
	font-weight: 700;
	color: #006239;
	border-bottom: 4px solid #006239;
}

.privacy dd {
	margin-bottom: 40px;
	letter-spacing: -0.16px;
}

.privacy dd:last-child {
	margin-bottom: 0;
}

.privacy .time {
	letter-spacing: 4px;
}

.privacy .name {
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 2.4px;
}

@media all and (max-width: 767px) {
	.privacy .topTxt {
		margin: 0 auto 30px;
		width: auto;
		letter-spacing: 1px;
	}

	.privacy .comBox {
		margin-bottom: 30px;
		width: auto;
	}

	.privacy dl {
		margin-bottom: 40px;
	}

	.privacy dt {
		margin-bottom: 5px;
		padding-bottom: 3px;
		font-size: 2rem;
		line-height: 1.2;
		letter-spacing: 1px;
		border-bottom: 2px solid #006239;
	}

	.privacy dd {
		margin-bottom: 20px;
	}

	.privacy dd:last-child {
		margin-bottom: 0;
	}

	.privacy .time {
		letter-spacing: 1px;
	}

	.privacy .name {
		font-size: 1.4rem;
		letter-spacing: 1px;
	}
}

/*------------------------------------------------------------
	company
------------------------------------------------------------*/
.company .headLine01 {
	margin-bottom: 0;
}
.company .topBox {
	padding: 76px 0 67px;
	background-color: #fff;
}

.company .topBox .comBox {
	margin: 0 auto;
	max-width: 672px;
	position: relative;
	z-index: 10;
}

.company .topBox p {
	text-indent: 1em;
	line-height: 1.75;
	letter-spacing: 1.96px;
}

.company .topBox p .combgTxt {
	font-weight: bold;
}

.company .companyBox .comBox {
	max-width: 1041px;
	box-sizing: border-box;
	padding-left: 56px;
	position: relative;
}

.company .companyBox .comBox:before {
	width: 644px;
	height: 117px;
	position: absolute;
	top: -161px;
	right: -101px;
	background: url(img/company/image.jpg) no-repeat left top;
	content: "";
}

.company .companyBox {
	padding: 53px 0;
}

.company .companyBox .listDl {
	width: 100%;
}

.company .companyBox .listDl dt {
	width: 120px;
	font-weight: bold;
	float: left;
	letter-spacing: 1.5px;
	text-align: center;
	font-size: 16px;
}

.company .companyBox .listDl dt .size {
	letter-spacing: 0.5px;
	display: block;
	font-size: 1.3rem;
	font-weight: normal;
}

.company .companyBox .listDl dd {
	margin-bottom: 6px;
	padding: 0 0 3px 11.1em;
	letter-spacing: 2px;
	border-bottom: 1px dashed #7F8080;
	font-size: 16px;
}

.company .companyBox .listDl dd:last-child {
	margin-bottom: 0;
	border-bottom: none;
}

.company .companyBox .listUl {
	margin: 0 0 -2px -5px;
}

.company .companyBox .listUl li {
	margin-bottom: 5px;
	padding: 0 0 2px 1.4em;
	border-bottom: 1px dashed #7F8080;
}

.company .companyBox .listUl li:last-child {
	margin-bottom: 0;
	border-bottom: none;
}

.company .companyBox .listUl02 li:last-child {
	padding-bottom: 11px;
	border-bottom: 1px dashed #7F8080;
}

.company .companyBox .comBox {
	position: relative;
}

.company .companyBox .map {
	margin-top: 14px;
	width: 408px;
	height: 408px;
	float: right;
}

.company .companyBox .map iframe {
	width: 100%;
	height: 408px;
}

@media all and (max-width: 767px) {
	.company .topBox {
		padding: 35px 0;
	}
	
	.company .companyBox .listDl {
		width: auto;
		float: none;
	}
	
	.company .companyBox .map {
		width: auto;
		height: 408px;
	}
	
	.company .companyBox .listDl dd {
		margin-bottom: 24px;
		padding: 0 0 3px;
		font-size: 14px;
	}
	
	.company .companyBox .listDl dt {
		margin-bottom: 10px;
		float: none;
		width: auto;
		text-align: left;
		font-size: 14px;
	}
	
	.company .companyBox .listDl dt .size {
		margin: 3px 0 0 8px;
		display: inline-block;
		font-size: 0.9rem;
	}
	
	.company .companyBox .comBox {
		padding-left: 0;
	}
	
	.company .comBox {
		margin: 0 15px !important;
		width: auto;
	}
	
	.company .companyBox .listUl {
		margin: 0 0 -2px;
	}
	
	.company .companyBox .map {
		margin-top: 30px;
	}
	
	.company .companyBox .map,
	.company .companyBox .map iframe {
		width: 100%;
		height: 200px;
	}
	
	.company .companyBox .comBox::before {
		width: 300px;
		height: 55px;
		top: -75px;
		right: -15px;
		background-size: 300px auto;
	}
	
	.company .companyBox {
		padding: 25px 0;
	}
}

/*------------------------------------------------------------
	building
------------------------------------------------------------*/
.building {
	background-color: #FFF;
}

.building .headLine01 {
	margin-bottom: 30px;
}

.building .headline02 {
	margin-bottom: 7px;
}

.building .topTxt {
	margin-bottom: 26px;
	text-align: center;
	letter-spacing: 1.96px;
	color: #4d4d4d;
	font-weight: 700;
}

.building .imgList {
	margin-bottom: 32px;
	display: flex;
	justify-content: center;
}

.building .imgList li {
	margin: 0 25px;
	width: 200px;
}

.building .topBtn {
	margin: 0 auto 36px;
	width: 625px;
}

.building .topBtn a {
	margin: 0 auto;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFF;
	font-weight: 700;
	letter-spacing: 3.36px;
	height: 50px;
	background: url("img/building/top_btn_bg.png") no-repeat center;
	background-size: cover;
}

.building .topBtn a:hover {
	opacity: 0.7;
}

.building .topBtn a:after {
	position: absolute;
	top: 0;
	right: 13px;
	width: 25px;
	height: 91%;
	background: url("img/building/arrow.png") no-repeat center;
	background-size: 100% auto;
	content: "";
}

.building .photoBox {
	padding: 35px 0;
	background-color: #f6f5f0;
}

.building .photoBox .centerTxt {
	margin-bottom: 22px;
	text-align: center;
	color: #4d4d4d;
	letter-spacing: 1.96px;
}

.building .photoBox .centerTxt .green {
	font-weight: 700;
	display: inline-block;
	font-size: 1.82rem;
	line-height: 1;
	color: #006239;
}

.building .photoBox h3 {
	font-size: 25px;
	margin-top: 40px;
}

.building .photoBox h3 {
	background: #ebebeb;
	padding: 1rem 1rem 1rem 4.5rem;
	position: relative;
	}
.building .photoBox h3:before {
	position: absolute;
    top: 20%;
    left: 20px;
    width: 6px;
    height: 60%;
    content: '';
    border-radius: 3px;
    background: #1b6631;
	}

.building .photoBox ul {
	margin: 0px auto 60px;
	position: relative;
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.building .photoBox ul:after {
	position: absolute;
	left: -5px;
	right: -5px;
	top: 53.2%;
	height: 2px;
/*	background-color: #dfded9;*/
	content: "";
}

.building .photoBox ul li {
	margin: 20px 0 0 0;
	width: 256px;
}

.building .photoBox ul li:nth-child(4n) {
	margin-right: 0;
}

.building .photoBox ul li a {
	padding: 9px 11px 12px;
	display: block;
	height: 100%;
	background-color: #fff;
	text-align: center;
	font-weight: 700;
	color: #4d4d4d;
	box-sizing: border-box;
}

.building .photoBox ul li a:hover {
	opacity: 0.7;
}

.building .photoBox ul li .photo {
	margin-bottom: 18px;
}

.building .photoBox ul li a .txt {
	padding: 0 28px;
	display: inline-block;
	letter-spacing: 1.5px;
	background: url("img/building/icon_link.png") no-repeat right center;
	background-size: 19px auto;
	font-size: 12px;
}

.building .btmBox {
	padding: 29px 0 38px;
}

.building .centerTxt {
	text-align: center;
	letter-spacing: 1.96px;
	color: #4d4d4d;
	font-weight: 700;
}

.building .centerTxt + .centerTxt {
	margin-top: 24px;
}

.building .btmBox .btnList {
	margin: 42px auto 0;
	width: 570px;
	display: flex;
	justify-content: space-between;
}

.building .btmBox .btnList li {
	width: 233px;
}

.building .btmBox .btnList li a:hover {
	opacity: 0.7;
}

@media all and (max-width: 767px) {
	.building .headLine01 {
		margin-bottom: 20px;
	}

	.building .headline02 {
		margin-bottom: 7px;
	}

	.building .topTxt {
		margin-bottom: 20px;
		letter-spacing: 1px;
	}

	.building .imgList {
		margin-bottom: 20px;
		flex-wrap: wrap;
	}

	.building .imgList li {
		margin: 0 auto;
		width: 31%;
		text-align: center;
	}

	.building .topBtn {
		margin: 0 10px 36px;
		width: auto;
	}

	.building .topBtn a {
		letter-spacing: 0.5px;
		background-color: #006138;
		background-size: 100% auto;
	}

	.building .topBtn a:after {
		right: 5px;
		width: 15px;
	}

	.building .photoBox {
		padding: 20px 0;
	}

	.building .photoBox .centerTxt {
		margin-bottom: 10px;
		letter-spacing: 1px;
	}

	.building .photoBox .centerTxt .green {
		font-size: 1.4rem;
	}

	.building .photoBox ul {
		margin: 0 auto 0;
		width: auto;
		max-width: 400px;
		justify-content: center;
	}

	.building .photoBox ul:after {
		display: none;
	}

	.building .photoBox ul li {
		margin: 25px 25px 0;
		width: auto;
	}
	
	.building .photoBox ul li:nth-child(4n) {
		margin-right: 25px;
	}

	.building .photoBox ul li a {
		padding: 10px;
	}

	.building .photoBox ul li .photo {
		margin-bottom: 10px;
	}

	.building .photoBox ul li a .txt {
		padding: 0 25px;
		display: inline-block;
		letter-spacing: 1px;
		background-size: 15px auto;
	}

	.building .btmBox {
		padding: 25px 15px;
	}

	.building .centerTxt + .centerTxt {
		margin-top: 15px;
	}

	.building .btmBox .btnList {
		margin: 20px auto 0;
		width: auto;
	}

	.building .btmBox .btnList li {
		width: 48%;
		text-align: center;
	}
}

/*------------------------------------------------------------
	assessment
------------------------------------------------------------*/
.assessment {
	padding-bottom: 48px;
}

.assessment .headLine01 {
	margin-bottom: 0;
}

.assessment .whiteBox {
	margin-bottom: 32px;
	padding: 34px 0 27px;
	background-color: #FFF;
}

.assessment .headline02 {
	margin-bottom: 0;
	font-size: 2.5rem;
}

.assessment .whiteBox .topTxt {
	margin-bottom: 21px;
	text-align: center;
	letter-spacing: 1.96px;
}

.assessment .whiteBox ul {
	margin: 0 auto;
	width: 590px;
	display: flex;
	justify-content: space-between;
}

.assessment .whiteBox ul li {
	padding: 5px 10px 12px;
	width: 255px;
	text-align: center;
	background-color: #F9F9D8;
	box-sizing: border-box;
}

.assessment .whiteBox ul li .icon {
	margin-bottom: 2px;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 72px;
}

.assessment .whiteBox ul li .ttl {
	display: inline-block;
	position: relative;
	z-index: 50;
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: 2.38px;
}

.assessment .whiteBox ul li .ttl:after {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 6px;
	height: 6px;
	background-color: #F2E633;
	content: "";
	z-index: -1;
}

.assessment .whiteBox ul li .txt {
	margin-top: -3px;
}

.assessment .comBox {
	width: 800px;
}

.assessment .comBox h3 {
	text-align: center;
	font-size: 2.5rem;
	font-weight: 700;
}

.assessment .comBox .topTxt {
	margin: 0 auto 15px;
	width: 632px;
	letter-spacing: 1.8px;
}

.assessment form {
	margin-bottom: 80px;
}

.assessment .comTableBox {
	margin: 0 auto;
	width: 658px;
}

.assessment .comTableBox th {
	letter-spacing: 0;
}

.assessment .comTableBox td {
	position: relative;
}

.assessment .comTableBox td span {
	margin-right: 18px;
	display: inline-block;
}

.assessment .comTableBox th .must.mail {
	right: 2px;
}

.assessment .comTableBox td ul li {
	margin-right: 20px;
	display: inline-block;
	min-width: 80px;
}

.assessment .comTableBox td ul li label {
	font-weight: 700;
	letter-spacing: 0;
}

.assessment .wid03 {
	width: 110px;
	margin-right: 5px;
}

.assessment .comTableBox td span.txt {
	padding: 0;
	margin: 0 15px;
	font-size: 1.12rem;
	letter-spacing: -0.5px;
}

.assessment .comTableBox td span.txt span {
	margin: 0;
	padding: 0;
	font-size: 1.4rem;
}

.assessment .wid04 {
	margin-right: 5px;
	width: 80px;
}

.assessment .comTableBox td sup {
	display: inline-block;
	transform: scale(0.4) translateX(-100%);
}

.assessment .comTableBox td span.right {
	position: absolute;
	right: -25px;
	padding: 0;
	margin: 0;
}

.assessment .comTableBox .style01 th .small {
	margin: 2px -40px 0 0;
	position: absolute;
	font-size: 1.12rem;
}

.assessment .comTableBox .style01 td {
	padding-left: 25px;
	box-sizing: border-box;
}

.assessment .comTableBox .style01 td input.right {
	margin-right: 1px;
	float: right;
}

.assessment .comTableBox textarea {
	height: 80px;
}

.comContact h3 {
	margin-bottom: 12px;
	text-align: center;
	font-size: 1.2rem !important;
	letter-spacing: 1.44px;
	color: #7F8080;
}

.comContact h3 span span {
	margin-right: 15px;
	display: inline-block;
	font-size: 2.9rem;
	font-family: 'Roboto', sans-serif;
	font-style: italic;
	font-weight: 100;
	color: #006239;
	letter-spacing: 0;
}

.comContact ul {
	display: flex;
	justify-content: center;
}

.comContact ul li {
	margin: 0 7px;
	width: 207px;
}

.comContact ul a:hover {
	opacity: 0.7;
}

@media all and (max-width: 768px) {
	.assessment {
		padding-bottom: 20px;
	}

	.assessment .whiteBox {
		margin-bottom: 32px;
		padding: 20px 15px;
	}

	.assessment .headline02 {
		margin-bottom: 5px;
		font-size: 2.2rem;
	}

	.assessment .whiteBox .topTxt {
		margin-bottom: 10px;
		letter-spacing: 1px;
	}

	.assessment .whiteBox ul {
		margin: 0 auto;
		width: auto;
		display: block;
	}

	.assessment .whiteBox ul li {
		margin: 0 auto 10px;
	}
	
	.assessment .whiteBox ul li:last-child {
		margin-bottom: 0;
	}

	.assessment .comBox {
		width: auto;
	}

	.assessment .comBox h3 {
		font-size: 2.2rem;
	}

	.assessment .comBox .topTxt {
		width: auto;
	}

	.assessment form {
		margin-bottom: 40px;
	}

	.assessment .comTableBox {
		width: auto;
	}

	.assessment .comTableBox td ul li {
		margin: 0 0 5px;
		display: block;
	}
	.assessment .comTableBox td ul li:last-child {
		margin-bottom: 0;
	}

	.assessment .wid03 {
		width: 80px;
	}

	.assessment .comTableBox td span.txt {
		margin: 0 5px;
		font-size: 1rem;
		display: block;
	}

	.assessment .comTableBox td span.txt span {
		font-size: 1.2rem;
	}

	.assessment .wid04 {
		margin-right: 5px;
		width: 60px;
	}

	.assessment .comTableBox td span.right {
		position: relative;
		right: auto;
	}

	.assessment .comTableBox .style01 th .small {
		margin-right: 0;
		font-size: 1.2rem;
	}

	.assessment .comTableBox .style01 td {
		padding-left: 0;
	}

	.assessment .comTableBox .style01 td input.right {
		margin-right: 0;
		float: none;
	}

	.comContact .btmBox ul {
		display: block;
	}

	.comContact .btmBox ul li {
		margin: 0 auto 10px;
		width: 200px;
	}
	
	.comContact .btmBox ul li:last-child {
		margin-bottom: 0;
	}
}

/*------------------------------------------------------------
	page
------------------------------------------------------------*/
.page {
	padding-bottom: 60px;
	background-color: #f1f0ec;
}

.page .comBox {
	width: 980px;
}

.page .headLine01 {
	margin-bottom: 42px;
}

.comTopBox {
	margin-bottom: 41px;
	padding: 4px;
	position: relative;
	text-align: center;
	letter-spacing: 0.7px;
	color: #4d4d4d;
}

.comTopBox.mb0 {
	margin-bottom: 17px;
}

.comTopBox .btn {
	position: absolute;
	right: 10px;
	top: 0;
}

.comTopBox .btn a {
	display: flex;
	width: 207px;
	height: 33px;
	align-items: center;
	justify-content: center;
	background-color: #006138;
	color: #FFF;
	font-weight: 700;
}

.comTopBox .btn a:hover {
	opacity: 0.7;
}

.comTopBox .btn a img {
	margin-right: 10px;
	width: 21px;
}

.comTopBox .btn a.line {
	margin-top: 1px;
	background: #FFF;
	border: #00b900 solid 2px;
	box-sizing: border-box;
	color: #00b900;
}

.comTopBox p.pr {
	min-height: 60px;
}

.page .whiteBox {
	margin-bottom: 46px;
	padding: 18px 27px 7px;
	background-color: #FFF;
}

.page .txtList {
	margin-bottom: 10px;
	display: flex;
	justify-content: flex-start;
}

.page .txtList li {
	margin-right: 35px;
	width: 288px;
	border-bottom: 1px solid #ccc;
}

.page .txtList li:last-child {
	margin-right: 0;
}


.page dl dt {
	padding: 7px 6px;
	float: left;
	font-weight: 700;
	color: #7F8080;
	width: 6.5em;
	text-align: justify;
	word-break: keep-all;
	box-sizing: border-box;
	letter-spacing: -0.5px;
}

.page dl dt.small span {
	display: block;
    transform: scale(0.7) translateX(-20%);
    width: 140%;
}

.page dl dt.smaller {
	transform: scale(0.64) translateX(-18%);
	letter-spacing: -1px;
}

.page dl dd {
	padding: 7px 6px 7px 6.8em;
	color: #4d4d4d;
	min-height: 40px;
	letter-spacing: 0.7px;
	font-weight: 700;
	border-top: 1px solid #ccc;
	word-break: keep-all;
	box-sizing: border-box;
}

.page dl dd.noborder {
	border-top: none;
}

.page dl dd.last {
	border-bottom: 1px solid #ccc;
}

.page .whiteBox .txtBox .ttl {
	padding-left: 6px;
	font-weight: 700;
	color: #7F8080;
}

.page .whiteBox .txtBox dl dt,
.page .whiteBox .txtBox dl dd {
	padding-top: 15px;
	line-height: 2.4;
	word-break: break-word;
	word-wrap: break-word;
}

.page .btmBox {
	margin-bottom: 93px;
	padding: 0 8px;
	display: flex;
	justify-content: space-between;
}

.page .btmBox .ttl {
	padding: 14px 10px 13px;
	position: relative;
	width: 87px;
	height: 68px;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.33;
	letter-spacing: 0.75px;
	color: #FFF;
	background-color: #F1AB3E;
	border-radius: 13px;
	box-sizing: border-box;
}

.page .btmBox .ttl:after {
	margin-left: -5px;
	position: absolute;
	top: 100%;
	left: 50%;
	width: 17px;
	height: 8px;
	background: url("img/detail/icon01.png") top center no-repeat;
	background-size: auto 100%;
	content: "";
}

.page .btmBox .txt {
	padding-top: 3px;
	width: 850px;
	line-height: 2.43;
	letter-spacing: 0.7px;
	color: #4d4d4d;
	font-weight: 700;
}

.page .btmBtn a {
	margin: 0 auto 25px;
	position: relative;
	width: 207px;
	min-height: 34px;
	display: flex;
	color: #FFF;
	letter-spacing: 1.12px;
	font-weight: 700;
	align-items: center;
	justify-content: center;
	background-color: #006239;
}

.page .btmBtn a:hover {
	opacity: 0.7;
}

.page .btmBtn a:after {
	margin-top: -6px;
	position: absolute;
	right: 6px;
	top: 50%;
	width: 26px;
	height: 7px;
	background: url("img/detail/icon02.png") no-repeat center;
	background-size: auto 100%;
	content: "";
}

@media all and (max-width: 767px) {
	.page {
		padding-bottom: 30px;
	}

	.page .comBox {
		width: auto;
	}

	.page .headLine01 {
		margin-bottom: 20px;
	}

	.comTopBox {
		margin-bottom: 20px;
	}

	.comTopBox .btn {
		position: relative;
		right: auto;
		top: auto;
	}

	.comTopBox .btn a {
		margin: 0 auto;
		display: flex;
	}

	.page .whiteBox {
		margin-bottom: 20px;
		padding: 10px;
	}

	.page .txtList {
		margin-bottom: 0;
		flex-wrap: wrap;
	}

	.page .txtList li {
		margin: 0 0;
		width: 100%;
		border-bottom: none;
	}

	.page .txtList li:last-child {
		margin: 0;
	}

	.page .btmBox {
		margin-bottom: 50px;
		flex-wrap: wrap;
	}
	
	.page .btmBox .ttl {
		margin: 0 auto 15px;
		width: auto;
	}

	.page .btmBox .txt {
		padding-top: 5px;
		width: 100%;
		word-wrap: break-word;
	}
}

/*------------------------------------------------------------
	list
------------------------------------------------------------*/
.list {
	padding-bottom: 56px;
	background-color: #FFF;
}

.list .headLine01 {
	margin-bottom: 20px;
}

.list .topTxt {
	margin-bottom: 24px;
	text-align: center;
	font-weight: bold;
	letter-spacing: 1.96px;
	color: #4d4d4d;
}

.list .topList {
	margin: 0 auto 62px;
	width: 990px;
	display: flex;
	justify-content: space-between;
}

.list .topList li {
	width: 200px;
}

.list .topList li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	min-height: 37px;
	font-size: 1.5rem;
	color: #FFF;
	font-weight: 700;
	background-color: #36ac4b;
}

.list .topList li a:hover {
	opacity: 0.7;
}

.list .topList li a:after {
	margin-top: -5px;
	position: absolute;
	right: 18px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	transform: rotate(45deg);
	content: "";
}

.list .topList li a .icon {
	position: absolute;
	left: 10px;
	top: 0;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.list .topList li.blue a {
	background-color: #4287c0;
}

.list .topList li.origin a {
	background-color: #ee8f01;
}

.list .topList li.red a {
	background-color: #f3a1a3;
}

.list .topList li.brown a {
	background-color: #a58147;
}

.list .detailList {
	margin: 0 auto 225px;
	width: 1054px;
}

.list .detailList li {
	margin-bottom: 20px;
	padding: 0 16px 16px;
	position: relative;
	display: flex;
	justify-content: flex-start;
	border-bottom: 1px solid #ccc;
}

.list .detailList li:last-child {
	margin-bottom: 0;
	border-bottom: none;
}

.list .detailList li .photo {
	width: 188px;
	text-align: center;
}

.list .detailList li .photo img {
	max-height: 122px;
}

.list .detailList li .img {
	text-align: center;
	font-weight: bold;
	letter-spacing: -1.96px;
	color: #F2A0A3;
	width: 94px;
}

.list .detailList li .img .icon {
	margin: -4px 0 -1px;
	display: block;
}

.list .detailList li .img .icon img {
	width: 53px;
}

.list .detailList li .ttl {
	margin-bottom: 14px;
	padding: 2px 4px 3px;
	display: inline-block;
	font-size: 2rem;
	letter-spacing: 2.8px;
	color: #4d4d4d;
	font-weight: 700;
	line-height: 1;
	border-bottom: 1px solid #4d4d4d;
}

.list .detailList li table {
	margin-left: -5px;
	border-collapse: collapse;
}

.list .detailList li table th,
.list .detailList li table td {
	border: 4px solid #FFF;
	border-right-width: 5px;
	border-left-width: 5px;
	background-color: #f0efeb;
	width: 190px;
	text-align: center;
	font-weight: 700;
}

.list .detailList li table th {
	background-color: #7f7f81;
	color: #FFF;
}

.list .detailList li table td {
	font-size: 1.6rem;
	color: #4d4d4d;
	line-height: 1.3;
	height: 48px;
}

.list .detailList li table td.red {
	color: #E71F19;
	font-size: 2.4rem;
}

.list .detailList li table td .small {
	font-size: 1.4rem;
	display: block;
	font-weight: 500;
}

.list .detailList li table td.red .small {
	margin-left: 5px;
	display: inline-block;
	font-size: 0.8em;
	font-weight: 700;
}

.list .detailList li .link {
	position: absolute;
	right: 32px;
	bottom: 23px;
}

.list .detailList li .link a {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	color: #006239;
	font-weight: 700;
}

.list .detailList li .link a:hover {
	opacity: 0.7;
}

.list .detailList li .link img {
	margin-left: 10px;
	width: 21px;
}

.list .detailList li .img.blue {
	color: #4287c0;
}

.list .detailList li .img.origin {
	color: #ee8f01;
}

.list .detailList li .img.green {
	color: #3EAC4A;
}

.list .detailList li .img.brown {
	color: #a58147;
}

.list .pageNavi {
	display: flex;
	justify-content: center;
}

.list .pageNavi li {
	margin: 0 3px;
}

.list .pageNavi li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 28px;
	height: 28px;
	font-size: 1.8rem;
	color: #4d4d4d;
	border: 1px solid #4d4d4d;
	box-sizing: border-box;
}

.list .pageNavi li.on a {
	color: #FFF;
	background-color: #4d4d4d;
}

@media all and (min-width: 768px) {
	.list .pageNavi li a:hover {
		color: #FFF;
		background-color: #4d4d4d;
	}
}

@media all and (max-width: 767px) {
	.list {
		padding-bottom: 30px;
	}

	.list .headLine01 {
		margin-bottom: 20px;
	}

	.list .topTxt {
		margin-bottom: 20px;
		letter-spacing: 1px;
	}

	.list .topList {
		margin: -10px auto 30px;
		flex-wrap: wrap;
		width: auto;
		justify-content: space-between;
	}

	.list .topList li {
		margin: 10px 0 0;
		margin-right: 0;
		width: 48%;
	}

	.list .topList li:last-child {
		margin: 10px 0 0;
	}

	.list .topList li a {
		min-height: 30px;
		font-size: 1.4rem;
	}
	
	.list .topList li a .icon {
		width: 30px;
		left: 5px;
	}

	.list .topList li a:after {
		right: 10px;
	}

	.list .detailList {
		margin: 0 auto 40px;
		width: auto;
	}

	.list .detailList li {
		margin-bottom: 20px;
		padding: 0 5px 30px;
		flex-wrap: wrap;
	}

	.list .detailList li:last-child {
		margin-bottom: 0;
		border-bottom: none;
	}

	.list .detailList li .photo {
		width: 100%;
		text-align: center;
	}

	.list .detailList li .img {
		margin-bottom: 10px;
		width: 100%;
	}

	.list .detailList li .img .icon {
		margin: 10px 0 0;
	}
	
	.list .detailList li .textBox {
		width: 100%;
	}

	.list .detailList li .ttl {
		margin-bottom: 10px;
		font-size: 1.8rem;
		letter-spacing: 2px;
	}
	
	.list .detailList li table {
		width: 100%;
	}

	.list .detailList li .link {
		right: 10px;
		bottom: 5px;
	}

	.list .pageNavi li {
		margin: 0 2px;
	}

	.list .pageNavi li a {
		width: 25px;
		height: 25px;
		font-size: 1.4rem;
	}
}


@media all and (-ms-high-contrast:none) {
	.top .news ul li a .ttl {
		padding-top: 3px;
	}
	
	.top .snsBox .btnBox .ttl span {
		margin-right: 10px;
	}
	
	.headline04 {
		padding-top: 5px;
		box-sizing: border-box;
	}
	
	.comTopBox .btn a {
		padding-top: 5px;
		box-sizing: border-box;
	}

	.comTopBox .btn a img {
		margin-top: -5px;
	}

	.comImgBox .textBox table th, .comImgBox .textBox table td {
		padding: 5px 0 1px 10px;
	}
	
	.comImgBox .textBox table th .bg {
		padding: 8px 0 3px 10px;
	}
	
	.combgTxt::after {
		bottom: 8px;
	}
	
	.headline02 span {
		background-position: left bottom 5px;
	}
	
	.assessment .whiteBox ul li .ttl:after {
		bottom: 10px;
	}
	
	.top .snsBox .btnBox .ttl span {
		margin-right: 10px;
	}
	
	.top .snsBox .btnBox li a {
		padding: 7px 15px 3px 25px;
	}
	
	.building .photoBox ul li a .txt {
		padding-top: 4px;
	}
	
	select {
		padding: 6px 5px 0;
	}
	
	input[type="checkbox"] + label {
		padding: 8px 0 2px 40px;
	}
	
	.submitList input {
		padding-top: 4px;
	}
	
	.comTableBox .must {
		padding-top: 3px;
	}
	
	.list .topList li a {
		padding-top: 5px;
		box-sizing: border-box;
	}

	.list .topList li a:after {
		margin-top: -7px;
		top: 50%;
	}
	
	.list .detailList li .link a {
		padding-top: 4px;
	}
	
	.list .detailList li .link a img {
		margin-top: -4px;
	}

	.list .detailList li table th, .list .detailList li table td {
		padding-top: 4px;
	}
	
	.list .pageNavi li a {
		padding-top: 7px;
	}
	
	.page .btmBtn a {
		padding-top: 8px;
		box-sizing: border-box;
	}
}



.wp-pagenavi {
clear: both;
text-align:center;
}
.wp-pagenavi a, .wp-pagenavi span {
color: #065A00;
background-color: #FFFFFF;
padding: 8px 15px;
margin: 0 2px;
white-space: nowrap;
-webkit-transition: 0.2s ease-in-out;
-moz-transition: 0.2s ease-in-out;
-o-transition: 0.2s ease-in-out;
transition: 0.2s ease-in-out;
text-align: center;
text-decoration: none;
border: thin dotted #065A00;
}
.wp-pagenavi a:hover{
color: #fff;
background-color: #065A00;
}
.wp-pagenavi span.current{
color: #fff;
background-color: #065A00;
}

.nw {
	white-space: nowrap;
}

#eigyou {
	font-size: 17px;
	text-align: center;
	font-weight: bold;
	line-height: 100%;
	margin: 15px 0 10px;
	color: #7f8080;
}

.recruit_flex {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}@media all and (max-width: 767px) {
	.recruit_flex {
		flex-wrap: wrap;
		margin: auto;
	}
}

.recruit_flex .photo {
	max-width: 320px;
}@media all and (max-width: 767px) {
	.recruit_flex .photo {
		max-width: 90%;
		margin: 20px auto 0;
	}
}

.recruit_flex .photo img {
	height: auto;
}

.recruit_flex .text {
	max-width: 480px;
}@media all and (max-width: 767px) {
	.recruit_flex .text {
		max-width: 90%;
		margin: 20px auto 0;
	}
}

.recruit_flex .text h4 {
	font-size: 20px;
	margin-top: 40px;
}
.recruit_flex .text h4:first-child {
	margin-top: 0;
}
.recruit_flex .text p {
	margin-top: 10px;
	text-align: left;
	display: flex;
	justify-content: flex-start;
	
}
.recruit_flex .text p .b {
	font-weight: bold;
	display: block;
	min-width: 160px;
	text-align: left;
}
.recruit_flex .text a {
	font-size: 15px;
	line-height: 100%;
	color: #009B16;
	margin-left: 10px;
}


.b-case .box {
	margin: 60px auto 0;
	text-align: center;
	background: #FFF;
	padding: 40px 40px 40px;
	max-width: 840px;
}

.b-case .box h4 {
	margin: 20px 0 0;
	font-size: 30px;
	letter-spacing: 5px;
}

.b-case .box h4 {
  position: relative;
  padding: 0 65px;
  text-align: center;
	max-width: 510px;
	margin: 20px auto 0;
	letter-spacing: inherit;
}

.b-case .box h4:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
  background: #000;
}

.b-case .box h4 span {
  position: relative;
  padding: 0 1em;
  background: #fff;
}
.b-case .photo {
	position: relative;
	display: inline-block;
	width: auto;
	max-width: 640px;
}

.b-case .photo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
}

.b-case .photo .before {
	position: absolute;
	left: -40px;
	top: -20px;
	padding: 20px 40px;
	border-radius: 50%;
	background: #003B08;
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}


.b-case .photo .after {
	position: absolute;
	left: -40px;
	top: -20px;
	padding: 20px 40px;
	border-radius: 50%;
	background: #30981b;
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

.b-case a.return {
	margin: 60px auto 30px;
	display: block;
	max-width: 300px;
	background: #929100;
	color: #FFF;
	padding: 10px 30px;
	text-align: center;
	border-radius: 30px;
}

.building .photoBox ul.case li a .txt {
	background: none !important;
}

.mainVisual ul {
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}


/**20251029 店舗案内**/
.storeback {
	background: #FFFFFF;
}
.storebox {
	max-width: 1080px;
	margin: auto;
	padding: 80px 0;
}

.storebox .store-flex{
	display: flex;
	justify-content: space-between;
	gap:10px;
	align-items: center;
}

.store-text01 {
	font-size: 18px;
}

.storebox .store-flex .photo{
	display: flex;
	gap:10px;
	width: 48%;
}

.storebox .store-flex .info {
	width: 50%;
}

.storebox .store-flex .info h3{
	color: #074032;
	font-size: 26px;
	font-weight: bold;
	background: linear-gradient(transparent 60%, #b8d587 60%);
  display: inline;	
}

.storebox .store-flex .info table{
	width: 100%;
	border-collapse: collapse;
}

.storebox .store-flex .info table tr{
	border-bottom: dashed 1px #848484;
	
}
.storebox .store-flex .info table th{
	font-size: 16px;
	text-align: right;
	padding: 10px 40px 10px 10px;
	white-space: nowrap;
}
.storebox .store-flex .info table td{
	font-size: 16px;
	padding: 10px 10px 10px 10px;
}

.storebox .store-flex .info table td .small{
	font-size: 14px;
}

.storebox .map {
	margin: 60px 0 0;
	height: 350px;
}

.storebox .map iframe{
	width: 100%;
	height: 100%;
}

/* =========================
   Smartphone (max-width: 767px)
   ========================= */
@media screen and (max-width: 767px) {

  .storebox {
    padding: 40px 16px;
  }

  .storebox .store-flex{
    flex-direction: column;     /* 画像→情報を縦積み */
    align-items: stretch;
    gap: 20px;
  }

  /* 写真2枚を横並び（画面幅に合わせて可変） */
  .storebox .store-flex .photo{
    width: 100%;
    gap: 8px;
  }
  .storebox .store-flex .photo > div{
    flex: 1 1 0;
  }
  .storebox .store-flex .photo img{
    width: 100%;
    height: auto;
    display: block;
  }

  /* 情報ブロックは全幅 */
  .storebox .store-flex .info{
    width: 100%;
  }

  /* 見出し：蛍光マーカーはそのまま。行間とにじみ回避のため少しだけ余白を付与 */
  .storebox .store-flex .info h3{
    font-size: 22px;
    line-height: 1.3;
    display: inline-block;
    padding: 0 .2em .05em;  /* 下側ほんの少し余白を付けてマーカーと重なりを防止 */
  }

  /* テーブル：左寄せ・余白コンパクト・折返し優先 */
  .storebox .store-flex .info table{
    font-size: 15px;
    table-layout: fixed;      /* 折返しを安定させる */
    width: 100%;
  }
  .storebox .store-flex .info table tr{
    border-bottom: dashed 1px #848484;
  }
  .storebox .store-flex .info table th{
    text-align: left;
    width: 6em;               /* 見出し幅を固定して読みやすく */
    padding: 10px 8px 0 0;    /* 右側に少しだけ余白 */
    vertical-align: top;
    white-space: nowrap;
  }
  .storebox .store-flex .info table td{
    padding: 10px 0 10px 0;
    word-break: break-word;   /* 長い住所・電話等の折返し */
  }
  .storebox .store-flex .info table td .small{
    font-size: 13px;
    display: inline-block;
    margin-top: .25em;
  }

  /* 地図：上の余白を小さく、高さは少し大きめに */
  .storebox .map{
    margin: 24px 0 0;
    height: 400px;
  }
  .storebox .map iframe{
    width: 100%;
    height: 100%;
  }
	
	.store-text01 {
		font-size: 16px;
	}
}

/* =========================
   Tablet微調整 (768–1024px)
   ========================= */
@media screen and (min-width: 768px) and (max-width: 1024px){
  .storebox { padding: 60px 24px; }
  .storebox .store-flex { gap: 16px; }
  .storebox .store-flex .photo{ width: 50%; }
  .storebox .store-flex .info{ width: 50%; }
  .storebox .store-flex .info h3{ font-size: 24px; }
  .storebox .map{ height: 280px; }
}
