@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

/* for front-page */

.b_hanburgerMenu .b_hanburgerMenu_item a {
	background: #fff;
}

/* intro */

.top_intro_head {
	position: relative;
}
.top_intro_head .grad {
	position: absolute;
	z-index: 5;
	left: 0;
	bottom: 0;
}
.top_intro_head .grad img {
	width: 100%;
}
.top_intro_head .ttl {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
	width: 100%;
	height: 474px;
	color: #fff;
	font-size: 100px;
	font-weight: bold;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	text-shadow: 0 0 10px rgba(0,0,0,.75);
}
.top_intro_main {
	padding: 75px 60px;
	background: url(../../images/top/bg_needs_02.jpg) bottom no-repeat;
	background-size: cover;		
}
.top_intro_ul {
	margin-bottom: 120px;
}
.top_intro_ul li {
	position: relative;
	margin-bottom: 75px;
}
.top_intro_ul li .pic {
	width: 640px;
}
.top_intro_ul li .conts {
	position: absolute;
	z-index: 9;
	right: 0;
	bottom: 0;
}
.top_intro_ul li .conts .ttl {
	position: relative;
	bottom: -45px;
	z-index: 10;
	float: right;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 390px;
	height: 98px;
	background: url(../../images/top/bg_intro_01.png) center no-repeat;
	background-size: cover;
	font-size: 30px;
	font-weight: 700;
}
.top_intro_ul li:nth-of-type(2) .conts .ttl {
	background: url(../../images/top/bg_intro_02.png) center no-repeat;
	background-size: cover;	
}
.top_intro_ul li:nth-of-type(3) .conts .ttl {
	background: url(../../images/top/bg_intro_03.png) center no-repeat;
	background-size: cover;	
}
.top_intro_ul li .conts .box {
	clear: both;	
	width: 567px;
	background: rgba(255,255,255,.6);
}
.top_intro_ul li .conts .box .text {
	width: 567px;
	padding: 60px 30px 30px;
	background: rgba(177,154,128,.1);
	box-shadow: 5px 5px 5px rgba(177,154,128,.4);
	font-size: 22px;
	font-weight: 400;
}
.top_intro_main .linktxt {
	margin-bottom: 60px;
	font-size: 32px;
	font-weight: 700;
	text-align: center;
}
.top_intro_main .btn {
	width: 600px;
	margin: 0 auto;
}
.top_intro_main .btn a {
	display: block;
	padding: 20px;
	background: #ECE9E5;
	border: 2px solid #AE977C;
	box-shadow: 0 5px 10px rgba(0,0,0,.2);
	color: #AE977C;
	font-size: 40px;
	font-weight: 700;
	text-align: center;
}

@media screen and (max-width: 1240px) {
	
	.top_intro_head .ttl {
		height: 44vw;
		font-size: 8vw;
	}
	.top_intro_main {
		padding: 6vw 4vw 9vw;
	}
	.top_intro_ul {
		margin-bottom: 9vw;
	}
	.top_intro_ul li {
		margin-bottom: 6vw;
	}
	.top_intro_ul li .pic {
		width: 60vw;
	}
	.top_intro_ul li .conts .ttl {
		bottom: -4vw;
		width: 36vw;
		height: 8vw;
		font-size: 2.4vw;
	}
	.top_intro_ul li .conts .box {
		width: 52vw;
	}
	.top_intro_ul li .conts .box .text {
		width: 52vw;
		padding: 5vw 2.5vw 2.5vw;
		font-size: 2vw;
	}
	.top_intro_main .linktxt {
		margin-bottom: 5vw;
		font-size: 2.75vw;
	}
	.top_intro_main .btn {
		width: 50vw;
	}
	.top_intro_main .btn a {
		padding: 2vw;
		font-size: 3.5vw;
	}	
	
}
@media screen and (max-width: 567px) {
	
	.top_intro_head img {
		object-fit: cover;
		height: 70vw;
	}
	.top_intro_head .ttl {
		height: 70vw;
		font-size: 10vw;
	}	
	.top_intro_main {
		padding: 0 0 12vw;
	}	
	.top_intro_ul {
		position: relative;
		z-index: 11;
		margin: -4vw 0 8vw;
	}
	.top_intro_ul li {
		margin-bottom: 10vw;
		padding-bottom: 30vw;
	}
	.top_intro_ul li .pic {
		width: 80vw;
	}
	.top_intro_ul li .conts .ttl {
		bottom: -6vw;
		width: 60vw;
		height: 14vw;
		font-size: 4vw;
	}
	.top_intro_ul li .conts .box {
		width: 80vw;
	}
	.top_intro_ul li .conts .box .text {
		width: 80vw;
		padding: 8vw 4vw 4vw;
		font-size: 3.5vw;
	}
	.top_intro_main .linktxt {
		margin-bottom: 8vw;
		font-size: 4.5vw;
	}
	.top_intro_main .btn {
		width: 75vw;
	}
	.top_intro_main .btn a {
		padding: 4vw;
		font-size: 4vw;
	}		
	
}

/* value */

.top_value_head {
	padding: 120px 0 90px;
	background: url(../../images/top/bg_value.jpg) center no-repeat;
	background-size: cover;
}
.top_value_head .name {
	display: inline-block;
	padding: 10px 60px;
	background: url(../../images/top/bg_pride_grad.png) center no-repeat;
	background-size: cover;
	color: #fff;
	font-size: 56px;
	font-weight: bold;
	-webkit-text-stroke: 2px #3093AA;
	text-stroke: 2px #3093AA;
 	paint-order: stroke;
}
.top_value_head .ttl {
	padding: 60px 0 0 60px;
	font-size: 64px;
	font-weight: 700;
	text-shadow: 0 0 10px #fff;
}
.top_value_head .ttl span {
	color: #009DB2;
	font-size: 96px;
	font-weight: 700;
}

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

	.top_value_head {
		padding: 9vw 0 7.5vw;
	}
	.top_value_head .name {
		padding: 1vw 5vw;
		font-size: 5vw;
	}
	.top_value_head .ttl {
		padding: 5vw 0 0 5vw;
		font-size: 5vw;
	}
	.top_value_head .ttl span {
		font-size: 8vw;
	}
	
}

.top_value_main {
	padding: 75px 0;
	background: #FFFCF8;
}
.top_value_ul {
	width: 1050px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 90px 50px;
}
.top_value_ul li {
	width: calc(50% - 25px);
}
.top_value_ul li .ttl {
	font-size: 48px;
	font-weight: 700;
	text-align: center;
}
.top_value_ul li .en {
	margin: 0 0 20px;
	opacity: .5;
	font-size: 16px;
	font-weight: 700;
	text-align: center;	
}
.top_value_ul li .inner {
	position: relative;
	background: #fff;
	padding: 10px 0 0;
}
.top_value_ul li .catch {
	padding: 15px 0;
	background: #999;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
}
.top_value_ul li .subcatch {
	position: absolute;
	z-index: 9;
	top: 72px;
	left: 0;
	display: inline-block;
	padding: 5px 20px;
	font-size: 20px;
	font-weight: 700;
	background: url(../../images/top/bg_prev_grad_01.png) top center no-repeat;
	background-size: cover;	
}
.top_value_ul li .circle {
	position: absolute;
	top: 215px;
	left: 5px;
	width: 160px;
	height: 160px;
	aspect-ratio: 1;
	background: #F8F2EA;
	border: 1px solid #A28972;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #A28A72;
	font-size: 22px;
	font-weight: 700;
}
.top_value_ul li .circle span {
	color: #794514;
	font-size: 22px;
	font-weight: 700;	
}
.top_value_ul li .box {
	padding: 40px 25px 90px;
}
.top_value_ul li .box .text {
	margin-bottom: 30px;
	font-size: 18px;
}
.top_value_ul li .box .checktxt {
	position: relative;
	padding: 0 0 10px 24px;
	font-size: 16px;
}
.top_value_ul li .box .checktxt::before {
	position: absolute;
	display: block;
	content: "";
	top: 7px;
	left: 0;
	width: 16px;
	height: 16px;
	background: url(../../images/top/check_01.png) no-repeat;
	background-size: 100% auto;
}
.top_value_ul li .btn {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 240px;
}
.top_value_ul li .btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	padding: 12px;
	background: #006590;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
}
.top_value_ul li .btn a span {
	font-size: 22px;
	font-weight: 700;	
}

