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

/**font**/
body{    /* 全体 */
	font-family:'Noto Sans JP', YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo;
}
#content section h2,#content ul.index_area li p.ttl_s,#content #h1_area h1 #en,.en,.notation{    /* キャッチコピーと小見出し */
	font-family: Inter, 'Noto Sans JP', YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo;
}
#main_copy,#top_company h2 span,#top_business h2 span,#top_recruit h2 span,#conpany h2,#content #h1_area h1 #jp,#content section h2.ci,#content section h2.copy_h,.jp,.name,#interview #content section h2{
	    /* 見出しのみ */
	font-family:"Noto Serif JP", Inter, 'Noto Serif JP', YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo;
}
/****/
@supports (-webkit-touch-callout: none) {
  body {
    /* The hack for Safari */
    height: -webkit-fill-available;
  }
}
html {
    /* スクロールを滑らかにする */
    scroll-behavior: smooth;
}
body{
	position: relative;
	min-height: 100%;
	background: #fff;
	color: #313131;
	font-weight:normal;
	box-sizing: border-box;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	letter-spacing: 0.5px;
}
.small{
	font-size: 12px;
}
a:hover {
    color: #007eee;
    text-decoration: none;
	transition: 0.3s;
}
/**ヘッダー**/
header{
	position: absolute;
	top:0;
	left: 0;
	z-index: 9999;
	padding: 0 40px;
	width: 100%;
	background: #fff;
	display: flex;
    justify-content: space-between;
    align-items: center;
}

header #ams_logo{
	margin: 15px 0;
	padding: 0;
}
header #ams_logo img{
	width: 160px;
}
header nav{
	display: flex;
	align-items: flex-end;
}
header nav #nav_logo{
	display: none;
}
header nav>ul>li{
	position: relative;
	display: inline-block;
	font-weight: 600;
	vertical-align: top;
	transition: 0.3s;	
}

header nav>ul>li:last-child{
	margin-right:0;
}
header nav>ul>li>a{
	display: block;
	padding: 10px 25px 15px; 
}
header nav>ul>li.first::before{
		position: absolute;
	top: 0;
	right: 100%;
	content: "";
	width: 1px;
	height: 20px;
	background-color: #000;
	margin-top: 10px;
}
header nav>ul>li>a::after{
		position: absolute;
	top: 0;
	left: 100%;
	content: "";
	width: 1px;
	height: 20px;
	background-color: #000;
	margin-top: 10px;
}
header nav>ul>li>ul{
	transform: translateX(-50%);
	background: #fff;
	box-shadow: 0px 0px 15px -5px #777777;
	position: absolute;
	border-radius: 6px;
	left: 50%;
	top: calc(100% - 2px);
	padding: 10px 0;
	transition: 0.3s;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
}
header nav>ul>li:hover>ul {
    opacity: 1;
    pointer-events: all;
}
header nav>ul>li::after {
	content: "";
	position: absolute;
	transform: translateX(-50%) scale(0);
	transform-origin: center;
	left: 50%;
	bottom: 2px;
	width: 50px;
	height: 2px;
	background: #008aff;
	transition: 0.3s;
}

header nav>ul>li:hover::after {
	content: "";
	transform: translateX(-50%) scale(1);
}
header nav>ul>li:hover>ul{
	opacity: 1;
	pointer-events:all;
}
header nav>ul>li>ul{
	padding: 20px 0;
}
header nav>ul>li>ul>li a{
	color: #313131;
	display: block;
	padding: 15px 40px;
	transition: 0.3s;
}
header nav>ul>li>ul>li a:hover{
	color: #007eee;
}
header nav>ul>li> a.active {
  color: #007eee;
}
header nav>ul>li> a.active:before {
	content: "";
	position: absolute;
	left: 29%;
	bottom: 2px;
	width: 50px;
	height: 2px;
	background: #008aff;
	transition: 0.3s;
}

