/***** メインビジュアル *****/

/* 丸 ふわふわ */
/*body:before{
    content: '';
    background: transparent linear-gradient(169deg, #A4F6A7 0%, #efff75 100%) 0% 0% no-repeat padding-box;
    opacity: 0.2;
    width: 960px;
    height: 960px;
    border-radius: 50%;
    position: absolute;
    left: -238px;
    z-index: -1;
    top: -140px;
    animation: float 3.5s ease-in-out infinite;
}
@keyframes float {
    0% { transform: translateY(-16px); }
    50% { transform: translateY(16px); }
    100% { transform: translateY(-16px); }
}*/

/* スマホ時　丸 ふわふわ 非表示 */
/*@media screen and (max-width:1300px) {
    body:before{
        display: none;
    }
}*/


/***** 葉っぱパーツ *****/

.leaves01{
	position: absolute;
	top: 10%;
	right: -6%;
	width: 8%;
}

.leaves02{
	position: absolute;
	top: 30%;
	left: -10%;
	width: 12%;
}

.leaves03{
	position: absolute;
	bottom: 11%;
	right: -9%;
	width: 11%;
}

.leaves04{
	position: absolute;
	bottom: -10%;
	left: 4%;
	width: 6%;
}

.leaves05{
	position: absolute;
	top: -14%;
	right: -13%;
	width: 11%;
}

@media screen and (max-width:1100px) {
.leaves01{
	position: absolute;
	top: 1%;
	right: 7%;
	width: 8%;
}

.leaves02{
	position: absolute;
	top: 30%;
	left: 0%;
	width: 14%;
}

.leaves03{
	display: none;
}

.leaves04{
	display: none;
}

.leaves05{
	position: absolute;
	top: 4%;
	right: 3%;
	width: 11%;
}

}

@media screen and (max-width:768px) {
.leaves01{
	position: absolute;
	top: 1%;
	right: 4%;
	width: 11%;
}

.leaves02{
	position: absolute;
	top: 35%;
	left: 2%;
	width: 16%;
}

.leaves04{
	display: block;
	position: absolute;
	bottom: -10%;
	left: 4%;
	width: 10%;
}

.leaves05{
	display: none;
}

}



/* MV */
.mv_inner{
	width: 100%;
	margin: 0;
	padding: 4.5% 0 6% 0;
	background: url("../images/top/mv.jpg") no-repeat center;
	background-size: cover;
	border-radius: 0 0 15px 15px;
}

.mv_inner_item{
	width: 100%;
	position: relative;
}

.mvcopy{
	order: 1;
	flex-shrink:0;
	padding: 0;
	margin: 0 auto;
	width: 100%;
}

.mvcopy .maincopy {
    display: block;
	margin: 0 auto 2rem auto;
	font-size: 4.5rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.3em;
	color: var(--font-color);
	text-align: center;
}

.mvcopy .maincopy span{
	color: #0ea794;
}

.mvcopy .subcopy {
	color: var(--font-color);
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-align: center;
	margin: 0 auto 3rem auto;
}

.mv_inner_item .btn3{
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
}

.mv_inner_item .btn3 a{
	padding: 20px 0 !important;
}

.mvimg img.mv{
	width: 100%;
	height: calc(100% - 40px);
	object-fit: cover;
	border-radius: 26px 0 0 26px;
}

.mv .cando{
	background: linear-gradient(270deg, rgb(242 255 218) 0%, rgb(220 249 236) 100%);
	padding: 1.5% 6% 2% 6%;
	margin: -3% auto 0 auto;
	border-radius: 15px;
	max-width: 1300px;
	border: 1px solid #b9e1dc;
}

.mv .cando .cando_ttl{
	text-align: center;
	font-size: 2.5rem;
	font-weight: 600;
	margin: 0 0 1% 0;
}

.mv .cando .num{
	font-size: 2rem;
	font-weight: 500;
}

.mv .cando .num li{
	margin-bottom: 10px;
}

@media screen and (max-width:1300px) {

.mv_inner_item{
	display: block;
	width: 100%;
	position: relative;
}
	
.mvcopy{
	order: 2;
	width: 96%;
	margin: 0 auto;
	padding: 0;
}

.mvcopy .maincopy {
	font-size: 4vw;
	text-align: center;
	padding: 0;
	margin: 2.6rem 0 2rem 0;
}
	
.mvcopy .subcopy {
	font-size: 1.8rem;
}
	
.mv .cando{
    padding: 3% 4%;
	margin: 4% auto 0 auto;
	width: 90%;
}	

}

