@charset "utf-8";
/* CSS Document */

/* ================ 

reset

================ */
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, 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, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

sup {
    vertical-align: super;
    font-size: smaller;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}
/* ================ 

common

================ */

html, body {
	-webkit-text-size-adjust: 100%;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	color: #333;
}
.YuMin {
	font-family: "Yu Mincho", "YuMincho", serif;
}
.YuGo {
	font-family: "Yu Gothic", YuGothic, sans-serif;
}
.clearfix:after {
	content: " ";
	display: block;
	clear: both;
}
a {
	text-decoration: none;
}
strong {
	font-weight: bold;
}

@media screen and (min-width:768px) {
body {
	padding-left: 201px;
	width: 100%;
	box-sizing: border-box;
}
.noPC {
	display: none !important;
}
}

@media screen and (max-width: 767px) {
html, body {
	font-size: 62.5%;
}
.noSP {
	display: none !important;
}
}

@media screen and (min-width: 767px) and (max-width: 1023px) {
body {
	padding-left: 0;
}
}
/* ================ 

header

================ */
#header {
	background-color: #fff;
}

@media screen and (min-width:1024px) {
#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 200px;
	height: 100%;
	z-index: 1000;
	border-right: 1px solid #ddd;
}
#header nav {
	border-bottom: 1px solid #dfdfdf;
	padding-bottom: 20px;
}
}

@media screen and (max-width: 1023px) {
#header {
	position: relative;
	height: 15.625vw;
	border-bottom: 1px solid #dfdfdf;
	padding: 4.375vw 17.1875vw 0 4.6875vw;
	box-sizing: border-box;
	z-index: 100;
}
.navWrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	min-height: 100vh;
	padding-top: 33.75vw;
	background-color: #F6F6ED;
	box-sizing: border-box;
	z-index: 1;
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	visibility: hidden;
	overflow: hidden;
	height: 0;
	-webkit-transition: opacity 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, background 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, visibility 0s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	transition: opacity 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, background 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, visibility 0s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.open .navWrap {
	visibility: visible;
	height: auto;
	opacity: 1;
	overflow: auto;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	-webkit-transition: opacity 0.8s cubic-bezier(0.6, 0, 0.2, 1) 0.1s, background 0.8s cubic-bezier(0.6, 0, 0.2, 1) 0.1s, visibility 0s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
	transition: opacity 0.8s cubic-bezier(0.6, 0, 0.2, 1) 0.1s, background 0.8s cubic-bezier(0.6, 0, 0.2, 1) 0.1s, visibility 0s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
}
/* ------------------------ 

logo

------------------------ */
#header .logo a {
	color: #333;
	font-weight: 600;
}
#header .logo a img {
	vertical-align: top;
}

@media screen and (min-width:1024px) {
#header .logo {
	font-size: 23px;
	line-height: 1.3;
}
#header .logo a {
	display: block;
	padding: 16px;
	border-bottom: 1px solid #dfdfdf;
}
}

@media screen and (max-width: 1023px) {
#header .logo {
	font-size: 1.3rem;
}
#header .logo a img {
	width: 35.1875vw;
	height: auto;
}
}

@media screen and (min-width: 767px) and (max-width: 1023px) {
#header .logo a img.noSP {
	display: none !important;
}
#header .logo a img.noPC {
	display: block !important;
}
}

/* ------------------------ 

toggle button

------------------------ */
@media screen and (min-width:1024px) {
#header .toggleBtn {
	display: none;
}
}

@media screen and (max-width: 1023px) {
#header .toggleBtn {
	position: absolute;
	top: 1.71875vw;
	right: 2.34375vw;
	width: 12.5vw;
	height: 12.5vw;
	background: url(/common/img/btn_toggle.svg) center center no-repeat;
	background-size: 7.8125vw;
	z-index: 2;
}
#header.open .toggleBtn {
	background-image: url(/common/img/btn_toggle_close.svg);
	background-size: 6.25vw;
}
}

/* ------------------------ 

global navigation

------------------------ */
@media screen and (min-width:1024px) {
.gNav {
	padding: 13px 0 10px;
}
.gNav > li {
	font-size: 15px;
}
.gNav > li:hover {
	background: #F6F6ED url(/common/img/arrow_nav.svg) 177px center no-repeat;
}
.gNav > li > a {
	display: block;
	padding: 13px 24px 12px 24px;
	-webkit-transition: opacity 0.3s ease 0s;
	transition: opacity 0.3s ease 0s;
	color: #222;
	line-height: 1.1;
}
.gNav ul {
	position: absolute;
	top: 0;
	left: 201px;
	width: 0;
	height: 100%;
	padding-top: 151px;
	box-sizing: border-box;
	background-color: #F6F6ED;
	overflow: hidden;
	-webkit-transition: width 0.3s cubic-bezier(0.6, 0, 0.2, 1) 0s;
	transition: width 0.3s cubic-bezier(0.6, 0, 0.2, 1) 0s;
	z-index: 1;
}
.gNav > li:hover ul {
	width: 231px;
	border-right: 1px solid #ddd;
}
.gNav ul li {
	width: 190px;
	margin: 0 auto;
	border-bottom: 1px dotted #a0a77b;
}
.gNav ul li:first-child {
	border-top: 1px dotted #a0a77b;
}
.gNav ul li a {
	display: block;
	padding: 13px 26px 12px 14px;
	background: url(/common/img/arrow_nav_2.svg) 174px center no-repeat;
	font-size: 15px;
	line-height: 1.1;
	color: #444;
}
.gNav ul li a:hover {
	opacity: 0.75;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
}
.nav_contact a {
	display: block;
	border: solid 2px rgb(208, 208, 208);
	width: 160px;
	padding: 16px 0 15px;
	margin: auto;
	text-align: center;
	color: #333;
}
.nav_contact a::before {
	content: "";
	display: inline-block;
	width: 23px;
	height: 17px;
	background: url(/common/img/icon_mail_pc.png) 0 0 no-repeat;
	margin-right: 6px;
	vertical-align: middle;
}
}

@media screen and (max-width: 1023px) {
.gNav {
	border-bottom: 1px solid #fff;
}
.gNav > li {
	border-top: 1px solid #fff;
	font-size: 1.4rem;
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	-webkit-transition: opacity 0.5s ease 0.2s, -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s;
	transition: opacity 0.5s ease 0.2s, -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s;
	transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s, opacity 0.5s ease 0.2s;
	transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s, opacity 0.5s ease 0.2s, -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s;
}
.open .gNav > li {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.open .gNav > li:nth-child(1) {
	-webkit-transition-delay: 0.5s;
	transition-delay: 0.5s;
}
.open .gNav > li:nth-child(2) {
	-webkit-transition-delay: 0.55s;
	transition-delay: 0.55s;
}
.open .gNav > li:nth-child(3) {
	-webkit-transition-delay: 0.6s;
	transition-delay: 0.6s;
}
.open .gNav > li:nth-child(4) {
	-webkit-transition-delay: 0.65s;
	transition-delay: 0.65s;
}
.open .gNav > li:nth-child(5) {
	-webkit-transition-delay: 0.7s;
	transition-delay: 0.7s;
}
.open .gNav > li:nth-child(6) {
	-webkit-transition-delay: 0.75s;
	transition-delay: 0.75s;
}
.open .gNav > li:nth-child(7) {
	-webkit-transition-delay: 0.8s;
	transition-delay: 0.8s;
}
.gNav > li > a {
	position: relative;
	display: block;
	padding: 0 12.8125vw 0 9.375vw;
	color: #222;
	line-height: 17.5vw;
}
.gNav li a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 9.375vw;
	margin: auto;
	display: block;
	width: 1.875vw;
	height: 3.4375vw;
	background: url(/common/img/arrow_nav_2.svg) center center no-repeat;
	background-size: cover;
}
.gNav ul {
	display: none;
}
.gNav ul li {
	background-color: #fff;
	margin-top: 1px;
}
.gNav ul li a {
	position: relative;
	display: block;
	padding: 5.46875vw 12.8125vw 5.46875vw 15.625vw;
	color: #555;
	line-height: 1.3;
}
.nav_contact {
	padding: 6.25vw 9.375vw;
	border-bottom: 1px solid #fff;
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	-webkit-transition: opacity 0.5s ease 0.2s, -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s;
	transition: opacity 0.5s ease 0.2s, -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s;
	transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s, opacity 0.5s ease 0.2s;
	transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s, opacity 0.5s ease 0.2s, -webkit-transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s;
}
.open .nav_contact {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	-webkit-transition-delay: 0.85s;
	transition-delay: 0.85s;
}
.nav_contact a {
	display: block;
	width: 100%;
	background-color: #84C636;
	margin: auto;
	text-align: center;
	font-size: 1.2rem;
	color: #fff;
	line-height: 15.625vw;
}
.nav_contact a::before {
	content: "";
	display: inline-block;
	width: 5vw;
	height: 3.75vw;
	background: url(/common/img/icon_mail_sp.png) 0 0 no-repeat;
	background-size: cover;
	margin-right: 2.03125vw;
	vertical-align: middle;
}
}
/* ------------------------ 

search

------------------------ */
#header .siteSearch {
	position: relative;
}
#header .siteSearch input[type="text"] {
	border: 1px solid #d0d0d0 !important;
	width: 100%;
	box-sizing: border-box;
	-webkit-appearance: none;
	outline: none;
}
#header .siteSearch input[type="submit"] {
	position: absolute;
	top: 1px;
	right: 1px;
	background: url(/common/img/btn_search.png) center center no-repeat;
	border: none;
	text-indent: -9999px;
}

