@charset "utf-8";
/* CSS Document */

html,
body{ overflow-x: hidden;}
html{ scroll-behavior: auto !important;}
body{
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  letter-spacing: 1px;
  color: #000 !important;
  position: relative;
}
*:focus { outline: none;}
a{
  color: #0553dd;
	text-decoration: none;
}
a:hover{
	color: #1769e0;
}

/*================================
HEADER
================================*/
#header{
	position: relative;
	z-index: 100;
}
#header .navbar{
	background-color: #fff;
  box-shadow: 0 0 5px rgba(161, 188, 191, .75);
}
#hd_logo > #hd_txt{
	width: 100%;
	color: #1d2b6c;
  line-height: 1.1;
	margin-bottom: 0;
}
.navbar-brand{
	display: flex;
	color: #1d2b6c;
	padding: 0;
}
.svg_container{ 
	position: relative;
	width: 100%;
}
.svg_content{ 
	position: absolute;
	top: 0;
	left: 0;
}
.navbar-brand:hover{
	color: #1d2b6c;
}
.navbar-brand p{
	font-size: 1.4rem;
	font-weight: bold;
	display: flex;
	margin-left: 10px;
	margin-bottom: 0;
}
.navbar-brand p span{
	font-size: 70%;
	margin-right: 5px;
}
.navbar-nav .nav-link{
	color: #000;
	font-weight: bold;
}
.dropdown-toggle{
	position: relative;
}
.dropdown-toggle::after{
	display: none;
}
.dropdown-toggle::before{
	content: '';
	display: inline-block;
  width: 6px;
  height: 6px;
  border: 0;
  border-bottom: solid 2px #333;
  border-right: solid 2px #333;
  position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}
