@charset "utf-8";

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

		basic layout

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

body {
	font-family: 'Zen Kaku Gothic New', "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-size: 16px;
	font-weight: 400;
	font-feature-settings: "palt";
	line-height: 1.8;
	letter-spacing: 1px;
}

body * {
	box-sizing: border-box;
}

/*
body {
	color: #000;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.85;
}

.serif {
	font-family: 'Noto Serif JP', serif;
}
*/

.en {
	font-family: 'Barlow Semi Condensed', sans-serif;
}

.en02 {
	font-family: 'Source Sans Pro', sans-serif;
}

/*
.sticky_area {
	background-color: #ffeeee;
}
*/

#page_top {
	clear: both;
	margin: 0;
	text-align: right;
}

img {
	height: auto;
	vertical-align: top;
	image-rendering: -webkit-optimize-contrast;		/* for chrome */
}

a {
	border: none;
	text-decoration: none;
	transition: all .3s;
	color: #000;
}

a:hover {
	/*filter: brightness(110%);*/
}

em {
	font-style: normal;
	font-weight: bold;
}

p#page_top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 100;
}

.pc_none {
	display: none;
}
.tab_none {
	display: none;
}

.sp_none {
	display: inline;
}

img.sp {
	display: none;
}


/*---------- if IE ----------*/
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, main ,footer {
		display: block;
	}

	*::-ms-backdrop, a:hover {

	}
}

@media screen and (max-width: 1440px){
	.tab_none{
		display: inline;
	}
}
@media screen and (max-width: 768px){
	.sp_none {
		display: none;
	}

	.pc_none {
		display: inline;
	}

	img {
		max-width: 100%;
		width: auto;
		height: auto;
	}

	img.pc {
		display: none;
	}

	img.sp {
		display: inline;
	}

	p#page_top {
		width: 50px;
		right: 10px;
		bottom: 10px;
	}
}



/*------------------ clearfix layout ---------------------*/
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
/*
*:after {
	content: "";
	display:block;
	clear:both;
}
*/



/*------------------ flex layout ---------------------*/
.flex_space-between {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}

.flex_center {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
}





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

		header layout

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

header {
	width: 220px;
	height: 100vh;
	padding: 73px 0 0;
	background-color: #fff;
	box-shadow: 0 0 15px rgba(0,0,0,0.10);
	position: sticky;
	top: 0;
	z-index: 100;
}

#home header {
	background-color: rgba(255,255,255,0.85);
}

header .header_pc {
	height: 100%;
	display: flex;
	flex-flow: column nowrap;
	justify-content: space-between;
}

#home header .header_pc .flex_top {
	flex-shrink: 0;
}

header .header_pc .logo {
	width: 146px;
	margin: 0 auto;
	text-align: center;
}

header .header_pc .logo a:hover {
	opacity: 0.8;
}

header .header_pc .logo img {
	width: 100%;
	height: auto;
}

header .header_pc ul.banner {
	padding: 35px 0;
	background-color: #EEE9E3;
	transition: all .3s;
}

#home header .header_pc ul.banner {
	background-color: transparent;
}

#home header .header_pc ul.banner.down {
	background-color: #EEE9E3;
}

header .header_pc ul.banner li {
	text-align: center;
}

header .header_pc ul.banner li:first-child {
	margin: 0 0 15px;
}

header .header_pc ul.banner li a:hover {
	filter: brightness(100%);
	opacity: 0.7;
}

header .header_pc ul.banner li:first-child img {
	width: 157px;
	height: 66px;
}

header .header_pc ul.banner li:last-child img {
	width: 157px;
	height: 39px;
}


header .header_sp {
	display: none;
}




/*---------- if IE ----------*/
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, {

	}
}


@media screen and (max-width: 768px){
	header {
		width: auto;
		height: auto;
		padding: 0;
		box-shadow: none;
		position: relative;
		top: auto;
		z-index: 10000;
	}

	header .header_pc {
		display: none;
	}

	header .header_sp {
		width: 100%;
		height: 60px;
		background-color: #fff;
		display: block;
		position: fixed;
		top: 0;
	}

	header .header_sp .logo {
		height: 60px;
		background-color: #fff;
		margin: 0;
		padding: 10px 0 0 20px;
		text-align: left;
	}

	header .header_sp .logo img {
		width: auto;
		height: 40px;
	}

	header .header_sp ul.banner {
		padding: 40px 5vw;
		background: #d6e8d7;
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		align-items: center;
	}

	header .header_sp ul.banner li {
		width: 48%;
	}
}



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

		header nav layout

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

header .drawer_button {
	display: none;
}

header .drawer_nav_wrapper {
	width: 100%;
}

header .header_pc ul.drawer_nav {
	margin: 50px 0 30px 32px;
	line-height: 1.0;
}

header .header_pc ul.drawer_nav > li {
	margin: 0 0 0;
}

header .header_pc ul.drawer_nav > li:nth-of-type(6) {
	margin: 40px 0 0;
}

header .header_pc ul.drawer_nav > li:nth-of-type(7) {
	margin: 15px 0 0;
}


header .header_pc ul.drawer_nav > li a {
	padding: 18px 0;
	display: block;
	position: relative;
	color: #000;
}
/*header .header_pc ul.drawer_nav > li:nth-of-type(3):hover a:before {
	content:"";
	display:block;
	position:absolute;
	left:180px;
	top:295px;
	width:40px;
	height:40px;
}*/

header .header_pc ul.drawer_nav > li:nth-of-type(6) a,
header .header_pc ul.drawer_nav > li:nth-of-type(7) a {
	padding: 0;
	font-size: 14px;
}

header .header_pc ul.drawer_nav > li a:hover {
	filter: brightness(100%);
}

header .header_pc ul.drawer_nav > li a span {
	position: relative;
}

header .header_pc ul.drawer_nav > li a span::after {
	content: '';
	width: 100%;
	border-bottom: solid 3px #348B3A;
	position: absolute;
	bottom: -6px;
	left: 0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;
}

header .header_pc ul.drawer_nav > li a:hover span::after {
	transform: scale(1, 1);
}


header .header_pc ul.drawer_nav li.popup_trigger {

}

header .header_pc ul.drawer_nav li.popup_trigger .popup {
	width: 530px;
	height: 100vh;
	padding: 0 40px;
	background-color: #348B3A;
	border-radius: 0 60px 60px 0;
	position: absolute;
	left: 220px;
	top: 0;
	display: none;
	/*transition: 0.3s all;*/
	/*transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;*/
}