/*お問い合わせボタン*/
.contact_btn {
  padding-left: 30px;
}
.btn {
  position: relative;
  display: flex;
  color: #fff;
  background: #008aff;
  font-weight: 500;
  font-size: 16px;
  width: 190px;
  height: 50px;
  border-radius: 100vh;
  align-items: center;
  overflow: hidden;
  transition: 0.3s;
justify-content: center;
    padding-left: 14px;
}

.btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.2);
  transform: skewX(-20deg); /* 斜めに傾ける */
  transition: left 0.4s ease-in-out;
}

.btn:hover::before {
  left: 100%;
}
.btn:hover {
      color: #fff;
    text-decoration: none;
	transition: 0.3s;
}

.btn::after {
  content: "";
  position: absolute;
  left: 23px;
  top: 35%;
  width: 20px;
  height: 15px;
  background-image: url(../img/mail.png); /* メールアイコン */
  background-size: contain;
  background-repeat: no-repeat;
}

/**フェードインアニメーション**/
.fade-in {
    animation: fadeIn 5s forwards; /* 5秒で表示 */
}
.fade-in-sub {
    animation: fadeIn 1.8s forwards; /* 1.8秒で表示 */
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.fadein {
    opacity: 0;
    transform: translate(0, 0);
    transition: all 1.5s;
}
.fadein-bottom {
    transform: translate(0, 30px);
}
.scrollin {
    opacity: 1 !important;
    transform: translate(0, 0);
}


/**フッター**/
footer{
	position: relative;
	background: #313131;
	padding-top: 10px;
	font-size: 16px;
	z-index: 2;
	color: #fff;
	font-weight: 300;
}
footer::after{
	content: "";
	display: block;
	clear: both;
}
#footer_left{
	float: left;
	width: 35%;
}
#footer_left #f_logo img{
	width: 150px;
	height: auto;
}
#footer_left .contact_btn{
	padding: 0px;
}
#footer_left .contact_btn .pmark{
	display: none;
}

#footer_left .btn{
	background: none;
	border: solid 1px;
}
#footer_left #f_address{
	margin-top: 30px;
}#footer_left #f_address span{
	white-space: nowrap;
}
#footer_left p{
	margin-top: 20px;
	line-height: 1.6em;
}
#footer_right{
	float:right;
	width: 65%;
	margin-top: 50px;
}
#footer_right>ul{
	display: flex;
	justify-content: flex-end;
}
#footer_right li.fs { /* 区切り線 */
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
}
#footer_right li.fs+ li.fs { /* 区切り線 */
  border-left: 0;
  border-right: 1px solid #fff;
}
#footer_right>ul>li:last-child{
	margin-right: 0;
}
#footer_right>ul>li>a{
	display: block;
	color: #fff;
	font-size: 16px;
			padding-right: 19px;
	padding-left: 19px;
}
#footer_right>ul>li>ul>li a{
	transition: 0.3s;

}
#f_end{
	margin-top: 90px;
	margin-bottom:25px;
	clear: both;
    text-align: right;
    display: flex;
    flex-direction: column;
}
#f_end p{
	display: inline-block;
}
.pmark img{
	background: #fff;
	width: 80px;
}
#copyright{
	display: inline-block;
	float: right;
	margin-top: 40px;
}

/**レイアウト**/
.wrap{
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
}
.wrap::after{
	content: "";
	display: block;
	clear: both;
}
/***遷移ボタン***/
#content .button_r .btn_t {
  	color: #fff; /* 文字色 */
	text-decoration: none;
  	position: relative;
  	border-radius: 100vh;
  	width: 190px;
	height: 50px;
  	transition: 0.3s;
	background: #008aff; /* お問い合わせボタン色 */
  	font-weight: 600;
	font-size: 18px;
	display: flex;
    justify-content: space-evenly;
    align-items: center;
	overflow: hidden;
}
.button_r .btn_t::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.2);
    transform: skewX(-20deg);
    transition: left 0.4s ease-in-out;
}
.button_r .btn_t::after{
	content: "";
	display: block;
	position: absolute;
    top: 50%;
    right: 10%;
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff; /* 矢印の右上の線 */
    border-bottom: 2px solid #fff; /* 矢印の右下の線 */
    transform: translateY(-50%) rotate(-45deg); /* くの字に傾ける */
	transition: right 0.3s ease-in-out;
}
.button_r .btn_t:hover::before {
    left: 100%;
}
.button_r .btn_t:hover::after {
    right: 7%; /* ホバー時に矢印を右へスライド */
}