.navbar-nav .dropdown-menu{
	font-size: .9rem;
	background-color: #1d2b6c;
}
.navbar-nav .dropdown-menu .dropdown-item{
	color: #fff;
	font-weight: bold;
}
@media (hover: hover){
	.navbar-nav .dropdown-menu .dropdown-item:hover{
		color: #80d8ff;
		background-color: transparent;
	}
}
#hd_tel{
	position: absolute;
	top: 0;
	right: 0;
	padding: 0 2rem 0 1.5rem;
	margin-top: .8rem;
}
#hd_tel .tel{
	color: #1d2b6c;
	font-size: 1.2rem;
	font-weight: bold;
}
#hd_tel .tel::after{
	content: '';
	display: inline-block;
  width: 20px;
  height: 20px;
	background-image: url(../img/icon_hd_tel.svg);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media (min-width: 992px){
	#header .navbar{
		padding: 1rem;
	}
	#hd_logo > #hd_txt{
		top: 1.4rem;
	}
	#header .navbar .navbar-collapse{
		margin-bottom: -1rem;
		justify-content: flex-end;
	}
}
@media (min-width: 768px) and (max-width: 991px){
	#header .navbar{
		display: block;
		padding: .5rem 1rem 0;
	}
	#header .navbar	#hd_logo{
		margin-bottom: -1rem;
	}
	#hd_logo > #hd_txt{
		top: .9rem;
	}
	#header .navbar .navbar-collapse{
		margin-top: 1rem;
		justify-content: flex-end;
	}
}
@media (min-width: 768px){
	#header{
		padding-top: 25px;
	}
	#header .navbar{
		align-items: flex-end;
    border-radius: 45px;
	}
  
	#hd_logo > #hd_txt{
		position: absolute;
		left: 1rem;
		padding-left: 62px;
		font-size: .7rem;
	}
  .navbar-brand{
    align-items: flex-end;
  }
  .navbar-brand img{
    width: 52px;
  }
	.navbar-brand p{
		align-items: baseline;
	}
	.navbar-nav .nav-link{
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		padding-top: .6rem;
		padding-bottom: .6rem;
	}
	.navbar-nav .nav-item{
		position: relative;
	}
	.navbar-nav .nav-item::after{
		content: '';
		display: inline-block;
		width: 75%;
		height: 2px;
		background-color: #0553dd;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		border: none;
		margin: 0;
		opacity: 0;
		transition: .5s;
	}
	.navbar-nav .nav-item:hover::after{
		opacity: 1;
	}
	.navbar-nav .dropdown .dropdown-menu{
		top: 100%;
		display: block;
		opacity: 0;
		transform: translateY(-6px);
		transition: transform, opacity;
    transition-duration: .5s;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
		margin-top: -6px;
	}
	.navbar-nav .dropdown:hover .dropdown-menu{
		display: block;
		opacity: 1;
		transform: translateY(6px);
	}
	.navbar-nav .dropdown-toggle::before{
		right: .3rem;
	}
}
@media (min-width: 768px) and (max-width: 991px){
	#header .container{
		padding-left: .5rem;
		padding-right: .5rem;
	}
}
@media (max-width: 991px){
	#header .container{
		max-width: 100%;
	}
	.navbar-brand{
		margin-right: 0;
	}
}
@media (max-width: 767px){
	#header{
		padding: .5rem .5rem 0;
	}
	#header .container{
		padding-left: 0;
		padding-right: 0;
	}
	#header .navbar{
    border-radius: 15px;
		padding-left: .5rem;
		padding-right: .5rem;
    padding-top: 1.5rem;
	}
	#hd_logo > #hd_txt{
		position: absolute;
		top: .5rem;
		font-size: .55rem;
		margin: 0;
	}
  .navbar-brand{
    align-items: center;
  }
  .navbar-brand img{
    width: 42px;
  }
	.navbar-brand p{
		align-items: center;
	}
	#hd_tel{
		display: none;
	}
	#header .navbar-nav .nav-link{
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.navbar-nav{
		border-top: #cecece 1px solid;
		margin-top: .5rem;
		padding: .5rem 0;
	}
  .navbar-nav .dropdown-menu .dropdown-item{
    font-size: .8rem;
  }
	.navbar-toggler{
		position: absolute;
		top: 1.25rem;
		right: .5rem;
		padding: 0;
		width: 46px;
		height: 46px;
		border-radius: 50%;
		z-index: 100;
	}
	.navbar-toggler::before{
		content: '';
		display: inline-block;
		width: 42px;
		height: 42px;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translateY(-50%) translateX(-50%);
		transform: translateY(-50%) translateX(-50%);
		background-color: #fff;
		border-radius: 50%;
	}
	.navbar-toggler:focus,
	.navbar-toggler:hover{
		outline: none;
		box-shadow: none;
	}
	.navbar-toggler[aria-expanded="false"]{ background: linear-gradient(to right, #1d2b6c, #1769e0);}
	.navbar-toggler[aria-expanded="true"]{ background: #f0f0f0;}
	.navbar-toggler	.navbar-toggler-icon{
		position: absolute;
		content: '';
		height: 2px;
		width: 18px;
		background: #334399;
		text-align: center;
		top: 20px;
		left: 13px;
	}
	.navbar-toggler	.navbar-toggler-icon::before,
	.navbar-toggler	.navbar-toggler-icon::after {
		position: absolute;
		content: '';
		height: 2px;
		width: 18px;
		left: 0;
		transition: all .3s ease-in;
		background: #334399;
	}
	.navbar-toggler[aria-expanded="false"] .navbar-toggler-icon::before { top: -5px;}
	.navbar-toggler[aria-expanded="false"] .navbar-toggler-icon::after { bottom: -5px;}
	.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon{ background: none;}
	.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
		transform: rotate(45deg);
		top: 0;
	}
	.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
		transform: rotate(-45deg);
		bottom: 0;
	}
	.navbar-nav .dropdown-toggle{
		padding-left: 1rem;
		padding-right: 1rem;
		border-top-left-radius: .25rem;
		border-top-right-radius: .25rem;
		transition: background-color 0s ease-in-out;
	}
	.navbar-nav .dropdown-toggle::before{
		right: 1rem;
	}
	.navbar-nav .dropdown-toggle.show{
		color: #fff;
		background-color: #1d2b6c;
	}
	.navbar-nav .dropdown-toggle.show::before{
    border-bottom: solid 2px #fff;
    border-right: solid 2px #fff;
	}
	.navbar-nav .dropdown-menu[data-bs-popper]{ margin-top: 0;}
	.navbar-nav .dropdown-menu{
		border: none;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
		opacity: 0;
	}
	.navbar-nav .dropdown-menu.show{
		position: relative;
		opacity: 1;
	}
	.navbar-nav .dropdown-menu.show::before{
		content: '';
		position: absolute;
		top: 0;
		left: .75rem;
		right: .75rem;
		display: inline-block;
		height: 1px;
		background-color: #0553dd;
	}
}

