@charset "utf-8";
/*
Theme Name: kaji-shokai
Author: YES-REFORM CO., LTD.
*/

/* Body
========================================== */
html, body{
	width: 100%;
	font-size: 62.5%;/*10px*/
}
body {
	color: #333;
	line-height: 1.8;
	background-color: #fff;
	font-size: 1.6rem;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
}
@media screen and (max-width: 599px) {
	body{
		word-wrap:break-word;
		font-size: 1.4rem;}
}
@media screen and (min-width: 769px) {.tablet {display:none!important;}}
@media screen and (min-width: 600px) {.sp {display:none!important;}}
@media screen and (max-width: 840px) {.pc {display:none!important;}}

/* contents
========================================== */
/* .contents{
	overflow: hidden;
	margin:0 auto;
	width:100%;
}
.contents p + p {
	margin-top: 1.5em;
}
.contentsInner {
	margin:0 auto;
	padding: 0;
	width:1200px;
}

@media screen and (max-width:1200px) {
	.contentsInner{
		width: 100%;
		padding: 0 30px;}
}
@media screen and (max-width:599px) {
	.contentsInner{padding: 0 20px;}
} */

/* header
========================================== */
.header {
	position: fixed;
	top: 0;
	z-index: 100;
	width: 100%;
	height: 110px;
	padding: 0.5em 1em 0.5em;
	background-color: rgba(255, 255, 255, 0.8);
}
.topPage .header {
	padding: 0.6em 1em 0.2em;
}
.topPage .header::after {
	content: "";
	display: inline-block;
	width: 100%;
	height: 2.4vw;
	min-height: 50px;
	position: absolute;
	top: 100%;
	left: 0;
	background-image: url(./images/bg_header.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}
.header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1500px;
	position: relative;
	margin: 0 auto;
}
/*active*/
.header.active {
	padding: 0.6em 1em;
}
.header.active::after {
	content: none;
}
/*logo*/
.header .logoArea {
	width: 170px;
}
.header .logo a {
	display: block;
	color: inherit;
	font-weight: 500;
	text-decoration: none;
}
.header .logo a > .wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header .logoMark img {
	width: 100%;
}
.header .logoMark {
	width: 42%;
}
.header .logoType {
	font-size: 1.6em;
	line-height: 1.3;
	transition: all 0.2s;
}
.header .logoType > .small {
	display: block;
	font-size: 0.6em;
}
.header .logo a:hover .logoType {
	opacity: 0.8;
}
/*inner*/
.header_innerRight {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: min(2.8vw, 2.5em);
	width: calc(100% - (170px + 2em));
}
/*gnav*/
.header .gnavWrap {
	display: flex;
	gap: min(2.6vw, 2.5em);
}
.header .gnavItem {
	position: relative;
}
.header .gnavItem a {
	color: inherit;
	font-size: clamp(14px, 1.1vw, 16px);
	font-weight: 600;
	text-decoration: none;
}
.header .gnavItem a > .wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5em;
	position: relative;
	transition: all 0.2s;
}
.header .gnavItem a:hover .txt {
	opacity: 0.8;
}
.header .gnavItem a > .wrap::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 10;
	width: 0;
  height: 0;
	visibility: visible;
	opacity: 1;
  border-style: solid;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-bottom: 9px solid #518cb1;
  border-top: 0;
	visibility: hidden;
	opacity: 0;
	transform: translate(-50%, 10px);
	transition: all 0.2s;
}
.header .gnavItem a:hover > .wrap::after {
	visibility: visible;
	opacity: 1;
	transform: translate(-50%, 0);
}
.header .gnavItem-other a:hover .txt {
	opacity: 1;
}
.header .gnavItem-other a > .wrap::after {
	content: none;
}
/*dropdown*/
.header .gnavItem > .dropdown_itemWrap {
	position: absolute;
	top: 88px;
	left: 50%;
	z-index: -10;
	width: 8.8em;
	padding-bottom: 0.5em;
	background-color: rgba(255, 255, 255, 0.8);
	text-align: center;
	visibility: hidden;
	opacity: 0;
	transform: translateX(-50%);
	transition: all 0.2s;
}
.header .gnavItem:hover > .dropdown_itemWrap {
	z-index: 10;
	visibility: visible;
	opacity: 1;
}
/* .header .gnavItem-other > .dropdown_itemWrap {
	width: 8em;
}
.header .gnavItem-company > .dropdown_itemWrap {
	width: 6em;
} */
.header .gnavItem .dropdown_item > a {
	display: block;
	position: relative;
	padding: 1em 0;
}
.header .gnavItem .dropdown_item a > .txt {
	display: inline-block;
	position: relative;
	line-height: 1.5;
	opacity: 1;
}
.header .gnavItem .dropdown_item > a:hover .txt {
	opacity: 0.8;
}
.header .gnavItem .dropdown_item a > .txt::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: calc(100% + 0.2em);
	left: 50%;
	z-index: 10;
	width: 0;
  height: 0;
	visibility: visible;
	opacity: 1;
  border-style: solid;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-bottom: 9px solid #518cb1;
  border-top: 0;
	visibility: hidden;
	opacity: 0;
	transform: translate(-50%, 10px);
	transition: all 0.2s;
}
.header .gnavItem .dropdown_item a:hover > .txt::after {
	visibility: visible;
	opacity: 1;
	transform: translate(-50%, 0);
}
/*infoArea*/
.header .infoArea {
	font-weight: 500;
	text-align: center;
}
.header .infoArea .address {
	line-height: 1.4;
}
.header .infoArea .address > .code {
	display: block;
}
.header .infoArea .tel a {
	color: #da5353;
	font-family: "Jost", sans-serif;
	font-size: 1.7em;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 1px;
	text-decoration: none;
	transition: all 0.2s;
}
.header .infoArea .tel a:hover {
	opacity: 0.8;
}
.header .infoArea .date {
	font-size: 0.9em;
	line-height: 1.2;
}
.header .infoArea .date > .bold {
	font-weight: 600;
}
/*btnArea*/
.header .btnArea a {
	display: block;
	padding: 0.7em 1.8em 0.7em 4em;
	background-color: #da5353;
	border: 1px solid #da5353;
	border-radius: 10px;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	text-decoration: none;
	transition: all 0.3s;
}
.header .btnArea a:hover {
	background-color: #fff;
	color: #da5353;
}
.header .btnArea a > .wrap {
	position: relative;
}
.header .btnArea a > .wrap::before {
	content: "";
	position: absolute;
	top: 50%;
	right: calc(100% + 1.3em);
	width: 1.1em;
	height: 1.7em;
	background-image: url(./images/icon_calculator.png);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: contain;
	transform: translateY(-50%);
	transition: all 0.2s;
}
.header .btnArea a:hover > .wrap::before {
	background-image: url(./images/icon_calculator_on.png);
}
.header .spBtn {
	display: none;
}
.drawer_menu {
	display: none;
}
@media screen and (max-width: 1399px){
	.header {
		height: 92px;
	}
	.header .gnavItem > .dropdown_itemWrap {
		top: 77px;
	}
	.header .infoArea {
		display: none;
	}
}
@media screen and (max-width: 1024px){
	.header {
		padding: 0.8em 1em 0.8em;
		height: 88px;
	}
	.header .gnavWrap {
		gap: min(2.1vw, 2.5em);;
	}
	.header .gnavItem > .dropdown_itemWrap {
		top: 74px;
	}
	.header .gnavItem a {
		font-size: clamp(11px, 1.3vw, 14px);
	}
	.header .btnArea a {
		font-size: clamp(11px, 1.3vw, 14px);
	}
}
@media screen and (max-width: 840px){
	.topPage .header {
		padding: 0.3em 0.3em 0.3em 1em;
	}
  .header {
		height: 54px;
		padding: 0.3em 0.3em 0.3em 1em;
	}
	.topPage .header::after {
		content: none;
	}
	.header_innerRight {
		display: none;
	}
	.header .logoArea {
		width: 110px;
	}
	.header .logoType {
		font-size: 18px;
    line-height: 1.2;
	}
	.header .spBtn {
		display: block;
		position: relative;
		z-index: 500;
		width: 45px;
		height: 45px;
	}
	/*spBtn*/
	.header .spBtn a {
		display: inline-block;
		width: 45px;
		height:45px;
		padding: 12px 10px;
		cursor: pointer;
		z-index: 200;
	}
	.header .spBtn .wrap {
		display: block;
		position: relative;
		width: 100%;
		height: 100%;
	}
	.header .spBtn .line {
		display: block;
		position: absolute;
		height: 3px;
		width: 100%;
		background-color: #518cb1;
		left: 0;
		transition: all 0.2s ease-in-out;
	}
	.header .spBtn .line:nth-child(1) {
		top: 0;
	}
	.header .spBtn .line:nth-child(2) {
		top: 8px;
	}
	.header .spBtn .line:nth-child(3) {
		top: 16px;
	}
	.header .spBtn.open .line:nth-child(1) {
		top: 8px;
		transform: rotate(45deg);
	}
	.header .spBtn.open .line:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.header .spBtn.open .line:nth-child(3) {
		top: 8px;
		transform: rotate(-45deg);
	}
	/*drawer*/
	.drawer_menu {
		overflow-y: scroll;
		position: fixed;
		top: 0px;
		left: 0px;
		display: none;
		padding:70px 30px 30px;
		width: 100vw;
		height: 100vh;
		background-color: #fff;
		z-index: 200;
	}
	.gnav_sp {
		margin-bottom: 30px;
		padding: 0 10px 10px;
	}
	.gnav_sp li a {
		display: block;
		padding: 8px 0;
		position: relative;
		border-bottom: 2px dotted #e4ecf2;
		color: #333;
		font-size: 1.6rem;
		font-weight: 600;
		text-decoration: none;
	}
	.gnav_sp li a::after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 8px;
		height: 8px;
		border-top: 2px solid #518cb1;
		border-right: 2px solid #518cb1;
		transform: rotate(45deg);
	}
	/*logo*/
	.drawerInfo .logoArea {
		width: 256px;
		margin: 0 auto 5.2vw;
	}
	.drawerInfo .logo a {
		display: block;
		color: inherit;
		font-weight: 500;
		text-decoration: none;
	}
	.drawerInfo .logo a > .wrap {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 1.5em;
	}
	.drawerInfo .logoMark img {
		width: 100%;
	}
	.drawerInfo .logoMark {
		width: 32%;
	}
	.drawerInfo .logoType {
		font-size: 2.2em;
		font-weight: 600;
		line-height: 1.2;
		transition: all 0.2s;
	}
	.drawerInfo .logoType > .small {
		display: block;
		font-size: 0.6em;
		text-align-last: left;
	}
	.drawerInfo .info {
		font-weight: 500;
		text-align: center;
	}
	.drawerInfo .info .address {
		line-height: 1.4;
	}
	.drawerInfo .info .address > .code {
		display: block;
	}
	.drawerInfo .info .tel a {
		color: #da5353;
		font-family: "Jost", sans-serif;
		font-size: 1.8em;
		font-weight: 500;
		line-height: 1.5;
		letter-spacing: 1px;
		text-decoration: none;
		transition: all 0.2s;
	}
}
@media screen and (max-width: 599px){

}

