@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

/* グループ企業ナビゲーション
--------------------------------------------------*/
@media screen and (min-width: 767.9px) {
	.GHead-notA {
		position: relative;
		display: block;
		text-align: center;
		font-size: 15px;
		font-size: 1.5rem;
		color: #b0b0b0;
		line-height: 41px;
		text-decoration: none;
	}
	.groupnav {
		background: #3760B1;
		position: absolute;
		top: 400px;
		width: 100%;
		z-index: 1;
	}
	header .groupnav {
		transition: top 0.3s ease-out;
	}
	header.fixed .groupnav {
		top: 62px !important;
	}
	.groupnav ul {
		display: table;
		table-layout: fixed;
	}
	.groupnav ul.spOnly {
		display: none;
	}
	.groupnav ul li {
		display: table-cell;
		position: relative;
		text-align: center;
		vertical-align: middle;
		font-size: 13px;
		font-size: 1.3rem;
		color: #fff;
		border-left: 1px solid #fff;
		box-sizing: border-box;
		height: 60px;
	}
	.groupnav ul li a {
		color: #fff;
		display: block;
		position: relative;
	}
}

@media screen and (max-width: 767px) {
	nav.groupnav {
		display: none;
		background: #3b3b3b;
		position: fixed !important;
		height: 100vh;
		top: 0;
		overflow-y: scroll;
	}
	nav.groupnav ul:first-child {
		margin-top: 55px;
	}
	nav.groupnav ul:last-child {
		margin-bottom: 55px;
	}
	nav.groupnav li {
		width: 100%;
	}
	nav.groupnav ul:first-child li:nth-child(even) {
		display: none;
	}
	nav.groupnav li a {
		display: block;
		color: #fff;
		line-height: 60px;
		font-size: 16px;
		font-size: 1.6rem;
		border-top: 1px solid #fff;
		width: 100%;
		padding: 0 30px;
		box-sizing: border-box;
		position: relative;
	}
	nav.groupnav li.line2 a {
		line-height: 20px;
		padding: 10px 30px;
	}
	nav.groupnav ul:first-child {
		margin-top: 55px;
	}
	nav.groupnav ul:first-child li a:after {
		content: "";
		display: block;
		width: 5px;
		height: 5px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		right: 30px;
		top: 26px;
	}
	nav.groupnav.gnav ul.gnavList li.gnavItem .mega {
		display: none;
	}
	nav.groupnav ul.spOnly {
		display: flex;
		display: -ms-flexbox;
		flex-wrap: wrap;
		border-bottom: 1px solid #fff;
	}
	nav.groupnav ul.spOnly li {
		width: 50%;
		box-sizing: border-box;
	}
	nav.groupnav ul.spOnly li:nth-child(odd) {
		border-right: 1px solid #fff;
	}
	nav.groupnav ul.spOnly li a {
		text-align: center;
		padding: 0;
		font-size: 14px;
		font-size: 1.4rem;
	}
	nav.groupnav ul.spOnly li a.linkOff {
		color: rgba(255, 255, 255, 0.3);
	}
}

/* header
--------------------------------------------------*/
/*----------
	main header
----------*/
:root {
	/* color */
	--color-txt: #333;
	--color-txt-caption: #666;
	--color-txt-caption-v2: #6F7579;
	/* --color-txt-link: #0062B1;
	--color-txt-hover: #008C98; */
	--color-border: #ddd;
	--color-bg: #EDEDED;
	--color-caution: #DE5252;
	--color-prim-rgb: 0, 50, 175;
	--color-seco-rgb: 171, 194, 240;
	--color-txt-rgb: 51, 51, 51;
	--color-txt-caption-rgb: 102, 102, 102;
	--color-txt-caption-v2-rgb: 111, 117, 121;
	--color-txt-link-rgb: 0, 98, 177;
	--color-txt-hover-rgb: 0, 140, 152;
	--color-border-rgb: 221, 221, 221;
	--color-bg-rgb: 237, 237, 237;
	--color-caution-rgb: 222, 82, 82;
	/* line height */
	--line-height-s: 1.4;
	--line-height-m: 1.6;
	--line-height-l: 1.8;
}

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	background: transparent;
	font-weight: inherit;
	font-size: inherit;
	font-style: inherit;
	-webkit-tap-highlight-color: transparent;
}

html header#mainheader {
	width: 100%;
	font-size: 62.5%;
	background-color: #fff;
}

html header.locked {
	position: fixed;
	overflow: hidden;
}

body header#mainheader {
	position: fixed;
	z-index: 20;
	font-size: 1.6rem;
	line-height: var(--line-height-l);
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0;
	color: var(--color-txt);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

@media (max-width: 767px) {
	body header#mainheader .l-mainheader {
		font-size: 1.4rem;
	}
}

.l-mainheader a {
	text-decoration: none;
	color: #222;
}

.l-mainheader a:hover {
	transform: none;
}

@media (min-width: 767.9px) {
	.l-mainheader a:hover {
		transition: none;
		text-decoration: none;
	}
}

.l-mainheader img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.l-mainheader {
	position: relative;
	z-index: 3;
}

.l-mainheader__inner {
	position: fixed;
	display: flex;
	align-items: center;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5.3333333333%;
	padding-right: 5.3333333333%;
	padding: 20px 15px;
	background-color: #fff;
}

@media (min-width: 767.9px) {
	.l-mainheader {
		border-bottom: 0px;
	}

	.l-mainheader__inner {
		padding-left: 20px;
		padding-right: 20px;
		border-bottom: 0px;
	}
}

