html {
font-size: 62.5%;
margin: 0;
padding: 0;
box-sizing: border-box;
font-feature-settings:"palt","salt";
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    -webkit-text-size-adjust:100%;
    -moz-text-size-adjust:100%;
    text-size-adjust:100%;
    font-family:neue-haas-grotesk-text,source-han-sans-japanese,sans-serif;
    font-style:normal;
    font-weight:300
}
body {
	font-family: neue-haas-grotesk-display,source-han-sans-japanese, sans-serif;
font-weight: 300;
font-style: normal;
    letter-spacing: 0.05em;
    box-sizing: border-box;
    margin:0;padding:0;
display: flex;
  flex-direction: column;
  min-height: 100vh;
}
div, ul, li {
	box-sizing: border-box;
}

a:link {
	text-decoration: none;
    font-weight: bold;
    color: #0046c2;
    transition: all .3s;
}

a:hover {

}

a:visited {
    color: #0046c2;
}

.c-both{
    clear: both;
    height:0em;
    visibility:hidden;
    overflow:hidden;
    content:”.”;
}
strong {
    font-weight: 600;
}
img{
width:100%;
max-width: 100%;
height: auto;
}

header {
    margin: 0;
    padding: 0;
    display: block;
    position: fixed;
    top:0;
    width: 100%;
    z-index: 100;
    height: 80px;
    background: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid #0046c2;
}

#header_base {
    margin: 0 auto;
    padding: 10px 370px 10px 30px; 
    display: block flex;
    align-items: center;
    justify-content: space-between;
}

.logo {
    width: 250px;
    height: 60px;
    background: url(images/logo.svg)center left no-repeat;
    background-size: contain;
    text-indent: -9999px;
    margin: 0;
    transition: all .3s;
}
.logo:hover {
opacity: 0.7;
filter: alpha(opacity=70);
-moz-opacity: 0.7;
}

main {
    margin: 60px auto 80px;
    padding: 0 35px;
    width: 100%;
    box-sizing: border-box;
}

#contents {
display: block;
position: relative;
margin: 0 auto;
max-width: 1200px;
}

/*Gナビ*/
nav{
	display: block;
}
.drawer{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0;
  text-align: right;
}
.navbar_toggle{
  z-index:9999;
}
.navbar_toggle_icon {
  position: relative;
  display: block;
  height: 2px;
  width: 30px;
  background: #FFF;
  -webkit-transition: ease .5s;
  transition: ease .5s;
}
.navbar_toggle_icon:nth-child(1) {
    top: 0;
}
.navbar_toggle_icon:nth-child(2) {
    margin: 4px 0;
}
.navbar_toggle_icon:nth-child(3) {
    top: 0;
}
.menu.open {
  -webkit-transform:translateX(0);
  transform:translateX(0);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
  top: 6px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
	background: #FFF;
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 0;
	background: #FFF;
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
  top: -6px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
	background: #FFF;
}
.menu{
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
-webkit-transition:ease .5s;
transition:ease .5s;
}
.menu ul{
  padding: 0px;
    width: 100%;
}
.menu ul li{
	display: block;
	text-align: center;
}
.menu ul li a{
font-weight: 700;
font-style: normal;
	font-size: 1.4rem;
	color: #000;
	letter-spacing: 3px;
	font-weight: bold;
	text-align: center;
	line-height: 160%;
}
.nav_icon{
	display: block flex;
    position: fixed;
    align-items: center;
    right: 0px;
    top:0;
}
.nav_icon_entry{
	display: block flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    width: 200px;
    background: #0046c2;
    color: #FFFFFF;
font-family: neue-haas-grotesk-display, sans-serif;
font-weight: 600;
font-style: normal;
    font-size: 1.6rem;
    letter-spacing: 5px;  
    transition: .4s;
}
.nav_icon_entry:hover{
   font-size: 1.8rem;  
}
.nav_icon_mail{
	width: 45px;
     transition: .4s;
    margin-right: 15px;
}
.nav_icon_mail:hover {
transform: scale(1.2,1.2);
}
.nav_icon_tel{
	width: 45px;
 transition: .4s;
    margin-right: 35px;
}
.nav_icon_tel:hover {
transform: scale(1.2,1.2);
}

