@charset "utf-8";
/* 共通　基本設定 */
*{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	-o-box-sizing:border-box;
	box-sizing:border-box;
}
img {
	-ms-interpolation-mode:bicubic;
	vertical-align:bottom;
	max-width:100%;
	height:auto;
	width:auto\9;
	touch-callout:none;
	user-select:none;
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-touch-callout:none;
	-moz-user-select:none;
}
#btnTop{
	display:inline;
	position:fixed;
	z-index:300;
	bottom:8px;
	right:20px;
}
	#btnTop a{
		text-align:center;
		display:block;
		position:relative;
		width: 30px;
		height: 30px;

	}
	#btnTop a:after{
		content:'';
		width:16px;
		height:16px;
		border-left:solid 3px #333333;
		border-top:solid 3px #333333;
		-ms-transform:rotate(45deg);
		-webkit-transform:rotate(45deg);
		transform:rotate(45deg);
		position:absolute;
		top:8px;
		bottom: 0;
		left:0;
		right: 0;
		margin: auto;
	}
	
body{
	line-height:1.78;
	height:100%;
	background:#fff;
	color:#333;
	font-size:16px;
	font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight:500;
	word-break: break-all;
}
body input,
body textarea,
body select,
body button{
	font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
#container{
	position:relative;
	height:100%;
	min-height: 100vh;
	overflow:hidden;
	box-sizing: border-box;
}
.inner{
	width:100%;
	max-width:1000px;
	margin:0 auto;
	padding: 0 10px;
}
a,
a:link,
a:active,
a:visited{
	color: #333;
	outline:none;
	text-decoration:none;
}
/* object-TOP
***********************************************************************/
/* header */
header {
	width: 100%;
	background: #f2f2f2;
	position: static;
	z-index: 3000;
}
header .inner {
	position: relative;
	padding: 10px;
}
.header_inner {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}
#header_name{
	margin: 6px 0;
	width: calc(100% - 140px);
}
#header_name a{
	display: flex;
	//justify-content: center;
	align-items: center;
	height: auto;
	width: auto;
	font-size: 18px;
	font-weight: bold;
}
.header_tel  {
	min-width: 130px;
}
.header_tel p  {
	text-align: center;
	font-size: 13px;
	font-weight: bold;
}
.header_tel .tell {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	color: #333;
}
@media all and (-ms-high-contrast: none) {
.header_tel .tell {
	align-items: flex-start;
}
}
.header_tel .tell svg {
	width: 14px;
	height: 20px;
	fill: #333;
}
/* nav */
.g_nav {
	display:block;
	width: 100%;
	background: #ccc;
}
.g_nav ul{
	position:static;
	display:flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 0;
	margin: 0;
}
.g_nav li{
	display:flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 100%;
	padding: 20px 0px;
	border-right:1px solid #333;
}
.g_nav li > a{
	display: block;
	padding: 0px 8px;
	margin: 0;
	text-align:center;
	font-weight: bold;
	font-size: 13px;
	border:none;
	transition: linear 0.3s;
}
.g_nav li.last_menu {
	border: none;
}
.g_nav li.is-active {
	background: #999;
}
/* top section */
section {
	padding: 40px 0;
}
.h2_ttl {
	font-size: 24px;
	text-align: center;
	font-weight: bold;
	color: #333;
}
.h3_ttl {
	font-size: 22px;
	font-weight: bold;
	color: #333;
}
a.link-arrow {
	position: relative;
	font-weight: bold;
	color: #333;
	padding-right: 20px;
}
.link-arrow::after {
	position: absolute;
	content:'';
	top: 5px;
	right: 5px;
	width: 8px;
	height: 8px;
	border-top: solid 3px #333;
	border-right: solid 3px #333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
a.link-arrowReverse {
	position: relative;
	font-weight: bold;
	color: #333;
	padding-left: 20px;
}
.link-arrowReverse::after {
	position: absolute;
	content:'';
	top: 5px;
	left: 5px;
	width: 8px;
	height: 8px;
	border-bottom: solid 3px #333;
	border-left: solid 3px #333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.icon_blank {
	vertical-align: middle;
}
.icon_blank svg {
	width: 15px;
	height: 15px;
	fill: #333;
	margin-left: 5px;
}
.img_box img {
	width: 100%;
	height: auto;
	margin: 0 auto;
}
.top_main {
	padding: 20px 0;
	width: 100%;
	text-align: center;
}
.top_main .img_box img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 360px;
	margin: 0 auto;
}
.coupon {
	margin-top: 20px;
	text-align: center;
}
/* news */
.news {
	margin: 0 auto;
	max-width: 800px;
}
.news li {
	padding: 10px 10px;
	background: #fff;
	border-bottom: 1px solid #eee;
}
.news li:first-child {
	border-top: 1px solid #eee;
}
.news li .news-data {
	display: block;
	font-size: 13px;
}
/* top info */
.flex_item .img_box {
	text-align: center;
}
.flex_item .img_box img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 280px;
	margin: 0 auto;
}
.flex_item .txt_box {
	margin-top: 20px;
}
.tag-list li {
	float: left;
	padding: 1px 6px;
	margin: 0 10px 0 0;
	background: #eee;
	border-radius: 3px;
	border: 1px solid #cfcfcf;
}
.tag-list {
	overflow: hidden;
	clear: both;
}
.tag-txt {
	display: inline-block;
	padding-right: 15px;
}
/* top access */
.access_txt dl,
.access_txt dl dd > div + div {
	margin-top: 15px;
}
.access_txt dl dt {
	font-weight: bold;
}
.access_txt dl.dl-row:not(.dl-row-first){
	margin-top: 0px;
}
.access_txt dl.dl-row dt {
	display: inline-block;
	width: 100px;
}
.access_txt dl.dl-row dd {
	display: inline-block;
}
.link_sns {
	display: flex;
	align-items: center;
}
.link_sns > div {
	//width: 45px;
	height: 45px;
	margin-right: 15px;
}
.link_sns > div img {
	max-height: 45px;
}
.link_sns > div a {
	display: block;
}
.link_sns > div .instagram {
	width: 45px;
	height: 45px;
	background: #666;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.link_sns > div .instagram svg {
	width: 29px;
	height: 29px;
	fill: #fff;
}
/* offer */
.offer_list {
	margin: auto;
	width: 100%;
	max-width: 800px;
}
.offer_item {
	padding: 10px;
	background: #fff;
	border-bottom: 1px solid #eee;
}
.offer_item:first-child {
	border-top: 1px solid #eee;
}
.offer_icon{
	display:inline-block;
	line-height:21px;
	vertical-align:top;
	min-width:80px;
	height:21px;
	margin-right:4px;
	border-radius:4px;
	color:#fff;
	text-align:center;
}
@media all and (-ms-high-contrast: none) {
.offer_icon{
	line-height:26px;
}
}
.offer_icon-part{
	background:#01b22e;
}
.offer_icon-employee{
	background:#8bc34a;
}
.offer_icon-arbeit{
	background:#038645;
}
.offer_item .offer_txt_ttl {
	margin: 0 0 5px 0;
	font-weight: bold;
}