/*
header .header_pc ul.drawer_nav li.popup_trigger:hover .popup {
	transform: scale(1, 1);
}
*/

header .header_pc ul.drawer_nav li.popup_trigger .popup::before {
	content: "";
	width: 80px;
	height: 80px;
	background-color: #348B3A;
	border-radius: 10px;
	position: absolute;
	left: -20px;
	transform: rotate(45deg) skew(10deg, 10deg);
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_01::before {
	top: 305px;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_02::before {
	top: 355px;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup .popup_inner {
	height: 100%;
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup p.heading {
	margin: 0 0 40px;
	position: relative;
	color: #fff;
	font-size: 25px;
	letter-spacing: 5px;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_01 p.heading::after {
	content: "";
	width: 51px;
	height: 45px;
	margin: 0 0 0 5px;
	background: url("../img/footer_icon03.svg") left top / cover no-repeat;
	display: inline-block;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_02 p.heading::after {
	content: "";
	width: 42px;
	height: 41px;
	background: url("../img/footer_icon04.svg") left top / contain no-repeat;
	display: inline-block;
}


header .header_pc ul.drawer_nav li.popup_trigger .popup ul {
	width: 100%;
	margin: 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup ul li {
	width: 47%;
	margin: 0 0 30px;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup ul li a {
	height: 160px;
	border-radius: 13px;
	box-shadow: 0 7px 20px rgba(0,0,0,0.15);
	display: block;
	position: relative;
	overflow: hidden;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup ul li a::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	transition: all .3s ease-out;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_01 ul li:nth-child(1) a::before {
	background: url("../../img/home/img01@2x.jpg") center top -10px / contain no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_01 ul li:nth-child(2) a::before {
	background: url("../img/group_link02.jpg") center top / contain no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_01 ul li:nth-child(3) a::before {
	background: url("../img/group_link03.jpg") center top / contain no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_01 ul li:nth-child(4) a::before {
	background: url("../img/group_link10.jpg") center top / contain no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup ul li a:hover::before {
	transform: scale(1.1);
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_02 ul li:nth-child(1) a::before {
	background: url("../img/group_link04.jpg") center top / contain no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_02 ul li:nth-child(2) a::before {
	background: url("../img/group_link06.jpg") center top / contain no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_02 ul li:nth-child(3) a::before {
	background: url("../img/group_link05.jpg") center top / contain no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_02 ul li:nth-child(4) a::before {
	background: url("../img/group_link07.jpg") center top / contain no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_02 ul li:nth-child(5) a::before {
	background: url("../img/group_link08.jpg") center top / contain no-repeat;
}

/*
header .header_pc ul.drawer_nav li.popup_trigger .popup_01 ul li:nth-child(1) a {
	margin: 0;
	background: url("../img/group_link01.png") center top / 100% auto no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_01 ul li:nth-child(2) a {
	background: url("../img/group_link02.png") center top / 100% auto no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_01 ul li:nth-child(3) a {
	background: url("../img/group_link03.png") center top / 100% auto no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_02 ul li:nth-child(1) a {
	margin: 0;
	background: url("../img/group_link04.png") center top / 100% auto no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_02 ul li:nth-child(2) a {
	background: url("../img/group_link05.png") center top / 100% auto no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_02 ul li:nth-child(3) a {
	background: url("../img/group_link06.png") center top / 100% auto no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_02 ul li:nth-child(4) a {
	background: url("../img/group_link07.png") center top / 100% auto no-repeat;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup_02 ul li:nth-child(5) a {
	background: url("../img/group_link08.png") center top / 100% auto no-repeat;
}
*/

header .header_pc ul.drawer_nav li.popup_trigger .popup ul li a div {
	width: 100%;
	max-width: inherit;
	height: auto;
	padding: 12px 20px 12px 15px;
	background: url("../img/icon_arrow01.svg") right 15px center / auto 12px no-repeat #fff;
	position: absolute;
	right: 0;
	bottom: 0;
	transition: all .3s;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup ul li a:hover div {
	background: url("../img/icon_arrow01.svg") right 10px center / auto 12px no-repeat #fff;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup ul li a div p.title {
	margin: 0;
	color: #348b39;
	font-size: 15px;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup ul li a div p.title::after {
	display: none;
}

header .header_pc ul.drawer_nav li.popup_trigger .popup ul li p.sp_txt {
	margin: 10px 0 0;
	display: block;
	font-size: 3.5vw;
	line-height: 1.1;
	letter-spacing: 0;
}


/*---------- if IE ----------*/
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, {
	}
}

/*---------- PC高さ低い場合、サイドバーの高さを狭める ----------*/
/*@media screen and (max-height: 780px)*/
@media screen and (max-height: 780px) and (min-width: 769px){
	header {
		padding: 33px 0 0;
	}
	header .header_pc ul.drawer_nav{
		margin: 30px 0 30px 32px;
	}
}
/*@media screen and (max-height: 720px)*/
@media screen and (max-height: 720px) and (min-width: 769px){
	header {
		padding: 20px 0 0;
	}
	header .header_pc ul.drawer_nav{
		margin: 19px 0 19px 32px;
	}
	header .header_pc ul.drawer_nav > li a{
		padding:15px 0;
	}
	header .header_pc ul.drawer_nav > li:nth-of-type(6){
		margin:15px 0 0;
	}
	header .header_pc ul.banner{
		padding:10px 0;
	}
	header .header_pc ul.banner li:first-child{
		margin:0 0 5px;
	}
}

@media screen and (max-width: 768px){
	/* .drawer_button */
	header .header_sp .drawer_button {
		width: 60px;
		height: 60px;
		padding: 0;
		display: block;
		background: #348B3A;
		border: none;
		letter-spacing: 0.1em;
		cursor: pointer;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 1001;
		text-align: center;
		outline: none;
		/*
		border-radius: 5px;
		right: 5px;
		top: 5px;
		*/
	}

	header .header_sp .drawer_button.active {
		background: #348B3A;
	}

	header .header_sp .drawer_button.active .drawer_close {
		display: block;
	}


	/* .drawer_bar */
	header .header_sp .drawer_bar {
		display: block;
		width: 25px;
		height: 2px;
		margin: 6px auto;
		background: #fff;
		transition: all 0.2s;
		transform-origin: 50% 50%;
		position: relative;
	}

	header .header_sp .drawer_button.active .drawer_bar {
		width: 25px;
		background: #fff;
	}

	header .header_sp .drawer_button.active .drawer_bar1 {
		top: 8px;
		transform: rotate(45deg);
	}

	header .header_sp .drawer_button.active .drawer_bar2 {
		opacity: 0;
	}

	header .header_sp .drawer_button.active .drawer_bar3 {
		top: -8px;
		transform: rotate(-45deg);
	}


	/* .drawer_text */
	header .header_sp .drawer_text {
		/*display: none;*/
		text-align: center;
		font-size: 12px;
		color: #fff;
		letter-spacing: 0;
	}

	header .header_sp .drawer_button.active .drawer_text {
		display: none;
	}


	/* .drawer_nav_wrapper */
	header .header_sp .drawer_nav_wrapper {
		width: 100%;
		height: 100%;
		/*
		width: 100%;
		height: 100%;
		height: auto;
		*/
		margin: 0;
		padding: 0;

		box-sizing: border-box;
		background-color: transparent;
		display: block;
		transform: none;

		transition: all 0.2s;
		/*transform: translate(110%);*/
		transform: translateY(-110%);
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1000;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}

	header .header_sp .drawer_nav_wrapper.open {
		transform: translate(0);
	}


	/* ul.drawer_nav */
	header .header_sp ul.drawer_nav {
		/*margin: 0;*/
		margin: 60px 0 0;
		background: #d6e8d7;
		display: flex;
		flex-wrap: wrap;
	}

	header .header_sp ul.drawer_nav li {
		width: 100%;
		margin: 0;
		line-height: 1.4;
	}

	header .header_sp ul.drawer_nav li:nth-of-type(6),
	header .header_sp ul.drawer_nav li:nth-of-type(7) {
		margin: 0;
	}

	header .header_sp ul.drawer_nav li a {
		width: auto;
		margin: 0;
		padding: 15px 15px 15px 10vw;
		background: url("../img/sp/nav_arrow.svg") right 10vw center / auto 10px no-repeat;
		border-radius: 0;
		border: none;
		border-bottom: solid 1px #99c59c;
		display: block;
		color: #000;
		font-size: 16px;
	}

	header .header_sp ul.drawer_nav li.trigger > a {
		background: url("../img/sp/nav_plus.svg") right 9.5vw center / 10px auto no-repeat;
	}

	header .header_sp ul.drawer_nav li.trigger.selected > a {
		background: url("../img/sp/nav_minus.svg") right 9.5vw center / 10px auto no-repeat;
	}

	header .header_sp ul.drawer_nav li:nth-of-type(6) a,
	header .header_sp ul.drawer_nav li:nth-of-type(7) a {
		font-size: 16px;
	}

	header .header_sp ul.drawer_nav li a:hover {
		text-decoration: none;
	}

	header .header_sp ul.drawer_nav li a::after {
		display: none;
	}

	header .header_sp ul.drawer_nav li ul {
		margin: 0;
		background: #fff;
		display: none;
	}

	header .header_sp ul.drawer_nav li.selected ul {
		display: bjlock;
	}

	header .header_sp ul.drawer_nav li ul li a {
		background: url("../img/sp/nav_arrow.svg") right 10vw center / auto 10px no-repeat #fff;
	}
}


/* pcで画面高さが低い場合 */
@media screen and (max-height: 652px) and (min-width: 769px){
	header .header_pc ul.drawer_nav li.popup_trigger .popup {
		width:750px;
	}
	header .header_pc ul.drawer_nav li.popup_trigger .popup ul{
		justify-content: left;
	}
	header .header_pc ul.drawer_nav li.popup_trigger .popup ul li{
		width:211px;
		margin:0 18px 30px 0;
	}
	header .header_pc ul.drawer_nav li.popup_trigger .popup ul li:nth-of-type(3n){
		margin:0 0 30px;
	}
}



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

		.main_img layout

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

.main_img.top {
	margin: -100vh 6vw 0 0;
}

.main_img.top .swiper-wrapper {

}

.main_img.top .swiper-slide {
	height: 750px;
	border-radius: 0 0 90px 0;
	border:1px solid #FFF;
	position: relative;
}

.main_img.top .swiper-slide img {
	width: auto;
	height: 242px;
	position: absolute;
	right: 7vw;
	bottom: 70px;
}

.main_img.top .swiper-wrapper .slide_01 {
	background: url("../../img/home/main_img01@2x.jpg") center center / cover no-repeat;
}

.main_img.top .swiper-wrapper .slide_02 {
	background: url("../../img/home/main_img02@2x.jpg") center center / cover no-repeat;
}

.main_img.top .swiper-wrapper .slide_03 {
	background: url("../../img/home/main_img03@2x.jpg") center center / cover no-repeat;
}


@media screen and (max-width: 1440px){
	.main_img.top {
		max-width: 1340px;
		margin: -100vh 20px 0 0;
	}
}


@media screen and (max-width: 768px){
	.main_img.top {
		max-width: inherit;
		margin: 0;
	}

	.main_img.top .swiper-container {
		margin: 60px 8vw 0 0;
	}

	.main_img.top .swiper-slide {
		height: 70vh;
		position: relative;
	}

	.main_img.top .swiper-slide img {
		width: 70%;
		height: auto;
		position: absolute;
		right: auto;
		left: 50%;
		bottom: 7vh;
		transform: translateX(-50%);
	}

	.main_img.top .swiper-wrapper .slide_01 {
		background: url("../../img/home/sp/main_img01@2x.jpg") left top / cover no-repeat;
	}

	.main_img.top .swiper-wrapper .slide_02 {
		background: url("../../img/home/sp/main_img02@2x.jpg") left top  / cover no-repeat;
	}

	.main_img.top .swiper-wrapper .slide_03 {
		background: url("../../img/home/sp/main_img03@2x.jpg") left top  / cover no-repeat;
	}
}



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

		.main_img.lower layout

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

.main_img.lower {
	height: 300px;
	margin: -100vh 0 0 280px;
	border-radius: 0 0 0 90px;
	display: flex;
	align-items: center;
}

.main_img.lower h2 {
	padding: 25px 70px 25px 50px;
	background-color: #fff;
	border-radius: 0 60px 60px 0;
	display: inline-block;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.0;
	letter-spacing: 4px;
}

.main_img.lower h2 span {
	margin: 0 0 10px;
	display: block;
	color: #348b39;
	font-size: 22px;
	font-weight: 500;
}


@media screen and (max-width: 768px){
	.main_img.lower {
		width: 90%;
		height: 20vh;
		margin: 60px 0 60px auto;
		border-radius: 0 0 0 40px;
	}

	.main_img.lower h2 {
		padding: 2vh 40px 2vh 20px;
		border-radius: 0 60px 60px 0;
		font-size: 6vw;
		letter-spacing: 2px;
	}

	.main_img.lower h2 span {
		margin: 0 0 5px;
		font-size: 3.5vw;
	}
}





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

		#contents layout

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

#contents {
	margin: 0 0 0 220px;
}

#contents section .inner,
#contents div .inner {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	position: relative;
}

#contents section .inner02,
#contents div .inner02 {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	position: relative;
}

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

}

@media screen and (max-width: 768px){
	#contents {
		margin: 0;
		padding: 0;
	}

	#contents section .inner,
	#contents div .inner,
	#contents section .inner02,
	#contents div .inner02 {
		width: auto;
		padding: 0 20px;
	}
}



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

		#contents .btn_01 layout

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

#contents section .btn_01 {
	width: 364px;
	margin: 0 auto;
	text-align: center;
	line-height: 1.0;
}

#contents section .btn_01 a {
	padding: 30px 0;
	background: url("../img/icon_arrow01.svg") right 40px center / auto 20px no-repeat #fff;
	border: solid 1px #99c59c;
	border-radius: 60px;
	display: block;
	color: #348b39;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 4px;
}

#contents section .btn_01 a:hover {
	background: url("../img/icon_arrow02.svg") right 30px center / auto 20px no-repeat #348b39;
	color: #fff;
}

/*---------- if IE ----------*/
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, #contents section .btn_01 a {
		background: url("../img/icon_arrow01.svg") right 10px center / auto 20px no-repeat #fff;
	}

	*::-ms-backdrop, #contents section .btn_01 a:hover {
		background: url("../img/icon_arrow02.svg") right 0 center / auto 20px no-repeat #348b39;
	}
}


@media screen and (max-width: 768px){
	#contents section .inner .btn_01 {
		width: 80%;
	}

	#contents section .inner .btn_01 a {
		padding: 20px 0;
		background: url("../img/icon_arrow01.svg") right 30px center / auto 15px no-repeat #fff;
		font-size: 4.5vw;
	}

	#contents section .btn_01 a:hover {
		background: url("../img/icon_arrow02.svg") right 20px center / auto 15px no-repeat #348b39;
	}
}



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

		#contents .group_link layout

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

#contents .beauty_link {
	padding: 70px 0 100px;
	background-color: #D6E8D8;
}

#contents .healthy_link {
	padding: 70px 0 140px;
}

#contents .group_link .inner {
	max-width: 1040px;
	padding: 0 20px;
}

#contents .group_link .inner h4 {
	margin: 0 0 20px;
	text-align: center;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.0;
	letter-spacing: 2px;
}

