@charset "UTF-8";
html {
	font-size: 62.5%;
}

body {
	color: #3c3c43;
	font-family: "Noto Sans JP", "Helvetica Neue", Helvetica, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Yu Gothic", 游ゴシック, YuGothic, 游ゴシック体, "Noto Sans JP", メイリオ, Meiryo, sans-serif;
	font-size: 1.6rem;
	line-height: 1.65;
	background-color: #fff;
	}

/* link */
a:link,
a:visited {
	color: #3c3c43;
	text-decoration: underline;
	outline: none;
	cursor: pointer;
	transition: all 0.3s;
	}
a:active,
a:hover {
	color: #eb4f00;
	cursor: pointer;
	}

/* ---------------------------------------------------------------------
	header
*/
#headerArea {
  z-index: 300;
  margin: 0 auto;
  position: fixed;
  top: 0;
	width: 100%;
	background-color: #fff;
  /* background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px); */
  }
  #headerArea header {
		position: relative;
    margin: 0px auto;
    width: 100%;
    height: 80px;
    }
    #headerArea header .logo {
			display: flex;
			justify-content: flex-start;
    	align-items: center;
			margin-left: 80px;
			width: 50%;
			height: 80px;
      }
			#headerArea header .logo a {
				display: block;
				background-repeat: no-repeat;
				background-size: cover;
				}
			#headerArea header .logo .logo_ascot {
				margin-top: 4px;
				margin-right: 40px;
				width: 106px;
				height: 47px;
				background-image: url(/asset/images/logo_ascot.svg);
				}
			#headerArea header .logo .logo_kentaku {
				margin-top: 2px;
				width: 157px;
				height: 25px;
				background-image: url(/asset/images/logo_kentaku.png);
				}
				#headerArea header .logo .alt {
					display: none;
					}
    #headerArea .menu_button_sp {
      display: none;
      }
    #headerArea nav {
			z-index: 50;
      position: absolute;
			top: 0;
      right: 0;
      }
      #headerArea nav .menu {
				display: flex;
        justify-content: space-between;
        padding: 0;
        color: #3c3c43;
				font-size: 1.5rem;
				font-weight: bold;
				list-style-type: none;
        }
				#headerArea nav .menu .menu_section {
					position: relative;
					display: inline-block;
					margin-left: 40px;
					vertical-align: middle;
					text-align: center;
					}
					#headerArea nav .menu .menu_section.sp-menu_footer {
						display: none;
						}
					#headerArea nav .menu .menu_section .menu_link {
						display: table-cell;
						vertical-align: middle;
						height: 80px;
						padding-top: 0;
						color: #3c3c43;
						text-decoration: none;
						}
					#headerArea nav .menu .menu_section:nth-child(3) .menu_link {
						padding: 0 30px;
						color: #fff;
						background-color: #eb4f00;
						pointer-events: none;
						}
						#headerArea nav .menu .menu_section:nth-child(3) .menu_link dl {
							position: relative;
							padding-left: 36px;
							}
							#headerArea nav .menu .menu_section:nth-child(3) .menu_link dl dt {
								margin-bottom: 4px;
								font-size: 1.1rem;
								line-height: 1;
								}
							#headerArea nav .menu .menu_section:nth-child(3) .menu_link dl dd {
								font-family: Helvetica, sans-serif;
								font-size: 2.0rem;
								line-height: 1;
								letter-spacing: 0.05em;
								}
						#headerArea nav .menu .menu_section:nth-child(3) .menu_link dl::before {
							content: '';
							position: absolute;
							top: 50%;
							left: 0;
							width: 25px;
							height: 25px;
							background-image: url(/asset/images/icon_tel.png);
							background-repeat: no-repeat;
							background-size: cover;
							transform: translate(0, -50%);
							transition: all 0.3s;
							}
          #headerArea nav .menu .menu_section .menu_link:hover {
						position: relative;
            color: #eb4f00;
            }
				