/* footer */
footer {
	background: #f2f2f2;
}
.footer_inner {
	padding-top: 40px;
	position: relative;
}
.btnTop {
	display: block;
	position: absolute;
	top: -28px;
	right: 10px;
	width: 56px;
	height: 56px;
}
.btnTop::before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 56px;
	height: 56px;
	background: #ccc;
	border-radius: 50%;
}
.btnTop::after {
	content: '';
	width: 16px;
	height: 16px;
	border-left: solid 3px #666;
	border-top: solid 3px #666;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 8px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.footer-nav {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
	font-size: 11px;
	font-weight: bold;
	padding: 20px 0;
}
.footer-nav li {
	padding-left: 8px;
}
.footer-nav li.is-active a {
	color: #999;
}
.footer_copyright {
	text-align: left;
	padding: 20px 10px;
	font-size: 13px;
	color:#fff;
	background: #666;
}
/* object-Page
***********************************************************************/
.page_ttl_box {
	padding-top: 40px;
}
.page_txt_box {
	margin: 0 auto;
	width: 100%;
	max-width: 800px;
}
.lead_txt {
	margin: 0 auto;
	padding: 10px;
	width: 100%;
	max-width: 800px;
	background: #f6f6f6;
}
.dl-txt_box {
	padding: 10px;
	border-top: 1px solid #ccc;
}
.dl-txt_box_first {
	border-top: 2px solid #666;
}
.dl-txt_box_last {
	border-bottom: 2px solid #666;
}
.dl-txt_box dt {
	margin-bottom: 5px;
	font-weight: bold;
}
/* outline */
.outline-access_img {
	width: 100%;
	height: 100%;
	max-height: 320px;
	margin: 0 auto;
	text-align: center;
}
.outline-access_img img {
	width: auto;
	max-height: 320px;
}
/* topics goods */
.topics_list {
	margin: 0 auto;
	margin-top: 30px;
	width: 100%;
	max-width: 800px;
	border-top: 2px solid #ccc;
}
.topics_item_box {
	padding-top: 20px;
	padding-bottom: 30px;
	border-bottom: 2px solid #ccc;
}
.topics_ttl {
	font-weight: bold;
}
.topics_date {
	color: #666;
}
.topics_item {
	margin-top: 20px;
}
.topics_img {
	text-align: center;
}
.topics_txt{
	margin-top: 15px;
}
.topics_link {
	margin-top: 15px;
	padding: 10px;
	background: #f6f6f6;
	display: flex;
	flex-wrap: wrap;
}
.topics_link > p {
	width: 6em;
}
.topics-prev + .topics-next {
	margin-left: 30px;
}
.page-topics #container,
.page-goods #container{
	padding-bottom: 200px;
}
.page-topics footer,
.page-goods footer {
	width: 100%;
	position: absolute;
	bottom: 0;
}
/* inquiry */
.inquiry_no_box {
	text-align: center;
}
.inquiry_no_box .tell {
	font-size: 32px;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
}
.inquiry_no_box .tell svg {
	width: 30px;
	height: 30px;
	fill: #333;
}
.inquiry_no_box.fax {
	margin-top: 30px;
	padding-top: 20px;
	position: relative;
}
.inquiry_no_box.fax::before {
	position: absolute;
	content: "";
	width: 180px;
	height: 1px;
	background: #ccc;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.inquiry_no_box.fax p {
	font-size: 18px;
}
.inquiry_no_box.fax p:first-child {
	font-weight: bold;
}
.dl-form_box {
	padding: 20px 10px;
	border-bottom: 1px solid #eee;
}
.dl-form_box dt {
	margin-bottom: 5px;
	font-weight: bold;
}
.required {
	display: inline-block;
	margin-left: 1em;
	padding: 0 10px;
	border-radius: 5px;
	background: #ff464b;
	color: #fff;
	font-size: 13px;
}
.dl-form_box input[type="text"],
.dl-form_box textarea {
	padding: 15px;
	width: 100%;
	max-width: 100%;
	border: none;
	border-radius: 5px;
	background: #f4f4f4;
	font-size: 16px;
}
.dl-form_box textarea {
	max-height: 275px;
	resize: none;
}
.form-mail {
	border-top: 1px solid #eee;
}
.form-zip input[type="text"] {
	width: 110px;
}
.radio {
	display: inline-block;
	margin-right: 25px;
	margin-top: 5px;
}
input[type="radio"] {
    position: absolute;
    opacity: 0;
}
input[type="radio"] + .radio-label {
	font-size: 18px;
	cursor: pointer;
}
input[type="radio"] + .radio-label::before {
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	position: relative;
	content: '';
	width: 28px;
	height: 28px;
	background: #f4f4f4;
	border-radius: 100%;
	border: 1px solid #f4f4f4;
	top: -0.2em;
	margin-right: 10px;
	cursor: pointer;
	transition: linear .3s;
}
input[type="radio"]:checked + .radio-label::before {
	background: #333;
	box-shadow: inset 0 0 0 4px #f4f4f4;
}
input[type="radio"]:focus + .radio-label::before {
	outline: none;
	border-color: #333;
}
input[type="radio"]:disabled + .radio-label::before {
	box-shadow: inset 0 0 0 4px #f4f4f4;
	border-color: #f4f4f4;
	background: #f4f4f4;
}
.form-btn {
	margin: 20px 0 30px 0;
	text-align: center;
}
input[type="submit"],
input[type="reset"],
.form-btn-back{
	border: none;
	cursor: pointer;
	outline: none;
	padding: 9px 20px;
	appearance: none;
	border-radius: 5px;
	transition: linear .3s;
}
input[type="submit"] {
	padding: 9px 30px;
	background: #333;
	color: #fff;
	font-size: 17px;
	font-weight: bold;
}
input[type="reset"] {
	font-size: 17px;
	margin-left: 15px;
}
.form-btn-back {
	font-size: 15px;
	padding: 11px 20px;
	margin-right: 15px;
}
/* inquiry erroe */
.attention-error {
	margin: 0 auto;
	margin-top: 10px;
	padding: 10px;
	width: 100%;
	max-width: 800px;
	background: #ffe3e3;
	color: #ff0000;
	text-align: center;
}
.dl-form_box .is-error {
	background: #ffe3e3 !important;
}
.dl-form_box .txt-error {
	color: #ff0000;
}
/* inquiry cfm */
.page-inquiry_cfm #container{
	padding-bottom: 200px;
}
.page-inquiry_cfm footer {
	width: 100%;
	position: absolute;
	bottom: 0;
}
/* Utility
***********************************************************************/
.mt-large {
	margin-top: 40px;
}
.pb-large {
	padding-bottom: 60px;
}
.mt-middle {
	margin-top: 30px;
}
.mt-small {
	margin-top: 10px;
}
.u-ta-c {
	text-align: center;
}
.u-ta-r {
	text-align: right;
}
.u-bg-col {
	background: #f2f2f2;
}
.inlineBlock {
	display: inline-block;
}
.sp-none {
	display: none;
}