@media screen and (max-width:768px) {
.mv_inner {
	padding: 4% 0 5% 0;
	/*background: url("../images/top/mv_sp.jpg") no-repeat center;
	background-size: 180%;
	background-position: top center;*/
}
	
.mv_inner_item {
	width: 100%;
	display: block;
}
	
.mvcopy .maincopy {
	font-size: 2rem;
	margin: 1rem 0 1rem 0;
}
	
.mvcopy .subcopy {
	font-size: 1.4rem;
	margin: 0 auto 2rem auto;
}

.mv_inner_item .btn3 a {
	padding: 14px 20px 14px 10px !important;
	font-size: 1.6rem;
}
	
.mv .cando{
    padding: 3% 4%;
	margin: 6% auto 0 auto;
	width: 90%;
}	

.mv .cando .cando_ttl{
    font-size: 1.8rem;
	margin: 0 0 10px 0;
}

.mv .cando .num{
    font-size: 1.4rem;
}
.mv .cando .num li::marker {
	color: var(--point-color);
	font-weight: 700;
	font-size: 1.6rem;
}
.mv .cando .num li {
	margin-left: 1.5em;
	padding-left: 0.1em;
	margin-bottom: 10px !important;
	list-style-type: decimal;
	line-height: 2rem;
}
}


/***** トップページ - ボタン *****/
#page_top .btn a {
	text-align: left !important;
	padding: 20px 0 20px 30px;
}
#page_top .btn2 a {
	text-align: left !important;
	padding: 20px 0 20px 30px;
	justify-content: flex-start;
}
#page_top .memberinfo .btn2 a {
	text-align: center !important;
	padding: 20px 0;
	justify-content: center;
}

@media screen and (max-width:768px) {
#page_top .btn a {
	text-align: center !important;
	padding: 14px 20px 14px 10px;
}
#page_top .btn2 a {
	text-align: center !important;
	padding: 14px 20px 14px 10px;
}
#page_top .memberinfo .btn2 a {
	text-align: center !important;
	padding: 14px 20px 14px 10px;
}
}

/***** トップページ - 最新のお知らせ *****/
#page_top #news {
	max-width: 1300px;
	width: 100%;
	margin: 7rem auto 8rem;
	display: flex;
}

#page_top #news > div:nth-child(1) {
	width: 20%;
	min-height: 220px;
	position: relative;
}

#page_top #news > div:nth-child(1) > .btn {
	width: 100%;
	/* position: absolute; */
	/* bottom: 0; */
}

#page_top #news h2 {
	margin-bottom: 13%;
}

#page_top #news h2 span.first {
	display: block;
	font-size: 1.6rem;
	color: var(--point-color);
	margin-bottom: 5px;
}

#page_top #news h2 span.second {
	display: block;
	font-size: 3.6rem;
	font-weight: 600;
	color: var(--font-color);
}

#page_top #news .news_categorylist li {
	display: block;
	margin-bottom: 2rem;
}

#page_top #news .news_categorylist li a {
	color: var(--font-color);
	font-weight: 600;
	text-decoration: none;
	display: block;
}

#page_top #news .news_categorylist li a::before {
	content: "";
	display: inline-block;
	line-height: 1;
	background: url("../images/cate_arrow.png") no-repeat left top;
	vertical-align: middle;
	background-size: contain;
	width: 19px;
	height: 19px;
	padding-left: 1rem;
}


#page_top #news > div:nth-child(2) {
	margin-left: 4%;
	max-height: 420px;
	min-height: 420px;
	flex: 1;
	overflow-y: scroll;
}

#page_top #news > div:nth-child(2) dl {
	padding-top: 20px;
	border-bottom: #d3d3c8 1px solid;
}

#page_top #news > div:nth-child(2) dl:first-child {
	padding-top: 20px;
	border-top: #d3d3c8 1px solid;
}

#page_top #news > div:nth-child(2) dt {
	display: flex;
	align-items: center;
}

#page_top #news > div:nth-child(2) dt span {
	width: 9em;
	margin: auto 15px auto 0;
	padding: 2px 0;
	font-size: 1.5rem;
	font-weight: 500;
	text-align: center;
	display: block;
	border: 2px solid;
	border-color: var(--base-color);
	color: var(--base-color);
}