@media screen and (min-width: 1200px) {

.navbar_toggle{
  display: none;
}
.menu{
  width: 100%;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.menu ul{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}	
.menu ul li{
	display: block;
  padding: 0px 20px;
	text-align: center;
}	
}

a.underline {
	position: relative;
}
a.underline::after {
	background: #0046c2;
	bottom: 0;
	content: '';
	display: block;
	height: 3px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	bottom: -32px;
	position: absolute;
	transition: .5s all;
	width: 0;
}
@media screen and (min-width: 1200px) {
	a.underline:hover::after {
		width: 100%;
	}
}

@media only screen and (max-width:1200px){
header {
    height: 54px;
}
#header_base {
    padding: 5px 15px;
    height: 54px;
}

.logo {
    width:183px;
    height:44px;
}
.drawer{
padding: 20px 15px;
position: fixed;
top: 0px;
right: 0px;
pointer-events: auto;
z-index: 100;
background: #0046c2;
}
	
.menu{
background: rgba(0,70,194,0.9);
height: 100%;
position: fixed;
width: 100%;
z-index: 98;
top: 0;
left:0;
}
.menu ul{
position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
}	
.menu ul li{
  padding: 10px 20px;
}	
.menu ul a{
	position: relative;
	pointer-events: auto;
}
.menu ul li a{
	font-size: 1.4rem;
	color: #FFF!important;
	letter-spacing: 2px;
	font-weight: bold;
}
.nav_icon{
    height: 54px;
    right: 40px;
}
.nav_icon_entry{
    position: fixed;
    bottom: 0px;
    width: 100%;
    height: 45px;
    padding: 0px;
    border-top: 1px #FFF solid;
left: 50%;
transform: translateX(-50%);
-webkit- transform: translateX(-50%);
}
.nav_icon_mail{
width: 40px;
margin-right: 6px;
}
.nav_icon_tel{
width: 40px;
}
}

/*フッター*/
footer {
    background: #0046c2;
    padding: 25px 30px 15px 30px;
    display: block flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    color: #FFF;
    box-sizing: border-box;
    margin-top: auto;
}
.footer_right {
    text-align: right;
}
.footer_logo{
width: 250px;
}
.footer_tit{
font-size: 1.6rem;
font-weight: 700;
}
.footer_p{
font-size: 1.4rem;
line-height: 1.6;
}
.footer_p a{
color: #99b5e7;
font-weight: normal;
transition: all .3s;
}
.footer_p a:hover {
opacity: 0.7;
filter: alpha(opacity=70);
-moz-opacity: 0.7;
}
.footer_nav{
text-align: center;
margin-bottom: 18px;
display: flex;
justify-content: flex-end;
}
.footer_nav ul{
margin: 0 ;
padding: 0 ;
}
.footer_nav li{
list-style: none;
display: inline-block;
padding: 0 18px;
}
.footer_nav li:not(:last-child){
border-right:1px solid #FFF;
}
.footer_nav a{
text-decoration: none;
color: #FFF;
font-size: 1.4rem;
transition: all .3s;
}
.footer_nav a:hover {
opacity: 0.7;
filter: alpha(opacity=70);
-moz-opacity: 0.7;
}
.copyright{
font-size:1.4rem;
color: #FFF;
}
.footer_btn{
float: right;
background: #FFF;
padding: 15px 35px;
border-radius: 100vh;
color: #0046c2;
font-size: 1.4rem;
text-align: left;
width: 220px;
margin: 10px auto 15px;
position: relative;
display: inline-block;
transition: all .3s;
}
.footer_btn:hover {
opacity: 0.7;
filter: alpha(opacity=70);
-moz-opacity: 0.7;
}
.footer_btn::after {
content: url("images/icon_link.svg");
width: 15px;
position: absolute;
top:18px;
right: 35px;
}

@media only screen and (max-width:1200px){
footer {
    padding: 25px 30px 45px 30px;
}
}

@media only screen and (max-width:1000px){
footer {
    padding: 15px 0px 50px 0px;
    display: block;
    text-align: center;
}
.footer_right {
    text-align: center;
}
.footer_logo{
width: 200px;
margin: 0 auto -5px;
}
.footer_tit{
font-size: 1.4rem;
margin-bottom: -7px;
}
.footer_p{
font-size: 1.3rem;
}
.footer_nav{
text-align: center;
margin: 0 auto 10px;
justify-content: center;
}
.footer_nav li{
padding: 0 10px;
}
.footer_nav a{
font-size: 1.3rem;
}
.copyright{
font-size:1.3rem;
}
.footer_btn{
float: none;
display: block;
padding: 12px 35px;
font-size: 1.3rem;
width: 210px;
margin: 16px auto 5px;
}
.footer_btn::after {
width: 14px;
top:14px;
right: 35px;
}
}