/* color plat_base
***********************************************************************/
.plat_base header,
.plat_base footer,
.plat_base .u-bg-col,
.plat_base .lead_txt,
.plat_base .topics_link{
	background: #f6fcf0;
}
.plat_base .tag-list li {
	background: #e9f4ed;
}
.plat_base .g_nav,
.plat_base .btnTop::before {
	background: #d2efc5;
}
.plat_base .g_nav li.is-active {
	background: #abe28f;
}
.plat_base .link_sns > div .instagram,
.plat_base .footer_copyright,
.plat_base input[type="radio"]:checked + .radio-label::before,
.plat_base input[type="submit"] {
	background: #29874f;
}
.plat_base .header_tel .tell,
.plat_base section a,
.plat_base section a:link,
.plat_base section a:active,
.plat_base section a:visited,
.plat_base .u-bg-col .h2_ttl,
.plat_base .h3_ttl,
.plat_base a.link-arrow,
.plat_base .footer-nav li.is-active a {
	color: #29874f;
}
.plat_base input[type="radio"]:focus + .radio-label::before {
	border-color: #29874f;
}
.plat_base .link-arrow::after {
	border-top: solid 3px #29874f;
	border-right: solid 3px #29874f;
}
.plat_base .link-arrowReverse::after {
	border-bottom: solid 3px #29874f;
	border-left:solid 3px #29874f;
}
.plat_base .btnTop::after {
	border-top: solid 3px #29874f;
	border-left: solid 3px #29874f;
}
.plat_base .dl-txt_box_first,
.plat_base .topics_list {
	border-top: 2px solid #d8efe1;
}
.plat_base .dl-txt_box_last,
.plat_base .topics_item_box {
	border-bottom: 2px solid #d8efe1;
}
.plat_base .header_tel .tell svg,
.plat_base .icon_blank svg,
.plat_base .inquiry_no_box .tell svg {
	fill: #29874f;
}

