/*--------------------------------------------------------------*/
/* MainReset */
/*--------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300&display=swap');

html {
	font-size: 1rem;
	background: #fff;
	box-sizing: border-box;
}
.cbase *, .cbase *:before, .cbase *:after {
	box-sizing: inherit;
	-webkit-font-smoothing: antialiased
}
.cbase div, .cbase dl, .cbase dt, .cbase dd, .cbase ul, .cbase ol, .cbase li,
.cbase form, .cbase input, .cbase textarea, .cbase figure, 
.cbase p, .cbase blockquote, .cbase th, .cbase td {
	font-size: 18px!important;
	margin: 0;
	padding: 0;
}
/* font */
body {
	color: #000;
	font-family: "noto-sans-cjk-jp", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif!important;
	font-weight: 400;
	-mts-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	margin: 0;
}
.cbase h1, .cbase h2 {
	padding: 0!important;
}
.cbase img {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	max-width: 100%;
}
.cbase a {
	color: inherit;
	text-decoration: none;
}
.cbase ::selection {
	background: #548cbd;
	color: #fff;
}
.cbase input, .cbase textarea, .cbase select, .cbase button {
	font-family: inherit;
	font-size: inherit;
	font-weight: normal;
}
.cbase input, .cbase select, .cbase button {
	vertical-align: middle;
}
.cbase textarea::placeholder,
.cbase input::placeholder {
	color: #ccc;
}
.cbase input:-ms-input-placeholder {
	color: #ccc;
}
.cbase input::-ms-input-placeholder {
	color: #ccc;
}
.cbase article, .cbase aside, .cbase details, .cbase figcaption, .cbase figure,
.cbase footer, .cbase header, .cbase hgroup, .cbase main, .cbase menu, .cbase nav, .cbase section, .cbase summary {
	display: block;
}
.cbase address, .cbase caption, .cbase code, .cbase th {
	font-style: normal;
	font-weight: normal;
}
.cbase img, .cbase fieldset {
	border: 0;
}
.cbase ol, .cbase ul {
	list-style-type: none;
	margin-top: 0;
	margin-bottom: 0;
}
.cbase ol li, .cbase ul li {
	margin-bottom: 0;
}

/*--------------------------------------------------------------*/
/* 共通 base */
/*--------------------------------------------------------------*/
.cbase a:active, .cbase a:hover {
	color: orange;
	outline: 0;
	text-decoration: none;
}
.cbase a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	transition: all 0.5s;
}
.cbase p {
	line-height: 1.8;
	margin-bottom: 0;
}
.content {
	max-width: 1240px;
	width: 100%;
	padding: 0 20px!important;
	margin: 0 auto!important;
}
.cbase .flex {
	display: flex;
	flex-wrap: wrap;
}

/*--------------------------------------------------------------*/
/* .fixed */
/*--------------------------------------------------------------*/
.cbase.fixed {
	position: fixed!important;
	top: 0px;
	z-index: 99;
	animation: moveimg 1s 1;
	box-shadow: 0px 3px 3px rgba(0,0,0,0.3);
	border-bottom: none!important;
}
@keyframes moveimg {
	0% { top: -350px; }
	100% { top: 0px; }
}