/* ---------------------------------------------------------------------
	footer
*/
#footerArea {
	width: 100%;
  margin: 0 auto;
	}
	footer {
		position: relative;
		}
		footer .footer_info {
			display: flex;
			justify-content: space-around;
			align-items: center;
			width: 100%;
			}
			footer .footer_info li {
				width: 50%;
				text-align: center;
				}
				footer .footer_info li:first-child {
					border-right: 1px solid #fff;
					}
					footer .footer_info li a {
						display: flex;
						align-items: flex-start;
 					  justify-content: center;
						padding-top: 90px;
						height: 400px;
						background-color: #f3f3f3;
						font-size: 1.4rem;
						text-decoration: none;
						}
						footer .footer_info li a:hover {
							color: #3c3c43;
							background-color: #eaeaec;
							}
						footer .footer_info li a dl {
							width: 100%;
							}
							footer .footer_info li a dl dt {
								display: flex;
								align-items: center;
								justify-content: center;
								height: 168px;
								background-repeat: no-repeat;
								background-position: center;
								}
							footer .footer_info li a dl dt.logo_ascotcorp {
								background-image: url(/asset/images/logo_ascotcorp.png);
								background-size: 128px 58px;
								}
							footer .footer_info li a dl dt.logo_kentaku {
								background-image: url(/asset/images/logo_kentaku.png);
								background-size: 217px 35px;
								}
								footer .footer_info li a dl dt .alt {
									display: none;
									}
							footer .footer_info li a dl dd {
								font-size: 1.4rem;
								line-height: 1.6;
								}
								footer .footer_info li a dl dd .sp_br {
									display: none;
									}
		footer .footer_menu {
			width: 88%;
			margin: 40px auto 0;
			}
			footer .footer_menu li {
				display: inline-block;
				margin-right: 20px;
				}
				footer .footer_menu li a {
					position: relative;
					display: block;
					font-size: 1.2rem;
					text-decoration: none;
					font-weight: 500;
					text-align: left;
					}
				footer .footer_menu li a.icon_pdf {
					margin-right: 16px;
					}
				footer .footer_menu li a.icon_pdf::after {
					content: '';
					position: absolute;
					top: 50%;
					margin-left: 4px;
					width: 12px;
					height: 12px;
					background-image: url(/asset/images/icon_file.svg);
					background-repeat: no-repeat;
					background-size: contain;
					transform: translate(0, -50%);
					}
		footer .footer_copy {
			display: flex;
			align-items: flex-end;
			justify-content: space-between;
			margin: 40px auto 60px;
			width: 88%;
			}
			footer .footer_copy dl {
				display: flex;
 				align-items: center;
				}
				footer .footer_copy dl dt a {
					display: block;
					margin-top: 1px;
					width: 164px;
					height: 30px;
					background-image: url(/asset/images/logo_j-fsa.png);
					background-repeat: no-repeat;
					background-size: cover;
					}
					footer .footer_copy dl dt a .alt {
						display: none;
						}
				footer .footer_copy dl dd {
					margin-left: 16px;
					font-size: 1.2rem;
					line-height: 1.5;
					font-weight: 600;
					}
			footer .footer_copy .Copyright {
				font-family: Helvetica, sans-serif;
				font-size: 1.2rem;
				line-height: 1;
				}

/* ---------------------------------------------------------------------
	page top
*/
a#pagetop {
	z-index: 30;
	position: fixed;
  right: 24px;
  display: block;
  background-color: #eb4f00;
  border-radius: 50%;
	opacity: 0;
  transform: translateY(100px);
	transition: background-color 0.3s;
  }
	a:hover#pagetop {
		background-color: #d7092f;
		}
	a#pagetop .icon_arrow {
		position: relative;
		display: block;
		width: 56px;
		height: 56px;
		transition: all 0.3s;
		}
	a#pagetop .icon_arrow::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 18px;
		height: 18px;
		background-image: url(/asset/images/icon_pagetop.svg);
		background-repeat: no-repeat;
		background-position: center center;
		transform: translate(-50%,-50%);
		}

a#pagetop.UpMove{
  animation: UpAnime 0.5s forwards;
	}
@keyframes UpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
a#pagetop.DownMove{
  animation: DownAnime 0.5s forwards;
	}
@keyframes DownAnime{
  from {
    opacity: 1;
  	transform: translateY(0);
  }
  to {
    opacity: 1;
  	transform: translateY(100px);
  }
}

/* ---------------------------------------------------------------------
	content
*/
#contentArea {
	margin-top: 79px;
	padding-top: 1px;
	}