#page_top #news > div:nth-child(2) dt span.category_info {
	border: 2px solid;
	border-radius: 30px;
	border-color: var(--point-color);
	color: var(--point-color);
}

#page_top #news > div:nth-child(2) dt span.category_recruit {
	border: 2px solid;
	border-color: var(--base-color);
	color: var(--base-color);
}

#page_top #news > div:nth-child(2) dd {
	margin-bottom: 20px;
	padding: 20px 0 20px 0;
}

#page_top #news > div:nth-child(2) dd:last-child {
	margin-bottom: 0;
}

#page_top #news > div:nth-child(2) dd a {
	color: var(--point-color);
}

#page_top #news .sp_newsbtn{
	display: none;
}

@media screen and (max-width:1300px){
#page_top #news {
	width: 90%;
	margin: 30px auto;
	display: block;
}

#page_top #news h2 {
	font-size: 2.6rem;
	margin-bottom: 3rem;
	text-align: center;
}

#page_top #news > div:nth-child(1) {
	width: 100%;
	min-height: inherit;
	padding-top: 10px;
	margin-bottom: 10px;
	position: inherit;
}

#page_top #news > div:nth-child(2) {
	margin-left: 0;
	border-left: none;
}

#page_top #news > div:nth-child(2) dl {
	padding-top: 10px;
	border-bottom: #333 1px dotted;
}

#page_top #news > div:nth-child(2) dt {
	width: 100%;
	float: none;
}

#page_top #news > div:nth-child(2) dd {
	margin-bottom: 20px;
	padding: 10px 0;
}
#page_top #news .news_categorylist {
	display: none;
}

#page_top #news .newsbtn{
	display: none;
}
	
#page_top #news .sp_newsbtn{
	width: 80%;
	display: block;
	margin: 4% auto 0 auto !important;
}

}

@media screen and (max-width:768px){
#page_top #news {
	width: 90%;
	margin: 2rem auto 3rem auto;
	display: block;
}

#page_top #news h2 {
	margin-bottom: 10px;
}
	
#page_top #news h2 span.first {
	font-size: 1.2rem;
}

#page_top #news h2 span.second {
	font-size: 2.4rem;
}
	
#page_top #news > div:nth-child(1) > .btn {
	width: 100%;
}
#page_top #news > div:nth-child(2) {
	min-height: auto;
	margin-bottom: 2rem;
}

/*#page_top #news > div:nth-child(2) dl {
	font-size: 1.6rem;
}*/

#page_top #news > div:nth-child(2) dt span {
	width: 9em;
	padding: 2px 0;
	margin: auto 10px auto 0;
	font-size: 1.1rem;
	font-weight: 600;
	text-align: center;
	display: block;
	border: 2px solid;
	border-color: var(--base-color);
	color: var(--base-color);
}

#page_top #news > div:nth-child(2) dt span.category_info {
	border: 2px solid;
	border-color: var(--point-color);
	color: var(--point-color);
}

#page_top #news > div:nth-child(2) dt span.category_recruit {
	border: 2px solid;
	border-color: var(--base-color);
	color: var(--base-color);
}

}

/***** トップページ - キャリア支援 *****/

#page_top .support{
	background: #e4f6f4;
	width: 100%;
	padding: 5rem 0 2rem 0;
}

#page_top .support h2 {
	margin-bottom: 30px;
	position: relative;
}

#page_top .support h2 span.first {
	display: block;
	font-size: 1.6rem;
	color: var(--point-color);
	margin-bottom: 5px;
}

#page_top .support span.second {
	display: block;
	font-size: 3.6rem;
	font-weight: 600;
	color: var(--font-color);
}

#page_top .support h2:after {
	content:"";
	background: url("../images/top/support_copy.png") no-repeat;
	width: 504px;
	height: 146px;
	line-height: 1;
	background-size: contain;
	position: absolute;
	right: 0;
	top: 0;
}

#page_top .support .inner{
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

#page_top .support .inner .inner_item {
	max-width: 1300px;
	width: 100%;
	background: #fff;
	border-radius: 15px;
	padding: 3%;
	margin: 0 auto 3% auto;
}

#page_top .support .inner .inner_item:last-child {
	margin: 0 auto;
}

#page_top .support .inner .support01 > div{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#page_top .support .inner .inner_item h3 {
	display: block;
	font-size: 3rem;
	font-weight: 600;
	color: var(--font-color);
	line-height: 1;
	position: relative;
	padding-left: 2em;
	margin: 1rem 0 3rem 0;
}