/***リクルート　コンタクト***/
 #content #int_b {
    display: flex;
}
 #content #int_b h1 {
    width: 50%;
}
#content #int_left {
    display: block;
    width: 50%;
}
#content #int_left p {
    margin-bottom: 25px;
}

#content #int_left .ad p {
    line-height: 1.4em;
}
#content #int_b a.btn {
    color: #fff;
    text-decoration: none;
}
#content #int_b a.btn:hover {
    color: #fff;
}
#content #int_b .contact_btn {
    padding: 0;
}
#interview.person #content section#int_b p:nth-child(2) {
     margin-bottom: 25px; 
}
@media screen and (max-width: 1080px) {
    #content #int_b .contact_btn {
        display: block;
    }
}
@media screen and (max-width: 880px) {
   #content #int_b {
        display: block;
    }
   #content #int_b h1 {
        width: 100%;
    }
   #content #int_left {
        width: 100%;
    }
}
/****/

.clear{
	clear: both;
}
.clearfix::after{
	content: "";
	display: block;
	clear: both;
}
br.mb{
	display: none;
}
br.message_mb{
	display: none;
}
.nowrap{
	white-space: nowrap;
}
@media screen and (max-width: 1300px) {
	/**レイアウト**/
	.wrap{
		max-width:none;
		padding: 0 40px;
	}
}
@media screen and (max-width: 1080px) {
	/**採用footer**/
	#recruit_footer li p.button_arrow a{
		font-size: 22px;
		padding: 35px 60px 0 20px;
	}
	#recruit_footer li p.button_arrow a span{
		font-size: 14px;
	}
	#recruit_footer li p.button_arrow::before {
		width: 50px;
		height: 50px;
	}
	#recruit_footer li p.button_arrow a::before {
		right: 34px;
	}
	#recruit_footer li p.button_arrow a::after {
		right: 40px;
	}
	#recruit_footer li p.button_arrow::after {
		width: 50px;
		height: 50px;
	}
	/****/
	#footer_left{
		float: none;
		width: 100%;
		display: inline-block;
		margin: 0 auto;
		text-align: left;
	}
	#footer_right{
		margin: 0;
		width: 100%;
	}
	ul#footer_none{
		display: none;
	}
	.contact_btn {
    padding-left: 0;
	display: flex;
        justify-content: center;
}
	#footer_left .contact_btn .pmark{
	display: block;
}
	#footer_left .contact_btn {
    display: flex;
    justify-content: space-between;
}
	#f_end{
	margin:0;
	padding-bottom: 20px;
	    display: flex;
    flex-direction: column;	
}
	#f_end .pmark{
	display: none;
}
}
@media screen and (max-width: 750px) {
	/**ヘッダー**/
	header {
		padding: 0 20px;
	}
	header #h_logo img {
		width: calc(100% - 100px);
		max-width: 240px;
	}
	
	/**採用footer**/
	#recruit_footer{
		display: block;
	}
	#recruit_footer li{
		width: 100%;
		margin-bottom: 20px;
	}
	#recruit_footer li:first-child{
		border-right: 1px solid #242624;
	}
	/**フッター**/
	#footer_left #f_logo img{
		width: 100%;
		max-width: 100px;
	}
	#f_link ul{
		display: none;
	}
	#copyright {
		float: none;
		text-align: center;
	}

	/**レイアウト**/
	
	.wrap{
		max-width:none;
		padding: 0 20px;
	}	
	br.pc{
		display: none;
	}
	br.mb{
		display: block!important;
	}
	br.message_mb{
		display: block!important;
	}
}
@media screen and (max-width: 550px){
	#f_end{
align-items: center;
}
header #ams_logo img {
    width: 100px;
}
header #ams_logo {
    margin: 15px 0px;
}

}
