@charset "UTF-8";

/* --------------------------------------------------
共有css
common.css
-------------------------------------------------- */

:root {
	--green1: #00A8A9;
	--green2: #339D9E;
	--green3: #008486;
	--gray1: #707070;
	--gray2: #E5E5E5;
	--gray3: #DDDDDD;
	--gray4: rgba(0, 0, 0, 0.15);
	--gray5: #EEEEEE;
	--gray6: #F3F3F3;
	--gray7: #CCCCCC;
	--gray9: #888888;
	--pankuzu1: #494C4D;
	--pankuzu2: rgba(73, 76, 77, 0.8);
	--pankuzu1w: #FFFFFF;
	--pankuzu2w: rgba(255, 255, 255, 0.8);
	--beige1: #F1F1F1;
	--beige2: #F5F5F5;
	--overlay: rgba(0, 0, 0, 0.4);
	--black: #333333;
	--blue: #0074B0;
	--white: #ffffff;
	--red1: #D35344;
}


body {
	font-size: 15px;
	font-weight: 300;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, Arial, arial, helvetica, sans-serif;
	font-style: normal;
	color: var(--black);
	line-break: strict;
}


.wrapper {
	padding: 116px 0 0;
}
@media (max-width: 767px) {
	.wrapper {
		padding: 83px 0 0;
	}
}

.container {
	max-width: 1234px;
	padding-left: 30px;
	padding-right: 30px;
}
.container-fluid {
	padding-left: 30px;
	padding-right: 30px;
}
@media (max-width: 767px) {
	.container {
		padding-left: 16px;
		padding-right: 16px;
	}
	.container-fluid {
		padding-left: 16px;
		padding-right: 16px;
	}
}

h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6 {
	color: var(--black);
	line-height: 1.4;
	font-weight: bold;
}
p {
	line-height: 1.8;
	overflow-wrap: break-word;
}
a {
	color: var(--green2);
}
a:hover {
	color: var(--green2);
	text-decoration: none;
}

.aco-head {
	cursor: pointer;
}
.bold {
	font-weight: 700;
}

/* --------------------------------------------------
.g-header
-------------------------------------------------- */

.dd-menu-close-box {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: var(--overlay);
	z-index: 99;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s;
}

body.dd-menu-open {
	overflow: hidden;
	position: fixed;
	width: 100%;
	height: 100%;
}
body.dd-menu-open .dd-menu-close-box {
	opacity: 1;
	visibility: visible;
}