/* ---------------------------------------------------------------------
	タブレット
*/
@media only screen and (max-width : 1240px) {
  
/* ---------------------------------------------------------------------
	header
	*/
  #headerArea header {
		z-index: 10;
    width: 100%;
    }
    #headerArea .sp_header {
			z-index: 300;
      width: 100%;
      }
      #headerArea header .logo {
        margin-left: 40px;
        }
        #headerArea .logo_img {
          width: 100%;
          }
          #headerArea nav {
            position: fixed;
            right: 0;
						overflow: scroll;
						margin-top: 80px;
						padding-bottom: 64px;
            width: 100%;
						height: 100%;
						background-color: #fff;
						transform: translateX(100vw);
						transition: all .3s linear;
            }
						#headerArea nav.active {
							transform: translateX(0);
							}
              #headerArea nav .menu {
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;
								overflow: scroll;
								width: 100%;
                }
              #headerArea nav .menu .menu_section {
								display: block;
								margin-left: 0;
                width: 100%;
                border-top: 1px solid #ccc; 
                background-color: #fff;
                }
							#headerArea nav .menu .menu_section:nth-child(3),
							#headerArea nav .menu .menu_section.sp-menu_footer {
                border-top: none; 
                }
                #headerArea nav .menu .menu_section .menu_link {
									position: relative;
                  display: block;
									padding-left: 64px;
                  height: 50px;
									line-height: 50px;
									font-weight: bold;
                  text-align: left;
                  }
								#headerArea nav .menu .menu_section:nth-child(3) .menu_link {
									padding: 18px 40px;
									height: 72px;
									pointer-events: auto;
                  }
                  #headerArea nav .menu .menu_section .menu_link::after {
                    content: '';
										position: absolute;
										top: 50%;
										left: 40px;
										width: 12px;
										height: 12px;
										background-image: url(/asset/images/icon_arrow_primary.svg);
										background-repeat: no-repeat;
										background-size: contain;
										transform: translate(0, -50%);
										transition: all 0.3s;
                    }
									#headerArea nav .menu .menu_section:nth-child(3) .menu_link::after {
										display: none;
										}
									#headerArea nav .menu .menu_section:nth-child(3) .menu_link:hover {
										color: #fff;
										background-color: #d7092f;
										}
							#headerArea nav .menu .menu_section.sp-menu_footer {
								display: block;
								}
								#headerArea nav .menu .menu_section.sp-menu_footer ul {
									position: relative;
									}
									#headerArea nav .menu .menu_section.sp-menu_footer ul li {
										display: block;
										margin-left: 0;
										width: 100%;
										border-bottom: 1px solid #ccc; 
										background-color: #fff;
										}
										#headerArea nav .menu .menu_section.sp-menu_footer ul li a {
											position: relative;
											display: block;
											padding-left: 40px;
											height: 50px;
											font-size: 1.2rem;
											text-decoration: none;
											line-height: 50px;
											font-weight: 500;
											text-align: left;
											}
										#headerArea nav .menu .menu_section.sp-menu_footer ul li a.icon_pdf::after {
											content: '';
											position: absolute;
											top: 50%;
											margin-left: 4px;
											width: 12px;
											height: 12px;
											background-image: url(/asset/images/icon_file.svg);
											background-repeat: no-repeat;
											background-size: contain;
											transform: translate(0, -50%);
											}

 /*　ハンバーガーメニューボタン　---------------------------------------------*/
 #headerArea .menu_button_sp {
	display: block;
	position: fixed;
	z-index: 3;
	right: 6px;
	top: 10px;
	width: 56px;
	height: 56px;
	cursor: pointer;
	text-align: center;
	}
	.menu_button_sp span {
		display: block;
		position: absolute;
		width: 26px;
		height: 2px ;
		left: 0px;
		background-color: #3c3c43;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
		}
		.menu_button_sp span:nth-child(1) {
			top: 21px;
			}
		.menu_button_sp span:nth-child(2) {
			top: 30px;
			}
		.menu_button_sp span:nth-child(3) {
			top: 39px;
			}

/* スマホメニューを開いてる時のボタン */
.menu_button_sp.active span:nth-child(1) {
	top: 50%;
	left: 0%;
	transform: translate(-50%,-50%) rotate(-45deg);
	background: #3c3c43;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	}
.menu_button_sp.active span:nth-child(2),
.menu_button_sp.active span:nth-child(3) {
	top: 50%;
	left: 0%;
	transform: translate(-50%,0%) rotate(45deg);
	background: #3c3c43;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	}

/* ---------------------------------------------------------------------
footer
*/
#footerArea footer .footer_menu {
	display: none;
	}
footer .footer_info li a {
	padding-top: 50px;
  height: 330px;
	}

}