@media screen and (min-width:1024px) {
#header .siteSearch {
	margin: 20px 20px 0;
}
#header .siteSearch input[type="text"] {
	padding: 7px 33px 6px 10px !important;
	line-height: 1.2;
	width:100% !important;
}
#header .siteSearch input[type="submit"] {
	width: 28px;
	height: 28px;
	background-size: 18px;
}
}

@media screen and (max-width: 1023px) {
#header .siteSearch {
	margin: 6.25vw 9.375vw;
}
#header .siteSearch input[type="text"] {
	padding: 4vw 13.75vw 4vw 4.375vw;
	line-height: 1.2;
	font-size: 1.2rem;
}
#header .siteSearch input[type="submit"] {
	top: 0;
	bottom: 0;
	margin: auto;
	width: 12.1875vw;
	height: 12.1875vw;
	background-size: 4.375vw;
}
}
/* ------------------------ 

language

------------------------ */
.changeLang {
}

@media screen and (min-width:1024px) {
#header .changeLang {
	display: table;
	padding: 20px;
	width: 100%;
	border-bottom: 1px solid #dfdfdf;
	box-sizing: border-box;
}
#header .changeLang li {
	display: table-cell;
	width: 50%;
	text-align: center;
	background: #6A6A6A url(/common/img/icon_check.png) 4px center no-repeat;
	color: #fff;
	font-size: 15px;
	line-height: 29px;
}
#header .changeLang li a {
	display: block;
	background: #fff;
	border: 1px solid #dfdfdf;
	border-left: none;
	color: #000;
	line-height: 29px;
}
}

@media screen and (max-width: 1023px) {
#header .changeLang {
	padding: 4.0625vw 0 5.9375vw;
	text-align: center;
	border-bottom: 1px solid #fff;
}
#header .changeLang li {
	display: inline-block;
	padding: 0 4.0625vw;
	color: #72ab2f;
	font-size: 1.2rem;
}
#header .changeLang li:first-child {
	border-right: 1px solid #888;
}
#header .changeLang li a {
	color: #888;
}
}
/* ------------------------ 

other navigation

------------------------ */
#header .otherNav {
}
#header .otherNav li a {
	color: #222;
}
#header .otherNav li a:hover {
	text-decoration: underline;
}

@media screen and (min-width:1024px) {
#header .otherNav {
	padding: 20px 20px 20px 32px;
	font-size: 13px;
}
#header .otherNav li {
	margin-bottom: 15px;
}
}

@media screen and (max-width: 1023px) {
#header .otherNav {
	padding: 5.625vw 9.375vw;
	font-size: 1.2rem;
}
#header .otherNav li {
	margin-bottom: 1em;
}
}
/* ================ 

main

================ */
#main {
	width: 100%;
}

@media screen and (min-width:1024px) {
#main {
	z-index: 1;
	box-sizing: border-box;
}
#main:not(.level2) > article {
	padding-top: 58px;
}
#main.level3 > article {
	padding-top: 116px;
}
}

/* ------------------------ 

local navigation

------------------------ */
@media screen and (min-width:1024px) {
#main > nav {
	position: fixed;
	width: calc(100% - 201px);
	background-color: #fff;
	z-index: 10;
}
.localNav {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	border-bottom: 1px solid #ccc;
}
.localNav li {
	display: table;
	width: 20%;
	height: 58px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	margin-bottom: -1px;
	text-align: center;
	box-sizing: border-box;
}
.localNav li:nth-child(5n) {
	border-right: none;
}
.localNav li a {
	display: table-cell;
	width: 100%;
	height: 100%;
	vertical-align: middle;
	color: #333;
}
.localNav li a:hover, .localNav li a.current {
	background: #84C636 url(/common/img/arrow_localNav.png) center 45px no-repeat;
	color: #fff;
}
.localNav li.type02 a:hover, .localNav li.type02 a.current {
	background: #ff6347 url(/common/img/arrow_localNav.png) center 45px no-repeat;
	color: #fff;
}
}

@media screen and (max-width: 1023px) {
.localNav {
	display: none;
}
}
/* ------------------------ 

breadcrumb

------------------------ */
.breadcrumb {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	color: #333;
}
.breadcrumb span {
	font-weight: bold;
}
.breadcrumb a {
	color: #333;
	font-weight: normal;
}
.breadcrumb a:hover {
	text-decoration: underline;
}

@media screen and (min-width:768px) {
.breadcrumb {
	padding: 22px 34px;
	font-size: 15px;
}
}

@media screen and (max-width: 767px) {
.breadcrumb {
	padding: 2em 1.5em;
	font-size: 1.2rem;
	margin-top: 2em;
}
}
/* ================ 

footer

================ */
#footer {
	position: relative;
	width: 100%;
	background-color: #e4e4e4;
	border-bottom: solid #fff;
	box-sizing: border-box;
	text-align: center;
	color: #222;
}
#footer .pageTop {
	position: absolute;
}
#footer .pageTop a {
	display: block;
	background: url(/common/img/btn_pagetop.svg) center center no-repeat;
}
#footer a {
	color: #222;
}
#footer a:hover {
	text-decoration: underline;
}
#footer ul li {
	display: inline-block;
	border-left: 1px solid #222;
	line-height: 1.1;
}
#footer ul li:last-child {
	border-right: 1px solid #222;
}

@media screen and (min-width:768px) {
#footer {
	padding: 30px 0 28px;
	border-width: 2px;
	z-index: 1;
	font-size: 13px;
}
#footer .pageTop {
	top: -24px;
	right: 32px;
}
#footer .pageTop a {
	width: 50px;
	height: 50px;
}
#footer ul {
	margin-bottom: 2em;
}
#footer ul li {
	padding: 0 7px;
}
}

@media screen and (max-width: 767px) {
#footer {
	padding: 2.5rem 1.5rem 2.3rem;
	border-width: 1px;
	font-size: 1rem;
}
#footer .pageTop {
	top: -6.25vw;
	right: 4.6875vw;
}
#footer .pageTop a {
	width: 12.5vw;
	height: 12.5vw;
	background-size: cover;
}
#footer ul {
	margin-bottom: 4.3rem;
	text-align: left;
}
#footer ul li {
	padding: 0 0.6rem;
	margin-bottom: 1.3rem;
}
#footer p {
	font-size: 0.7rem;
}
}
/* ================ 

contents

================ */
.contWrap a {
	color: #666;
	text-decoration: underline;
}