/*--------------------------------------------------------------*/
/* パララックス */
/*--------------------------------------------------------------*/
.mv_left,
.mv_right,
.mv_up,
.mv_down,
.mv_bk {
	position: relative;
}
.lv_fade,
.mv_fade {
	opacity: 0;
}
.mv_fade0 {
	opacity: 1;
}
.mv_left {
	opacity: 0;
	left: -100px;
}
.mv_right {
	opacity: 0;
	right: -100px;
}
.mv_up {
	opacity: 0;
	top: 100px;
}
.mv_down {
	opacity: 0;
	top: -100px;
}
/* mv_up2 */
.mv_up2 {
	overflow: hidden;
	opacity: 0;
}
.mv_up2 .wrap {
	opacity: 0;
	display: inline-block;
	transform: matrix(1, 0, 0, 1, 0, 100);
	transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.mv_up2.op .wrap {
	opacity: 1;
}
.mv_up2.active {
	opacity: 1;
}
.mv_up2.active .wrap {
	opacity: 1;
	transform: matrix(1, 0, 0, 1, 0, 0);
}
/* mv_slide_right */
.mv_slide_left,
.mv_slide_right {
	overflow: hidden;
	position: relative;
	line-height: 0;
}
.mv_slide_left:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: #fbfaf7; /* 024f6b */
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.mv_slide_left.active:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	animation: mv_slide_left 1s cubic-bezier(.4, 0, .2, 1) forwards;
	background: #fbfaf7; /* 024f6b */
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.mv_slide_right:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.mv_slide_right.active:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	animation: mv_slide_right 1s cubic-bezier(.4, 0, .2, 1) forwards;
	background: #fff;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
@keyframes mv_slide_left {
	100% {
		transform: translateX(-100%);
	}
}
@keyframes mv_slide_right {
	100% {
		transform: translateX(100%);
	}
}

/*--------------------------------------------------------------*/
/* 共通 div.more */
/*--------------------------------------------------------------*/
.cbase div.more {
	text-align: right;
	margin-bottom: 30px;
}
.cbase div.more a {
	text-decoration: underline;
	transition: .3s ease;
}
.cbase div.more a:hover {
	text-decoration: none;
}

/*--------------------------------------------------------------*/
/* 共通 a.more_btn */
/*--------------------------------------------------------------*/
a.more_btn {
	background: #FFC3CE;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	border-radius: 8px;
	position: relative;
	transition: .3s background ease;
	text-align: center;
	font-size: 24px!important;
	line-height: 1;
	max-width: 438px;
	height: 60px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: background .3s ease;
}
a.more_btn:hover {
	background: #fb8841;
	color: #fff;
}
a.more_btn svg {
	position: absolute;
	top: 50%;
	right: 20px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	transition: right .3s ease;
	
}
a.more_btn:hover svg {
	right: 16px;
	fill: #fff;
}

/*--------------------------------------------------------------*/
/* 共通 .btn_link */
/*--------------------------------------------------------------*/
.btn_link {
	display: block;
	position: relative;
	max-width: 300px;
	width: 100%;
	text-align: center;
	margin: 40px auto;
	padding: 15px 0;
	color: #fff;
	background: #fca869;
	transition: 0.3s all;
}
.btn_link:hover {
	color: #fff;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.4);
	opacity: 0.9;
	text-decoration: none;
}
/* 580 */
@media (max-width: 580px) {
	.btn_link {
		max-width: 250px;
	}
}

/*--------------------------------------------------------------*/
/* 共通 button.btn */
/*--------------------------------------------------------------*/
button.btn {
	background: #ef6f2e;
	color: #fff;
	border: none;
	border-radius: 5px;
	padding: 10px;
	transition: .3s;
}
button.btn:hover {
	background: #f55200;
	border-radius: 8px;
}

/*--------------------------------------------------------------*/
/* 共通 レスポンシブ関連 */
/*--------------------------------------------------------------*/
.sp_view {
	display: none;
}
.tb_view {
	display: none;
}

/* 800 */
@media (max-width: 800px) {
	.pc_view {
		display: none;
	}
	.tb_view {
		display: block;
	}
	.tb_none {
		display: none!important;
	}
}
/* 580 */
@media (max-width: 580px) {
	.sp_view {
		display: block;
	}
	.sp_none {
		display: none!important;
	}
}

/*--------------------------------------------------------------*/
/* 共通 section padding */
/*--------------------------------------------------------------*/
.pd_std {
	padding: 80px 0 80px 0;
}
.pd_std.tzero {
	padding-top: 0;
}
/* 1200 */
@media (max-width: 1200px) {
	.pd_std {
		padding: max(6.68vw, 60px) 0;
	}
}

/*--------------------------------------------------------------*/
/* 共通 header.htype */
/*--------------------------------------------------------------*/
header.htype1 {
	text-align: center;
	position: relative;
	margin-bottom: 90px;
}
header.htype1 hr {
	display: block;
	border: none;
	width: 158px;
	height: 2px;
	background: #000;
	position: absolute;
	bottom: -40px;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
header.htype1 h1 {
	font-size: 47px!important;
	font-weight: normal;
}
header.htype1 span.mv_up2 {
	display: block;
	overflow: hidden;
}
/* 1200 */
@media (max-width: 1200px) {
	header.htype1 h1 {
		font-size: max(3.9vw, 25px)!important;
	}
}
/* 800 */
@media (max-width: 800px) {
	header.htype1 {
		margin-bottom: 75px;
	}
}
/* 580 */
@media (max-width: 580px) {

}

/* 580 */
@media (max-width: 580px) {
	header.htype1 h1 {
		text-align: left;
	}
}

/*--------------------------------------------------------------*/
/* body */
/*--------------------------------------------------------------*/
body {
	overflow-x: hidden;
}
body.sub {
	padding-top: 82px;
}
/* 1200 */
@media (max-width: 1200px) {
	body.sub {
		padding-top: max(6.8vw, 60px);
	}
}

/*--------------------------------------------------------------*/
/* #header */
/*--------------------------------------------------------------*/
body.home #header {
	position: fixed!important;
	top: -350px;
	transition: top 1.0s linear;
}
#header {
	background: #fff;
	padding: 12px 0 10px 0;
	width: 100%;
	min-height: 60px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
	transition: .3s padding ease;
}
#header.fixed {
	padding: 6px 0 4px 0;
}
body.home #header.fixed {
	top: 0px;
}
#header .content {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
}
/* logo */
.logo {
	max-width: 515px;
	width: max-content;
	transition: margin .3s ease;
}
.logo a {
	display: flex;
	align-items: center;
}
.logo img {
	margin-right: 15px;
	width: 68px;
}
.logo .txt {
	display: flex;
	justify-content: center;
	flex-direction: column;

}
.logo h1 {
	font-size: 25px!important;
	font-weight: normal;
	color: #1C9599;
	letter-spacing: 0.05rem;
	margin-bottom: 0;
	line-height: initial;
}
.logo span.jp {
	font-size: 14px!important;
	color: #777;
	letter-spacing: 0.04rem;
	margin-left: 4px;
}
/* nav */
#header nav {
	flex: 1;
	max-width: 550px;
	padding-bottom: 4px;
}
ul.gnav {
	display: flex;
	margin: 0;
	padding: 0;
}
ul.gnav > li {
	width: 20%;
	text-align: center;
	position: relative;
	margin-bottom: 0;
}
ul.gnav > li a {
	display: inline-flex;
	align-items: center;
	line-height: 1;
	font-size: 18px!important;
}
ul.gnav > li a:hover {
	color: #ED2C6B;
}
ul.gnav > li a svg {
	vertical-align: bottom;
	margin-right: 9px;
	transition: .3s ease;
	stroke: #ED2C6B;
}
ul.gnav > li a:hover svg {
	transform: rotateX(360deg) translateX(5px);
	stroke: #000;
}
ul.gnav > li a span.txt {
	margin-bottom: 3px;
}
/* 1200 */
@media (max-width: 1200px) {
	/* logo */
	.logo h1 {
		font-size: max(2.07vw, 20px)!important;
	}
	.logo span.jp {
		font-size: max(1.17vw, 12px)!important;
	}
	.logo img {
		margin-right: max(1vw, 6px);
		width: max(5.7vw, 40px);
	}
	#header nav {
		flex: initial;
		width: 50vw;
	}
}
/* 1000 */
@media (max-width: 1000px) {
	/* logo */
	.logo h1 {
		line-height: 1;
	}
	#header nav {
		display: none;
		width: initial;
	}
}
/* 580 */
@media (max-width: 580px) {
	#header.fixed {
		padding: 13px 0 4px 0;
	}
	#header .content {
		padding-left: 10px!important;
	}
	/* logo */
	.logo {
		margin-left: -7px;
	}
	.logo h1 {
		font-size: 18px!important;
		letter-spacing: 0;
	}
	.logo span.jp {
		font-size: 10px!important;
		letter-spacing: 0;
	}
}