/* topMv
========================================== */
.topMv {
	height: 800px;
	background-image: url(./images/bg_mv.jpg);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: cover;
}
.topMv .inner {
	max-width: 1200px;
	height: 100%;
	position: relative;
	margin: 0 auto;
}
.topMv_txtArea {
	display: inline-block;
	position: absolute;
	top: calc(28% + 170px);
	left: 0;
	transform: translateY(-50%);
}
.topMv_txt {
	font-size: clamp(20px, 2.2vw, 32px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
	text-shadow:
	2px 2px 0px #ffffff,
	-2px 2px 0px #ffffff,
	2px -2px 0px #ffffff,
	-2px -2px 0px #ffffff,
	2px 0px 0px #ffffff,
	0px 2px 0px #ffffff,
	-2px 0px 0px #ffffff,
	0px -2px 0px #ffffff;
}
.topMv_txt > .bg-blue {
	display: inline-block;
	margin-bottom: 0.3em;
	padding: 0 0.4em;
	background-color: #62aef5;
	border-radius: 5px;
	font-size: 1.4em;
	line-height: 1.7;
}
.topMv_txt > .txt-red {
	margin-bottom: 0.3em;
	font-size: 1.4em;
	color: #da5353;
}
.topMv_btn {
	position: absolute;
	right: 0;
	bottom: 10%;
	width: 28%;
	max-width: 334px;
}
.topMv_btn .img img {
	width: 100%;
}
.topMv_btn a {
	display: inline-block;
	transition: all 0.2s;
}
.topMv_btn a:hover {
	cursor: pointer;
	opacity: 0.8;
}
@media screen and (max-width: 1399px){
	.topMv {
		height: calc(46vw + 120px);
	}
	.topMv_txtArea {
		position: absolute;
		top: 24.5vw;
		left: 1em;
	}
}
@media screen and (max-width: 1024px){
	.topMv {
		height: calc(56vw + 120px);
	}
	.topMv_txtArea {
		top: 29.5vw;
	}
}
@media screen and (max-width: 840px){
	.topMv {
		height: calc(80vw + 80px);
		background-image: url(./images/bg_mv_sp.jpg);
	}
	.topMv_txtArea {
		top: 36vw;
	}
	.topMv_btn {
		bottom: 20%;
	}
}
@media screen and (max-width: 599px){
	.topMv {
		height: calc(112vw + 80px);
	}
	.topMv_txtArea {
		top: 44vw;
	}
	.topMv_txt {
		font-size: 3.6vw;
		line-height: 1.8;
	}
	.topMv_btn {
		bottom: 22%;
		width: 36%;
	}
}
@media screen and (max-width: 430px){
	.topMv {
		height: calc(128vw + 80px);
	}
	.topMv_txtArea {
		top: 52vw;
	}
	.topMv_btn {
		bottom: 20%;
		width: 44%;
	}
}


/* topMessage
========================================== */
.topMessage {
	margin-top: -160px;
	padding: 150px 0 220px;
	background-image: url(./images/bg_message.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}
.topMessage .inner {
	max-width: 1200px;
	position: relative;
	margin: 0 auto;
}
.topMessage_desc {
	max-width: 580px;
	margin-left: auto;
}
.topMessage_desc .heading .ttl {
	margin-bottom: 1.5em;
	padding-left: 1em;
	padding-bottom: 0.8em;
	background-image: url(./images/line_message.png);
	background-repeat: no-repeat;
	background-position: bottom left;
	font-size: 1.6em;
	font-weight: 600;
	text-shadow:
		1px 1px 4px #ffffff,
		-1px 1px 4px #ffffff,
		1px -1px 4px #ffffff,
		-1px -1px 4px #ffffff,
		1px 0px 4px #ffffff,
		0px 1px 4px #ffffff,
		-1px 0px 4px #ffffff,
		0px -1px 4px #ffffff;
	}
.topMessage_desc .heading .ttl > span {
	display: inline-block;
	position: relative;
}
.topMessage_desc .heading .ttl > span::before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 100%;
	right: 18%;
	width: 9.5em;
	height: 3.5em;
	background-image: url(./images/ttl_message.png);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: contain;
}
.topMessage_desc .cont .txt {
	padding-left: 2em;
	padding-bottom: 3em;
	line-height: 1.9;
	font-weight: 500;
	text-shadow:
		1px 1px 4px #ffffff,
		-1px 1px 4px #ffffff,
		1px -1px 4px #ffffff,
		-1px -1px 4px #ffffff,
		1px 0px 4px #ffffff,
		0px 1px 4px #ffffff,
		-1px 0px 4px #ffffff,
		0px -1px 4px #ffffff;
}
@media screen and (max-width: 1200px){
	.topMessage .inner {
		padding: 0 1em;
	}
}
@media screen and (max-width: 840px){
	.topMessage {
		padding: 19.5vw 0 22.6vw;
		background-image: url(./images/bg_message_sp.png);
	}
	.topMessage_desc .heading .ttl {
		margin-bottom: min(7.4vw, 1.5em);
	}
	.topMessage_desc .heading .ttl > span::before {
		width: min(43.4vw, 9.5em);
		height: min(16vw, 3.5em);
		right: auto;
		left: -20%;
	}
}
@media screen and (max-width: 599px){
	.topMessage {
		padding: min(38vw, 150px) 0 min(42vw, 180px);
	}
	.topMessage_desc .cont .txt {
		padding-left: 1em;
		padding-right: 1em;
    padding-bottom: 0;
	}
}


/* topService
========================================== */
.topService {
	position: relative;
	padding-bottom: 110px;
	background-color: #e4ecf2;
}
.topService::before {
	content: "";
	position: absolute;
	bottom: 100%;
	left: 0;
	width: 100%;
	height: 10vw;
	background-image: url(./images/bg_service.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: contain;
}
.topService .inner {
	max-width: 1200px;
	position: relative;
	margin: 0 auto;
}
.topService_heading {
	text-align: center;
}
.topService_heading .ttl {
	margin-bottom: 2.8em;
	padding-bottom: 0.8em;
	background-image: url(./images/line_service.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	font-size: 1.6em;
	font-weight: 600;
}
.topService_heading .ttl > span {
	display: inline-block;
	position: relative;
}
.topService_heading .ttl > span::before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 100%;
	right: 18%;
	width: 9em;
	height: 3.5em;
	background-image: url(./images/ttl_service.png);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: contain;
}
.topService_cont .itemWrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 4em;
	column-gap: calc(100% - 48% * 2);
}
.topService_cont .item {
	width: 48%;
}
.topService_cont .item > .wrap {
	height: 100%;
	padding: 1.6em;
	background-color: #fff;
	border-radius: 20px;
	box-shadow: 0px 5px 24px 6px rgba(123, 166, 195, 0.3);
}
.topService_cont .item .img {
	margin-bottom: 1.5em;
}
.topService_cont .item .img img {
	width: 100%;
	border-radius: 10px;
}
.topService_cont .item .ttl > a {
	display: block;
	margin-bottom: 1em;
	padding: 0.2em 0;
	background-color: #518cb1;
	border: 1px solid #518cb1;
	border-radius: 3em;
	color: #fff;
	font-size: 1.6em;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	transition: all 0.2s ease;
}
.topService_cont .item .ttl > a:hover {
	background-color: #fff;
	color: #518cb1;
}
.topService_cont .item .categoryWrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.8em;
}
.topService_cont .item .category > a {
	display: block;
	padding: 0.6em 0.8em;
	background-color: #fff;
	border: #e3a358 1px solid;
	border-radius: 5px;
	color: #e3a358;
	font-weight: 500;
	line-height: 1.6;
	text-decoration: none;
	transition: all 0.2s ease;
}
.topService_cont .item .category > a:hover {
	background-color: #e3a358;
	color: #fff;
}
/*その他*/
.topService_cont .item_other {
	width: 64%;
}
.topService_cont .item_other .ttl > a:hover {
	background-color: #518cb1;
	color: #fff;
	cursor: default;
}
.topService_cont .item_other > .wrap {
	display: flex;
	align-items: center;
	gap: 1.6em;
}
.topService_cont .item_other > .wrap .upper {
	width: 50%;
}
.topService_cont .item_other > .wrap .lower {
	width: 50%;
}
.topService_cont .item_other > .wrap .img {
	margin-bottom: 0;
}
@media screen and (max-width: 1200px){
	.topService {
		padding-top: 3vw;
	}
	.topService .inner {
		padding: 0 1em;
	}
}
@media screen and (max-width: 1024px){
	.topService_cont .item > .wrap {
		padding: 2.5vw;
	}
	.topService_cont .item .category > a {
		padding: 1vw 1.2vw;
	}
	.topService_cont .item_other {
		width: 48%;
	}
	.topService_cont .item_other > .wrap {
		flex-direction: column;
	}
	.topService_cont .item_other > .wrap .upper {
		width: 100%;
	}
	.topService_cont .item_other > .wrap .lower {
		width: 100%;
	}
}
@media screen and (max-width: 840px){
	.topService {
		padding-top: min(14vw, 55px);
		padding-bottom: min(20vw, 110px);
	}
	.topService_heading .ttl {
		margin-bottom: min(12vw, 72px);
	}
	.topService_heading .ttl > span::before {
		width: min(41.1vw, 9em);
    height: min(16vw, 3.5em);
	}
}
@media screen and (max-width: 599px){
	.topService_heading .ttl > span::before {
		bottom: 70%;
		right: 44%;
	}
	.topService_cont .itemWrap {
		flex-direction: column;
		row-gap: 1.5em;
	}
	.topService_cont .item {
		width: 100%;
	}
	.topService_cont .item > .wrap {
		padding: 4.2vw;
		gap: 1em;
	}
	.topService_cont .item .ttl > a {
		font-size: clamp(1.4em, 3.3vw, 1.6em);
		margin-bottom: 0.7em;
	}
	.topService_cont .item .img {
		margin-bottom: 1em;
	}
	.topService_cont .item .categoryWrap {
		gap: 0.5em;
	}
}