@media (min-width: 767.9px) {
	.l-mainheader__logo {
		width: 330px;
		position: absolute;
		top: 34px;
		left: 30px;
		z-index: 30;
	}
}

@media (max-width: 950px) {
	.l-mainheader__inner {
		height: 66px;
	}

	.l-mainheader__logo {
		width: 223px;
		top: 24px;
		position: absolute;
	}
}

.l-mainheader__search {
	margin-left: auto;
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
	color: var(--color-txt);
}

.l-mainheader__navtoggle {
	margin-left: 24px;
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
	color: var(--color-txt);
	position: absolute;
	right: 33px;
}

.l-mainheader__navtoggle i::before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 38px;
	height: 32px;
	content: "";
	background-image: url("/-/media/image/icon-sp-gmenu-open.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 80%;
}

.l-mainheader__navtoggle.is-open i::before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 29px;
	height: 29px;
	content: "";
	background-size: 90%;
	background-image: url("/-/media/image/icon-sp-gmenu-close.svg");
	background-repeat: no-repeat;
	background-position: center;
}

.l-mainheader__nav {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 10;
}

@media (max-width: 767.9px) {
	.l-mainheader__nav {
		height: calc(100vh - 66px);
		overflow-y: scroll;
		border-top: 1px solid #DDDDDD;
	}
}

.l-mainheader__nav.is-open {
	display: block;
}

@media (min-width: 767.9px) {
	.l-mainheader__inner {
		position: fixed;
		padding-top: 13px;
		align-items: center;
		flex-wrap: wrap;
		padding-bottom: 0;
		height: 94px;
	}

	.l-mainheader__search {
		font-size: 16px;
	}

	.l-mainheader__navtoggle {
		display: none;
	}

	.l-mainheader__nav {
		display: block;
		position: static;
		width: 100%;
	}
}

@media (max-width: 767px) {
	.l-mainnav {
		background: #fff;
	}

	.l-mainnav__sub {
		display: none;
	}

	.l-mainnav__sub.is-open {
		display: block;
	}

	.l-megamenu__child {
		display: none;
	}

	.l-megamenu__child.is-open {
		display: block;
	}

	.l-mainnav__cattop {
		position: relative;
		border-bottom: 1px solid #ddd;
	}

	.l-mainnav__cattop>button {
		display: none;
		position: absolute;
		top: 0;
		right: 0px;
		z-index: 2;
		width: 60px;
		height: 100%;
		cursor: pointer;
	}

	.l-mainnav__cattop>button::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 60px;
		height: 100%;
		content: "";
		background: url("/-/media/image/icon-sp-gmenusub-open.svg") no-repeat center;
		border-left: 1px solid #ddd;
	}

	.l-mainnav__cattop>a {
		display: block;
		color: inherit;
	}

	.l-mainnav__cattop>a>span,
	.l-mainnav__cattop>span {
		display: block;
		padding: 26px 60px 26px 44px;
		font-size: 1.6rem;
		position: relative;
	}

	.l-mainnav__cattop>a>span::before {
		content: '';
		width: 7px;
		height: 7px;
		border-bottom: 2px solid #5EA8DD;
		border-right: 2px solid #5EA8DD;
		transform: rotate(-45deg);
		position: absolute;
		top: 2px;
		bottom: 0;
		left: 23px;
		margin: auto;
		z-index: 1;
	}

	.l-mainnav__cattop.is-hierarichical>a>span,
	.l-mainnav__cattop.is-hierarichical>span {
		padding: 20px 120px 20px 44px;
		font-size: 1.6rem;
	}

	.l-mainnav__list>.l-mainnav__cattop.is-hierarichical>a>span:first-child {
		padding: 26px 60px 26px 44px;
	}

	.l-mainnav__cattop.is-hierarichical>button {
		display: block;
		color: var(--color-txt);
	}

	.l-mainnav__cattop.is-hierarichical>button.is-open::before {
		background: url("/-/media/image/icon-sp-gmenusub-close.svg") no-repeat center;
	}

	.l-megamenu__cattop {
		position: relative;
		border-bottom: 1px solid #ddd;
	}

	.l-megamenu__cattop>button {
		display: none;
		position: absolute;
		top: 0;
		right: 0px;
		z-index: 2;
		width: 60px;
		height: 100%;
		cursor: pointer;
	}

	.l-megamenu__cattop>button::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 60px;
		height: 100%;
		content: "";
		background: url("/-/media/image/icon-sp-gmenusub-open.svg") no-repeat center;
		border-left: 1px solid #ddd;
	}

	.l-megamenu__cattop>a {
		display: block;
		color: inherit;
		padding-left: 15px;
	}

	.l-megamenu__cattop>a>span,
	.l-megamenu__cattop>span {
		display: block;
		padding: 26px 60px 26px 44px;
		font-size: 1.6rem;
		position: relative;
	}

	.l-megamenu__cattop>a>span::before {
		content: '';
		width: 7px;
		height: 7px;
		border-bottom: 2px solid #5EA8DD;
		border-right: 2px solid #5EA8DD;
		transform: rotate(-45deg);
		position: absolute;
		top: 2px;
		bottom: 0;
		left: 23px;
		margin: auto;
		z-index: 1;
	}

	.l-megamenu__cattop>a[target="_blank"]>span::after {
		display: block;
		content: '';
		width: .9em;
		height: .9em;
		background: url(/-/media/image/msh/sustainability/common/icn/icn-outer.svg) no-repeat;
		background-size: contain;
		position: absolute;
		top: 2px;
		bottom: 0;
		right: 23px;
		margin: auto;
		z-index: 1;
	}

	.l-megamenu__cattop.is-hierarichical>a>span,
	.l-megamenu__cattop.is-hierarichical>span {
		padding: 20px 120px 20px 44px;
		font-size: 1.6rem;
	}

	.l-mainnav__list>.l-megamenu__cattop.is-hierarichical>a>span:first-child {
		padding: 26px 60px 26px 44px;
	}

	.l-megamenu__cattop.is-hierarichical>button {
		display: block;
		color: var(--color-txt);
	}

	.l-megamenu__cattop.is-hierarichical>button.is-open::before {
		background: url("/-/media/image/icon-sp-gmenusub-close.svg") no-repeat center;
	}
}