.top_value_ul li:nth-of-type(1) .ttl,
.top_value_ul li:nth-of-type(1) .en,
.top_value_ul li:nth-of-type(1) .subcatch {
	color: #287DD3;
}
.top_value_ul li:nth-of-type(1) .catch {
	background: #287DD3;
}
.top_value_ul li:nth-of-type(1) .box .checktxt::before {
	filter: brightness(0) saturate(100%) invert(39%) sepia(97%) saturate(608%) hue-rotate(174deg) brightness(92%) contrast(92%);
} 
.top_value_ul li:nth-of-type(2) .ttl,
.top_value_ul li:nth-of-type(2) .en,
.top_value_ul li:nth-of-type(2) .subcatch {
	color: #2BBCB2;
}
.top_value_ul li:nth-of-type(2) .catch {
	background: #2BBCB2;
}
.top_value_ul li:nth-of-type(2) .box .checktxt::before {
	filter: brightness(0) saturate(100%) invert(59%) sepia(81%) saturate(388%) hue-rotate(127deg) brightness(92%) contrast(87%);
} 
.top_value_ul li:nth-of-type(3) .ttl,
.top_value_ul li:nth-of-type(3) .en,
.top_value_ul li:nth-of-type(3) .subcatch {
	color: #DDB72E;
}
.top_value_ul li:nth-of-type(3) .catch {
	background: #DDB72E;
}
.top_value_ul li:nth-of-type(3) .box .checktxt::before {
	filter: brightness(0) saturate(100%) invert(84%) sepia(61%) saturate(2651%) hue-rotate(339deg) brightness(96%) contrast(80%);
} 
.top_value_ul li:nth-of-type(4) .ttl,
.top_value_ul li:nth-of-type(4) .en,
.top_value_ul li:nth-of-type(4) .subcatch {
	color: #2EADDB;
}
.top_value_ul li:nth-of-type(4) .catch {
	background: #2EADDB;
}
.top_value_ul li:nth-of-type(4) .box .checktxt::before {
	filter: brightness(0) saturate(100%) invert(69%) sepia(89%) saturate(2188%) hue-rotate(162deg) brightness(90%) contrast(90%);
} 
.top_value_ul li:nth-of-type(2n) .subcatch {
	background: url(../../images/top/bg_prev_grad_02.png) top center no-repeat;
	background-size: cover;	
	left: auto;
	right: 0;
}
.top_value_ul li:nth-of-type(2n) .circle {
	left: auto;
	right: 5px;	
}
@media screen and (max-width: 1240px) {
	
	.top_value_main {
		padding: 6vw 0;
	}
	.top_value_ul {
		width: calc(100% - 40px);
		gap: 6vw 4vw;
	}
	.top_value_ul li {
		width: calc(50% - 4vw/2);
	}
	.top_value_ul li .ttl {
		font-size: 4vw;
	}
	.top_value_ul li .en {
		margin: 0 0 2vw;
		font-size: 1.5vw;
	}
	.top_value_ul li .inner {
		padding: 1vw 0 0;
	}
	.top_value_ul li .catch {
		padding: 1.5vw 0;
		font-size: 2.1vw;
	}
	.top_value_ul li .subcatch {
		top: 6.5vw;
		padding: .5vw 3vw;
		font-size: 1.8vw;
	}
	.top_value_ul li .circle {
		top: 18vw;
		left: .5vw;
		width: 15vw;
		height: 15vw;
		font-size: 2vw;
	}
	.top_value_ul li:nth-of-type(2n) .circle {
		left: auto;
		right: .5vw;	
	}
	.top_value_ul li .circle span {
		font-size: 2vw;
	}
	.top_value_ul li .box {
		padding: 3vw 2vw 7.5vw;
	}
	.top_value_ul li .box .text {
		margin-bottom: 2.5vw;
		font-size: 1.7vw;
	}
	.top_value_ul li .box .checktxt {
		padding: 0 0 1vw 2vw;
		font-size: 1.5vw;
	}
	.top_value_ul li .box .checktxt::before {
		top: .7vw;
		width: 1.5vw;
		height: 1.5vw;
	}
	.top_value_ul li .btn {
		width: 22vw;
	}
	.top_value_ul li .btn a {
		gap: 2vw;
		padding: 1.2vw;
		font-size: 2vw;
	}
	.top_value_ul li .btn a span {
		font-size: 2vw;
	}	
	
}
@media screen and (max-width: 567px) {

	.top_value_ul {
		width: 100%;
		display: block;
	}
	.top_value_ul li {
		width: 100%;
		margin-bottom: 8vw;
	}
	.top_value_ul li .ttl {
		font-size: 7vw;
	}
	.top_value_ul li .en {
		margin: 0 0 3vw;
		font-size: 3.75vw;
	}
	.top_value_ul li .inner {
		padding: 2vw 0 0;
	}
	.top_value_ul li .catch {
		padding: 3vw 0;
		font-size: 4.5vw;
	}
	.top_value_ul li .subcatch {
		top: 13.5vw;
		padding: 1vw 6vw;
		font-size: 3.5vw;
	}
	.top_value_ul li .circle {
		top: 44vw;
		left: 1vw;
		width: 30vw;
		height: 30vw;
		font-size: 4vw;
	}
	.top_value_ul li:nth-of-type(2n) .circle {
		left: auto;
		right: 1vw;	
	}
	.top_value_ul li .circle span {
		font-size: 4vw;
	}
	.top_value_ul li .box {
		padding: 5vw 5vw 15vw;
	}
	.top_value_ul li .box .text {
		margin-bottom: 4vw;
		font-size: 4vw;
	}
	.top_value_ul li .box .checktxt {
		padding: 0 0 2vw 5vw;
		font-size: 3.5vw;
	}
	.top_value_ul li .box .checktxt::before {
		top: 1.2vw;
		width: 3.5vw;
		height: 3.5vw;
	}
	.top_value_ul li .btn {
		width: 50vw;
	}
	.top_value_ul li .btn a {
		gap: 4vw;
		padding: 2.5vw;
		font-size: 4vw;
	}
	.top_value_ul li .btn a span {
		font-size: 4vw;
	}		
	
}

/* point  */

.top_point .head {
	padding: 60px 0 90px 30px;
	position: relative;
	background: url(../../images/top/bg_point_large.jpg) top center no-repeat;
	background-size: cover;	
}
.top_point .head .bg_grad {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}
.top_point .head .bg_grad img {
	width: 100%;
}
.top_point .head .circle {
	position: relative;
	z-index: 9;
	width: 531px;
}
.top_point .head .text {
	position: absolute;
	right: 30px;
	bottom: 30px;
	color: #fff;
	font-size: 30px;
	font-weight: 400;
	width: 630px;
}

@media screen and (max-width: 1240px) {
	
	.top_point .head {
		padding: 4.5vw 0 6vw 1vw;
	}
	.top_point .head .circle {
		width: 45vw;
	}
	.top_point .head .text {
		right: 3vw;
		bottom: 3vw;
		font-size: 2.5vw;
		width: 56vw;
	}
	
}
@media screen and (max-width: 567px) {
	
	.top_point .head {
		padding: 8vw 0 28vw 0;
		background-position: top right 30%;
		background-size: 150% auto;
	}
	.top_point .head .bg_grad {
		width: 200%;
	}
	.top_point .head .circle {
		width: 60vw;
	}
	.top_point .head .text {
		right: 4vw;
		bottom: 6vw;
		font-size: 4.25vw;
		width: calc(100% - 8vw);
	}	
}