/* topStrength
========================================== */
.topStrength {
	padding: 190px 0 200px;
	background-color: #e4ecf2;
	background-image: url(./images/bg_strength.png);
	background-position: top center;
	background-size: cover;
	background-repeat: no-repeat;
}
.topStrength_heading {
	text-align: center;
}
.topStrength_heading .ttl {
	margin-bottom: 2.8em;
	padding-bottom: 0.8em;
	background-image: url(./images/line_strength.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	font-size: 1.6em;
	font-weight: 600;
}
.topStrength_heading .ttl > span {
	display: inline-block;
	position: relative;
}
.topStrength_heading .ttl > span::before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 100%;
	right: 8%;
	width: 9.8em;
	height: 4.7em;
	background-image: url(./images/ttl_strength.png);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: contain;
}
.topStrength_cont {
	overflow: hidden;
}
.topStrength_contInner {
	width: 70%;
	position: relative;
	margin: 0 auto;
}
.topStrength-prev {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: 50;
}
.topStrength-next {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	z-index: 50;
}
.topStrength_slider .swiper-slide {
	height: auto;
}
.topStrength_slider .item .wrap {
	height: calc(100% - 7px);
	padding: 1.6em;
	background-image: url(./images/pic_strength01.png);
	background-position: center right 30%;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: 20px;
	box-shadow: 7px 7px 0px 0px rgba(214, 217, 219, 1);
}
.topStrength_slider .item .desc {
	display: flex;
	flex-direction: column;
	gap: 2em;
	width: 60%;
	height: 100%;
	padding: 3.5em 3em;
	background-color: #fff;
	border-radius: 10px;
}
.topStrength_slider .item .desc > .heading {
	color: #518cb1;
	font-size: 1.6em;
	font-weight: 500;
	text-align: center;
}
.topStrength_slider .item .desc > .txt {
	line-height: 1.6;
}