/* ページTOPに戻る */
.pagetop {
    display: none;
	position: fixed;
	right: 20px;
	bottom: 260px;
    z-index: 50;
}
.pagetop a {
	display: block;
    background: url("images/bt_pagetop.svg")no-repeat center top;
	width: 50px;
	height: 50px;
 transition: .3s;
}
.pagetop a:hover {
transform: translateY(-5px);
}
.page_nav{
display: block flex;
align-items: center;
justify-content: space-between;
gap:30px;
}
@media screen and (max-width: 1200px) {
.pagetop {
	bottom: 290px;
}
}
@media screen and (max-width: 1000px) {
.pagetop {
	right: 10px;
	bottom: 55px;
}
.pagetop a {
	width: 45px;
	height: 45px;
}
}

/*フェードイン*/
.fadein, .time-fadein {
	opacity: 0;
	transform: translate(0, 40px);
	transition: all 800ms;
}
.fadein.scrollin, .time-fadein.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}
.kv .fadein {
	transform: translateY(-20%) translateX(-50%);
}
.kv .fadein.scrollin, {
	transform: translateY(-20%) translateX(-50%);
}
.com_kv .fadein {
	transform: translateY(-50%) translateX(-50%);
}
.com_kv .fadein.scrollin, {
	transform: translateY(-50%) translateX(-50%);
}

@media screen and (max-width:950px) {
	/*タブレット以下は下からスライドに固定(横ずれを防ぐ為)*/
	.fadein, .time-fadein {
		transform: translate(0, 40px) !important;
	}
	.fadein.scrollin, .time-fadein.scrollin {
		opacity: 1;
		transform: translate(0, 0) !important;
	}
.kv .fadein {
	transform: translateY(-50%) translateX(-50%)!important;
}
.kv .fadein.scrollin, {
	transform: translateY(-50%) translateX(-50%)!important;
}
.com_kv .fadein {
	transform: translateY(-50%) translateX(-50%)!important;
}
.com_kv .fadein.scrollin, {
	transform: translateY(-50%) translateX(-50%)!important;
}
}

/* kv */
.kv{
  margin: 80px auto 0;
  height: 600px;
  position: relative;
  width: 100%;
background: url('images/kv.jpg')center center no-repeat;
background-size: cover;
padding: 0;
}
.catch{
font-family: "source-han-sans-japanese", sans-serif;
font-weight: 700;
font-style: normal;
color: #0046c2;
position: absolute;
text-align: center;
white-space: nowrap;
top: 50%;
left: 50%;
transform: translateY(-20%) translateX(-50%);
-webkit- transform: translateY(-20%) translateX(-50%);
    font-size: 7rem;
    line-height: 1.5;
    letter-spacing: 0px;
    text-shadow:
    /* 1つ目：全体にシャドウをつける */
    0 0 10px rgba(255, 255, 255, 1),
    /* 2つ目：下方向 */
    0 5px 10px rgba(255, 255, 255, .7),
    /* 3つ目：右方向 */
    5px 0 10px rgba(255, 255, 255, .7),
    /* 4つ目：上方向 */
    0 -5px 10px rgba(255, 255, 255, .7),
    /* 5つ目：左方向 */
    -5px 0 10px rgba(255, 255, 255, .7);
}
@media screen and (max-width: 1200px) {
.kv{
margin: 54px auto 0;
}
}
@media screen and (max-width: 950px) {
.kv{
margin: 54px auto 0;
height: calc(100vh - 165px);
}
.catch{
font-size: 4rem;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
text-shadow:
    /* 1つ目：全体にシャドウをつける */
    0 0 5px rgba(255, 255, 255, 1),
    /* 2つ目：下方向 */
    0 3px 5px rgba(255, 255, 255, .7),
    /* 3つ目：右方向 */
    3px 0 5px rgba(255, 255, 255, .7),
    /* 4つ目：上方向 */
    0 -3px 5px rgba(255, 255, 255, .7),
    /* 5つ目：左方向 */
    -3px 0 5px rgba(255, 255, 255, .7);
}
}