/*--------------------------------------------------------------*/
/* #header SP MENU関連 */
/*--------------------------------------------------------------*/
/* sp_menu_btn */
#header .sp_menu_btn {
	display: none;
	width: 26px;
	position: absolute;
	top: 13px;
	right: 20px;
	cursor: pointer;
	z-index: 99;
}
#open {
	height: 21px;
}
.menu_line {
	background: #878787;
	display: block;
	height: 3px;
	position: absolute;
	transition:transform .3s;
	width: 100%;
}
.menu--active {
	/*height: 100vh;*/
	/*overflow: hidden;*/
}
.menu--active .menu_line {
	background: #888!important;
}
.menu:hover .menu_line {
	background: #ccc;
}
.menu_line-center {
	top: 9px;
}
.menu_line-bottom {
	bottom: 0;
}
.menu--active .menu_line-top {
	top: 8px;
	transform: rotate(45deg);
}
.menu--active .menu_line-center {
	transform:scaleX(0);
}
.menu--active .menu_line-bottom {
	bottom: 10px;
	transform: rotate(135deg);
}
.sp_menu_btn span.jp {
	position: absolute;
	left: 50%;
	bottom: -16px;
	min-width: 45px;
	width: 100%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	display: block;
	text-align: center;
	font-size: 08px!important;
	white-space: nowrap;
}
/* sp_menu_right */
.sp_menu_right {
	background: #F9F9DD;
	overflow-y: auto;
	position: absolute;
	right: 0;
	top: calc(0px + 100%);
	transform: translateX(100%);
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	width: 50%;
	padding: 40px 100px 40px 45px;
	z-index: 98;
	-webkit-overflow-scrolling: touch;
}
.sp_menu_right ul.nav {
	margin-bottom: 30px;
}
.sp_menu_right ul.nav li {
	padding: 10px 0;
	position: relative;
}
.sp_menu_right ul.nav li a {
	display: inline-flex;
	align-items: center;
	line-height: 1.2;
	font-size: 18px!important;
}
.sp_menu_right ul.nav li a svg {
	vertical-align: bottom;
	margin-right: 9px;
	transition: .3s ease;
	stroke: #ED2C6B;
}
.sp_menu_right ul.nav li a:hover svg {
	transform: rotateX(360deg) translateX(5px);
	stroke: #000;
}
/* .close */
.sp_menu_right .close {
	cursor: pointer;
	width: max-content;
	margin-left: auto;
}
.sp_menu_right .close svg {
	margin-right: 9px;
	fill: #878787;
}
.sp_menu_right .close:hover {
	color: #555;
}
.sp_menu_right .close:hover svg {
	fill: #a70000;
}
.menu--active .sp_menu_right {
	right: 50%;
}
#overlay {
	display: none;
}
.menu--active #overlay {
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,0.6);
	z-index: 8;
}
/* 1000 */
@media (max-width: 1000px) {
	/* sp_menu_btn */
	#header .sp_menu_btn {
		display: block;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* sp_menu_right */
	.sp_menu_right {
		right: 0;
		width: 100%;
		padding: 20px 30px 30px 30px!important;
	}
	.menu--active .sp_menu_right {
		padding: 20px 30px 30px 30px!important;
		right: 100%;
		width: 100%;
	}
	.sp_menu_right ul.nav {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.sp_menu_right ul.nav li {
		width: 50%;
	}
}

/*--------------------------------------------------------------*/
/* MAIN VISUAL */
/*--------------------------------------------------------------*/
#main_visual {
	background: url(../images/main_visual_bk.svg) no-repeat;
	background-size: cover;
	background-position: top center;
	height: 640px;
}
#main_visual .content {
	position: relative;
	height: 100%;
}
#main_visual h2 {
	font-size: 61px!important;
	line-height: 1.2;
	font-weight: normal;
	padding: 0;
	padding: 26px 0 20px 0!important;
	margin: 0!important;
	position: relative;
	z-index: 5;
	transition: padding .3s ease;
}
/* illust */
#main_visual figure.main_visual.illust1 {
	display: none;
}
#main_visual figure.main_visual.illust2 {
	position: absolute;
	top: 10%;
	right: 1%;
	min-width: 760px;
	max-width: 880px;
	width: 59%;
	z-index: 1;
}
#main_visual p.txt {
	font-size: 21px!important;
	position: absolute;
	bottom: 40px;
	left: 20px;
	padding-right: 20px;
	z-index: 2;
}
/* logo */
#main_visual .logo {
	position: absolute;
	top: 28px;
	right: 38px;
	z-index: 2;
	transition: .3s ease;
}
#main_visual .logo .flex {
	justify-content: flex-start;
	align-items: center;
}
#main_visual .logo .flex .txt {
	display: flex;
	flex-direction: column;
}
#main_visual .logo img {
	width: 46px;
}
#main_visual .logo h1 {
	font-size: 20px!important;
}
#main_visual .logo span.jp {
	font-size: 10px!important;
	letter-spacing: 0;
	padding-left: 3px;
}
/* venus */
#main_visual .venus {
	font-size: 218px!important;
	font-weight: bold;
	line-height: 1;
	color: #F9FAC2;
	position: absolute;
	top: 0;
	right: 20px;
	z-index: 1;
}
/* longtxt */
#main_visual .longtxt {
	font-size: 50px!important;
	color: rgba(0, 0, 0, 0.03);
	line-height: 55px;
	letter-spacing: 0.05em;
	position: absolute;
	top: 39%;
	left: 20px;
	z-index: 1;
}
/* 1000 */
@media (max-width: 1025px) {
	#main_visual .bk {
		background-size: 100%;
	}
}
/* 820 */
@media (max-width: 820px) {
	#main_visual {
		height: initial;
		padding-bottom: 40px;
	}
	#main_visual h2 {
		font-size: max(7.45vw, 32px)!important;
		padding: max(16vw, 105px) 0 20px 0!important;
	}
	#main_visual p.txt {
		position: initial;
		font-size: max(2.55vw, 17px)!important;
		padding-right: 0;
	}
	/* logo */
	#main_visual .logo {
		top: 6%;
		left: 50%;
		right: initial;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
	}
	/* venus */
	#main_visual .venus {
		font-size: 121px!important;
		top: 0;
		left: 50%;
		right: initial;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
	}
	/* longtxt */
	#main_visual .longtxt {
		display: none;
	}
	/* illust */
	#main_visual figure.main_visual.illust1 {
		display: block;
		margin-bottom: 30px;
	}
	#main_visual figure.main_visual.illust2 {
		display: none;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* logo */
	#main_visual .logo {
		top: 4.5%;
	}
	/* venus */
	#main_visual .venus {
		font-size: 100px!important;
	}
	#main_visual p.txt {
		bottom: 6vh;
	}
}

/*--------------------------------------------------------------*/
/* SUB VISUAL */
/*--------------------------------------------------------------*/


/*--------------------------------------------------------------*/
/* #top_about ケア効果の可視化プロジェクト(VENUS)とは */
/*--------------------------------------------------------------*/
/* 共通 */
#top_about ul.venus li a {
	transition: opacity .3s ease;
}
#top_about ul.venus li a:hover {
	color: #000;
	opacity: 0.7;
}
#top_about ul.venus li {
	margin-bottom: 48px;
	padding: 16px 0;
}
#top_about ul.venus li .box {
	display: flex;
	max-width: 632px;
	width: 70%;
	position: relative;
	z-index: 3;
}
#top_about ul.venus li .wrap {
	padding: 25px;
	position: relative;
}
#top_about ul.venus li .wrap::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background: linear-gradient(to right, #FFE9F0 70%, rgba(255,255,255,0) 100%);
}
#top_about ul.venus li:nth-child(even) .wrap .box {
	margin-left: auto;
}
#top_about ul.venus li .wrap .box .ab {
	aspect-ratio: 1 / 1;
	width: 184px;
	font-size: 52px!important;
	font-weight: bold;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