@media (min-width: 767.9px) {
	.l-mainnav__main {
		display: flex;
		width: 100%;
		justify-content: flex-end;
		padding-top: 20px;
	}

	.l-mainnav__list:not(:last-child) {
		margin-right: 40px;
	}

	.l-mainnav__cattop>button {
		display: none;
	}

	.l-mainnav__cattop>a {
		display: block;
		color: inherit;
		transition: color 0.2s;
	}

	.l-mainnav__cattop>a:hover {
		color: #5EA8DD;
	}

	.l-mainnav__list>.l-mainnav__cattop>a>span {
		font-weight: 400;
	}

	.l-mainnav__list>.l-mainnav__cattop>a:hover {
		border-bottom: 4px solid #5EA8DD;
		color: #333;
	}

	.l-mainnav__cattop>span,
	.l-mainnav__cattop>a>span {
		display: block;
		padding: 18px 0 15px;
		font-size: 1.4rem;
		font-weight: bold;
	}

	.l-megamenu__cattop>button {
		display: none;
	}

	.l-megamenu__cattop>a {
		display: block;
		color: inherit;
		transition: color 0.2s;
	}

	.l-megamenu__cattop>a:hover {
		color: #5EA8DD;
	}

	.l-mainnav__list>.l-megamenu__cattop>a>span {
		font-weight: 100;
	}

	.l-mainnav__list>.l-megamenu__cattop>a:hover {
		border-bottom: 4px solid #5EA8DD;
		color: #333;
	}

	.l-megamenu__cattop>span,
	.l-megamenu__cattop>a>span {
		display: block;
		padding: 18px 0 15px;
		font-size: 1.4rem;
		font-weight: bold;
	}

	.l-mainnav__sub {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 1;
		background: #FAFAFA;
	}

	.l-mainnav__sub.is-hung {
		display: block;
	}

	.l-megamenu__child {
		/* display: none; */
		z-index: 1;

	}

	.l-megamenu__child.is-hung {
		display: block;
	}
}

.l-megamenu {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 767px) {
	.l-megamenu {
		background: #FAFAFA;
	}

	.l-megamenu__child>.l-megamenu__category {
		padding: 20px 0;
		border-bottom: 1px solid #ddd;
		background-color: #FAFAFA;
	}

	.l-megamenu__item>a {
		display: block;
		color: inherit;
	}

	.l-megamenu__thumb {
		display: none;
	}

	.l-megamenu__text {
		padding: 10px 20px 10px 60px;
		font-size: 1.4rem;
	}

	.l-megamenu__text [class^=icon] {
		display: none;
	}
}

@media (min-width: 767.9px) {
	.l-megamenu {
		display: flex;
		flex-direction: column;
		padding: 40px 20px 50px 40px;
	}

	.l-megamenu__categories {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		flex-wrap: nowrap;
		padding-bottom: 30px;
	}

	.l-megamenu__categories+.l-megamenu__categories {
		border-bottom: 0px;
	}

	.l-megamenu__categories--featured {
		margin-right: 94px;
	}

	.l-megamenu__categories--regular {
		flex: 1;
	}

	.l-megamenu__categories:last-child {
		margin-right: 0;
	}

	@media (max-width: 1200px) {
		.l-megamenu__categories {
			flex-wrap: nowrap;
		}
	}

	.l-megamenu__category {
		flex: 1 1 auto;
		max-width: 260px;
		margin-right: 40px;
	}

	.u-sustainability-gmenu01>div.l-megamenu__category:nth-child(2n) {
		margin-left: 30px;
	}

	.u-sustainability-gmenu01>div.l-megamenu__category:nth-child(3n) {
		margin-right: 10px;
	}

	.l-megamenu__category--featured {
		margin-right: 35px;
	}

	.l-megamenu__category:nth-child(4) {
		margin-right: 0;
	}

	.l-megamenu__category:last-child {
		margin-right: 0;
	}

	.l-megamenu__category+.l-megamenu__category {
		margin-top: 0;
	}

	.l-megamenu__item--featured {
		padding-bottom: 0;
		border-bottom: none;
	}

	.l-megamenu__item>a {
		transition: color 0.2s;
		display: inline-block;
		margin-bottom: 2px;
	}

	.l-megamenu__item>a:hover {
		color: #333;
		border-bottom: 1px solid #333;
		margin-bottom: 1px;
	}

	/* .l-megamenu__item+.l-megamenu__item {
		margin-top: 3px;
	} */

	.l-megamenu__thumb {
		width: 90%;
		margin: 20px 0 10px -20px;
	}

	.l-megamenu__text {
		font-size: 1.3rem;
	}
}