.top_point_ul {
	display: flex;
	flex-wrap: wrap;
}
.top_point_ul li {
	width: 50%;
	padding: 50px;
}
.top_point_ul li .inner {
	position: relative;
	border: 1px solid #016975;
}
.top_point_ul li .inner .ttl_area {
	position: absolute;
	top: 20px;
	left: 0;
	width: 100%;
	height: 80px;
	background: rgba(255,255,255,.6);
	padding: 1px 10px;
	display: flex;
	align-items: center;
}
.top_point_ul li .inner .ttl_area .num {
	color: #016975;
	font-size: 66px;
	width: 75px;
}
.top_point_ul li .inner .ttl_area .ttl {
	color: #016975;
	font-size: 28px;
	width: calc(100% - 80px);
	text-align: center;
}
.top_point_ul li:nth-of-type(2n) .ttl_area .num {
	order: 2;
}
.top_point_ul li .inner .box {
	position: absolute;
	right: 20px;
	bottom: 20px;
	background: rgba(255,255,255,.6);
	width: 300px;
}
.top_point_ul li .inner .box .ttl {
	padding: 10px 0;
	background: rgba(1, 105, 117, 0.5);
	color: #fff;
	font-size: 19px;
	text-align: center;
}
.top_point_ul li .inner .box .box_inner {
	padding: 10px;
}
.top_point_ul li .inner .box .checktxt {
	background: url(../../images/top/check_03.png) no-repeat;
	background-position: top 7px left;
	background-size: 14px auto;
	padding: 0 0 10px 20px;
	font-size: 14px;
}
.top_point_ul li:nth-of-type(2n) .inner .box {
	right: auto;
	left: 20px;
}
.top_point_ul li:nth-of-type(1) {
	background: url(../../images/top/bg_point_01.jpg) center no-repeat;
	background-size: cover;	
}
.top_point_ul li:nth-of-type(2) {
	background: url(../../images/top/bg_point_02.jpg) center no-repeat;
	background-size: cover;	
}
.top_point_ul li:nth-of-type(3) {
	background: url(../../images/top/bg_point_03.jpg) center no-repeat;
	background-size: cover;	
}
.top_point_ul li:nth-of-type(4) {
	background: url(../../images/top/bg_point_04.jpg) center no-repeat;
	background-size: cover;	
}

@media screen and (max-width: 1240px) {
	
	.top_point_ul {
		display: flex;
	}
	.top_point_ul li {
		width: 50%;
		padding: 3vw;
	}
	.top_point_ul li .inner .ttl_area {
		top: 1.5vw;
		height: 7vw;
		padding: 1px 1vw;
	}
	.top_point_ul li .inner .ttl_area .num {
		font-size: 5vw;
		width: 6vw;
	}
	.top_point_ul li .inner .ttl_area .ttl {
		font-size: 2.5vw;
		width: calc(100% - 6vw);
	}
	.top_point_ul li .inner .box {
		right: 1vw;
		bottom: 1vw;
		width: 25vw;
	}
	.top_point_ul li .inner .box .ttl {
		padding: 1vw 0;
		font-size: 1.6vw;
	}
	.top_point_ul li .inner .box .box_inner {
		padding: 1vw;
	}
	.top_point_ul li .inner .box .checktxt {
		background-position: top .7vw left;
		background-size: 1.3vw auto;
		padding: 0 0 1vw 1.75vw;
		font-size: 1.3vw;
	}
	.top_point_ul li:nth-of-type(2n) .inner .box {
		right: auto;
		left: 1vw;
	}	
	
}
@media screen and (max-width: 567px) {
	
	.top_point_ul {
		display: block;
	}
	.top_point_ul li {
		width: 100%;
		padding: 2vw 4vw;
	}
	.top_point_ul li:nth-of-type(1) {
		padding-top: 4vw;
	}
	.top_point_ul li:nth-of-type(4) {
		padding-bottom: 4vw;
	}	
	.top_point_ul li .inner .ttl_area {
		top: 4vw;
		height: 12vw;
		padding: 1px 4vw;
	}
	.top_point_ul li .inner .ttl_area .num {
		font-size: 10vw;
		width: 12vw;
	}
	.top_point_ul li .inner .ttl_area .ttl {
		font-size: 5vw;
		width: calc(100% - 12vw);
	}
	.top_point_ul li .inner .box {
		right: 3vw;
		bottom: 3vw;
		width: 55vw;
	}
	.top_point_ul li .inner .box .ttl {
		padding: 2vw 0;
		font-size: 3.75vw;
	}
	.top_point_ul li .inner .box .box_inner {
		padding: 2vw;
	}
	.top_point_ul li .inner .box .checktxt {
		background-position: top 1.2vw left;
		background-size: 2.75vw auto;
		padding: 0 0 1vw 4vw;
		font-size: 2.75vw;
	}
	.top_point_ul li:nth-of-type(2n) .inner .box {
		right: auto;
		left: 3vw;
	}		
}


/* menu */

.top_menu .frame2 {
	padding: 120px 0;
	background: url(../../images/top/bg_menu.jpg) center no-repeat;
	background-size: cover;	
}
.top_menu .ttl {
	margin-bottom: 90px;
	color: #fff;
	font-size: 72px;
	text-align: center;
}
.top_menu .inner {
	width: 800px;
	margin: 0 auto;
}
.top_menu .section_10__list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.top_menu .section_10__list li {
	width: calc(100%/3 - 20px*2/3);
}

@media screen and (max-width: 1240px) {
	
	.top_menu .frame2 {
		padding: 9vw 0;
	}
	.top_menu .ttl {
		margin-bottom: 7.5vw;
		font-size: 6vw;
	}
	.top_menu .inner {
		width: calc(100% - 40px);
	}
	.top_menu .section_10__list {
		gap: 2vw;
	}
	.top_menu .section_10__list li {
		width: calc(100%/3 - 2vw*2/3);
	}
	
}
@media screen and (max-width: 567px) {
	
	.top_menu .ttl {
		font-size: 8vw;
	}

}

/* future */

.top_future .frame2 {
	background: url(../../images/top/bg_future.jpg) center no-repeat;
	background-size: cover;
}
.top_future .inner {
	width: 872px;
	margin: 0 auto;
	padding: 75px 90px 90px;
	background: rgba(255,255,255,.65);
}
.top_future .ttl {
	width: fit-content;
	margin: 0 auto 90px;
	padding-bottom: 30px;
	border-bottom: 1px solid #464646;
	font-size: 64px;
	text-align: center;
}
.top_future .ttl span {
	color: #00A7B2;
	font-size: 88px;
}
.top_future .text {
	margin-bottom: 50px;
	font-size: 32px;
	font-weight: 400;
}
.top_future .btn {
	margin: 90px auto 0;
	width: 600px;
}
.top_future .btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	background: #006590;
	border: 1px solid #fff;
	border-radius: 8px;
	box-shadow: 0 10px 10px rgba(0,0,0,.2);
	padding: 15px;
 	color: #fff;
	font-size: 40px; 	
	font-weight: 400;
	text-align: center;
}
.top_future .btn a span {
	font-size: 40px;
	font-weight: 400;
}

@media screen and (max-width: 1240px) {
	
	.top_future .inner {
		width: 87.5%;
		margin: 0 auto;
		padding: 6vw 14vw 7.5vw;
	}
	.top_future .ttl {
		margin: 0 auto 7.5vw;
		padding-bottom: 3vw;
		font-size: 5vw;
	}
	.top_future .ttl span {
		font-size: 6vw;
	}
	.top_future .text {
		margin-bottom: 4vw;
		font-size: 2.75vw;
	}
	.top_future .btn {
		margin: 7.5vw auto 0;
		width: 50vw;
	}
	.top_future .btn a {
		gap: 2vw;
		padding: 1.5vw;
		font-size: 3.5vw; 	
	}
	.top_future .btn a span {
		font-size: 3.5vw; 	
	}	
}
@media screen and (max-width: 567px) {
	
	.top_future .inner {
		padding: 6vw 6vw 9vw;
	}
	.top_future .ttl {
		font-size: 7vw;
	}
	.top_future .ttl span {
		font-size: 8.4vw;
	}
	.top_future .text {
		font-size: 3.5vw;
	}
	.top_future .btn {
		margin: 9vw auto 0;
		width: 100%;
	}
	.top_future .btn a {
		gap: 2vw;
		padding: 4vw;
		font-size: 5vw; 	
	}	
	.top_future .btn a span {
		font-size: 5vw; 	
	}		
}

/* child */