@media screen and (max-width: 1024px){
	.topStrength_slider .item .desc {
		padding: 4.6vw 4vw;
	}
}
@media screen and (max-width: 960px){
	.topStrength_contInner {
		width: calc(100% - 1em);
	}
}
@media screen and (max-width: 840px){
	.topStrength {
		padding: min(36vw, 190px) 0 min(37vw, 200px);
	}
	.topStrength_heading .ttl {
		margin-bottom: min(12vw, 72px);
	}
	.topStrength_heading .ttl > span::before {
		width: min(44.5vw, 9.8em);
    height: min(21.4vw, 4.7em);
	}
	.topStrength_slider .item .desc {
		width: 80%;
		gap: 1.2em;
	}
}

@media screen and (max-width: 599px){
	.topStrength_heading {
		padding: 0 1em;
	}
	.topStrength_slider .item .desc {
		width: 100%;
	}
	.topStrength_slider .item .desc > .heading {
		font-size: clamp(1.4em, 3.3vw, 1.6em);
	}
	.topStrength-prev img {
		width: 20px;
	}
	.topStrength-next img {
		width: 20px;
	}
}


/* topExample
========================================== */
.topExample {
	padding: 170px 0 50px;
	background-color: #e4ecf2;
}
.topExample_heading {
	text-align: center;
}
.topExample_heading .ttl {
	margin-bottom: 1.2em;
	padding-bottom: 0.8em;
	background-image: url(./images/line_example.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	font-size: 1.6em;
	font-weight: 600;
}
.topExample_heading .ttl > span {
	display: inline-block;
	position: relative;
}
.topExample_heading .ttl > span::before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 100%;
	right: -20%;
	width: 9.8em;
	height: 5em;
	background-image: url(./images/ttl_example.png);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: contain;
}
.topExample_cont {
	overflow: hidden;
}
.topExample_contInner {
	width: 70%;
	position: relative;
	margin: 0 auto;
	padding: 1.8em 0;
}
.topExample-prev {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: 50;
}
.topExample-next {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	z-index: 50;
}
.topExample_slider > p.align_center {
	text-align: center;
}
.topExample_slider .item > a {
	display: block;
	padding: 1.6em 2em;
	background-color: #fff;
	border-radius: 20px;
	box-shadow: 0px 5px 24px 6px rgba(123, 166, 195, 0.3);
	text-decoration: none;
}
.topExample_slider .item > a > .wrap {
	display: flex;
	align-items: center;
}
.topExample_slider .item > a .desc {
	display: flex;
	flex-direction: column;
	width: 50%;
	padding: 3em 3em;
	transition: all 0.2s;
}
.topExample_slider .item > a:hover .desc {
	opacity: 0.8;
}
.topExample_slider .item > a .desc > .heading {
	margin-bottom: 0.5em;
	color: #518cb1;
	font-size: 1.6em;
	font-weight: 500;
}
.topExample_slider .item > a .desc > .category > .wrap {
	display: flex;
	flex-wrap: wrap;
	column-gap: 0.6em;
	row-gap: 0.3em;
	margin-bottom: 1em;
}
.topExample_slider .item > a .desc > .category .item {
	display: block;
	padding: 0.1em 0.6em;
	background-color: #fff;
	border: #e3a358 1px solid;
	color: #e3a358;
	font-weight: 500;
	line-height: 1.6;
	text-decoration: none;
	transition: all 0.2s ease;
}
.topExample_slider .item > a .desc > .txt {
	color: #333;
	line-height: 1.6;
}
.topExample_slider .item > a .img {
	width: 50%;
	height: 21.5vw;
	border-radius: 10px;
	overflow: hidden;
}
.topExample_slider .item > a .img img {
	width: 100%;
	height: 100%;
	border-radius: 10px;
	object-fit: cover;
	transform: scale(1);
	transition: all 0.3s;
}
.topExample_slider .item > a:hover .img img {
	transform: scale(1.08);
}
@media screen and (max-width: 1400px){
	.topExample_slider .item > a > .wrap {
		flex-direction: column-reverse;
	}
	.topExample_slider .item > a .img {
		width: 100%;
		max-width: 500px;
		height: 54vw;
		max-height: 320px;
	}
	.topExample_slider .item > a .desc {
		width: 100%;
		padding: 3vw 3vw;
	}
}