.g-header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	display: flex;
	align-items: center;
	font-weight: bold;
	height: 116px;
	border-top: solid 3px var(--green1);
	border-bottom: solid 1px var(--gray3);
	background-color: var(--white);
	z-index: 100;
}
.g-header .site-logo-wrap {
	display: flex;
	align-items: center;
}
.g-header .site-logo {
	display: flex;
	align-items: center;
	padding: 0 23px 0 25px;
	margin: 0;
	border-right: solid 1px var(--gray2);
}
.g-header .site-logo img {}
.g-header .sub-site-name {
	display: flex;
	align-items: center;
	line-height: 1.2;
	padding: 0 25px;
	color: #666666;
}
.g-header .sub-site-name span {}
@media (max-width: 991px) {
	.g-header .site-logo img {
		width: 190px;
	}
	.g-header .sub-site-name {
		font-size: 14px;
		padding: 0 10px;
	}
}
@media (max-width: 767px) {
	.g-header {
		height: 83px;
	}
	.g-header .site-logo-wrap {}
	.g-header .site-logo {
		padding: 0 16px;
	}
	.g-header .site-logo img {
		width: 155px;
	}
	.g-header .sub-site-name {
		font-size: 12px;
		padding: 0 12px;
	}
}
/* .external-link */
.g-header a.external-link {}
.g-header a.external-link::after {
	content: "";
	display: inline-block;
	margin-left: 0.5em;
	margin-right: -1.25em;
	transform: translateY(0.125em);
	width: 1.25em;
	height: 1em;
	background-image: url(../img/common/ico-external.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

/* .gnav-wrap */
.g-header .gnav-wrap {
	display: flex;
	align-items: center;
	margin-left: auto;
}
.g-header .gnav-wrap .text-link-wrap {
	padding-right: 30px;
}
.g-header .gnav-wrap .text-link-wrap ul li.has-dd {}
.g-header .gnav-wrap .text-link-wrap ul li.has-dd > a.dd-menu {
	position: relative;
	padding-right: 20px;
	transition: color 0.3s;
	cursor: pointer;
}
.g-header .gnav-wrap .text-link-wrap ul li.has-dd > a.dd-menu::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	width: 7px;
	height: 7px;
	border-style: solid;
	border-width: 0 1px 1px 0;
	border-color: var(--green2);
	transform: translate(-50%, -80%) rotate3d(0, 0, 0, 180deg) rotate(45deg);
	transition: transform 0.3s;
}
.g-header .gnav-wrap .text-link-wrap ul li.has-dd > a.dd-menu.select {
	color: var(--green2);
}
.g-header .gnav-wrap .text-link-wrap ul li.has-dd > a.dd-menu.select::after {
	transform: translate(-50%, -10%) rotate3d(1, 0, 0, 180deg) rotate(45deg);
}
@media (max-width: 991px) {
	.g-header .gnav-wrap .text-link-wrap {
		padding-right: 20px;
	}
}
@media (max-width: 767px) {
	.g-header .gnav-wrap .text-link-wrap {
		display: none;
	}
}

/* .sub-nav */
.g-header .gnav-wrap .sub-nav {
	font-size: 13px;
	margin-bottom: 16px;
}
.g-header .gnav-wrap .sub-nav > ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
}
.g-header .gnav-wrap .sub-nav > ul li {}
.g-header .gnav-wrap .sub-nav > ul a {
	color: var(--black);
}
.g-header .gnav-wrap .sub-nav > ul > li {
	padding: 0;
	margin: 0;
}
.g-header .gnav-wrap .sub-nav > ul > li:not(:first-child) {
	padding-left: 2em;
}
.g-header .gnav-wrap .sub-nav > ul > li > a {}
.g-header .gnav-wrap .sub-nav > ul > li.search-wrap {}
.g-header .gnav-wrap .sub-nav > ul > li.search-wrap form {}
.g-header .gnav-wrap .sub-nav > ul > li.search-wrap form input {
	width: 128px;
	height: 28px;
	border: solid 1px var(--gray3);
	border-radius: 0;
	padding: 5px 4px 3px 35px;
	background-image: url(../img/common/ico-search.svg);
	background-position: 10px 50%;
	background-repeat: no-repeat;
}
@media (max-width: 991px) {
	.g-header .gnav-wrap .sub-nav > ul > li.search-wrap {
		padding-left: 1em;
	}
}
/* .main-nav */
.g-header .gnav-wrap .main-nav {
	font-size: 15px;
}
.g-header .gnav-wrap .main-nav > ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
}
.g-header .gnav-wrap .main-nav > ul li {}
.g-header .gnav-wrap .main-nav > ul a {
	color: var(--black);
}
.g-header .gnav-wrap .main-nav > ul > li {
	padding: 0;
	margin: 0;
}
.g-header .gnav-wrap .main-nav > ul > li:not(:first-child) {
	padding-left: 2em;
}
.g-header .gnav-wrap .main-nav > ul > li > a {}
@media (max-width: 1349px) {
	.g-header .gnav-wrap .main-nav > ul > li:not(:first-child) {
		padding-left: 1.5em;
	}
}
/* .dd-child */
.g-header .gnav-wrap .dd-child {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	font-size: 15px;
	padding: 40px 0;
	background-color: var(--beige1);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s;
}
.g-header .gnav-wrap .dd-child .container {}
.g-header .gnav-wrap .dd-child .dd-inner {
	display: flex;
}
.g-header .gnav-wrap .dd-child .menu-title {
}
.g-header .gnav-wrap .dd-child .menu-title a {
	position: relative;
	padding-left: 1em;
	font-size: 18px;
}
.g-header .gnav-wrap .dd-child .menu-title a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 8px;
	height: 6px;
	border-style: solid;
	border-width: 3px 0 3px 8px;
	border-color: transparent transparent transparent var(--green1);
}
.g-header .gnav-wrap .dd-child .menu-body {
	margin-left: auto;
}
.g-header .gnav-wrap .dd-child .child-ul-wrap {
	width: 625px;
	max-width: 129vw;
}
.g-header .gnav-wrap .dd-child ul.child-ul {
	display: grid;
	gap: 17px 15px;
	grid-template-columns: 1fr 1fr;
	list-style: none;
	padding: 0;
	margin: 0;
}
.g-header .gnav-wrap .dd-child ul.child-ul > li {
	margin: 0;
}
.g-header .gnav-wrap .dd-child ul.child-ul > li:not(:last-child) {
	padding: 0;
}
.g-header .gnav-wrap .dd-child ul.child-ul > li > a {}

