@charset "UTF-8";
/*-----------------------------------

	base

-----------------------------------*/
html {
    overflow-y: auto;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    font-size: 62.5%;
	overflow-x: hidden;
}
body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
	font-feature-settings: "palt";
	color: #3E414D;
	line-height: 1.8;
	letter-spacing: 0.05em;
	font-weight: 400;
	background: #fff;
	box-sizing: border-box;
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
}
.skip-link {
  position: absolute;
  left: 0;
  top: 0;
  padding: 12px 16px;
  background: #FFF;
  z-index: 1000;
  transform: translateY(-120%);
  transition: transform .15s ease;
}
.skip-link:focus {
  transform: translateY(0);
  outline: 2px solid #fff;
}

#nav_header a:focus-visible,
.c-hamburger:focus-visible,
.link_btn:focus-visible,
button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(6,159,239,0.45);
  border-radius: 4px;
}

.en {
	font-family: "Inter", sans-serif;
}

@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
::selection {
	background: #333;
	color: #fff;
}

.contents_inner_s {
	width: 1190px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 60px;
}
.contents_inner_ss {
	width: 1080px;
}
.contents_inner {
	width: 1400px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 60px;
}
img {
    max-width: 100%;
    height: auto;
}
a, a:link, a:visited {
	color: #0069B7;
	cursor: pointer;
	text-decoration: underline;
	transition: all .2s;
}
a:hover {
	text-decoration:none;
	color: #069FEF;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
a img{
	transition : 0.2s ;
	-webkit-transition : 0.2s ;
	-moz-transition    : 0.2s ;
	-o-transition      : 0.2s ;
	-ms-transition     : 0.2s ;
}
a:hover img {
      opacity: 0.7;
}
.anchor-target {
	scroll-margin-top: 100px;
}
@media screen and (max-width: 640px) {
	.anchor-target {
		scroll-margin-top: 60px;
	}
}

.sp {
	display:none;
}
.tab {
	display:none;
}
.pc {
	display:block;
}

.link_btn,
a.link_btn {
	position: relative;
	display: block;
	width: 280px;
	text-align: center;
	color: #fff;
	padding: 18px 20px 18px 0;
	background: linear-gradient(to left, #0069B7, #069FEF);
	border-radius: 5px;
	text-decoration: none;
	font-size: 2rem;
	font-weight: 600;
	transition: all 0.4s ease;
	overflow: hidden;
}
.link_btn .link_btn_arrow {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
a.link_btn::before,
button.link_btn::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #0069B7;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.5s ease;
	z-index: 0;
}
a.link_btn:hover::before,
button.link_btn:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}
.link_btn span,
.link_btn svg {
	position: relative;
	z-index: 1;
}
a.link_btn:hover,
button.link_btn:hover {
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.link_btn .icon-arrow__circle {
  fill: #fff;
  transition: fill 0.3s;
}
.link_btn .icon-arrow__path {
  stroke: #0069b7;
  transition: stroke 0.3s;
}
a.link_btn:hover .link_btn_arrow,
a:hover .link_btn .link_btn_arrow,
button.link_btn:hover .link_btn_arrow {
	right: 17px;
}
.center_btn {
	margin: 30px 0;
	text-align: center;
}
.center_btn .link_btn {
	display: inline-block;
	margin: 10px auto;
}
.link-with-icon {
  position: relative;
  display: inline-block;
  padding-left: 32px;
  color: #0069B7;
  text-decoration: none;
  line-height: 1.6;
  font-weight: 500;
}
.link-with-icon::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 0;
  width: 20px;
  height: 20px;
  background: url("../img/common/icon_arrow_right_blue.svg") no-repeat center/contain;
}
.links-list {
	border-top: 1px solid #A5B9C4;
}
.links-list li {
	padding: 1.5em 0;
	border-bottom: 1px solid #A5B9C4;
}
@media screen and (max-width: 1000px) {
	.contents_inner_s{
		padding: 0 30px;
	}
	.contents_inner{
		padding: 0 30px;
	}
	.contents_inner_right {
		padding: 0 0 0 20%;
	}
}
@media screen and (max-width: 960px) {

	body {
		font-size: 14px;
		line-height: 1.6;
		font-weight: normal;
		letter-spacing: 0.05rem;
	}
	.contents_inner ,.contents_inner_s {
		width: auto;
		margin: 0 20px;
		padding: 0;
	}
	.contents_inner_right {
		padding: 0;
	}
	.tab{
		display:block;
	}

}
@media screen and (max-width: 640px) {

	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	a.link_btn {
		width: 240px;
		font-size: 1.6rem;
	}

}

/* view_btn */
.view_btn {
	display: flex;
	justify-content: flex-end;
	margin: 20px 0 0;
}
.view_btn a {
	display: flex;
	justify-content: flex-end;
	padding: 0 0 0 20px;
	text-decoration: none;
}
.view_btn a:hover {
	color: #222222;
}
.view_btn span {
	display: block;
	align-self: center;
	font-weight: 600;
}
.view_btn .icon_view {
	margin: 0 0 0 25px;
	transition: all 0.3s;
}
.view_btn a:hover .icon_view {
	margin: 0 0 0 20px;
}
.view_btn a svg .ico-circle {
	transition: all 0.1s;
}
.view_btn a:hover svg .ico-circle {
	fill: #FFF;
}
.view_btn a:hover svg .ico-arrow {
	animation-duration: 0.3s;
	animation-name: arrow-motion;
	stroke: #222;
}
@keyframes arrow-motion {
  from {
		transform: translate(-800px, -2039px);
  }
  to {
	transform: translate(-760px, -2039px);
  }
}
@media screen and (max-width: 640px) {
	.view_btn svg {
		width: 45px;
		height: 45px;
	}
	.view_btn a:hover svg .ico-arrow {
		stroke-width: 2px;
	}
}
.view_btn_s svg {
	width: 35px;
	height: 35px;
}
.view_btn_s .icon_view {
	margin: 0 0 0 20px;
}
.view_btn_s a:hover .icon_view {
	margin: 0 0 0 15px;
}

/*-----------------------------------

	scroll

-----------------------------------*/
.loop-slider-wrapper {
  display: flex;
  overflow: hidden;
  background: #000;
}
.loop-slider {
  animation: scroll-left 80s infinite linear .5s both;
  display: flex;
  opacity: 0.7;
}
.loop-slider-wrapper.loop-slider-wrapper--reverse .loop-slider {
  animation: scroll-right 80s infinite linear .5s both;
}
@media (prefers-reduced-motion: reduce) {
	.loop-slider {
		animation: scroll-left 100s infinite linear .5s both;
	}
}
.loop-slide {
  width: calc(100vw / 3);
}
.loop-slide img {
  display: block;
  width: 100%;
}
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
.loop-slider-wrapper-top ,.loop-slider-wrapper-bottom {
	flex-wrap: wrap;
	width: auto;
	height: 100vh;
}
.loop-slider-wrapper-top .loop-slider ,.loop-slider-wrapper-bottom .loop-slider {
	width: 100%;
	flex-wrap: wrap;
	animation: scroll-top 40s infinite linear .5s both;
}
.loop-slider-wrapper-top .loop-slide ,.loop-slider-wrapper-bottom .loop-slide {
	width: 100%;
}
@keyframes scroll-top {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}
.loop-slider-wrapper-bottom .loop-slider {
	animation: scroll-bottom 40s infinite linear .5s both;
}
@keyframes scroll-bottom {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0%);
  }
}
@media screen and (max-width: 640px) {
	.loop-slide {
	width: calc(100vw / 1.4);
	}
}
/*-----------------------------------

	loader

-----------------------------------*/
#loader {
  position: fixed;
  inset: 0;
  background: #0069B7;
  z-index: 9999;
  display: grid;
  place-items: center;
  transform: translateY(0%);
  transition: transform 1.4s cubic-bezier(.23,1,.32,1), opacity .3s ease;
  will-change: transform;
}