.top_child .frame2 {
	padding: 120px 0 40px;
	background: url(../../images/top/bg_child_01.jpg) top center no-repeat, url(../../images/top/bg_child_02.jpg) bottom center no-repeat;
	background-size: 100% auto;
}
.top_child .ttl {
	margin-bottom: 90px;
	font-size: 48px;
	text-align: center;
}
.top_child .ttl span {
	color: #00969C;
	font-size: 64px;
	font-weight: 500;
}
.top_child .ttl br {
	display: none;
}
.top_child .inner {
	position: relative;
	width: 1060px;
	margin: 0 auto 40px;
	padding: 60px;
	background: url(../../images/top/dot.png) no-repeat, url(../../images/top/dot.png) no-repeat #fff;
	background-position: top 12px left 12px, top 12px right 12px;
	background-size: 26px auto;
	border: 2px solid #00969C;
}
.top_child .inner .title {
	width: fit-content;
	margin: 0 auto 60px;
	font-size: 40px;
	font-style: italic;
	font-weight: 700;
	line-height: 1.25;
}
.top_child .inner .title span {
	color: #D80036;
	font-size: 56px;
	font-weight: 700;
}
.top_child .inner .title span:nth-of-type(2) {
	color: #E69D00;
}
.top_child .inner .text {
	margin-bottom: 40px;
	font-size: 20px;
}
.top_child .inner .text span {
	background: #bfe0ed;
	font-size: 20px;
}
.top_child .inner .text.narrow {
	width: 63%;
}
.top_child .inner .text b {
	font-size: 24px;
}
.top_child .inner .pics {
	position: absolute;
	right: 0;
	bottom: 0;
}
.top_child .inner .pics img {
	width: 331px;
}
.top_child .inner .pics .name {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background: rgba(255,255,255,.7);
	padding: 5px;
	font-size: 24px;
	text-align: center;
}
.top_child .inner .pics .name span {
	font-size: 18px;
}
.top_child_box {
	width: 1060px;
	margin: 0 auto;	
	display: flex;
	border-radius: 10px;
	border: 1px solid #00969C;
	background: #fff;
}
.top_child_box .pic {
	width: 50%;
}
.top_child_box .pic img {
	border-radius: 9px 0 0 9px;
}
.top_child_box .conts {
	width: 50%;
}
.top_child_box .conts .title {
	background: #E6F6F6;
	border-radius: 0 9px 0 0;
	display: flex;
	align-items: center;
	height: 150px;
	padding-left: 40px;
}
.top_child_box .conts .title p {
	font-size: 24px;	
}
.top_child_box .conts .title span {
	color: #00969C;
	font-size: 32px;
	font-weight: 500;
}
.top_child_box .conts .title span:nth-of-type(2) {
	color: #00639C;
}
.top_child_ul {
	padding: 15px 0 0 40px;
}
.top_child_ul li {
	padding: 0 0 12px 30px;
	background: url(../../images/top/check_02.png) no-repeat;
	background-position: top 7px left;
	background-size: 18px;
	font-size: 18px;
}

@media screen and (max-width: 1240px) {
	
	.top_child .frame2 {
		padding: 7vw 0 3vw;
	}
	.top_child .ttl {
		margin-bottom: 6vw;
		font-size: 4vw;
	}
	.top_child .ttl span {
		font-size: 5.5vw;
	}
	.top_child .inner {
		width: calc(100% - 40px);
		margin: 0 auto 3vw;
		padding: 4.5vw;
		background-position: top 1vw left 1vw, top 1vw right 1vw;
		background-size: 2vw auto;
	}
	.top_child .inner .title {
		margin: 0 auto 4.5vw;
		font-size: 3.3vw;
	}
	.top_child .inner .title span {
		font-size: 4.8vw;
	}
	.top_child .inner .text {
		margin-bottom: 3vw;
		font-size: 1.8vw;
	}
	.top_child .inner .text span {
		font-size: 1.8vw;
	}
	.top_child .inner .text b {
		font-size: 2vw;
	}
	.top_child .inner .pics img {
		width: 30vw;
	}
	.top_child .inner .pics .name {
		padding: .5vw;
		font-size: 2vw;
	}
	.top_child .inner .pics .name span {
		font-size: 1.7vw;
	}
	.top_child_box {
		width: calc(100% - 40px);
	}
	.top_child_box .conts .title {
		border-radius: 0 9px 0 0;
		height: 13vw;
		padding-left: 3vw;
	}
	.top_child_box .conts .title p {
		font-size: 2vw;	
	}
	.top_child_box .conts .title span {
		font-size: 2.8vw;
	}
	.top_child_ul {
		padding: 1.5vw 0 0 3vw;
	}
	.top_child_ul li {
		padding: 0 0 1vw 3vw;
		background-position: top .7vw left;
		background-size: 1.7vw;
		font-size: 1.7vw;
	}
	
}
@media screen and (max-width: 567px) {
	
	.top_child .ttl {
		font-size: 7vw;
	}
	.top_child .ttl span {
		font-size: 8.4vw;
	}
	.top_child .ttl br {
		display: inline-block;
	}
	.top_child .inner {
		width: calc(100% - 8vw);
		margin: 0 auto 4vw;
		background-size: 3vw auto;
	}
	.top_child .inner .title {
		font-size: 6vw;
		text-align: center;
	}
	.top_child .inner .title span {
		font-size: 7.2vw;
	}
	.top_child .inner .text {
		position: relative;
		z-index: 9;
		font-size: 3vw;
	}
	.top_child .inner .text span {
		font-size: 3vw;
	}
	.top_child .inner .text.narrow {
		width: 60%;
	}
	.top_child .inner .text b {
		font-size: 3.25vw;
	}
	.top_child .inner .pics {
		right: -8vw;
	}
	.top_child .inner .pics img {
		width: 50vw;
	}
	.top_child .inner .pics .name {
		padding: 1vw;
		font-size: 4vw;
	}
	.top_child .inner .pics .name span {
		font-size: 3vw;
	}
	.top_child_box {
		width: calc(100% - 40px);
		display: block;
	}
	.top_child_box .pic {
		width: 100%;
	}
	.top_child_box .pic img {
		border-radius: 9px 9px 0 0;
	}
	.top_child_box .conts {
		width: 100%;
	}
	.top_child_box .conts .title {
		border-radius: 0;
		display: block;
		height: auto;
		padding: 4vw 6vw;
	}
	.top_child_box .conts .title p {
		font-size: 4vw;	
	}
	.top_child_box .conts .title span {
		font-size: 4.5vw;
	}
	.top_child_ul {
		padding: 4vw 0 2vw 6vw;
	}
	.top_child_ul li {
		padding: 0 0 2vw 5vw;
		background-position: top 1.2vw left;
		background-size: 3.75vw;
		font-size: 3.75vw;
	}	
	
}

/* doctor */