.g-header .gnav-wrap .products-dd ul.child-ul {
	gap: 10px 15px;
}
/* .bnr-wrap */
.g-header .gnav-wrap .dd-child .bnr-wrap {
	max-width: 600px;
}
.g-header .gnav-wrap .dd-child .bnr-wrap .bnr-row {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 12px;
	padding: 0;
	margin: 27px 0 0;
}
.g-header .gnav-wrap .dd-child .bnr-wrap .bnr-col {
	flex: 0 0 calc(33.3% - (8px * 2 / 3));
}
.g-header .gnav-wrap .dd-child .bnr-wrap a.lp-bnr {
	position: relative;
	display: block;
	font-size: 13px;
	min-height: 100%;
	padding: 28px 16px;
	background-color: var(--green1);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.g-header .gnav-wrap .dd-child .bnr-wrap a.lp-bnr::before {
	content: "";
	position: absolute;
	inset: 0;
	background-position: 100% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}
.g-header .gnav-wrap .dd-child .bnr-wrap a.lp-bnr .bnr-inner {
	position: relative;
}
.g-header .gnav-wrap .dd-child .bnr-wrap a.lp-bnr .sub-title {
	font-weight: bold;
	line-height: 1.4;
	color: var(--white);
	margin-bottom: 18px;
}
.g-header .gnav-wrap .dd-child .bnr-wrap a.lp-bnr .bnr-title {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.11;
	width: fit-content;
	max-width: 100%;
	color: var(--white);
	margin: 0;
}
.g-header .gnav-wrap .dd-child .bnr-wrap a.lp-bnr .more {
	font-size: 15px;
	font-weight: bold;
	position: relative;
	padding-left: 24px;
	color: var(--white);
	margin: 28px 0 0;
}
.g-header .gnav-wrap .dd-child .bnr-wrap a.lp-bnr .more::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 12px;
	height: 8px;
	border-style: solid;
	border-width: 4px 0 4px 12px;
	border-color: transparent transparent transparent var(--white);
}
.g-header .gnav-wrap .dd-child .bnr-wrap a.lp1 {
	background-image: url(../img/common/gnav_lp1_bg.png);
}
.g-header .gnav-wrap .dd-child .bnr-wrap a.lp1::before {
	background-image: url(../img/common/gnav_lp1_img.png);
}
.g-header .gnav-wrap .dd-child .bnr-wrap a.lp2 {
	background-image: url(../img/common/gnav_lp2_bg.png);
}
.g-header .gnav-wrap .dd-child .bnr-wrap a.lp2::before {
	background-image: url(../img/common/gnav_lp2_img.png);
}
.g-header .gnav-wrap .dd-child .bnr-wrap a.lp3 {
	background-image: url(../img/common/gnav_lp3_bg.png);
}
.g-header .gnav-wrap .dd-child .bnr-wrap a.lp3::before {
	background-image: url(../img/common/gnav_lp3_img.png);
}
@media (min-width: 768px) {
	.g-header .gnav-wrap .dd-child .bnr-wrap a.lp-bnr {
		transition: opacity 0.3s;
	}
	.g-header .gnav-wrap .dd-child .bnr-wrap a.lp-bnr:hover {
		opacity: 0.6;
	}
}
@media (max-width: 991px) {
	.g-header .gnav-wrap .dd-child .bnr-wrap .bnr-row {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 767px) {
	.g-header .gnav-wrap .dd-child .bnr-wrap .bnr-row {
		grid-template-columns: 1fr;
		margin: 8px 0 16px;
		padding: 0 16px;

	}
}


/* .btn-nav-wrap */
.g-header .gnav-wrap .btn-nav-wrap {}
.g-header .gnav-wrap .btn-nav-wrap > ul {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
}
.g-header .gnav-wrap .btn-nav-wrap > ul > li {
	padding: 0;
	margin: 0;
}
.g-header .gnav-wrap .btn-nav-wrap > ul > li:not(:last-child) {
	padding-right: 1px;
}
.g-header .gnav-wrap .btn-nav-wrap > ul > li > a {
	display: flex;
	height: 64px;
	justify-content: center;
	align-items: center;
	padding: 13px;
	font-size: 13px;
	line-height: 1.2;
	color: var(--white);
	background-color: var(--green3);
}
@media (max-width: 1299px) {
	.g-header .gnav-wrap .sub-nav {
		margin: 0;
	}
	.g-header .gnav-wrap .sub-nav > ul > li:not(.search-wrap) {
		display: none;
	}
	.g-header .gnav-wrap .main-nav {
		display: none;
	}
}
@media (max-width: 991px) {
	.g-header .gnav-wrap .btn-nav-wrap > ul > li > a {
		padding: 10px;
	}
}
@media (max-width: 767px) {
	.g-header .gnav-wrap .btn-nav-wrap {
		display: none;
	}
}
/* .hamburger */
.g-header .gnav-wrap .hamburger {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 112px;
	width: 96px;
	cursor: pointer;
}
.g-header .gnav-wrap .hamburger .hamburger-btn {
	position: relative;
	transform: translateY(-10px);
	height: 40px;
	width: 40px;
}
.g-header .gnav-wrap .hamburger .hamburger-btn span.bar {
	position: absolute;
	top: 50%;
	left: 50%;
	border-top: solid 1px var(--green2);
	width: 24px;
}
.g-header .gnav-wrap .hamburger .hamburger-btn span.bar:nth-child(1) {
	transform: translate(-50%, -8px);
}
.g-header .gnav-wrap .hamburger .hamburger-btn span.bar:nth-child(2) {
	transform: translate(-50%, 0);
}
.g-header .gnav-wrap .hamburger .hamburger-btn span.bar:nth-child(3) {
	transform: translate(-50%, 8px);
}
.g-header .gnav-wrap .hamburger .hamburger-btn span.text {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	font-size: 13px;
	line-height: 1;
	color: var(--green2);
}
@media (max-width: 991px) {
	.g-header .gnav-wrap .hamburger {
		width: 80px;
	}
}
@media (max-width: 767px) {
	.g-header .gnav-wrap .hamburger {
		width: 77px;
		height: 80px;
	}
	.g-header .gnav-wrap .hamburger .hamburger-btn {
		position: absolute;
		top: 48%;
		right: 16px;
		width: 22px;
		height: 22px;
	}
	.g-header .gnav-wrap .hamburger .hamburger-btn span.bar {
		width: 22px;
	}
	.g-header .gnav-wrap .hamburger .hamburger-btn span.text {
		top: 48%;
		left: -10px;
		transform: translate(-100%, -50%);
		font-size: 10px;
	}
}

/* #megamenu */
#megamenu {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0;
	padding: 145px 0 50px;
	border: solid 3px var(--green1);
	background-color: var(--white);
	z-index: 101;
	visibility: hidden;
	opacity: 0;
	transition: visibility 0.3s, opacity 0.3s;
	overflow: auto;
}
@media (max-width: 767px) {
	#megamenu {
		padding: 80px 0 150px;
		border-width: 3px 0 0;
	}
}
/* .megamenu-header, .megamenu-header */
#megamenu .megamenu-header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	display: flex;
	align-items: center;
	font-weight: bold;
	height: 116px;
	border-top: solid 3px var(--green1);
	z-index: 100;
}
#megamenu .megamenu-header {}
#megamenu .megamenu-body .container {
	width: 100%;
}
@media (max-width: 767px) {
	#megamenu .megamenu-header {
		height: 83px;
		border-bottom: solid 1px var(--gray3);
		background-color: var(--white);
	}
	#megamenu .megamenu-body .container {
		padding: 0;
	}
}