#top_about ul.venus li .wrap .box .text {
	display: flex;
	justify-content: center;
	flex-direction: column;
	background: linear-gradient(to right, #fff 60%, rgba(255,255,255,0.6) 100%);
	padding: 15px 25px;
	flex: 1;
}
#top_about ul.venus li .wrap .box .text img {
	display: none;
}
#top_about ul.venus li:nth-child(even) .wrap .box .text {
	background: #fff;
}
#top_about ul.venus li .wrap .box .text h2 {
	font-size: 25px!important;
	margin-top: 0!important;
	margin-bottom: 5px;
}
#top_about ul.venus li .wrap .box .text p.txt {
	line-height: 1.4;
}
/* 1 */
#top_about ul.venus li:nth-child(1) {
	background: linear-gradient(to right, #FFE9F0 20%, rgba(255,255,255,0) 50%, rgba(255,255,255,0) 100%);
}
#top_about ul.venus li:nth-child(1) .wrap {
	background: url(../images/top_about_01.jpg) no-repeat;
	background-size: cover;
}
#top_about ul.venus li:nth-child(1) .wrap::after {
	background: linear-gradient(to right, #FFE9F0 70%, rgba(255,255,255,0) 100%);
}
#top_about ul.venus li:nth-child(1) .wrap .box .ab {
	background: #FFC3CE;
}
/* 2 */
#top_about ul.venus li:nth-child(2) {
	background: linear-gradient(to left, #CAF5FA 20%, rgba(255,255,255,0) 50%, rgba(255,255,255,0) 100%);
}
#top_about ul.venus li:nth-child(2) .wrap {
	background: url(../images/top_about_02.jpg) no-repeat;
	background-size: cover;
}
#top_about ul.venus li:nth-child(2) .wrap::after {
	left: initial;
	right: 0;
	background: linear-gradient(to left, #CAF5FA 70%, rgba(255,255,255,0) 100%);
}
#top_about ul.venus li:nth-child(2) .wrap .box .ab {
	background: #A5E0E6;
}
/* 3 */
#top_about ul.venus li:nth-child(3) {
	background: linear-gradient(to right, #F3F2C1 20%, rgba(255,255,255,0) 50%, rgba(255,255,255,0) 100%);
}
#top_about ul.venus li:nth-child(3) .wrap {
	background: url(../images/top_about_03.jpg) no-repeat;
	background-size: cover;
}
#top_about ul.venus li:nth-child(3) .wrap::after {
	background: linear-gradient(to right, #F3F2C1 70%, rgba(255,255,255,0) 100%);
}
#top_about ul.venus li:nth-child(3) .wrap .box .ab {
	background: #D8D79F;
}
/* 4 */
#top_about ul.venus li:nth-child(4) {
	background: linear-gradient(to left, #C2F3C8 20%, rgba(255,255,255,0) 50%, rgba(255,255,255,0) 100%);
}
#top_about ul.venus li:nth-child(4) .wrap {
	background: url(../images/top_about_04.jpg) no-repeat;
	background-size: cover;
}
#top_about ul.venus li:nth-child(4) .wrap::after {
	left: initial;
	right: 0;
	background: linear-gradient(to left, #C2F3C8 70%, rgba(255,255,255,0) 100%);
}
#top_about ul.venus li:nth-child(4) .wrap .box .ab {
	background: #9AD7A2;
}
/* sns */
div.sns {
	display: flex;
	justify-content: center;
	align-items: center;
}
div.sns p.txt {
	font-size: 24px!important;
	margin-right: 33px;
}
ul.sns {
	display: flex;
	justify-content: center;
	align-items: center;
}
ul.sns li:nth-child(1) {
	margin-right: 33px;
}
/* 800 */
@media (max-width: 800px) {
	#top_about ul.venus li {
		background: none!important;
		padding: 0;
	}
	#top_about ul.venus li .wrap {
		background: none!important;
		padding: 0;
	}
	#top_about ul.venus li .wrap::after {
		background: none!important;
	}
	#top_about ul.venus li .wrap .box {
		display: block;
		max-width: 400px;
		width: 100%;
		margin: 0 auto;
	}
	#top_about ul.venus li .wrap .box .ab {
		display: none;
	}
	#top_about ul.venus li .wrap .box .text {
		display: block;
		background: none;
		padding: 0;
	}
	#top_about ul.venus li .wrap .box .text h2 {
		padding: 20px 10px!important;
		margin-top: 0;
		margin-bottom: 20px;
		font-size: 25px!important;
		text-align: center;
		color: #fff;
	}
	#top_about ul.venus li .wrap .box .text p.txt {
		margin: 0 calc(50% - 45vw);
		font-size: 18px!important;
	}
	#top_about ul.venus li .wrap .box .text img {
		display: block;
	}
	/* 1 */
	#top_about ul.venus li:nth-child(1) .wrap .box .text h2 {
		background: #FFC3CE;
	}
	/* 2 */
	#top_about ul.venus li:nth-child(2) .wrap .box .text h2 {
		background: #A5E0E6;
	}
	/* 3 */
	#top_about ul.venus li:nth-child(3) .wrap .box .text h2 {
		background: #D8D79F;
	}
	/* 4 */
	#top_about ul.venus li:nth-child(4) .wrap .box .text h2 {
		background: #9AD7A2;
	}
	#top_about ul.venus li:nth-child(4) .wrap .box .text p.txt {
		text-align: center;
	}
}

/*--------------------------------------------------------------*/
/* #top_news NEWS */
/*--------------------------------------------------------------*/
#top_news header h1 {
	border-bottom: 1px solid #000;
	font-size: 68px!important;
	font-weight: 100;
	margin-bottom: 40px;
}
#top_news ul.news_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 40px 0;
	margin-bottom: 50px;
}
#top_news ul.news_list li {
	width: 48%;
	padding: 30px;
	box-shadow: 2px 2px 4px 2px rgba(0, 0, 0, 0.11);
}
#top_news ul.news_list li time {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300;
	font-size: 16px!important;
	margin-bottom: 15px;
	display: block;
}
#top_news ul.news_list li h2 {
	font-size: 22px!important;
	line-height: 1.2;
	margin-top: 0;
	margin-bottom: 15px;
}
#top_news ul.news_list li p.txt {
	line-height: 1.6;
	margin-bottom: 15px;
}
#top_news ul.news_list li figure img {
	aspect-ratio: 500 / 260;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* 800 */
@media (max-width: 800px) {
	#top_news header h1 {
		font-size: max(8.5vw, 45px)!important;
	}
	#top_news ul.news_list li {
		max-width: 550px;
		margin: 0 auto;
		width: 100%;
		padding: 25px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#top_news ul.news_list li {
		width: 100%;
		padding: 25px 20px;
	}
	#top_news div.more {
		margin-bottom: 20px;
	}
}

