@charset "utf-8";


/*========================================================================================
                                      共通
=========================================================================================*/

/* font-size フォントサイズ
------------------------------------------------------------------ */
html {
	font-size: 62.5%;
}
body {
	color: #000;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%; /* iPhone safari ランドスケープ時　文字サイズ対応 */
}


/* contentsWrap 幅
------------------------------------------------------------------ */
.innerA,
.innerB,
.innerSp {
	padding: 0 20px;
}


/* タイトル
------------------------------------------------------------------ */
.titleA {
	font-size: 2.4rem;
	line-height: 1;
	letter-spacing: 0.1em;
	padding: 40px 0 40px 20px;
}
.titleB {
	font-size: 2.0rem;
	line-height: 1;
	letter-spacing: 0.1em;
	padding: 40px 0;
	text-align: center;
}
.titleC {
	font-size: 2.4rem;
	line-height: 1.2;
	letter-spacing: 0.05em;
	padding: 38px 0 18px;
	text-align: center;
	position: relative;
}
.titleC.lineA:after {
	display: block;
	content: '';
	width: 85px;
	height: 3px;
	background: -moz-linear-gradient(right, #fd6721 16px, #fff 15px);
  background: -webkit-linear-gradient(right, #fd6721 16px, #fff 15px);
  background: linear-gradient(to left, #fd6721 16px, #fff 15px);
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.titleC.lineB:after {
	display: block;
	content: '';
	width: 85px;
	height: 3px;
	background: -moz-linear-gradient(right, #fd6721 16px, #2bb170 15px);
  background: -webkit-linear-gradient(right, #fd6721 16px, #2bb170 15px);
  background: linear-gradient(to left, #fd6721 16px, #2bb170 15px);
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.ttlImg {
	text-align: center;
	padding-bottom: 40px;
}
.ttlImg img {
	width: 86px;
}
.titleD {
	font-size: 2.4rem;
	line-height: 1;
	padding: 60px 0 20px;
	text-align: center;
	position: relative;
}	
.titleD.lineA:after {
	display: block;
	content: '';
	width: 85px;
	height: 3px;
	background: -moz-linear-gradient(right, #fd6721 16px, #2bb170 15px);
  background: -webkit-linear-gradient(right, #fd6721 16px, #2bb170 15px);
  background: linear-gradient(to left, #fd6721 16px, #2bb170 15px);
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}	
.titleE {
	font-family: "Helvetica Neue", "Helvetica";
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: 0.1em;
	padding: 20px 0;
	text-align: center;
	position: relative;
}
.titleE2 {
	font-family: "Helvetica Neue", "Helvetica";
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: 0.1em;
	padding: 20px 0 40px;
	text-align: center;
	position: relative;
}
.titleF {
	font-size: 1.8rem;
	line-height: 1;
	border-bottom: 1px solid #000;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
.titleG {
	font-family: "Helvetica Neue", "Helvetica";
	color: #2bb170;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	vertical-align: middle;
}
.titleG:before {
	display: inline-block;
	content: '';
	width: 20px;
	height: 2px;
	background: #2bb170;
	margin-right: 8px;
	margin: 0 8px 0 9px;
	vertical-align: 30%;
}



/* ボタン
------------------------------------------------------------------ */
.btnArea {
	text-align: center;
	padding-bottom: 40px;
}
.btnB {
	font-size: 1.6rem;
	line-height: 1;
	display: inline-block;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	padding: 17px;
	color: #fff!important;
	background: -moz-linear-gradient(right, #000 40px, #2b2b2b 41px);
  background: -webkit-linear-gradient(right, #000 40px, #2b2b2b 41px);
  background: linear-gradient(to left, #000 40px, #2b2b2b 41px);
	text-align: center;
}
.btnC {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	display: inline-block;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #fff;
	width: 100%;
	padding: 17px;
	color: #fff!important;
	background: -moz-linear-gradient(right, #000 40px, #2b2b2b 41px);
  background: -webkit-linear-gradient(right, #000 40px, #2b2b2b 41px);
  background: linear-gradient(to left, #000 40px, #2b2b2b 41px);
	text-align: center;
}
.btnD {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	display: inline-block;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #fff;
	width: 100%;
	padding: 26px;
	color: #fff!important;
	background: -moz-linear-gradient(right, #000 40px, #2b2b2b 41px);
  background: -webkit-linear-gradient(right, #000 40px, #2b2b2b 41px);
  background: linear-gradient(to left, #000 40px, #2b2b2b 41px);
	text-align: center;
}
.btnE {
	font-size: 1.6rem;
	line-height: 1;
	display: inline-block;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	width: calc(100% - 40px);
	padding: 17px;
	color: #fff!important;
	background: #008833;
	text-align: center;
}
.btnF {
	color: #fff!important;
	font-size: 1.4rem;
	line-height: 1;
	display: inline-block;
	width: 122px;
	padding: 6px 12px;
	background: #2a2a2a;
	position: relative;
}


/* 下 */
.arrowD {
	position: relative;
}
.arrowD:after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 16px;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
/* 右 */
.arrowR{
	position: relative;
}
.arrowR:after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 16px;
	margin: auto;
	content: "";
	width: 7px;
	height: 12px;
	background: url(../images/common/ico_arrowR.png) 0 0 no-repeat;
	background-size: contain;
}
.btnF.arrowR:after {
	position: absolute;
	right: 9px;
}

.btnMore {
	position: absolute;
	bottom: 15px;
	right: 15px;
	font-family: "Helvetica Neue", "Helvetica";
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: 0.1em;
}


/* 背景色
------------------------------------------------------------------ */
.bgA {
	background: #e5e5e5;
}
.bgB {
	background: #eeeee8;
}
.bgC {
	background: #eeeeee;
}
.bgD {
	background: #f7f7f7;
}
.bgE {
	background: #ffffff;
}


/* 画像
------------------------------------------------------------------ */
img {
	max-width: 100%;
}


/* テキスト
------------------------------------------------------------------ */
.fontStyleA {
	font-family: "Helvetica Neue", "Helvetica", sans-serif;
}
.paragraph,
.paragraph2 {
	padding-bottom: 16px;
}
.textCenter {
	text-align: center;
}
.textRight {
	text-align: right;
}
.ib {
	display: inline-block;
}


/* 非表示
------------------------------------------------------------------ */
.spNone { display: none!important;}


/* リンク
------------------------------------------------------------------ */
a {
	text-decoration: none;
}
.linkTextA {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	color: #3374f8;
	position: relative;
	display: inline-block;
	padding-right: 18px;
	vertical-align: middle;
	text-decoration: none;
	margin-bottom: 20px;
}
.linkTextA:after{
	position: absolute;
	top: 2px;
	right: 0;
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #3374f8;
	border-right: 2px solid #3374f8;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.linkArrow:after {
	display: inline-block;
	content: '';
	width: 16px;
	height: 16px;
	background: url(../images/common/ico_arrowR.gif) 0 0 no-repeat;
	background-size: contain;
	margin-left: 10px;
	vertical-align: middle;
}


/* フォーム
------------------------------------------------------------------ */
/** placeholder **/
/* Chrome, Safari */
input::-webkit-input-placeholder {
	color: #999999;
}
/* Firefox */
input::-moz-placeholder {
	color: #999999;
}
/* IE */
input:-ms-input-placeholder {
	color: #999999;
}


/* テーブル
------------------------------------------------------------------ */
.table{
	width: 100%;
}
.tableA {
	border: 1px solid #ccc;
	background-color: #ffffff;
	margin-bottom: 20px;
}
.tableA tr th,
.tableA tr td{
	font-size: 1.0rem;
	text-align: left;
	padding: 8px 0 7px 30px;
}
.tableA tr th{
	width: 53%;
}
.tableA tr:nth-child(2n) th,
.tableA tr:nth-child(2n) td{
	background-color: #f6f6f6;
}
.tableTitleA{
	font-size: 1.0rem;
	margin-bottom: 9px;
}


/* バナーエリア
------------------------------------------------------------------ */
ul.bnrAreaB {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 30px;
}
ul.bnrAreaB.area {
	padding-bottom: 70px;
}
ul.bnrAreaC,
ul.bnrAreaC2 {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 70px;
}
ul.bnrAreaC2 {
	padding-bottom: 30px;
}
ul.bnrAreaD {
	display: flex;
	flex-wrap: wrap;
	padding: 20px 0 10px;
}
ul.bnrAreaE {
	display: flex;
	flex-wrap: wrap;
}
ul.bnrAreaA li,
ul.bnrAreaB li,
ul.bnrAreaC li,
ul.bnrAreaC2 li,
ul.bnrAreaD li {
	background: #fff;
	box-shadow: 0 0 4px rgba(0,0,0,0.3);
	margin-bottom: 10px;
}
ul.bnrAreaA li {
	margin-bottom: 10px;
}
ul.bnrAreaA.main li {
	margin-bottom: 0;
}
ul.bnrAreaB li,
ul.bnrAreaC li,
ul.bnrAreaC2 li,
ul.bnrAreaD li {
	width: 48.5%;
}
ul.bnrAreaB li:nth-child(odd),
ul.bnrAreaC li:nth-child(odd),
ul.bnrAreaC2 li:nth-child(odd),
ul.bnrAreaD li:nth-child(odd) {
	margin-right: 3%;
}
ul.bnrAreaE li {
	width: 31.33%;
	margin: 0 3% 20px 0;
}
ul.bnrAreaE li:nth-child(3n) {
	margin-right: 0;
}
ul.bnrAreaA li a,
ul.bnrAreaB li a,
ul.bnrAreaC li a,
ul.bnrAreaC2 li a,
ul.bnrAreaD li a, 
ul.bnrAreaE li a {
	color: #000;
}
ul.bnrAreaA li figcaption, 
ul.bnrAreaB li figcaption,
ul.bnrAreaC li figcaption,
ul.bnrAreaC2 li figcaption,
ul.bnrAreaD li figcaption{
	font-size: 1.4rem;
	line-height: 1.5;
	display: flex;
}
ul.bnrAreaA li figcaption span {
	width: 100%;
	min-height: 74px;
	display: flex;
	align-items: center;
	padding: 16px 10px;
}
ul.bnrAreaA.main li figcaption span {
	min-height: 55px;
	padding: 16px 20px;
}
ul.bnrAreaB li figcaption span {
	width: 100%;
	min-height: 74px;
	display: flex;
	align-items: center;
	padding: 16px 10px;
}
ul.bnrAreaC li figcaption span {
	width: 100%;
	min-height: 55px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 6px 10px;
}
ul.bnrAreaC2 li figcaption span {
	width: 100%;
	min-height: 74px;
	display: flex;
	justify-content: flex-start;	
	align-items: flex-start;
	text-align: left;
	padding: 16px 10px;
}
ul.bnrAreaD li figcaption span {
	width: 100%;
	min-height: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 6px 10px;
}
ul.bnrAreaE li figcaption {
	font-size: 1.4rem;
	line-height: 1.5;
	padding-top: 7px;
}


/* アコーディオン
------------------------------------------------------------------ */
.acTrigger {
	cursor: pointer;
}
.acContents,
.acContentsSp {
	display: none;
}


/* ボーダー
------------------------------------------------------------------ */
.bdrTopSp {
	border-top: 2px solid #e5e5e5;
}






/*========================================================================================
                                      header　ヘッダー
=========================================================================================*/

.header_pc {
	display: none;
}
.header_sp {
	width: 100%;
	background: #fff;
	z-index: 2;
}
.rn2022_header.shopSearch .header_sp {
	border-bottom: 2px solid #e5e5e5;
}
.rn2022_header,
.rn2022_header a {
	color: #000;
}
.acMenu {
	position: relative;
}
.logo {
	width: 100%;
	background: #fff;
	padding: 15px;
	text-align: center;
}
.logo img {
	width: 185px;
}

/* globalNavi グローバルナビ（バーガーメニュー） */
/* トグル */
label {
	cursor: pointer;
}
label[for="toggle"] {
	display: inline-block;
	width: 45px;
	height: 45px;
	background: url(../images/common/btn_close.png) 0 0 no-repeat;
	background-size: contain;
	position: absolute;
	top: 5px;
	right: 10px;
}
#toggle:checked+label {
	background: url(../images/common/btn_open.png) 0 0 no-repeat;
	background-size: contain;
}
.menuList {
	font-size: 1.6rem;
	line-height: 1;
}
.toggle {
	display: none;
}
.toggle+label+ul.menuList {
	max-height: 0;
	overflow: hidden;
	transition: all .5s ease;
}
.toggle:checked+label+ul.menuList  {
	max-height: 5000px;
	transition: all 1s ease-in;
}
.menuList label,
.menuList li>a {
	display: block;
	padding: 20px;
}
.menuList.first>li {
	border-bottom: 1px solid #e5e5e5;
}
.menuList.first>li:first-of-type {
	border-top: 1px solid #e5e5e5;
}
.menuList.first>li:last-of-type {
	padding: 20px 0 52px;
}
.menuList.first>li>a {
	display: block;
	background: url(../images/common/ico_arrowR2.png) center right 20px no-repeat;
	background-size: 7px 12px;
}
.menuList.first>li.current>a {
	color: #008833;
	padding: 20px;
	background: url(../images/common/ico_arrowR2_current.png) center right 20px no-repeat;
	background-size: 7px 12px;
}
.menuList.first>li>label {
	background: url(../images/common/btn_plus.png) center right 20px no-repeat;
	background-size: 12px 12px;
}
.menuList.first>li.current>label {
	color: #008833;
	background: url(../images/common/btn_plus_current.png) center right 20px no-repeat;
	background-size: 12px 12px;
}
.menuList.first>li>.toggle:checked+label {
	background: url(../images/common/btn_minus.png) center right 20px no-repeat;
	background-size: 12px 12px;
}
.menuList.first>li.current>.toggle:checked+label {
	color: #008833;
	background: url(../images/common/btn_minus_current.png) center right 20px no-repeat;
	background-size: 12px 12px;
}
.menuList.second>li {
	color: #fff;
	font-size: 1.4rem;
	background: #008833;
}
.menuList.second>li>a {
	position: relative;
}
.menuList.second>li>a {
	color: #fff;
	display: block;
	background: url(../images/common/ico_arrowR.png) center right 20px no-repeat;
	background-size: 7px 12px;
	padding: 21px;
	position: relative;
}
.menuList.second>li>a:before {
	content: '';
	display: block;
	width: calc(100% - 40px);
	height: 1px;
	background: #66b885;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.menuList.second>li:first-of-type>a:before,
.menuList.second.service>li>a:before {
	display: none;
}
.menuList.second>li>label {
	background: url(../images/common/btn_plus2.png) center right 20px no-repeat;
	background-size: 12px 12px;
	position: relative;
}
.menuList.second.service>li:first-of-type>a:after,
.menuList.second.service>li:nth-of-type(2)>a:after,
.menuList.second>li>label:after {
	content: '';
	display: block;
	width: calc(100% - 40px);
	height: 1px;
	background: #66b885;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.menuList.second>li>.toggle:checked+label {
	background: url(../images/common/btn_minus2.png) center right 20px no-repeat;
	background-size: 12px 12px;
}
.menuList.second>li>.toggle:checked+label:after {
	display: none;
}
.menuList.third>li {
	color: #000;
	font-size: 1.4rem;
	background: #88c69f;
}
.menuList.third>li>a {
	display: block;
	background: url(../images/common/ico_arrowR2.png) center right 20px no-repeat;
	background-size: 7px 12px;
	padding: 21px;
	position: relative;
}
.menuList.third>li>a:before {
	content: '';
	display: block;
	width: calc(100% - 40px);
	height: 1px;
	background: #52ad74;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.menuList.third>li:first-of-type>a:before {
	display: none;
}
.menuList.third>li>a.blank {
	display: block;
	background: url(../images/common/ico_blank.png) center right 20px no-repeat;
	background-size: 15px 15px;
}
/* 検索 */
.search {
	padding: 0 20px 20px;
}
.search .inputWrap {
	display: flex;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 2px;
	width: 100%;
	overflow: hidden;
}
.search input[type="text"] {
	font-size: 1.4rem;
	padding: 15px 0 15px 10px;
	width: calc(100% - 42px);
}
.search.product input[type="text"] {
	width: calc(100% - 112px);
}
.search input[type="image"] {
	width: 42px;
	height: 52px;
	cursor: pointer;
	flex-shrink: 0;
}
.search.product input[type="image"] {
	width: 118px;
	height: 52px;
}
ul.hLinkList1 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 20px 20px 20px;
}
ul.hLinkList1 li {
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
	background: #008833;
	width: calc((100% - 1px) / 2);
}
ul.hLinkList1 li:nth-of-type(odd) {
	border-right: 1px solid #e5e5e5;
}
ul.hLinkList1 li:nth-child(-n+2) {
	border-bottom: 1px solid #e5e5e5;
}
ul.hLinkList1 a {
	color: #fff;
	padding: 15px 10px;
}
ul.hLinkList2 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 20px 10px 20px;
}
ul.hLinkList2 li {
	font-size: 1.4rem;
	width: calc(100% / 2);
	margin-bottom: 10px;
}
ul.hLinkList2 a {
	padding: 0;
}

/* 言語選択 */
.langSelect {
	color: #000;
	font-size: 1.4rem;
	position: relative;
	margin: 0 20px;
}
label {
	cursor: pointer;
}
label[for="langSelectSp"] {
	display: block;
	height: 34px;
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 2px;
	background: #fff url(../images/common/ico_arrowD.png) center right 9px no-repeat;
	background-size: 11px 7px;
	padding: 10px;
}
.toggle {
	display: none;
}
.toggle+label+ul.langList {
	max-height: 0;
	overflow: hidden;
	transition: all .5s ease;
}
.toggle:checked+label+ul.langList {
	max-height: 250px;
	transition: all .5s ease-in;
}
ul.langList {
	width: 100%;
	background: #fff;
	color: #000;
	font-size: 1.4rem;
	line-height: 1;
	z-index: 2;
	margin-top: -1px;
}
ul.langList li {
	border: 1px solid #ccc;
	border-bottom: none;
}
ul.langList li:last-of-type {
	border-bottom: 1px solid #ccc;
	border-radius: 0 0 2px 2px;
}
ul.langList li a {
	display: block;
	padding: 10px;
}

/* blank */
.menuList.third>li>a.blank:after {
    display: inline-block;
    content: '';
    width: 8px;
    height: 8px;
    background: url(../images/common/ico_blank2.png) 0 0 no-repeat;
    background-size: contain;
    margin-left: 8px;
    vertical-align: middle;
}


/*========================================================================================
                                      footer フッター
=========================================================================================*/
.rn2022_footer.shopSearch,
.rn2022_footer.siteSearch {
	margin-top: 40px;
}
.rn2022_footer,
.rn2022_footer a {
	color: #000;
}
.footer_pc {
	display: none;
}
.linkArea {
	position: relative;
}
.footer-sns {
	display: flex;
	justify-content: center;
	padding: 40px 0;
}
div.fb-like{
	margin-right: 30px;
	line-height: 0;
}
.snsWrap {
	padding: 40px 0;
	border-top: 1px solid #e5e5e5;
}
ul.snsList {
	display: flex;
	justify-content: center;
}
ul.snsList li {
	width: 50px;
}
ul.snsList li {
	margin-right: calc(60 / 750 * 100vw);
}
ul.snsList li:last-of-type {
	margin-right: 0;
}
ul.snsList:first-of-type {
	margin-bottom: 20px;
}
ul.fLinkList1 {
	margin-bottom: 40px;
}
ul.fLinkList1>li>a {
	display: block;
	font-size: 1.6rem;
	line-height: 1;
	padding: 20px;
	background: #e5e5e5 url(../images/common/ico_arrowR3.png) center right 20px no-repeat;
	background-size: 7px 12px;
	border-bottom: 1px solid #cccccc;
}
ul.fLinkList2,
dl.regionalLink {
	display: flex;
	flex-wrap: wrap;
	margin: 0 20px 40px;
}
ul.fLinkList2>li,
dl.regionalLink>dd {
	width: 50%;
	font-size: 1.4rem;
	line-height: 1;
	margin-bottom: 20px;
}
ul.fLinkList2>li:nth-last-child(-n+2),
dl.regionalLink>dd:nth-last-child(-n+2) {
	width: 100%;
}
ul.fLinkList2>li:last-of-type,
dl.regionalLink>dd:last-of-type {
	margin-bottom: 0;
}
ul.fLinkList2>li>a:after,
dl.regionalLink>dd>a:after  {
	display: inline-block;
	content: '';
	width: 4px;
	height: 6px;
	background: url(../images/common/ico_arrowR2.png) 0 0 no-repeat;
	background-size: contain;
	margin-left: 8px;
	vertical-align: middle;
}
ul.fLinkList2>li>a.blank:after,
dl.regionalLink>dd>a.blank:after {
	display: inline-block;
	content: '';
	width: 8px;
	height: 8px;
	background: url(../images/common/ico_blank2.png) 0 0 no-repeat;
	background-size: contain;
	margin-left: 8px;
	vertical-align: middle;
}
dl.regionalLink dt {
	font-weight: bold;
	line-height: 1;
	margin-bottom: 20px;
	width: 100%;
}
ul.fBtmLink {
	display: flex;
	flex-wrap: wrap;
	padding: 40px 20px;
	border-top: 1px solid #ccc;
}
ul.fBtmLink li {
	font-size: 1.4rem;
	line-height: 1;
	margin-right: 20px;
	margin-bottom: 10px;
}
ul.fBtmLink li:nth-of-type(4) {
	margin-right: 40px;
}
ul.fBtmLink>li:nth-last-child(-n+2) {
	margin-bottom: 0;
}
.copyright {
	color: #000;
	font-size: 1.4rem;
	line-height: 1.5;	
	background: #e5e5e5;
	padding: 17px;
	text-align: center;
}
.btnPageBtn {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 50px;
	height: 50px;
	display: none;
}
.rn2022_footer.shopSearch .btnPageBtn {
	display: block;
	position: absolute;
	top: -25px;
	right: 20px;
}
.btnPageBtn img {
	width: 100%;
}



/*========================================================================================
                                     ページごとのスタイル
=========================================================================================*/

/* index
--------------------------------------- */
/* メイン画像 */
.mainImg.index {
	margin-bottom: 40px;
}
/* お知らせバナー */
.bnrWrap {
	padding-bottom: 40px;
}
.noticeBnr {
	display: inline-block;
	width: 100%;
	border: 2px solid #008833;
	box-shadow: 0 0 8px rgba(0,0,0,0.24);
	padding: 20px 10px;
}
.bnrTtl {
	color: #083;
	font-size: 1.8rem;
	line-height: 1;
	text-align: center;
	margin-bottom: 10px;
	letter-spacing: -0.05em;
}
.bnrLink {
	text-align: center;
	color: #000;
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: 0.1em;
}
/* 重要なお知らせ */
.noticeWrap {
	padding: 20px 0;
	position: relative;
	margin-bottom: 40px;
	color: #010101;
	font-size: 1.4rem;
	line-height: 1;
}
#noticeAll .noticeWrap {
	margin-bottom: 40px;
	padding-bottom: 43px;
}
.noticeWrap a {
	color: #010101;
}
.noticeTtl {
	color: #ff0000;
	font-size: 1.8rem;
	line-height: 1;
	font-weight: bold;
	margin-bottom: 7px;
}
.noticeTtl:before {
	display: inline-block;
	content: '';
	width: 18px;
	height: 18px;
	background: url(../images/common/ico_exclam.png) 0 0 no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin-right: 8px;
	margin-bottom: 3px;
}
.noticeTxt {
	margin-bottom: 20px;
}
ul.noticeList li {
	margin-bottom: 4px;
	padding-right: 24px;
	font-size: 1.4rem;
	line-height: 1.5;
}
.acContents ul.noticeList {
	margin-top: 10px;
}
ul.noticeList li:last-of-type {
	margin-bottom: 0;
}
.noticeLink a {
	color: #fff!important;
	font-size: 1.4rem;
	line-height: 1;
	display: block;
	width: 122px;
	padding: 5px 12px;
	background: #2a2a2a;
	position: relative;
	margin-left: auto;
}
.noticeLink a:after {
	position: absolute;
	top: 5px;
	right: 10px;
	content: "";
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.noticeTxt a:after,
ul.noticeList li a:after {
	display: inline-block;
	content: '';
	width: 4px;
	height: 6px;
	background: url(../images/common/ico_arrowR2.png) 0 0 no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin-left: 8px;
}
.acTrigger.notice {
	width: 36px;
	height: 36px;
	background: url(../images/common/btn_plus3.png) center center no-repeat;
	background-size: 16px 16px;
	position: absolute;
	right: -10px;
	bottom: 10px;
}
.acTrigger.notice.open {
	background: url(../images/common/btn_minus3.png) center center no-repeat;
	background-size: 16px 16px;
}
/* 背景画像 */
.bg01 {
	background: #199e4b url(../images/index/bg_01_sp.jpg) left top no-repeat;
	background-size: cover;
}
.bg02 {
	background: #fff url(../images/index/bg_02_sp.jpg) left top no-repeat;
	background-size: cover;
}
.bg03 {
	background: #eee url(../images/index/bg_03_sp.jpg) right top no-repeat;
	background-size: cover;
}
.bg04 {
	background: #fff url(../images/index/bg_04_sp.jpg) left top no-repeat;
	background-size: cover;
}
.bg05 {
	background: #eee url(../images/index/bg_05_sp.jpg) right top no-repeat;
	background-size: cover;
}
.bg06 {
	background: #fff url(../images/index/bg_06_sp.jpg) left top no-repeat;
	background-size: cover;
}
/* 私たちの取組み */
ul.sliderB {
	margin-bottom: 56px;
}
ul.sliderB li {
	background: #fff;
	box-shadow: 0 0 8px rgba(0,0,0,0.3);
	margin: 0 50px;
}
ul.sliderB li a {
	color: #000;
}
ul.sliderB li figure {
	height: 100%;
	position: relative;
}
ul.sliderB li figcaption{
	font-size: 1.6rem;
	line-height: 1.5;
	min-height: 160px;
	padding: 16px 15px 15px;
}
.capTtl {
	display: block;
	font-size: 1.8rem;
	line-height: 1.5;
	padding-bottom: 13px;
}
.capTxt {
	font-size: 1.4rem;
	line-height: 1.5;
	padding-bottom: 33px;
}
/* ローカルナビ */
ul.localNavi {
	padding: 60px 0 50px;
	display: flex;
	flex-wrap: wrap;
}
ul.localNavi li {
	margin-bottom: 10px;
}
ul.localNavi li a {
	display: inline-block;
	width: 100%;
	border: 1px solid #000;
	font-size: 1.6rem;
	line-height: 1;
	color: #000;
	background: #eee;
}
ul.localNavi li:nth-child(-n+4) {
	width: 48.5%;
}
ul.localNavi li:nth-of-type(1),
ul.localNavi li:nth-of-type(3) {
	margin-right: 3%;
}
ul.localNavi li:nth-child(n+5) {
	width: 100%;
}
ul.localNavi li:nth-child(n+5) a {
	display: flex;
  align-items: center;
	padding: 10px 30px;
	background: url(../images/common/ico_arrowR2.png) center right 15px no-repeat;
	background-size: 7px 12px;
}
ul.localNavi li .naviTtl {
	text-align: center;
}
ul.localNavi li:nth-child(-n+4) .naviTtl {
	padding: 20px 0;
}
ul.localNavi li:nth-child(-n+4) .naviTtl::after {
	display: inline-block;
	content: '';
	width: 7px;
	height: 12px;
	background: url(../images/common/ico_arrowR2.png) 0 0 no-repeat;
	background-size: contain;
	margin-left: 6px;
}
ul.localNavi li a .naviTtl {
	flex-shrink: 0;
}
ul.localNavi li:nth-of-type(n+5) .naviIcon {
	width: 40px;
	margin-right: 35px;
}
/* テレビCM・動画 */
.ytWrap {
	padding-bottom: 40px;
}
.yt {
	position: relative;
	padding-bottom: 56.2%;
	height: 0;
	overflow: hidden;
	margin-bottom: 16px;
}
.yt iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.ytWrap .paragraph {
	font-size: 1.6rem;
	padding-bottom: 36px;
}
.ytWrap .btnArea {
	padding-bottom: 0;
}
/* トピックス、ニュースリリース */
.ttlWrap.info,
.ttlWrap.pickup {
	margin-bottom: 20px;
}
.rssWrap {
	font-size: 1.4rem;
	line-height: 1;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.aboutRss {
	position: relative;
	cursor: pointer;
}
.aboutRss:after {
	display: inline-block;
	content: '';
	width: 4px;
	height: 6px;
	background: url(../images/common/ico_arrowR2.png) 0 0 no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin-left: 8px;
}
.rss {
	width: 95px;
	margin-left: 20px;
}
.topicsList {
	margin-bottom: 40px;
}
.newsList,
.infoList {
	margin-bottom: 20px;
}
.topicsList>li,
.newsList>li,
.infoList>li {
	padding: 20px 0 17px;
	border-bottom: 1px solid #ccc;
}
.infoBox {
	padding: 12px 10px;
	border: 1px solid #ccc;
}
.infoBox>li {
	margin-bottom: 9px;
}
.infoBox>li:last-of-type {
	margin-bottom: 0;
}
.date {
	font-size: 1.4rem;
	line-height: 1;
	font-weight: bold;
	margin-bottom: 7px;
}
.listTxt {
	font-size: 1.4rem;
	line-height: 1.5;
}
.listTxt a {
	color: #000;
}
.listTxt a:after {
	display: inline-block;
	content: '';
	width: 4px;
	height: 6px;
	background: url(../images/common/ico_arrowR2.png) 0 0 no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin-left: 8px;
}


/* cmp
--------------------------------------- */
/* ページ内リンク */
ul.anchorLink {
	padding: 40px 20px 30px;
	box-shadow: inset 0px 4px 4px -4px rgba(0,0,0,0.3);
}
ul.anchorLink li {
	margin-bottom: 10px;
}


/* products
--------------------------------------- */
/* 今週の新商品 */
.thisWeek .titleE2{
	padding-bottom: 35px;
}
/* 地域選択 */
.areaSelect {
	background: #eeeee8;
	padding: 0 20px;
}
.acTrigger.area {
	display: inline-block;
	width: 100%;
	padding: 17px;
	font-size: 1.6rem;
	line-height: 1;
	color: #fff;
	text-align: center;
	background: #008833 url(../images/common/btn_plus2.png) center right 20px no-repeat;
	background-size: 12px 12px;
}
.acTrigger.area.open {
	background: #008833 url(../images/common/btn_minus2.png) center right 20px no-repeat;
	background-size: 12px 12px;
}
.areaList {
	font-size: 1.6rem;
	line-height: 1;
}
ul.areaList {
	display: flex;
	flex-wrap: wrap;
	background: #88c69f;
}
ul.areaList li {
	width: calc((100% - 30px) / 2);
	margin-bottom: 10px;
}
ul.areaList li:nth-child(odd) {
	margin: 10px 10px 0 10px;
}
ul.areaList li:nth-child(even) {
	margin: 10px 10px 0 0;
}
ul.areaList li:last-of-type {
	width: calc(100% - 20px); 
	margin: 22px auto 10px;
	position: relative;
}
ul.areaList li:last-of-type:before {
	display: inline-block;
	content: '';
	width: calc(100% + 20px);
	height: 2px;
	background: #52ad74;
	position: absolute;
	top: -12px;
	left: -10px;
}
ul.areaList li a,
ul.areaList li .aboutArea {
	background: #fff;
	width: 100%;
	padding: 15px;
	vertical-align: middle;
	color: #083;
	font-size: 1.6rem;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
ul.areaList li a:after,
ul.areaList li .aboutArea:after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #083;
	border-right: 2px solid #083;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-left: 7px;
	vertical-align: middle;
}
/* カテゴリ一覧 ul*/
ul.categoryList {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 30px;
}
ul.categoryList li {
	background: #fff;
	box-shadow: 0 0 4px rgba(0,0,0,0.3);
	margin-bottom: 20px;
	text-align: center;
}
ul.categoryList li {
	width: 31.33%;
	margin: 0 3% 10px 0;
}
ul.categoryList li:nth-child(3n) {
	margin-right: 0;
}
ul.categoryList li a {
	color: #000;
}
ul.categoryList li figcaption {
	display: flex;
}
ul.categoryList li figcaption span {
	font-size: 1.4rem;
	line-height: 1.5;
	padding: 7px 3px;
	width: 100%;
	min-height: 75px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.recommend ul.bnrAreaA {
	padding-bottom: 10px;
}
.recommend ul.bnrAreaA li:last-of-type {
	margin-bottom: 0;
}




/*========================================================================================
                                企業用英語ページ  header　ヘッダー
=========================================================================================*/
.rn2022_header_co .header_pc {
	display: none;
}
.rn2022_header_co .header_sp {
	width: 100%;
	background: #fff;
	z-index: 2;
	border-bottom: 2px solid #e5e5e5;
}
.rn2022_header_co .spNone {
	display: none;
}
.rn2022_header_co {
	color: #000;
}
.rn2022_header_co a {
	color: #000!important;
	text-decoration: none;
}
.rn2022_header_co .acMenu {
	position: relative;
}
.rn2022_header_co .logo {
	width: 100%;
	background: #fff;
	padding: 17px 10px;
	text-align: center;
	height: 56px;
}
.rn2022_header_co .logo img {
	width: 185px;
}

/* globalNavi グローバルナビ（バーガーメニュー） */
/* トグル */
.rn2022_header_co label {
	cursor: pointer;
}
.rn2022_header_co label[for="toggle"] {
	display: inline-block;
	width: 45px;
	height: 45px;
	background: url(../images/common/btn_close.png) 0 0 no-repeat;
	background-size: contain;
	position: absolute;
	top: 5px;
	right: 10px;
}
.rn2022_header_co #toggle:checked+label {
	background: url(../images/common/btn_open.png) 0 0 no-repeat;
	background-size: contain;
}
.rn2022_header_co .menuList {
	font-family: "Helvetica Neue", "Helvetica";
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0;
}
.rn2022_header_co .toggle {
	display: none;
}
.rn2022_header_co .toggle+label+ul.menuList {
	max-height: 0;
	overflow: hidden;
	transition: all .5s ease;
}
.rn2022_header_co .toggle:checked+label+ul.menuList  {
	max-height: 5000px;
	transition: all 1s ease-in;
}
.rn2022_header_co .menuList li>a {
	display: block;
	padding: 20px;
}
.rn2022_header_co .menuList>li {
	border-bottom: 1px solid #e5e5e5;
}
.rn2022_header_co .menuList>li:first-of-type {
	border-top: 1px solid #e5e5e5;
}
.rn2022_header_co .menuList>li:last-of-type {
	padding: 20px 0;
}
.rn2022_header_co .menuList>li>a {
	display: block;
	background: url(../images/common/ico_arrowR2.png) center right 20px no-repeat;
	background-size: 7px 12px;
}
/* 言語選択 */
.rn2022_header_co .bgA {
	background: #e5e5e5;
}
.rn2022_header_co .langSelect {
	color: #000;
	font-size: 14px;
	position: relative;
	margin: 0 20px;
}
.rn2022_header_co label {
	cursor: pointer;
}
.rn2022_header_co label[for="langSelectSp"] {
	display: block;
	height: 34px;
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 2px;
	background: #fff url(../images/common/ico_arrowD.png) center right 9px no-repeat;
	background-size: 11px 7px;
	padding: 10px;
}
.rn2022_header_co .toggle {
	display: none;
}
.rn2022_header_co .toggle+label+ul.langList {
	max-height: 0;
	overflow: hidden;
	transition: all .5s ease;
	margin-top: -1px;
}
.rn2022_header_co .toggle:checked+label+ul.langList {
	max-height: 250px;
	transition: all .5s ease-in;
}
.rn2022_header_co ul.langList {
	width: 100%;
	background: #fff;
	color: #000;
	font-size: 14px;
	line-height: 1;
	z-index: 2;
	margin-top: -1px;
}
.rn2022_header_co ul.langList li {
	border: 1px solid #ccc;
	border-bottom: none;
}
.rn2022_header_co ul.langList li:last-of-type {
	border-bottom: 1px solid #ccc;
	border-radius: 0 0 2px 2px;
}
.rn2022_header_co ul.langList li a {
	display: block;
	padding: 10px;
}


/*========================================================================================
                                企業用英語ページ  footer フッター
=========================================================================================*/
.rn2022_footer_co {
	font-family: "Helvetica Neue", "Helvetica";
	color: #000;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: center;
	position: relative;
}
.rn2022_footer_co .bgA {
	background: #e5e5e5;
	padding: 8px 0;
}
.rn2022_footer_co .btnPageBtn {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 50px;
	height: 50px;
	display: none;
}
.rn2022_footer_co .btnPageBtn img {
	width: 100%;
}



/*========================================================================================
                                多言語ページ  header　ヘッダー
=========================================================================================*/
.rn2022_header_in {
	background: #fff;
	border-bottom: 2px solid #e5e5e5;
}
.rn2022_header_in .spNone {
	display: none;
}
.rn2022_header_in {
	color: #000;
}
.rn2022_header_in .headerContents {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 56px;
}
.rn2022_header_in a {
	color: #000!important;
	text-decoration: none;
}
.rn2022_header_in .acMenu {
	position: relative;
}
.rn2022_header_in .logo {
	width: 100%;
	background: #fff;
	padding: 17px 10px;
	text-align: left;
	line-height: 1;
}
.rn2022_header_in .logo img {
	width: 212px;
}

/* 言語選択 */
.rn2022_header_in .bgA {
	background: #e5e5e5;
}
.rn2022_header_in .langSelect {
	color: #000;
	font-size: 14px;
	position: relative;
	margin-right: 10px;
}
.rn2022_header_in label {
	cursor: pointer;
}
.rn2022_header_in label[for="langSelect"] {
	display: block;
	height: 28px;
	width: 90px;
	border: 1px solid #ccc;
	border-radius: 2px;
	background: #fff url(../images/common/ico_arrowD.png) center right 3px no-repeat;
	background-size: 11px 7px;
	padding: 6px 4px;
	line-height: 1;
}
.rn2022_header_in .toggle {
	display: none;
}
.rn2022_header_in .toggle+label+ul.langList {
	max-height: 0;
	overflow: hidden;
	transition: all .5s ease;
	margin-top: -1px;
}
.rn2022_header_in .toggle:checked+label+ul.langList {
	max-height: 300px;
	transition: all .5s ease-in;
}
.rn2022_header_in ul.langList {
	width: 90px;
	background: #fff;
	color: #000;
	font-size: 14px;
	line-height: 1;
	z-index: 2;
	position: absolute;
	top: 28px;
	left: 0;
}
.rn2022_header_in ul.langList li {
	border: 1px solid #ccc;
	border-bottom: none;
}
.rn2022_header_in ul.langList li:last-of-type {
	border-bottom: 1px solid #ccc;
	border-radius: 0 0 2px 2px;
}
.rn2022_header_in ul.langList li a {
	display: block;
	padding: 4px;
}
.rn2022_header_in .headerContents p {
	flex-shrink: 0;
}
.rn2022_header_in .linkJpTop {
	display: inline-block;
	font-family: Arial;
	font-size: 14px;
	line-height: 1;
	padding: 24px 10px 17px 0;
}
.rn2022_header_in .linkJpTop:after {
	display: inline-block;
	content: '';
	width: 4px;
	height: 6px;
	background: url(../images/common/ico_arrowR2.png) 0 0 no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin-left: 8px;
}


/*========================================================================================
                                多言語ページ  footer フッター
=========================================================================================*/
.rn2022_footer_in {
	font-family: "Helvetica Neue", "Helvetica";
	color: #000;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: center;
}
.rn2022_footer_in .bgA {
	background: #e5e5e5;
	padding: 8px 0;
}