@media screen and (max-width: 1024px){
	.topExample_slider .item > a {
		padding: 2.5vw 3vw;
	}
}
@media screen and (max-width: 960px){
	.topExample_contInner {
		width: calc(100% - 1em);
	}
	.topExample_heading {
		padding: 0 1em;
	}
}
@media screen and (max-width: 840px){
	.topExample {
		padding: min(25vw, 170px) 0 min(8vw, 50px);
	}
	.topExample_heading .ttl {
		margin-bottom: min(3.5vw, 30px);
	}
	.topExample_heading .ttl > span::before {
		width: min(44.8vw, 9.8em);
    height: min(22.8vw, 5em);
	}
	.topExample_slider .item > a > .wrap {
		flex-direction: column-reverse;
	}
	.topExample_slider .item > a .desc {
		width: 100%;
		padding: 1em 1em 2em;
	}
	.topExample_slider .item > a .img {
		width: 100%;
		height: 48vw;
	}
}
@media screen and (max-width: 599px){
	.topExample_slider .item > a {
		padding: 4.2vw 4.2vw;
	}
	.topExample_slider .item > a .desc > .heading {
		font-size: clamp(1.4em, 3.3vw, 1.6em);
	}
	.topExample-prev img {
		width: 20px;
	}
	.topExample-next img {
		width: 20px;
	}
}


/* topCompany
========================================== */
.topCompany {
	padding: 70px 0 120px;
	background-color: #aac9dc;
	background-image: url(./images/bg_company.png);
	background-position: bottom center;
	background-size: cover;
	background-repeat: no-repeat;
}
.topCompany .inner {
	max-width: 1200px;
	position: relative;
	margin: 0 auto;
}
.topCompany_box {
	background-color: #fff;
	border-radius: 20px;
}
.topCompany_box .wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 90%;
	margin: 0 auto;
	padding: 3em 0;
}
.topCompany_box .wrap > .img {
	width: 46%;
}
.topCompany_box .wrap > .img img {
	width: 100%;
	border-radius: 10px;
}
.topCompany_box .wrap > .desc {
	width: 50%;
	padding: 130px 2em 2em;
}
.topCompany_box .wrap > .desc .heading .ttl {
	margin-bottom: 2.2em;
	padding-bottom: 0.8em;
	background-image: url(./images/line_company.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	font-size: 1.6em;
	font-weight: 600;
	text-align: center;
}
.topCompany_box .wrap > .desc .heading .ttl > span {
	display: inline-block;
	position: relative;
}
.topCompany_box .wrap > .desc .heading .ttl > span::before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 100%;
	right: -28%;
	width: 9.8em;
	height: 3.5em;
	background-image: url(./images/ttl_company.png);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: contain;
}
.topCompany_box .wrap > .desc .cont .txt {
	margin-bottom: 2em;
	line-height: 1.6;
}
.topCompany_box .wrap > .desc .topBtn {
	text-align: center;
}
.topCompany_box .wrap > .desc .topBtn a {
	display: inline-block;
	width: 100%;
	max-width: 300px;
	padding: 1.2em 0;
	background-color: #fff;
	border-radius: 3em;
	color: #333;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0px 0px 15px 0px rgba(123, 166, 195, 0.3);
	transition: all 0.2s;
}
.topCompany_box .wrap > .desc .topBtn a > span {
	position: relative;
}
.topCompany_box .wrap > .desc .topBtn a > span::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: calc(100% + 2em);
	width: 0.7em;
	height: 0.7em;
	border-top: 3px solid #518cb1;
	border-right: 3px solid #518cb1;
	transform: rotate(45deg) translateY(-50%);
}
.topCompany_box .wrap > .desc .topBtn a:hover {
	background-color: #518cb1;
	color: #fff;
}
.topCompany_box .wrap > .desc .topBtn a:hover > span::after {
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
}
@media screen and (max-width: 1200px){
	.topCompany .inner {
		padding: 0 1em;
	}
}
@media screen and (max-width: 1024px){
	.topCompany_box .wrap {
		width: calc(100% - 6vw);
		padding: 3vw 0;
	}
	.topCompany_box .wrap > .desc {
		padding: 130px 2vw 3vw;
	}
}
@media screen and (max-width: 840px){
	.topCompany {
		padding: min(14vw, 70px) 0 min(28vw, 120px);
	}
	.topCompany_box .wrap > .desc .heading .ttl {
		margin-bottom: min(8vw, 56px);
	}
	.topCompany_box .wrap > .desc .heading .ttl > span::before {
		width: min(41.1vw, 9em);
    height: min(16vw, 3.5em);
	}
	.topCompany_box .wrap {
		flex-direction: column;
	}
	.topCompany_box .wrap > .img {
		width: 100%;
		max-width: 420px;
	}
	.topCompany_box .wrap > .desc {
		width: 100%;
	}
}
@media screen and (max-width: 599px){
	.topCompany_box .wrap {
		width: 100%;
		padding: 4.2vw 4.2vw;
	}
	.topCompany_box .wrap > .desc {
		padding: 21vw 2vw 3vw;
	}
	.topCompany_box .wrap > .desc .topBtn a {
		width: 90%;
	}
}


