@charset "utf-8";
/* CSS Document */
/* ------------------------------------------------------------------------------
fulcnt.com
------------------------------------------------------------------------------ */

html {
    height: 100%;
    text-align: center;
}
body {
    height: 100%;
    margin: 0;
}
body {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

/* Default Link Color */
a:link {
    color: #00F;
}
a:visited {
    color: #600;
}
a:hover {
    color: #090;
}
a:focus {
    color: #090;
}
a:active {
    color: #FF0;
}

/*TableStyle*/
table {
    border-top: 1px solid #CCC;
    border-left: 1px solid #CCC;
    border-collapse: collapse;
    border-spacing: 0;
}
table th {
    padding: 5px;
    border-right: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    background: #FAFAFA;
}
table td {
    padding: 5px;
    border-right: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
}
.cb {
    clear: both;
}
.cf:after {
    content: " ";
    display: block;
    clear: both;
}

/* TabL+PC */
#wrap {
    width: 100%;
    text-align: left;
	font-feature-settings: "palt";
}/* /TabL+PC */
img {
	width: 100%;
	height: auto;
}
.pc_only {
	display: block;
}
.sp_only {
	display: none;
}

header {
	background-color: #000;
	height: 100px;
	position: relative;
}
.header {
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
}
.headLogo {
	width: 15%;
	max-width: 120px;
	margin-left: 20px;
	margin-right: 20px;
	padding-top: 20px;
}
.headImg {
	width: 80%;
	max-width: 560px;
	margin-right: 20px;
}

.mainArea {
	background-image: url("../img/main_bg.jpg");
	background-size: cover;
	background-position: top center;
	padding: 120px 0 40px;
	margin-top: -1px;
}
.mainTit {
	width: 90%;
	max-width: 940px;
	margin-left: auto;
	margin-right: auto;
}

.c01Area {
	padding: 5% 0 5%;
	background:repeating-linear-gradient(
	45deg,
	#faee56,
	#faee56 15px,
	#fdf79d 0,
	#fdf79d 30px
	);
}
.c01Li {
	max-width: 1010px;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}
.c01Li li {
	list-style: none;
	margin-left: -10px;
	margin-bottom: 3%;
}

.c02Area {
	max-width: 1200px;
	width: 95%;
	margin: 7% auto 8%;
}
.c02Tit {
	margin-bottom: 5px;
}
.c02Area .attTxt {
	font-size: 16px;
	text-align: right;
	margin-bottom: 50px;
}
.c02Li {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	list-style: none;
	margin-bottom: 3%;
}
.c02Li li {
	width: 23.5%;
	margin-right: 2%;
	margin-bottom: 50px;
}
@media screen and (min-width: 960px) {
.c02Li li:nth-child(4n) {
	margin-right: 0;
}
}
.c02LiImg {
	margin-bottom: 10px;
}
.c02LiTxtBox {
	border-left: 4px solid #e3007f;
	padding-left: 10px;
	margin-bottom: 10px;
}
.c02LiTxt01 {
	font-size: 20px;
	font-weight: bold;
}
.c02LiTxt01 span {
	font-size: 16px;
	font-weight: normal;
}
.c02LiTit {
	font-size: 20px;
	font-weight: bold;
	color: #e50012;
}
.c02LiTit span {
	font-size: 16px;
}
.c02Btn01 {
	max-width: 600px;
	margin: 0 auto;
}
.c02Btn01 a {
	display: block;
	border-radius: 100px;
	width: 100%;
	text-align: center;
	background-color: #e3007f;
	color: #fff;
	text-decoration: none;
	font-size: 24px;
	font-weight: bold;
	padding: 20px 50px 20px 10px;
	background-image: url("../img/btn_arrow.png");
	background-position: 95% center;
	background-size: 13px auto;
}
.c02Btn01 a span {
	font-size:20px;
}