/*スクロールで表示・非表示
================================*/
#header{
  position: fixed;
  top: 0;
  width:100%;
}
/*　上に上がる動き　*/
#header.UpMove{
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}

/*　下に下がる動き　*/
#header.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*================================
MAIN
================================*/
#main{
	background-color: #fff;
	position: relative;
	z-index: 1;
}
@media (min-width: 768px){
  #main section{ padding: 80px 0;}
}
@media (max-width: 767px){
  #main section{ padding: 40px 0;}
}

/*ページヘッダー
================================*/
#page_hd{
	position: relative;
	z-index: 0;
}
body:not(#recruit) #page_hd{
	background-image: url("../img/page_hd_bg.png");
	background-position: center;
	background-size: cover;
}
body#recruit #page_hd{
	background-image: url("../img/recruit/page_hd_bg.png");
	background-position: center bottom;
	background-size: contain;
	background-repeat: repeat-x;
}
#page_hd .container{
	position: relative;
	z-index: 1;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
body:not(#recruit) #page_hd .container::after,
body:not(#recruit) #page_hd .container::before{
	content: '';
	display: inline-block;
	position: absolute;
	background-size: contain;
	z-index: -1;
}
body:not(#recruit) #page_hd .container::after{
	background-image: url("../img/mv_left.png");
	top: 30px;
	left: -5px;
}
body:not(#recruit) #page_hd .container::before{
	background-image: url("../img/mv_right.png");
	right: -5px;
	bottom: 30px;
}
#page_hd h1,
#page_hd p{
	color: #0553dd;
	font-size: calc(1.375rem + 1.5vw);
	font-weight: bold;
	line-height: 1.5;
	margin: 80px 0 0;
}
body#recruit #page_hd h1{
	background-color: #fff;
	padding: .5rem 3rem;
}

@media (min-width: 1200px){
	#page_hd h1,
	#page_hd p{
		font-size: 2.5rem;
	}
}
@media (min-width: 768px){
	#page_hd{
		height: 400px;
	}
	body:not(#recruit) #page_hd .container::after{
		width: 233px;
		height: 283px;
	}
	body:not(#recruit) #page_hd .container::before{
		width: 284px;
		height: 247px;
	}
}
@media (max-width: 991px){
	#page_hd .container{
		max-width: 100%;
	}
}
@media (max-width: 767px){
	#page_hd{
		height: 300px;
	}
	body:not(#recruit) #page_hd .container::after{
		width: 116px;
		height: 141px;
	}
	body:not(#recruit) #page_hd .container::before{
		width: 142px;
		height: 123px;
	}
}

/*背景
================================*/
/*ベージュ*/
.bg_beg{
	background-color: rgba(234, 228, 209, .5);
}

/*六角形*/
.bg_hexagon{
	background-image: url("../img/bg_hexagon.jpg");
	background-position: top center;
}
@media (min-width: 768px){
	.bg_hexagon{ background-size: cover;}
}
@media (max-width: 767px){
	.bg_hexagon{ background-size: 100% auto;}
}

/*セクションのタイトル
================================*/
.sect_ttl{
	text-align: center;
  font-size: calc(1.325rem + 0.9vw);
	font-weight: bold;
}
.sect_ttl span{
	color: #0553dd;
	font-size: 40%;
	display: block;
	margin-top: .25rem;
}
@media (min-width: 1200px){
	.sect_ttl{
		font-size: 2.2rem;
	}
}

/*トップのみ*/
body#top .sect_ttl{
  color: #000;
	margin-bottom: 2rem;
}
body#top .sect_ttl span{
  color: #b1b1b1;
}

/*トップ以外*/
body:not(#top) .sect_ttl{
	margin-bottom: 2rem;
}

/*採用情報のみ*/
body#recruit .sect_ttl{
	color: #1d2b6c;
}

/*採用情報とトップ以外*/
body:not(#top):not(#recruit) .sect_ttl{
	color: #0553dd;
}