/* ---------------------------------------------------------------------
	SP
*/
@media only screen and (max-width : 767px) {

	body {
		font-size: 1.4rem;
		line-height: 1.6;
		}

	*:focus {
		outline: none;
		}

	/* ---------------------------------------------------------------------
	header
	*/
  #headerArea header {
		z-index: 10;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: 50px;
    justify-content: space-around;
    }
    #headerArea .sp_header {
			z-index: 300;
			position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 50px;
      background-color: #fff;
      }
      #headerArea header .logo {
				margin-left: 0;
				width: 100%;
				height: 50px;
        }
				#headerArea header .logo .logo_ascot {
				margin: 0 20px;
				width: 78px;
				height: 35px;
				}
			#headerArea header .logo .logo_kentaku {
				margin-bottom: 2px;
				width: 118px;
				height: 19px;
				}
        #headerArea .logo_img {
          width: 100%;
          }
          #headerArea nav {
            position: fixed;
            right: 0;
						overflow: scroll;
						margin-top: 50px;
						padding-bottom: 64px;
            width: 100%;
						height: 100%;
						transform: translateX(100vw);
						transition: all .3s linear;
            }
						#headerArea nav.active {
							transform: translateX(0);
							}
              #headerArea nav .menu {
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;
								overflow: scroll;
								width: 100%;
                }
              #headerArea nav .menu .menu_section {
								display: block;
								margin-left: 0;
                width: 100%;
                border-top: 1px solid #ccc;
                background-color: #fff;
                }
                #headerArea nav .menu .menu_section .menu_link {
									padding-left: 40px;
									font-size: 1.4rem;
                  }
									#headerArea nav .menu .menu_section .menu_link::after {
										left: 20px;
										}
								#headerArea nav .menu .menu_section:nth-child(3) .menu_link {
									padding: 18px 20px;
									}
							#headerArea nav .menu .menu_section.sp-menu_footer {
								display: block;
								}
								#headerArea nav .menu .menu_section.sp-menu_footer ul li a {
									padding-left: 20px;
									}

  /*　ハンバーガーメニューボタン　---------------------------------------------*/
  #headerArea .menu_button_sp {
    display: block;
    position: fixed;
    z-index: 3;
    right: 22px;
    top: 14px;
    width: 20px;
    height: 20px;
    cursor: pointer;
    text-align: center;
    }
    .menu_button_sp span {
      display: block;
      position: absolute;
      width: 20px;
      height: 2px ;
      left: 0px;
      background-color: #3c3c43;
      -webkit-transition: 0.3s ease-in-out;
      -moz-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out;
      }
      .menu_button_sp span:nth-child(1) {
        top: 5px;
        }
      .menu_button_sp span:nth-child(2) {
        top: 10px;
        }
      .menu_button_sp span:nth-child(3) {
        top: 15px;
        }

  /* スマホメニューを開いてる時のボタン */
  .menu_button_sp.active span:nth-child(1) {
    top: 50%;
    left: 0%;
    transform: translate(-50%,-50%) rotate(-45deg);
    background: #3c3c43;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    }
  .menu_button_sp.active span:nth-child(2),
  .menu_button_sp.active span:nth-child(3) {
    top: 50%;
    left: 0%;
    transform: translate(-50%,0%) rotate(45deg);
    background: #3c3c43;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    }

  /* ---------------------------------------------------------------------
	footer
	*/
	footer .footer_info li a {
		padding-top: 30px;
		height: 280px;
    }
		footer .footer_info li a dl dt.logo_ascotcorp {
			background-size: 103px 47px;
			}
		footer .footer_info li a dl dt.logo_kentaku {
			background-size: 174px 28px;
			}
		footer .footer_info li a dl dd {
			font-size: 1.2rem;
			}
			footer .footer_info li a dl dd .sp_br {
				display: inherit;
				}
	footer .footer_menu {
    display: none;
    }
	footer .footer_copy {
    display: block;
    margin: 40px auto;
    width: 100%;
		}
		footer .footer_copy dl {
			justify-content: center;
			}
	footer .footer_copy .Copyright {
		margin-top: 40px;
		text-align: center;
		}

	/* ---------------------------------------------------------------------
		page top
	*/
	a#pagetop {
		width: 48px;
		height: 48px;
		}
		a#pagetop .icon_arrow {
			width: 48px;
			height: 48px;
			}
			a#pagetop .icon_arrow::after {
				width: 16px;
				height: 16px;
				}
		a#pagetop .icon_button {
			width: 12px;
			}

	/* ---------------------------------------------------------------------
		content
	*/
	#contentArea {
		margin-top: 49px;
		padding-top: 1px;
		}

}