#loader .loader__center {
  display: grid;
  place-items: center;
}

#loader .loader__logo {
  display: block;
  width: clamp(400px, 24vw, 500px);
  height: auto;
  animation: loader-pulse 2s ease-in-out infinite;
  transform-origin: 50% 50%;
  will-change: transform;
}
@media screen and (max-width: 640px) {
	#loader .loader__logo {
		width: clamp(300px, 24vw, 400px);
	}
}

@media (prefers-reduced-motion: reduce) {
  #loader .loader__logo { animation: none; }
}
#loader.loaded {
  animation: curtain-away 1200ms cubic-bezier(.22,.61,.36,1) forwards;
  pointer-events: none;
}
@keyframes curtain-away {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  100% {
    transform: translateY(-100%);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.is-loaded #loader {
    animation: loader-fade-only 500ms ease-out forwards;
  }
  @keyframes loader-fade-only {
    to { opacity: 0; }
  }
}

body.is-loader-removed #loader {
  display: none !important;
}

@keyframes loader-pulse {
  0%   { transform: scale(1);   opacity: 1; }
  50%  { transform: scale(1.06); opacity: 0.95; }
  100% { transform: scale(1);   opacity: 1; }
}
/*-----------------------------------

	header

-----------------------------------*/
.site-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}
.site-header #nav_header {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 120px;
	margin: 0 auto;
	padding: 0 0 0 30px;
	background: transparent;
	box-sizing: border-box;
	transition: top 0.8s ease;
}
/*.is-drawerActive #nav_header {
	position: fixed;
}*/
#nav_header.is-fixed {
	position: fixed;
	top: -90px;
	left: 0;
	right: 0;
	height: 90px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	background: #fff;
}
.is-drawerActive #nav_header.is-fixed {
	position: relative;
	top: 0;
	height: 120px;
}
#nav_header.is-fixed.is-visible {
	top: 0;
}
#nav_header.is-fixed.is-visible li a {
	color: #3E414D;
}
#nav_header .site-header__brand {
	position: relative;
	width: 320px;
	/*z-index: 40;*/
	line-height: 1;
}
#nav_header.is-fixed .site-header__brand img {
  content: url("../img/common/logo-b.svg");
}
#nav_header .site-header__brand a {
	display: block;
}
#nav_header #global-nav {
	display: flex;
	align-items: center;
}
#nav_header ul {
	display: flex;
	justify-content: flex-end;
	align-self: center;
	align-items: center;
	padding: 0 160px 0 0;
}
#nav_header li {
	position: relative;
	padding: 0 15px;
	font-weight: 600;
}
#nav_header li a {
	display: block;
	padding: 5px;
	text-decoration: none;
	color: #FFF;
	transition: all 0.2s ease;
}
#nav_header li a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 1200px) {
	.site-header #nav_header {
		height: 100px;
	}
	.site-header #nav_header.is-fixed {
		height: 80px;
	}
	#nav_header .site-header__brand {
		max-width: 25%;
	}
	#nav_header ul {
		padding: 0 120px 0 0;
	}
	#nav_header li {
		padding: 0 5px;
	}
}
@media screen and (max-width: 960px) {
	#nav_header #global-nav {
		display: none;
	}
	#nav_header .site-header__brand {
		max-width: 50%;
	}
}
@media screen and (max-width: 640px) {
	.site-header #nav_header {
		height: 60px;
		padding: 0 70px 0 10px;
	}
	.site-header #nav_header.is-fixed {
		height: 60px;
	}
	#nav_header .site-header__brand {
		width: 200px;
		max-width: 70%;
	}
}
/* fix-nav */
#fix-nav {
	position: fixed;
	right: 0;
	bottom: 60px;
	opacity: 0;
	visibility: hidden;
	transform: translateX(20px);
	transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
	z-index: 20;
}
#fix-nav.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}
.page-template-page-contact #fix-nav,
.page-template-page-entry-newsnewgrad #fix-nav,
.page-template-page-entry-midcareer #fix-nav {
	display: none;
}
.fix-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.fix-nav__item {
	display: flex;
}
.fix-nav__item a {
	display: block;
	writing-mode: vertical-rl;
	text-orientation: upright;
	letter-spacing: 0.1em;
	padding: 20px 15px;
	background: #FFF;
	color: #3E414D;
	text-decoration: none;
	font-size: 1.6rem;
	line-height: 1.4;
	font-weight: 600;
	transition: all 0.3s ease, transform 0.3s ease;
}
.fix-nav__item:first-child a {
  background: #0069B7;
  color: #fff;
}
.fix-nav__item a:hover {
  background: #F0F9FF;
}
.fix-nav__item:first-child a:hover {
  background: #004f8a;
}
@media screen and (max-width: 640px) {
	#fix-nav {
		width: 100%;
		bottom: 0;
		transform: translateX(0px);
		transform: translateY(20px);
	}
	#fix-nav.is-visible {
		transform: translateY(0);
	}
	.fix-nav__list {
		flex-direction: row;
	}
	.fix-nav__item {
		width: 50%;
		text-align: center;
	}
	.fix-nav__item a {
		writing-mode: horizontal-tb;
		width: 100%;
	}
}
/* hamburger */
.c-hamburger {
	position: fixed;
	top: 0;
	right: 0;
	width: 120px;
	height: 120px;
	border: none;
	outline: none;
	background: transparent;
	outline: none;
	-webkit-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	z-index: 40;
	background: linear-gradient(to left, #0069B7, #069FEF);
}
.c-hamburger__line {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	margin: auto;
	width: 46px;
	height: 2px;
	background-color: #FFF;
	-webkit-transition: inherit;
					transition: inherit;
}
.c-hamburger__line::before,
.c-hamburger__line::after {
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background-color: inherit;
	-webkit-transition: inherit;
					transition: inherit;
}
.c-hamburger__line::before {
	top: -12px;
}
.c-hamburger__line::after {
	top: 12px;
}
.c-hamburger[aria-expanded="true"] .c-hamburger__line {
	background-color: transparent;
}
.c-hamburger[aria-expanded="true"] .c-hamburger__line::before,
.c-hamburger[aria-expanded="true"] .c-hamburger__line::after {
	top: 0;
	background-color: #FFF;
}
.c-hamburger[aria-expanded="true"] .c-hamburger__line::before {
	-webkit-transform: rotate(45deg);
			-ms-transform: rotate(45deg);
					transform: rotate(45deg);
}
.c-hamburger[aria-expanded="true"] .c-hamburger__line::after {
	-webkit-transform: rotate(-45deg);
			-ms-transform: rotate(-45deg);
					transform: rotate(-45deg);
}

#drawer {
	position: fixed;
	display: flex;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: #FFF;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all .3s ease-in-out;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	z-index: 30;
}
.is-drawerActive #drawer {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.drawer__images {
	display: flex;
	justify-content: space-between;
	width: 50%;
	background: #1F2024;
}
.drawer__images .loop-slider-wrapper {
	width: 48%;
}
.drawer__images .loop-slide {
	margin: 0 0 10px;
}
.drawer__nav {
	width: 50%;
	padding: 120px 4% 60px 8%;
	background: #FFF;
}
.drawer__nav .drawer__logo {
	position: absolute;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	max-width: 25%;
	height: 90px;
	top: 0;
	left: 30px;
}
.drawer__nav nav {
	display: flex;
	flex-wrap: wrap;
}
.drawer__nav nav a {
	color: #3E414D;
	text-decoration: none;
}
.drawer__nav nav a:hover {
	color: #0069B7;
}
.drawer__nav nav > ul {
	width: 50%;
	margin: 0 0 30px;
}
.drawer__nav nav li {
	margin: 0 0 20px;
	font-size: 2.4rem;
	font-weight: 600;
}
.drawer__nav nav .drawer__nav03 li ,.drawer__nav nav li li {
	margin: 0 0 5px;
	font-size: 1.6rem;
}
.drawer__nav nav li ul {
	margin: 5px 0 20px 24px;
}
.drawer__nav nav .drawer__nav04 li a {
	position: relative;
	display: inline-block;
	min-width: 90%;
	padding: 12px 40px 12px 30px;
	font-size: 1.8rem;
	text-align: center;
	line-height: 1.3;
	border:  solid 4px #EAEFF0;
	border-radius: 5px;
}
.drawer__nav nav .drawer__nav04 li a svg {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease;
}
.drawer__nav nav .drawer__nav04 li a svg .icon-arrow__circle {
    fill: #0069b7;
}
.drawer__nav nav .drawer__nav04 li a svg .icon-arrow__path {
    stroke: #FFF;
}
.drawer__nav nav .drawer__nav04 li a:hover svg {
	right: 9px;
}
@media screen and (max-width: 1200px) {
	.c-hamburger {
		width: 100px;
		height: 100px;
	}
	.drawer__nav .drawer__logo {
		height: 80px;
	}
	.drawer__nav nav .drawer__nav04 li a {
		width: 100%;
		padding: 12px 30px 12px 10px;
		font-size: 1.6rem;
	}
	.drawer__nav nav .drawer__nav04 li a svg {
		width: 16px;
		height: 16px;
		right: 10px;
	}
	.drawer__nav nav .drawer__nav04 li a:hover svg {
		right: 10px;
	}
}
@media screen and (max-width: 960px) {
	#drawer {
		flex-wrap: wrap;
	}
	.drawer__nav .drawer__logo {
		max-width: 35%;
	}
	.drawer__nav .drawer__logo img{
		content: url("../img/common/logo-b.svg");
	}
	.drawer__images {
		order: 2;
		width: 100%;
		height: 200px;
		overflow: hidden;
	}
	.drawer__nav {
		order: 1;
		width: 100%;
		height: auto;
		padding: 140px 40px 20px 40px;
	}
}
@media screen and (max-width: 640px) {
	.c-hamburger {
		width: 60px;
		height: 60px;
	}
	.c-hamburger__line {
		width: 26px;
	}
	.c-hamburger__line::before {
		top: -6px;
	}
	.c-hamburger__line::after {
		top: 6px;
	}
	.drawer__nav {
		order: 1;
		width: 100%;
		height: auto;
		padding: 100px 30px 20px 30px;
	}
	.drawer__nav nav > ul {
		margin: 0 0 20px;
	}
	.drawer__nav nav li {
		margin: 0 0 15px;
		font-size: 1.8rem;
	}
	.drawer__nav .drawer__nav03,
	.drawer__nav .drawer__nav04 {
		width: 100%;
	}
	.drawer__nav nav .drawer__nav03 li,
	.drawer__nav nav li li {
		font-size: 1.4rem;
	}
	.drawer__nav nav .drawer__nav04 li a {
		padding: 8px 30px 8px 10px;
		border: solid 3px #EAEFF0;
		font-size: 1.4rem;
	}
	.drawer__nav nav .drawer__nav04 li a svg {
		width: 16px;
		height: 16px;
		right: 10px;
	}
	.drawer__nav nav .drawer__nav04 li a:hover svg {
		right: 10px;
	}
	.drawer__nav .drawer__logo {
		left: 0;
		max-width: none;
		height: 60px;
		padding: 0 70px 0 10px;
	}
	.drawer__nav .drawer__logo a {
		max-width: 68%;
	}
	.drawer__nav .drawer__logo img {
		max-width: 100%;
	}
}

