/* CSS Document */


a
{
	color: var(--font-color);
	text-decoration: none;
	position: relative;
	-moz-transition-duration: 0.2s;
	-webkit-transition-duration: 0.2s;
	-o-transition-duration: 0.2s;
	-ms-transition-duration: 0.2s;
	transition-duration: 0.2s;
	padding-bottom: 6px;
	position: relative;
}

a:hover
{
	color: var(--link-color) !important;
	-moz-transition-duration: 0.2s;
	-webkit-transition-duration: 0.2s;
	-o-transition-duration: 0.2s;
	-ms-transition-duration: 0.2s;
	transition-duration: 0.2s;
}

.before_link a,
.after_link a
{
	padding-bottom: 10px;
	line-height: 1;
}

.before_link a:before,
.after_link a:after
{
  background: var(--link-color);
  content: '';
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: left top;
  transform: scale(0, 1);
  transition: transform .3s;
}

.link_after a:after
{
	background: var(--link-color);
}

.before_link a:hover,
.after_link a:hover
{
	color: var(--link-color) !important;
}

.before_link a:hover:before,
.after_link a:hover:after
{
  transform-origin: left top;
  transform: scale(1, 1);
}


a:active
{
	text-decoration: underline;
}

.noline a:before,
.noline a:hover:before
{
	display: none !important;
}


a img
{
	transition-duration: 0.6s;
	transform:scale(1,1);
}

.sc a:hover img
{

	-moz-transition-duration: 0.6s;
	-webkit-transition-duration: 0.6s;
	-o-transition-duration: 0.6s;
	-ms-transition-duration: 0.6s;
	transition-duration: 0.6s;
	transform:scale(1.04,1.04);
}

.sc a:hover:before
{
	display: none;
}

.link a::before
{
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: block;
	content: '';
	width: 0;
	height: 0;
	background: rgba(255,255,255,.2);
	border-radius: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	opacity: 0;

}


.link a:hover::before
{
	-webkit-animation: circle .75s;
	animation: circle .75s;

}


.link a:hover img
{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";

	-moz-transition-duration: 1.6s;
	-webkit-transition-duration: 1.6s;
	-o-transition-duration: 1.6s;
	-ms-transition-duration: 1.6s;
	transition-duration: 1.6s;

}



@-webkit-keyframes shine 
{
	100% 
	{
		left: 125%;
	}
}

@keyframes shine 
{
	100% 
	{
		left: 125%;
	}
}


@-webkit-keyframes circle 
{
	0%	{ opacity: 1;}
	40% { opacity: 1;}
	100% 
	{	width: 200%;
		height: 200%;
		opacity: 0;
	}
}

@keyframes circle 
{
	0% { opacity: 1;}
	40% { opacity: 1;}
	100% 
	{
		width: 200%;
		height: 200%;
		opacity: 0;
	}
}



.contact_btn
{
}

.contact_btn a
{
	line-height: 1;
	display: inline-block;
	border: 1px solid #FFF;
	padding-top: 16px;
	padding-right: 40px;
	padding-bottom: 16px;
	padding-left: 60px;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	overflow: hidden;
	position: relative;
	z-index: 1;

}

.contact_btn a:after
{
	font-family: "Font Awesome 6 Free";
	content: '\f105';
	font-weight: 900;
	margin-left: 20px;
}

.contact_btn a:before
{
	background: var(--link-color);
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;
	z-index: -1;
	border: 1px solid var(--link-color);

}

.contact_btn a:hover
{
	border: 1px solid var(--link-color);
	color: #333 !important;
	-moz-transition-duration: 0.6s;
	-webkit-transition-duration: 0.6s;
	-o-transition-duration: 0.6s;
	-ms-transition-duration: 0.6s;
	transition-duration: 0.6s;
}

.contact_btn a:hover:before
{
	transform-origin: left top;
	transform: scale(1, 1);
}




article .next_box,
article .next_box_return,
article .next_box_center,
article .view_site
{
	padding-right: 0px;
	padding-left: 0px;
	padding-top: 10px;
	text-align: left;
	margin-top: 10px;
	margin-bottom: 0px;
}