/*ホーム*/
#latest_news{
  text-align: center;
    height: 100px;
    display: block flex;
    align-items: center;
    justify-content: center;
    gap:20px;
}
.latest_news_date{
font-size: 1.8rem;
letter-spacing: 0;
font-weight: 600;
color: #0046c2;
}
.latest_news_date:after{
content: "｜";
font-size: 1.6rem;
margin-left: 20px;
}
.latest_news_p{
font-size: 1.6rem;
line-height: 1.6;
}

#top_company{
    display: block;
    margin-bottom: 80px;
}
.top_tit{
    display: flex;
    align-items: center;
    font-size: 7.2rem;
    color: #0046c2;
    margin: 0 0 40px; 0;
    position: relative;
    font-weight: bold;
}
.top_tit:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #0046c2;
}
.top_tit:after {
    margin-left: 40px;
}
.top_tit span{
position: absolute;
left:0;
bottom:-20px;
font-weight: 300;
font-size: 1.6rem;
letter-spacing: 1rem;
color: #000;
}
.page_flex{
display: flex;
align-items: flex-start;
justify-content: space-between;
gap:60px;
}
#top_company h2{
    font-size: 4rem;
    letter-spacing: 0.2em;
    white-space: nowrap;
    margin: 0 auto 30px;
}
.view_more_btn a {
  position: relative;
  display: block;
  width: 250px;
  padding: 20px 30px;
    border: 1px #0046c2 solid;
  border-radius: 100vh;
  font-size: 1.6rem;
  color: #0046c2;
  text-decoration: none;
  text-align: center;
    letter-spacing: 3px;
}
.view_more_btn a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 6px solid transparent;
  border-right: 0 solid transparent;
  border-left: 9px solid #0046c2;
  border-bottom: 6px solid transparent;
  box-sizing: border-box;
}
.view_more_btn a:hover {
    background: #0046c2;
  color: #FFF;
}
.view_more_btn a:hover::after {
  border-left: 9px solid #FFF;
}
#top_company h3{
    font-size: 2.5rem;
    margin: 0 auto 20px;
    line-height: 1.6;
}
.txt{
    font-size: 1.6rem;
    line-height: 1.8;
    margin: 0 auto;
}

#top_culture{
    display: block;
    margin-bottom: 80px;
}
.big_bn01{
    display: block flex;
    position: relative;
    width: 47%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    min-width: 500px;
	cursor:pointer;
}
.big_bn01:after{
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url("images/top01.jpg")top center no-repeat;
background-size: cover;
transition: all .3s;
}
.big_bn01:hover:after{
transform: scale(1.1);
}

.big_bn02{
    display: block flex;
    position: relative;
    width: 47%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    min-width: 500px;
	cursor:pointer;
}
.big_bn02:after{
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background: url("images/top02.jpg")top center no-repeat;
background-size: cover;
transition: all .3s;
}
.big_bn02:hover:after{
transform: scale(1.1);
}

.big_bn_line{
    display: block flex;
    width: 100%;
    position: absolute;
    bottom: 0;
    align-items: center;
    justify-content: space-between;
    background: rgba(0, 70, 194, 0.8);
    padding: 20px 30px;
    z-index: 10;
    gap:20px;
}
.big_bn_jp{
    font-size: 2rem;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 1rem;
    margin: 0;
    white-space: nowrap;
}
.big_bn_en{
    font-size: 2rem;
    color: #80bcff;
    margin: 0;
    font-weight: normal;
    padding-right: 30px;
}
.big_bn_en::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 6px solid transparent;
  border-right: 0 solid transparent;
  border-left: 9px solid #FFF;
  border-bottom: 6px solid transparent;
  box-sizing: border-box;
}

#top_recruit{
    display: block;
    margin-bottom: 100px;
}
.top_rec_tit{
    text-align: center;
    font-size: 2.2rem;
    margin: 0 auto 15px;
    font-weight: bold;
    letter-spacing: 1rem;
}
.top_rec_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap:10px 40px;
    margin: 0 auto 40px;
}
.rec_type_btn a {
  position: relative;
  display: inline-block;
  min-width: 250px;
  padding: 20px 50px;
  background: #0046c2;
  border-radius: 5px;
  font-size: 1.6rem;
  color: #FFF;
  text-decoration: none;
  text-align: center;
  letter-spacing: 3px;
    border: 1px #0046c2 solid;
}
.rec_type_btn a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 6px solid transparent;
  border-right: 0 solid transparent;
  border-left: 9px solid #FFF;
  border-bottom: 6px solid transparent;
  box-sizing: border-box;
}
.rec_type_btn a:hover {
    background: #FFF;
    border: 1px #0046c2 solid;
  color: #0046c2;
}
.rec_type_btn a:hover::after {
  border-left: 9px solid #0046c2;
}