#page_top .support .inner .support01 h3:before {
    content: "";
    background: url("../images/icon/icon_support01.svg") no-repeat left top;
    width: 44px;
    height: 46px;
    background-size: contain;
    vertical-align: middle;
    line-height: 1.8;
    padding-right: 1rem;
    position: absolute;
    left: 0;
    top: 40%;
    transform: translateY(-50%);
}

#page_top .support .inner .support01 > div > div{
	width: 50%;
}

#page_top .support .inner .support01 > div > div > p{
	margin: 0 0 3rem 0;
}

#page_top .support .inner .support01 > div > img{
	width: 44%;
	border-radius: 15px;
}

#page_top .support .inner .support02 > div{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#page_top .support .inner .support02 h3:before {
    content: "";
    background: url("../images/icon/icon_support02.svg") no-repeat left top;
    width: 48px;
    height: 33px;
    background-size: contain;
    vertical-align: middle;
    line-height: 1.8;
    padding-right: 1rem;
    position: absolute;
    left: 0;
    top: 48%;
    transform: translateY(-50%);
}

#page_top .support .inner .support02 > div{
	display: flex;
	justify-content: space-between;
}

#page_top .support .inner .support02 > div > div{
	width: 50%;
}

#page_top .support .inner .support02 > div > div > p{
	margin: 0 0 3rem 0;
}

#page_top .support .inner .support02 > div > img{
	width: 44%;
	border-radius: 15px;
}

#page_top .support .inner .support03 h3:before {
    content: "";
    background: url("../images/icon/icon_support03.svg") no-repeat left top;
    width: 45px;
    height: 41px;
    background-size: contain;
    vertical-align: middle;
    line-height: 1.8;
    padding-right: 1rem;
    position: absolute;
    left: 4px;
    top: 48%;
    transform: translateY(-50%);
}

#page_top .support .inner .support03 > div:first-child{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#page_top .support .inner .support03 > div:first-child div{
	width: 50%;
}

#page_top .support .inner .support03 > div:first-child p{
	margin: 0 0 3rem 0;
}

#page_top .support .inner .support03 > div:first-child img{
	width: 44%;
	border-radius: 15px;
}

#page_top .support .inner .support03 > div:last-child{
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 3rem;
}

#page_top .support .inner .support03 > div:last-child > div{
	width: 50%;
}

#page_top .support .inner .support03 > div:last-child > div:last-child{
	padding-left: 6%;
}

#page_top .support .inner .support03 > div:last-child > div h4{
	color: var(--point-color);
	font-weight: 600;
	font-size: 2.4rem;
	margin: 0 0 2rem 0;
}

/* 流れる文字　Contact */
#page_top .topcontact_txt {
	background: #E4F5F6;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	overflow: hidden;
	line-height: 1;
	padding-bottom: 2vw;
}
#page_top .topcontact_txt .topcontact_txt_inner {
	display: flex;
	animation: loop-text 28s linear infinite;
}
#page_top .topcontact_txt .topcontact_txt_inner span {
	display: inline-block;
	font-size: 16rem;
	color: #F6FEFF;
	white-space: nowrap;
	padding: 0 4rem 0 0;
}
@keyframes loop-text {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* アイコン */
.sp_support_accordion .icon i {
  display: none;
}
.sp_support_accordion-title br{
    display: none;
}

@media screen and (max-width:1300px){
#page_top #news h2 {
	font-size: 2.6rem;
	margin-bottom: 3rem;
	text-align: center;
}
	
#page_top .support .inner{
	width: 90%;
	margin: auto;
}
	
/*#page_top .support .btn2{
	display: block;
}*/
	
#page_top .support .btn2 li{
	width: 100%;
	margin-bottom: 3%;
}
}

@media screen and (max-width:1100px){
#page_top .support{
	background: #e4f6f4;
	width: 100%;
	padding: 1rem 0 0 0;
}

#page_top .support h2 {
	text-align: center;
}
	
#page_top .support h2:after {
	content:"";
	background: none;
	width: 0;
	height: 0;
	line-height: 0;
}
#page_top .support .inner{
	width: 100%;
	margin: auto;
	padding: 3%;
}
	
#page_top .support .inner .inner_item{
    padding: 6%;
}	
	