@media screen and (min-width: 767.9px) and (max-width: 1100px) {
	.l-megamenu__categories--featured {
		margin-bottom: 40px;
	}

	.l-megamenu__categories--regular {
		flex: 1 0 auto;
		width: 100%;
	}
}

.c-header-inner-link {
	position: absolute;
	top: 11px;
	right: 20px;
	z-index: 1;
	transition: all 0.3s;
}

@media (max-width: 767.9px) {
	.c-header-inner-link {
		position: unset;
		top: unset;
		right: unset;
		display: block;
		background-color: #fff;
	}
}

.c-header-inner-link-list {
	display: flex;
}

@media (max-width: 767.9px) {
	.c-header-inner-link-list {
		flex-wrap: wrap;
		padding: 10px 0;
	}
}

.c-header-inner-link-list-item {
	position: relative;
	padding: 0 15px;
}

.c-header-inner-link-list-item>a:hover {
	border-bottom: 1px solid #333;
}

.c-header-inner-link-list>.c-header-inner-link-list-item::before {
	position: absolute;
	top: 11px;
	right: 0;
	content: "";
	height: 11px;
	width: 1px;
	background-color: #D8D8D8;
}

.c-header-inner-link-list>.c-header-inner-link-list-item:last-child::before {
	height: 0px;
}

.c-header-inner-link-list>.c-header-inner-link-list-item:last-child {
	padding-right: 0;
}

.c-header-inner-link-list-item-link {
	font-size: 1.4rem;
	line-height: 32px;
}

.c-header-inner-link-list-item-link[target="_blank"]::after {
	display: inline-block;
	content: '';
	width: .82em;
	height: .82em;
	margin-left: 3px;
	background: url(/-/media/image/msh/sustainability/common/icn/icn-outer.svg) no-repeat;
	background-size: contain;
}

.c-header-inner-link-lang {
	display: table;
}

.c-header-inner-link-contact-inner {
	width: 30px;
	height: 30px;
}

@media only screen and (min-width: 737px),
print {

	.c-header-inner-link-contact:hover {
		background: #ffffff;
		color: #333333;
	}

}

.u-cattop__ttl>a>span {
	font-size: 1.6rem;
	margin: 16px 0 5px;
	padding: 0;
	position: relative;
	line-height: 1.667;
}

.u-cattop__ttl>a>span::before {
	content: '';
	width: 7px;
	height: 7px;
	border-bottom: 2px solid #5EA8DD;
	border-right: 2px solid #5EA8DD;
	transform: rotate(-45deg);
	position: absolute;
	top: 10px;
	left: -17px;
	margin: auto;
	z-index: 1;
}

.u-cattop__ttl>a[target="_blank"]>span::after {
	display: inline-block;
	content: '';
	width: .9em;
	height: .9em;
	margin-left: 3px;
	background: url(/-/media/image/msh/sustainability/common/icn/icn-outer.svg) no-repeat;
	background-size: contain;
}

@media (max-width: 767px) {
	.u-cattop__ttl>a>span {
		margin: 0;
		padding: 20px 60px 20px 44px;
		font-size: 1.6rem;
	}

	.u-cattop__ttl>a>span::before {
		top: 1px;
		left: 23px;
	}

	.u-megamenu__titlearea {
		margin: 0;
	}
}

.u-megamenu__titlearea {
	margin-bottom: 20px;
}

.u-megamenu__titlearea>a:hover {
	color: #5EA8DD;
}

@media (max-width: 767px) {
	.u-megamenu__titlearea {
		display: none;
	}
}

.u-megamenu__title {
	display: inline-block;
	position: relative;
	font-size: 2.2rem;
	font-weight: bold;
}

.u-megamenu__title::before {
	content: '\02022';
	font-size: 4.2rem;
	color: #5EA8DD;
	position: absolute;
	top: -21px;
	left: -21px;
}

.u-megamenu__line {
	display: inline-block;
	width: 60px;
	height: 1px;
	background-color: #ccc;
	margin: 0 15px 5px;
}

.u-megamenu__explanation>a {
	display: inline-block;
	width: 200px;
	height: 32px;
	border-radius: 16px;
	text-align: center;
	border: 1px solid #5EA8DD;
	font-size: 1.4rem;
	color: #5EA8DD;
	line-height: 29px;
}

.u-megamenu__explanation>a:hover {
	background-color: #5EA8DD;
	color: #fff;
}

@media (min-width: 767px) {
	.u-sustainability__menu .l-mainnav__sub {
		height: calc(100vh - 170px);
		overflow-y: scroll
	}

	.u-size--s {
		font-size: 1.3rem;
	}

	.u-wrb-megamenu {
		display: flex;
		align-items: flex-end;
	}

	.l-mainnav__inner {
		height: 94px;
	}

	.u-supplychain .l-megamenu__thumb {
		border: 1px solid #DDDDDD;
	}

	.u-supplychain>.u-cattop__ttl>a>span {
		font-size: 1.6rem;
	}

	.u-sustainability-gmenu01 {
		position: relative;
	}

	.u-sustainability-gmenu01::before {
		position: absolute;
		content: "";
		width: 895px;
		height: 1px;
		background-color: #ddd;
		right: 0px;
		bottom: 5px;
	}

	.u-sustainability-gmenu01--en::before {
		display: none;
	}

	.u-sustainability-gmenu01::after {
		position: absolute;
		content: "";
		height: 555px;
		width: 1px;
		background-color: #ddd;
		left: 245px;
		top: 20px;
	}

	.u-sustainability-gmenu01>div:first-child {
		min-width: 230px;
	}

	.u-sustainability-gmenu02 {
		display: flex;
		align-items: flex-end;
	}

	.l-mainheader__inner.js-fix {
		padding: 0px 20px;
		height: auto;
	}

	.js-fix .c-header-inner-link {
		display: none;
	}

	.js-fix .l-mainnav__inner {
		height: 62px;
	}

	.js-fix .l-mainnav__main {
		padding-top: 0px;
	}

	.js-fix .l-mainheader__logo {
		top: auto;
	}

}