/* .g-nav-wrap */
#megamenu .g-nav-wrap {}
#megamenu .g-nav-wrap ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
#megamenu .g-nav-wrap ul li {
	padding: 0;
	margin: 0;
}
#megamenu .g-nav-wrap ul li a {
	color: var(--black);
}
#megamenu .g-nav-wrap ul.parent {
	font-size: 18px;
}
#megamenu .g-nav-wrap ul.parent > li {
	padding: 30px 0;
}
#megamenu .g-nav-wrap ul.parent > li:not(:first-child) {
	border-top: solid 1px var(--gray2);
}
#megamenu .g-nav-wrap ul.parent > li.catalog {
	padding-top: 0;
	border-top: 0;
}
#megamenu .g-nav-wrap ul.parent > li > a {
	position: relative;
	padding-left: 1em;
}
#megamenu .g-nav-wrap ul.parent > li > a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 8px;
	height: 6px;
	border-style: solid;
	border-width: 3px 0 3px 8px;
	border-color: transparent transparent transparent var(--green1);
}
#megamenu .g-nav-wrap ul.child-ul {
	padding-left: 1em;
}
#megamenu .g-nav-wrap ul.child-ul > li {
	font-size: 15px;
	padding: 17px 0 0;
}
#megamenu .g-nav-wrap ul.child-ul > li > a {}
/* ul.auxiliary-link */
#megamenu .g-nav-wrap ul.auxiliary-link {
	padding: 10px 0 0;
	padding-left: 1em;
	border-top: solid 1px var(--gray2);
}
#megamenu .g-nav-wrap ul.auxiliary-link > li {
	font-size: 13px;
	padding: 20px 0 0;
}
@media (min-width: 768px) {
	#megamenu .g-nav-wrap > .flex-row {
		display: flex;
		justify-content: space-between;
		gap: 30px;
	}
	#megamenu .g-nav-wrap > .flex-row > * {
		max-width: 320px;
		flex-basis: 320px;
	}
}
@media (max-width: 767px) {
	#megamenu .g-nav-wrap {
		padding: 0 16px;
	}
	#megamenu .g-nav-wrap ul.parent > li {
		padding: 0;
	}
	#megamenu .g-nav-wrap ul.parent > li:not(:first-child) {
		border-top: none;
	}
	#megamenu .g-nav-wrap ul.parent > li > a {
		display: flex;
		padding: 15px 0;
	}
	#megamenu .g-nav-wrap ul.parent > li > a::before {
		display: none;
	}
	#megamenu .g-nav-wrap ul.child-ul {
		padding-left: 0;
	}
	#megamenu .g-nav-wrap ul.parent > li > a.aco-head {
		align-items: center;
		padding: 15px 0;
		transition: color 0.3s;
	}
	#megamenu .g-nav-wrap ul.parent > li > a.aco-head::after {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		margin-left: 10px;
		border-style: solid;
		border-width: 0 1px 1px 0;
		border-color: var(--green2);
		transform: translateY(-20%) rotate3d(0, 0, 0, 180deg) rotate(45deg);
		transition: transform 0.3s;
	}
	#megamenu .g-nav-wrap ul.parent > li > a.aco-head.active {
		color: var(--green2);
	}
	#megamenu .g-nav-wrap ul.parent > li > a.aco-head.active::after {
		transform: translateY(20%) rotate3d(1, 0, 0, 180deg) rotate(45deg);
	}
	#megamenu .g-nav-wrap ul.parent > li > .aco-body {
		font-size: 15px;
		padding: 18px 0;
		margin: 0 -16px;
		background-color: var(--beige1);
	}
	#megamenu .g-nav-wrap ul.parent > li > .aco-body .menu-title a {
		display: block;
		padding: 11px 16px;

	}
	#megamenu .g-nav-wrap ul.parent > li > .aco-body .menu-body li {
		padding: 0
	}
	#megamenu .g-nav-wrap ul.parent > li > .aco-body .menu-body a {
		display: flex;
		padding: 11px 16px 11px 32px;
		opacity: 0.8;
	}
	#megamenu .g-nav-wrap .main-nav {
		padding: 15px 0;
	}
	#megamenu .g-nav-wrap .sub-nav {
		padding: 17px 0;
		border-top: solid 1px var(--gray3);
	}
	#megamenu .g-nav-wrap .sub-nav ul.parent {
		font-size: 15px;
	}
	#megamenu .g-nav-wrap .sub-nav ul.parent > li > a {
		padding: 13px 0;
	}
}

/* .sp-bottom-nav-wrap */
@media (max-width: 767px) {
	#megamenu .g-nav-wrap .sp-bottom-nav-wrap {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: var(--white);
	}
	#megamenu .g-nav-wrap .sp-bottom-nav-wrap ul {
		display: flex;
		list-style: none;
		padding: 0;
		margin: 0;
	}
	#megamenu .g-nav-wrap .sp-bottom-nav-wrap ul li {
		flex-basis: 50%;
		max-width: 50%;
		padding: 0;
		margin: 0;
	}
	#megamenu .g-nav-wrap .sp-bottom-nav-wrap ul li:first-child {
		padding-right: 1px;
	}
	#megamenu .g-nav-wrap .sp-bottom-nav-wrap ul li a.btn-nav {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		height: 56px;
		color: var(--white);
		background-color: var(--green1);
	}
	#megamenu .g-nav-wrap .sp-bottom-nav-wrap .search-wrap {
		
	}
	#megamenu .g-nav-wrap .sp-bottom-nav-wrap .search-wrap input {
		width: 100%;
		height: 56px;
		border: solid 1px var(--white);
		border-radius: 0;
		padding: 4px 4px 4px 40px;
		background-image: url(../img/common/ico-search.svg);
		background-position: 13px 50%;
		background-repeat: no-repeat;
	}
}