#contents .group_link .inner h4 span {
	margin: 10px 0 0;
	display: block;
	color: #348b39;
	font-size: 17px;
	font-weight: 500;
}

#contents .group_link .inner ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	position: relative;
}

#contents .group_link .inner ul::after {
	content: "";
	width: calc(100% / 3 - 10px);
	max-width: 320px;
	height: 1px;
	display: block;
}

#contents .group_link .inner ul li {
	width: calc(100% / 3 - 10px);
	max-width: 320px;
	margin: 20px 0 0;
}

#contents .group_link .inner ul li a {
	height: 220px;
	border-radius: 30px 0 30px 0;
	box-shadow: 0 7px 20px rgba(0,0,0,0.15);
	display: block;
	position: relative;
	overflow: hidden;
}

#contents .group_link .inner ul li a::before {
	content: "";
	width: 100%;
	height: 70%;
	min-height: 141px;
	position: absolute;
	left: 0;
	top: 0;
	transition: all .3s ease-out;
}

#contents .beauty_link .inner ul li:nth-child(1) a::before {
	margin: 0 0 30px;
	background: url("../img/group_link01.jpg") center top / cover no-repeat;
}

#contents .beauty_link .inner ul li:nth-child(2) a::before {
	background: url("../img/group_link02.jpg") center top / cover no-repeat;
}