#page_top .support .inner .support01 > div,
#page_top .support .inner .support02 > div,
#page_top .support .inner .support03 > div:first-child div{
	display: block;
	width: 100%;
}
#page_top .support .inner .support03 > div:last-child{
    display: block;
    width: 100%;
}
	
#page_top .support .inner .support03 > div:last-child > div{
    width: 100%;
}
	
#page_top .support .inner .support03 > div:last-child > div:last-child{
    padding-left: 0;
    padding-top: 3rem;
}

#page_top .support .inner .support01 > div > div,
#page_top .support .inner .support02 > div > div,
#page_top .support .inner .support03 > div > div{
    width: 100%;
}
	
#page_top .support .inner .support01 > div > img,
#page_top .support .inner .support02 > div > img,
#page_top .support .inner .support03 > div > img{
	display: none;
}
	
#page_top .support .inner .inner_item h3{
    text-align: center;
	font-size: 2.1rem;
	font-weight: 600;
	color: var(--font-color);
	line-height: 1;
	position: relative;
	padding-left: 0;
	margin: 1rem 0 3rem 0;
}

#page_top .support .inner .support01 h3:before {
	content: "";
	background: url("../images/icon/icon_support01.svg") no-repeat left top;
	width: 32px;
	height: 34px;
	background-size: contain;
	vertical-align: middle;
	line-height: 1.8;
	padding-right: 0;
	position: absolute;
	left: inherit;
}

#page_top .support .inner .support01 h3 span {
	padding-left: 5rem;
}

#page_top .support .inner .support02 h3:before {
	content: "";
	background: url("../images/icon/icon_support02.svg") no-repeat left top;
	width: 40px;
	height: 25px;
	background-size: contain;
	vertical-align: middle;
	line-height: 1.8;
	padding-right: 0;
	position: absolute;
	left: inherit;
}

#page_top .support .inner .support02 h3 span {
	padding-left: 5rem;
}

#page_top .support .inner .support03 h3:before {
	content: "";
	background: url("../images/icon/icon_support03.svg") no-repeat left top;
	width: 43px;
	height: 29px;
	background-size: contain;
	vertical-align: middle;
	line-height: 1.8;
	padding-right: 0;
	position: absolute;
	left: inherit;
}

#page_top .support .inner .support03 h3 span {
	padding-left: 5rem;
}
	
/* 流れる文字　Contact */
#page_top .topcontact_txt .topcontact_txt_inner {
	display: flex;
	animation: loop-text 22s linear infinite;
}
#page_top .topcontact_txt .topcontact_txt_inner span {
	font-size: 7rem;
}

}

@media screen and (max-width:768px){
#page_top #news h2 {
	font-size: 2.6rem;
	margin-bottom: 2rem;
	text-align: center;
}
	
#page_top .support h2 {
	margin-bottom: 2rem;
	text-align: center;
}
	
#page_top .support h2 span.first{
	font-size: 1.2rem;
}

#page_top .support span.second {
	font-size: 2.4rem;
}
	
#page_top .support .inner .inner_item{
    padding: 6% 4%;
}
	
#page_top .support .inner .inner_item h3{
    text-align: center;
	font-size: 2.1rem;
	font-weight: 600;
	color: var(--font-color);
	line-height: 1;
	position: relative;
	padding-left: 0;
	margin: 1rem 1rem 2rem 0;
}

#page_top .support .inner .support02 h3{
	margin: 1rem 2rem 2rem 0;
}

#page_top .support .inner .support01 h3 span{
	padding-left: 8.5vw;
}

#page_top .support .inner .support02 h3 span{
	padding-left: 9vw;
}

#page_top .support .inner .support03 h3 span{
	padding-left: 8vw;
}
	
#page_top .support .inner .support01 h3:before {
	width: 22px;
	height: 24px;
	background-size: contain;
	line-height: 1.8;
}

#page_top .support .inner .support02 h3:before {
	width: 34px;
	height: 19px;
	background-size: contain;
}

#page_top .support .inner .support03 h3:before {
	width: 36px;
	height: 22px;
	background-size: contain;
	line-height: 1.8;
}

#page_top .support .inner .support01 > div > div > p,
#page_top .support .inner .support02 > div > div > p,
#page_top .support .inner .support03 > div:first-child p{
	margin: 0 0 2rem 0;
    /*font-size: 1.6rem;*/
}