/* .hamburger-close */
#megamenu .hamburger-close {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	height: 112px;
	width: 96px;
	cursor: pointer;
}
#megamenu .hamburger-close .close-btn {
	position: relative;
	transform: translateY(-10px);
	height: 40px;
	width: 40px;
}
#megamenu .hamburger-close .close-btn span.bar {
	position: absolute;
	top: 50%;
	left: 50%;
	border-top: solid 1px var(--green2);
	width: 24px;
}
#megamenu .hamburger-close .close-btn span.bar:nth-child(1) {
	transform: translate(-50%, 0) rotate(45deg);
}
#megamenu .hamburger-close .close-btn span.bar:nth-child(2) {
	transform: translate(-50%, 0) rotate(-45deg);
}
#megamenu .hamburger-close .close-btn span.text {
	position: absolute;
	top: 100%;
	font-size: 13px;
	line-height: 1;
	color: var(--green2);
}
@media (max-width: 767px) {
	#megamenu .hamburger-close {
		width: 77px;
		height: 80px;
	}
	#megamenu .hamburger-close .close-btn {
		position: absolute;
		top: 48%;
		right: 16px;
		width: 22px;
		height: 22px;
	}
	#megamenu .hamburger-close .close-btn span.bar {
		width: 22px;
	}
	#megamenu .hamburger-close .close-btn span.text {
		top: 48%;
		left: -10px;
		transform: translate(-100%, -50%);
		font-size: 10px;
	}
}
/* .nav-open  */
body.nav-open {
	overflow: hidden;
	position: fixed;
	width: 100%;
	height: 100%;
}
body.nav-open #megamenu {
	visibility: visible;
	opacity: 1;
}


/* --------------------------------------------------
.common-banner-sec
-------------------------------------------------- */

.common-banner-sec {
	padding: 100px 0;
}
.common-banner-sec .bnr-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	padding: 0;
	margin: 0 auto;
	max-width: 1024px;
}
.common-banner-sec .bnr-item {
	flex: 0 0 calc(33.3% - (8px * 2 / 3));
}
.common-banner-sec a.lp-bnr {
	position: relative;
	display: block;
	font-size: 15px;
	min-height: 100%;
	padding: 70px 32px 24px 7.8%;
	background-color: var(--green1);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.common-banner-sec a.lp-bnr::before {
	content: "";
	position: absolute;
	inset: 0;
	background-position: 69.5% 0%;
	background-repeat: no-repeat;
	background-size: auto 144%;
}
.common-banner-sec a.lp-bnr .bnr-inner {
	position: relative;
}
.common-banner-sec a.lp-bnr .sub-title {
	font-weight: bold;
	line-height: 1.4;
	color: var(--white);
	margin-bottom: 0;
}
.common-banner-sec a.lp-bnr .bnr-title {
	font-size: 35px;
	font-weight: bold;
	line-height: 1.6;
	width: fit-content;
	max-width: 100%;
	color: var(--white);
	CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX;
	margin-bottom: 29px;
}
.common-banner-sec a.lp-bnr .bnr-title .has-underline {
	background-image: linear-gradient(90deg, var(--white), var(--white));
	background-repeat: no-repeat;
	transition: color 0.3s, background-size .4s cubic-bezier(0.43, 0.05, 0.17, 1);
	background-position: bottom;
	background-size: 100% 2px;
	padding-bottom: 0.25em;
}
.common-banner-sec a.lp-bnr .more {
	font-size: 15px;
	font-weight: bold;
	position: relative;
	padding-left: 24px;
	color: var(--white);
	margin: 0;
	width: fit-content;
	margin-left: auto;
}
.common-banner-sec a.lp-bnr .more::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 12px;
	height: 8px;
	border-style: solid;
	border-width: 4px 0 4px 12px;
	border-color: transparent transparent transparent var(--white);
}
.common-banner-sec a.lp1 {
	background-image: url(../img/common/bnr_common_lp1_bg.jpg);
}
.common-banner-sec a.lp1::before {
	background-image: url(../img/common/bnr_common_lp1_img.png);
}
.common-banner-sec a.lp2 {
	background-image: url(../img/common/bnr_common_lp2_bg.jpg);
}
.common-banner-sec a.lp2::before {
	background-image: url(../img/common/bnr_common_lp2_img.png);
	background-position: 70% 0%;
	background-size: auto 127%;
}
.common-banner-sec a.lp3 {
	background-image: url(../img/common/bnr_common_lp3_bg.jpg);
}
.common-banner-sec a.lp3::before {
	background-image: url(../img/common/bnr_common_lp3_img.png);
}