#contents .beauty_link .inner ul li:nth-child(3) a::before {
	background: url("../img/group_link03.jpg") center top / cover no-repeat;
}

#contents .beauty_link .inner ul li:nth-child(4) a::before {
	background: url("../img/group_link10.jpg") center top / cover no-repeat;
}

#contents .healthy_link .inner ul li:nth-child(1) a::before {
	background: url("../img/group_link04.jpg") center top / cover no-repeat;
}

#contents .healthy_link .inner ul li:nth-child(2) a::before {
	background: url("../img/group_link06.jpg") center top / cover no-repeat;
}

#contents .healthy_link .inner ul li:nth-child(3) a::before {
	background: url("../img/group_link05.jpg") center top / cover no-repeat;
}

#contents .healthy_link .inner ul li:nth-child(4) a::before {
	background: url("../img/group_link07.jpg") center top / cover no-repeat;
}

#contents .healthy_link .inner ul li:nth-child(5) a::before {
	background: url("../img/group_link08.jpg") center top / cover no-repeat;
}

#contents .group_link .inner ul li a:hover::before {
	transform: scale(1.1);
}

#contents .group_link .inner ul li a div {
	width: 100%;
	max-width: inherit;
	height: auto;
	padding: 20px;
	background: url("../img/icon_arrow01.svg") right 25px center / auto 15px no-repeat #fff;
	position: absolute;
	right: 0;
	bottom: 0;
	transition: all .3s;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.0;
}

#contents .group_link .inner ul li a:hover div {
	background: url("../img/icon_arrow01.svg") right 20px center / auto 15px no-repeat #fff;
}

#contents .group_link .inner ul li a div p.title {
	margin: 0 0 10px;
	color: #348b39;
	font-size: 18px;
}

#contents .group_link .inner ul li a div p.title::after {
	display: none;
}

#contents .group_link .inner ul li .sp_txt {
	display: none;
}