/* --------------- タブレット・PC版 --------------- */
@media screen and (min-width:375px) {
.footer-nav {
	font-size: 12.5px;
}
}
@media screen and (min-width:540px) {
.g_nav li > a{
	font-size: 16px;
}
.g_nav li > a br{
	display: none;
}
.footer-nav {
	font-size: 16px;
}
.footer-nav li {
	padding-left: 16px;
}
.footer_copyright {
	text-align: center;
	font-size: 16px;
}
}
@media screen and (min-width:768px) {
/* object
***********************************************************************/
section a {
	transition: linear 0.3s;
}
section a:hover {
	opacity: 0.7;
	transition: linear 0.3s;
}
a.tell {
	pointer-events: none;
}
.link-arrow::after,
.link-arrow:hover::after,
.link-arrowReverse::after,
.link-arrow:hover::after {
	transition: linear .3s;
}
.link-arrow:hover::after {
	right: 0px;
}
.link-arrowReverse:hover::after {
	left: 0px;
}
section a.tell,
section a.tell:link {
	color: #333;
}
/* header */
header {
	height: auto;
}
.header_inner {
	height: 120px;
}
#header_name {
	width: calc(100% - 230px);
}
#header_name a{
	font-size: 26px;
	font-weight: bold;
}
.header_tel  {
	min-width: 230px;
}
.header_tel  p  {
	font-size: 16px;
}
.header_tel .tell > span {
	font-size: 21px;
}
.header_tel .tell svg {
	width: 16px;
	height: 22px;
}
/* nav */
.g_nav ul{
	position:static;
	display:flex;
	flex-direction: row;
	justify-content: center;
	padding: 20px 0;
	margin: 0 auto;
	max-width: 1000px;
}
.g_nav li{
	width: auto;
	max-width: 180px;
	padding: 0;
}
.g_nav li > a{
	display: block;
	padding: 0px 20px;
	font-size: 20px;
	transition: linear 0.3s;
}
.g_nav li:hover > a{
	color: #999;
	transition: linear 0.3s;
}
.g_nav li.is-active {
	background: transparent !important;
}
.g_nav li.is-active > a {
	color: #999;
}
/* top section */
.top_main {
	margin: 0px auto;
	max-width: 800px;
}
.top_main .img_box img {
	max-height: 400px;
}
.coupon {
	transition: linear 0.3s;
}
.coupon:hover {
	opacity: 0.7;
	transition: linear 0.3s;
}
/* news */
.news li {
	padding: 15px 20px;
}
.news li .news-data {
	display: inline-block;
	width: 120px;
}
/* top info */
.flex_item {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}
.flex_item .img_box,
.flex_item .txt_box {
	width: 50%;
}
.flex_item .img_box {
	max-width: 450px;
}
.flex_item .txt_box {
	margin-top: 0px;
}
.flex_item .img_box + .txt_box {
	margin-left: 40px;
}
.txt_box .tag-list,
.txt_box .h3_ttl {
	margin-bottom: 5px;
}
.offer_item {
	padding: 15px 20px;
}
/* access */
.map_box,
.access_txt {
	margin: 0 auto;
	max-width: 800px;
}
.map_box iframe {
	height: 360px;
}
.access_txt {
	display: flex;
	align-items: flex-start;
}
.access_txt .left_box {
	flex: 1;
}
.access_txt .right_box {
	width: 50%;
}
.access_txt .right_box {
	padding-left: 20px;
}
.access_txt dl.dl-row,
.access_txt dl.dl-row.dl-row-first,
.access_txt dl.right-dl-first {
	margin-top: 0px;
}
/* footer */
.btnTop::before,
.btnTop::after {
	transition: linear .3s;
}
.btnTop:hover::before {
	top: -5px;
	opacity: .7;
	transition: linear .3s;
}
.btnTop:hover::after {
	top: 0px;
	opacity: .7;
	transition: linear .3s;
}
.footer-nav li {
	padding-left: 20px;
	padding-right: 20px;
	border-right: 1px solid #ccc;
	transition: linear 0.3s;
}
.footer-nav li:last-child {
	padding-right: 0px;
	border-right: none;
}
.footer-nav li:hover > a{
	color: #999;
	transition: linear 0.3s;
}
/* object-Page
***********************************************************************/
.dl-txt_box {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
}
.dl-txt_box dt {
	width: 200px;
	min-width: 200px;
	margin-bottom: 0;
}
.dl-txt_box dd {
	width: calc(100% - 200px);
}
/* topics goods */
.topics_list {
	margin-top: 40px;
}
.topics_item_box {
	padding-top: 30px;
	padding-bottom: 40px;;
}
.topics_ttl {
	font-size: 20px;
}
.topics_item {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}
.topics_img.w400 {
	flex-shrink: 0;
	flex-basis: 400px;
	padding-right: 40px;
}
.topics_txt{
	margin-top: 0px;
}
.topics_link {
	margin-top: 30px;
}
/* inquiry */
.inquiry_no_box .tell {
	font-size: 36px;
}
.inquiry_no_box .tell svg {
	width: 36px;
	height: 36px;
}
.inquiry_no_box.fax {
	margin-top: 40px;
	padding-top: 30px;
	position: relative;
}
.inquiry_no_box.fax p {
	font-size: 20px;
}
.dl-form_box {
	display: flex;
	align-items: center;
	width: 100%;
}
.dl-form_box.form-detail,
.dl-form_box.form-detail_cfm {
	align-items: flex-start;
}
.dl-form_box dt {
	width: 30%;
	padding-right: 20px;
}
.dl-form_box dd {
	width: 70%;
}
.form-detail .required {
	margin-left: 0;
}
.form-mail input[type="text"],
.form-name input[type="text"] {
	max-width: 500px;
}
input[type="submit"]:hover,
input[type="reset"]:hover,
.form-btn-back:hover{
	opacity: .7;
	transition: linear .3s;
}
.page-inquiry_cfm .lead_txt {
	text-align: center;
}
.form-btn-back {
	font-size: 17px;
	padding: 9px 20px;
	margin-right: 15px;
}
/* Utility
***********************************************************************/
.mt-large {
	margin-top: 50px;
}
.mt-middle {
	margin-top: 40px;
}
.mt-small {
	margin-top: 20px;
}
.sp-none {
	display: inline-block;
}
/* color plat_base
***********************************************************************/
.plat_base .g_nav li:hover > a,
.plat_base .footer-nav li:hover > a,
.plat_base .g_nav li.is-active > a {
	color: #3da568;
}
}