article .next_box_return,
article .next_box_center,
article .view_site
{
	text-align: center;
}

article .next_box a,
article .next_box_return a,
article .next_box_center a,
article .view_site a
{
	font-size: 16px;
	color: var(--btn-color);
	display: inline-block;
	padding-top: 8px;
	padding-right: 8px;
	padding-bottom: 8px;
	padding-left: 8px;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	overflow: hidden;
	position: relative;
	z-index: 1;
	border: 1px solid var(--btn-color);
}


article .next_box a,
article .next_box_center a
{
	padding-right: 30px;
	padding-left: 60px;
}

article .next_box_return a
{
	padding-right: 60px;
	padding-left: 30px;
}


article .view_site a
{
	color: #fff;
	background-color: #33acb4;
	border: 1px solid #33acb4;
	padding-top: 12px;
	padding-bottom: 12px;
	padding-right: 40px;
	padding-left: 60px;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}


article .next_box a:after,
article .next_box_center a:after,
article .view_site a:after
{
	font-family: "Font Awesome 6 Free";
	content: '\f105';
	font-weight: 900;
	margin-left: 30px;
	display: inline-block;
	line-height: 100%;
	padding-top: 10px;
	padding-right: 12px;
	padding-bottom: 10px;
	padding-left: 12px;
	font-size: 14px;
}

article .next_box_return a:before
{
	font-family: "Font Awesome 6 Free";
	content: '\f0c9';
	font-weight: 900;
	margin-left: 30px;
	display: inline-block;
	line-height: 100%;
	padding-top: 10px;
	padding-right: 12px;
	padding-bottom: 10px;
	padding-right: 12px;
	font-size: 14px;

}

article .view_site a:after
{
	content:"\f35d";
	margin-left: 10px;
}



article .next_box a:before,
article .next_box_return a:after,
article .next_box_center a:before,
article .view_site a:before
{
	background: var(--btn-color);
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;
	z-index: -1;
}

article .view_site a:before
{
	background: var(--link-color);

}


article .next_box a:hover,
article .next_box_return a:hover,
article .next_box_center a:hover,
article .view_site a:hover
{
	color: #fff !important;
	-moz-transition-duration: 0.6s;
	-webkit-transition-duration: 0.6s;
	-o-transition-duration: 0.6s;
	-ms-transition-duration: 0.6s;
	transition-duration: 0.6s;
}

article .view_site a:hover
{
	color: #000 !important;

}

article .next_box a:hover:after,
article .next_box_return a:hover:before,
article .next_box_center a:hover:after,
article .view_site a:hover:after
{
	color:#FFF !important;
	-moz-transition-duration: 0.6s;
	-webkit-transition-duration: 0.6s;
	-o-transition-duration: 0.6s;
	-ms-transition-duration: 0.6s;
	transition-duration: 0.6s;
}

article .view_site a:hover:after
{
	color:#000 !important;
}

article .next_box a:hover:before,
article .next_box_return a:hover:after,
article .next_box_center a:hover:before,
article .view_site a:hover:before
{
	transform-origin: left top;
	transform: scale(1, 1);
}


article .view_more
{
	text-align: right;
}

article .view_more a
{
	color: var(--btn-color);
	font-size: 16px;
	display: inline-block;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	overflow: hidden;
	position: relative;
	z-index: 1;
	line-height: 1;
	padding: 0px;
}

article .view_more a span
{
	display: inline-block;
	padding-top: 6px;
	padding-bottom: 6px;
	position: relative;
}

article .view_more a span:before
{
  background: var(--btn-color);
  content: '';
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: left top;
  transform: scale(0, 1);
  transition: transform .3s;
}


article .view_more a:after
{
	font-family: "Font Awesome 6 Free";
	content: '\f105';
	font-weight: 900;
	margin-left: 20px;
	display: inline-block;
	line-height: 1;
	padding-top: 32px;
	padding-right: 34px;
	padding-bottom: 32px;
	padding-left: 34px;
	font-size: 14px;
	border: 1px solid var(--btn-color);
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
}