@media screen and (max-width: 1050px){
	#contents .group_link .inner ul::after {
		display: none;
	}

	#contents .group_link .inner ul li {
		width: 48%;
		max-width: inherit;
		margin: 20px 0 0;
	}

	#contents .group_link .inner ul li a {
		height: 230px;
		border-radius: 20px 0 20px 0;
		box-shadow: 0 7px 20px rgba(0,0,0,0.15);
		display: block;
		position: relative;
		overflow: hidden;
	}
}


/*---------- if IE ----------*/
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, #contents .group_link .inner ul li a div {
		background: url("../img/icon_arrow01.svg") right 5px center / auto 15px no-repeat #fff;
	}

	*::-ms-backdrop, #contents .group_link .inner ul li a:hover div {
		background: url("../img/icon_arrow01.svg") right 0 center / auto 15px no-repeat #fff;
	}
}


@media screen and (max-width: 768px){
	#contents .beauty_link {
		padding: 60px 0;
	}

	#contents .healthy_link {
		padding: 60px 0 80px;
	}

	#contents .group_link .inner {
		max-width: inherit;
	}

	#contents .group_link .inner h4 {
		font-size: 6vw;
	}

	#contents .group_link .inner h4 span {
		font-size: 4vw;
	}

	#contents .group_link .inner ul {
		margin: 0;
		padding: 0 20px;
	}

	#contents .group_link .inner ul li {
		max-width: inherit;
	}

	#contents .group_link .inner ul li a {
		height: auto;
		padding: 31vw 0 0 20px;
		border-radius: 20px 0 20px 0;
		box-shadow: 0 7px 20px rgba(0,0,0,0.15);
		display: block;
		position: relative;
		overflow: hidden;
	}

	#contents .group_link .inner ul li a::before {
		display: none;
	}

	#contents .beauty_link .inner ul li:nth-child(1) a {
		background: url("../../img/home/img01@2x.jpg") left top/ 100% auto no-repeat;
	}

	#contents .beauty_link .inner ul li:nth-child(2) a {
		background: url("../../img/home/img03@2x.jpg") center top / 100% auto no-repeat;
	}

	#contents .beauty_link .inner ul li:nth-child(3) a {
		background: url("../../img/home/img02@2x.jpg") center top / 100% auto no-repeat;
	}
	
	#contents .beauty_link .inner ul li:nth-child(4) a {
		background: url("../../img/home/img16.jpg?ver=220602") center top / 100% auto no-repeat;
	}

	#contents .healthy_link .inner ul li:nth-child(1) a {
		background: url("../../img/home/img04@2x.jpg") center top / 100% auto no-repeat;
	}

	#contents .healthy_link .inner ul li:nth-child(2) a {
		background: url("../../img/home/img05@2x.jpg") center top / 100% auto no-repeat;
	}

	#contents .healthy_link .inner ul li:nth-child(3) a {
		background: url("../../img/home/img06@2x.jpg") center -25px / 100% auto no-repeat;
	}

	#contents .healthy_link .inner ul li:nth-child(4) a {
		background: url("../../img/home/img07@2x.jpg") center top / 100% auto no-repeat;
	}

	#contents .healthy_link .inner ul li:nth-child(5) a {
		background: url("../../img/home/img08@2x.jpg") center -20px / 100% auto no-repeat;
	}
	/*
@media screen and (max-width: 425px){
	#contents .beauty_link .inner ul li:nth-child(1) a {
		background: url("../../img/home/img01@2x.jpg") left top/ 130% auto no-repeat;
	}

	#contents .beauty_link .inner ul li:nth-child(2) a {
		background: url("../../img/home/img03@2x.jpg") center top / 130% auto no-repeat;
	}

	#contents .beauty_link .inner ul li:nth-child(3) a {
		background: url("../../img/home/img02@2x.jpg") center top / 130% auto no-repeat;
	}

	#contents .healthy_link .inner ul li:nth-child(1) a {
		background: url("../../img/home/img04@2x.jpg") center top / 130% auto no-repeat;
	}

	#contents .healthy_link .inner ul li:nth-child(2) a {
		background: url("../../img/home/img05@2x.jpg") center top / 130% auto no-repeat;
	}

	#contents .healthy_link .inner ul li:nth-child(3) a {
		background: url("../../img/home/img06@2x.jpg") center top / 130% auto no-repeat;
	}

	#contents .healthy_link .inner ul li:nth-child(4) a {
		background: url("../../img/home/img07@2x.jpg") center top / 130% auto no-repeat;
	}

	#contents .healthy_link .inner ul li:nth-child(5) a {
		background: url("../../img/home/img08@2x.jpg") center top / 130% auto no-repeat;
	}
}
*/
	#contents .group_link .inner ul li a div {
		max-width: inherit;
		height: auto;
		padding: 12px 20px 10px 15px;
		background: url("../img/icon_arrow01.svg") right 10px center / auto 15px no-repeat #fff;
		border-radius: 0;
		font-size: 3.9vw;
		line-height: 1.2;
	}

	#contents .beauty_link .inner ul li:nth-child(3) a div {
		padding: 7px 20px 5px 15px;
	}

	#contents .group_link .inner ul li a:hover div {
		background: url("../img/icon_arrow01.svg") right 10px center / auto 15px no-repeat #fff;
	}

	#contents .group_link .inner ul li a div p.title {
		margin: 0 0 5px;
		font-size: 3.9vw;
	}

	#contents .group_link .inner ul li a div p.title::after {
		display: none;
	}

	#contents .group_link .inner ul li a div p.txt {
		display: none;
	}

	#contents .group_link .inner ul li p.sp_txt {
		margin: 10px 0 0;
		display: block;
		font-size: 3.2vw;
		line-height: 1.1;
		letter-spacing: 0;
		font-weight: 500;
	}
}








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

		footer layout

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

footer {

}


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

		footer .footer_contents layout

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

footer .footer_contents {
	padding: 110px 20px;
	background-color: #348B3A;
}

footer .footer_contents .inner {
	width: 100%;
	max-width: 1210px;
	margin: 0 auto;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}


/*============== .footer_detail ==============*/

footer .footer_contents .inner .footer_detail {
	width: 334px;
	margin: 0 20px 0 0;
	flex-shrink: 0;
	color: #fff;
}

footer .footer_contents .inner .footer_detail h3 a:hover {
	opacity: 0.8;
}

footer .footer_contents .inner .footer_detail h3 img {
	width: 160px;
}

footer .footer_contents .inner .footer_detail h3 + p {
	margin: 15px 0 30px;
	line-height: 1.3;
	font-weight:500;
}