@media (min-width: 768px) {
	.common-banner-sec a.lp-bnr {
		transition: opacity 0.3s;
	}
	.common-banner-sec a.lp-bnr:hover {
		opacity: 0.6;
	}
}
@media (max-width: 991px) {
	.common-banner-sec a.lp-bnr {
		padding-left: 32px;
	}
	.common-banner-sec a.lp-bnr::before {
		left: 50%;
		background-position: 50% 0%;
	}
	.common-banner-sec a.lp-bnr .more {
		margin-left: 0;
	}
}
@media (max-width: 767px) {
	.common-banner-sec {
		padding: 50px 0;
	}
	.common-banner-sec .bnr-list {
		max-width: 500px;
	}
	.common-banner-sec a.lp-bnr {
		font-size: 13px;
		padding: 18px 24px;
	}
	.common-banner-sec a.lp-bnr .sub-title {
		margin-bottom: 10px;
	}
	.common-banner-sec a.lp-bnr .bnr-title {
		font-size: 20px;
		margin-bottom: 13px;
		min-height: 64px;
	}
	.common-banner-sec a.lp-bnr .more {
		font-size: 13px;
	}
	.common-banner-sec a.lp-bnr .more::before {
		width: 8px;
		height: 6px;
		border-width: 3px 0 3px 8px;
	}
	.common-banner-sec a.lp1::before {
		background-size: auto 100%;
		background-position: 48% 100%;
	}
	.common-banner-sec a.lp2::before {
		background-size: auto 100%;
		background-position: 48% 100%;
	}
	.common-banner-sec a.lp3::before {
		background-size: auto 95%;
		background-size: auto 80%;
		background-position: 48% 100%;
	}
}
@media (max-width: 767px) {
	.common-banner-sec a.lp1::before {
		background-size: auto 80%;
	}
	.common-banner-sec a.lp2::before {
		background-size: auto 100%;
	}
	.common-banner-sec a.lp3::before {
		background-size: auto 80%;
	}
}


/* --------------------------------------------------
.footer-big-nav
-------------------------------------------------- */
.footer-big-nav {}
.footer-big-nav .nav-row {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 124px 124px;
	gap: 8px;
	padding: 0 8px;
	margin: 8px 0;
}
.footer-big-nav .nav-col {
	flex: 0 0 calc(33.3% - (8px * 2 / 3));
}
.footer-big-nav .nav-col1 {
	grid-row: 1 / 3;
}
.footer-big-nav .nav-col2 {
	grid-row: 1 / 3;
}
.footer-big-nav .nav-col3 {
}
.footer-big-nav .nav-col4 {
}
.footer-big-nav a.link-box {
	display: flex;
	height: 100%;
	background-color: var(--beige2);
	padding: 24px;
	gap: 24px;
}
.footer-big-nav a.link-box .img-wrap {
	flex: 0 0 32.8%;
	height: 100%;
	margin: 0;
}
.footer-big-nav a.link-box .img-wrap img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	border-radius: 4px;
}
.footer-big-nav a.link-box .text-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 100%;
}
.footer-big-nav a.link-box .name {
	font-size: 20px;
	font-weight: bold;
	position: relative;
	padding-left: 24px;
	color: var(--black);
	margin: 0;
}
.footer-big-nav a.link-box .name::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 12px;
	height: 8px;
	border-style: solid;
	border-width: 4px 0 4px 12px;
	border-color: transparent transparent transparent var(--green1);
}
.footer-big-nav a.small-box .text-wrap {}
.footer-big-nav a.small-box .text-wrap .name {
	width: 100%;
	max-width: 330px;
	padding-left: clamp(20px,17%,68px);
}
@media (min-width: 768px) {
	.footer-big-nav a.link-box {
		transition: opacity 0.3s;
	}
	.footer-big-nav a.link-box:hover {
		opacity: 0.6;
	}
}
@media (max-width: 991px) {
	.footer-big-nav .nav-row {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 2fr 1fr;
	}
}
@media (max-width: 767px) {
	.footer-big-nav .nav-row {
		grid-template-columns: 1fr;
		grid-template-rows: 2fr 2fr 1fr 1fr;
		margin: 16px 0 8px;
		padding: 0 16px;
	}
	.footer-big-nav .nav-col1 {
		grid-row: auto;
	}
	.footer-big-nav .nav-col2 {
		grid-row: auto;
	}
	.footer-big-nav a.link-box {
		gap: 30px;
		padding: 8px;
	}
	.footer-big-nav a.link-box .img-wrap {
		flex: 0 0 21.5%;
	}
	.footer-big-nav a.link-box .name {
		font-size: 18px;
	}
	.footer-big-nav a.link-box .text-wrap {
		justify-content: flex-start;
	}
	.footer-big-nav a.small-box .text-wrap {
		padding: 0 20px;
	}
	.footer-big-nav a.small-box .text-wrap .name {
		padding-left: 25px;
	}
}