/*-----------------------------------

	main

-----------------------------------*/
#main {
	scroll-margin-top: 80px;
	max-width: 100vw;
	overflow: hidden;
}

/*-----------------------------------

	contents

-----------------------------------*/
/* h2_style */
.h2_style {
}
.h2_style h2 {
}
@media screen and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
}
/* h3_style */
.h3_style {
	text-align: center;
}
/* h4_style */
.h4_style {
	text-align: center;
}
/* breadcrumb */
#breadcrumb ul li {
	float: left;
	display:inline-block;
	font-size: 13px;
	font-size: 1.3rem;
}
#breadcrumb ul li:after {
	content:">";
	display:inline-block;
	padding:0 0.5em;
}
#breadcrumb ul li:last-of-type:after {
	content:"";
	padding:0;
}
/* balloon */
.balloon {
	position: relative;
	display: flex;
	align-items: center;
	height: 120px;
	padding: 1em;
	background: #FFF;
	border-radius: 20px;
	max-width: 320px;
	line-height: 1.5;
}
.balloon::before {
	content: '';
	position: absolute;
	bottom: -36px;
	left: 50%;
	transform: translateX(-50%);
	width: 44px;
	height: 38px;
	background: #FFF;
	clip-path: polygon(0 0, 100% 0, 100% 100%);
	z-index: 10;
}
.balloon p {
	margin: 0;
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
	color: #0069B7;
}
.balloon p span {
	display: inline-block;
}
@media screen and (max-width: 960px) {
	.balloon {
		height: auto;
		padding: 1em;
		border-radius: 15px;
		min-width: 200px;
		max-width: 280px;
	}
	.balloon p {
		font-size: 1.4rem;
	}
	.balloon::before {
	bottom: -26px;
	width: 34px;
	height: 28px;
	}
}
@media screen and (max-width: 640px) {
	.balloon {
		border-radius: 10px;
	}
	.balloon::before {
	bottom: -16px;
	width: 20px;
	height: 18px;
	}
}