footer .footer_contents .inner .footer_detail p.address {
	margin: 0 0 15px;
	font-size: 15px;
	line-height: 1.0;
}

footer .footer_contents .inner .footer_detail p.tel {
	margin: 0 0 45px;
	font-size: 36px;
	font-weight: 500;
	line-height: 1.0;
	letter-spacing: 4px;
}

footer .footer_contents .inner .footer_detail p.tel a {
	color: #fff;
	cursor: default;
	pointer-events: none;
}

footer .footer_contents .inner .footer_detail .btn_01 {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	line-height: 1.0;
}

footer .footer_contents .inner .footer_detail .btn_01 a {
	padding: 30px 0;
	background: url("../img/icon_arrow01.svg") right 40px center / auto 20px no-repeat #fff;
	border: solid 1px #99c59c;
	border-radius: 60px;
	display: block;
	color: #348b39;
	font-size: 20px;
	font-weight: 500;
}

footer .footer_contents .inner .footer_detail .btn_01 a:hover {
	background: url("../img/icon_arrow01.svg") right 30px center / auto 20px no-repeat #d6e8d7;
}


/*============== .footer_nav ==============*/

footer .footer_contents .inner .footer_nav {
	width: 65%;
	max-width: 790px;
	padding: 50px 60px;
	background-color: #fff;
	border-radius: 60px 0 60px 0;
	color: #348b39;
}

footer .footer_contents .inner .footer_nav .fnav_pc {
	display: flex;
	justify-content: space-between;
	font-weight: 500;
	line-height: 1.0;
}

footer .footer_contents .inner .footer_nav .fnav_pc a {
	color: #348b39;
}

footer .footer_contents .inner .footer_nav .fnav_pc a:hover {
	text-decoration: none;
	opacity:0.6;
}

footer .footer_contents .inner .footer_nav .fnav_pc ul {
	width: calc(100% / 3 - 18px);
}

footer .footer_contents .inner .footer_nav .fnav_pc ul li {
	margin: 0 0 25px;
}

footer .footer_contents .inner .footer_nav .fnav_pc ul li:nth-of-type(6) {
	margin: 60px 0 25px;
}

footer .footer_contents .inner .footer_nav .fnav_pc dl {
	width: calc(100% / 3 - 20px);
}

footer .footer_contents .inner .footer_nav .fnav_pc dl dt {
	margin: 0 0 20px;
	padding: 0 0 10px;
	border-bottom: solid 2px #348b39;
	position: relative;
}

footer .footer_contents .inner .footer_nav .fnav_pc dl:nth-of-type(1) dt::after {
	content: "";
	width: 38px;
	height: 34px;
	background: url("../img/footer_icon01.svg") left top / cover no-repeat;
	position: absolute;
	right: 5px;
	top: -13px;
}

footer .footer_contents .inner .footer_nav .fnav_pc dl:nth-of-type(2) dt::after {
	content: "";
	width: 28px;
	height: 28px;
	background: url("../img/footer_icon02.svg") left top / contain no-repeat;
	position: absolute;
	right: 3px;
	top: -10px;
}

footer .footer_contents .inner .footer_nav .fnav_pc dl dd {
	margin: 0 0 20px 15px;
	font-size: 15px;
}

footer .footer_contents .inner .footer_nav .fnav_sp {
	display: none;
}


@media screen and (max-width: 1070px){
	footer .footer_contents {
		padding: 60px 0;
	}

	footer .footer_contents .inner {
		justify-content: center;
	}

	footer .footer_contents .inner .footer_detail {
		margin: 0 auto;
		text-align: center;
		order: 1;
	}

	footer .footer_contents .inner .footer_nav {
		width: 100%;
		margin: 0 auto 40px;
		padding: 50px 60px;
		order: 0;
	}
}


@media screen and (max-width: 768px){
	footer {

	}

	footer .footer_contents {
		padding: 0 0 40px;
	}

	footer .footer_contents .inner {
		max-width: inherit;
		justify-content: flex-start;
	}


	/*============== .footer_detail ==============*/

	footer .footer_contents .inner .footer_detail {
		width: calc(100% - 40px);
		margin: 0 auto;
		padding: 40px 20px;
		background-color: #fff;
		border-radius: 40px 0 40px 0;
		flex-shrink: 0;
		color: #348b39;
	}

	footer .footer_contents .inner .footer_detail h3 img {
		width: 40%;
	}

	footer .footer_contents .inner .footer_detail p.address {
		font-size: 3.5vw;
	}

	footer .footer_contents .inner .footer_detail p.tel {
		margin: 0 0 30px;
		font-size: 6vw;
		letter-spacing: 3px;
	}

	footer .footer_contents .inner .footer_detail p.tel a {
		color: #348b39;
		cursor: pointer;
		pointer-events: auto;
	}

	footer .footer_contents .inner .footer_detail .btn_01 {
		width: 80%;
	}

	footer .footer_contents .inner .footer_detail .btn_01 a {
		padding: 20px 0;
		background: url("../img/icon_arrow01.svg") right 30px center / auto 15px no-repeat #fff;
		font-size: 4.5vw;
	}

	footer .footer_contents .inner .footer_detail .btn_01 a:hover {
		background: url("../img/icon_arrow01.svg") right 20px center / auto 15px no-repeat #d6e8d7;
	}


	/*============== .footer_nav ==============*/

	footer .footer_contents .inner .footer_nav {
		width: 100%;
		max-width: 790px;
		margin: 0 auto 40px;
		padding: 0;
		background-color: transparent;
		border-radius: 0;
		color: #348b39;
		order: 0;
	}

	footer .footer_contents .inner .footer_nav .fnav_pc {
		display: none;
	}

	footer .footer_contents .inner .footer_nav .fnav_sp {
		display: block;
	}

	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav {
		background: #348b39;
	}

	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav li {
		width: 100%;
		margin: 0;
		line-height: 1.4;
	}

	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav li:nth-of-type(6),
	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav li:nth-of-type(7) {
		margin: 0;
	}

	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav li a {
		width: auto;
		margin: 0;
		padding: 15px 15px 15px 10vw;
		background: url("../img/sp/nav_arrow02.svg") right 10vw center / auto 10px no-repeat;
		border-radius: 0;
		border: none;
		border-bottom: solid 1px #99c59c;
		display: block;
		color: #fff;
		font-size: 16px;
	}

	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav li.trigger_02 > a {
		background: url("../img/sp/nav_plus02.svg") right 9.5vw center / 10px auto no-repeat;
	}

	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav li.trigger_02.selected > a {
		background: url("../img/sp/nav_minus02.svg") right 9.5vw center / 10px auto no-repeat;
	}

	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav li:nth-of-type(6) > a,
	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav li:nth-of-type(7) > a {
		font-size: 16px;
	}

	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav li a:hover {
		text-decoration: none;
	}

	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav li a::after {
		display: none;
	}

	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav li ul {
		margin: 0;
		background: #fff;
		display: none;
	}

	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav li.selected ul {
		display: block;
	}

	footer .footer_contents .inner .footer_nav .fnav_sp ul.fnav li ul li a {
		background: url("../img/sp/nav_arrow.svg") right 10vw center / auto 10px no-repeat #C3DDC4;
		border-bottom: solid 1px #E2EEE2;
		color: #348b39;
	}
}



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

		footer .footer_copy layout

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