/*六角形のタイトル
================================*/
.hexagon_ttl{
  font-size: calc(1.325rem + 0.9vw);
	font-weight: bold;
	text-align: center;
	margin-bottom: 2rem;
}
.hexagon_ttl .ja{
	position: relative;
	font-size: calc(1.3rem + 0.9vw);
	font-weight: bold;
	display: inline-block;
	margin-bottom: 0;
}
.hexagon_ttl .ja::after{
	content: '';
	display: inline-block;
	background-size: contain;
	background-image: url("../img/ttl_shape.png");
	width: 86px;
	height: 67px;
	position: absolute;
	z-index: -1;
}

.hexagon_ttl .ja.mark_none::after{
	display: none;
}
.hexagon_ttl .en{
	color: #0553dd;
	font-size: 50%;
	display: block;
}
@media (min-width: 768px){
	.hexagon_ttl .ja::after{
		top: -45px;
	}
  .hexagon_ttl .ja.mark_left::after{
    left: -70px;
  }
  .hexagon_ttl .ja.mark_right::after{
    right: -70px;
    transform: scale(-1, 1);
  }
}
@media (max-width: 767px){
	.hexagon_ttl .ja::after{
		top: -15px;
	}
  .hexagon_ttl .ja.mark_left::after,
  .hexagon_ttl .ja.mark_right::after{
    left: 50%;
  	-webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

/*採用情報のみ*/
body#recruit .hexagon_ttl .ja{
	color: #1769e0;
}


/*ボタン
================================*/
/*一回転ボタン*/
.btn_rotate{
	position: relative;
	color: #1d2b6c;
	font-weight: bold;
	padding-right: 60px;
}
.btn_rotate .arrow{
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	display: block;
	color: #fff;
	background-color: #1d2b6c;
	border-radius: 50%;
  overflow: hidden;
}
@media (hover: hover){
	.btn_rotate:hover{
		color: #0553dd;
	}
	.btn_rotate:hover .arrow{
		background-color: #0553dd;
	}
	.btn_rotate:hover .arrow i{
		animation: btnrotate 1s;
	}
}
@keyframes btnrotate{
  0% { opacity: 1;}
  40% {
		-webkit-transform: translate(40px); 
    transform: translate(40px);
    opacity: 0;
  }
  50% {
		-webkit-transform: translate(-20px); 
    transform: translate(-20px);
    opacity: 0;
  }
  100% { opacity: 1;}
}

/*ホバーボタン*/
.btn_hover{
	position: relative;
	border-radius: 40px;
	font-size: 1.1rem;
	font-weight: bold;
	width: 100%;
	max-width: 370px;
	margin: 2rem auto 0;
	display: block;
	padding: .75rem 3rem;
	background-color: #fff;
}
.btn_hover .arrow{
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: .75rem;
	width: 32px;
	height: 32px;
	display: block;
	color: #fff;
	border-radius: 50%;
}
.btn_hover .arrow i{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	font-size: .8rem;
}
@media (hover: hover){
	.btn_hover:hover{
		color: #fff !important;
		background-color: #0553dd;
		border-color: #0553dd !important;
	}
	.btn_hover:hover .arrow{
		background-color: #fff !important;
	}
	.btn_hover:hover .arrow i{
		color: #0553dd;
	}
}
body:not(#recruit) .btn_hover{
	color: #1d2b6c;
	border: #1d2b6c 1px solid;
}
body:not(#recruit) .btn_hover .arrow{
	background-color: #1d2b6c;
}
body#recruit .btn_hover{
	color: #0553dd;
	border: #0553dd 1px solid;
}
body#recruit .btn_hover .arrow{
	background-color: #0553dd;
}