@media (max-width: 767px) {
	.l-mainnav__inner {
		display: flex;
		flex-direction: column-reverse;
	}

	.l-mainnav__cattop.is-open {
		background-color: #5EA8DD;
	}

	.l-mainnav__cattop.is-open>a>span {
		color: #fff;
	}

	.l-mainnav__cattop.is-open>a>span::before {
		border-bottom: 2px solid #fff;
		border-right: 2px solid #fff;
	}

	.l-mainnav__cattop.is-open>button.is-open::before {
		background: url(/-/media/image/icon-sp-gmenusub-close-white.svg) no-repeat center;
	}

	.l-megamenu>.l-megamenu__categories {
		background-color: #E7F5FF;
	}
}

/*----------
	display
----------*/
@media (max-width: 767px) {
	.u-pc-v {
		display: none;
	}
}

@media (min-width: 767.9px) {
	.u-sp-v {
		display: none;
	}
}

/* main
--------------------------------------------------*/
main {
	margin-top: 94px;
	position: relative;
}

@media screen and (max-width: 767px) {
	main {
		margin-top: 65px;
	}
}

/* ぱんくず
--------------------------------------------------*/
.topicpath {
	background: #fff;
}

.topicpath ul li {
	display: inline-block;
	font-size: 16px;
	font-size: 1.6rem;
}

.topicpath ul li:before {
	content: "＞";
}

.topicpath ul li:first-child:before {
	content: "";
}

.topicpath ul li a {
	color: #333;
}

@media screen and (max-width: 767px) {
	.topicpath ul li {
		font-size: 13px;
		font-size: 1.3rem;
	}
}

/* [2021.7] ニュース一覧へのボタン追加
--------------------------------------------------*/
.newslist_link {
	background: #fff;
	padding: 50px 0;
	text-align: center;
}
	.newslist_link .btn_base {
		font-size: 16px;
		font-size: 1.5rem;
	}
@media screen and (max-width: 767px) {
.newslist_link {
	padding: 30px 0;
}
	.newslist_link .container {
		width: 100%;
	}
}

/* お問い合わせ
--------------------------------------------------*/
.footer_contact {
	background: #fff;
	padding: 50px 0;
	text-align: center;
}

.footer_contact .btn_base {
	font-size: 21px;
	font-size: 2.1rem;
}

@media screen and (max-width: 767px) {
	.footer_contact {
		padding: 30px 0;
	}
	.footer_contact .container {
		width: 100%;
	}
	.footer_contact .btn_base {
		font-size: 16px;
		font-size: 1.6rem;
	}
}

/* footer
--------------------------------------------------*/
footer {
	position: relative;
	background-color: #fff;
}

/* footer span.pagetop {
	position: fixed;
	right: 0;
	bottom: 51px;
	background: #231816;
	color: #fff;
	width: 40px;
	height: 70px;
	text-align: center;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 45px;
	cursor: pointer;
	opacity: 1;
	z-index: 100;
	transition: 0.3s;
}

footer span.pagetop:after {
	content: "";
	display: block;
	width: 13px;
	height: 13px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: relative;
	left: 13px;
}

footer span.pagetop:hover {
	text-decoration: none;
	opacity: .8;
} */

footer .block1 {
	padding: 20px 0 10px;
}

footer .block1 h1,
footer .block1 div {
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
}

footer .block1 p {
	font-size: 14px;
	font-size: 1.4rem;
}

footer .block1 ul {
	display: flex;
	display: -ms-flexbox;
	color: #fff;
	margin-top: 10px;
}

footer .block1 ul li {
	margin-bottom: 10px;
}

footer .block1 ul li:before {
	content: "｜";
	margin: 0 5px;
}

footer .block1 ul li:first-child:before {
	content: "";
	margin: 0;
}

footer .block1 ul li a {
	color: #fff;
	opacity: 1;
	transition: 0.3s;
}

footer .block1 ul li a:hover {
	opacity: .7;
	text-decoration: none;
}

footer .block2 {
	background: #e8e8e8;
}

footer .block2 p {
	display: none;
}

footer .block2 ul li {
	display: inline-block;
	line-height: 50px;
	margin-right: 10px;
}

footer .block2 ul li a {
	font-size: 13px;
	font-size: 1.3rem;
	color: #333;
	position: relative;
	padding-right: 1.5em;
}