footer .footer_copy {
	padding: 90px 0 30px;
	background-color: #C3DDC4;
}

footer .footer_copy ul.banner {
	margin: 0 0 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}

footer .footer_copy ul.banner li {
	margin: 0 10px;
}

footer .footer_copy ul.banner li a:hover {
	opacity: 0.8;
}

footer p.copy {
	text-align: center;
	color: #348b39;
	font-size: 15px;
}


@media screen and (max-width: 768px){
	footer .footer_copy {
		padding: 40px 20px 70px;
		background-color: #C3DDC4;
	}

	footer .footer_copy ul.banner {
		margin: 0 0 30px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	footer .footer_copy ul.banner li {
		margin: 0;
	}

	footer .footer_copy ul.banner li:first-child {
		margin: 0 10px 0 0;
	}

	footer p.copy {
		font-size: 3.1vw;
	}
}





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

		#sp_float_btn layout

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

#sp_float_btn {
	display: none;
}


@media screen and (max-width: 768px){
	#sp_float_btn {
		display: block;
	}

	#sp_float_btn ul.float_btn {
		width: 100%;
		background-color: #fff;
		box-shadow: 0 0 15px rgba(0,0,0,0.10);
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: fixed;
		bottom: 0;
		z-index: 1000;
	}

	#sp_float_btn ul.float_btn.active {
		box-shadow: 0 0 15px rgba(0,0,0,0.0);
	}

	#sp_float_btn ul.float_btn li {
		width: 50%;
		position: relative;
		transition: all .3s;
	}

	#sp_float_btn ul.float_btn li.selected::after {
		content: "";
		border-style: solid;
		border-width: 10px 15px 0 15px;
		border-color: #c2dcc4 transparent transparent transparent;
		position: absolute;
		left: calc(50% - 20px);
		top: 0;
		z-index: 10000;
	}

	#sp_float_btn ul.float_btn li:first-of-type {
		border-right: solid 1px #348b39;
	}

	#sp_float_btn ul.float_btn li a {
		padding: 20px 0 20px 5vw;
		background-color: #fff;
		display: block;
		position: relative;
		text-align: center;
		color: #348b39;
		font-weight: 500;
		line-height: 1.0;
	}

	#sp_float_btn ul.float_btn li:first-of-type a::before {
		content: "";
		width: 15%;
		height: 34px;
		background: url("../img/footer_icon01.svg") left top / contain no-repeat;
		position: absolute;
		left: 15%;
		top: 50%;
		transform: translateY(-50%);
	}

	#sp_float_btn ul.float_btn li:last-of-type a::before {
		content: "";
		width: 13%;
		height: 34px;
		background: url("../img/footer_icon02.svg") left top / contain no-repeat;
		position: absolute;
		left: 18%;
		top: 50%;
		transform: translateY(-50%);
	}

	#sp_float_btn ul.float_btn li.selected a {
		background-color: #348b39;
		color: #fff;
	}

	#sp_float_btn ul.float_btn li.selected:first-of-type a::before {
		background: url("../img/footer_icon03.svg") left top / contain no-repeat;
	}

	#sp_float_btn ul.float_btn li.selected:last-of-type a::before {
		background: url("../img/footer_icon04.svg") left top / contain no-repeat;
	}

	#preloadedImages {
		width: 0px;
		height: 0px;
		display: inline;
		background-image: url("../img/footer_icon03.svg"); /* 読ませたいイメージ1 */
		background-image: url("../img/footer_icon04.svg"); /* 読ませたいイメージ2 */
	}

	/*
	#sp_float_btn ul.float_btn li a {
		padding: 20px 0 20px 5vw;
		display: block;
		text-align: center;
		color: #348b39;
		font-weight: 500;
		line-height: 1.0;
	}

	#sp_float_btn ul.float_btn li:first-of-type a {
		background: url("../img/footer_icon01.svg") left 20% center / 15% auto no-repeat #fff;
	}

	#sp_float_btn ul.float_btn li:last-of-type a {
		background: url("../img/footer_icon02.svg") left 22% center / 13% auto no-repeat #fff;
	}

	#sp_float_btn ul.float_btn li.selected a {
		color: #fff;
	}

	#sp_float_btn ul.float_btn li.selected:first-of-type a {
		background: url("../img/footer_icon03.svg") left 20% center / 15% auto no-repeat #348b39;
	}

	#sp_float_btn ul.float_btn li.selected:last-of-type a {
		background: url("../img/footer_icon04.svg") left 22% center / 13% auto no-repeat #348b39;
	}
	*/


	/*==================== modal window ====================*/
	/*
	body.fixed {
		width: 100%;
		height: 100%;
		position: fixed;
		left: 0;
	}
	*/

	#sp_float_btn .modal {
		width: 100%;
		height: calc(100vh - 56px);
		display: none;
		position: fixed;
		bottom: 56px;
		z-index: 1000;
		overflow-y: hidden;
	}

	#sp_float_btn .modal_bg {
		width: 100%;
		height: calc(100vh - 56px);
		/*background: rgba(0,0,0,0.1);*/
		position: absolute;
		z-index: 1;
	}

	#sp_float_btn .modal .modal_content {
		width: 100%;
		max-height: 75%;
		padding: 40px 20px;
		background-color: #c2dcc4;
		position: absolute;
		bottom: 0;
		z-index: 2;
		/*overflow-y: scroll;*/
		-webkit-overflow-scrolling: touch;
	}

	#sp_float_btn .modal .modal_content ul {
		margin: 0;
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
	}

	#sp_float_btn .modal .modal_content ul li {
		width: 48%;
		margin: 0 0 20px;
	}

	#sp_float_btn .modal .modal_content ul li a {
		height: auto;
		padding: 31vw 0 0 0;
		border-radius: 20px 0 20px 0;
		box-shadow: 0 7px 20px rgba(0,0,0,0.15);
		display: block;
		position: relative;
		overflow: hidden;
	}

	#sp_float_btn .modal .modal_content ul li a::before {
		display: none;
	}

	#sp_float_btn .modal_01 ul li:nth-child(1) a {
		margin: 0;
		background: url("../../img/home/img01@2x.jpg") left top -10px / contain no-repeat;
	}

	#sp_float_btn .modal_01 ul li:nth-child(2) a {
		background: url("../../img/home/img03@2x.jpg") left top / contain no-repeat;
	}

	#sp_float_btn .modal_01 ul li:nth-child(3) a {
		background: url("../../img/home/img02@2x.jpg") left top / contain no-repeat;
	}
	
	#sp_float_btn .modal_01 ul li:nth-child(4) a {
		background: url("../../img/home/img16.jpg?=220602") left top / contain no-repeat;
	}

	#sp_float_btn .modal_02 ul li:nth-child(1) a {
		margin: 0;
		background: url("../img/group_link04.jpg") left top / contain no-repeat;
	}

	#sp_float_btn .modal_02 ul li:nth-child(2) a {
		background: url("../img/group_link06.jpg") left top / contain no-repeat;
	}

	#sp_float_btn .modal_02 ul li:nth-child(3) a {
		background: url("../img/group_link05.jpg") left top / contain no-repeat;
	}

	#sp_float_btn .modal_02 ul li:nth-child(4) a {
		background: url("../img/group_link07.jpg") left top / contain no-repeat;
	}

	#sp_float_btn .modal_02 ul li:nth-child(5) a {
		background: url("../img/group_link08.jpg") left top / contain no-repeat;
	}

	#sp_float_btn .modal .modal_content ul li a div {
		width: 100%;
		max-width: inherit;
		height: auto;
		/*padding: 20px 20px 20px 15px;*/
		padding: 15px 20px 15px 15px;
		background: url("../img/icon_arrow01.svg") right 10px center / auto 12px no-repeat #fff;
		position: absolute;
		right: 0;
		bottom: 0;
		transition: all .3s;
		color: #348b39;
		font-size: 3.9vw;
		font-weight: 500;
		line-height: 1.0;
	}

	#sp_float_btn .modal_01 ul li:nth-child(3) a div {
		padding: 10px 20px 10px 15px;
	}

	#sp_float_btn .modal .modal_content ul li a:hover div {
		background: url("../img/icon_arrow01.svg") right 10px center / auto 12px no-repeat #fff;
	}

	#sp_float_btn .modal .modal_content ul li a div p.title {
		margin: 0;
		font-size: 3.9vw;
	}

	#sp_float_btn .modal .modal_content ul li a div p.title::after {
		display: none;
	}

	#sp_float_btn .modal .modal_content ul li a div p.txt {
		display: none;
	}

	#sp_float_btn .modal .modal_content ul li p.sp_txt {
		margin: 10px 0 0;
		display: block;
		font-size: 3.5vw;
		line-height: 1.1;
		letter-spacing: 0;
	}

	#sp_float_btn .modal .modal_content .btn_01 {
		width: 70%;
		margin: 0 auto;
		text-align: center;
		line-height: 1.0;
	}

	#sp_float_btn .modal .modal_content .btn_01 a {
		padding: 20px 0;
		background: url("../img/icon_arrow01.svg") right 30px center / auto 15px no-repeat #fff;
		border-radius: 60px;
		display: block;
		color: #348b39;
		font-size: 4.5vw;
		font-weight: 500;
	}

	#sp_float_btn .modal .modal_content .btn_01 a:hover {
		background: url("../img/icon_arrow01.svg") right 30px center / auto 15px no-repeat #fff;
	}

}
@media screen and (max-width: 768px) and (max-height:700px) {
	#sp_float_btn .modal .modal_content{
		overflow-y: scroll;
	}
}

	/*==================== cookie====================*/