/* topFlow
========================================== */
.topFlow {
	padding: 140px 0 180px;
	background-image: url(./images/bg_flow.png);
	background-position: bottom min(14vw, 110px) center;
	background-size: cover;
	background-repeat: no-repeat;
}
.topFlow .inner {
	max-width: 1200px;
	position: relative;
	margin: 0 auto;
}
.topFlow_heading .ttl {
	margin-bottom: 2.2em;
	padding-bottom: 0.8em;
	background-image: url(./images/line_flow.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	color: #fff;
	font-size: 1.6em;
	font-weight: 500;
	text-align: center;
}
.topFlow_heading .ttl > span {
	display: inline-block;
	position: relative;
}
.topFlow_heading .ttl > span::before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 100%;
	right: 72%;
	width: 5.5em;
	height: 2.5em;
	background-image: url(./images/ttl_flow.png);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: contain;
}
.topFlow_cont .box {
	position: relative;
}
.topFlow_cont .box::after {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 0%;
	left: 2.5em;
	width: 5em;
	height: 100%;
	background-image: url(./images/arrow_flow.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: contain;
}
.topFlow_cont .box:last-of-type::after {
	content: none;
}
.topFlow_cont .box_upper {
	display: flex;
	align-items: center;
	gap: 1.2em;
	position: relative;
	z-index: 1;
	margin-bottom: 2em;
	padding: 1.7em 2.8em;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0px 5px 24px 6px rgba(123, 166, 195, 0.3);
	box-shadow: 0px 5px 24px 6px rgba(123, 166, 195, 0.3);
}
.topFlow_cont .box_upper .num {
	display: flex;
	align-items: center;
	width: 70px;
}
.topFlow_cont .box_upper .num img {
	width: 100%;
}
.topFlow_cont .box_upper .ttl {
	color: #518cb1;
	font-size: 1.6em;
	font-weight: 500;
}
.topFlow_cont .box_lower {
	display: flex;
	column-gap: 3em;
	row-gap: 1em;
	position: relative;
	z-index: 1;
	width: 86%;
	margin-left: auto;
	padding-bottom: 2em;
}
.topFlow_cont .box_lower > .desc {
	display: flex;
	align-items: center;
	flex-grow: 1;
}
.topFlow_cont .box_lower > .desc .txt {
	display: flex;
	align-items: center;
	padding: 1em 2em;
	width: 100%;
	height: 100%;
	background-color: #fff;
	border-radius: 10px;
	line-height: 1.6;
}
.topFlow_cont .box_lower > .img .circle {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 2;
	width: 8.5em;
	height: 8.5em;
	background-color: #dde9f0;
	border: 1px solid #aac9dc;
	border-radius: 50%;
}
.topFlow_cont .box_lower > .img .circle::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	width: calc(100% + 22px);
	height: calc(100% + 22px);
	border: 9px solid #fff;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	box-shadow: 5px 5px 0px 0px rgba(141, 179, 205, 0.5);
}
.topFlow_cont .box_lower > .img .circle span {
	display: inline-block;
	width: 45%;
}
.topFlow_cont .box_lower > .img .circle span img {
	width: 100%;
}
@media screen and (max-width: 1200px){
	.topFlow .inner {
		padding: 0 1em;
	}
}
@media screen and (max-width: 1024px){
	.topFlow_cont .box::after {
		left: 3vw;
	}
}
@media screen and (max-width: 840px){
	.topFlow {
		padding: min(30vw, 140px) 0 min(42vw, 180px);
	}
	.topFlow_heading .ttl {
		margin-bottom: min(12vw, 66px);
	}
	.topFlow_heading .ttl > span::before {
		width: min(25.1vw, 5.5em);
    height: min(40vw, 2.5em);
	}
	.topFlow_cont .box_upper {
		gap: 2.5vw;
		padding: 3.5vw 5vw;
	}
	.topFlow_cont .box_upper .num {
		width: 14%;
		max-width: 52px;
	}
	.topFlow_cont .box_upper .ttl {
		font-size: clamp(1.2em, 3.3vw, 1.6em);
	}
	.topFlow_cont .box_lower {
		width: calc(100% - 9px);
		position: relative;
		padding-bottom: min(6vw, 2em);
	}
	.topFlow_cont .box_lower::after {
		content: "";
		display: inline-block;
		width: 0;
		height: 0;
		position: absolute;
		top: 100%;
		left: 50%;
		border-style: solid;
		border-right: 60px solid transparent;
		border-left: 60px solid transparent;
		border-top: 25px solid #da5353;
		border-bottom: 0;
		transform: translateX(-50%);
	}
	.topFlow_cont .box:last-of-type .box_lower::after {
		content: none;
	}
	.topFlow_cont .box_lower > .desc .txt {
		padding: 1em 1.5em;
	}
	.topFlow_cont .box::after {
		content: none;
	}
	.topFlow_cont .box + .box {
		margin-top: min(14vw, 3em);
	}
}
@media screen and (max-width: 599px){
	.topFlow_cont .box_upper {
		margin-bottom: 1.5em;
	}
	.topFlow_cont .box_lower {
		flex-direction: column;
		align-items: center;
		gap: 1.5em;
		width: 100%;
		margin-left: 0;
	}
	.topFlow_cont .box_lower > .img .circle {
		width: 5.5em;
		height: 5.5em;
	}
	.topFlow_cont .box_lower > .img .circle::after {
		width: calc(100% + 16px);
		height: calc(100% + 16px);
		border: 6px solid #fff;
	}
}