/*ページ*/
.page_tit_base{
  display: block;
margin: 80px auto 0;
border-bottom: 1px solid #0046c2;
padding: 15px 35px;
width: 100%;
}
.page_tit{
  display: block flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
margin: 0 auto;
}
.title {
  font-size: 7rem;
    color: #0046c2;
    margin: 0;
    font-weight: bold;
}
h1{
  font-size: 1.6rem;
    color: #000;
    letter-spacing: 1rem;
    margin: 0;
}

/*企業理念*/
.com_kv{
  display: block;
    text-align: center;
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
    background: url("images/company_kv.jpg")center center no-repeat;
    background-size: cover;
    height: 514px;
    position: relative;
}
.com_catch{
  position: absolute;
    top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
    color:#FFF;
    font-size: 4rem;
    line-height: 1.6;
    font-weight: bold;
    white-space: nowrap;
    letter-spacing: 1rem;
    margin: 0;
    text-shadow: #000 0 0 10px;
}
#company{
  display: block;
    margin: 0 auto;
}
#company h2{
  text-align: center;
    font-size: 3rem;
    line-height: 1.6;
    margin: 0 auto 20px;
}
#company .tit{
    display: block;
    background: #0046c2;
    padding: 0 5px;
    font-size: 2.4rem;
    line-height: 1.6;
    margin: 50px auto 20px;
    color: #FFF;
    font-weight: bold;
}
#company .tit2{
    color: #0046c2;
    font-size: 2.4rem;
    margin: 20px auto 10px;
    font-weight: bold;
}
#company .list {
    list-style-type: none;
}
#company ul {
    padding: 0;
}
#company .list li {
    display: flex;
    align-items: center;
    gap:15px;
    padding: .3em;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.6;
}
#company .list li::before {
    display: inline-block;
    width: 15px;
    height: 7px;
    border-bottom: 3px solid #0046c2;
    border-left: 3px solid #0046c2;
    transform: rotate(-45deg) translateY(-1.5px);
    content: '';
}
#company .com_img {
    width: 45%;
}
#company .tit3{
    display: flex;
    align-items: center;
    font-size: 2.8rem;
    letter-spacing: 1.5rem;
    margin: 60px auto 20px;
    font-weight: bold;
}
#company .tit3:before,
#company .tit3:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #0046c2;
}
#company .tit3:before {
    margin-right: 40px;
}
#company .tit3:after {
    margin-left: 40px;
}
table.company_table{
max-width: 900px;
width: 100%;
margin: 0px auto;
border-collapse:  collapse;
}
table.company_table tr {
    border-bottom: 1px #898989 dotted;
}
table.company_table th,
table.company_table td {
    font-size: 1.6rem;
    padding: 30px;
    margin: 0;
}
table.company_table th {
    width: 20%;
    min-width: 150px;
    font-weight: bold;
    letter-spacing: 3px;
    text-align: left;
    vertical-align: top;
}
table.company_table td {
    line-height: 180%;
}
table.company_table td span {
    color: #0046c2;
    font-weight: bold;
}
table.company_table td a {
   color: #0046c2;
    transition: all .3s;
}
table.company_table td a:hover {
   opacity: 0.7;
filter: alpha(opacity=70);
-moz-opacity: 0.7;
}
table.company_table td a.link_btn:after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    background: url(images/icon_link.svg) no-repeat;
    background-position: center;
    background-size: contain;
    margin: 0px 6px;
    transition: all .3s;
}