.c03Area {
	background-color: #285ba8;
	padding: 7% 0 ;
}
.c03Tit {
	color: #fff;
	text-align: center;
	margin-bottom: 50px;
	font-size: 40px;
	line-height: 35px;
}
.c03Tit span {
	font-size: 20px;
}
.c03ContDtl {
	max-width: 1000px;
	margin: 0 auto;
	width: 90%;
	background-color: #fff;
}
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 40%;
}
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.c03ContBox {
	padding: 50px;
	display: flex;
	justify-content: space-between;
}
.c03Tbl {
	width: 60%;
}
.c03Tbl table {
	border: none;
}
.c03Tbl th,.c03Tbl td {
	border: none;
}
.c03Tbl th {
	width: 30%;
	min-width: 160px;
	background-color: #ddd;
	border-bottom: 5px solid #fff;
	padding: 8px 15px;
}
.c03Tbl td {
	padding: 8px 15px;
	border-bottom: 5px solid #fff;
}
.c03Img01 {
	width: 30%;
	max-width: 250px;
}
.copyright {
	padding: 2% 0 3%;
	text-align: center;
	font-size: 15px;
}

.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 2px #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    transform: translateY(20%) rotate(-45deg);
}


/* TABP+SPL */
@media screen and (max-width: 959px) {
    
header {
	background-color: #000;
	height: 90px;
	position: relative;
}

.mainArea {
	padding: 12% 0 4%;
}
.c02Area {
	max-width: 1200px;
	width: 95%;
	margin: 7% auto 10%;
}
.c02Tit {
	margin-bottom: 2px;
}
.c02Area .attTxt {
	font-size: 13px;
	text-align: right;
	margin-bottom: 3.5vw;
}
.c02Li li {
	width: 31.5%;
	margin-right: 2%;
	margin-bottom: 5vw;
}

.c02LiImg {
	margin-bottom:1vw;
}
.c02LiTxtBox {
	border-left: 4px solid #e3007f;
	padding-left: 1vw;
	margin-bottom: 10px;
}
.c02LiTxt01 {
	font-size:2vw;
	font-weight: bold;
}
.c02LiTxt01 span {
	font-size: 1.6vw;
	font-weight: normal;
}
.c02LiTit {
	font-size: 2vw;
	font-weight: bold;
	color: #e50012;
}
.c02LiTit span {
	font-size: 1.6vw;
}
	
.c02Btn01 {
	max-width: 600px;
	width: 80%;
	margin: 0 auto;
}
.c02Btn01 a {
	font-size: 3vw;
	padding: 15px 30px 15px 10px;
	background-image: url("../img/btn_arrow.png");
	background-position: 95% center;
	background-size: 13px auto;
}
.c02Btn01 a span {
	font-size:2.4vw;
}

.c03Area {
	background-color: #285ba8;
	padding: 10% 0 8% ;
}
.c03Tit {
	color: #fff;
	text-align: center;
	margin-bottom: 5vw;
	font-size: 4vw;
	line-height: 1em;
}
.c03Tit span {
	font-size: 2.4vw;
}
.c03ContBox {
	padding: 30px;
}
.c03Tbl {
	width: 65%;
}
.c03Tbl table {
	border: none;
	font-size: 2vw;
}
.c03Tbl th,.c03Tbl td {
	border: none;
}
.c03Tbl th {
	width: 30%;
	min-width:100px;
	background-color: #ddd;
	border-bottom: 5px solid #fff;
	padding: 5px 8px;
}
.c03Tbl td {
	padding: 5px 12px;
	border-bottom: 5px solid #fff;
}
	
.copyright {
	font-size: 13px;
}

	
}/* /TABP+SPL */


@media screen and (max-width: 959px) and (min-width: 560px)  {
.c02Li li:nth-child(4n) {
	margin-right: 2%;
}
.c02Li li:nth-child(3n) {
	margin-right: 0;
}
}