/*================================
企業情報・採用情報
================================*/
#tpl_company{
	display: flex;
	padding: 0 !important;
}
#tpl_company .co_link{
	width: 50%;
	position: relative;
	background-size: cover;
	transition: .3s;
	overflow: hidden;
}
#tpl_company .co_link::after,
#tpl_company .co_link::before{
	content: '';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#tpl_company .co_link::after{
	background-color: rgba(255, 255, 255, .7);
	z-index: 0;
}
#tpl_company .co_link::before{
	transition: .5s;
  background-repeat: no-repeat;
}
#tpl_company .co_link:first-child::before{
	background-image: url("../img/corporate_bg.jpg");
}
#tpl_company .co_link:last-child::before{
	background-image: url("../img/recruit_bg.jpg");
}
#tpl_company .co_link a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}
#tpl_company .co_link .co_txt{
	position: relative;
	z-index: 1;
}
#tpl_company .co_link:first-child .co_txt{
	margin-left: auto;
}
#tpl_company .co_link .co_txt .arrow{
	text-align: center;
	background-color: #1d2b6c;
	border-radius: 50%;
	margin-left: auto;
	margin-right: 0;
	color: #fff;
}
#tpl_company .co_link .co_txt .co_ttl{
	font-weight: bold;
}
@media (hover: hover){
	#tpl_company .co_link:hover::before{
		transform: scale(1.08);
	}
	#tpl_company .co_link:hover .co_txt .arrow{
		background-color: #0553dd;
	}
}
@media (min-width: 1400px){
  #tpl_company .co_link:first-child::before{
    background-position: bottom center;
  }
  #tpl_company .co_link:last-child::before{
    background-position: top right 40%;
  }
  #tpl_company .co_link .co_txt{
    padding: 5rem 4rem;
  }
}
@media (min-width: 768px) and (max-width: 1399px){
  #tpl_company .co_link{
    padding-left: 1rem;
    padding-right: 1rem;
    aspect-ratio: 65 / 24;
  }
  #tpl_company .co_link::before{
    background-size: contain;
  }
  #tpl_company .co_link .co_txt{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 768px){
	#tpl_company .co_link .co_txt{
		max-width: 660px;
	}
	#tpl_company .co_link:first-child .co_txt{
		margin-right: 0;
	}
  #tpl_company .co_link .co_txt .arrow{
    width: 50px;
    height: 50px;
  	line-height: 50px;
  }
}
@media (max-width: 1399px){
  #tpl_company .co_link{
    display: flex;
    align-items: center;
  }
  #tpl_company .co_link .co_txt p{
    margin-bottom: 0;
  }
}
@media (max-width: 767px){
  #tpl_company .co_link{
    aspect-ratio: 65 / 30;
  }
  #tpl_company .co_link::before{
    background-size: cover;
  }
  #tpl_company .co_link .co_txt{
    width: 100%;
    padding-left: .5rem;
    padding-right: .5rem;
  }
  #tpl_company .co_link .co_txt .co_ttl{
    font-size: calc(1.1rem + 0.9vw);
    margin-bottom: 0;
  }
	#tpl_company .co_link .co_txt p{
		font-size: .9rem;
	}
  #tpl_company .co_link .co_txt .arrow{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: .5rem;
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #tpl_company .co_link .co_txt .arrow i{
    font-size: .75rem;
  }
}

/*================================
TOP・採用スライダー
================================*/
#slider .swiper-wrapper{
  transition-timing-function: linear;
}
#slider .swiper-wrapper .swiper-slide{
}
@media(min-width:768px){
  #slider .swiper-wrapper .swiper-slide{
    width: auto !important;
    height: 245px !important;
  }
}
@media(max-width:767px){
  #slider .swiper-wrapper .swiper-slide{
    width: 60%;
  }
}

/*TOP
================================*/
#top #slider{
  padding-bottom: 0;
}

/*採用
================================*/
#recruit #slider{
  background-color: rgba(234, 228, 209, .5);
}