/* topColumn
========================================== */
.topColumn {
	padding: 90px 0 100px;
}
.topColumn .inner {
	max-width: 1200px;
	position: relative;
	margin: 0 auto;
}
.topColumn_heading {
	text-align: center;
}
.topColumn_heading .ttl {
	margin-bottom: 3.2em;
	padding-bottom: 0.8em;
	background-image: url(./images/line_column.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	font-size: 1.6em;
	font-weight: 600;
}
.topColumn_heading .ttl > span {
	display: inline-block;
	position: relative;
}
.topColumn_heading .ttl > span::before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: 100%;
	right: -5%;
	width: 8.2em;
	height: 3em;
	background-image: url(./images/ttl_column.png);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: contain;
}
.topColumn_cont > p.align_center {
	margin-bottom: 4.5em;
	text-align: center;
}
.topColumn_cont .itemWrap {
	display: flex;
	flex-wrap: wrap;
	column-gap: 6%;
	row-gap: 3em;
	margin-bottom: 60px;
}
.topColumn_cont .item {
	width: calc((100% - 6%) / 2);
	gap: 6%;
}
.topColumn_cont .item > a {
	display: block;
	color: inherit;
	line-height: 1.6;
	text-decoration: none;
}
.topColumn_cont .item > a .wrap {
	display: flex;
	gap: 2em;
}
.topColumn_cont .item > a .wrap > .img {
	width: 38%;
	height: 14vw;
	max-height: 190px;
	border-radius: 30px;
	overflow: hidden;
}
.topColumn_cont .item > a .wrap > .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 30px;
	transform: scale(1);
	transition: all 0.2s;
}
.topColumn_cont .item > a:hover .wrap > .img img {
	transform: scale(1.08);
}
.topColumn_cont .item > a .wrap > .desc {
	width: calc(100% - 38% - 2em);
}
.topColumn_cont .item > a:hover .wrap > .desc {
	opacity: 0.8;
}
.topColumn_cont .item > a .desc > .info {
	display: block;
	margin: 1em 0;
}
.topColumn_cont .item > a .desc > .info > .category {
	display: inline-block;
	margin-right: 1em;
	padding: 0.1em 0.8em;
	border: 1px solid #da5353;
	color: #da5353;
}
.topColumn_cont .topBtn {
	text-align: center;
}
.topColumn_cont .topBtn a {
	display: inline-block;
	padding: 1.2em 5.8em;
	background-color: #fff;
	border-radius: 3em;
	color: #333;
	font-weight: 600;
	text-decoration: none;
	box-shadow:  0px 0px 15px 0px rgba(123, 166, 195, 0.3);
	transition: all 0.2s;
}
.topColumn_cont .topBtn a > span {
	position: relative;
}
.topColumn_cont .topBtn a > span::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: calc(100% + 2em);
	width: 0.7em;
	height: 0.7em;
	border-top: 3px solid #518cb1;
	border-right: 3px solid #518cb1;
	transform: rotate(45deg) translateY(-50%);
}
.topColumn_cont .topBtn a:hover {
	background-color: #518cb1;
	color: #fff;
}
.topColumn_cont .topBtn a:hover > span::after {
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
}
@media screen and (max-width: 1200px){
	.topColumn .inner {
		padding: 0 1em;
	}
}
@media screen and (max-width: 1024px){
	.topColumn_cont {
		width: 100%;
		max-width: 700px;
		margin: 0 auto;
	}
	.topColumn_cont .item {
		width: 100%;
	}
	.topColumn_cont .item > a .wrap > .img {
		height: 25vw;
	}
}
@media screen and (max-width: 840px){
	.topColumn {
		padding: min(18vw, 90px) 0 min(22vw, 100px);
	}
	.topColumn_heading .ttl {
		margin-bottom: min(12vw, 66px);
	}
	.topColumn_heading .ttl > span::before {
		width: min(37.4vw, 8.2em);
    height: min(13.7vw, 3em);
	}
}
@media screen and (max-width: 599px){
	.topColumn_cont .item {
		width: calc((100% - 6%) / 2);
	}
	.topColumn_cont .item > a .wrap {
    flex-direction: column;
    gap: 1.8em;
	}
	.topColumn_cont .item > a .wrap > .img {
		width: 100%;
		height: 32vw;
	}
	.topColumn_cont .item > a .wrap > .desc {
		width: 100%;
	}
	.topColumn_cont .item > a .desc > .info {
		display: flex;
		flex-wrap: wrap;
		row-gap: 0.6em;
		margin: 0 auto 1em;
	}
}

/* topContact
========================================== */
.topContact {
	padding-bottom: 1em;
	background-image: url(./images/bg_contact.png);
	background-position: bottom 115% center;
	background-size: cover;
	background-repeat: no-repeat;
	text-align: center;
}
.topContact .inner {
	max-width: 1200px;
	position: relative;
	margin: 0 auto;
}
.topContact_cont .img {
	width: 50%;
	max-width: 370px;
	margin: 0 auto 4.6em;
}
.topContact_cont .img img {
	width: 100%;
}
.topContact_cont .desc > .ttl {
	margin-bottom: 0.6em;
	color: #518cb1;
	font-size: 1.6em;
	font-weight: 500;
}
.topContact_cont .desc > .txt {
	font-size: 1.4em;
}
@media screen and (max-width: 1200px){
	.topContact .inner {
		padding: 0 1em;
	}
}
@media screen and (max-width: 1024px){
	.topContact {
		background-position: bottom -30vw center;
	}
}
@media screen and (max-width: 840px){
	.topContact {
		background-position: bottom -22vw center;
	}
	.topContact_cont .img {
		margin: 0 auto 9vw;
	}
	.topContact_cont .desc > .ttl {
		font-size: clamp(1.3em, 3.3vw, 1.6em);
	}
	.topContact_cont .desc > .txt {
		font-size: clamp(1.1em, 2.9vw, 1.4em);
	}
}
@media screen and (max-width: 599px){
	.topContact {
		background-position: bottom -15vw center;
	}
}

/* topLinkArea
========================================== */
.topLinkArea {
	padding: 30px 0 35px;
	background-color: #dde9f0;
}
.topLinkArea .inner {
	max-width: 1200px;
	position: relative;
	margin: 0 auto;
}
.topLinkArea_itemWrap {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	column-gap: 4%;
	row-gap: 1.5em;
}
.topLinkArea_item {
	width: calc((100% - 4%) / 2);
}
.topLinkArea_item > .wrap {
	height: 100%;
	padding: 2.5em 1em 1.8em;
	background-color: #fff;
	border-radius: 20px;
	text-align: center;
	box-shadow: 0px 5px 24px 6px rgba(123, 166, 195, 0.3);
}
.topLinkArea_item .heading {
	margin-bottom: 1em;
	padding-bottom: 0.8em;
	background-image: url(./images/line_tel.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	color: #518cb1;
	font-size: 1.2em;
	font-weight: 500;
	line-height: 1.2;
}
.topLinkArea_item .tel > a {
	text-decoration: none;
	transition: all 0.2s;
}
.topLinkArea_item .tel > a:hover {
	opacity: 0.8;
}
.topLinkArea_item .tel > a .txt {
	margin-right: 0.4em;
	color: #518cb1;
	font-weight: 500;
}
.topLinkArea_item .tel > a .num {
	color: #da5353;
	font-family: "Jost", sans-serif;
	font-size: clamp(2em, 3.6vw, 2.5em);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.topLinkArea_item .txt {
	font-weight: 500;
}
.topLinkArea_item .topBtn {
	text-align: center;
}
.topLinkArea_item .topBtn a {
	display: inline-block;
	width: 100%;
	max-width: 330px;
	padding: 1.2em 0;
	background-color: #518cb1;
	border: 1px solid #518cb1;
	border-radius: 3em;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0px 0px 15px 0px rgba(123, 166, 195, 0.3);
	transition: all 0.2s;
}
.topLinkArea_item .topBtn a > span {
	position: relative;
}
.topLinkArea_item .topBtn a > span::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: calc(100% + 2em);
	width: 0.7em;
	height: 0.7em;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg) translateY(-50%);
}
.topLinkArea_item .topBtn a:hover {
	background-color: #fff;
	color: #518cb1;
}
.topLinkArea_item .topBtn a:hover > span::after {
	border-top: 3px solid #518cb1;
	border-right: 3px solid #518cb1;
}
@media screen and (max-width: 1200px){
	.topLinkArea .inner {
		padding: 0 1em;
	}
}
@media screen and (max-width: 840px){
	.topLinkArea_item {
		width: 100%;
		max-width: 500px;
	}
	.topLinkArea_item > .wrap {
		padding: 5.2vw 2vw 3.7vw;
	}
}
@media screen and (max-width: 599px){
	.topLinkArea_item .topBtn a {
		box-shadow: none;
	}
}