/*働く環境・福利厚生*/
.culture{
  display: block;
    margin: 0 auto 80px;
}
.culture h2{
    display: flex;
    align-items: center;
    font-size: 7.2rem;
    color: #0046c2;
    margin: 0 0 30px;
    position: relative;
    font-weight: bold;
    white-space: nowrap;
}
.culture h2 span{
    font-size: 1.6rem;
    letter-spacing: 0.5rem;
    color: #000;
    margin-left: 40px;
}
.culture h3{
    font-size: 2.5rem;
    margin: 0 auto 20px;
    line-height: 1.6;
}
.cul_img{
    margin-bottom: 30px;
}
.culture .page_flex div{
    width: 48%;
}
.culture .page_flex .list {
    list-style-type: disc;
    padding-left: 20px;
    margin: 0;
}
.culture .page_flex .list li {
    padding: .3em .3em .3em 0;
    font-size: 1.6rem;
    font-weight: bold;
}
.culture .page_flex .list li.no_mark {
    list-style: none;
    margin-left: -18px;
}
.culture .page_flex .list li::marker {
    color: #0046c2;
    font-size: 1.6rem;
}

/*募集要項*/
#recruit{
  display: block;
    margin: 0 auto;
}
#recruit h2 {
    display: block;
    background: #0046c2;
    padding: 0 5px;
    font-size: 2.4rem;
    line-height: 1.6;
    margin: 0px auto 20px;
    color: #FFF;
    font-weight: bold;
}
#recruit .list {
    list-style-type: disc;
    padding-left: 20px;
    margin: 0;
}
#recruit .list li {
    padding: 0 0 .1em 0;
    font-size: 1.6rem;
    line-height: 1.6;
}
#recruit .list li.no_mark {
    list-style: none;
    margin-left: -18px;
}
#recruit .list li::marker {
    color: #0046c2;
    font-size: 1.6rem;
}
#recruit .flow {
    padding-left: 20px;
    margin: 0;
}
#recruit .flow li {
    padding: 0 0 .2em .2em;
    font-size: 1.6rem;
    line-height: 1.6;
}
#recruit .flow li::marker {
    color: #0046c2;
    font-size: 1.8rem;
    font-weight: bold;
}
#recruit .entry_btn a {
  position: relative;
  display: inline-block;
  min-width: 250px;
  padding: 20px 50px;
  background: #0046c2;
  border-radius: 5px;
  font-size: 1.6rem;
  color: #FFF!important;
  text-decoration: none;
  text-align: center;
  letter-spacing: 3px;
    border: 1px #0046c2 solid;
}
#recruit .entry_btn a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 6px solid transparent;
  border-right: 0 solid transparent;
  border-left: 9px solid #FFF;
  border-bottom: 6px solid transparent;
  box-sizing: border-box;
}
#recruit .entry_btn a:hover {
    background: #FFF;
    border: 1px #0046c2 solid;
  color: #0046c2!important;
}
#recruit .entry_btn a:hover::after {
  border-left: 9px solid #0046c2;
}

/*応募フォーム*/
#entry{
  display: block;
    margin: 0 auto;
}
table.form_table{
	margin:0px auto;
	border-collapse:collapse;
	width:100%;
    max-width: 800px;
	text-align: left;
    box-sizing: border-box;
}
table.form_table td,
table.form_table th{
	display: flex block;
    align-items: center;
    gap:0 10px;
	font-size:1.6rem;
	width: 100%;
    line-height: 1.6;
	flex-wrap:wrap;
}
table.form_table td{
	margin-bottom: 20px;
}
table.form_table th{
	margin-bottom: 5px;
	font-weight: bold;
	white-space:nowrap;
}
textarea {overflow: auto;}
input, textarea, select {
border: 1px solid #898989;
background-color: #FFF;
padding: 12px 15px;
font-size: 1.6rem;
border-radius: 3px;
line-height: 1.6;
box-sizing: border-box;
width: 100%;
}
input[type="radio"] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #898989;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
    padding: 0;
}
.wpcf7-list-item {
    margin: 0 1em 0 0!important;
}
input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #0046c2;
  content: '';
}
.wpcf7-form-control-wrap {
    position: relative;
    width: 100%;
}
.wpcf7-spinner {
    display: none!important;
}
.wpcf7_birthday {
	min-width:155px;
	margin-bottom:5px;
	gap: 0 !important;
}
.wpcf7_birthday select {
	min-width:155px;
	margin-bottom:5px;
}
.wpcf7_birthday div {
    display:flex;
	gap: 0 10px;
	align-items: center;
	margin-right:10px;
}
#your-year select {
   width:100%;
}
.form_p {
    text-align: center;
    margin: 0 auto 25px;
    font-size: 1.6rem;
    line-height: 1.8;
}
.btn_area{
	margin:20px auto 0;
    display: flex block;
    justify-content: center;
    gap:100px;
}
.btn_area p{
	display: none!important;
}
#entry .entry_btn {
  position: relative;
  display: inline-block;
  width: 300px;
  padding: 20px 50px;
  background: #0046c2;
  border-radius: 5px;
  font-size: 1.8rem;
  color: #FFF;
  text-decoration: none;
  text-align: center;
  letter-spacing: 3px;
  border: 1px #0046c2 solid;
    box-sizing: border-box;
	font-weight:bold;
	cursor:pointer;
}
#entry .entry_btn:hover {
    background: #FFF;
    border: 1px #0046c2 solid;
  color: #0046c2;
}
.hissu{
	font-size: 1.2rem;
	color: #FFF;
	font-weight: bold;
	background: #0046c2;
	padding: 2px 4px;
	margin: 0;
}