footer .block2 ul li a:before {
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	background: #fff;
	border-radius: 0.5em;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

footer .block2 ul li a:after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border: 3px solid transparent;
	border-left: 5px solid #717072;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

footer .block3 {
	padding: 20px 0 10px;
}

footer .block3 h1,
footer .block3 div {
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
}

footer .block3 p {
	font-size: 14px;
	font-size: 1.4rem;
}

footer .block3 ul {
	/*display: flex;*/
	/*display: -ms-flexbox;*/
	color: #fff;
	margin-top: 10px;
}

footer .block3 ul li {
	margin-bottom: 10px;
	width: 100%;
	padding: 0;
	display: inline;
	margin-right: 14px;
	overflow-wrap: break-word !important;
	word-wrap: break-word !important;
}

/*footer .block3 ul li:before {
							content: "｜";
							margin: 0 5px;
						}*/
footer .block3 ul li:first-child:before {
	content: "";
	margin: 0;
}

footer .block3 ul li a {
	color: #fff;
	opacity: 1;
	transition: 0.3s;
}

footer .block3 ul li a:hover {
	opacity: .7;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	footer .container {
		width: 100%;
	}
	footer span.pagetop {
		bottom: 0;
		width: 40px;
		height: 40px;
		line-height: 25px;
	}
	footer .block1 {
		padding: 0;
	}
	footer .block1 h1,
	footer .block1 div,
	footer .block1 p {
		display: none;
	}
	footer .block1 ul {
		flex-wrap: wrap;
		margin: 0;
	}
	footer .block1 ul li {
		width: 50%;
		box-sizing: border-box;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
	}
	footer .block1 ul li:nth-child(n+11) {
		border-bottom: none;
	}
	footer .block1 ul li:nth-child(even) {
		border-right: none;
	}
	footer .block1 ul li {
		margin-bottom: 0;
	}
	footer .block1 ul li:before {
		content: "";
		margin: 0;
	}
	footer .block1 ul li a {
		color: #fff;
		line-height: 50px;
		display: block;
		padding: 0 0 0 15px;
		position: relative;
		font-size: 11px;
		font-size: 1.1rem;
	}
	footer .block1 ul li a:after {
		content: "";
		display: block;
		width: 5px;
		height: 5px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		right: 12px;
		top: 21px;
	}
	footer .block2 {
		background: #e8e8e8;
	}
	footer .block2 ul li {
		display: block;
		float: left;
		width: 50%;
		line-height: inherit;
		margin-top: 13px;
		margin-right: 0;
	}
	footer .block2 ul li a {
		margin: 0 15px;
	}
	footer .block2 p {
		display: block;
		clear: both;
		font-size: 10px;
		font-size: 1rem;
		padding: 15px;
	}
	footer .block3 {
		padding: 0;
	}
	footer .block3 h1,
	footer .block3 div,
	footer .block3 p {
		display: none;
	}
	footer .block3 ul {
		flex-wrap: wrap;
		margin: 0;
	}
	footer .block3 ul li {
		width: 50%;
		box-sizing: border-box;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
	}
	footer .block3 ul li:nth-child(n+11) {
		border-bottom: none;
	}
	footer .block3 ul li:nth-child(even) {
		border-right: none;
	}
	footer .block3 ul li {
		margin-bottom: 0;
	}
	footer .block3 ul li:before {
		content: "";
		margin: 0;
	}
	footer .block3 ul li a {
		color: #fff;
		line-height: 50px;
		display: block;
		padding: 0 0 0 15px;
		position: relative;
		font-size: 11px;
		font-size: 1.1rem;
	}
	footer .block3 ul li a:after {
		content: "";
		display: block;
		width: 5px;
		height: 5px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		right: 12px;
		top: 21px;
	}
}

/*▲リニューアル前のヘッダーcss*/
/*▼リニューアル前のヘッダーcss*/

.l-mainfooter {
	background: #9EA7B7;
	color: #fff;
}

.l-mainfooter__inner {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 50px;
}

@media (max-width: 767.9px) {
	.l-mainfooter__inner {
		padding-bottom: 45px;
	}
}

.l-mainfooter__backhead {
	position: fixed;
	right: 0;
	bottom: 51px;
	background: #231816;
	color: #fff;
	width: 40px;
	height: 70px;
	text-align: center;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 45px;
	cursor: pointer;
	opacity: 1;
	z-index: 100;
	transition: 0.3s;
}

.l-mainfooter__backhead::after{
	content: "";
	display: block;
	width: 13px;
	height: 13px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 10px;
	margin: auto;
}

.l-mainfooter__backhead:hover{
	text-decoration: none;
	opacity: .8;
}

.l-mainfooter__backhead a{
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	text-decoration: none;
}

.l-mainfooter__backhead a:hover{
	text-decoration: none;
}


@media (max-width: 767.9px) {
	.l-mainfooter__backhead {
		bottom: 0;
		width: 40px;
		height: 40px;
		line-height: 25px;
	}
	.l-mainfooter__backhead::after{
		bottom: 0px;
	}

}


.l-mainfooter__logo {
	padding: 30px 20px 40px 0px;
}

.l-mainfooter__logo>img {
	display: block;
	max-width: 394px;
}

.l-mainfooter__nav {
	margin-bottom: 35px;
	margin-left: -5.3333333333%;
	margin-right: -5.3333333333%;
}

@media (max-width: 767.9px) {
	.l-mainfooter__nav {
		margin: 0;
	}
}

.l-mainfooter__copyright {
	margin-top: 30px;
	text-align: center;
	font-size: 1.1rem;
	color: var(--color-txt-caption);
}

@media (max-width: 767.9px) {
	.l-mainfooter__copyright {
		margin-top: 50px;
		font-size: 1rem;
		color: #fff;
	}
}

@media (max-width: 767.9px) {
	.l-mainfooter__logo {
		display: none;
	}
}

@media (min-width: 767.9px) {
	footer {
		padding-top: 40px;
	}

	.l-mainfooter {
	}

	.l-mainfooter__backhead {
	}

	.l-mainfooter__logo {
		padding: 40px 0px 54px;
	}

	.l-mainfooter__nav {
		margin-left: auto;
		margin-right: auto;
		overflow: hidden;
	}

	.l-mainfooter__copyright {
		margin-top: 17px;
		font-size: 1.4rem;
		color: #fff;
	}
}

.l-fnav-main {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

@media (max-width: 767px) {
	.l-fnav-main__cattop {
		position: relative;
		font-size: 1.6rem;
	}

	.l-fnav-main__cattop>a {
		display: block;
		color: inherit;
	}

	.l-fnav-main__cattop>a>span {
		display: block;
		padding: 26px 60px 26px 44px;
	}

	.l-fnav-main__cattop>button {
		display: none;
		position: absolute;
		top: 0;
		right: 0;
		width: 60px;
		height: 100%;
		text-align: center;
		cursor: pointer;
	}

	.l-fnav-main__cattop.is-hierarichical>button {
		display: block;
		color: var(--color-txt);
	}

	.l-fnav-main__cattop.is-hierarichical>button::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 60px;
		height: 100%;
		content: "";
		background: url(/-/media/image/icon-sp-gmenusub-open-white.svg) no-repeat center;
		border-left: 1px solid #ddd;
	}

	.l-fnav-main__cattop.is-hierarichical>button.is-open::before {
		background: url(/-/media/image/icon-sp-gmenusub-close-white.svg) no-repeat center;
	}

	.l-fnav-main__primary-item+.l-fnav-main__primary-item {
		border-top: 1px solid #ddd;
	}

	.l-fnav-main__secondary-items {
		display: none;
		border-top: 1px solid #ddd;
		background: #fff;
	}

	.l-fnav-main__secondary-items.is-open {
		display: block;
	}

	.l-fnav-main__secondary-item {
		font-size: 1.4rem;
	}

	.l-fnav-main__secondary-item>a {
		color: #000;
	}

	.l-fnav-main__secondary-item>a>span {
		display: block;
		padding: 12px 20px;
	}
}

@media (max-width: 767px) and (max-width: 767.9px) {
	.l-fnav-main__secondary-item>a>span {
		padding: 20px 60px 0px 44px;
		font-size: 1.4rem;
	}
}

@media (max-width: 767px) and (max-width: 767.9px) {
	.l-fnav-main__secondary-items>li:last-child {
		padding: 0 0 20px 0;
	}
}

@media (min-width: 767.9px) {
	.l-fnav-main {
		border: none;
	}

	.l-fnav-main__primary-items {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		margin-left: -13px;
		margin-right: -13px;
		padding-bottom: 80px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.337);
	}

	.l-fnav-main__cattop {
		font-size: 1.8rem;
	}

	.l-fnav-main__cattop>button {
		display: none;
	}

	.l-fnav-main__cattop>a {
		color: inherit;
		-webkit-transition: color 0.2s;
		transition: color 0.2s;
	}

	.l-fnav-main__cattop>a:hover {
		color: var(--color-txt-hover);
	}

	.l-fnav-main__cattop>a>span {
		font-weight: 500;
		position: relative;
	}

	.l-fnav-main__primary-item {
		-webkit-box-flex: 1;
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;
		margin: 0 13px;
	}

	.l-fnav-main__secondary-items {
		display: block;
		margin-top: 20px;
	}

	.l-fnav-main__secondary-item {
		font-size: 1.4rem;
		/* stylelint-disable no-descending-specificity */
		/* stylelint-enable no-descending-specificity */
	}

	.l-fnav-main__secondary-item>a {
		color: inherit;
		-webkit-transition: color 0.2s;
		transition: color 0.2s;
	}

	.l-fnav-main__secondary-item>a:hover {
		color: var(--color-txt-hover);
	}

	.l-fnav-main__secondary-item+.l-fnav-main__secondary-item {
		margin-top: 11px;
	}
}