html #cookie-law-info-bar{
	width: 800px;
    right: 20px;
    bottom: 20px !important;
    margin: 0;
    left: auto;
    border-radius: 20px;
}
html #cookie-law-info-bar.out{
	display:none !important;
}
html .cli-style-v2{
	font-size:10pt;
}
html .cli-style-v2 .cli-bar-message{
    width: calc(100% - 140px);
}
html .cli-style-v2 .cli-bar-message a{
	color:rgb(52, 139, 58);
	text-decoration:underline;
}
html .cli-style-v2 .cli-bar-message a:hover{
	text-decoration:none;
}
html .cli-bar-btn_container{
	margin:0;
}
html #cookie-law-info-bar .cli-style-v2 .cli-bar-btn_container .cli-plugin-button{
	width: 120px;
    border-radius: 50px;
    text-align: center;
    padding: 11px 0 14px 20px;
    background: url(../img/cookie_check.svg) no-repeat 20% center;
    background-size: 20px auto;
    background-color: rgb(52, 139, 58);
    font-size: 17px;
    letter-spacing: 3px;
    line-height: 1;
}
html #cookie-law-info-bar .close-btn a{
	display: block;
	width: 30px;
	height: 30px;
	background: url('../img/cookie_close.svg') no-repeat center center;
	background-size: 30px auto;
	background-color: rgb(52, 139, 58);
	border-radius: 25px;
	position: absolute;
	top: -10px;
	right: -10px;
	cursor: pointer;
}
@media screen and (max-width: 985px){
	html #cookie-law-info-bar[data-cli-style="cli-style-v2"]{
		padding:14px 25px;
		width:700px;
	}
}
@media screen and (max-width: 768px){
	html #cookie-law-info-bar[data-cli-style="cli-style-v2"]{
		width: 90%;
		right: 5%;
		bottom:80px !important;
	}
	html .cli-bar-btn_container{
		flex-direction: column;
		margin: 5px auto 0 !important;
	}
	html .cli-style-v2 .cli-bar-message{
    	width: 100%;
    }
    html #cookie-law-info-bar .cli-style-v2 .cli-bar-btn_container .cli-plugin-button{
    	width:200px;
    }
}