/*フォーム*/
.wpcf7-response-output{
    display:none;
}
span.wpcf7-not-valid-tip {
    color: #a00;
    font-size: 1.3rem;
	margin-top:5px;
    display: block;
	line-height: 1.4;
}
.wpcf7_txt{
    margin-top:10px;
}
.error-message {
    color: #a00;
    font-size: 1.3rem;
    margin-top: 80px;
    display: block;
    line-height: 1.4;
	font-weight: 500;
}

.anchor {
    padding-top: 120px; /* ヘッダーの高さを入力 */
    margin-top: -120px; /* ヘッダーの高さを入力 */
}
.pc-only {
  display: block;
}
.sp-only {
  display: none;
}



@media only screen and (max-width:1200px){
/*ページ*/   
.page_tit_base{
  display: block;
margin: 54px auto 0;
border-bottom: 1px solid #0046c2;
padding: 5px 20px;
}
.title {
  font-size: 7rem;
}
h1{
  font-size: 1.6rem;
    letter-spacing: 1rem;
} 
.com_kv{
    height: 0;
    padding-top: 42.83%;
}
}

@media only screen and (max-width:950px){  
/*ホーム*/
#latest_news{
height: 66px;
}   
}

@media only screen and (max-width:798px){
main {
    margin: 25px auto 40px;
    padding: 0 20px;
}
    
/*ホーム*/
#latest_news{
gap:10px;
}
.latest_news_date{
font-size: 1.6rem;
white-space: nowrap;
}
.latest_news_date:after{
margin-left: 10px;
}
.latest_news_p{
font-size: 1.4rem;
line-height: 1.5;
text-align: left;
}
#top_company{
    margin-bottom: 35px;
}
.top_tit{
    font-size: 3.5rem;
    margin: 0 0 40px; 0;
}
.top_tit:after {
    margin-left: 20px;
}
.top_tit span{
bottom:-20px;
font-size: 1.3rem;
letter-spacing: 0.5em;
}
.page_flex{
display: block;
}
#top_company h2{
    font-size: 3rem;
    margin: 0 auto 18px;
}
.view_more_btn a {
  width: 200px;
  padding: 16px 25px;
  font-size: 1.5rem;
    letter-spacing: 3px;
    margin: 0 auto;
}
.view_more_btn a::after {
  right: 25px;
}
#top_company h3{
    font-size: 1.8rem;
    margin: 0 auto 10px;
}
.txt{
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 0 auto 20px;
}
    
#top_culture{
    margin-bottom: 35px;
}
.big_bn01{
    width: 100%;
    margin: 0 auto 20px;
    max-width: 400px;
    min-width: 100px;
}

.big_bn02{
    width: 100%;
    margin: 0 auto;
    max-width: 400px;
    min-width: 100px;
}
.big_bn_line{
    padding: 10px 20px;
    gap:10px;
}
.big_bn_jp{
    font-size: 1.6rem;
    letter-spacing: 0.5rem;
}
.big_bn_en{
    font-size: 1.6rem;
    padding-right: 25px;
}
.big_bn_en::after {
  right: 20px;
}
    
#top_recruit{
    margin-bottom: 50px;
}
.top_rec_tit{
    font-size: 1.8rem;
    margin: 0 auto 15px;
    letter-spacing: 0.5rem;
}
.top_rec_flex{
    display: block;
    margin: 0 auto 20px;
}
.rec_type_btn a {
  width: 280px;
  padding: 15px 0px;
  font-size: 1.4rem;
  letter-spacing: 2px;
    display: block;
    margin: 0 auto 10px;
}
.rec_type_btn a::after {
  right: 20px;
}
    