/*--------------------------------------------------------------*/
/* #top_project ケア効果の可視化プロジェクト(VENUS)について */
/*--------------------------------------------------------------*/
#top_project ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#top_project ul li {
	width: 29%;
	text-align: center;
}
#top_project ul li figure {
	margin-bottom: 15px;
}
#top_project ul li h2 {
	font-size: 35px!important;
	font-weight: normal;
	margin-bottom: 20px;
}
#top_project ul li a.more_box {
	display: block;
	font-size: 20px!important;
	line-height: 1;
	max-width: 180px;
	margin: 0 auto 30px auto;
	border: 1px solid #9f9f9f;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	transition: .3s ease;
}
#top_project ul li a.more_box svg {
	position: absolute;
	top: 50%;
	right: 20px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	stroke: #535353;
	transition: .3s ease;
}
#top_project ul li a.more_box:hover {
	color: #fff;
	background: #fcb276;
	border-color: #fcb276;
}
#top_project ul li a.more_box:hover svg {
	right: 15px;
	stroke: #fff;
}
#top_project ul li p.txt {
	text-align: left;
}
/* 800 */
@media (max-width: 800px) {
	#top_project ul {
		gap: 60px 0;
	}
	#top_project ul li h2 {
		font-size: 31px!important;
	}
	#top_project ul li {
		width: 100%;
	}
	#top_project ul li p.txt {
		max-width: 550px;
		margin: 0 auto;
	}
}

/*--------------------------------------------------------------*/
/* #news_list お知らせ一覧 */
/*--------------------------------------------------------------*/
article.sub_page {
	position: relative;
	background: url(../images/bk01.jpg) no-repeat;
	background-position: top center;
	background-size: 100% auto;
}
article.sub_page .content {
	position: relative;
	z-index: 2;
}
article.sub_page header.htype1 hr {
	width: 80px;
	height: 3px;
	background: #333;
}
article.sub_page .venus {
	font-size: 218px!important;
	font-weight: bold;
	line-height: 1;
	color: #F9FAC2;
	position: absolute;
	top: -20px;
	right: 20px;
	z-index: 1;
}
#news_list article:nth-of-type(1) {
	padding-top: 0;
}
#news_list article {
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	border-bottom: 1px solid #ccc;
	padding-top: 40px;
	padding-bottom: 40px;
}
#news_list article .text {
	flex: 1;
	padding-right: 40px;
}
#news_list article .text time {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300;
	font-size: 12px!important;
	font-weight: 600;
	margin-bottom: 12px;
	display: block;
}
#news_list article .text h2 {
	font-size: 22px!important;
	font-weight: bold;
	margin-top: 0;
	margin-bottom: 12px;
	line-height: 1.3;
}
#news_list article .text p.txt {
	line-height: 1.6;
	word-break: break-all;
}
#news_list article figure {
	max-width: 440px;
	width: 40%;
}
#news_list article figure img {
	width: 100%;
}
/* 1200 */
@media (max-width: 1200px) {
	#news_list article .text {
		padding-right: max(3.3vw, 20px);
	}
}
/* 820 */
@media (max-width: 820px) {
	article.sub_page .venus {
		font-size: 121px!important;
		top: 0;
		left: 50%;
		right: initial;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
	}
}
/* 580 */
@media (max-width: 580px) {
	#news_list article figure {
		max-width: initial;
		width: 100%;
		margin-bottom: 20px;
	}
	#news_list article .text {
		padding-right: 0;
	}
}

/*--------------------------------------------------------------*/
/* #news_detail お知らせ詳細 */
/*--------------------------------------------------------------*/
.post-wrap {
	margin-bottom: 80px;
}
.post-wrap header {
	margin-bottom: 40px;
}
.post-wrap header time {
	font-family: 'Inter';
	font-size: 12px!important;
	margin-bottom: 15px;
	display: block;
}
.post-wrap header h2 {
	font-size: 22px!important;
	font-weight: bold;
	margin-top: 0;
	margin-left: 0;
	padding: 0!important;
}
.post-wrap .body {
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
}
.post-wrap .body figure.icatch {
	max-width: 440px;
	width: 41%;
}
.post-wrap .body figure img {
	width: 100%;
}
.post-wrap .body .post_content {
	flex: 1;
	padding-right: 40px;
}
.post-wrap .body .post_content ul li {
	margin-left: 25px;
}
/* 1200 */
@media (max-width: 1200px) {
	.post-wrap .body .post_content {
		padding-right: max(3.3vw, 20px);
	}
}
/* 580 */
@media (max-width: 580px) {
	.post-wrap header {
		margin-bottom: 30px;
	}
	.post-wrap .body {
		display: block;
	}
	.post-wrap .body figure {
		max-width: initial!important;
		width: 100%!important;
		margin-bottom: 30px;
	}
	.post-wrap .body .post_content {
		padding-right: 0;
	}
}

/*--------------------------------------------------------------*/
/* #member_list メンバー */
/*--------------------------------------------------------------*/
#member_list .title {
	margin-bottom: 50px;
}
#member_list .title h2 {
	font-size: 2.1rem!important;
	font-weight: bold;
	border-left: solid 10px #ccc;
	padding: 15px 0 18px 25px!important;
}
#member_list .title p.txt {
	font-size: 1.75rem!important;
	line-height: 1.3;
	padding-bottom: 8px;
	position: relative;
	border-bottom: 1px solid rgba(0,0,0,.1);
}
#member_list .title p.txt:after {
	border-bottom: 1px solid #ccc;
	content: ".";
	line-height: 0;
	display: block;
	overflow: hidden;
	position: absolute;
	bottom: -1px;
	width: 30%;
}
/* venus-hc */
#member_list .title.venus-hc h2 {
	border-left: solid 10px #ffa9b4;
}
#member_list .title.venus-hc p.txt:after {
	border-bottom: 1px solid #ffa9b4;
}
/* venus-dx */
#member_list .title.venus-dx h2 {
	border-left: solid 10px #87dbe0;
}
#member_list .title.venus-dx p.txt:after {
	border-bottom: 1px solid #87dbe0;
}
/* venus-rc */
#member_list .title.venus-rc h2 {
	border-left: solid 10px #c1bf85;
}
#member_list .title.venus-rc p.txt:after {
	border-bottom: 1px solid #c1bf85;
}
/* venus-cs */
#member_list .title.venus-cs h2 {
	border-left: solid 10px #8ccf94;
}
#member_list .title.venus-cs p.txt:after {
	border-bottom: 1px solid #8ccf94;
}
#member_list section:nth-child(n+2) {
	margin-top: 120px;
}
ul.members {
	display: flex;
	flex-wrap: wrap;
	gap: 60px 0;
	box-sizing: border-box;
	margin-bottom: 100px;
}
ul.members > li {
	width: calc(92% / 3);
	margin-right: 4%;
}
ul.members > li .box {
	max-width: 358px;
	width: 100%;
	height: 100%;
	padding: 20px;
	background: #fff;
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
	text-align: center;
	margin: 0 auto;
}
ul.members > li .box figure img {
	width: 100%;
}
ul.members > li:nth-child(3n) {
	margin-right: 0;
}
ul.members > li dl {
	margin-bottom: 20px;
}
ul.members > li dl dt {
	font-size: 22px!important;
	font-weight: bold;
	padding: 5px 0 7px 0;
	border: none;
}
ul.members > li dl dt a {
	transition: .3s ease;
}
ul.members > li dl dd {
	border: none;
}
ul.members > li ul.icon {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 10px;
}
ul.members > li ul.icon li {
	margin: 0 10px;
}
ul.members > li ul.icon li svg {
	width: 24px;
	transition: .3s ease;
}
ul.members > li ul.icon li.icon01 svg {
	fill: #555;
	width: 20px;
}
ul.members > li ul.icon li.icon01 a:hover svg {
	fill: #ED2C6B;
}
ul.members > li ul.icon li.icon02 svg {
	fill: #555;
}
ul.members > li ul.icon li.icon02 a:hover svg {
	fill: blue;
}
ul.members > li ul.icon li.icon03 svg .color {
	fill: #555;
	transition: .3s ease;
}
ul.members > li ul.icon li.icon03 a:hover svg .color {
	fill: #A6CE39;
}