/*-----------------------------------

	footer

-----------------------------------*/

#footer {
	padding: 100px 0;
	color: #FFF;
	clip-path: inset(0);
}
#footer .fiximg img {
    object-fit: cover;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
	z-index: -1;
}
#footer a, #footer a:link, #footer a:visited {
	display: inline-block;
	color: #FFF;
	text-decoration: none;
}
#footer a:hover {
    opacity: 0.7;
}
/* sitemap_area */
#sitemap_area {
	margin: 0 0 30px;
}
#sitemap_area ul {
	display: flex;
	flex-wrap: wrap;
}
#sitemap_area li {
	margin: 0 30px 20px 0;
	font-size: 1.8rem;
	white-space: nowrap;
}
#sitemap_area li a {
	text-decoration: none;
}
#sitemap_area .sitemap_area_recruit {
	display: flex;
}
#sitemap_area .sitemap_area_recruit ul {
	margin: 0 0 0 30px;
}
#sitemap_area .sitemap_area_recruit li {
	margin: 0 30px 0 0;
	font-size: 1.6rem;
}
#sitemap_area .sitemap_area_recruit li:last-child {
	margin: 0;
}
#sitemap_area .sitemap_area_recruit li .pc {
	display: inline-block;
	padding: 0 3px;
}
#sitemap_area .sitemap_area_recruit .sitemap_area_recruit_title {
	display: inline-block;
	margin: 0 15px 0 0;
	padding: 0 5px;
	border: solid #FFF 1px;
	font-size: 1.4rem;
}
/* footer-external */
.footer-external {
	margin: 0px 0px 80px;
}
.footer-external__list {
	display: flex;
    flex-wrap: wrap;
}
#footer .footer-external__list li a {
	position: relative;
	display: block;
	padding: 15px 60px 15px 30px;
	background: #FFF;
	color: #3E414D;
	font-weight: bold;
	letter-spacing: 0.1em;
	border-radius: 4px;
}
.footer-external__list li a svg {
	position: absolute;
	right: 20px;
    top: 50%;
    transform: translateY(-50%);
	transition: all 0.3s ease;
}
.footer-external__list li a svg .icon-arrow__circle {
	fill: #0069b7;
}
.footer-external__list li a svg .icon-arrow__path {
	stroke: #FFF;
}
#footer .footer-external__list li a:hover {
	opacity: 0.8;
}
.footer-external__list li a:hover svg {
	right: 17px;
}