/*================================
お問い合わせ
================================*/
#tpl_contact{
	color: #fff;
	background-color: #1d2b6c;
	text-align: center;
	padding: 0 !important;
}
#tpl_contact .ctc_txt{
	padding: 2rem 1rem;
}
#tpl_contact .sect_ttl{
	color: #fff !important;
}
#tpl_contact .ctc_txt p:last-child{
	margin-bottom: 0;
}
#tpl_contact ul{
	position: relative;
	list-style: none;
	padding-left: 0;
	border-top: #fff 1px solid;
	margin-bottom: 0;
}
#tpl_contact ul li{
	position: relative;
	font-weight: bold;
}
#tpl_contact ul li.mail_link{
  transition: .5s ease-in-out;
  z-index: 0;
}
#tpl_contact ul li.mail_link::before{
	content: '';
	position: absolute;
  top: 0;
  bottom: 0;
  width: 0;
  display: block;
  background-color: #1769e0;
  transition: .5s;
  left:0;
}
@media (hover: hover){
	#tpl_contact ul li.mail_link:hover:before{
		width: 100%;
		z-index: -1;
	}
}
#tpl_contact ul li a{
	color: #fff;
}
#tpl_contact ul li .link_icon{
	position: relative;
	padding-left: 30px;
	z-index: 0;
	line-height: 20px;
}
#tpl_contact ul li .link_icon::after{
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 1;
}
#tpl_contact ul li.tel_link .link_icon::after{
	background-image: url("../img/icon_tel.svg");
}
#tpl_contact ul li.mail_link .link_icon::after{
	background-image: url("../img/icon_mail.svg");
}
#tpl_contact ul li .link_icon .arrow{
	position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
	right: -40px;
	width: 32px;
  height: 32px;
  display: block;
  background-color: #fff;
	border: #0553dd 1px solid;
  border-radius: 50%;
}
#tpl_contact ul li .link_icon .arrow i{
	position: absolute;
  top: 9.5px;
  left: 8px;
  font-size: .8rem;
  color: #0553dd;
}
@media (min-width: 768px){
	#tpl_contact ul{
		display: flex;
		justify-content: center;
	}
	#tpl_contact ul::after{
		content: '';
		display: inline-block;
		position: absolute;
		top: 0;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		width: 1px;
		height: 100%;
		background-color: #fff;
	}
	#tpl_contact ul li{
		width: 50%;
		font-size: 1.2rem;
	}
	#tpl_contact ul li,
	#tpl_contact ul li a{
		padding: 1.5rem 1rem;
	}
	#tpl_contact ul li a{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}
}
@media (max-width: 767px){
	#tpl_contact ul li{
		border-bottom: #fff 1px solid;
		height: 56px;
		line-height: 56px;
	}
	#tpl_contact ul li a{
		display: block;
	}
}

/*================================
FOOTER
================================*/
#footer{
	color: #fff;
	background-color: #202733;
  position: relative;
  z-index: 1;
}
#ft_logo{
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
}
#ft_logo svg{
	width: 52px;
	height: 52px;
}
#ft_logo svg .cls-1{
	fill: #fff;
	stroke-width: 0;
}
#ft_logo img{
	width: 60px;
}
#ft_logo p{
	font-size: 1.6rem;
	font-weight: bold;
	display: flex;
	align-items: center;
	margin-left: 10px;
	margin-bottom: 0;
}
#ft_logo p span{
	font-size: 70%;
	margin-right: 5px;
}
#copyright{
	text-align: center;
}
#ft_link{
	font-size: .9rem;
}
#ft_link ul{
	padding-left: 1.3rem;
}
#ft_link a{
	color: #fff;
}
#ft_link a:hover{
	text-decoration: underline;
}
@media (min-width: 992px){
	#ft_wrap{
		display: flex;
		justify-content: space-between;
	}
	#ft_link{
		justify-content: flex-end;
	}
}
@media (min-width: 768px){
	#footer{
		padding-top: 2.5rem;
	}
	#ft_link{
		display: flex;
	}
	#ft_link .ft_list{
		margin-left: 2rem;
	}
	#ft_link p{
		margin-bottom: .5rem;
	}
	#copyright{
		font-size: .8rem;
		padding: 2rem .5rem 1rem;
	}
}
@media (min-width: 768px) and (max-width: 991px){
	#ft_link{
		justify-content: space-between;
	}
	#ft_link .ft_list:last-child{
		margin-right: 2rem;
	}
}
@media (max-width: 991px){
	#footer .container{
		max-width: 100%;
	}
	#ft_add{
		margin-bottom: 2rem;
	}
}
@media (max-width: 767px){
	#footer{
		padding-top: 1.5rem;
	}
	#ft_add > p{ font-size: .9rem;}
	#ft_link ul{
		margin-bottom: .5rem;
	}
	#ft_link p{
		margin-bottom: .25rem;
	}
	#ft_link .ft_list ul,
	#ft_link .ft_list p:not(.sp_block){
		display: none;
	}
	#copyright{
		font-size: .65rem;
		padding: 1rem .5rem .5rem;
	}
}

/*PAGE TOP　ボタン
================================*/
#page_top{
	position: fixed;
	right: 10px;
  bottom: 10px;
  z-index: 100;
  background-color: rgba(29, 43, 108, .8);
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  line-height: 52px;
  font-size: 20px;
  text-align: center;
  color: #fff;
  text-decoration: none;
}
#page_top:hover{
  background-color: rgba(29, 43, 108, 1);
}