@charset "utf-8";
@font-face {
	font-family: 'DIN BlackAlternate';
	src: url('/resona-ip/font/DIN_BlackAlternate.woff') format('woff');
	font-weight: 900;
}
body {
	font-family: YuGothic, '游ゴシック', sans-serif;
	-webkit-text-size-adjust: 100%;
	background-color: #fff;
	color: #333;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
}
@media screen and (max-width: 767px) {
	body {
		font-size: 14px;
	}
}
.clearfix:after {
	content: ' ';
	display: block;
	clear: both;
}
*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
img {
	max-width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
}
a {
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
}
.en {
	font-family: 'DIN BlackAlternate';
}
.font-regular {
	font-weight: 400;
}
.font-bold {
	font-weight: 700;
}
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
/* flex */
@media screen and (min-width: 1141px) {
	.d-lg-flex {
		display: -ms-flexbox;
		display: flex;
	}
}
@media screen and (min-width: 767px) {
	.d-md-flex {
		display: -ms-flexbox;
		display: flex;
	}
}
.d-flex {
	display: -ms-flexbox;
	display: flex;
}
.flex-wrap {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-column {
	flex-direction: column;
}
.row-reverse {
	flex-direction: row-reverse;
}
.align-items-center {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.align-items-end {
	-webkit-box-align: flex-end;
	-ms-flex-align: flex-end;
	align-items: flex-end;
}
.justify-content-between {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.justify-content-center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.justify-content-end {
	-webkit-box-pack: flex-end;
	-ms-flex-pack: flex-end;
	justify-content: flex-end;
}
.d-center {
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.gap-5 {
	gap: 5px;
}
.gap-10 {
	gap: 10px;
}
.gap-15 {
	gap: 15px;
}
.gap-20 {
	gap: 20px;
}
.gap-25 {
	gap: 25px;
}
.gap-30 {
	gap: 30px;
}
.gap-40 {
	gap: 40px;
}
.gap-50 {
	gap: 50px;
}
/*  */
.container {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 30px;
}
@media screen and (max-width: 767px) {
	.pc {
		display: none;
	}
	.container {
		padding: 0 15px;
	}
}
@media screen and (min-width: 768px) {
	.sp {
		display: none;
	}
}
#header {
	border-bottom: 1px solid #008756;
	background-color: #fff;
	padding: 0 30px;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 80px;
	z-index: 11;
}
.gnav {
	font-family: 'Noto Sans JP', 'Meiryo', sans-serif;
}
.gnav > ul {
	gap: 15px;
}
.gnav > ul > li > a {
	display: block;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}
.gnav > ul > li.active > a,
.gnav > ul > li.current-menu-item > a,
.gnav > ul > li > a.off {
	color: #008756;
}
.gnav > ul > li > a > span {
	display: block;
	font-size: 10px;
	font-weight: 500;
}
.submenu {
	display: none;
}
@media screen and (min-width: 1441px) {
	#header {
		padding: 0 60px;
	}
	.gnav > ul {
		gap: 30px;
	}
	.submenu {
		display: none !important;
	}
}
@media screen and (min-width: 768px) {
	.gnav a:hover {
		color: #008756;
	}
	.logo a:hover {
		opacity: 0.7;
	}
}
@media (min-width: 1080px) and (max-width: 1210px) {
	#header .logo img {
		width: 320px;
	}
}
@media screen and (max-width: 1140px) {
	/* hamburger */
	.hamburger {
		display: block;
		width: 40px;
		height: 32px;
		position: absolute;
		right: 30px;
		top: 24px;
		cursor: pointer;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		z-index: 6;
	}
	.hamburger span {
		display: block;
		position: absolute;
		height: 6px;
		width: 100%;
		background: #008756;
		opacity: 1;
		left: 0;
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
		-webkit-transition: 0.25s ease-in-out;
		-moz-transition: 0.25s ease-in-out;
		-o-transition: 0.25s ease-in-out;
		transition: 0.25s ease-in-out;
		border-radius: 6px;
	}
	.hamburger span:nth-child(1) {
		top: -1px;
	}
	.hamburger span:nth-child(2) {
		top: 13px;
	}
	.hamburger span:nth-child(3) {
		top: 26px;
	}
	.hamburger.is-open span:nth-child(1) {
		top: 13px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		-o-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.hamburger.is-open span:nth-child(2) {
		opacity: 0;
	}
	.hamburger.is-open span:nth-child(3) {
		top: 13px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		-o-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}
	.gnav {
		background-color: #fff;
		display: block;
		width: 100%;
		height: calc(100vh - 80px);
		position: fixed;
		left: 0;
		top: 80px;
		opacity: 0;
		visibility: hidden;
		transition: 0.8s;
		padding-bottom: 80px;
	}
	.menu-open .gnav {
		opacity: 1;
		visibility: visible;
	}
	.gnav > ul {
		background: url(/resona-ip/img/bgmenu.jpg) no-repeat left top / 750px auto #fff;
		min-height: 750px;
		display: flex;
		flex-direction: column;
		gap: 40px;
		padding: 50px 0 0 370px;
	}
	.gnav > ul > li:nth-child(1) {
		margin-left: -120px;
	}
	.gnav > ul > li:nth-child(2),
	.gnav > ul > li:nth-child(7) {
		margin-left: -40px;
	}
	.gnav > ul > li:nth-child(4),
	.gnav > ul > li:nth-child(5) {
		margin-left: 15px;
	}
	.gnav > ul > li > a {
		text-align: left;
		font-size: 35px;
		line-height: 1.3;
		display: flex;
		align-items: center;
	}
	.gnav > ul > li > a > span {
		font-size: 17px;
		display: inline-block;
		margin: 5px 0 0 10px;
		position: relative;
	}
	.gnav > ul > li.hasChild > a > span::before,
	.gnav > ul > li.hasChild > a > span::after {
		content: '';
		background-color: #f6ae54;
		width: 20px;
		height: 3px;
		position: absolute;
		right: -30px;
		top: 50%;
		margin-top: -1px;
	}
	.gnav > ul > li.hasChild > a:not(.off) > span::after {
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
	}
	.gnav > ul > li.hasChild {
		position: relative;
	}
	.gnav > ul > li.hasChild .jToggle {
		position: absolute;
		left: 0;
		top: 0;
		height: 28px;
		width: 100%;
	}
	.submenu li {
		margin: 3px 0 0 40px;
	}
	.submenu a {
		color: #008756;
		display: block;
		font-size: 30px;
		font-weight: bold;
		position: relative;
		padding: 0 0 0 15px;
	}
	.submenu a::before {
		content: '・';
		position: absolute;
		left: -15px;
		top: 0;
	}
	.submenu a:hover,
	.submenu li.active a,
	.submenu li.current-menu-item a {
		color: #f6ae54;
	}
}
@media screen and (max-width: 767px) {
	#header {
		padding: 0 15px;
		height: 50px;
	}
	#header .logo img {
		width: 235px;
	}
	.hamburger {
		width: 28px;
		height: 16px;
		right: 15px;
		top: 17px;
	}
	.hamburger::after {
		content: '';
		width: 50px;
		height: 50px;
		position: absolute;
		right: -12px;
		top: -17px;
	}
	.hamburger span {
		height: 3px;
		border-radius: 3px;
	}
	.hamburger span:nth-child(2) {
		top: 6px;
	}
	.hamburger span:nth-child(3) {
		top: 13px;
	}
	.hamburger.is-open span:nth-child(1) {
		top: 6px;
	}
	.hamburger.is-open span:nth-child(3) {
		top: 6px;
	}
	.gnav {
		height: calc(100vh - 50px);
		top: 50px;
	}
	.gnav > ul {
		background-size: 375px auto;
		gap: 21px;
		min-height: 375px;
		padding: 25px 0 0 185px;
	}
	.gnav > ul > li:nth-child(1) {
		margin-left: -60px;
	}
	.gnav > ul > li:nth-child(2),
	.gnav > ul > li:nth-child(7) {
		margin-left: -20px;
	}
	.gnav > ul > li:nth-child(4),
	.gnav > ul > li:nth-child(5) {
		margin-left: 8px;
	}
	.gnav > ul > li > a {
		font-size: 17px;
	}
	.gnav > ul > li > a > span {
		font-size: 10px;
		margin: 0 0 0 5px;
	}

	.gnav > ul > li.hasChild > a > span::before,
	.gnav > ul > li.hasChild > a > span::after {
		width: 10px;
		height: 2px;
		right: -15px;
	}
	.gnav > ul > li.hasChild .jToggle {
		height: 14px;
	}
	.submenu {
		padding: 5px 0 0;
	}
	.submenu li {
		margin: 3px 0 0 20px;
	}
	.submenu a {
		font-size: 15px;
		padding: 0 0 0 8px;
	}
	.submenu a::before {
		left: -8px;
	}
}
#main {
	padding: 80px 0 0;
	overflow-x: hidden;
}
.bgm {
	background: url(/resona-ip/img/bgm.jpg) no-repeat center 630px;
}
@media screen and (min-width: 1461px) {
	.bgm {
		background-size: 100% auto;
	}
}
#mainvisual {
	box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
	background: url(/resona-ip/img/bg.jpg) no-repeat center #fff;
	height: 630px;
	position: relative;
	overflow: hidden;
}
.anim {
	position: absolute;
	z-index: 1;
}
.anim svg {
	width: 100%;
	height: auto;
}
.anim1 {
	width: 146px;
	height: 146px;
	left: 60px;
	top: 35px;
}
.anim2 {
	width: 52px;
	height: 52px;
	background: url(/resona-ip/img/anim2.png) no-repeat center;
	left: calc(50% - 104px);
	top: 94px;
}
.anim3_1 {
	width: 26px;
	height: 26px;
	background: url(/resona-ip/img/anim3_1.png) no-repeat center;
	left: 56px;
	bottom: 80px;
}
.anim3_2 {
	width: 42px;
	height: 42px;
	background: url(/resona-ip/img/anim3_2.png) no-repeat center;
	left: 115px;
	bottom: 32px;
}
.anim4 {
	width: 176px;
	height: 176px;
	/* background: url(/resona-ip/img/anim4.png) no-repeat center; */
	left: 15.2vw;
	bottom: 68px;
}
.anim5 {
	width: 156px;
	height: 156px;
	/* background: url(/resona-ip/img/anim5.png) no-repeat center; */
	left: calc(50% - 16px);
	bottom: 100px;
}
.anim6 {
	width: 107px;
	height: 85px;
	background: url(/resona-ip/img/anim6.png) no-repeat center;
	left: calc(50% - 185px);
	bottom: 126px;
}
.anim7_1 {
	width: 57px;
	height: 57px;
	background: url(/resona-ip/img/anim7_1.png) no-repeat center;
	right: 73px;
	top: 240px;
}
.anim7_2 {
	width: 25px;
	height: 22px;
	background: url(/resona-ip/img/anim7_2.png) no-repeat center;
	right: 60px;
	top: 285px;
}
.animation__updown {
	animation: updown 3s ease-in-out 0s infinite;
}
.animation__spin {
	animation: spin 15s linear 0s infinite;
}
.animation__updown_spin {
	animation: updownSpin 10s linear 0s infinite;
}
.animation__wobbling {
	animation: wobbling_x 0.7s ease-in-out infinite alternate, wobbling_y 1.5s ease-in-out infinite alternate;
}
.animation__shake {
	animation: shake 4s linear infinite alternate;
}
@keyframes spin {
	0% {
		transform: rotate(0);
	}
	100% {
		transform: rotate(360deg);
	}
}
@keyframes updown {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-20px);
	}
	100% {
		transform: translateY(0);
	}
}
@keyframes updownSpin {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(-20px) rotate(360deg);
	}
	100% {
		transform: translateY(0) rotate(0deg);
	}
}
@keyframes wobbling_x {
	0% {
		margin-left: 8px;
	}
	100% {
		margin-left: 0px;
	}
}
@keyframes wobbling_y {
	0% {
		margin-top: 0px;
	}
	100% {
		margin-top: 8px;
	}
}
@keyframes shake {
	0% {
		-webkit-transform: rotate(15deg);
		transform: rotate(15deg);
	}
	25% {
		-webkit-transform: rotate(-15deg);
		transform: rotate(-15deg);
	}
	50% {
		-webkit-transform: rotate(15deg);
		transform: rotate(15deg);
	}
	75% {
		-webkit-transform: rotate(-15deg);
		transform: rotate(-15deg);
	}
	100% {
		-webkit-transform: rotate(15deg);
		transform: rotate(15deg);
	}
}
.blob {
	width: 1000px;
	height: 1260px;
	position: absolute;
	left: 0;
	top: 0;
	transform: translate(-50%, -25%);
	z-index: 1;
}
.blob svg {
	width: 100%;
	height: auto;
	position: absolute;
	left: 0;
	top: 0;
}
@media screen and (min-width: 1441px) {
	.blob {
		width: 1260px;
	}
	#mainvisual {
		background-position: right center;
	}
}
#mainvisual .container {
	height: 100%;
}
#mainvisual h1 {
	font-size: 70px;
	line-height: 1.3;
	letter-spacing: 0.03em;
	position: relative;
	z-index: 5;
	margin: 0 0 30px;
}
#mainvisual h1 span {
	color: #008756;
	display: block;
}
/* .scrolldown {
	position: absolute;
	bottom: 30px;
	left: 50%;
}
.scrolldown:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: -4px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #f6ae54;
	animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}
.scrolldown:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 2px;
	height: 50px;
	background: #f6ae54;
}
.scrolldown span {
	position: absolute;
	left: 10px;
	bottom: 10px;
	color: #f6ae54;
	font-size: 13px;
	font-weight: bold;
	line-height: 1;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}
@keyframes circlemove {
	0% {
		bottom: 45px;
	}
	100% {
		bottom: -5px;
	}
}
@keyframes cirlemovehide {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	80% {
		opacity: 0.9;
	}
	100% {
		opacity: 0;
	}
} */
@media screen and (max-width: 960px) {
	#mainvisual h1 {
		font-size: 60px;
	}
	.anim1 {
		left: 30px;
	}
	.anim2 {
		left: calc(50% - 52px);
	}
	.anim3_1 {
		left: 28px;
	}
	.anim3_2 {
		left: 80px;
	}
	.anim4 {
		left: 25vw;
	}
	.anim5,
	.anim6,
	.anim7_1,
	.anim7_2 {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	#main {
		padding: 50px 0 0;
	}
	.bgm {
		background: url(/resona-ip/img/bgm2x.jpg) no-repeat center 100vw / 100% auto;
	}
	#mainvisual {
		background: url(/resona-ip/img/bg2x.jpg) no-repeat center / cover #fff;
		height: 100vw;
	}
	.blob {
		width: 600px;
		height: 600px;
		transform: translate(-60%, -20%);
	}
	#mainvisual h1 {
		font-size: 29px;
		line-height: 1.2;
		letter-spacing: 0.03em;
		margin: 0;
	}
	.scrolldown {
		left: inherit;
		right: 40px;
		bottom: 15px;
	}
	.anim1 {
		width: 86px;
		height: 86px;
		/* background: url(/resona-ip/img/anim1_2x.png) no-repeat center / cover; */
		left: 10vw;
		top: 30px;
	}
	.anim2 {
		width: 22px;
		height: 22px;
		background: url(/resona-ip/img/anim2_2x.png) no-repeat center / cover;
		left: inherit;
		right: 16.67vw;
		top: 80px;
	}
	.anim3_1 {
		width: 11px;
		height: 11px;
		background: url(/resona-ip/img/anim3_1_2x.png) no-repeat center / cover;
		left: 14.67vw;
		bottom: 55px;
	}
	.anim3_2 {
		width: 18px;
		height: 18px;
		background: url(/resona-ip/img/anim3_2_2x.png) no-repeat center / cover;
		left: 21vw;
		bottom: 35px;
	}
	.anim4 {
		width: 70px;
		height: 70px;
		/* background: url(/resona-ip/img/anim4_2x.png) no-repeat center / cover; */
		left: 33.33vw;
		bottom: 46px;
	}
}
.title {
	background: url(/resona-ip/img/line.png) no-repeat center bottom;
	font-size: 50px;
	font-weight: bold;
	line-height: 1.3;
	/* letter-spacing: 0.05em; */
	padding: 0 0 25px;
	margin: 0 0 60px;
}
.title span {
	display: inline-block;
	text-align: left;
}
.title small {
	font-family: '游明朝体', 'Yu Mincho', YuMincho, serif;
	font-size: 18px;
	display: block;
	color: #008756;
}
.btn {
	display: block;
	border-radius: 30px;
	/* background: linear-gradient(to right, #3eae58, #1ea662); */
	background-color: #008756;
	width: 400px;
	height: 60px;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.1em;
	padding: 3px;
}
.btn span {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 30px;
	background: url(/resona-ip/img/arrow.png) no-repeat right 38px center #fff;
	color: #008756;
	height: 54px;
	transition: 0.3s;
}
.btn.on span {
	background-color: transparent;
	background-image: url(/resona-ip/img/arrow_on.png);
	background-repeat: no-repeat;
	background-position: right 38px center;
	color: #fff;
}
.btn2 {
	background: url(/resona-ip/img/arrow_on.png) no-repeat right 38px center;
	border: 2px solid #fff;
	border-radius: 30px;
	width: 400px;
	height: 60px;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.pagetop {
	position: fixed;
	right: 10px;
	bottom: 10px;
	display: none;
}
.pagetop a {
	border-radius: 6px;
	background-color: #008756;
	width: 50px;
	height: 50px;
}
.js-fade {
	opacity: 0;
	transform: translate(0, 90px);
	-webkit-transform: translate(0, 90px);
	-webkit-transition: 0.4s;
	transition: 0.4s;
}
.js-fadeL {
	opacity: 0;
	transform: translate(-90px, 0);
	-webkit-transform: translate(-90px, 0);
	-webkit-transition: 0.4s;
	transition: 0.4s;
}
.js-fadeR {
	opacity: 0;
	transform: translate(90px, 0);
	-webkit-transform: translate(90px, 0);
	-webkit-transition: 0.4s;
	transition: 0.4s;
}
.is-inview {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}
@media screen and (min-width: 1000px) {
	.delay1 {
		transition-delay: 0.2s;
		-webkit-transition-delay: 0.2s;
	}
	.delay2 {
		transition-delay: 0.4s;
		-webkit-transition-delay: 0.4s;
	}
}
@media screen and (min-width: 768px) {
	.pagetop a:hover {
		opacity: 0.7;
	}
	.btn:not(.on):hover span {
		background-color: transparent;
		background-image: url(/resona-ip/img/arrow_on.png);
		background-repeat: no-repeat;
		background-position: right 20px center;
		color: #fff;
	}
	.btn.on:hover span {
		background: url(/resona-ip/img/arrow.png) no-repeat right 20px center #fff;
		color: #008756;
	}
	.btn2:hover {
		background-color: #fff;
		background-image: url(/resona-ip/img/arrow.png);
		background-repeat: no-repeat;
		background-position: right 20px center;
		color: #008756;
	}
}
@media screen and (max-width: 767px) {
	.title {
		background: url(/resona-ip/img/line2x.png) no-repeat center bottom / 26px 6px;
		font-size: 20px;
		padding: 0 0 15px;
		margin: 0 0 40px;
	}
	#about .title {
		font-size: 20px;
	}
	.title small {
		font-size: 9px;
	}
	.btn {
		display: block;
		border-radius: 23px;
		width: 312px;
		height: 46px;
		font-size: 16px;
		padding: 2px;
		margin: 0 auto;
	}
	.btn span {
		border-radius: 21px;
		background: url(/resona-ip/img/arrow_2x.png) no-repeat right 20px center / 32px 9px #fff;
		color: #008756;
		height: 42px;
	}
	.btn.on span {
		background-image: url(/resona-ip/img/arrow_on_2x.png);
		background-repeat: no-repeat;
		background-position: right 20px center;
		background-size: 32px 9px;
	}
	.btn2 {
		background: url(/resona-ip/img/arrow_on_2x.png) no-repeat right 20px center / 32px 9px;
		border: 2px solid #fff;
		border-radius: 23px;
		width: 312px;
		height: 46px;
		font-size: 16px;
	}
	.pagetop {
		right: 6px;
		bottom: 52px;
	}
	.pagetop a {
		border-radius: 5px;
		width: 50px;
		height: 50px;
	}
	.pagetop a img {
		width: 11px;
		height: 22px;
	}
	.js-fade,
	.js-fadeL,
	.js-fadeR {
		transform: translate(0, 40px);
		-webkit-transform: translate(0, 40px);
	}
	.is-inview {
		opacity: 1;
		transform: translate(0, 0);
		-webkit-transform: translate(0, 0);
	}
}
/*  */
#about {
	padding: 110px 0 140px;
}
.photo-group {
	width: 500px;
	position: relative;
}
.photo-group .photo:last-child {
	position: absolute;
	right: 0;
	top: 150px;
}
.photo-group .photo:first-child {
	position: relative;
	z-index: 2;
}
.photo-group img {
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
	border-radius: 20px;
}
.about-text p {
	margin: 0 0 110px;
}
@media screen and (min-width: 1141px) {
	.photo-group {
		width: 46.3%;
	}
	.about-text {
		width: 53.7%;
		padding: 19px 0 0;
	}
}
@media screen and (max-width: 1140px) {
	.photo-group {
		min-height: 300px;
		margin: 0 auto 30px;
	}
	.about-text p {
		font-weight: bold;
		margin: 0 0 50px;
	}
	.about-text p br {
		display: none;
	}
	.about-text .btn {
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	#about {
		padding: 60px 0;
	}
	.photo-group {
		width: 100%;
		max-width: 320px;
		min-height: 195px;
	}
	.photo-group .photo:last-child {
		top: 75px;
	}
	.photo-group .photo img {
		border-radius: 10px;
		width: 195px;
	}
	.photo-group .photo:last-child img {
		width: 170px;
	}
}
/*  */
.banner {
	position: relative;
	text-align: center;
	font-weight: bold;
}
.banner-item {
	height: 380px;
	filter: drop-shadow(0px 5px 20px rgba(0, 0, 0, 0.3));
}
.banner-wrap {
	background: url(/resona-ip/img/img3.jpg) no-repeat center / cover;
	clip-path: polygon(0 0, 85.5% 0, 100% 100%, 0% 100%);
	height: 100%;
	width: 100%;
	color: #fff;
	position: relative;
	padding: 0 60px 0 0;
}
.banner-wrap::before {
	content: '';
	width: 100%;
	height: 100%;
	background-color: rgba(66, 66, 66, 0.7);
	position: absolute;
	left: 0;
	top: 0;
}
.banner-wrap.records {
	background: url(/resona-ip/img/img4.jpg) no-repeat center / cover;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 14.5% 100%);
	padding: 0 0 0 60px;
}
.banner-text {
	position: relative;
	z-index: 3;
}
.banner-item h2 {
	font-size: 50px;
	line-height: 1.3;
	margin: 0 0 20px;
}
.banner-item h2 span {
	position: relative;
}
.banner-item h2 small {
	font-family: '游明朝体', 'Yu Mincho', YuMincho, serif;
	font-size: 18px;
	display: block;
	text-align: left;
	position: absolute;
	left: 0;
	bottom: 100%;
}
.banner-item p {
	margin: 0 0 55px;
}
@media screen and (min-width: 1141px) {
	.banner-item {
		width: 52.78%;
	}
	.banner-item:last-child {
		position: absolute;
		right: 0;
		top: 50px;
	}
}
@media screen and (max-width: 1140px) {
	.banner {
		padding: 0 30px;
	}
	.banner-item:not(:last-child) {
		margin: 0 0 30px;
	}
	.banner-wrap,
	.banner-wrap.records {
		clip-path: none;
		padding: 0;
	}
}
@media screen and (max-width: 767px) {
	.banner {
		padding: 0 15px;
	}
	.banner-text {
		padding: 10px 0 0;
	}
	.banner-item {
		height: 190px;
		filter: none;
		box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
	}
	.banner-item:not(:last-child) {
		margin: 0 0 10px;
	}
	.banner-wrap,
	.banner-wrap.records {
		clip-path: none;
		padding: 0;
	}
	.banner-item h2 {
		font-size: 25px;
		margin: 0 0 10px;
	}
	.banner-item h2 small {
		font-size: 9px;
	}
	.banner-item p {
		margin: 0 0 20px;
	}
}
/*  */
#news {
	padding: 168px 0 120px;
}
.news-list {
	margin: 0 0 65px;
}
.news-list dl {
	border-bottom: 1px solid #008756;
	padding: 24px 0;
	font-weight: bold;
}
.news-list dl:last-child {
	border: none;
}
.news-list dt {
	width: 140px;
	padding: 0 0 0 7px;
	color: #008756;
}
.news-list dd {
	width: calc(100% - 140px);
	display: flex;
	align-items: center;
}
.news-list .is-pdf::after {
	content: '';
	width: 25px;
	height: 27px;
	background: url(/resona-ip/img/pdf.svg) no-repeat center / contain;
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 25px;
}
@media screen and (min-width: 1141px) {
	.news-title {
		width: 275px;
		margin: 0;
	}
	.news-title h2 {
		display: inline-block;
		margin: 0;
	}
	.news-cont {
		width: calc(100% - 275px);
	}
	.news-cont .btn {
		margin-left: 60px;
	}
}
@media screen and (min-width: 768px) {
	.news-list dd a:hover {
		color: #008756;
		font-weight: bold;
		text-decoration: none;
	}
}
@media screen and (max-width: 1140px) {
	.news-title {
		text-align: center;
	}
	.news-cont .btn {
		margin: auto;
	}
}
@media screen and (max-width: 767px) {
	#news {
		background: url(/resona-ip/img/bgnews.png) no-repeat center top / 100% auto;
		padding: 60px 0;
	}
	#news .title {
		margin-bottom: 20px;
	}
	.news-list {
		margin: 0 0 30px;
		font-size: 14px;
		font-weight: bold;
	}
	.news-list dl {
		padding: 15px 0;
	}
	.news-list dt {
		width: 100px;
		padding: 0 0 0 5px;
	}
	.news-list dd {
		width: calc(100% - 100px);
	}
	.news-list .is-pdf::after {
		width: 17px;
		height: 17px;
		margin: 0 0 0 10px;
	}
}
#footer {
	font-family: 'Noto Sans JP', 'Meiryo', sans-serif;
	font-size: 13px;
	font-weight: 500;
}
.sitemap {
	/* background: url(/resona-ip/img/bgs.jpg) no-repeat center / cover; */
	background-color: #008756;
	color: #fff;
	padding: 54px 0;
	font-size: 16px;
}
.sitemap .col {
	flex: 1;
}
.sitemap h5 {
	font-size: 15px;
	font-weight: bold;
	border-bottom: 1px solid #fff;
	padding: 0 0 5px;
	margin: 0 0 15px;
	max-width: 100px;
}
.sitemap li {
	font-size: 13px;
	margin: 10px 0 0;
	padding: 0 0 0 10px;
	position: relative;
}
.sitemap li::before {
	content: '・';
	position: absolute;
	left: -5px;
	top: 0;
}
.fnav {
	background-color: #f7f7f7;
	padding: 40px 0;
	letter-spacing: 0.02em;
}
.fnav .container {
	max-width: 1200px;
}
.fnav li:not(:last-child)::after {
	content: ' ｜ ';
	display: inline-block;
	margin: 0 5px;
}
.fnav a {
	color: #656565;
	font-weight: 500;
}
@media screen and (min-width: 768px) {
	.sitemap a:hover,
	.fnav a:hover {
		text-decoration: underline;
	}
	.sitemap h5 a:hover {
		text-decoration: none;
		opacity: 0.7;
	}
}
@media screen and (max-width: 1140px) {
	.sitemap {
		padding: 34px 0;
	}
	.sitemap-list {
		flex-wrap: wrap;
		gap: 0;
	}
	.sitemap .col {
		flex: none;
		margin: 10px 0;
	}
	.fnav li {
		margin: 5px 0;
	}
}
@media screen and (max-width: 767px) {
	#footer {
		font-size: 14px;
	}
	.fnav {
		padding: 15px;
	}
	.fnav li {
		margin: 0 0 13px;
	}
	.fnav li:last-child {
		margin-bottom: 0;
	}
	.fnav li:not(:last-child)::after {
		display: none;
	}
	.fnav a {
		display: block;
		font-size: 12px;
		line-height: 1;
	}
	.purpose img {
		width: 240px;
	}
}
.fgroup2 {
	padding: 0 20px 23px;
	background-color: #fff;
}
.fgroup2 a,
.fgroup2 li {
	line-height: 0;
}
.fgroup2 .container {
	max-width: 1320px;
	padding: 0;
}
.resonaGroupInfo {
	margin: 0;
	padding: 25px 0 23px;
	background-color: #fff;
}
.resonaGroupInfo dl,
.resonaGroupInfo dt,
.resonaGroupInfo dd,
.resonaGroupInfo dd ul,
.resonaGroupInfo dd ul * {
	display: inline-block;
	vertical-align: top;
}
.resonaGroupInfo dt {
	width: 254px;
	margin-right: 10px;
}
.resonaGroupInfo dd {
	margin-top: 11px;
}
.resonaGroupInfo .resonaGroup dd {
	width: 226px;
}
.resonaGroupInfo dd.kmfgGroup {
	width: 226px;
}
.resonaGroupInfo dd.reGroup {
	margin-top: 10px;
	width: 252px;
}
.resonaGroupInfo dd ul li {
	margin-left: 17px;
}
.resonaGroupInfo dd ul .footerLogoResona,
.resonaGroupInfo dd ul .footerLogoResona a,
.resonaGroupInfo dd ul .footerLogoResona a img {
	width: 77px;
}
.resonaGroupInfo dd ul .footerLogoSaitama,
.resonaGroupInfo dd ul .footerLogoSaitama a,
.resonaGroupInfo dd ul .footerLogoSaitama a img {
	width: 109px;
}
.resonaGroupInfo dd ul .footerLogoKansaimirai,
.resonaGroupInfo dd ul .footerLogoKansaimirai a {
	position: relative;
	bottom: -0.5px;
}
.resonaGroupInfo dd ul .footerLogoKansaimirai,
.resonaGroupInfo dd ul .footerLogoKansaimirai a,
.resonaGroupInfo dd ul .footerLogoKansaimirai a img {
	width: 106px;
}
.resonaGroupInfo dd ul .footerLogoMinato,
.resonaGroupInfo dd ul .footerLogoMinato a,
.resonaGroupInfo dd ul .footerLogoMinato a img {
	width: 82px;
}
.resonaGroupInfo .reGroup ul .footerLogo a img {
	width: 212px;
	height: 15px;
	position: relative;
	top: 2px;
}
.logoGroup {
	text-align: right;
	font-size: 0;
}
.logoGroup img {
	width: 280px;
}
@media (min-width: 768px) {
	.resonaGroupInfo .pc {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.copyright {
		font-size: 10px;
		color: #008756;
		line-height: 1.2;
		margin: 0;
	}
}
@media (max-width: 767px) {
	.fgroup2 {
		padding-bottom: 28px;
	}
	.fgroup3 {
		background-color: #008756;
	}
	.copyright {
		color: #fff;
		padding: 16px 0;
		text-align: center;
		font-size: 9px;
	}
	.resonaGroupInfo {
		padding: 25px 0 0 0;
		display: block;
		text-align: center;
		background-color: #fff;
	}
	.resonaGroupInfo dl {
		display: block;
	}
	.resonaGroupInfo dd.kmfgGroup {
		margin: 10px 0;
	}
	.resonaGroupInfo dt {
		padding: 0;
		text-align: center;
		margin: 0;
	}
	.resonaGroupInfo dt a img {
		height: 28px;
	}
	.resonaGroupInfo dt a img.svgGroup {
		width: auto;
		height: 30px;
	}
	.resonaGroupInfo dd {
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
	}
	.resonaGroupInfo .resonaGroup dt {
		padding-right: 0;
	}
	.resonaGroupInfo .resonaGroup dd,
	.resonaGroupInfo dd.kmfgGroup {
		width: auto;
		margin-top: 5px;
	}
	.resonaGroupInfo dd ul {
		-webkit-justify-content: center;
		justify-content: center;
	}
	.resonaGroupInfo dd ul li {
		margin: 3px 6px;
	}
	.resonaGroupInfo dd ul li a img {
		height: 20px;
		vertical-align: middle;
		display: inline-block;
	}
	.logoGroup {
		margin-top: 32px;
		text-align: center;
	}
	.logoGroup img {
		width: 239px;
	}
	.resonaGroupInfo .reGroup ul .footerLogo a {
		background: url(/resona-ip/img/logo02_2x.png) no-repeat center / 204px 14px;
	}
	.resonaGroupInfo .reGroup ul .footerLogo a img {
		opacity: 0;
	}
}

.page-contents {
	background: url(/resona-ip/img/bgtop.png) no-repeat right top, url(/resona-ip/img/bgbottom.png) no-repeat left bottom;
	padding-bottom: 120px;
	font-size: 18px;
}
@media (min-width: 768px) {
	.page-contents.is-profile {
		background: url(/resona-ip/img/bgtop.png) no-repeat right top, url(/resona-ip/img/bgbottom2.png) no-repeat center 1045px;
	}
}
.subvisual {
	box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
	background: url(/resona-ip/img/visual.jpg) no-repeat center / cover;
	color: #fff;
	height: 320px;
	line-height: 1.3;
	font-weight: bold;
	padding: 75px 0 0;
	font-family: 'Noto Sans JP', 'Meiryo', sans-serif;
}
.subvisual h1 {
	font-size: 43px;
	margin: 0 0 10px;
}
/*  */
.breadcrumb {
	background: #fff;
	font-size: 13px;
	font-weight: 600;
	color: #333;
	padding: 25px 0;
	margin: 0 0 75px;
}
.breadcrumb span {
	margin-left: 10px;
}
/*  */
.news .news-list dl:first-child {
	padding-top: 0;
}
.loadmore .btn {
	position: relative;
}
.loadmore .btn span {
	background-image: none !important;
}
.loadmore .btn::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13px 7px 0 7px;
	border-color: #008756 transparent transparent transparent;
	position: absolute;
	top: 50%;
	right: 60px;
	transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
	.news .news-list dl dt {
		font-size: 18px;
		line-height: 32px;
	}
	.loadmore .btn:hover:after {
		border-color: #fff transparent transparent transparent;
	}
	.breadcrumb a:hover {
		color: #008756;
		text-decoration: underline;
	}
}
@media screen and (max-width: 767px) {
	.page-contents {
		background: url(/resona-ip/img/bgtop2x.png) no-repeat right top / 161px 136px, url(/resona-ip/img/bgbottom2x.png) no-repeat left bottom / 113px 60px;
		padding-bottom: 60px;
		font-size: 16px;
	}
	.page-contents .container {
		/* padding: 0 30px; */
	}
	.subvisual {
		background: url(/resona-ip/img/visual2x.jpg) no-repeat center / cover;
		height: 160px;
		font-size: 13px;
		line-height: 1.7;
		padding: 20px 0 0;
	}
	.subvisual h1 {
		font-size: 27px;
		margin: 0;
	}
	/*  */
	.breadcrumb {
		background: #fff;
		font-size: 12px;
		padding: 10px 0;
		margin: 0 0 30px;
	}
	.breadcrumb ul {
		gap: 5px;
	}
	.breadcrumb span {
		margin-left: 5px;
	}
	/*  */
	.news .news-list dl:first-child {
		padding-top: 0;
	}
	.loadmore .btn::after {
		border-width: 9px 5px 0 5px;
		right: 25px;
	}
}
.post_date {
	color: #008756;
	font-size: 20px;
	font-weight: bold;
	margin: 0 0 5px;
}
.post_title {
	border-bottom: 3px solid #008756;
	font-weight: bold;
	padding: 0 0 10px;
	margin: 0 0 20px;
	font-size: 32px;
	line-height: 1.3;
}
@media screen and (min-width: 768px) {
	.wp--editor {
		padding: 0 30px;
	}
}
@media screen and (max-width: 767px) {
	.post_date {
		font-size: 13px;
	}
	.post_title {
		border-bottom-width: 2px;
		font-size: 20px;
	}
}
/* styles for editor */
.alignleft {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}
.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
/* wp--editor */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}
.wp-caption img[class*='wp-image-'] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}
.wp-caption-text {
	text-align: center;
}
.wp--editor p:not(:last-child) {
	margin-bottom: 30px;
}
.wp--editor ul {
	list-style-type: disc;
	padding-left: 20px;
	margin-left: 15px;
}
.wp--editor ol {
	list-style-type: number;
	padding-left: 20px;
	margin-left: 15px;
}
.wp--editor ul:not(:last-child) {
	margin-bottom: 35px;
}
.wp--editor table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 35px;
	border-top: 1px solid #dfdfdf;
}
.wp--editor table th {
	background-color: #f2f2f2;
	font-weight: 700;
	border-bottom: 1px solid #dfdfdf;
	padding: 27px 20px;
	text-align: left;
	vertical-align: middle;
}
.wp--editor table thead th:not(:last-child) {
	border-right: 1px solid #dfdfdf;
}
.wp--editor table td {
	border-right: 1px solid #dfdfdf;
	border-bottom: 1px solid #dfdfdf;
	padding: 27px 20px;
}
.wp--editor table td:last-child {
	border-right: none;
}
.wp--editor .table__scroll table {
	margin-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
	.wp--editor p:not(:last-child) {
		margin-bottom: 20px;
	}
	.wp--editor ul {
		margin-left: 0;
	}
	.wp--editor table:not(.is--scroll-sp) colgroup col {
		width: 100% !important;
	}
	.wp--editor table th,
	.wp--editor table td {
		padding: 15px 25px;
	}
}
.contact-box {
	background-color: rgba(7, 162, 108, 0.1);
	padding: 40px 20px 30px;
}
.contact-label {
	background-color: #008756;
	color: #fff;
	width: 200px;
	height: 50px;
	margin: 0 auto;
}
.contact-email {
	font-size: 45px;
	padding: 25px 0;
}
.contact-email a {
	background: url(/resona-ip/img/contact/post.png) no-repeat left center;
	display: inline-block;
	padding: 14px 0 14px 88px;
}
@media screen and (max-width: 767px) {
	.contact-box {
		padding: 20px 10px 15px;
		line-height: 1.25;
	}
	.contact-label {
		width: 100px;
		height: 25px;
	}
	.contact-email {
		font-size: 20px;
		padding: 15px 0;
	}
	.contact-email a {
		background-size: 29px 41px;
		background-position: center top;
		padding: 52px 0 0;
	}
}
.page-contents h2 {
	font-size: 26px;
	font-weight: bold;
}
.page-contents h3 {
	font-size: 22px;
	font-weight: bold;
}
.page-contents h4 {
	font-size: 18px;
	font-weight: bold;
	margin: 0 0 5px;
}
.policy-box {
	background-color: rgba(7, 162, 108, 0.1);
	margin: 50px 0 0;
	padding: 30px;
}
.indent li {
	text-indent: -16px;
	padding: 0 0 0 16px;
}
.indent2 li {
	text-indent: -34px;
	padding: 0 0 0 34px;
	margin: 30px 0 0;
}
.indent3 li {
	text-indent: -22px;
	padding: 0 0 0 22px;
	margin: 30px 0 0;
}
p.indent {
	text-indent: -18px;
	padding: 0 0 0 16px;
}
.policy p:not(:last-child),
.policy-box ul,
.policy-group {
	margin-bottom: 30px;
}
.green {
	color: #008756;
}
.policy-inner {
	padding: 0 30px 0 35px;
}
.pl35 {
	padding-left: 35px;
}
.note-box {
	border: 2px dashed #939393;
	padding: 30px;
	margin: 0 0 30px;
}
@media screen and (max-width: 767px) {
	.pl35 {
		padding-left: 25px;
	}
	.page-contents h2 {
		font-size: 19px;
	}
	.page-contents h3 {
		font-size: 17px;
	}
	.page-contents h4 {
		font-size: 16px;
		margin: 0 0 15px;
	}
	/* .page-contents h4 {
		font-size: 12px;
	} */
	/* .spec {
		position: relative;
		padding: 0 0 0 15px;
	}
	.spec span {
		position: absolute;
		left: 0;
	} */
	.policy-box {
		margin: 20px 0 0;
		padding: 15px;
	}
	.policy-box p {
		font-size: 16px;
	}
	.indent li {
		/* text-indent: -10px;
		padding: 0 0 0 10px; */
	}
	/* .indent2 li {
		text-indent: -22px;
		padding: 0 0 0 22px;
		margin: 20px 0 0;
	}
	.indent3 li {
		text-indent: -16px;
		padding: 0 0 0 16px;
		margin: 20px 0 0;
	} */
	/* p.indent {
		text-indent: -12px;
		padding: 0 0 0 8px;
	} */
	/* .policy p:not(:last-child),
	.policy-box ul,
	.policy-group {
		margin-bottom: 20px;
	} */
	/* .policy-inner {
		padding: 0 0 0 15px;
	}
	.pl30 {
		padding-left: 15px;
	} */
	.policy-inner {
		padding: 0 0 0 25px;
	}
	.note-box {
		border-width: 1px;
		padding: 15px;
		margin: 0 0 15px;
	}
}
.policy-inner .tb {
	margin: 0 -30px 0 0;
}
.tb table {
	background-color: #fff;
	width: 100%;
}
.tb th,
.tb td {
	border: 2px solid #008756;
	padding: 20px 30px;
}
.tb th {
	text-align: center;
	vertical-align: middle;
	padding: 20px 15px;
}
.tb thead th {
	background-color: #008756;
	color: #fff;
	padding-top: 7px;
	padding-bottom: 7px;
}
.tb tbody th {
	background-color: #e7f2e9;
	/* color: #008756; */
	width: 240px;
}
@media screen and (max-width: 767px) {
	.policy-inner .tb {
		margin: 0 0 0 -30px;
	}
	.tb {
		font-size: 12px;
	}
	.tb th,
	.tb td {
		padding: 10px;
	}
	.tb thead th {
		padding-top: 3px;
		padding-bottom: 3px;
	}
	.tb tbody th {
		width: 80px;
		padding-left: 0;
		padding-right: 0;
	}
	.tb td {
		font-size: 13px;
	}
}
.main-mission {
	background: url(/resona-ip/img/mission/bg.png) no-repeat center top;
}
.main-mission .breadcrumb {
	background: transparent;
	padding: 15px 0;
	margin: 0;
}
.mission {
	padding: 0 0 200px;
}
.mission h1 {
	min-height: 360px;
	font-size: 36px;
	font-weight: bold;
	line-height: 1.1;
	letter-spacing: 0.1em;
	position: relative;
	padding: 30px 0 0;
}
.mission h1::after {
	content: '';
	width: 1px;
	height: 80px;
	background-color: #000;
	position: absolute;
	left: 20px;
	top: 164px;
}
.mission h1 span {
	display: inline-block;
	font-size: 18px;
	letter-spacing: 0.03em;
	padding-left: 8px;
}
.mission p {
	text-align: center;
	font-size: 2vw;
	line-height: 2.1875;
	letter-spacing: 0.03em;
	padding: 120px 0;
}
.mission .img img {
	border-radius: 10px 0 0 10px;
}
@media screen and (min-width: 768px) {
	.mission .img {
		position: relative;
	}
	.mission .img::after {
		content: '';
		display: block;
		width: 422px;
		height: 330px;
		background: url(/resona-ip/img/mission/icon.png) no-repeat center;
		position: absolute;
		left: -72px;
		bottom: -90px;
	}
	.mission .img img {
		height: 460px;
		object-fit: cover;
		object-position: right center;
	}
}
@media screen and (min-width: 768px) {
	.mission p {
		font-size: 20px;
		margin: 0 -30px;
	}
}
@media screen and (min-width: 1080px) {
	.mission p {
		font-size: 1.6vw;
		margin: 0 -3vw;
	}
}
@media screen and (min-width: 1440px) {
	.mission .img {
		margin: 0 -180px 0 -120px;
	}
}
@media screen and (max-width: 767px) {
	.main-mission {
		background: url(/resona-ip/img/mission/bg2x.png) no-repeat center top / 100% auto;
	}
	.main-mission .breadcrumb {
		padding: 15px 0;
	}
	.mission {
		padding: 0 0 60px;
	}
	.mission h1 {
		min-height: 175px;
		font-size: 25px;
		padding: 15px 0 0 15px;
	}
	.mission h1::after {
		height: 52px;
		left: 28px;
		top: 95px;
	}
	.mission h1 span {
		font-size: 14px;
		padding-left: 4px;
	}
	.mission p {
		font-size: 16px;
		line-height: 1.7;
		letter-spacing: 0.03em;
		padding: 185px 0 50px;
	}
	.mission .img img {
		border-radius: 15px 0 0 15px;
	}
}
.investment-list li {
	background-color: #fff;
	border: 2px solid #008756;
	margin: 0 0 88px;
	position: relative;
	padding: 85px 58px 53px;
}
.investment-list li:last-child {
	margin: 0;
}
.investment-list h3 {
	background-color: #008756;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 250px;
	height: 60px;
	position: absolute;
	left: -2px;
	top: -31px;
	box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
	font-size: 26px;
}
.investment-list h3::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 0 30px 30px;
	border-color: transparent transparent transparent #008756;
	position: absolute;
	left: 100%;
	top: 0;
}
.investment-list p {
	font-size: 20px;
	letter-spacing: -0.03em;
}
.inv1 {
	background-image: url(/resona-ip/img/investment/img1.png);
	background-position: right 56px center;
	background-repeat: no-repeat;
}
.inv2 {
	background-image: url(/resona-ip/img/investment/img2.png);
	background-position: right 56px center;
	background-repeat: no-repeat;
}
@media (min-width: 768px) and (max-width: 1080px) {
	.investment-list li {
		padding-right: 256px;
	}
	.investment-list p br {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.investment-list li {
		border-width: 1px;
		margin: 0 0 40px;
		padding: 110px 15px 15px;
	}
	.investment-list li:last-child {
		margin: 0;
	}
	.investment-list h3 {
		width: 180px;
		height: 50px;
		left: -1px;
		top: -25px;
		font-size: 20px;
	}
	.investment-list h3::after {
		border-width: 25px 0 25px 25px;
	}
	.investment-list p {
		/* text-align: center; */
		font-size: 16px;
		letter-spacing: 0;
	}
	.inv1 {
		background-image: url(/resona-ip/img/investment/img1_2x.png);
		background-position: center 40px;
		background-repeat: no-repeat;
		background-size: 65px 54px;
	}
	.inv2 {
		background-image: url(/resona-ip/img/investment/img2_2x.png);
		background-position: center 40px;
		background-repeat: no-repeat;
		background-size: 50px 64px;
	}
}
.wrapper {
	background-image: linear-gradient(to bottom, #fff, #eeeeef);
}
.member-list li {
	display: flex;
	justify-content: space-between;
	margin: 0 0 120px;
	font-size: 20px;
	line-height: 1.6;
}
.member-list li:nth-child(2n) {
	flex-direction: row-reverse;
}
.member-list li:last-child {
	margin: 0;
}
.member-list .photo {
	width: 250px;
	position: relative;
}
.member-list .photo::before {
	content: '';
	width: 216px;
	height: 216px;
	background: url(/resona-ip/img/member/shadow1.png) no-repeat center;
	position: absolute;
	left: -120px;
	bottom: -48px;
}
.member-list li:nth-child(2n) .photo::before {
	background: url(/resona-ip/img/member/shadow1.png) no-repeat center;
	left: inherit;
	bottom: inherit;
	right: -58px;
	top: -65px;
}
.member-list .photo img {
	position: relative;
	z-index: 2;
}
.info dl {
	border-bottom: 1px solid #008756;
	margin: 0 0 10px;
	font-weight: bold;
}
.info dt {
	width: 150px;
	text-align: center;
	padding: 4px 0 3px;
	position: relative;
	color: #fff;
}
.info dt::before {
	content: '';
	width: 94%;
	height: 100%;
	position: absolute;
	left: 5px;
	top: 0;
	background-color: #008756;
	transform: skewX(-15deg);
}
.info dt span {
	position: relative;
	z-index: 2;
}
.info dd {
	width: calc(100% - 150px);
	padding: 4px 0 3px 30px;
	color: #008756;
}
.info p {
	margin: 20px 0 0;
	letter-spacing: -0.03em;
}
@media screen and (min-width: 768px) {
	.member-list .info {
		width: calc(100% - 280px);
	}
}
@media screen and (max-width: 767px) {
	.member-list li {
		display: block;
		margin: 0 0 50px;
		font-size: 16px;
	}
	.member-list .photo {
		width: 163px;
		margin: 0 auto 20px;
	}
	.member-list .photo::before {
		width: 94px;
		height: 94px;
		background: url(/resona-ip/img/member/shadow1_2x.png) no-repeat center / cover;
		left: -83px;
		bottom: -20px;
	}
	.member-list li:nth-child(2n) .photo::before {
		background: url(/resona-ip/img/member/shadow1_2x.png) no-repeat center / cover;
		left: inherit;
		bottom: inherit;
		right: -83px;
		top: -20px;
	}
	.info dt {
		width: 120px;
	}
	.info dd {
		width: calc(100% - 120px);
		padding-left: 15px;
	}
	.info p {
		letter-spacing: 0;
	}
}
.profile {
	margin: 0 0 120px;
}
.profile-tb table {
	background-color: #fff;
	border-top: 1px solid #008756;
	border-right: 1px solid #008756;
	width: 100%;
	line-height: 1.3;
}
.profile-tb th {
	width: 250px;
	border-bottom: 1px solid #fff;
	background-color: #008756;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	padding: 25px 5px;
}
.profile-tb td {
	font-weight: bold;
	padding: 25px 30px;
	border-bottom: 1px solid #008756;
}
.profile-tb tr:last-child th {
	border-bottom-color: #008756;
}
.btn-access {
	background-color: #f6ae54;
	color: #333;
	border-radius: 23px;
	width: 300px;
	height: 46px;
	font-weight: bold;
	position: relative;
}
.btn-access::after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	border-top: 8px solid #333;
	border-bottom: 0;
	position: absolute;
	right: 60px;
	top: 50%;
	margin-top: -4px;
}
.profile-tb p {
	margin: 0 0 20px;
	padding: 0 0 0 16px;
	position: relative;
}
.profile-tb p::before {
	content: '';
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #008756;
	position: absolute;
	left: 0;
	top: 6px;
}
@media screen and (min-width: 768px) {
	.btn-access:hover {
		background-color: #008756;
		color: #fff;
	}
	.btn-access::after {
		transition: 0.3s;
	}
	.btn-access:hover:after {
		border-top-color: #fff;
	}
}
@media screen and (max-width: 767px) {
	.profile {
		margin: 0 0 50px;
	}
	.profile table {
		font-size: 13px;
	}
	.profile-tb th {
		width: 100px;
		padding: 15px 5px;
	}
	.profile-tb td {
		font-weight: normal;
		padding: 15px;
	}
	.btn-access {
		width: 200px;
		height: 40px;
		margin-left: 10px;
	}
	.btn-access::after {
		right: 30px;
	}
	.profile-tb p {
		margin: 0 0 15px;
		padding: 0 0 0 12px;
	}
	.profile-tb p::before {
		width: 6px;
		height: 6px;
		top: 5px;
	}
}
.title2 {
	font-size: 35px;
	font-weight: bold;
	margin: 0 0 60px;
}
.title2 span {
	font-family: '游明朝体', 'Yu Mincho', YuMincho, serif;
	color: #008756;
	font-size: 18px;
}
.access-list li:not(:last-child) {
	padding: 0 0 60px;
	margin: 0 0 60px;
	border-bottom: 1px solid #008756;
}
.access-list dl {
	font-size: 20px;
	font-weight: bold;
	margin: 0 0 40px;
	padding: 0 0 0 16px;
	position: relative;
}
.access-list dl::before {
	content: '';
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #008756;
	position: absolute;
	left: 0;
	top: 11px;
}
.access-list dt {
	width: 210px;
}
.access-list dd {
	width: calc(100% - 210px);
}
.map-box {
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}
.map-box iframe {
	width: 100%;
}
@media screen and (min-width: 768px) {
	.access-list dd {
		font-size: 18px;
		padding: 2px 0 0;
	}
}
@media screen and (min-width: 1081px) {
	.map-box {
		width: 48.15%;
	}
}
@media screen and (max-width: 1080px) {
	.map-box {
		margin-top: 30px;
	}
	.map-box img {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.title2 {
		font-size: 25px;
		margin: 0 0 25px;
	}
	.title2 span {
		font-size: 14px;
	}
	.access-list li:not(:last-child) {
		padding: 0 0 30px;
		margin: 0 0 30px;
	}
	.access-list dl {
		font-size: 13px;
		letter-spacing: -0.03em;
		margin: 0 0 20px;
		padding: 0 0 0 12px;
	}
	.access-list dl::before {
		width: 6px;
		height: 6px;
		top: 8px;
	}
	.access-list dt {
		width: auto;
		font-size: 14px;
	}
	.access-list dd {
		width: auto;
		flex: 1;
		padding-left: 12px;
		line-height: 22px;
	}
	.map-box {
		margin-top: 20px;
	}
	.map-box iframe {
		height: 265px;
	}
}
/* .message-cont {
	padding-left: 30px;
} */

.message h3 {
	margin: 0 0 10px;
}
.message p {
	margin: 0 0 35px;
}
.mr15 {
	margin-right: 15px;
}
@media screen and (min-width: 768px) {
	.message .photo {
		float: right;
		margin: 0 0 40px 40px;
	}
}
@media screen and (min-width: 1080px) {
	.message .photo {
		margin-left: 60px;
	}
}
@media screen and (max-width: 767px) {
	/* .message-cont {
	} */
	.message h3 {
		font-size: 18px;
		text-align: center;
		margin: 20px 0 10px;
	}
	.message p {
		margin: 0 0 25px;
	}
}
.comp {
	width: 100%;
	overflow: hidden;
}
.comp li {
	margin-bottom: 50px;
}
.comp li:last-child {
	margin-bottom: 0;
}
@media (min-width: 1140px) and (max-width: 1650px) {
	.comp li {
		margin: 0 -105px 50px;
	}
}
@media screen and (max-width: 1140px) {
	.comp li:not(:last-child) {
		margin-bottom: 40px;
	}
	.comp a {
		margin: 15px auto 0;
	}
	.comp img {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.comp a {
		max-width: 260px;
	}
}
@media screen and (min-width: 1140px) {
	.comp {
		max-width: 1650px;
		margin: 0 auto;
	}
	.comp li {
		position: relative;
	}
	.comp a {
		width: 300px;
		height: 60px;
		font-size: 20px;
		position: absolute;
		right: 18vw;
		bottom: 5vw;
	}
	.comp li:nth-child(2n) a {
		right: inherit;
		left: 17vw;
	}
}
@media screen and (min-width: 1460px) {
	.comp a {
		right: 270px;
		bottom: 80px;
	}
	.comp li:nth-child(2n) a {
		right: inherit;
		left: 245px;
	}
}
.koukoku td {
	vertical-align: middle;
}
.link-pdf::before {
	content: '';
	width: 44px;
	height: 44px;
	background: url(/resona-ip/img/icon-pdf.png) no-repeat left top / 44px;
	display: inline-block;
	vertical-align: middle;
	margin: 0 10px 0 0;
	position: relative;
	top: -2px;
}
@media screen and (max-width: 767px) {
	.link-pdf::before {
		background-size: 22px;
		width: 22px;
		height: 22px;
		margin: 0 5px 0 0;
	}
}
@media screen and (min-width: 768px) {
	.koukoku .post_title {
		margin-bottom: 40px;
	}
	.link-pdf:hover {
		text-decoration: underline;
	}
}
.portfolio-list {
	margin: 0 0 90px;
}
.portfolio-list li {
	width: 340px;
	display: none;
}
.portfolio-list .logo {
	border: 1px solid #ddd;
	border-radius: 10px;
	background-color: #fff;
	width: 100%;
	height: 150px;
}
.portfolio-list p {
	font-size: 18px;
	font-weight: bold;
	margin: 15px 0 0;
}
.portfolio-list li:first-child p {
	letter-spacing: -0.1em;
}
@media screen and (min-width: 768px) {
	.portfolio-list {
		column-gap: 30px;
		row-gap: 70px;
	}
	.portfolio-list a:hover {
		opacity: 0.7;
	}
}
@media screen and (max-width: 1200px) {
	.portfolio-list li {
		width: calc(50% - 20px);
	}
}
@media screen and (max-width: 767px) {
	.portfolio-list {
		justify-content: space-between;
		margin: 0;
	}
	.portfolio-list li {
		width: calc(50% - 5px);
		margin: 0 0 25px;
	}
	.portfolio-list li:nth-child(-n + 8) {
		display: block;
	}
	.portfolio-list .logo {
		height: 75px;
	}
	.portfolio-list p {
		font-size: 14px;
		line-height: 1.25;
		margin: 10px 0 0;
	}
}