@media screen and (min-width:768px) {
.contWrap {
	margin: 50px auto;
	width: 95%;
	overflow: hidden;
}
.contWrap_950 {
	max-width: 950px;
}
.contWrap_1000 {
	max-width: 1000px;
}
.contWrap_1140 {
	max-width: 1140px;
}
.contWrap_large {
	max-width: 1600px !important;
}
.contWrap p {
	margin-bottom: 1em;
	line-height: 1.75;
}
.mt10 {
	margin-top: 10px !important;
}
.mt15 {
	margin-top: 15px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt25 {
	margin-top: 25px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mt35 {
	margin-top: 35px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.mt45 {
	margin-top: 45px !important;
}
.mt50 {
	margin-top: 50px !important;
}
.mt55 {
	margin-top: 55px !important;
}
.mt60 {
	margin-top: 60px !important;
}
.mt65 {
	margin-top: 65px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb15 {
	margin-bottom: 15px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb25 {
	margin-bottom: 25px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb35 {
	margin-bottom: 35px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb45 {
	margin-bottom: 45px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.mb55 {
	margin-bottom: 55px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}
.mb65 {
	margin-bottom: 65px !important;
}
.pt0 {
	padding-top: 0px !important;
}
.pt10 {
	padding-top: 10px !important;
}
.pt15 {
	padding-top: 15px !important;
}
.pt20 {
	padding-top: 20px !important;
}
.pt25 {
	padding-top: 25px !important;
}
.pt30 {
	padding-top: 30px !important;
}
.pt35 {
	padding-top: 35px !important;
}
.pt40 {
	padding-top: 40px !important;
}
.pt45 {
	padding-top: 45px !important;
}
.pt50 {
	padding-top: 50px !important;
}
.pt55 {
	padding-top: 55px !important;
}
.pt60 {
	padding-top: 60px !important;
}
.pt65 {
	padding-top: 65px !important;
}
.pb10 {
	padding-bottom: 10px !important;
}
.pb15 {
	padding-bottom: 15px !important;
}
.pb20 {
	padding-bottom: 20px !important;
}
.pb25 {
	padding-bottom: 25px !important;
}
.pb30 {
	padding-bottom: 30px !important;
}
.pb35 {
	padding-bottom: 35px !important;
}
.pb40 {
	padding-bottom: 40px !important;
}
.pb45 {
	padding-bottom: 45px !important;
}
.pb50 {
	padding-bottom: 50px !important;
}
.pb55 {
	padding-bottom: 55px !important;
}
.pb60 {
	padding-bottom: 60px !important;
}
.pb65 {
	padding-bottom: 65px !important;
}
}

@media screen and (max-width: 767px) {
.contWrap {
	margin-top: 9.375vw;
	padding: 0 4.6875%;
	font-size: 1.3rem;
	line-height: 1.5;
}
.contWrap p {
	margin-bottom: 1em;
	line-height: 1.53;
}
.contWrap img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
.mt10 {
	margin-top: 1.5625vw !important;
}
.mt15 {
	margin-top: 2.34375vw !important;
}
.mt20 {
	margin-top: 3.125vw !important;
}
.mt25 {
	margin-top: 3.90625vw !important;
}
.mt30 {
	margin-top: 4.6875vw !important;
}
.mt35 {
	margin-top: 5.46875vw !important;
}
.mt40 {
	margin-top: 6.25vw !important;
}
.mt45 {
	margin-top: 7.03125vw !important;
}
.mt50 {
	margin-top: 7.8125vw !important;
}
.mt55 {
	margin-top: 8.59375vw !important;
}
.mt60 {
	margin-top: 9.375vw !important;
}
.mt65 {
	margin-top: 10.15625vw !important;
}
.mb10 {
	margin-bottom: 1.5625vw !important;
}
.mb15 {
	margin-bottom: 2.34375vw !important;
}
.mb20 {
	margin-bottom: 3.125vw !important;
}
.mb25 {
	margin-bottom: 3.90625vw !important;
}
.mb30 {
	margin-bottom: 4.6875vw !important;
}
.mb35 {
	margin-bottom: 5.46875vw !important;
}
.mb40 {
	margin-bottom: 6.25vw !important;
}
.mb45 {
	margin-bottom: 7.03125vw !important;
}
.mb50 {
	margin-bottom: 7.8125vw !important;
}
.mb55 {
	margin-bottom: 8.59375vw !important;
}
.mb60 {
	margin-bottom: 9.375vw !important;
}
.mb65 {
	margin-bottom: 10.15625vw !important;
}
.pt10 {
	padding-top: 1.5625vw !important;
}
.pt15 {
	padding-top: 2.34375vw !important;
}
.pt20 {
	padding-top: 3.125vw !important;
}
.pt25 {
	padding-top: 3.90625vw !important;
}
.pt30 {
	padding-top: 4.6875vw !important;
}
.pt35 {
	padding-top: 5.46875vw !important;
}
.pt40 {
	padding-top: 6.25vw !important;
}
.pt45 {
	padding-top: 7.03125vw !important;
}
.pt50 {
	padding-top: 7.8125vw !important;
}
.pt55 {
	padding-top: 8.59375vw !important;
}
.pt60 {
	padding-top: 9.375vw !important;
}
.pt65 {
	padding-top: 10.15625vw !important;
}
.pb10 {
	padding-bottom: 1.5625vw !important;
}
.pb15 {
	padding-bottom: 2.34375vw !important;
}
.pb20 {
	padding-bottom: 3.125vw !important;
}
.pb25 {
	padding-bottom: 3.90625vw !important;
}
.pb30 {
	padding-bottom: 4.6875vw !important;
}
.pb35 {
	padding-bottom: 5.46875vw !important;
}
.pb40 {
	padding-bottom: 6.25vw !important;
}
.pb45 {
	padding-bottom: 7.03125vw !important;
}
.pb50 {
	padding-bottom: 7.8125vw !important;
}
.pb55 {
	padding-bottom: 8.59375vw !important;
}
.pb60 {
	padding-bottom: 9.375vw !important;
}
.pb65 {
	padding-bottom: 10.15625vw !important;
}
}

.text-large{
	font-size:16px;
}

@media screen and (min-width:768px) {
	.text-large{
		font-size:18px;
	}
}
/* ------------------------ 

heading

------------------------ */
.pageTitle {
	background-color: #f6f6f6;
	color: #555;
}
.secTitle {
	border-top: 1px solid #888;
	border-bottom: 1px solid #ddd;
	text-align: center;
}
.subTitle {
	color: #699e2b;
}
.blockTitle {
	position: relative;
	color: #222;
	line-height: 1.3;
}
.blockTitle::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #ccc;
}
.readTitle {
	display: inline-block;
	border: 1px solid #9cd35c;
	margin: 0 auto;
	margin-bottom: 35px;
}
.readTitle span {
	display: inline-block;
	border: 1px solid #9cd35c;
	padding: 22px 68px;
	font-size: 22px;
	color: #9cd35c;
	background-color: #fff;
	margin: 3px -4px -6px 4px;
}

@media screen and (min-width:768px) {
.pageTitle {
	padding: 35px 28px 35px;
	font-size: 28px;
	letter-spacing: 4px;
}
.secTitle {
	margin-bottom: 30px;
	padding: 1.8em 0;
	font-size: 24px;
	letter-spacing: 2px;
}
.subTitle {
	margin-bottom: 20px;
	font-size: 22px;
	line-height: 1.4;
}
.blockTitle {
	margin-bottom: 15px;
	padding-left: 16px;
	font-size: 19px;
}
.blockTitle::before {
	width: 5px;
	height: 21px;
}
}

@media screen and (max-width: 767px) {
.pageTitle {
	padding: 1.2em 0.75em;
	font-size: 2rem;
	letter-spacing: 0.2rem;
}
.secTitle {
    padding: 1em 0;
	margin-bottom: 6.375vw;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}
.subTitle {
	margin-bottom: 0.5em;
	font-size: 1.9rem;
}
.blockTitle {
	margin-bottom: 1em;
	padding-left: 8px;
	font-size: 1.4rem;
}
.blockTitle::before {
	width: 3px;
	height: 1.6rem;
}
.readTitle span {
	padding: 12px 10vw;
	font-size: 1.6rem;
}
}
/* ------------------------ 

key visual

------------------------ */
.kv {
	position: relative;
}
.kv img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

@media screen and (min-width:768px) {
}

@media screen and (max-width: 767px) {
}
/* ------------------------ 

color

------------------------ */
.txt_gr {
	color: #699e2b;
}
/* ------------------------ 

align

------------------------ */
.align-center {
	text-align: center !important;
}
.align-left {
	text-align: left !important;
}
.align-right {
	text-align: right !important;
}
/* ------------------------ 

icon

------------------------ */
.icon_check {
	background: url(/common/img/icon_check_gr.png) 0 0.3em no-repeat;
}
.icon_window::after {
	display: inline-block;
	content: "";
	background: url(/common/img/icon_window.png) right center no-repeat;
	background-size: cover;
	vertical-align: middle;
}

@media screen and (min-width:768px) {
.icon_check {
	padding-left: 32px;
}
.icon_window::after {
	margin-left: 5px;
	width: 14px;
	height: 14px;
}
}

@media screen and (max-width: 767px) {
.icon_check {
	padding-left: 1.5rem;
	background-size: 1rem;
}
.icon_window::after {
	margin-left: 0.3rem;
	width: 1rem;
	height: 1rem;
}
}
/* ------------------------ 

table

------------------------ */
.tblStd {
	width: 100%;
}
.tblStd tbody th, .tblStd tbody td {
	border-bottom: 1px dotted #bbb;
	text-align: left;
	vertical-align: top;
	line-height: 1.5;
}

@media screen and (min-width:768px) {
.tblStd {
	margin-bottom: 30px;
}
.tblStd tbody th {
	padding: 1em 0;
}
.tblStd tbody td {
	padding: 1em;
}
}

@media screen and (max-width: 767px) {
.tblStd {
	margin-bottom: 1.5rem;
}
.tblStd tbody th, .tblStd tbody td {
	padding: 0.5em;
}
.tblWrap {
	position: relative;
	overflow: auto;
}
.tblWrap th, .tblWrap td {
	white-space: nowrap;
}
}
/* ------------------------ 

list

------------------------ */
.ul_disc li {
	padding-left: 1.0em;
	text-indent: -1.0em;
	line-height: 1.7;
	margin: 8px 0;
}
.ul_disc li::before {
	content: "・";
}
/* ------------------------ 

button

------------------------ */
.btn_more {
	position: relative;
	display: block;
	border: 1px solid #bbb;
	background-color: #fff;
	color: #888;
	box-sizing: border-box;
	text-decoration: none !important;
}
.btn_more::after {
	content: "";
	display: block;
	background: url(/common/img/arrow_more.svg) 0 0 no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
.btn_more:hover {
	opacity: 0.7;
}

@media screen and (min-width:768px) {
.btn_more {
	width: 150px;
	padding: 13px 30px 12px 10px;
	font-size: 13px;
}
.btn_more::after {
	right: 10px;
	width: 14px;
	height: 16px;
}
}

@media screen and (max-width: 767px) {
.btn_more {
	width: 100%;
	padding: 0.6rem 1.5rem 0.6rem 0.5rem;
	font-size: 1.1rem;
}
.btn_more::after {
	right: 1rem;
	width: 0.7rem;
	height: 0.8rem;
}
}
/* ------------------------ 

form

------------------------ */
.searchForm {
	display: block;
	position: relative;
}
.searchForm input[type="text"], .search_results input[type="text"] {
	width: 100%;
	border: 1px solid #ddd;
	box-sizing: border-box;
	outline: none;
	-webkit-appearance: none;
}
.searchForm input[type="submit"], .search_results input[type="button"] {
	position: absolute;
	top: 1px;
	right: 5px;
	outline: none;
	border: none;
	background: #fff url(/common/img/btn_search_2.png) center center no-repeat;
	text-indent: -9999px;
	cursor: pointer;
}
.search_results .gsc-control-cse {
	padding: 0;
}
.search_results .gsc-search-box {
	display: block !important;
	position: relative;
}
.search_results .gsc-search-box tbody, .search_results .gsc-search-box tr, .search_results .gsc-search-box td {
	display: block;
}
.search_results table.gsc-search-box td.gsc-input {
	display: block;
	padding-right: 0;
}
.search_results input[type="text"] {
	background-position: 0.6em center !important;
}
.search_results .gsc-clear-button {
	display: none;
}
.search_results .gsc-results .gsc-cursor {
	display: block;
	width: 100%;
	text-align: center;
}
.search_results .gsc-results .gsc-cursor-box div {
	display: inline-block;
	border: none;
	color: #666;
}
.search_results .gsc-results .gsc-cursor-box .gsc-cursor-current-page {
	color: #333;
	font-weight: bold;
}

@media screen and (min-width:768px) {
.searchForm input[type="text"], .search_results input[type="text"] {
	padding: 21px 20px;
	font-size: 15px;
}
.searchForm input[type="submit"], .search_results input[type="button"] {
	width: 58px;
	height: 58px;
}
.search_results td.gsc-search-button {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: auto;
}
.search_results .gsc-search-box {
	margin-bottom: 40px;
}
.search_results .gsc-above-wrapper-area {
	padding: 0;
	border-bottom: none;
}
.search_results .gsc-wrapper, .search_results .gsc-table-result {
	margin-top: 40px;
}
.search_results .gsc-thumbnail {
	width: 170px;
	display: table-cell !important;
}
.search_results .gs-web-image-box {
	padding: 0;
	width: auto;
}
.search_results .gsc-thumbnail img.gs-image {
	max-width: 150px;
	max-height: auto;
	border: none;
	vertical-align: top;
}
.search_results .gsc-table-cell-snippet-close {
	width: auto;
}
.search_results .gs-snippet {
	margin: 5px 0 15px;
	font-size: 14px;
	line-height: 1.56;
}
.search_results .gsc-results .gsc-cursor {
	margin-top: 50px;
	font-size: 14px;
}
.search_results .gsc-results .gsc-cursor-box div {
	margin-left: 3px;
	margin-right: 3px;
}
}

@media screen and (max-width: 767px) {
.searchForm input[type="text"], .search_results input[type="text"] {
	padding: 15px 33px 15px 7px;
	height: 46px;
	font-size: 1rem;
}
.searchForm input[type="submit"], .search_results input[type="button"] {
	right: 1px;
	width: 33px;
	height: 44px;
	background-size: 18px;
}
.search_results .gsc-results .gsc-cursor-box {
	margin-bottom: 2.5rem
}
.search_results .gsc-results .gsc-cursor {
	margin-top: 2.5rem;
	font-size: 1.4rem;
}
.search_results .gsc-results .gsc-cursor-box div {
	margin-left: 0.3rem;
	margin-right: 0.3rem;
}
}

/* ------------------------ 

image layout

------------------------ */
@media screen and (min-width:768px) {
.imgLeft, .imgRight {
	overflow: hidden;
}
.imgLeft .imgLeft_figure {
	float: left;
	width: 400px;
	margin-bottom: 30px;
}
.imgLeft .imgLeft_figure img {
	width: 100%;
	height: auto;
}
.imgLeft .imgLeft_text {
	float: right;
	width: calc(100% - 430px)
}
.imgRight .imgRight_figure {
	float: right;
	width: 400px;
	margin-bottom: 30px;
}
.imgRight .imgRight_figure img {
	width: 100%;
	height: auto;
}
.imgRight .imgRight_text {
	float: left;
	width: calc(100% - 430px)
}
.imgLeft figure:not(:first-child), .imgRight figure:not(:first-child) {
	margin-top: 20px;
}
.imgLeft_480 .imgLeft_figure, .imgRight_480 .imgRight_figure {
	width: 480px;
}
.imgLeft_480 .imgLeft_text, .imgRight_480 .imgRight_text {
	width: calc(100% - 500px)
}
}

@media screen and (max-width: 767px) {
.imgLeft .imgLeft_figure, .imgRight .imgRight_figure {
	margin-bottom: 1em;
}
.imgLeft figure, .imgRight figure {
	margin-bottom: 1em;
}
.imgLeft .imgLeft_figure img, .imgRight .imgRight_figure img {
	width: 100%;
	height: auto;
}
}
/* ------------------------ 

column

------------------------ */
.col2 > div figure img, .col3 > div figure img, .col4 > div figure img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.col1 > div figure img{
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
.col1 > div figure figcaption, .col2 > div figure figcaption, .col3 > div figure figcaption, .col4 > div figure figcaption {
	line-height: 1.3;
}
.col_txt > div {
	position: relative;
	border: 1px solid #f2f2f2;
	background-color: #f6f6f6;
	height: 0;
	box-sizing: border-box;
}
.col_txt > div >p {
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	margin: auto;
	text-align: center;
	color: #444;
	line-height: 1.5;
}
.col_txt > div >p span {
	color: #666;
}

@media screen and (min-width:768px) {
.col2, .col3, .col4 {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.col2, .col4 {
	margin-right: -20px;
}
.col3 {
	margin-right: -30px;
}
.col2 > div {
	width: calc(50% - 20px);
	margin-top: 40px;
	margin-right: 20px;
}
.col3 > div {
	width: calc(33.3333% - 30px);
	margin-top: 30px;
	margin-right: 30px;
}
.col4 > div {
	width: calc(25% - 20px);
	margin-top: 20px;
	margin-right: 20px;
}
.col2 > div:nth-child(-n+2), .col3 > div:nth-child(-n+3), .col4 > div:nth-child(-n+4) {
	margin-top: 0;
}
.col1 > div figure img, .col2 > div figure img, .col3 > div figure img, .col4 > div figure img {
	margin-bottom: 7px;
}
.col3.col_txt > div {
	padding-top: 8em;
}
.col4.col_txt > div {
	padding-top: 5.5em;
}
.col_txt > div >p {
	font-size: 18px;
}
.col_txt > div >p span {
	font-size: 15px;
}
}

@media screen and (max-width: 767px) {
.col2 > div, .col3 > div, .col4 > div {
	margin-bottom: 1.5rem;
}
.col2 > div figure img, .col3 > div figure img, .col4 > div figure img {
	margin-bottom: 0.3em;
}
.col_txt > div {
	padding-top: 21%;
}
.col_txt > div >p {
	font-size: 1.4rem;
}
.col_txt > div >p span {
	font-size: 1rem;
}
}
/* ------------------------ 

inCatLink

------------------------ */
.inCatLink {
	background: url(/common/img/line_inCatLink.png) 0 bottom repeat-x;
}
.inCatLink li a {
	display: block;
	padding: 1em 0;
	color: #555;
}
.inCatLink li a.current {
	font-weight: bold;
}

@media screen and (min-width:768px) {
.inCatLink {
	padding: 8px 4px 0;
	overflow: hidden;
}
.inCatLink li {
	float: left;
	padding: 0 26px;
}
.inCatLink li a.current {
	border-bottom: 3px solid #84C636;
}
}

@media screen and (max-width: 767px) {
.inCatLink {
	margin: 0 4.6875% 1.5em;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	overflow: auto;
}
.inCatLink li {
	padding: 0 1.2rem;
	white-space: nowrap;
	font-size: 1.2rem;
}
.inCatLink li a.current {
	border-bottom: 1px solid #84C636;
}
}
/* ------------------------ 

to Contact

------------------------ */
.toContact {
	border-top: solid #bbb;
	border-bottom: 1px solid #bbb;
	text-align: center;
}
.toContact h1 {
	border-top: 1px solid #ddd;
	line-height: 1.1;
}
.toContact div {
	border-bottom: 1px solid #ddd;
}
.toContact a ,.contWrap .btn-large{
	display: block;
	margin: auto;
	border: 1px solid #84C636;
	color: #72ab2f;
	font-weight: bold;
	text-decoration: none;
}

@media screen and (min-width:768px) {
.toContact {
	border-top-width: 2px;
	padding: 3px 0;
}
.toContact h1 {
	padding-top: 50px;
	font-size: 24px;
}
.toContact p {
	margin-top: 14px;
	font-size: 16px;
	line-height: 1.1;
}
.toContact div {
	padding: 24px 0 62px;
}
.toContact a ,.btn-large{
	padding: 26px 0 24px;
	font-size: 18px;
	width: 56.66666666666667%;
	max-width: 678px;
}
}

@media screen and (max-width: 767px) {
.toContact {
	border-top-width: 1px;
	padding: 2px 0;
}
.toContact h1 {
	padding-top: 2em;
	font-size: 2rem;
}
.toContact p {
	margin-top: 1.3em;
	font-size: 1.3rem;
	line-height: 1.53;
}
.toContact div {
	padding: 1.5rem 0 4rem;
}
.toContact a ,.btn-large{
	padding: 1.3rem 0;
	font-size: 1.3rem;
	width: 90.625%;
}
}
/* ------------------------ 

page navi

------------------------ */
.wp-pagenavi {
	text-align: center;
}
.wp-pagenavi a, .wp-pagenavi span {
	display: inline-block;
}
.wp-pagenavi span {
	font-weight: bold;
}

@media screen and (min-width:768px) {
.wp-pagenavi {
	margin-top: 50px;
	font-size: 14px;
}
.wp-pagenavi a, .wp-pagenavi span {
	margin: 0 3px;
}
}

@media screen and (max-width: 767px) {
.wp-pagenavi {
	margin: 2.5rem 0;
	font-size: 1.4rem;
}
.wp-pagenavi a, .wp-pagenavi span {
	margin: 0 0.3rem;
}
}
/* ================ 

2nd level

================ */
/* ------------------------ 

title

------------------------ */
.level2 .pageTitle_bg {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	text-align: center;
}

@media screen and (min-width:768px) {
.level2 .pageTitle_bg {
	padding-top: 29.16666666666667%;
}
}

@media screen and (max-width: 767px) {
.level2 .pageTitle_bg {
	padding-top: 54.6875%;
}
}
/* ------------------------ 

to lower level

------------------------ */
.toLower_1 > li, .toLower_2 > li {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	box-sizing: border-box;
}
.toLower_1 > li > div, .toLower_2 > li > div {
	text-align: left;
}
.toLower_1 .toLower_1_img {
	width: 47.91666666666667%;
}
.toLower_1 .toLower_1_img img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
.toLower_1 .toLower_1_txt p, .toLower_2 .toLower_2_txt p {
	margin-bottom: 0;
}
.toLower_1 .toLower_1_txt .toLower_1_title {
	line-height: 1.1;
}
.toLower_1 .toLower_1_txt .toLower_1_title span {
	display: block;
}
.toLower_2 .toLower_2_txt .toLower_2_title {
	border-bottom: 1px solid #aaa;
}
.toLower_3 > li {
}
.toLower_3 > li a {
	display: block;
	color: #555;
	text-decoration: none;
	border: 1px solid #ddd;
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: contain;
	box-sizing: border-box;
}
.toLower_3 > li a::after {
	display: block;
	content: "";
	background: url(/common/img/bg_corner.svg) 0 0 no-repeat;
	background-size: cover;
	position: absolute;
	right: 2px;
	top: 2px;
}
.toLower_3 > li a .toLower_3_title {
	border-bottom: 1px solid #aaa;
	color: #333;
	line-height: 1.1;
}

@media screen and (min-width:1380px) {
.toLower_3 {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 -20px 45px 0;
}
.toLower_3 > li {
	position: relative;
	width: 33.3333%;
	margin-top: 20px;
}
.toLower_3 > li:nth-child(-n+3) {
	margin-top: 0;
}
.toLower_3 > li a {
	min-height: 142px;
	height: 100%;
	padding: 5.222222222222222% 30.33333333333333% 5.222222222222222% 4%;
	font-size: 14px;
	box-sizing: border-box;
	margin-right: 20px;
}
.toLower_3 > li a::after {
	width: 19px;
	height: 18px;
	right: 22px;
	top: 2px;
}
.toLower_3 > li a p {
	margin-bottom: 0;
	line-height: 1.5;
}
.toLower_3 > li a .toLower_3_title {
	padding-bottom: 12px;
	margin-bottom: 12px;
	font-size: 16px;
}
}

@media screen and (min-width:768px) {
.toLower_1, .toLower_2 {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.toLower_1 > li {
	width: calc(50% - 20px);
	margin-bottom: 50px;
}
.toLower_1 .toLower_1_txt {
	position: relative;
	padding: 10px 20px 54px;
	width: 52.08333333333333%;
	box-sizing: border-box;
}
.toLower_1 .toLower_1_txt p {
	font-size: 15px;
}
.toLower_1 .toLower_1_txt .toLower_1_title {
	margin-bottom: 8px;
	font-size: 24px;
}
.toLower_1 .toLower_1_txt .toLower_1_title span {
	margin-bottom: 8px;
	font-size: 20px;
}
.toLower_1 .toLower_1_txt .btn_more {
	position: absolute;
	bottom: 14px;
	left: 20px;
}
.toLower_2 {
	padding-right: 40px;
}
.toLower_2 > li {
	width: calc(35.56% - 60px);
	margin-bottom: 50px;
}
.toLower_2 .toLower_2_txt {
	position: relative;
	padding-bottom: 54px;
}
.toLower_2 .toLower_2_txt p {
	font-size: 15px;
	line-height: 1.7;
}
.toLower_2 .toLower_2_txt .toLower_2_title {
	margin-bottom: 12px;
	padding-bottom: 12px;
	font-size: 22px;
	line-height: 1.1;
}
.toLower_2 .toLower_2_txt .btn_more {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 200px;
}
}

@media screen and (min-width:1024px) and (max-width:1379px) {
.toLower_3 {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 -20px 45px 0;
}
.toLower_3 > li {
	position: relative;
	width: 50%;
	margin-top: 20px;
}
.toLower_3 > li:nth-child(-n+2) {
	margin-top: 0;
}
.toLower_3 > li a {
	min-height: 142px;
	height: 100%;
	margin-right: 20px;
	padding: 7.222222222222222% 33.33333333333333% 7.222222222222222% 5%;
	font-size: 14px;
	box-sizing: border-box;
}
.toLower_3 > li a::after {
	width: 19px;
	height: 18px;
	right: 22px;
	top: 2px;
}
.toLower_3 > li a p {
	margin-bottom: 0;
	line-height: 1.5;
}
.toLower_3 > li a .toLower_3_title {
	padding-bottom: 12px;
	margin-bottom: 12px;
	font-size: 18px;
}
}

@media screen and (min-width:768px) and (max-width:1023px) {
.toLower_3 {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 45px;
}
.toLower_3 > li {
	position: relative;
	width: 100%;
	margin-top: 20px;
	margin-right: 20px;
}
.toLower_3 > li:nth-child(-n+1) {
	margin-top: 0;
}
.toLower_3 > li:nth-child(1n) {
	margin-right: 0;
}
.toLower_3 > li a {
	min-height: 164px;
	height: 100%;
	padding: 7.222222222222222% 33.33333333333333% 7.222222222222222% 5%;
	font-size: 14px;
	box-sizing: border-box;
}
.toLower_3 > li a::after {
	width: 19px;
	height: 18px;
	right: 2px;
	top: 2px;
}
.toLower_3 > li a p {
	margin-bottom: 0;
	line-height: 1.5;
}
.toLower_3 > li a .toLower_3_title {
	padding-bottom: 12px;
	margin-bottom: 12px;
	font-size: 20px;
}
}

@media screen and (max-width: 767px) {
.toLower_1 > li, .toLower_2 > li {
	margin-bottom: 2rem;
	width: 100%;
}
.toLower_1 .toLower_1_txt {
	width: 47.91666666666667%;
	padding: 0.5rem 0 0.5rem 1rem;
}
.toLower_1 .toLower_1_txt p, .toLower_2 .toLower_2_txt p {
	font-size: 1rem;
}
.toLower_1 .toLower_1_txt .toLower_1_title {
	margin-bottom: 0.4rem;
	font-size: 1.6rem;
}
.toLower_1 .toLower_1_txt .toLower_1_title span {
	margin-bottom: 0.4rem;
	font-size: 1.2rem;
}
.toLower_1 .toLower_1_txt .btn_more {
	margin-top: 1rem;
}
.toLower_2, .toLower_3 {
	margin-bottom: 2.5rem;
}
.toLower_2 .toLower_2_txt {
	padding: 0.5rem 0;
}
.toLower_2 .toLower_2_txt .toLower_2_title {
	margin-bottom: 0.5em;
	padding-bottom: 0.5em;
	font-size: 1.6rem;
}
.toLower_2 .toLower_2_txt .btn_more {
	margin-top: 1.5rem;
	width: 50%;
}
.toLower_3 > li {
	margin-top: 4.6875vw;
}
.toLower_3 > li:first-child {
	margin-top: 0;
}
.toLower_3 > li a {
	position: relative;
	padding: 5.9375vw 37.5vw 0 4.375vw;
	height: 34.375vw;
	font-size: 1.1rem;
	box-sizing: border-box;
}
.toLower_3 > li a::after {
	width: 1.5rem;
	height: 1.5rem;
}
.toLower_3 > li a .toLower_3_title {
	padding-bottom: 0.8rem;
	margin-bottom: 0.8rem;
	font-size: 1.6rem;
}
}
/* ================ 

index

================ */
/* ------------------------ 

topSlider

------------------------ */
.topSlider {
	position: relative;
	overflow: hidden;
}
.topSlider li > div {
	position: relative;
	width: 100%;
	height: 0;
	overflow: hidden;
}
.topSlider li > img {
	width: 100%;
	height: auto;
}
.topSlider button.slick-arrow {
	position: absolute;
	padding: 0;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	z-index: 10;
}
.topSlider button.slick-prev {
	background: url(/img/arrow_prev.svg) 0 0 no-repeat;
}
.topSlider button.slick-next {
	background: url(/img/arrow_next.svg) 0 0 no-repeat;
}
.slick-dots {
	position: absolute;
	display: block;
	width: 100%;
	padding: 0;
	list-style: none;
	text-align: center;
	z-index: 10;
}
.slick-dots li {
	position: relative;
	display: inline-block;
	padding: 0;
	cursor: pointer;
}
.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	padding: 0;
	cursor: pointer;
	color: transparent;
	border: 0;
	border-radius: 50%;
	outline: none;
	background: #fff;
}
.slick-dots li.slick-active button {
	background-color: #8CCB3E;
}
.topSlider_100year {
	background-position: 0 center;
	background-repeat: no-repeat;
	background-size: cover;
	text-align: center;
	color: #fff;
	text-shadow: 0.707px 0.707px 2.91px rgba(40, 40, 40, 0.14);
	font-weight: bold;
}

.topChar {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.topChar img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
}

@media screen and (min-width:768px) {
.topSlider li > div {
	padding-top: 43.33333333333333%;
}
.topSlider button.slick-arrow {
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 19px;
	height: 33px;
}
.topSlider button.slick-prev {
	left: 18px;
	background-size: cover;
}
.topSlider button.slick-next {
	right: 18px;
	background-size: cover;
}
.slick-dots {
	bottom: 29px;
}
.slick-dots li {
	width: 10px;
	height: 10px;
	margin: 0 5px;
}
.slick-dots li button {
	width: 10px;
	height: 10px;
}
.topSlider_100year {
	background-image: url(/img/slider_100year_01.jpg);
}
.topSlider li > div.topSlider_100year > div {
	width: 700px;
	font-size: 17px;
	line-height: 1.765;
}
.topSlider li > div.topSlider_100year > div > span.YuMin {
	font-size: 44px;
	letter-spacing: 0.1em;
}

}

@media screen and (max-width: 767px) {
.topSlider li > div {
	padding-top: 130.9375vw;
}
.topSlider li > div > div {
	position: absolute;
	top: 36.875vw;
	left: 0;
	right: 0;
	margin: auto;
}
.topSlider button.slick-arrow {
	top: 0;
	width: 6.875vw;
	height: 100%;
	background-position: center center;
}
.topSlider button.slick-prev {
	left: 0;
	background-size: 3.125vw;
}
.topSlider button.slick-next {
	right: 0;
	background-size: 3.125vw;
}
.slick-dots {
	bottom: 25.3125vw;
}
.slick-dots li {
	width: 1.5625vw;
	height: 1.5625vw;
	margin: 0 0.78125vw;
}
.slick-dots li button {
	width: 1.5625vw;
	height: 1.5625vw;
}
.topSlider li > div.topSlider_100year > div {
	width: 84.375vw;
	font-size: 1.1rem;
	line-height: 1.8;
}
.topSlider li > div.topSlider_100year > div > span.YuMin {
	font-size: 2.5rem;
	letter-spacing: 0.1em;
}
.topSlider li > div.topSlider_100year > div > span.YuGo {
	display: block;
	width: 71.875vw;
	margin: auto;
}
.topSlider_100year {
	background-image: url(/img/slider_100year_sp.jpg);
}
	
.topChar img {
	width: 88.59375%;
}

}
/* ------------------------ 

topInfo

------------------------ */
.topInfo {
	position: relative;
	background: url(/img/info_shadow_up.png) 0 0 repeat-x, url(/img/info_shadow_down.png) 0 bottom repeat-x;
}
.topInfo button.slick-arrow {
	position: absolute;
	padding: 0;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	z-index: 10;
}
.topInfo button.slick-prev {
	background: url(/img/arrow_prev_2.svg) 0 0 no-repeat;
}
.topInfo button.slick-next {
	background: url(/img/arrow_next_2.svg) 0 0 no-repeat;
}
.topInfo li a {
	outline: none;
}
.topInfo li, .topInfo li a p {
	color: #666;
}
.topInfo .topInfo_date {
	display: block;
	color: #888;
}
.topInfo .topInfo_title {
	display: inline-block;
}
.topInfo .topInfo_title, .topInfo .topInfo_title a {
	color: #41332e;
}

@media screen and (min-width:768px) {
.topInfo {
	padding: 40px;
}
.topInfo ul {
	background: url(/img/line_info.png) center 0 repeat-y;
}
.topInfo li {
	margin: 0 53px;
	background: #fff;
	font-size: 15px;
}
.topInfo button.slick-arrow {
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-color: #fff;
	width: 16px;
	height: 26px;
}
.topInfo button.slick-prev {
	left: 9px;
	background-size: cover;
}
.topInfo button.slick-next {
	right: 9px;
	background-size: cover;
}
.topInfo .topInfo_date {
	margin-bottom: 12px;
	line-height: 1.2;
}
.topInfo .topInfo_title {
	margin-bottom: 0;
	font-size: 20px;
}
}

@media screen and (max-width: 767px) {
.topInfo ul {
	padding: 6.25vw 10.9375vw;
}
.topInfo li {
	font-size: 1rem;
}
.topInfo .topInfo_date {
	margin-bottom: 0.5rem;
}
.topInfo .topInfo_title {
	margin-bottom: 1rem;
	font-size: 1.3rem;
}
.topInfo button.slick-arrow {
	top: 0;
	width: 10.9375vw;
	height: 100%;
	background-position: center center
}
.topInfo button.slick-prev {
	left: 0;
	background-size: 2.34375vw;
}
.topInfo button.slick-next {
	right: 0;
	background-size: 2.34375vw;
}
}
/* ------------------------ 

お知らせ

------------------------ */
.topTopics {
  margin: 4.6875vw 4.6875vw 0;
  padding: 4.175vw 4.6875vw;
  border: 6px solid #83c636;
}
.topTopics .headline{
  font-size: 20px;
  letter-spacing: 0.1em;
  padding: 0.25rem 0;
  margin-top: 1.25rem;
}
.topTopics .items {
  padding: 1rem 0 0;
}
.topTopics .item{
  font-size: 14px;
  padding: 1.25rem 0;
  line-height: 1.4;
  border-bottom: 1px solid rgb(216, 213, 201);
}
.topTopics .item:last-child{
  border-bottom:none;
}
@media screen and (min-width:768px) {
  .topTopics {
    margin: 16px 2.2% 0;
	  padding: 24px 0 ;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .topTopics .items{
    padding: 0 4.2vw 0 0;
    flex: 1;
  }
  .topTopics .item{
    font-size: 16px;
    padding: 1.0rem 0;
  }
}
  .topTopics .headline{
    font-size: 20px;
    letter-spacing: 0.1em;
    padding: 0.25rem 4.2vw;
    margin: 0;
  }
  .topTopics .item a{
    color: #333;
  }
  .topTopics .item a:hover{
    text-decoration: underline;
  }
/* ------------------------ 

topPickup

------------------------ */
.topPickup ul li {
	text-align: center;
}
.topPickup ul li img {
	display: block;
	width: 100%;
}
.topPickup ul li a {
	display: block;
	position: relative;
	color: #333;
}
.topPickup ul li a::after {
	content: "";
	display: block;
	position: absolute;
	background-color: #e0e0e0;
	left: 0;
	right: 0;
	margin: auto;
}

@media screen and (min-width:768px) {
.topPickup {
	padding: 39px 1.5%;
}
.topPickup ul {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.topPickup ul li {
	width: 24.44061962134251%;
	font-size: 20px;
}
.topPickup ul li a {
	border: 6px solid #fff;
	padding: 5px 5px 20px;
}
.topPickup ul li a:hover {
	border-color: #BAE08B;
}
.topPickup ul li a img {
	margin-bottom: 18px;
}
.topPickup ul li a::after {
	width: 50px;
	height: 3px;
	bottom: 5px;
}
}

@media screen and (max-width: 767px) {
.topPickup {
	padding: 9.375vw 4.6875vw 4.6875vw;
}
.topPickup ul li {
	margin-bottom: 2.34375vw;
	font-size: 1.5rem;
}
.topPickup ul li a {
	padding-bottom: 4.6875vw;
}
.topPickup ul li a img {
	margin-bottom: 18px;
}
.topPickup ul li a::after {
	width: 7.8125vw;
	height: 2px;
	bottom: 2.34375vw;
}
}
/* ------------------------ 

topNews

------------------------ */
.topNews {
	background-color: #F1F1F0;
}
.topNews_head a {
	display: block;
	color: #fff;
}
.topNews > ul > li {
	border-bottom: 1px solid #D8D5C9;
}
.topNews > ul > li a {
	color: #333;
}
.topNews > ul > li a:hover {
	text-decoration: underline;
}
.topNews .post-categories a {
	text-align: center;
	color: #fff;
	font-family: "Yu Gothic", YuGothic, sans-serif;
}
.topNews .category-event .post-categories a {
	background-color: #FF7F4C;
}
.topNews .category-recruit .post-categories a {
	background-color: #F76171;
}

.topNews .category-corp .post-categories a {
	background-color: #2798be;
}

.topNews .category-product .post-categories a {
	background-color: #50b670;
}

.topNews .category-notice .post-categories a {
	background-color: #dfa12f;
}

@media screen and (min-width:768px) {
.topNews {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	padding: 20px 70px 20px 29px;
}
.topNews_head {
	background-color: #fff;
	padding: 60px 25px 0;
	margin-right: 30px;
	width: 210px;
	min-height: 200px;
	box-sizing: border-box;
	text-align: center;
}
.topNews_head h2 {
	margin-bottom: 20px;
	font-size: 26px;
	letter-spacing: 0.1em;
}
.topNews_head a {
	background: #84C636 url(/img/icon_more.svg) 127px center no-repeat;
	line-height: 40px;
	font-size: 16px;
}
.topNews > ul {
	width: calc(100% - 240px);
}
.topNews > ul > li {
	position: relative;
	padding: 14px 0 12px 17em;
	line-height: 1.6;
}
.topNews > ul > li:last-child {
	border-bottom: none;
}
.topNews .topNews_date {
	position: absolute;
	top: 14px;
	left: 0;
}
.topNews .post-categories a {
	position: absolute;
	top: 0;
	left: 10em;
	display: block;
	width: 104px;
	height: 24px;
	line-height: 24px;
	font-size: 15px;
}
}

@media screen and (max-width: 767px) {
.topNews {
	padding-bottom: 3rem;
}
.topNews_head {
	padding: 2rem 1.5rem;
	overflow: hidden;
}
.topNews_head h2 {
	float: left;
	font-size: 2.2rem;
	line-height: 3.5rem;
}
.topNews_head a {
	float: right;
	background: #84C636;
	width: 8rem;
	line-height: 3.5rem;
	font-size: 1.1rem;
	text-align: center;
}
.topNews_head a::after {
	display: inline-block;
	content: "";
	width: 1.1rem;
	height: 1.1rem;
	margin-left: 0.6rem;
	background: url(/img/icon_more.svg) 0 0 no-repeat;
	background-size: cover;
	vertical-align: middle;
}
.topNews > ul {
	border-top: 1px solid #D8D5C9;
}
.topNews > ul > li {
	padding: 1.5rem;
	font-size: 1.3rem;
}
.topNews .topNews_date {
	margin-bottom: 0.6rem;
	font-size: 1rem;
}
.topNews .post-categories {
	display: inline-block;
	margin-left: 0.9rem;
}
.topNews .post-categories a {
	display: inline-block;
	width: 7rem;
	line-height: 1.6rem;
}
}
/* ------------------------ 

topNav

------------------------ */
.topNav li {
	background-color: #333;
}
.topNav a {
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-top: 50%;
	overflow: hidden;
}
.topNav a img {
	width: 100%;
	position: absolute;
}
.topNav a span {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	border: 1px solid #fff;
	box-sizing: border-box;
	font-weight: 600;
	text-align: center;
	color: #fff;
}
.topNav a::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 0;
	background: url(/img/btn_topNav.png) 0 0 no-repeat;
	background-size: cover;
}

@media screen and (min-width:768px) {
.topNav > ul {
	margin: 50px auto 30px;
	width: 95%;
	overflow: hidden;
}
.topNav li {
	float: left;
	width: 31.57894736842105%;
	margin-right: 2.631578947368421%;
	margin-bottom: 30px;
}
.topNav li:nth-child(3n) {
	margin-right: 0;
}
.topNav a img {
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	opacity: 0.8;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
	-webkit-transition: opacity 0.5s ease 0.2s, width 0.5s ease 0.2s;
	transition: opacity 0.5s ease 0.2s, width 0.5s ease 0.2s;
}
.topNav a:hover img {
	width: 120%;
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	-webkit-transition: opacity 0.5s ease 0.2s, width 0.5s ease 0.2s;
	transition: opacity 0.5s ease 0.2s, width 0.5s ease 0.2s;
}
.topNav a span {
	max-width: 220px;
	height: 44px;
	line-height: 44px;
	font-size: 20px;
}
.topNav a::after {
	width: 37px;
	height: 64px;
}
}

@media all and (-ms-high-contrast:none) {
.topNav a span {
	width: 220px;
}
}

@media screen and (max-width: 767px) {
.topNav > ul {
	margin: 9.375vw auto 6.25vw;
	width: 90.625%;
	overflow: hidden;
}
.topNav li {
	margin-bottom: 6.25vw;
}
.topNav a img {
	top: 0;
	left: 0;
	opacity: 0.8;
}
.topNav a span {
	width: 50vw;
	height: 10vw;
	line-height: 10vw;
	font-size: 4.6875vw;
}
.topNav a::after {
	width: 24px;
	height: 40px;
}
}


/* 201812追記 */
/* lang */
.lang {
	padding: 20px 20px 0;
	box-sizing: border-box;
}
.lang ul {
	display: table;
	width: 100%;
	font-size:14px;
}
.lang li {
	display: table-cell;
	width: 50%;
	border-left: none;
	border-right: solid 1px rgb(208, 208, 208);
	border-top: solid 1px rgb(208, 208, 208);
	border-bottom: solid 1px rgb(208, 208, 208);
}
.lang li:first-child {
	border-left: solid 1px rgb(208, 208, 208);
	border-right: none;
	border-top: solid 1px rgb(208, 208, 208);
	border-bottom: solid 1px rgb(208, 208, 208);
}
.lang a {
	display: block;
	padding: 10px 0 10px;
	margin: auto;
	text-align: center;
	color: #888;
}
.lang li.active {
	text-align: center;
	color: #fff;
	background-color: #84c636;
	border-left: solid 1px #84c636;
	border-right: solid 1px #84c636;
	border-top: solid 1px #84c636;
	border-bottom: solid 1px #84c636;
}
.lang li.active:first-child {
	border-left: solid 1px #84c636;
	border-right: none;
	border-top: solid 1px #84c636;
	border-bottom: solid 1px #84c636;
}
.lang li:hover {
	color: #fff;
	background-color: #84c636;
	border: 1px solid #84c636;
}
.lang li:hover a {
	color: #fff;
}
.lang li.active a {
	text-align: center;
	color: #fff;
	padding-left: 15px;
	background-image: url(/common/img/icon_check_wh.png);
	background-repeat: no-repeat;
	background-position: 8px 50%;
}
@media screen and (max-width: 1023px) {
	.navWrap {
		width: 100%;
	}
	.lang {
		padding: 0;
        margin: 0 9.375vw 6.25vw 9.375vw;
	}
	.lang ul {
		font-size:12px;
	}
}
.p-card{
    display: flex;
    flex-wrap:wrap;
    justify-content: space-between;
    margin-bottom: 60px;
}

.page_material .p-card{
    margin-bottom: 0px;
}

.p-card li{
    width: 48.8%;
    margin-bottom: 20px;
    border: 1px solid #777777;
}

@media screen and (min-width: 1600px) {
	.p-card li{
		width: 49.2%;
	}
}

.p-card li.p-card-item a {
    display: block;
    padding: 0 16px;
    text-decoration: none;
    position: relative;
}

.p-card li.p-card-item a:hover{
    opacity: 0.7;
}

.p-card li.p-card-item a .p-card-title {
    color: #000;
    display: block;
    border-bottom: 1px solid #DDDDDD;
    padding: 16px 0;
}

.p-card li.p-card-item a .p-card-body {
    display: flex;
    justify-content: space-between;
    padding: 16px 0;
}

.p-card li.p-card-item a .p-card-lead {
    flex: 1;
    color: #707070;
    font-size: 14px;
    padding: 0 0 0 16px ;
    line-height: 1.4;
    order: 2;
}

.p-card li.p-card-item a .p-card-photo {
	width: 138px;
	height: 125px;
	overflow: hidden;
	position: relative;
    order: 1;
}

.p-card li.p-card-item a .p-card-photo img {
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.p-card li.p-card-item a::after{
    width: 20px;
    height: 20px;
    display: block;
    content: "";
    background: url(/common/img/bg_corner.svg) 0 0 no-repeat;
    background-size: cover;
    position: absolute;
    right: 0px;
    top: 0px;
}

@media screen and (max-width: 767px) {
    .p-card{
        margin-bottom: 30px;
    }
    .p-card li{
        width: 100%;
    }
    
    .p-card li.p-card-item a .p-card-photo {
        width: 120px;
        height: 136px;
    }
    
    .p-card li.p-card-item a .p-card-photo img {
        width: auto;
        height: 100%;
        max-width: none;
    }
}

.product_top_col2 div{
    margin-bottom: 40px;
}

.p-card.toBio {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.p-card.toBio li{
    width: 100%;
    max-width: 560px;
}

.product_top_search .searchForm{
    max-width: 400px;
}

.spec table {
    width: 100%;
  margin: 20px auto;
}
.spec .tbl-r02 th {
  background: #F6F6F6;
  border: solid 1px #ccc;
  padding: 16px 10px;
    line-height: 1.4;
}

.spec .tbl-r02 td{
	 line-height: 1.4;
}

@media screen and (min-width: 768px) {
.spec .tbl-r02 th {
	width: 15%;
  }
.single .spec .tbl-r02 th {
	width: 354px;
  }
}
.spec .tbl-r02 td {
    border: solid 1px #ccc;
    padding: 16px 10px;
}

@media screen and (max-width: 767px) {
  .spec .tbl-r02 th,
  .spec .tbl-r02 td {
      border-bottom: none;
      display: block;
  }
  .spec .tbl-r02 .last td:last-child {
    border-bottom: solid 1px #ccc;
  }
  .spec .tbl-r02 {
    width: 100%;
  }
}

.list-style-disc {
    list-style: disc;
    margin-left: 1.5rem;
    line-height: 1.4;
}

.list-style-disc li{
    margin: 0.5rem 0 ;
}

.detail-header {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.detail-header .slider {
    width: 375px;
}

.detail-header .slider img {
    width: 100%;
}

.detail-header .slider-for{
    width: 375px;
    min-height: 260px;
}

.detail-header .slider-nav .slick-list{
    padding: 0 !important;
}

.detail-header .info{
    padding: 0 24px;
    flex: 1;
}

.detail-header h2 {
font-size: 24px;
padding: 0 0 12px 0;
border-bottom: 1px solid #ccc;
margin: 0 0 16px 0;
	line-height: 1.2;
}

.detail-header .subTitle {
    color: #707070;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
}

.detail-header .list-style-disc {
    color: #707070;
    list-style: disc;
    margin-left: 1.5rem;
    font-size: 14px;
    line-height: 1.4;
}


.detail-header p {
    color: #707070;
    font-size: 14px;
    line-height: 1.4;
}

.detail-header .info-contents p{
	font-size: 16px;
	line-height: 1.6;
}

.detail-header .cover {
    width: 448px;
    overflow: hidden;
}

.detail-header .cover img {
    width: 100%;
}

@media screen and (max-width: 767px) {
    .detail-header .slider {
        width: 100%;
    }
    .detail-header .slider-for{
        width: 100%;
        min-height: 62vw;
    }
    .detail-header .info{
        padding: 24px 4.6875%;
    }
    .detail-header .cover {
        width: 100%;
    }
    .detail-header{
        margin: 0 -4.6875%;
        margin-top: -9.375vw;
    }
    .detail-header h2 {
        font-size: 20px;
    }
    .detail-header .cover img {
        max-width: none;
        width: auto;
        height: 72vw;
    }
}

.l-card{
    display: flex;
    flex-wrap:wrap;
    justify-content: left;
    margin: 0 calc(1% / 2 * -1);
    margin-bottom: 60px;
}

.page_material .l-card{
    margin-bottom: 0px;
}

.l-card li{
    width: 32%;
    margin: 0 calc(1% / 2);
    margin-bottom: 20px;
    border: 1px solid #777777;
}

.l-card li.l-card-item a {
    display: block;
    padding: 16px;
    text-decoration: none;
    position: relative;
}

.l-card li.l-card-item a:hover{
    opacity: 0.7;
}

.l-card li.l-card-item a .l-card-title {
    color: #000;
    display: block;
    border-bottom: 1px solid #DDDDDD;
    padding: 16px 0 8px;
}

.l-card li.l-card-item a .l-card-body {
    display: flex;
    justify-content: space-between;
    padding: 16px 0 0;
}

.l-card li.l-card-item a .l-card-lead {
    flex: 1;
    color: #707070;
    font-size: 14px;
    padding: 0 0 0 0 ;
    line-height: 1.4;
}

.l-card li.l-card-item a .l-card-photo {
    width: 100%;
	overflow: hidden;
	text-align: center;
}

.l-card li.l-card-item a .l-card-photo img{
    width: 100%;
}

@media screen and (max-width: 767px) {
    .l-card{
        margin-bottom: 30px;
    }
    .l-card li{
        width: 100%;
    }
    
    .l-card li.l-card-item a .l-card-photo {
		width: 100%;
		height: 60vw;
    }
    
    .l-card li.l-card-item a .l-card-photo img {
        width: auto;
        height: 100%;
		max-width: none;
		margin: 0 auto;
    }
}

.lineup h2{
    font-size: 24px;
    padding: 0 0 16px 0;
    border-bottom: 1px solid #ccc;
    margin: 0 0 16px 0;
    color: #699E2B;
}

@media screen and (max-width: 767px) {
    .lineup h2{
        font-size: 20px;
    }
}

#menu-wrapper {
    max-width: 1000px;
    margin: 50px auto;
    width: 95%;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    #menu-wrapper {
        font-size: 1.3rem;
        line-height: 1.5;
        padding: 9.375vw 4.6875%;
        width: auto;
        margin: 0 auto;
    }
}


.mobile-trigger {
    display: none;
    font-weight: 400;
    cursor: pointer;
    border: 1px solid #84C636;
    padding: 14px 16px;
    line-height: 1;
    position: relative;
}

.mobile-trigger::after {
    content: "▼";
    display: block;
    position: absolute;
    top: 0;
    right: 14px;
    bottom: 0;
    margin: auto;
    font-size: 12px;
    color: #84C636;
    width: 12px;
    height: 12px;
}


.mobile-trigger.current::after {
    content: "▲";
}

@media screen and (max-width: 767px) {
    .mobile-trigger {
        display: block;
    }
    #menu-wrapper.current{
        position: absolute;
        background-color: #fff;
        box-shadow: 0px 5px 6px #00000029;    
        z-index: 50;
    }
}

.category-menu-primary {
    display: block;
  padding: 0px;
    margin-top: 20px;
}

@media screen and (min-width: 768px) {
    .category-menu-primary {
    display: block !important;
    }   
}
.category-menu-primary ul {
  padding: 0px;
  margin: 0px;
  list-style: none;
    display: flex;
    flex-wrap: wrap;
}
.category-menu-primary ul li {
  display: flex;
align-items: center;
  position: relative;
    width: 32%;
  margin: 0 1% 1% 0;
            border: 1px solid #CCCCCC;
        background-color: #fff;
    box-sizing: border-box;
    
}

.category-menu-primary ul li.current {
    background-color: #84C636;
    border: 1px solid #84C636;
}
.category-menu-primary ul li a {
  display: block;
  padding: 14px 32px 14px 16px;
    color: #666;
	text-decoration:none;
	line-height: 1.25;
}

.category-menu-primary ul li a:hover {
    opacity: 0.7;
}

.category-menu-primary ul li.current a{
    color: #fff;
}
.category-menu-primary ul li a::after {
    content: "";
    display: block;
    background: url(/common/img/arrow_more.svg) 0 0 no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    right: 14px;
    bottom: 0;
    margin: auto;
    width: 14px;
    height: 14px;
}
.category-menu-primary ul li.menu-item-has-children > ul {
  display: none;
}
.category-menu-primary ul li.menu-item-has-children > a {
  padding-right: 60px;
}
.category-menu-primary ul ul {
  background-color: #292929;
}
.category-menu-primary ul ul ul {
  background-color: #222222;
}
.category-menu-primary ul ul ul ul {
  background-color: #1d1d1d;
}
.category-menu-primary ul ul .child-trigger {
  background: #222222;
}
.category-menu-primary ul ul ul .child-trigger {
  background: #1d1d1d;
}
.category-menu-primary ul ul li a {
  padding-left: 30px;
}
.category-menu-primary ul ul ul li a {
  padding-left: 40px;
}
.category-menu-primary ul ul ul ul li a {
  padding-left: 50px;
}

.mobile-close {
    display: none;
text-align: center;
margin: 20px 0;
    cursor: pointer;
}

.mobile-close::before {
    content: "";
    display: inline-block;
    background: url(/img/icon-close.svg) 0 0 no-repeat;
    background-size: contain;
    margin: auto;
    width: 20px;
    height: 20px;
    vertical-align: middle;
}

@media screen and (max-width: 767px) {
    .category-menu-primary{
        display: none;
    }
    .category-menu-primary ul li {
        width: 49%;
        margin: 0 2% 2% 0;
    }
    .category-menu-primary ul li:nth-child(2n){
        margin: 0 0 2% 0;  
    }
    .category-menu-primary ul li a::after {
        content: none;
    }
    .category-menu-primary ul li a {
        padding: 12px 14px;
    }
    .mobile-close {
        display: block;
    }
}

.flexbox{
    display: flex;
    flex-wrap: wrap;
}

.col2.col2_system > div {
	border:1px solid #84c636;
	text-align:center;
}
.col2.col2_system > div .subTitle::after {
	content:" ";
	display:block;
	height:1px;
	width:30px;
	background-color:#84C636;
}
.col2.col2_system > div .col2_system__title {
	margin-bottom:0.5em;
}
@media screen and (min-width:768px) {
	.col2.col2_system > div {
		padding:35px 35px 20px;
		box-sizing:border-box;
	}
	.col2.col2_system > div .subTitle {
		font-size:20px;
	}
	.col2.col2_system > div .subTitle::after {
		margin:10px auto 0;
	}
	.col2.col2_system > div .col2_system__title {
		font-size:24px;
	}
}
@media screen and (max-width: 767px) {
	.col2.col2_system > div {
		padding:1.5rem;
	}
	.col2.col2_system > div .subTitle {
		font-size:1.5rem;
	}
	.col2.col2_system > div .subTitle::after {
		margin:5px auto 0;
	}
	.col2.col2_system > div .col2_system__title {
		font-size:2.0rem;
	}
}

.system_flow ol li {
	position: relative;
	background-image:url(/img/system/next.png);
	background-repeat:no-repeat;
	list-style:none;
	line-height:1.5;
}
.system_flow ol li span {
	position:absolute;
	left:0;
	top:0;
	border:1px solid #699e2b;
	text-align:center;
	color:#699e2b;
	line-height:1;
	align-items: center;
	-webkit-align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
}
.system_flow ol li:last-child {
	background-image:none;
	padding-bottom:0;
}
.system_flow ol li dt {
	color:#699e2b;
}

@media screen and (min-width:768px) {
.system_flow {
width: 100%;
margin: 3rem auto;
}
.system_flow ol li {
	padding-left:80px;
	padding-bottom:50px;
	margin-bottom:20px;
	background-position:95px bottom;
}
.system_flow ol li span {
	height:60px;
	width:60px;
}
.system_flow ol li dt {
	font-size:24px;
}
}

@media screen and (max-width: 767px) {
.system_flow ol li {
	padding-left:14vw;
	background-position:15vw bottom;
	background-size: auto 25px;
	padding-bottom:35px;
	margin-bottom:20px;
}
.system_flow ol li span {
	height:11vw;
	width:11vw;
}
.system_flow ol li dt {
	font-size:1.8rem;
}
}

.link-list-text {
    list-style: none;
    margin-bottom: 1em;
}
.link-list-text li{
    margin-bottom: 1em;
}
.link-list-text li a{
    color: #333;
    position: relative;
    text-decoration: none;
    padding: 0 0 0 1.0rem;
    line-height: 1.75;
}
.link-list-text li a::after {
	content: "";
	display: block;
	background: url(/common/img/arrow_more.svg) 0 0 no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	bottom: 0;
    left: 2px;
	width: 10px;
	height: 12px;
	margin: auto;
}
.link-list-text li a:hover {
	opacity: 0.7;
}

@media screen and (min-width:768px) {
}

.link-list-btn {
    list-style: none;
    margin-bottom: 1em;
}
.link-list-btn li{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1em;
}
.link-list-btn li a{
    color: #333;
    position: relative;
    text-decoration: none;
    border: 1px solid #bbb;
    padding: 8px 30px 8px 10px;
    line-height: 1.75;
}
.link-list-btn li a::after {
	content: "";
	display: block;
	background: url(/common/img/arrow_more.svg) 0 0 no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	bottom: 0;
    right: 8px;
	width: 10px;
	height: 12px;
	margin: auto;
}
.link-list-btn li a:hover {
	opacity: 0.7;
}

.link-list-btn--type02 li {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0.85em;
}

.link-list-btn--type02 li a {
    display: flex;
	background: #84C636;
    color: #ffffff;
    position: relative;
    text-decoration: none;
    padding: 8px 16px 8px 16px;
    line-height: 1.2;
}

.link-list-btn--type02 li a:hover {
	opacity: 0.7;
}

.link-list-btn--type02 li a::after {
	display: inline-block;
	content: "";
	width: 1.1rem;
	height: 1.1rem;
	margin-left: 0.6rem;
	background: url(/img/icon_more.svg) 0 0 no-repeat;
	background-size: cover;
	vertical-align: middle;
}

@media screen and (min-width: 768px){
.br-sp {display: none; }
}

.bnr-recruit {
    padding: 20px 20px 0;
}
.bnr-recruit a{
    display: block;
}
.bnr-recruit img{
    width: 100%;
}

@media screen and (max-width: 1023px) {
    .bnr-recruit {
        padding: 6.25vw 9.375vw 0;
    }
}

.bnrbox{
	margin-bottom:50px;
}
.bnrbox a img {
    width: 100%;
}

/* ================ 

番号リスト

================ */
.ol_num li {
	padding-left: 1.5em;
    text-indent: -1.5em;
	line-height: 1.75;
}
.ol_num li::before {
	counter-increment:ol_num;
	content:counter(ol_num) "）";
}
.secTitle {counter-reset:ol_num;}

@media screen and (min-width:768px) {
.ol_num {
	margin-bottom: 35px;
}
}

@media screen and (max-width: 767px) {
.ol_num {
	margin-bottom: 2em;
}

}