article .view_more a:before
{
	background: var(--btn-color);
	position: absolute;
	top: 0;
	right: 0;
	font-family: "Font Awesome 6 Free";
	content: '\f105';
	font-weight: 900;
	display: inline-block;
	line-height: 1;
	padding-top: 32px;
	padding-right: 34px;
	padding-bottom: 32px;
	padding-left: 34px;
	font-size: 14px;
	border: 1px solid var(--btn-color);

	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;

	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform .3s;
	z-index: -1;
}


article .view_more a:hover
{
	color: var(--btn-color) !important;
	-moz-transition-duration: 0.6s;
	-webkit-transition-duration: 0.6s;
	-o-transition-duration: 0.6s;
	-ms-transition-duration: 0.6s;
	transition-duration: 0.6s;

}

article .view_more a:hover span
{
}

article .view_more a:hover:after
{
	color:#FFF !important;
	-moz-transition-duration: 0.6s;
	-webkit-transition-duration: 0.6s;
	-o-transition-duration: 0.6s;
	-ms-transition-duration: 0.6s;
	transition-duration: 0.6s;
}

article .view_more a:hover:before
{
	transform-origin: center top;
	transform: scale(1, 1);
}

article .view_more a:hover span:before
{
  transform-origin: left top;
  transform: scale(1, 1);
}


article .exlink
{
	text-align: right;
}

article .exlink a
{
	font-size: 18px;
	line-height: 1;
	color: #263F5F;
}

article .exlink a:before
{
	font-family: "Font Awesome 6 Free";
	content: '\f105';
	font-weight: 900;
	margin-right: 20px;
	font-size: 18px;
	line-height: 1;

}


@media (max-width: 1199px) 
{
	a:hover
	{
		color: inherit !important;
	}
}

/* タブレットレイアウト : 768 px 〜 959 px*/
@media screen and (min-width:768px) and (max-width:1199px)
{



}

/* スマホ設定  768 以下*/
@media screen and (max-width:767px)
{

article .exlink
{
	text-align: left;
	padding-left: 32px;
}

article .exlink a
{
	text-indent: -32px;
	display: block;
}

article .next_box
{
	text-align: center;
}

article .next_box a,
article .next_box_return a,
article .next_box_center a
{
	margin-bottom: 20px;
	font-size: 18px;
	line-height: 100%;
	padding-right: 14px;
	position: relative;
	padding-top: 14px;
	padding-bottom: 10px;
	padding-left: 20px;
}

article .next_box_return a
{
	padding-right: 30px;
	padding-left: 0px;
}

article .next_box a:after,
article .next_box_center a:after
{
	margin-left: 10px;
}

article .next_box_return a:before
{
	margin-right: 10px;
}


article .next_box a:before,
article .next_box_return a:before,
article .next_box_center a:before,
article .next_box a:hover,
article .next_box_return a:hover,
article .next_box_center a:hover,
article .next_box a:hover:before,
article .next_box_return a:hover:before,
article .next_box_center a:hover:before,
article .btn a:before,
article .btn a:hover:before
{

}


article .next_box a small,
article .next_box_return a small,
article .next_box_center a small
{
	padding-right: 0em;
	display: block;
}

article .view_more
{
	text-align: center;
}

article .view_more a:after
{
	margin-left: 20px;
	line-height: 1;
	display: inline-block;
	padding-top: 17px;
	padding-right: 20px;
	padding-bottom: 17px;
	padding-left: 20px;
	font-size: 14px;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
}


article .view_more a:before
{
	padding-top: 17px;
	padding-right: 20px;
	padding-bottom: 17px;
	padding-left: 20px;
	font-size: 14px;

	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
}

.contact_btn a
{
	line-height: 1;
	padding-top: 16px;
	padding-right: 20px;
	padding-bottom: 16px;
	padding-left: 20px;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
}



}