/* --------------------------------------------------
.footer-lp-bnr-wrap
-------------------------------------------------- */
.footer-lp-bnr-wrap {}
.footer-lp-bnr-wrap .bnr-row {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 8px;
	padding: 0 8px;
	margin: 8px 0;
}
.footer-lp-bnr-wrap .bnr-col {
	flex: 0 0 calc(33.3% - (8px * 2 / 3));
}
.footer-lp-bnr-wrap a.lp-bnr {
	position: relative;
	display: block;
	font-size: 13px;
	min-height: 100%;
	padding: 27px 32px 21px;
	background-color: var(--green1);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.footer-lp-bnr-wrap a.lp-bnr::before {
	content: "";
	position: absolute;
	inset: 0;
	background-position: 100% 50%;
	background-repeat: no-repeat;
	background-size: contain;
}
.footer-lp-bnr-wrap a.lp-bnr .bnr-inner {
	position: relative;
}
.footer-lp-bnr-wrap a.lp-bnr .sub-title {
	font-weight: bold;
	line-height: 1.4;
	color: var(--white);
	margin-bottom: 18px;
}
.footer-lp-bnr-wrap a.lp-bnr .bnr-title {
	font-size: 25px;
	font-weight: bold;
	line-height: 1.2;
	width: fit-content;
	max-width: 100%;
	color: var(--white);
	padding-bottom: 6px;
	border-bottom: solid 2px var(--white);
}
.footer-lp-bnr-wrap a.lp-bnr .more {
	font-size: 15px;
	font-weight: bold;
	position: relative;
	padding-left: 24px;
	color: var(--white);
	margin: 28px 0 0;
}
.footer-lp-bnr-wrap a.lp-bnr .more::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 12px;
	height: 8px;
	border-style: solid;
	border-width: 4px 0 4px 12px;
	border-color: transparent transparent transparent var(--white);
}
.footer-lp-bnr-wrap a.lp1 {
	background-image: url(../img/common/bnr_lp1_bg.png);
}
.footer-lp-bnr-wrap a.lp1::before {
	background-image: url(../img/common/bnr_lp1_img.png);
}
.footer-lp-bnr-wrap a.lp2 {
	background-image: url(../img/common/bnr_lp2_bg.png);
}
.footer-lp-bnr-wrap a.lp2::before {
	background-image: url(../img/common/bnr_lp2_img.png);
}
.footer-lp-bnr-wrap a.lp3 {
	background-image: url(../img/common/bnr_lp3_bg.png);
}
.footer-lp-bnr-wrap a.lp3::before {
	background-image: url(../img/common/bnr_lp3_img.png);
	background-position: 84% 50%;
}
@media (min-width: 768px) {
	.footer-lp-bnr-wrap a.lp-bnr {
		transition: opacity 0.3s;
	}
	.footer-lp-bnr-wrap a.lp-bnr:hover {
		opacity: 0.6;
	}
}
@media (max-width: 991px) {
	.footer-lp-bnr-wrap .bnr-row {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 767px) {
	.footer-lp-bnr-wrap {
	}
	.footer-lp-bnr-wrap .bnr-row {
		grid-template-columns: 1fr;
		margin: 8px 0 16px;
		padding: 0 16px;
	}
	.footer-lp-bnr-wrap a.lp-bnr {
		padding: 16px;
	}
	.footer-lp-bnr-wrap a.lp-bnr .sub-title {
		font-size: 12px;
		margin-bottom: 12px;
	}
	.footer-lp-bnr-wrap a.lp-bnr .bnr-title {
		font-size: 20px;
	}
	.footer-lp-bnr-wrap a.lp-bnr .more {
		margin-top: 10px;
		font-size: 13px;
		padding-left: 15px;
	}
	.footer-lp-bnr-wrap a.lp-bnr .more::before {
		width: 8px;
		height: 6px;
		border-width: 3px 0 3px 8px;
	}
	.common-banner-sec a.lp1 {
		background-image: url(../img/common/bnr_common_lp1_bg-sp.jpg);
	}
}

/* --------------------------------------------------
.g-footer
-------------------------------------------------- */
.g-footer {
	padding: 60px 0 55px;
	color: var(--white);
	background-color: var(--green3);
}
@media (max-width: 767px) {
	.g-footer {
		padding: 15px 0 50px;
	}
}

.g-footer a.external-link {
}
.g-footer a.external-link::after {
	content: "";
	display: inline-block;
	margin-left: 0.5em;
	margin-right: -16px;
	transform: translateY(0.125em);
	width: 16px;
	height: 1em;
	background-image: url(../img/common/ico-external-white.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}


/* .footer-nav */
.g-footer .footer-nav {}
.g-footer .footer-nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.g-footer .footer-nav ul li {
	padding: 0;
	margin: 0;
}
.g-footer .footer-nav ul li a {
	color: var(--white);
}
.g-footer .footer-nav ul.parent {
	font-size: 18px;
}
.g-footer .footer-nav ul.parent > li {
	padding: 30px 0;
}
.g-footer .footer-nav ul.parent > li:not(:first-child) {
	border-top: solid 1px rgba(255, 255, 255, 0.4);
}
.g-footer .footer-nav ul.parent > li > a {
	position: relative;
	padding-left: 1em;
}
.g-footer .footer-nav ul.parent > li > a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 8px;
	height: 6px;
	border-style: solid;
	border-width: 3px 0 3px 8px;
	border-color: transparent transparent transparent var(--white);
}
.g-footer .footer-nav ul.child-ul {
	padding-left: 1em;
}
.g-footer .footer-nav ul.child-ul > li {
	font-size: 15px;
	padding: 17px 0 0;
}
.g-footer .footer-nav ul.child-ul > li > a {
	opacity: 0.8;
}
/* ul.auxiliary-link */
.g-footer .footer-nav ul.auxiliary-link {
	margin-top: 30px;
	padding: 10px 0 0;
	padding-left: 1em;
	border-top: solid 1px rgba(255, 255, 255, 0.4);
}
.g-footer .footer-nav ul.auxiliary-link > li {
	font-size: 13px;
	padding: 20px 0 0;
}
.g-footer .footer-nav ul.auxiliary-link > li > a {
	opacity: 0.8;
}
@media (min-width: 768px) {
	.g-footer .footer-nav > .flex-row {
		display: grid;
		justify-content: space-between;
		grid-template-columns: min(380px, calc(33.3% - (30px * 2 / 3))) min(320px, calc(33.3% - (30px * 2 / 3))) min(320px, calc(33.3% - (30px * 2 / 3)));
		gap: 30px;
	}
	.g-footer .footer-nav > .flex-row > * {
		max-width: 320px;
		flex-basis: 320px;
	}
	.g-footer .footer-nav ul.parent > li:last-child {
		padding-bottom: 0;
	}
}
@media (max-width: 767px) {
	.g-footer .footer-nav > .flex-row {
		display: block;
	}
	.g-footer .footer-nav ul.parent {
		border-bottom: solid 1px rgba(255, 255, 255, 0.4);
	}
	.g-footer .footer-nav ul.parent > li {
		padding: 0;
	}
	.g-footer .footer-nav ul.parent > li a {
		display: flex;
		padding: 25px 0 25px 15px;
	}
	.g-footer .footer-nav ul.child-ul {
		display: none;
	}
	.g-footer .footer-nav ul.auxiliary-link {
		border-top: 0;
		margin: 0;
		padding: 30px 0 0;
	}
	.g-footer .footer-nav ul.auxiliary-link > li {
		padding: 0;
	}
	.g-footer .footer-nav ul.auxiliary-link > li > a {
		display: flex;
		padding: 10px 0 10px 15px;
	}
}


.g-footer .logo-copy {
	text-align: right;
}
.g-footer .logo-copy .logo-wrap {}
.g-footer .logo-copy .kubota-logo {
	display: inline-block;
	margin-bottom: 15px;
}
.g-footer .logo-copy .kubota-logo img {}
.g-footer .logo-copy .copy {
	font-family: "Noto Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: normal;
	font-style: normal;
	font-variation-settings: "wdth" 100;
	font-size: 13px;
}
@media (max-width: 767px) {
	.g-footer .logo-copy {
		padding-top: 45px;
		text-align: center;
	}
	.g-footer .logo-copy .kubota-logo img {
		width: 135px;
	}
	.g-footer .logo-copy .copy {
		font-size: 11px;
	}
}




/* --------------------------------------------------
.highlight-topics-sec
-------------------------------------------------- */

.highlight-topics-sec .sec-header {
	border-top: 2px solid var(--green1);
}
.highlight-topics-sec .sec-body {
	position: relative;
}
.highlight-topics-sec .topics-carousel {
	position: initial;
}
.highlight-topics-sec .carousel-container {
	max-width: 340px;
	margin: 0 auto;
}
.highlight-topics-sec .topics-carousel .slick-track {
	display: flex;
}
.highlight-topics-sec .topics-slide {
	height: auto;
	padding: 0 25px;
}
@media (max-width: 767px) {
	.highlight-topics-sec .carousel-container {
		margin-left: 0;
		width: 70.5%;
	}
	.highlight-topics-sec .topics-slide {
		padding: 0 18px 0 0;
	}
}
@media (max-width: 575px) {
	
}

/* slickカスタマイズ */
.highlight-topics-sec .topics-carousel .slick-list {
	overflow: visible;
}
.highlight-topics-sec .topics-carousel .slick-prev,
.highlight-topics-sec .topics-carousel .slick-next {
	top: -90px;
	right: 71px;
	left: auto;
	width: 55px;
	height: 55px;
}
.highlight-topics-sec .topics-carousel .slick-next {
	right: 0;
}
.highlight-topics-sec .topics-carousel .slick-prev::before,
.highlight-topics-sec .topics-carousel .slick-next::before {
	position: absolute;
	right: auto;
	bottom: auto;
	left: 0;
	top: 0;
	content: "";
	background-image: url("../img/top/arrow-prev.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 8px;
	width: 55px;
	height: 55px;
	border: 1px solid #008486;
	transition: 0.3s;
	opacity: 1;
}
.highlight-topics-sec .topics-carousel .slick-next::before {
	background-image: url("../img/top/arrow-next.png");
}
@media (max-width: 767px) {
	.highlight-topics-sec .topics-carousel :is(.slick-prev, .slick-next) {
		top: -58px;
		width: 40px;
		height: 40px;
	}
	.highlight-topics-sec .topics-carousel .slick-prev {
		right: 48px;
	}
	.highlight-topics-sec .topics-carousel :is(.slick-prev, .slick-next)::before {
		width: 40px;
		height: 40px;
	}
}

/* .article-topics */
.wrapper .article-topics {
	position: relative;
	display: block;
	height: 100%;
	color: var(--black);
	font-size: 15px;
	font-weight: bold;
}
.wrapper .article-topics .img-wrap {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	margin: 10px 0 20px 0;
}
.wrapper .article-topics .img-wrap img {
	object-fit: cover;
	object-position: 50% 50%;
	width: 100%;
	height: 100%;
}
.wrapper .article-topics .title {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	margin: 0 0 15px 0;
}
.wrapper .article-topics .title .pdf {
	display: inline-block;
	width: 1.33em;
	height: 0.83em;
	margin-left: 0.25em;
	background-image: url(../img/common/ico-pdf.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.wrapper .article-topics .sankaku {
	color: var(--green2);
}
@media (min-width: 768px) {
	.wrapper .article-topics {
		transition: opacity 0.3s;
	}
	.wrapper .article-topics:hover {
		opacity: 0.6;
	}
}

@media (max-width: 767px) {
	.wrapper .article-topics {
		font-size: 13px;
	}
	.wrapper .article-topics .img-wrap {
		margin: 5px 0 12px;
	}
	.wrapper .article-topics .title {
		font-size: 15px;
		margin-bottom: 10px;
	}
	.wrapper .article-topics .sankaku {
		padding-left: 1.25em;
	}
	.wrapper .article-topics .sankaku::before {
		width: 8px;
		height: 6px;
	}
}