.top_doctor .frame2 {
	background: linear-gradient(to top right, #3093AA, #F9F9F9);
}
.top_doctor .ttl_area {
	position: relative;
	padding: 90px 0 20px 80px;
}
.top_doctor .ttl_area .ttl {
	position: relative;
	z-index: 9;
	color: #3093AA;
	font-size: 64px;
	font-weight: 700;
}
.top_doctor .ttl_area .en {
	position: absolute;
	top: -40px;
	left: 330px;
	color: rgba(48, 147, 170, 0.08);
	font-size: 160px;
	font-weight: 700;
	font-style: italic;
	letter-spacing: 0;
}
.top_doctor_frame {
	position: relative;
	margin-top: 40px;
	background: url(../../images/top/bg_doctor.jpg) bottom no-repeat;
	background-size: 100% auto;
	display: flex;
	justify-content: flex-end;
}
.top_doctor_frame .pic {
	position: absolute;
	top: 0;
	left: 0;
	width: 744px;
}
.top_doctor_frame .pic .diagonal {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 572px;
}
.top_doctor_frame .conts {
	position: relative;
	z-index: 9;
	padding: 0 0 40px;
}
.top_doctor_frame .conts .human {
	width: 567px;
}
.top_doctor_frame .conts .info {
	position: relative;
	padding: 20px 0 20px 60px;
	background: url(../../images/top/bg_doctor_1.png) left top no-repeat;
	background-size: cover;
}
.top_doctor_frame .conts .info .name {
	position: absolute;
	top: -60px;
	left: 80px;
	color: #fff;
	font-size: 50px;
	font-weight: bold;
	-webkit-text-stroke: 2px #3093AA;
	text-stroke: 2px #3093AA;
 	paint-order: stroke;
}
.top_doctor_frame .conts .info .name span {
	margin-right: 20px;
	color: #fff;
	font-size: 25px;
	font-weight: bold;	
}
.top_doctor_frame .conts .info dl {
	padding: 10px 0;
	font-size: 16px; 
}
.top_doctor_frame .conts .info dl > div {
	display: flex;
}
.top_doctor_frame .conts .info dl + dl {
	border-top: 1px solid #A7A7A7;
}
.top_doctor_frame .conts .info dl dt {
	width: 100px;
	text-align: center;
}
.top_doctor_frame .conts .info dl dt,
.top_doctor_frame .conts .info dl dd {
	font-weight: 500;	
}

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

	.top_doctor .ttl_area {
		padding: 7.5vw 0 2vw 6vw;
	}
	.top_doctor .ttl_area .ttl {
		font-size: 6vw;
	}
	.top_doctor .ttl_area .en {
		top: 0;
		left: 28vw;
		font-size: 10vw;
	}
	.top_doctor_frame {
		margin-top: 3vw;
	}
	.top_doctor_frame .pic {
		width: 66vw;
	}
	.top_doctor_frame .pic .diagonal {
		width: 51vw;
	}
	.top_doctor_frame .conts {
		padding: 0 0 3vw;
	}
	.top_doctor_frame .conts .human {
		width: 60vw;		
		display: flex;
		justify-content: flex-end;
	}
	.top_doctor_frame .conts .human img {
		width: 48vw;
	}
	.top_doctor_frame .conts .info {
		padding: 2vw 0 2vw 8vw;
	}
	.top_doctor_frame .conts .info .name {
		top: -5vw;
		left: 6vw;
		font-size: 4.5vw;
	}
	.top_doctor_frame .conts .info .name span {
		margin-right: 2vw;
		font-size: 2.2vw;
	}
	.top_doctor_frame .conts .info dl {
		padding: 1vw 0;
	}
	.top_doctor_frame .conts .info dl dt {
		width: 10vw;
	}
	.top_doctor_frame .conts .info dl dt,
	.top_doctor_frame .conts .info dl dd {
		font-size: 1.6vw;	
	}
}
@media screen and (max-width: 567px) {
	
	.top_doctor .ttl_area .ttl {
		font-size: 8vw;
	}
	.top_doctor .ttl_area .en {
		left: 40vw;
		font-size: 15vw;
	}	
	.top_doctor_frame .conts .human {
		width: 90vw;	
	}
	.top_doctor_frame .conts .info {
		padding: 2vw 0 2vw 12vw;
	}
	.top_doctor_frame .conts .info .name {
		top: -8.5vw;
		left: 9vw;
		font-size: 7vw;
	}
	.top_doctor_frame .conts .info .name span {
		margin-right: 3vw;
		font-size: 4vw;
	}
	.top_doctor_frame .conts .info dl {
		padding: 2vw 0;
	}
	.top_doctor_frame .conts .info dl dt {
		width: 20vw;
	}
	.top_doctor_frame .conts .info dl dt,
	.top_doctor_frame .conts .info dl dd {
		font-size: 3vw;	
	}	
}

/* mtm */

.top_mtm .frame2 {
	background: url(../../images/top/bg_mtm.jpg) center no-repeat;
	background-size: cover;
	padding: 60px 0;
}
.top_mtm .inner {
	width: 1100px;
	margin: 0 auto;
	padding: 90px 20px;	
	background: #FFFCF8;
	border: 2px solid #927052;
	border-radius: 10px;
	box-shadow: 0 0 20px rgba(0,0,0,.1);
}
.top_mtm .ttl_area {
	text-align: center;
}
.top_mtm .ttl_area .ttl {
	font-size: 56px;
	font-weight: 500;
}
.top_mtm .ttl_area .ttl span {
	color: #009DA3;
	font-size: 56px;
	font-weight: 700;
}
.top_mtm .ttl_area .ttl span.mtm {
	font-size: 88px;
}
.top_mtm .ttl_area .text {
	font-size: 40px;
	font-weight: 500;	
	text-align: center;
}
.top_mtm_ul {
	position: relative;
	display: flex;
	justify-content: space-between;
	margin: 90px 0;
}
.top_mtm_ul li {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 35%;
	background: url(../../images/top/bg_mtm_circle.png) center no-repeat;
	background-size: cover;
	aspect-ratio: 1;
}
.top_mtm_ul li:nth-of-type(2) {
	position: absolute;
	z-index: 9;
	top: -27.5px;
	left: 0;
	right: 0;
	margin: auto;
	width: 40%;
}
.top_mtm_ul li .mtm_ttl {
	color: #927052;
	font-size: 43px;
	font-weight: 700;
}
.top_mtm_ul li .mtm_text {
	margin-top: 10px;
	font-size: 30px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0;
}

@media screen and (max-width: 1240px) {
	
	.top_mtm .frame2 {
		padding: 5vw 0;
	}
	.top_mtm .inner {
		width: calc(100% - 40px);
		padding: 7.5vw 2vw;	
	}
	.top_mtm .ttl_area .ttl {
		font-size: 5vw;
	}
	.top_mtm .ttl_area .ttl span {
		font-size: 5vw;
	}
	.top_mtm .ttl_area .ttl span.mtm {
		font-size: 7vw;
	}
	.top_mtm .ttl_area .text {
		font-size: 3vw;
	}
	.top_mtm_ul {
		margin: 7.5vw 0;
	}
	.top_mtm_ul li:nth-of-type(2) {
		top: -2.3vw;
	}
	.top_mtm_ul li .mtm_ttl {
		font-size: 3.5vw;
	}
	.top_mtm_ul li .mtm_text {
		margin-top: 1vw;
		font-size: 2.5vw;
	}	
	
}
@media screen and (max-width: 567px) {
	
	.top_mtm .frame2 {
		padding: 6vw 0;
	}
	.top_mtm .inner {
		width: calc(100% - 8vw);
		padding: 6vw 4vw;	
	}
	.top_mtm .ttl_area .ttl {
		font-size: 6.4vw;
	}
	.top_mtm .ttl_area .ttl span {
		font-size: 6.4vw;
	}
	.top_mtm .ttl_area .ttl span.mtm {
		font-size: 8.8vw;
	}
	.top_mtm .ttl_area .text {
		font-size: 4vw;
	}
	.top_mtm_ul {
		margin: 40vw 0 8vw;
	}
	.top_mtm_ul li {
		width: 48.5%;
	}
	.top_mtm_ul li:nth-of-type(2) {
		top: -35vw;
		width: 55%;
	}
	.top_mtm_ul li .mtm_ttl {
		font-size: 4.5vw;
	}
	.top_mtm_ul li .mtm_text {
		margin-top: 1vw;
		font-size: 3.75vw;
	}	
	
}

.top_mtm .subttl {
	font-size: 56px;
	font-weight: 700;
	text-align: center;
}
.top_mtm .subttl2 {
	color: #009DA3;
	font-size: 48px;
	font-weight: 700;	
	text-align: center;
}
.top_mtm .subttl2 span {
	background: url(../../images/top/line_mtm.png) bottom no-repeat;
	background-size: 100% auto;
	font-size: 48px;
	font-weight: 700;		
	color: #464646;
}
.top_mtm .btn {
	margin: 90px auto 0;
	width: 600px;
}
.top_mtm .btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	background: #7D7A75;
	border: 1px solid #fff;
	border-radius: 8px;
	box-shadow: 0 10px 10px rgba(0,0,0,.2);
	padding: 15px;
 	color: #fff;
	font-size: 40px; 	
	font-weight: 400;
	text-align: center;
}
.top_mtm .btn a span {
	font-size: 40px;
	font-weight: 400;
}

@media screen and (max-width: 1240px) {
	
	.top_mtm .subttl {
		font-size: 4.8vw;
	}
	.top_mtm .subttl2 {
		font-size: 4vw;
	}
	.top_mtm .subttl2 span {
		font-size: 4vw;
	}
	.top_mtm .btn {
		margin: 7.5vw auto 0;
		width: 50vw;
	}
	.top_mtm .btn a {
		gap: 2vw;
		padding: 1.5vw;
		font-size: 3.5vw; 	
	}
	.top_mtm .btn a span {
		font-size: 3.5vw; 
	}
	
}
@media screen and (max-width: 567px) {
	
	.top_mtm .subttl {
		font-size: 5.5vw;
	}
	.top_mtm .subttl2 {
		font-size: 5.5vw;
	}
	.top_mtm .subttl2 span {
		background-size: 60% auto;
		display: block;
		font-size: 5.5vw;
	}
	.top_mtm .btn {
		margin: 9vw auto 0;
		width: 100%;
	}
	.top_mtm .btn a {
		padding: 4vw;
		font-size: 5vw; 	
	}
	.top_mtm .btn a span {
		font-size: 5vw; 
	}	
	
}