#page_top .support .inner .support03 > div:last-child > div h4{
    font-size: 1.7rem;
}
	
/* 流れる文字　Contact */
#page_top .topcontact_txt {
	padding-bottom: 1vw;
}
	
/* Support セミナー情報 アコーディオンメニュー */
	
#page_top .support .inner .support03 > div:last-child{
	margin-top: 2rem;
}
	
#page_top .support .inner .support03 > div:last-child > div:last-child{
    padding-left: 0;
    padding-top: 0;
}

#page_top .support .inner .support03 > div:last-child > div h4{
	color: #D7F8F1;
	font-weight: 600;
	font-size: 2.4rem;
	margin: 0 0 0 0;
}

.sp_support_accordion {
  border: none;
  border-radius: 8px;
  overflow: hidden;
  width: 320px;
  font-family: "Segoe UI", sans-serif;
}
	
.sp_support_accordion:first-child {
	margin: 0 0 2rem 0;
}

/* タイトル */
.sp_support_accordion-title {
    margin: 0;
    background-color: #D7F8F1;
    color: var(--point-color) !important;
    padding: 12px 15px;
    cursor: pointer;
    font-size: 1.7rem !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
    transition: background-color 0.3s;
}
.sp_support_accordion-title br{
    display: block;
}
/* ＋－アイコン */
.sp_support_accordion .icon i {
    font-size: 18px;
    color: var(--point-color);
    display: block;
}

/* コンテンツ（閉じた状態） */
.sp_support_accordion-content {
    list-style: none;
    margin: 0;
    padding: 2% 4% 2% 4%;
    background: #D7F8F1;
    display: none;
}

.sp_support_accordion-content a {
    display: block;
    padding: 10px 15px;
    text-decoration: none;
}

/* 開いた状態 */
.sp_support_accordion.open .sp_support_accordion-content {
    display: block;
}

/* 開いたときにアイコンを「－」に変更 */
.sp_support_accordion.open .icon i {
    transform: rotate(180deg);
}	
}

/***** トップページ - なんでも相談室 *****/
#page_top .topcontact_inner {
	background: #E4F5F6;
	padding: 0 0 6rem 0;
	margin: 0 auto;
	position: relative;
}

#page_top .topcontact_inner > div {
	height: 240px;
}

#page_top .topcontact_inner .topcontact {
	background: url("../images/top/contact_bk.png") no-repeat center;
	background-size: cover;
	border-radius: 15px;
	margin: 0 auto;
	max-width: 1300px;
	width: 100%;
	text-align: center;
	padding: 5rem 0 5rem 0;
	/*position: absolute;
	left: 0;
	right: 0;*/
}

#page_top .topcontact_inner .topcontact > div {
	margin: 0 auto;
	width: 80%;
}

#page_top .topcontact_inner .topcontact h3{
	display: flex;
	font-size: 3rem;
	font-weight: 600;
	color: var(--font-color);
	line-height: 1;
	padding: 0 0 3rem 0;
	margin: 0 auto;
	justify-content: center;
}
#page_top .topcontact_inner .topcontact h3 span{
	text-align: center;
	position: relative;
}

#page_top .topcontact_inner .topcontact h3 span:before {
	content: "";
	background: url("../images/icon/icon_support04.svg") no-repeat left top;
	width: 51px;
	height: 39px;
	background-size: contain;
	vertical-align: middle;
	line-height: 1;
	padding-right: 1rem;
	position: absolute;
	left: -6rem;
	top: 50%;
	transform: translateY(-50%);
}

#page_top .topcontact_inner .topcontact > div > p.first{
	font-weight: 700;
	font-size: 2.2rem;
	color: var(--point-color);
	line-height: 1;
	margin: 1.3rem 0 0 0;
}

#page_top .topcontact_inner .topcontact > div > p.second{
	font-weight: 700;
	font-size: 1.8rem;
	margin: 3rem 0;
}

#page_top .topcontact_inner .topcontact .btn{
	width: 400px;
}

#page_top .topcontact_inner .topcontact .btn a{
	text-align: center !important;
	padding: 20px 0;
}

@media screen and (max-width:1300px){
#page_top .topcontact_inner .topcontact{
	width: 94%;
	background-size: cover;
}

}


@media screen and (max-width:1100px){

#page_top .topcontact_inner {
	background: #E4F5F6;
	padding: 0 0 6vw 0;
	margin: 0 auto;
	position: relative;
}