ul.members > li ul.icon li.icon04 svg {
	width: 23px;
	fill: #555;
}
ul.members > li ul.icon li.icon04 a:hover svg {
	fill: #A6CE39;
}

li .psr {
	color:#555;;
	font-family: "roboto", sans-serif;
	font-weight: 900;
	font-size: 26px!important;
	margin: 0 18px;
	padding: 5px 0 0 0;
	}

li .psr a {
	transition: .3s ease;
	}




/* table.tbl */
table.tbl {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.5;
}
table.tbl tr th {
	padding: 22px 25px;
	font-weight: bold;
	vertical-align: top;
	/* background: #F49521; */
	color: #ffffff;
	/* border-bottom: 2px solid #D97801; */
	text-align: left;
}
table.tbl.venus-hc tr th {
	background: #ffa9b4;
	border-bottom: 2px solid #fa7889; 
	}
	table.tbl.venus-dx tr th {
	background: #87dce0;
	border-bottom: 2px solid #40b7bd; 
	}
	table.tbl.venus-rc tr th {
	background: #c1bf85;
	border-bottom: 2px solid #a3a041; 
	}
	table.tbl.venus-cs tr th {
	background: #8ccf94;
	border-bottom: 2px solid #45ad52; 
	}

table.tbl tr th:nth-child(1) {
	border-right: 1px solid #fff;
	width: 30%;
}
table.tbl tr td {
	padding: 22px 25px;
	vertical-align: top;
	border-bottom: none;
	white-space: nowrap;
}
table.tbl tr td a {
	transition: .3s ease;
}

/* 
table.tbl tr td:nth-child(1) {
	border-right: 1px solid #F49521;
}
table.tbl tr:nth-child(odd) {
	background: #FFF3E4;
} */


/* HC */

table.tbl.venus-hc tr td:nth-child(1) {
	border-right: 1px solid #fa7889; 
	}
	table.tbl.venus-hc tr:nth-child(odd) {
	background: #ffe8eb;
	}

/* DX */

table.tbl.venus-dx tr td:nth-child(1) {
	border-right: 1px solid #40b7bd; 
}
table.tbl.venus-dx tr:nth-child(odd) {
	background: #dff4f5;
}


/* RC */

table.tbl.venus-rc tr td:nth-child(1) {
	border-right: 1px solid #a3a041;
}
table.tbl.venus-rc tr:nth-child(odd) {
	background: #f5f4e4;
}



/* CS */

table.tbl.venus-cs tr td:nth-child(1) {
	border-right: 1px solid #45ad52; 
}
table.tbl.venus-cs tr:nth-child(odd) {
	background: #e8faea;
}

/* 580 */
@media (max-width: 580px) {
	#member_list section:nth-child(n+2) {
		margin-top: 100px;
	}
	ul.members {
		gap: 10px 0;
		margin-bottom: 40px;
	}
	ul.members > li {
		max-width: 348px;
		width: 100%;
		margin: 0 auto!important;
		padding: 15px;
	}
	/* table.tbl */
	table.tbl tr th {
		padding: 10px;
	}
	table.tbl tr th:nth-child(1) {
		border-right: 1px solid #fff;
		width: 25%;
	}
	table.tbl tr td {
		padding: 10px;
	}
	table.tbl tr th,
	table.tbl tr td {
		font-size: 14px!important;
	}
	table.tbl tr td:nth-of-type(2){
		white-space:normal;
  }
}