/* footer
========================================== */
.footer {
	padding-top: 65px;
	background-color: #dde9f0;
}
.footer .inner {
	max-width: 1200px;
	position: relative;
	margin: 0 auto 80px;
}
.footer_innerWrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer_wrap {
	display: flex;
	column-gap: 8em;
}
/*logo*/
.footer_wrap .logoArea {
	width: 256px;
	margin-bottom: 2.5em;
}
.footer_wrap .logo a {
	display: block;
	color: inherit;
	font-weight: 500;
	text-decoration: none;
}
.footer_wrap .logo a > .wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer_wrap .logoMark img {
	width: 100%;
}
.footer_wrap .logoMark {
	width: 40%;
}
.footer_wrap .logoType {
	font-size: 2.6em;
	font-weight: 600;
	line-height: 1.2;
	transition: all 0.2s;
}
.footer_wrap .logoType > .small {
	display: block;
	font-size: 0.6em;
	text-align-last: left;
}
.footer .logo a:hover .logoType {
	opacity: 0.8;
}
.footer_wrap .infoArea {
	font-weight: 500;
	text-align: center;
}
.footer_wrap .infoArea .address {
	line-height: 1.4;
}
.footer_wrap .infoArea .address > .code {
	display: block;
}
.footer_wrap .infoArea .tel a {
	color: #da5353;
	font-family: "Jost", sans-serif;
	font-size: 1.8em;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 1px;
	text-decoration: none;
	transition: all 0.2s;
}
.footer_wrap .infoArea .tel a:hover {
	opacity: 0.8;
}
.footer_wrap .infoArea .date {
	font-size: 0.9em;
	line-height: 1.2;
}
.footer_wrap .infoArea .date > .bold {
	font-weight: 600;
}
.footer_wrap > .btn {
	display: none;
}
/*menu*/
.footer_wrap .menu {
	display: flex;
	flex-wrap: wrap;
	column-gap: 6em;
	row-gap: 1.2em;
}
.footer_wrap .menu a {
	color: inherit;
	font-weight: bold;
	text-decoration: none;
}
.footer_wrap .menu .item > a > span {
	display: inline-block;
	position: relative;
}
.footer_wrap .menu .item > a > span::after {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -6px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #518cb1;
	opacity: 0;
	transition: all 0.2s;
}
.footer_wrap .menu .item > a:hover > span::after {
	bottom: -2px;
	opacity: 1;
}
.footer_wrap .menu .item + .item {
	margin-top: 1.2em;
}
/*btn*/
.footer_btn	{
	width: 28%;
	max-width: 334px;
	margin-right: 45px;
}
.footer_btn a	{
	display: block;
	transition: all 0.2s;
}
.footer_btn a:hover	{
	opacity: 0.8;
}
.footer_btn img	{
	width: 100%;
}
/*copyright*/
.footer > .small {
	padding: 0.6em 0;
	text-align: center;
}
@media screen and (max-width: 1200px){
	.footer .inner {
		padding: 0 1em;
	}
	.footer_btn {
		margin-right: 0;
	}
}
@media screen and (max-width: 1024px) {
	.footer_wrap {
		column-gap: 8vw;
	}
	.footer_innerWrap {
		align-items: flex-start;
	}
	.footer_wrap .logoArea {
		width: 200px;
	}
	.footer_wrap .logoType {
		font-size: 2.2em;
	}
	.footer_wrap .menu {
		column-gap: 6vw;
	}
	.footer_wrap .menu a {
		font-size: clamp(14px, 1.5vw, 16px);
	}
}
@media screen and (max-width: 840px) {
	.footer {
		padding-top: min(15vw, 65px);
	}
	.footer_wrap {
		flex-direction: column;
		align-items: center;
		row-gap: min(12vw, 60px);
		width: 800%;
	}
	.footer_wrap .logoArea {
		margin-bottom: min(7.5vw, 40px);
	}
	.footer_wrap .menu {
		justify-content: space-between;
		width: 80%;
		max-width: 300px;
	}
	.footer_wrap .menu a {
		font-size: 1em;
	}
	.footer_wrap > .btn {
		display: block;
		width: 62%;
		max-width: 240px;
	}
	.footer_wrap > .btn > a {
		display: block;
	}
	.footer_wrap > .btn img {
		width: 100%;
	}
	.footer_btn	{
		display: none;
	}
}
@media screen and (max-width: 599px) {

}


/* pageTop
========================================== */
.pageTop {
	position: fixed;
	line-height: 1;
	right: 20px;
	bottom: 20px;
	z-index: 99;
}
.pageTop a {
	display: block;
	position: relative;
	padding: 26px;
	background-color: #518cb1;
	border-radius: 50%;
	color:#fff;
	font-size: 1.2rem;
	text-decoration: none;
	transition: all 0.2s;
}
.pageTop a::before {
	position: absolute;
	content: "";
	top: 22px;
	left: 50%;
	margin-left: -6px;
	width: 13px;
	height: 13px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(-45deg);
	transition: all 0.2s;
}
@media screen and (max-width: 1200px) {
	.pageTop {
		right: 10px;
	}
}
@media screen and (min-width: 769px) {
	.pageTop:hover a {
		background-color: #da5353;
	}
	.pageTop:hover a::before {
		top: 12px;
	}
}