#page_top .topcontact_inner > div {
	height: auto;
}

#page_top .topcontact_inner .topcontact {
	background: url("../images/top/sp_contact_bk.png") no-repeat center;
	background-size: cover;
	border-radius: 15px;
	margin: 0 auto;
	max-width: inherit;
	width: 94%;
	text-align: center;
	padding: 8vw;
}
	
#page_top .topcontact_inner .topcontact h3{
	display: flex;
	font-size: 2.1rem;
	font-weight: 600;
	color: var(--font-color);
	line-height: 1;
	padding: 0rem 0 3rem 0;
	margin: 0 auto;
	justify-content: center;
}
	
#page_top .topcontact_inner .topcontact h3 span{
	text-align: center;
	position: relative;
}

#page_top .topcontact_inner .topcontact h3 span:before {
	content: "";
	background: url("../images/icon/icon_support04.svg") no-repeat left top;
	width: 41px;
	height: 29px;
	background-size: contain;
	vertical-align: middle;
	line-height: 1;
	padding-right: 1rem;
	position: absolute;
	left: -5rem;
	top: 50%;
}

#page_top .topcontact_inner .topcontact > div > p.first{
	font-weight: 700;
	font-size: 2.2rem;
	color: var(--point-color);
	line-height: 1;
	margin: 1.3rem 0 0 0;
}

#page_top .topcontact_inner .topcontact > div > p.second{
	font-weight: 700;
	font-size: 1.8rem;
	margin: 2rem 0;
}

}

@media screen and (max-width:768px){
#page_top .topcontact_inner {
    background: #E4F5F6;
    padding: 0 0 4vw 0;
    margin: 0 auto;
    position: relative;
}

#page_top .topcontact_inner .topcontact {
	background: url("../images/top/sp_contact_bk.png") no-repeat center;
	background-size: 100%;
	border-radius: 15px;
	margin: 0 auto;
	max-width: inherit;
	width: 94%;
	text-align: center;
	padding: 8vw 0;
}

#page_top .topcontact_inner .topcontact > div {
	margin: 0 auto;
	width: 88%;
}
	
#page_top .topcontact_inner .topcontact .btn{
    width: 86%;
}
	
#page_top .topcontact_inner .topcontact .btn a {
    padding: 14px 20px 14px 10px;
}
	
#page_top .topcontact_inner .topcontact h3{
	display: flex;
	font-size: 2.1rem;
	font-weight: 600;
	color: var(--font-color);
	line-height: 1;
	padding: 1rem 0 0 0;
	margin: 0 auto;
	justify-content: center;
}
	
#page_top .topcontact_inner .topcontact h3 span:before {
    width: 37px;
    height: 25px;
    background-size: contain;
    left: -4rem;
    top: 50%;
}

#page_top .topcontact_inner .topcontact > div > p.first{
	font-weight: 700;
	font-size: 1.6rem;
	color: var(--point-color);
	line-height: 1.4;
	margin: 1.5rem 0 0 0;
}

#page_top .topcontact_inner .topcontact > div > p.second{
	font-weight: 700;
	font-size: 1.4rem;
	margin: 1rem 0 1rem 0;
}
	
}


/***** トップページ - メンバー登録のご案内 *****/
#page_top .memberinfo_inner{
	background: #D0F4FB;
	width: 100%;
	padding: 12rem 0 6rem 0;
}

#page_top .memberinfo_inner .memberinfo{
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
}

#page_top .memberinfo_inner .memberinfo_ttl{
	text-align: center;
	margin-bottom: 4rem;
	line-height: 1.2em;
}

#page_top .memberinfo_inner .memberinfo_ttl span:first-child{
	display: block;
	font-size: 1.6rem;
	margin-bottom: 1.6rem;
	color: var(--point-color);
}

#page_top .memberinfo_inner .memberinfo_ttl span:last-child{
	display: block;
	font-size: 3.2rem;
	font-weight: 700;
	color: var(--font-color);
}

#page_top .memberinfo_inner .memberinfo_disc{
	text-align: center;
	margin-bottom: 5rem;
}

#page_top .memberinfo_inner .memberinfo_list{
	margin: 0 auto;
	max-width: 740px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
}

#page_top .memberinfo_inner .memberinfo_list li{
	padding: 2rem;
	background: #fff;
	border-radius: 10px;
	position: relative;
}

#page_top .memberinfo_inner .memberinfo_list li p{
	text-align: center;
}