/* keep */

.top_keep_head {
	position: relative;
	background: url(../../images/top/bg_keep_01.jpg) no-repeat;
	background-size: cover;
	padding: 80px 0;
}
.top_keep_head .pic {
	position: absolute;
	right: 0;
	bottom: -10px;
	width: 512px;
}
.top_keep_ttl {
	position: relative;
	z-index: 8;	
	margin: 0 0 40px 100px;
	width: 656px;
}
.top_keep_subttl {
	position: relative;
	z-index: 9;
	display: inline-block;
	padding: 5px 50px 5px 30px;
	background: url(../../images/top/bg_keep_band.png) no-repeat;
	background-size: cover;
	color: #fff;
	font-size: 64px;
	font-weight: 700;
}

.top_keep_conts {
	background: url(../../images/top/bg_keep_02.jpg) center no-repeat;
	background-size: cover;
	padding: 60px 0;	
}
.top_keep_ul {
	width: 1150px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.top_keep_ul li {
	width: 32%;
	background: url(../../images/top/triangle_keep.png) right bottom no-repeat #fff;
	background-size: 30px auto;
}
.top_keep_ul li h5 {
	padding: 15px 0 10px;
	color: #14AAB1;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
}
.top_keep_ul li .text {
	padding: 0 30px 20px;
	font-size: 14px;
	font-weight: 500;
}

@media screen and (max-width: 1240px) {
	
	.top_keep_head {
		padding: 7vw 0;
	}
	.top_keep_head .pic {
		bottom: -1vw;
		width: 45vw;
	}
	.top_keep_ttl {
		margin: 0 0 3vw 5vw;
		width: 60vw;
	}
	.top_keep_subttl {
		padding: .5vw 4vw .5vw 2.5vw;
		font-size: 5vw;
	}
	
	.top_keep_conts {
		padding: 5vw 0;	
	}
	.top_keep_ul {
		width: calc(100% - 40px);
	}
	.top_keep_ul li {
		background-size: 2.5vw auto;
	}
	.top_keep_ul li h5 {
		padding: 1.5vw 0 1vw;
		font-size: 1.875vw;
	}
	.top_keep_ul li .text {
		padding: 0 2vw 2vw;
		font-size: 1.3vw;
	}
	
}
@media screen and (max-width: 567px) {
	
	.top_keep_conts {
		padding: 6vw 0 2vw;	
		background-size: 100% 100%;
	}
	.top_keep_ul {
		width: calc(100% - 8vw);
		display: block;
	}
	.top_keep_ul li {
		width: 100%;
		margin-bottom: 4vw;
		background-size: 4vw auto;
		display: flex;
	}
	.top_keep_ul li .pic {
		width: 40%;
	}
	.top_keep_ul li .pic img {
		object-fit: cover;
		height: 37vw;
	}
	.top_keep_ul li .conts {
		width: 60%;
	}	
	.top_keep_ul li h5 {
		padding: 3vw 4vw 2vw;
		font-size: 4.25vw;
		text-align: left;
	}
	.top_keep_ul li .text {
		padding: 0 4vw 3vw;
		font-size: 3vw;
		letter-spacing: 0;
	}
	
}

/* mission */

.top_mission .frame2 {
	background: url(../../images/top/bg_mission_02.jpg) no-repeat #f9f9f9;
	background-position: top 710px center;
	background-size: 100% auto;
}
.top_mission .inner {
	position: relative;
	top: -270px;	
	margin-bottom: -170px;
}
.top_mission_ttl {
	position: relative;	
	text-align: center;	
}
.top_mission_ttl span {
	margin: 0 auto;
	display: inline-block;
	color: #fff;
	font-size: 96px;
	font-weight: 500;
	text-shadow: 0 0 10px rgba(0,0,0,.75);
}
.top_mission_ttl::before,
.top_mission_ttl::after {
	position: absolute;
	display: block;
	content: "";
	top: 50%;
	left: 0;
	width: 300px;
	height: 1px;
	background: #fff;
}
.top_mission_ttl::after {
	left: auto;
	right: 0;
}
.top_mission_box {
	width: 960px;
	margin: 40px auto;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 20px 20px rgba(0,0,0,.33);
}
.top_mission_box .ttl {
	padding: 40px 0 30px;
	color: #70665B;
	font-size: 64px;
	font-weight: 500;
	text-align: center; 
}
.top_mission_box .ttl span {
	color: #A8840A;
	font-size: 80px;
	font-weight: 700;
}
.top_mission_box .band {
	position: relative;
	margin-left: -20px;
	width: calc(100% + 20px);
	padding: 15px 40px;
	background: linear-gradient(to right, #ADADAD, #777266);
	color: #fff;
	font-size: 56px;
}
.top_mission_box .band h5:last-child {
	text-align: right;
}
.top_mission_box .band::before {
	position: absolute;
	content: '';
	top: -30px;
	left: 0;
	width: 0;
	height: 0;
	border: none;
	border-left: solid 20px transparent;
	border-bottom: solid 30px #645B47;
}
.top_mission_box .texts {
	padding: 40px 60px 20px;
}
.top_mission_box .texts p {
	margin-bottom: 40px;
	color: #70665B;
	font-size: 28px;
	font-weight: 500;
}
.top_mission_box .texts p span {
	color: #A8840A;
	font-size: 28px;
	font-weight: 700;	
}

@media screen and (max-width: 1240px) {
	
	.top_mission .frame2 {
		background-position: top 60vw center;
	}
	.top_mission .inner {
		top: -24vw;	
		margin-bottom: -15vw;
	}
	.top_mission_ttl span {
		font-size: 7.2vw;
	}
	.top_mission_ttl::before,
	.top_mission_ttl::after {
		width: 25vw;
	}
	.top_mission_box {
		width: calc(100% - 40px);
		margin: 3vw auto;
	}
	.top_mission_box .ttl {
		padding: 3vw 0 2.5vw;
		font-size: 4.8vw;
	}
	.top_mission_box .ttl span {
		font-size: 6.4vw;
	}
	.top_mission_box .band {
		padding: 1.5vw 9vw;
		font-size: 5vw;
	}
	.top_mission_box .texts {
		padding: 3vw 4vw 2vw;
	}
	.top_mission_box .texts p {
		margin-bottom: 3vw;
		font-size: 2.4vw;
	}
	.top_mission_box .texts p span {
		font-size: 2.4vw;
	}
	
}
@media screen and (max-width: 567px) {
	
	.top_mission_ttl span {
		font-size: 9vw;
	}
	.top_mission_box {
		width: calc(100% - 8vw);
		margin: 3vw auto;
	}
	.top_mission_box .ttl {
		padding: 3vw 0 2.5vw;
		font-size: 6vw;
	}
	.top_mission_box .ttl span {
		font-size: 7.2vw;
	}
	.top_mission_box .band {
		margin-left: -3vw;
		width: calc(100% + 3vw);
		padding: 3vw 6vw;
		font-size: 6.66vw;
	}
	.top_mission_box .band::before {
		top: -4.5vw;
		border-left: solid 3vw transparent;
		border-bottom: solid 4.5vw #645B47;
	}
	.top_mission_box .texts {
		padding: 4vw 6vw 2vw;
	}
	.top_mission_box .texts p {
		margin-bottom: 4vw;
		font-size: 4vw;
	}
	.top_mission_box .texts p span {
		font-size: 4vw;
	}	
	
}

.top_mission_subttl {
	color: #70665B;
	font-size: 72px;
	font-weight: 500;	
	text-align: center;
}
.top_mission_subttl span {
	color: #A8840A;
	font-size: 96px;
	font-style: italic;
	font-weight: 700;
}
.top_mission_ul {
	display: flex;
	justify-content: space-between;
	width: 1040px; 
	margin: 120px auto 60px;
}
.top_mission_ul li {
	width: 31.5%;
}
.top_mission_ul li .pic {
	
}
.top_mission_ul li .conts {
	
}
.top_mission_ul li .conts .ttl {
	margin: 15px 0;
	padding: 2px;
	background: url(../../images/top/bg_mission_ttl.png) no-repeat;
	background-size: cover;
	color: #fff;	
	font-size: 20px;
	font-weight: 700;
	text-align: center;
}
.top_mission_ul li .conts .ttl span {
	display: inline-block;
	font-size: 30px;
	font-weight: 700;	
}
.top_mission_ul li .conts .ttl span::first-letter {
	font-size: 36px;
}
.top_mission_ul li .conts .text {
	color: #70665B;
	font-size: 16px;
	font-weight: 500;
}
.top_mission .pics {
	position: relative;
	padding: 0 0 60px;
	background: url(../../images/top/bg_mission_03.jpg) bottom no-repeat #f9f9f9;
	background-size: 100% 600px;
}
.top_mission .pics .pic {
	width: 1040px;
	margin: 0 auto;
}
.top_mission .pics .picsub {
	position: absolute;
	background: url(../../images/top/bg_mission_picsub.jpg) center no-repeat;
	background-size: cover;
	padding: 10px;
	right: 0;
	bottom: 0;
	width: 540px;	
}

@media screen and (max-width: 1240px) {
	
	.top_mission_subttl {
		font-size: 6vw;
	}
	.top_mission_subttl span {
		font-size: 7.2vw;
	}
	.top_mission_ul {
		width: calc(100% - 40px); 
		margin: 9vw auto 5vw;
	}
	.top_mission_ul li {
		width: 32%;
	}
	.top_mission_ul li .conts .ttl {
		margin: 1.5vw 0;
		padding: .2vw;
		font-size: 1.75vw;
	}
	.top_mission_ul li .conts .ttl span {
		font-size: 2.5vw;
	}
	.top_mission_ul li .conts .ttl span::first-letter {
		font-size: 3vw;
	}
	.top_mission_ul li .conts .text {
		font-size: 1.5vw;
	}
	.top_mission .pics {
		padding: 0 0 5vw;
		background-size: 100% 50vw;
	}
	.top_mission .pics .pic {
		width: calc(100% - 40px); 
	}
	.top_mission .pics .picsub {
		padding: 1vw;
		width: 45vw;	
	}	
	
}
@media screen and (max-width: 567px) {
	
	.top_mission_subttl {
		font-size: 8vw;
	}
	.top_mission_subttl span {
		font-size: 9vw;
	}
	.top_mission_ul {
		display: block;
		width: calc(100% - 8vw); 
	}
	.top_mission_ul li {
		width: 100%;
		margin-bottom: 4vw;
		display: flex;
		justify-content: space-between;
	}
	.top_mission_ul li .pic {
		width: 40%;
		margin-top: 1.5vw;
	}
	.top_mission_ul li .conts {
		width: 55%;
	}
	.top_mission_ul li .conts .ttl {
		margin: 1.5vw 0;
		padding: 1vw;
		font-size: 3vw;
	}
	.top_mission_ul li .conts .ttl span {
		font-size: 3.5vw;
	}
	.top_mission_ul li .conts .ttl span::first-letter {
		font-size: 4vw;
	}
	.top_mission_ul li .conts .text {
		font-size: 2.75vw;
	}
	.top_mission_ul li .conts .text br {
		display: none;
	}
	.top_mission .pics {
		padding: 0 0 8vw;
	}
	.top_mission .pics .pic {
		width: calc(100% - 8vw);
		margin: 0;
	}
	.top_mission .pics .picsub {
		padding: 1.5vw;
		width: 50vw;	
	}	
		
}

/* needs */

.top_needs_head {
	position: relative;
	padding: 40px 0 0;
	background: linear-gradient(to bottom, #f4f4f4, #fff);
	text-align: center;	
}
.top_needs_head .title {
	margin-bottom: 40px;
	color: #44ADC5;
	font-size: 72px;
	font-weight: 500;	
}
.top_needs_head .inner {
	position: absolute;
	z-index: 9;
	left: 0;
	bottom: 60px;
	width: 100%;
}
.top_needs_head .name {
	display: inline-block;
	margin: 0 0 20px;
	padding: 0 20px;
	background: #50CCE8;
	color: #fff;
	font-size: 50px;
	font-weight: 700;	
}
.top_needs_head .text {
	font-size: 56px;	
	font-weight: 500;	
}
.top_needs_head .text span {
	color: #44ADC5;	
	font-size: 72px;
	font-weight: 600;	
}

@media screen and (max-width: 1240px) {
	
	.top_needs_head {
		padding: 3vw 0 0;
	}
	.top_needs_head .title {
		margin-bottom: 3vw;
		font-size: 5.6vw;
	}
	.top_needs_head .inner {
		bottom: 5vw;
	}
	.top_needs_head .name {
		margin: 0 0 2vw;
		padding: 0 2vw;
		font-size: 4vw;
	}
	.top_needs_head .text {
		font-size: 5vw;	
	}
	.top_needs_head .text span {
		font-size: 5.6vw;
	}	
	
}

.top_needs_main {
	background: url(../../images/top/bg_needs_02.jpg) center bottom no-repeat;
	background-size: 100% 100%;
	padding: 40px 0 10px;
}
.top_needs_ul {
	width: 960px;
	margin: 0 auto;
}
.top_needs_ul li {
	position: relative;
	margin-bottom: 80px;
	background: linear-gradient(to right, #f5f5f5, #ddd);
}
.top_needs_ul li .num {
	position: absolute; 
	z-index: 9;
	top: -45px;
	left: 10px;
	width: 125px;
}
.top_needs_ul li .triangle {
	position: absolute; 
	z-index: 8;
	top: 0;
	left: 0;
	width: 126px;	
}
.top_needs_ul li .flexbox {
	display: flex;
}
.top_needs_ul li .flexbox .pic {
	width: calc(50% - 20px);
	padding: 20px 0 20px 20px;
}
.top_needs_ul li .flexbox .conts {
	position: relative;
	width: calc(50% + 20px);
}
.top_needs_ul li .flexbox .conts .ttl {
	margin: 60px 0 20px 30px;
	font-size: 45px;
	font-weight: 500;
}
.top_needs_ul li .flexbox .conts .ttl span {
	font-size: 26px;
	margin-left: 20px;
	font-weight: 500;
}
.top_needs_ul li .flexbox .conts .texts {
	position: absolute;
	right: 0;
	bottom: -20px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	height: 220px;
	padding: 20px 0 20px 30px;
	background: url("../../images/top/bg_needs_text.jpg") center;
	background-size: cover; 
	border: 1px solid #ccc;
	box-shadow: 0 0 15px rgba(0,0,0,.1);
	border-radius: 10px;
}
.top_needs_ul li .flexbox .conts .checktxt {
	position: relative;
	width: 100%;
	padding-left: 36px;
	font-size: 24px; 
	font-weight: 400;
}
.top_needs_ul li .flexbox .conts .checktxt::before {
	position: absolute;
	display: block;
	content: "";
	top: 8px;
	left: 0;
	background: url(../../images/top/check_04.png) no-repeat;
	background-size: cover;
	width: 22px;
	height: 25px;
}

.top_needs_ul li:nth-of-type(1) {
	background: linear-gradient(to right, #E8DC90, #FFFAE7);
}
.top_needs_ul li:nth-of-type(1) .ttl {
	color: #9D7800;
}
.top_needs_ul li:nth-of-type(1) .ttl span {
	color: #DCB122;
}
.top_needs_ul li:nth-of-type(1) .conts .texts {
	border-color: rgba(224, 206, 94, .5);
	box-shadow: 0 0 15px rgba(224, 206, 94, .2);
}
.top_needs_ul li:nth-of-type(2) {
	background: linear-gradient(to right, #99C9CB, #D4EDEE);
}
.top_needs_ul li:nth-of-type(2) .ttl {
	color: #006698;
}
.top_needs_ul li:nth-of-type(2) .ttl span {
	color: #4DBEC4;
}
.top_needs_ul li:nth-of-type(2) .conts .texts {
	border-color: rgba(42, 162, 222, .5);
	box-shadow: 0 0 15px rgba(42, 162, 222, .2)
}
.top_needs_ul li:nth-of-type(2) .flexbox .conts .checktxt::before {
	filter: brightness(0) saturate(100%) invert(82%) sepia(55%) saturate(6651%) hue-rotate(170deg) brightness(95%) contrast(83%);
}
.top_needs_ul li:nth-of-type(3) {
	background: linear-gradient(to right, #B4DFC8, #DCF3DE);
}
.top_needs_ul li:nth-of-type(3) .ttl {
	color: #008664;
}
.top_needs_ul li:nth-of-type(3) .ttl span {
	color: #50CB8B;
}
.top_needs_ul li:nth-of-type(3) .conts .texts {
	border-color: rgba(80, 203, 139, .5);
	box-shadow: 0 0 15px rgba(80, 203, 139, .2);
}
.top_needs_ul li:nth-of-type(3) .flexbox .conts .checktxt::before {
	filter: brightness(0) saturate(100%) invert(84%) sepia(78%) saturate(423%) hue-rotate(70deg) brightness(86%) contrast(83%);
}

@media screen and (max-width: 1240px) {
	
	.top_needs_main {
		padding: 3vw 0 1vw;
	}
	.top_needs_ul {
		width: calc(100% - 40px);
	}
	.top_needs_ul li {
		margin-bottom: 7vw;
	}
	.top_needs_ul li .num {
		top: -4vw;
		left: 1vw;
		width: 10vw;
	}
	.top_needs_ul li .triangle {
		width: 10vw;	
	}
	.top_needs_ul li .flexbox .pic {
		width: calc(50% - 2vw);
		padding: 2vw 0 2vw 2vw;
	}
	.top_needs_ul li .flexbox .conts {
		width: calc(50% + 2vw);
	}
	.top_needs_ul li .flexbox .conts .ttl {
		margin: 5vw 0 2vw 2.5vw;
		font-size: 4vw;
	}
	.top_needs_ul li .flexbox .conts .ttl span {
		font-size: 2.5vw;
		margin-left: 2vw;
	}
	.top_needs_ul li .flexbox .conts .texts {
		bottom: -2vw;
		height: 20vw;
		padding: 2vw 0 2vw 2.5vw;
	}
	.top_needs_ul li .flexbox .conts .checktxt {
		padding-left: 3vw;
		font-size: 2.5vw; 
	}
	.top_needs_ul li .flexbox .conts .checktxt::before {
		top: 1vw;
		width: 2vw;
		height: 2.3vw;
	}	
	
}
@media screen and (max-width: 567px) {
	
	.top_needs_ul {
		width: calc(100% - 8vw);
	}
	.top_needs_ul li .num {
		top: -4vw;
		left: 2vw;
		width: 12.5vw;
	}
	.top_needs_ul li .triangle {
		width: 12.5vw;	
	}	
	.top_needs_ul li .flexbox .pic {
		width: calc(45% - 3vw);
		padding: 3vw 0 3vw 3vw;
	}
	.top_needs_ul li .flexbox .conts {
		width: calc(55% + 3vw);
	}
	.top_needs_ul li .flexbox .conts .ttl {
		margin: 3vw 0 0 4vw;
		font-size: 5vw;
	}
	.top_needs_ul li .flexbox .conts .ttl span {
		font-size: 3.75vw;
	}
	.top_needs_ul li .flexbox .conts .texts {
		left: -1.5vw;
		height: 21vw;
	}
	.top_needs_ul li .flexbox .conts .checktxt {
		font-size: 2.625vw; 
	}
	
}


/* info */

.top_info .frame2 {
	position: relative;
}
.top_info_ul {
	position: absolute;
	z-index: 9;
	bottom: 120px;
	left: 24px;
}
.top_info_ul li {
	margin-top: 30px;
	font-size: 36px;
	font-weight: 500;
}
.top_info_ul li span {
	color: #44ADC5;
	font-size: 36px;
	font-weight: 600;
}

@media screen and (min-width: 568px) and (max-width: 1240px) {
	
	.top_info_ul {
		bottom: 9vw;
		left: 2vw;
	}
	.top_info_ul li {
		margin-top: 3vw;
		font-size: 3vw;
	}
	.top_info_ul li span {
		font-size: 3vw;
	}
	
}
@media screen and (max-width: 567px) {
	
	.top_info_ul {
		display: flex;
		flex-wrap: wrap;
		bottom: 14vw;
		left: 14vw;
		flex-direction: column-reverse;
	}
	.top_info_ul li {		
		margin-top: 4vw;
		font-size: 5vw;
	}
	.top_info_ul li span {
		font-size: 5vw;
	}
		
}

/* mv */

.top_catch img {
	width: 100%;
	object-fit: cover;
}
.top_mv {
	position: relative;
	background: #F5F4F2;
}
.top_mv .inner {
	position: absolute;
	z-index: 9;
	top: 0;
	left: 0;
	width: 100%;
}
.top_mv .text {
	width: 60vw;
	margin: 9vw 0 4vw;
}
.top_mv .p_contactTable {
	width: 50vw;
}

@media screen and (min-width: 1500px) {	
	.top_mv .text {
		width: 804px;
		margin: 12vw 0 6vw;
	}
	.top_mv .p_contactTable {
		width: 720px;
	}		
}
@media screen and (min-width: 568px) and (max-width: 1023px) {	
	.top_catch img {
		height: 12.5vw;
	}	
	.top_mv .text {
		width: 54vw;
		margin: 7vw 0 3.5vw;
	}
	.top_mv .p_contactTable {
		width: 50vw;
	}		
}
@media screen and (max-width: 567px) {	
	.top_catch img {
		height: 14vw;
	}	
	.top_mv {
		padding-bottom: 50vw;
	}
	.top_mv .text {
		width: 40vw;
		margin: 7vw 0;
	}
	.top_mv .p_contactTable {
		width: 100%;
	}	
}

/* common */

.top {
	color: #464646;
	
}
.top li,
.top span,
.top p {
	font-weight: 500;
}

.frame,
.frame2 {
	max-width: 1200px;
	margin: 0 auto;
}
.sp {
	display: none;
}
.serif,
.serif li,
.serif em,
.serif span {
	font-family: "Noto Serif JP", serif!important;
}

.top h1, 
.top h2, 
.top h3, 
.top h4, 
.top h5, 
.top h6, 
.top ul li,
.top ul li span {	
	letter-spacing: 0;
}

.p_contactTable table {
    border: 1px solid #99C9CB;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 10px;
    overflow: hidden;	
}
.p_contactTable th,
.p_contactTable td {
    padding: 10px 5px;
    font-weight: 500;
}
.p_contactTable tr.table_end th,
.p_contactTable tr.table_end td,
.p_contactTable thead th,
.p_contactTable thead td {
    background: #99C9CB;
    color: #fff;
    text-align: center;
    font-size: 16px;
}
.p_contactTable tbody tr th {
    text-align: center;
    border-top: 1px solid #99C9CB;
	background: #fff;
}
.p_contactTable tbody tr td {
    border-top: 1px solid #99C9CB;
	background: #fff;
}
.p_contactTable tr.table_end td {
    text-align: left;
}
.p_contactTable td span {
    display: block;
    color: #99C9CB;
    text-align: center;
}

@media screen and (min-width: 568px) and (max-width: 1240px) {
	
	.frame {
		padding: 0 20px;
	}	
	
	.p_contactTable thead td,
	.p_contactTable th,
	.p_contactTable td {
		padding: .5vw .25vw!important;
		height: auto!important;
	}
	.p_contactTable tr.table_end th,
	.p_contactTable tr.table_end td,
	.p_contactTable thead th,
	.p_contactTable thead td,
	.p_contactTable tbody th,
	.p_contactTable tbody td {
		font-size: 1.5vw;
	}	
	
}
@media screen and (max-width: 567px) {
	
	.frame {
		padding: 0 4vw;
	}		
	.frame2 {
		overflow-x: hidden;
	}	
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	
	.p_contactTable thead td,
	.p_contactTable th,
	.p_contactTable td {
		padding: 2vw 1vw!important;
		height: auto!important;
	}	
	.p_contactTable tr.table_end th,
	.p_contactTable tr.table_end td,
	.p_contactTable thead th,
	.p_contactTable thead td,
	.p_contactTable tbody th,
	.p_contactTable tbody td {
		font-size: min(3.5vw,16px);
	}	
	
}	