/* SPP */
@media screen and (max-width: 599px) {
    #wrap {}
	
	header {
	background-color: #000;
	height: 13vw;
	position: relative;
}
	.headLogo {
	margin-left: 2vw;
	margin-right: 2vw;
	padding-top: 2vw;
}
.headImg {
	margin-right: 2vw;
}
	
	.pc_only {
		display: none;
	}
	.sp_only {
		display: block;
	}
	
.c02Area {
	margin: 13% auto 15%;
}
.c02Li li {
	width: 48%;
	margin-right: 4%;
	margin-bottom: 7vw;
}
.c02Li li:nth-child(3n) {
	margin-right: 4%;
}
.c02Li li:nth-child(2n) {
	margin-right: 0%;
}
.c02LiTxtBox {
	border-left: 4px solid #e3007f;
	padding-left: 1.5vw;
	margin-bottom: 1.2vw;
}
.c02LiTxt01 {
	font-size:3vw;
	font-weight: bold;
}
.c02LiTxt01 span {
	font-size: 2.6vw;
	font-weight: normal;
}
.c02LiTit {
	font-size: 3vw;
	font-weight: bold;
	color: #e50012;
}
.c02LiTit span {
	font-size: 2.3vw;
}
	
.c02Btn01 a {
	font-size: 3.8vw;
	padding: 3vw 30px 3vw 10px;
	background-image: url("../img/btn_arrow.png");
	background-position: 95% center;
	background-size: 10px auto;
}
.c02Btn01 a span {
	font-size:3.4vw;
}
	
.map {
  padding-top: 70%;
}
.c03Area {
	background-color: #285ba8;
	padding: 15% 0 8% ;
}
.c03Tit {
	color: #fff;
	text-align: center;
	margin-bottom: 5vw;
	font-size: 5.4vw;
	line-height: 1em;
}
.c03Tit span {
	font-size: 2.8vw;
}
.c03ContBox {
	padding: 5vw;
	flex-wrap: wrap;
}
.c03Tbl {
	width: 100%;
	order: 2;
}
.c03Tbl table {
	border: none;
	font-size: 2.6vw;
}
.c03Tbl th,.c03Tbl td {
	border: none;
}
.c03Tbl th {
	width: 30%;
	min-width:100px;
	background-color: #ddd;
	border-bottom: 5px solid #fff;
	padding: 5px 8px;
}
.c03Tbl td {
	padding: 5px 12px;
	border-bottom: 5px solid #fff;
}
.c03Img01 {
	width: 100%;
	max-width: 250px;
	order: 1;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 6%;
}

.copyright {
	padding: 5% 0 8%;
	font-size: 11px;
}

}/* /SPP */






/* アニメーション */
.anim {
	opacity: 0;
}

.anim.isActive.lr {
	animation: lr 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}

@keyframes lr {
	0% {
		transform: translateX(140px);
		opacity: 0;
	}

	50% {
		transform: translateX(0);
	}

	65% {
		transform: translateX(30px);
	}

	100% {
		transform: translateX(0);
	}

	20%,
	100% {
		opacity: 1;
	}
}

.anim.isActive.rl {
	animation: rl 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}

@keyframes rl {
	0% {
		transform: translateX(-140px);
		opacity: 0;
	}

	50% {
		transform: translateX(0);
	}

	65% {
		transform: translateX(-30px);
	}

	100% {
		transform: translateX(0);
	}

	20%,
	100% {
		opacity: 1;
	}
}

.anim.isActive.su {
	animation: su 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes su {
	0% {
		transform: translateY(40px) scale(0.8);
		opacity: 0;
	}

	100% {
		transform: translateY(0) scale(1.0);
	}

	80%,
	100% {
		opacity: 1;
	}
}

.anim.isActive.lo {
	animation: lo 2s ease-out infinite;
	opacity: 1;
}

@keyframes lo {

	0%,
	40%,
	60%,
	80% {
		transform: scale(1.0);
	}

	50%,
	70% {
		transform: scale(0.95);
	}
}

/* ボタンホバーアニメーション */
.c02Btn01.hov {
	opacity: 1;
	overflow: hidden;
	position: relative;
	cursor: pointer;
}

.c02Btn01.hov::before {
	background-color: #fff;
	content: "";
	display: block;
	position: absolute;
	top: -100px;
	left: 0;
	width: 30px;
	height: 100%;
	opacity: 0;
	transition: cubic-bezier(0.32, 0, 0.67, 0);
}

.c02Btn01.hov:hover::before {
	animation: hov 0.5s linear;
}

@keyframes hov {
	0% {
		transform: scale(2) rotate(45deg);
		opacity: 0;
	}

	20% {
		transform: scale(20) rotate(45deg);
		opacity: 0.6;
	}

	40% {
		transform: scale(30) rotate(45deg);
		opacity: 0.4;
	}

	80% {
		transform: scale(45) rotate(45deg);
		opacity: 0.2;
	}

	100% {
		transform: scale(50) rotate(45deg);
		opacity: 0;
	}
}