/*ページ*/   
.page_tit_base{
padding: 5px 20px;
}
.title {
  font-size: 3.5rem;
}
h1{
  font-size: 1.4rem;
    letter-spacing: 0.5rem;
} 
    
/*企業理念*/
.com_catch{
    font-size: 2.5rem;
    letter-spacing: 0.5rem;
    text-shadow: #000 0 0 10px;
}
#company h2{
  text-align: left;
    font-size: 1.8rem;
    margin: 0 auto 10px;
}
#company .tit{
    font-size: 1.8rem;
    line-height: 1.4;
    margin: 30px auto 15px;
}
#company .tit2{
    font-size: 1.8rem;
    margin: 10px auto 10px;
}
#company .list li {
    gap:13px;
    padding: .25em;
    font-size: 1.4rem;
}
#company .com_img {
    display: block;
    margin: 15px auto 0;
    width: 100%;
    max-width: 400px;
}
#company .tit3{
    font-size: 1.8rem;
    letter-spacing: 1rem;
    margin: 35px auto 10px;
}
#company .tit3:before {
    margin-right: 20px;
}
#company .tit3:after {
    margin-left: 20px;
}
table.company_table th,
table.company_table td {
    display: block;
    width: 100%;
    font-size: 1.4rem;
}
table.company_table th {
    width: 100%;
    padding: 12px 0 5px 0;
    letter-spacing: 2px;
}
table.company_table td {
    line-height: 1.6;
    padding: 0 0 12px 0;
}
    
/*働く環境・福利厚生*/
.culture{
  display: block;
    margin: 0 auto 35px;
}
.culture h2{
    font-size: 3.5rem;
    margin: 0 0 12px;
}
.culture h2 span{
    font-size: 1.4rem;
    letter-spacing: 0.3rem;
    margin-left: 15px;
}
.culture h3{
    font-size: 1.8rem;
    margin: 0 auto 10px;
}
.cul_img{
    margin: 0 auto 18px;
    display: block;
    max-width: 400px;
}
.culture .page_flex div{
    width: 100%;
}
.culture .page_flex .list {
    padding-left: 16px;
}

.culture .page_flex .list li {
    font-size: 1.4rem;
}
.culture .page_flex .list li::marker {
    font-size: 1.4rem;
}
    
/*募集要項*/
#recruit h2 {
font-size: 1.8rem;
line-height: 1.4;
margin: 0px auto 10px;
}
#recruit .list {
    padding-left: 16px;
}
#recruit .list li {
    font-size: 1.4rem;
}
#recruit .list li.no_mark {
    margin-left: -16px;
}
#recruit .list li::marker {
    font-size: 1.4rem;
}
#recruit .flow li {
    font-size: 1.4rem;
}
#recruit .flow li::marker {
    font-size: 1.6rem;
}
#recruit .entry_btn a {
  width: 280px;
  padding: 15px 0px;
  font-size: 1.4rem;
  letter-spacing: 2px;
    margin: 0;
}
#recruit .entry_btn a::after {
  right: 20px;
}
    
/*応募フォーム*/
table.form_table td,
table.form_table th{
	font-size:1.4rem;
}
table.form_table td{
	margin-bottom: 15px;
}
table.form_table th{
	margin-bottom: 4px;
}
textarea {overflow: auto;}
input, textarea, select {
padding: 8px 10px;
font-size: 1.4rem;
}
.form_p {
    margin: 0 auto 15px;
    font-size: 1.4rem;
    line-height: 1.6;
}
.btn_area{
	margin:10px auto 0;
    gap:30px;
}
#entry .entry_btn {
  display: block;
  width: 140px;
  padding: 15px;
  border-radius: 5px;
  font-size: 1.6rem;
}
.hissu{
	font-size: 1.1rem;
	padding: 1px 3px;
}
    
    
.anchor {
    padding-top: 70px; /* ヘッダーの高さを入力 */
    margin-top: -70px; /* ヘッダーの高さを入力 */
}   
.pc-only {
  display: none;
}	
.sp-only {
  display: block;
}
	
}

@media (min-width: 751px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}