/* footer_bottom */
#footer_bottom {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-end;
}
#footer_address {
	width: 60%;
}
#footer_address p {
	margin: 20px 0 0;
}
#footer_sns {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
#footer_bottom #footer_sns p {
	margin: 10px 10px 14px;
	font-size: 1.4rem;
	font-weight: 600;
}
#footer_sns ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
#footer_sns li {
	margin: 10px;
}
#footer_meta {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 40px 0 0;
	padding: 20px 0 0;
	border-top: solid 1px #FFF;
}
#footer_policy ul {
	display: flex;
	gap: 20px;
}
#footer_meta small {
	opacity: 0.7;
}

@media screen and (max-width: 960px) {
	#sitemap_area li {
		margin: 0 20px 10px 0;
	}
	#footer_meta {
		flex-wrap: wrap;
		gap: 15px;
	}
	#footer_meta small {
		width: 100%;
	}
}

@media screen and (max-width: 640px) {
	#footer {
		padding: 60px 0 100px;
	}
	#sitemap_area {
		display: flex;
		justify-content: space-between;
		margin: 0 0 40px;
	}
	#sitemap_area > ul {
		display: block;
		width: 48%;
	}
	#sitemap_area li {
		margin: 0 0 10px;
		font-size: 1.6rem;
	}
	#sitemap_area .sitemap_area_recruit {
		display: block;
	}
	#sitemap_area .sitemap_area_recruit ul {
		margin: 0;
	}
	#sitemap_area .sitemap_area_recruit li {
		margin: 10px 0;
		font-size: 1.4rem;
	}
	#sitemap_area .sitemap_area_recruit li .pc {
		display: none;
	}
	#sitemap_area .sitemap_area_recruit .sitemap_area_recruit_title {
		margin: 0 0 5px;
		font-size: 1.4rem;
	}
	#sitemap_area .sitemap_area_recruit li a {
		display: block;
	}
	.footer-external {
		margin: 0px 0px 60px;
	}
	#footer_address {
		width: 100%;
	}
	#footer_address .logo img {
		max-width: 240px;
	}
	#footer_address p {
		margin: 10px 0 0;
	}
	#footer_sns {
		flex-wrap: wrap;
		margin: 20px 0 10px;
	}
	#footer_bottom #footer_sns p {
		margin: 0 10px 3px 0;
	}
	#footer_meta {
		display: block;
		margin: 20px 0 0;
	}
	#footer_policy {
		margin: 0 0 15px;
	}
	#footer_policy ul {
		flex-wrap: wrap;
		gap: 4px 12px;
	}
	#footer_policy li {
		width: 100%;
	}
}