#page_top .memberinfo_inner .memberinfo_list li:first-child:before{
  content: "1";
  display: inline-block;
  line-height: 40px;
  position: absolute;
  padding: 0 0 0 0.1rem;
  color: #fff;
  background: #44d9c5;
  font-weight: 600;
  width: 40px;
  height: 40px;
  text-align: center;
  left: -1em;
  top: 15%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
}

#page_top .memberinfo_inner .memberinfo_list li:nth-child(2):before{
  content: "2";
  display: inline-block;
  line-height: 40px;
  position: absolute;
  padding: 0 0 0 0.1rem;
  color: #fff;
  background: #44d9c5;
  font-weight: 600;
  width: 40px;
  height: 40px;
  text-align: center;
  left: -1em;
  top: 15%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
}

#page_top .memberinfo_inner .memberinfo_list li:nth-child(3):before{
  content: "3";
  display: inline-block;
  line-height: 40px;
  position: absolute;
  padding: 0 0 0 0.1rem;
  color: #fff;
  background: #44d9c5;
  font-weight: 600;
  width: 40px;
  height: 40px;
  text-align: center;
  left: -1em;
  top: 15%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
}

#page_top .memberinfo_inner .memberinfo_list li:nth-child(4):before{
  content: "4";
  display: inline-block;
  line-height: 40px;
  position: absolute;
  padding: 0 0 0 0.1rem;
  color: #fff;
  background: #44d9c5;
  font-weight: 600;
  width: 40px;
  height: 40px;
  text-align: center;
  left: -1em;
  top: 15%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
}

.memberinfo_btn{
	margin: 6rem auto 0 auto;
	max-width: 740px;
}

.memberinfo_btn .btn li:nth-child(2) a{
	background: var(--btn-color2);
	color: var(--font-color);
}

.memberinfo_btn .btn li:nth-child(2) a::after{
	background: url("../images/arrow2.png") no-repeat;
	background-size: 32px 32px;
}

@media screen and (max-width: 1100px) {

#page_top .memberinfo_inner{
	background: #D0F4FB;
	width: 100%;
	padding: 6rem 0 6rem 0;
}
}

@media screen and (max-width: 768px) {
#page_top .memberinfo_inner{
	background: #D0F4FB;
	width: 100%;
	padding: 3rem 0;
}

#page_top .memberinfo_inner .memberinfo{
	max-width: auto;
	width: 100%;
	margin: 0 auto;
}

#page_top .memberinfo_inner .memberinfo_ttl{
	text-align: center;
	margin-bottom: 2rem;
	padding: 0 15px;
	line-height: 1.2em;
}

#page_top .memberinfo_inner .memberinfo_ttl span:first-child{
	display: block;
	font-size: 1.2rem;
	margin-bottom: 1rem;
	color: var(--point-color);
}

#page_top .memberinfo_inner .memberinfo_ttl span:last-child{
	display: block;
	font-size: 2.1rem;
	font-weight: 700;
	color: var(--font-color);
}

#page_top .memberinfo_inner .memberinfo_disc{
	text-align: center;
	margin-bottom: 3rem;
}

#page_top .memberinfo_inner .memberinfo_list{
	margin: 0 auto;
	width: 84%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

#page_top .memberinfo_inner .memberinfo_list li{
	padding: 1.6rem 0.4rem;
	background: #fff;
	border-radius: 10px;
	position: relative;
}

#page_top .memberinfo_inner .memberinfo_list li p{
	font-size: 1.6rem;
}
	
#page_top .memberinfo_inner .memberinfo_list li:first-child:before,
#page_top .memberinfo_inner .memberinfo_list li:nth-child(2):before,
#page_top .memberinfo_inner .memberinfo_list li:nth-child(3):before,
#page_top .memberinfo_inner .memberinfo_list li:nth-child(4):before{
    line-height: 30px;
    padding: 0 0 0 0.1rem;
    width: 30px;
    height: 30px;
    left: -1em;
    top: 12%;
}

.memberinfo_btn{
	margin: 3rem auto 0 auto;
	width: 84%;
}
	
.memberinfo_btn .btn li{
	margin-bottom: 4%;
}
	
.memberinfo_btn .btn li:nth-child(2) a::after{
	width: 25px;
	height: 25px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
	background: url("../images/arrow2.png") no-repeat;
	background-size: 25px 25px;
}

}