/*--------------------------------------------------------------*/
/* お問い合わせページ */
/*--------------------------------------------------------------*/
section#contact {
	padding-bottom: 5px;
}
section#contact .content {
	max-width: 1040px;
}
section#contact .content p.contact_txt {
	margin-bottom: 60px;
}
section#contact .content p.contact_txt span.note {
	color: red;
}
/* フォーム */
section#contact form {
	margin-bottom: 60px;
}
section#contact form table tr {
	border-top: 1px solid #e2e2e2;
}
section#contact form table tr th,
section#contact form table tr td {
	padding-top: 30px;
	padding-bottom: 30px;
}
section#contact form table th {
	width: 210px;
	white-space: nowrap;
	text-align: left;
	padding: 0 55px 0 10px;
	vertical-align: middle;
	position: relative;
}
section#contact form table tr th span.hissu {
	position: absolute;
	top: 50%;
	right: 10px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	display: inline-block;
	padding: 1px 4px 0px 4px;
	background: #3b7dd6;
	color: #fff;
	font-size: 10px!important;
}
section#contact form table tr td textarea {
	width: 100%;
	height: 200px;
}
section#contact form table tr:last-child th {
	vertical-align: top;
	padding-top: 40px;
}
section#contact form table tr:last-child th span.hissu {
	top: 53px;
	right: 10px;
}
section#contact form input[type=text],
section#contact form input[type=email],
section#contact form textarea {
	padding: 10px;
	width: 100%;
}
section#contact form input[type=text],
section#contact form input[type=email] {
	width: 100%;
}
section#contact form input.tel {
	width: 120px;
}
/* 確認画面 */
body.confirm section#contact form table th,
body.confirm section#contact form table td {
	padding: 15px 5px;
}
body.confirm section#contact form table tr:last-child th span.hissu {
	top: 28px;
}
body.confirm section#contact section.privacy {
	display: none;
}
body.confirm section#contact div.confirm {
	text-align: center;
}
body.confirm section#contact div.confirm button {
	display: inline-block;
	max-width: 200px;
	margin: 30px 5px;
}
body.confirm section#contact div.confirm button.back span.txt {
	padding-right: 0px;
	padding-left: 20px;
}
body.confirm section#contact div.confirm button.back span.txt::after {
	right: 0;
	left: 25%;
	-webkit-transform: translate(0, -50%) rotate(180deg);
	transform: translate(0, -50%) rotate(180deg);
}
body.confirm section#contact div.confirm button.back:hover span.txt::after {
	left: 23%;
}
/* 送信完了 */
.mw_wp_form .error,
body.send section#contact span.note {
	color: red;
}
.mw_wp_form_send_error {
	color: red;
	padding-top: 30px;
}
body.send section#contact div.main.send {
	padding: 80px 0 30px 0;
}
/* 1000 */
@media (max-width: 1000px) {
	section#contact .flex div {
		padding: 20px 15px;
	}
	section#contact h2 {
		font-size: 3vw;
	}
	section#contact p.tel a {
		font-size: 5vw;
	}
}
/* 768 */
@media (max-width: 768px) {
	section#contact .flex div {
		width: 100%;
		margin-bottom: 30px;
	}
	section#contact h2 {
		font-size: 22px!important;
		margin-bottom: 5px;
	}
	section#contact p.tel {
		font-size: 26px!important;
		text-align: center;
	}
	section#contact p.tel a {
		font-size: 34px!important;
	}
	/* 送信完了 */
	body.send section#contact div.main.send {
		padding: 40px 0 0 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	section#contact .content p.contact_txt {
		margin-bottom: 40px;
	}
	section#contact a.btn_link2 {
		max-width: 70%;
	}
	/* フォーム */
	section#contact form dl.note {
		padding: 20px;
	}
	section#contact form dl.note dt {
		font-size: 17px!important;
	}
	/* table */
	section#contact form table tr th {
		display: block;
		width: 100%;
		padding: 20px 5px 5px 5px;
	}
	section#contact form table tr th span.hissu {
		top: calc(50% + 5px)
	}
	/* tr:last-child */
	section#contact form table tr:last-child th {
		vertical-align: top;
		padding: 20px 5px 5px 5px;
	}
	section#contact form table tr:last-child th span.hissu {
		top: calc(50% + 5px);
		right: 10px;
	}
	section#contact form table tr td {
		display: block;
		width: 100%;
		padding: 5px 5px 20px 5px;
	}
	section#contact form table td textarea {
		height: 180px;
	}
	section#contact form input[type=text],
	section#contact form input[type=email],
	section#contact form textarea {
		padding: 10px;
		width: 100%;
	}
	section#contact form input.call {
		width: 29%;
	}
	section#contact form form {
		margin-bottom: 60px;
	}
	section#contact form .btn_link {
		display: inline-block;
		margin: 40px 10px 0 10px;
	}
	/* 送信完了 */
	body.send section#contact div.main.send {
		padding: 20px 0 0 0;
		margin-bottom: -40px;
	}
}

/*--------------------------------------------------------------*/
/* お問い合わせページ -> 個人情報保護方針 */
/*--------------------------------------------------------------*/
section#contact section.privacy {
	padding: 60px 0;
}
section#contact section.privacy .scroll {
	border: 1px solid #ccc;
	max-width: 1000px;
	margin: 0 auto;
	padding: 20px;
	height: 250px;
	overflow-y: scroll;
	background: #f9f9f9;
}
section#contact section.privacy .scroll header h1 {
	font-size: 20px!important;
	margin-bottom: 20px;
}
section#contact section.privacy .scroll header p {
	margin-bottom: 20px;
	font-size: 14px!important;
}
section#contact section.privacy .scroll dl dt {
	font-size: 15px!important;
	margin-bottom: 5px;
}
section#contact section.privacy .scroll dl dd {
	font-size: 14px!important;
	margin-bottom: 15px;
}
/* 580 */
@media (max-width: 580px) {
	section#contact section.privacy .scroll header h1 {
		font-size: 18px!important;
	}
	section#contact section.privacy .scroll header p {
		font-size: 13px!important;
	}
	section#contact section.privacy .scroll dl dt {
		font-size: 14px!important;
	}
	section#contact section.privacy .scroll dl dd {
		font-size: 13px!important;
	}
}

/*--------------------------------------------------------------*/
/* #sidebar */
/*--------------------------------------------------------------*/
#sidebar h3 {
	font-size: 20px!important;
	font-weight: bold;
	border: none;
	color: #F49521;
	padding: 0;
	margin-bottom: 20px;
}
#sidebar h3:after {
	content: none;
}
#sidebar ul.parent {
	margin-bottom: 80px;
}
#sidebar ul li a {
	padding: 0;
	border: none;
	display: inline-block;
	position: relative;
	padding-left: 20px;
	margin-bottom: 10px;
	line-height: 1.4;
}
#sidebar ul li a::before {
    position: absolute;
    top: 50%;
    left: 3px;
    transform: translateY(-50%) rotate(45deg);
    width: 0.5em;
    height: 0.5em;
    background-color: #F49521;
    content: "";
}

/*--------------------------------------------------------------*/
/* page_navi */
/*--------------------------------------------------------------*/
table.page_navi {
	max-width: 500px;
	margin: 0 auto;
}
table.page_navi td {
	text-align: center;
	width: calc(100% / 3);
	padding: 10px 0;
}
table.page_navi td a {
	color: #000;
	font-size: 18px;
}
table.page_navi td a.blog_index {
	line-height: 1.2;
	padding-bottom: 1px;
}
table.page_navi td span.txt {
	line-height: 1;
	padding-bottom: 1px;
}
table.page_navi td .prev a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
}
table.page_navi td .prev svg {
	margin-right: 8px;
}
table.page_navi td .next a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
}
table.page_navi td a:hover {
	color: orange;
	text-decoration: none;
}
table.page_navi td a:hover svg {
	fill: orange;
}
table.page_navi td .next svg {
	margin-left: 8px;
}
/* 580 */
@media (max-width: 580px) {
	table.page_navi td svg {
		width: 10px;
	}
	table.page_navi td a {
		font-size: 16px!important;
	}
}

/*--------------------------------------------------------------*/
/* pager */
/*--------------------------------------------------------------*/
.cbase ul.page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 70px;
}
.cbase ul.page-numbers li span.page-numbers.current {
	color: #fff;
	background-color: #F49521;
}