.l-fnav-main__cattop+.l-fnav-main__cattop {
	margin-top: 20px;
}

@media (max-width: 767.9px) {
	.l-fnav-main__cattop+.l-fnav-main__cattop {
		margin-top: 0px;
		border-top: 1px solid #fff;
	}
}

@media (max-width: 767.9px) {
	.l-fnav-main__cattop>a>span::before {
		content: "";
		width: 7px;
		height: 7px;
		border-bottom: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		position: absolute;
		top: 2px;
		bottom: 0;
		left: 23px;
		margin: auto;
		z-index: 1;
	}
}

.l-fnav-sub {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
}

@media (max-width: 767.9px) {
	.l-fnav-sub {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}
}

.l-fnav-sub__items {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 34px;
	margin-bottom: -20px;
}

@media (max-width: 767.9px) {
	.l-fnav-sub__items {
		margin-top: 42px;
	}
}

.l-fnav-sub__items li:first-child a span {
	padding: 0 20px 0 0;
}

.l-fnav-sub__item {
	margin-bottom: 20px;
	font-size: 1.4rem;
	line-height: 1;
	color: #fff;
}

@media (max-width: 767.9px) {
	.l-fnav-sub__item {
		font-size: 1.2rem;
	}
}

.l-fnav-sub__item>a {
	color: inherit;
}

.l-fnav-sub__item>a>span {
	display: block;
	padding: 0 20px;
}

.l-fnav-sub__item+.l-fnav-sub__item {
	border-left: 1px solid rgba(255, 255, 255, 0.337);
}

@media (min-width: 767.9px) {
	.l-fnav-sub__item>a {
		-webkit-transition: color 0.2s;
		transition: color 0.2s;
	}

	.l-fnav-sub__item>a:hover {
		color: var(--color-txt-hover);
	}
}

/* print
--------------------------------------------------*/
@media print {
	header {
		display: none;
	}
	main .mainvisual {
		height: 0;
	}
}


/* SideMenu
--------------------------------------------------*/

.l-sidemenu_mainInner{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.l-sidemenu{
	width: 300px;
	z-index: 1;
}
.l-sidemenu__inner {
	border-right: 1px solid #DDDDDD;
	border-left: 1px solid #DDDDDD;
	}
.l-sidemenu__main {
	background-color: #fff;
	}
.l-sidemenu__list {
	border-top: 1px solid #DDDDDD;
	position: relative;
	}
.l-sidemenu__list:last-child {
	border-bottom: 1px solid #DDDDDD;
	}

.l-sidemenu__cattop {
	position: relative;
	transition: 0.5s;
	}
.l-sidemenu__cattop > a{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 30px 35px;
	position: relative;
	line-height: 1.4;
	text-decoration: none;
	color: #111;
	cursor: pointer;
	background-color: #fff;
	}

.l-sidemenu__cattop::before{
	content: '';
	width: 6px;
	height: 6px;
	border-bottom: 2px solid #3CA4C9;
	border-right: 2px solid #3CA4C9;
	transform: rotate(-45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 10px;
	margin: auto;
	z-index: 1;
}

.l-sidemenu__cattop.l-sidemenu__cattop__nolink > span{
	padding: 25px 35px;
	display: block;
}

.l-sidemenu__cattop.l-sidemenu__cattop__nolink > span i{
	padding-right: 55px;
	display: block;
}

.l-sidemenu__cattop.l-sidemenu__cattop__nolink::before{
	content: none;
}


.l-sidemenu__list.list_active a{
	color: #fff;
	background-color: #3CA4C9;}

.l-sidemenu__list.list_active .l-sidemenu__cattop::before{
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
}

.l-sidemenu__list--hassub .l-sidemenu__cattop > span{
	position: relative;
	transition: 0.5s;
	display: flex;
}

.l-sidemenu__list--hassub .l-sidemenu__cattop > span a{
	color: #111;
	text-decoration: none;
	flex: 0 0 80%;
    padding: 25px 35px;
	cursor: pointer;
}

.l-sidemenu__list--hassub .l-sidemenu__cattop > span:hover{
	transition: 0.5s;
	background-color: #FAFAFA;
}

.l-sidemenu__list--hassub .l-sidemenu__cattop > span em{
	position: absolute;
	width: 60px;
	height: 100%;
	border-left: 1px solid #DDDDDD;
	display: block;
	right: 0;
	top: 0;
	cursor: pointer;
}

.l-sidemenu__list--hassub .l-sidemenu__cattop > span em::before,
.l-sidemenu__list--hassub .l-sidemenu__cattop > span em::after{
	content: '';
	display: block;
	background-color: #3CA4C9;
	border-radius: 10px;
	position: absolute;
	width: 14px;
	height: 2px;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

.l-sidemenu__list--hassub .l-sidemenu__cattop > span em::after{
	transform: rotate(90deg);
}

.l-sidemenu__list--hassub .l-sidemenu__cattop.sub-active{
	transition: 0.5s;
	background-color: #FAFAFA;}
.l-sidemenu__list--hassub .l-sidemenu__cattop.sub-active > span em::after{
	transform: rotate(0);
}

.l-sidemenu__sub {
	background-color: #FAFAFA;
}

.l-sidemenu__sub .l-sidemenu__sub__links > ul {
	border-top: 1px solid #ddd;
	padding: 15px 0;
	}

.l-sidemenu__sub .l-sidemenu__sub__nolinks > ul li{
	font-size: 14px;
}

.l-sidemenu__sub .l-sidemenu__sub__nolinks > span{
	padding: 15px 30px;
	display: block;
	font-size: 14px;
}

.l-sidemenu__sub li a {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-right: 0;
	padding: 15px 30px;
	font-size: 14px;
	text-decoration: none;
	color: #111;
	}

.l-sidemenu__sub li.menu__sub__active a{
	font-weight: bold;
	color: #3CA4C9;
}

.l-sidemenu__sub li ul{
	margin-left: 20px;
}

.l-sidemenu__sub li ul li a{
	color: #777777;
	font-size: 12px;
	padding: 10px 30px;
}

.l-sidemenu__util {
	display: block;
	width: 100%;
	margin-top: 20px;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	background-color: #fff;
	}
.l-sidemenu__util > li > a {
	position: relative;
	display: flex;
	align-items: center;
	height: 56px;
	padding: 0 16px;
	font-weight: 500;
	font-size: 1.7rem;
	line-height: 1;
	text-decoration: none;
	color: #111;
	}
.l-sidemenu__util > li + li {
	margin-left: 16px;
	padding-left: 16px;
	}

@media screen and (max-width: 767px) {
	.l-sidemenu_mainInner {
		flex-direction: column;
	}

	.l-sidemenu_content ,
	.l-sidemenu{
		width: 100%;
	}

	.l-sidecontent{
		padding: 0 20px;
		box-sizing: border-box;
	}

	.l-sidecontent,
	.l-sidemain .l-sidemenu{
		width: 100%;
	}

	.l-sidemain .l-sidemenu_mainInner{
		flex-direction: column;
	}
	.l-sidemenu__list--hassub .l-sidemenu__cattop > span a{
		flex: 0 0 85%;
	}

}