/*--------------------------------------------------------------*/
/* breadcrumbs */
/*--------------------------------------------------------------*/
body.sub .breadcrumbs {
	margin-bottom: 40px!important;
	font-size: 14px!important;
}
body.member .breadcrumbs {
	margin-bottom: -60px!important;
}
.breadcrumbs a {
	color: #000;
}
.breadcrumbs i.ion-ios-arrow-right {
	margin: 0 7px;
}
.breadcrumbs i.ion-android-home {
	margin-right: 3px;
}

/*--------------------------------------------------------------*/
/* 404 */
/*--------------------------------------------------------------*/
#fn404 {
	text-align: center;
}
/* 580 */
@media (max-width: 580px) {
	#fn404 p.txt {
		text-align: left;
	}
}

/*--------------------------------------------------------------*/
/* form validation message */
/*--------------------------------------------------------------*/
div.alert-success {
	color: blue;
	margin-bottom: 20px;
}
div.alert-danger {
	color: red;
	margin-bottom: 20px;
}

/*--------------------------------------------------------------*/
/* #pageTop */
/*--------------------------------------------------------------*/
#pageTop {
	background: rgb(154 215 162 / 60%);
	border-radius: 8px;
	bottom: 20px;
	cursor: pointer;
	display: none;
	width: 45px;
	height: 45px;
	position: fixed;
	right: 20px;
	z-index: 2;
	transition: .15s;
}
#pageTop::before {
	font-family: "Ionicons";
	font-size: 22px!important;
	color: rgba(255, 255, 255, 0.6);
	content: "\f10d";
	display: block;
	text-align: center;
	margin-top: 7px;
}
#pageTop:hover {
	background: #ffc3ce;
}
/* 580 */
@media (max-width: 580px) {
	#pageTop {
		width: 35px;
		height: 35px;
		bottom: 20px;
		right: 10px;
	}
	#pageTop::before {
		margin-top: 1px;
	}
}

/*--------------------------------------------------------------*/
/* footer */
/*--------------------------------------------------------------*/
footer {
	background: #F9F9DD;
	padding: 20px 0;
}
footer .content {
	position: relative;
	display:flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.footer01_mark{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width:100%;
	}

.footer01_left {
	width:50%;
}
	
.footer01_left div {
	width:200px;
	}

.footer01_right {
	width:50%;
	}

.footer01_right ul li {
	white-space:nowrap;
	text-align: left;
	margin:20px 20px 20px 0;
}


.footer02_left h2, .footer01_mark h2 {
	font-size: 22px!important;
	font-weight: normal;
	color: #1C9599;
	border: none;
	padding: 0;
	margin: 10px 0 0 0;
	}
	
.footer01_mark h2 {
	margin: 30px 0 0 0;
	
	}

h2.pc_only{
	display:block;
	}
	
	h2.sp_only{
	display:none;
	}

.footer02_projectname{
	width:100%;
	display:flex;

	}

.footer02_left {
	width:50%;
}

.footer02_right {
	display: flex;
		justify-content: flex-end;
	width:50%;
}

.footer02_right ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	padding: 0;
	}

.footer02_right ul li {
	width: 33%;
	margin:0 20px 0 0;
	}
	
.footer02_right ul li img {
	width: 40px;
	}

footer .title_nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 15px;
}


footer .title_nav h2 span.venus {
	font-size: 20px!important;
}


footer .reverse {
	width:100%;
	display: flex;
	flex-direction: column;
}

footer .reverse dl {
	display: flex;
	align-items: flex-start;
	margin-top: 10px;
	margin-bottom: 20px;
}
footer .reverse dl dt,
footer .reverse dl dd {
	font-weight: normal;
	border: none;
	padding: 0;
}

footer .reverse dl dd a {
	text-decoration:underline;
	}

footer .copy {
	position: absolute;
	bottom: 0;
	right: 20px;
	color: #555555;
	font-size: 14px!important;
}
/* 1000 */
@media (max-width: 1000px) {



footer .content {
	position: relative;
	display:flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	}

.footer01_mark{
	justify-content: space-between;
	}


.footer01_right{
	max-width: 555px;
	width: 51%;
	}
	
	.footer02_projectname{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}


.footer02_right ul {
	width: 150px;
	}
	
	.footer02_right ul li img {
	width: 30px;
	}

	footer .title_nav h2 {
		width: 100%;
		margin-bottom: 20px;
	}
	footer .title_nav ul.gnav {
		width: 100%;
		margin-bottom: 10px;
	}
	footer .title_nav ul.gnav li {
		text-align: left;
	}
	footer .reverse ul {
		order: 1;
		margin-bottom: 20px;
	}
	footer .reverse dl {
		order: 2;
		margin-bottom: 50px;
	}
}
/* 580 */
@media (max-width: 580px) {

.footer01_left {
	width:100%;
	}

.footer01_left div {
	width:200px;
	margin:0 auto;
	}
	
	.footer01_right ul{
	width:350px;
	
		display: flex;
	flex-wrap: wrap;
	
	}
	
	

.footer01_right ul li {
	width:50%;
	text-align: left;
	margin:20px 0;
	}

h2.pc_only{
	display:none;
	}
	
	h2.sp_only{
	display:block;
	text-align: center;
	}

.footer02_right {
		justify-content: center;
	width:100%;
	
	}

.footer02_right ul {
	width:60%;
	}

.footer02_right ul li {
width:33%;

	text-align: center;
	}



	footer .title_nav h2,
	footer .title_nav h2 span.venus {
		font-size: 17px!important;
	}
	footer .title_nav h2 {
		margin-bottom: 30px;
	}
	footer .title_nav ul.gnav {
		flex-wrap: wrap;
		gap: 20px 0;
	}
	footer .title_nav ul.gnav li {
		width: 50%;
	}
	footer .reverse ul {
		max-width: 250px;
		margin: 15px auto 30px auto;
		width: 100%;
		text-align: center;
	}
	footer .reverse dl {
		display: initial;
		line-height: 1.3;
		margin:20px 0 40px 0;
	}
	footer .reverse dl dt,
	footer .reverse dl dd {
		display: inline;
		font-size: 16px!important;
	}
	footer .copy {
		font-size: 11px!important;
		width: 100%;
		right: 0;
		left: 0;
		text-align: center;
	}
}

/* banner add */
.banner_area {
	background: #feffd4;
	padding: 32px 0;
	text-align: center;
}
.banner_area .banner {
	display: block;
	width: 600px;
	margin: 0 auto;
	transition: opacity 0.3s ease;
}
.banner_area .banner:hover {
	opacity: .7;
}
/* 800 */
@media (max-width: 800px) {
	.banner_area .banner {
		width: 100%;
	}
}
