@charset "UTF-8";


/* !HTML5 elements
---------------------------------------------------------- */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
{ display: block;}

/* !Reseting
---------------------------------------------------------- */
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:400;
	-webkit-text-size-adjust: none;
	font-size: 16px;
	color: #000;
	background: #fff;
	word-wrap:break-word;/* 英数字折り返し */
	position:relative;
	line-height:1.6em;
}
body{
	margin: 0 !important;
	padding: 48px 0 0 0 !important;
}
div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td, figure, figcaption
{ margin: 0; padding: 0;}
input, textarea
{ margin: 0; font-size: 100%;}
label
{ cursor: pointer;}
table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
fieldset, img
{ border: 0;}
img
{ max-width: 100%; width: 100%; height: auto; vertical-align: top;}
address, caption, cite, code, dfn, em, th, var
{ font-style: normal; font-weight: normal;}
ol, ul
{ list-style: none;}
caption, th
{ text-align: left;}
h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: normal;}
q:after, q:before
{ content:'';}
a, input
{ outline: none; }
input, textarea{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:400;
}
input[type="button"],input[type="submit"]
{ -webkit-appearance: none; background: none; border: none; padding: 0; cursor: pointer;}
abbr, acronym
{ border: 0;}
*
{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}
/* !Clearfix
---------------------------------------------------------- */
.clearfix,
#header,
#contents,
section,
.box_layout01,
.box_column01,
.list_inline01
{
	display: block;
	min-height: 1%;
}
.clearfix:after,
#header:after,
#contents:after,
section:after,
.box_layout01:after,
.box_column01:after,
.list_inline01:after
{
	clear: both;
	content:".";
	display: block;
	height: 0;
	visibility: hidden;
}

/* !contents
---------------------------------------------------------- */

.sp{
	display:none;
}

html { overflow-y: scroll;}
@media print {
	html,
	html body { *zoom: 0.65;}
}

.Clear {
	clear: both;
}

a {
	color: #009ACA;
	text-decoration: underline;
}

a:hover {
	color: #009ACA;
	text-decoration: none;
}

/* 電話番号の処理 */
@media(min-width: 768px){
	a[href^="tel:"]{
	  pointer-events: none;
	}
  }
  


/* !Fonts -------------------------------------------------------------- */
.mincho{
	font-family: 'Noto Serif JP', serif;
	font-weight:400;
}
.fwB { font-weight: bold;}
.fz18 { font-size: 18px;}
.fz28 { font-size: 28px;}
.fsMincho { font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;}
.lh2 { line-height: 2em;}

/* !Margin ------------------------------------------------------------------ */
.mt10 { margin-top:10px !important;}
.mt20 { margin-top:20px !important;}
.mt40 { margin-top:40px !important;}
.mt60 { margin-top:60px !important;}
.mt80 { margin-top:80px !important;}
.mb60 { margin-bottom:60px !important;}

/* !Padding ------------------------------------------------------------------ */
.pt10 { padding-top:10px;}
.pt20 { padding-top:20px;}
.pt40 { padding-top:40px;}
.pt60 { padding-top:60px;}
.pt80 { padding-top:80px;}
.pt120 { padding-top:120px;}
.pb60 { padding-bottom:60px;}


/* !Width ------------------------------------------------------------------- */
.w60per { width: 60% !important; margin:0 auto;}
.w80per { width: 80% !important; margin:0 auto;}

/* !Inline Align ------------------------------------------------------------ */
.taC { text-align: center !important;}
.taC_spL { text-align: center !important;}
.taR { text-align: right !important;}
.ImgC { display: block; margin-left: auto; margin-right: auto;}

/* !Floats ------------------------------------------------------------------ */
.flL { display: inline; float: left;}
.flR { display: inline; float: right;}


/* フェードイン --------------------------------------------------------------- */

/* 左から右へ */
.an-faderight {
    animation-name: faderight;
    animation-duration: 1s;
    animation-iteration-count: 1;
}
@keyframes faderight {
from {
    opacity: 0;
    transform: translateX(-20px);
}
to {
    opacity: 1;
transform: translateX(0);
}
}

/* 右から左へ */
.an-fadeleft {
    animation-name: fadeleft;
    animation-duration: 1s;
    animation-iteration-count: 1;
}
@keyframes fadeleft {
from {
    opacity: 0;
     transform: translateX(20px);
}
to {
    opacity: 1;
    transform: translateX(0);
}
}

/* 下から上へ */
.an-fadeup {
    animation-name: fadeup;
    animation-duration: 1s;
    animation-iteration-count: 1;
}
@keyframes fadeup {
from {
    opacity: 0;
     transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

/* スクロールでフェードイン ----------------------------------------------------- */
.fadein01 {
  opacity : 0;
  transform: translateY(20px);
  transition: all 1s;
}
.fadein02 {
  opacity : 0;
  transform: translateY(-20px);
  transition: all 1s;
}
.fadein03 {
  opacity : 0;
  transform: translateY(20px);
  transition: all 1s;
}
.fadein04 {
  opacity : 0;
  transform: translateY(20px);
  transition: all 1s;
}
.fadein05 {
  opacity : 0;
  transform: translateX(-20px);
  transition: all 1s;
}
.fadein06 {
  opacity : 0;
  transform: translateX(20px);
  transition: all 1s;
}


/* ページトップ に戻る ----------------------------------------------------- */
.pagetop {
    display: none;
    position: fixed;
    bottom: 96px;
    right: 36px;
	cursor: pointer;
	opacity:.9;
	z-index:9999;
}
.pagetop a {
    display: block;
    text-align: center;
	filter:alpha(opacity=50);
    opacity: 0.5;
}
.pagetop a:hover {
    display: block;
    text-align: center;
	filter:alpha(opacity=50);
    opacity: 0.5;
}
.pagetop img{
	width:64px;
}


/* !汎用コンテンツ
---------------------------------------------------------- */
header {
	position:fixed;
	top:0;
	background:#07264B;
	width:100%;
	padding:0 0 0 3%;
	display:flex;
	justify-content:space-between;
	z-index: 9999;
}

.hm_wrap{
	display:none;
}

h1{
	padding:8px;
	z-index: 9999;
}
h1 img{
	height:32px;
	width:auto;
}
/*
.nav{
	margin:0 0 0 auto;
}
.nav ul{
	display:flex;
	align-items: center;
}
.nav ul li a{
	display:inline-block;
	padding:10px 2.5em;
	font-size:13px;
	line-height:1.1em;
	color:#fff;
	text-align:center;
	text-decoration:none;
	transition:.3s;
}
.nav ul li a span{
	font-size:9px;
}
.nav ul li a:hover{
	background:#2a4d76;
	color:#fff;
}
.nav ul li a.contact{
	background:#0082af;
}
.nav ul li a:hover.contact{
	background:#e3a313;
}
*/

/* ナビゲーション */
.gnavi__wrap {
}
.gnavi__lists {
    display: flex;
}
.gnavi__list {
    height: 48px;
    position: relative;
    transition: all .3s;
}
.gnavi__list:hover {
    background:#2a4d76;
}
.gnavi__list:hover::before {
    background-color: #0071BB;
}
.gnavi__list a {
	display:block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    font-size:13px;
	line-height:1.1em;
	color:#fff;
    transition: all .3s;
	padding:10px 3.5em;
	text-align:center;
}
.gnavi__list:hover a {
    color: #fff;
}
.gnavi__list a span{
	font-size:9px;
}

.gnavi__list a.contact{
	background:#0082af;
}
.gnavi__list a:hover.contact{
	background:#e3a313;
}

/* ドロップダウン */
.dropdown__lists {
    display: none;/*デフォルトでは非表示の状態にしておく*/
    width: 100%;
    position: absolute;
    top: 48px;
    left: 0;
	border-top:solid 1px #07264B;
}
.gnavi__list:hover .dropdown__lists {
    display: block;/*Gナビメニューにホバーしたら表示*/
}
.dropdown__list {
    background-color: #2a4d76;
    height: 48px;
    transition: all .3s;
    position: relative;
}
.dropdown__list:not(:first-child)::before{
    content: "";
    width: 100%;
    height: 1px;
    background-color: #07264B;
    position: absolute;
    top: 0;
    left: 0;
}
.dropdown__list:hover {
    background-color: #0082af;
}
.dropdown__list a {
    display: flex;
	flex-flow: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-decoration: none;
    position: relative;
	padding:0 1em;
}
.dropdown__list a span{
    display:inline-block;
	font-size:12px;
}


/* フッタ */
.footer01{
	background:#f4f7f6;
	color:#07264B;
	padding:60px 0 40px;
}
.footer_inner{
	width:92%;
	max-width:1280px;
	margin:0 auto;
	text-align:center;
}
.footer_logo{
	display:block;
	width:80%;
	max-width:220px;
	margin:0 auto;
}
.footer_name{
	padding-top:1em;
	font-size:16px;
}
.footer_info{
	padding-top:1em;
	font-size:12px;
	line-height:1.6em;
}
.footer_info a{
	text-decoration:none;
	color:#07264B;
}
.footer02{
	background:#3d5062;
	text-align:center;
}
.footer_nav{
	display:flex;
	justify-content: center;
	margin:0;
}
.footer_nav li{
	padding:0.5em 0;
}
.footer_nav li a{
	display:inline-block;
	padding:0 1.5em;
	line-height:1em;
	font-size:14px;
	color:#fff;
	text-decoration:none;
	border-right:solid 1px #fff;
}
.footer_nav li:last-child a{
	border-right:none;
}
.footer_nav li a:hover{
	text-decoration:underline;
}
.footer_copy{
	background:#162839;
	padding:1em 0;
	text-align: center;
	font-size:11px;
	color:#fff;
}


/* 共通 */
.wrapper{
	background:url(common/img/content01.svg) top center no-repeat;
	background-size:100%;
}
.wrapper02{
	background:url(common/img/content02.svg) top center no-repeat;
	background-size:100%;
}
.wrapper03{
	background:url(common/img/content03.svg) top center no-repeat;
	background-size:100%;
}
.content{
	padding:3% 3% 0;
	max-width:1600px;
	margin:0 auto;
}

.content_main{
	background:rgba(255,255,255,.6);
	padding:120px 3% 0;
}

.col{
	padding-bottom:120px;
}

.col h3{
		width: 120px;
		height: 120px; 
		background-color: #07264B;
		color:#fff;
		border-radius: 50%; 
		margin: 0 auto;/* ←円を中央揃え */
		text-align: center;/* ←文字を左右に中央揃え */
		line-height: 120px;/* ←文字を上下に中央揃え */
}

/* アンカーリンク位置調整 */
#organization,#message,#philosophy,#profile,#access {
  scroll-margin-top: 80px; /* ←ヘッダーの高さ */
}
@media only screen and (max-width: 800px) {
#organization,#message,#philosophy,#profile,#access {
  scroll-margin-top: 100px; /* ←ヘッダーの高さ */
}
}

/* パンくずリスト */
.page_nav{
	background:#07264B;
	padding:8px 2%;
	display:flex;
	font-size:14px;
}
.page_nav li{
	color:#fff;
}
.page_nav li a{
	color:#fff;
	text-decoration:none;
}
.page_nav li a:hover{
	text-decoration:underline;
}
.page_nav li:after{
	content:'　/　';
}
.page_nav li:last-child::after{
	content:none;
}


/* Table */
.table01{
	width:100%;
	line-height:1.6;
}
.table01 th{
	width:20%;
	border-bottom:dotted 1px #ccc;
	vertical-align: top;
	padding:0.7em 1em;
}
.table01 td{
	width:80%;
	border-bottom:dotted 1px #ccc;
	vertical-align: top;
	padding:0.7em 1em;
}

.table01 td table{
	width:auto;
}
.table01 td table th{
	width:auto;
	border-bottom:none;
	vertical-align: top;
	padding:0 2em 0.5em 0;
}
.table01 td table td{
	width:auto;
	border-bottom:none;
	vertical-align: top;
	padding:0 2em 0.5em 0;
}

.table01 td dd{
	padding:0 0 0.5em 1em;
}

.table01 td p{
	padding-bottom:0.4em;
}

/* ボタン */
.button{
	text-align:center;
	width:88%;
	margin:0 auto;
}
.button a {
	display: block;
	padding: 0.6em 0;
	width: 90%;
	max-width:360px;
	color: #fff;
	text-decoration:none;
	background-color: #0082AF;
	transition: 0.3s;
	position:relative;
	margin:0 auto;
	font-size:14px;
}
  
.button a::after {
	content: '';
	position: absolute;
	bottom: 8px;
	right: 8px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 12px 12px;
	border-color: transparent transparent #fff transparent;
	transition: 0.3s;
}
  
.button a:hover {
	text-decoration: none;
	background-color: #126380;
}
  
.button a:hover::after {
	bottom: 4px;
	right: 4px;
}

.button a span{display:inline-block;}

.button.rec a {
	display: block;
	padding: 0.7em 0;
	width: 90%;
	max-width:360px;
	color: #000000;
	text-decoration:none;
	background-color: transparent;
	border:1px solid #000000;
	transition: 0.3s;
	position:relative;
	margin:0 auto;
	font-size:14px;
}
.button.rec a::after {
	content: '';
	position: absolute;
	bottom: 8px;
	right: 8px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 12px 12px;
	border-color: transparent transparent #0082AF transparent;
	transition: 0.3s;
}
.button.rec a:hover {
	text-decoration: none;
	background-color: transparent;
}
  
.button.rec a:hover::after {
	bottom: 4px;
	right: 4px;
}

/* 見出し下の菱形 */
.diamond {
	width: 24px;
	height: 24px;
	background: #07264B;
	transform: rotate(45deg);
	margin:48px auto 0;
}

/* YouTube埋め込み */
.movie{
	width:94%;
	max-width:880px;
	margin:0 auto;
}
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* 事業内容など */
.business_txt{
	width:88%;
	margin:-6em auto 0;
	background: rgba(255, 255, 255, 0.9);
	padding:3%;
	position:relative;
	box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.4);
}
.business_txt h5{
	font-size:24px;
	color:#0070A0;
}
.business_txt p{
	/*padding-top:1em;*/
}


/* トップページ */
.video-box {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-top:56.25%;
}
.video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
  
/* overlay */
.overlay::after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	/*background:url(common/img/pattern.png);*/
}

/* ムービーフルスクリーン */
.video-box02 {
	position: relative;
	overflow: hidden;
	width: 100%;
	height:98vh;
}
.video02 {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}


/* LOGO */
.text-box {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 998;
}
.text-box .logo {
	padding: 0 8%;
	text-align: center;
}
.text-box .logo img{
	display:block;
	width:60%;
	max-width:320px;
	margin:0 auto;
}

.scroll{
    position: absolute;
    bottom: 30px;
    left: 50%;
	padding-top: 60px;
	margin-left:-12px;
	z-index: 998;
}

.scroll a {
	color: #fff;
	text-decoration:none;
}
.scroll a span {
	position: absolute;
	top: 0;
	left: 50%;
	width: 30px;
	height: 50px;
	margin-left: -15px;
	border: 2px solid #fff;
	border-radius: 50px;
	box-sizing: border-box;
}
.scroll a span::before {
	position: absolute;
	top: 10px;
	left: 50%;
	content: '';
	width: 6px;
	height: 6px;
	margin-left: -3px;
	background-color: #fff;
	border-radius: 100%;
	-webkit-animation: sdb 2s infinite;
	animation: sdb 2s infinite;
	box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

/* news */

.top_news{
	padding:120px 4% 0;
}

.top_news.archive {
	padding-bottom: 4%;}

.top_news p{
	text-align:right;
	padding-top:1em;
	padding-bottom:1em;
}

.top_news ul {
  list-style: none;
  padding: 0;
}
.top_news li {
  margin-bottom: 1.5em;
  display: flex;
  flex-direction: row;
  gap: 10px;
  border-bottom: 1px dotted;
  padding-bottom: 1.5em;
}
.news-date {
  color: #888;
  font-size: 0.9em;
}
.news_outer {
  width:70%;
  padding:3% 3% 1%;
  border:solid 1px #07264B;
  margin:60px auto 0;
  border-radius: 10px;
}
/* 投稿ページ本文内のブロックスタイル優先 */

.post-content h1,
.post-content h2,
.post-content h3,
.post-content p,
.post-content ul,
.post-content ol {
    list-style: revert;
    margin: revert;
    padding: revert;
    font-size: revert;
    font-weight: revert;
    line-height: revert;
}
#post h1{
font-size: 32px;
    padding-bottom: 1em;
	font-family: 'Noto Serif JP', serif;
    font-weight: 400;
	color:#07264B;
	line-height:1.5;
}

#post p{
line-height:1.8;
margin-top:28px;
margin-bottom:28px;
}

#post{
max-width: 1000px;
margin:auto;
}

@media only screen and (max-width: 820px) {
.top_news li {
  margin-bottom: 1.5em;
  display: flex;
  flex-direction:column;
  gap: 10px;
  border-bottom: 1px dotted;
  padding-bottom: 1.5em;
}
.news_outer {
  width:100%;
  padding:3% 3% 1%;
  border:solid 1px #07264B;
  margin:60px auto 0;
  border-radius: 10px;
}
.top_news{
	padding:60px 4% 0;
}
}


/* イントロダクション */
.top_intro{
	padding:120px 4% 33%;
	background:url(common/img/top_intro.jpg) center bottom no-repeat;
	background-size:contain;
}
.top_intro h2{
	text-align:center;
	font-size: 40px;
}
.top_intro p{
	text-align:center;
	padding-top:3em;
	line-height:2em;
}

/* AMCOについて */
.top_about{
	padding:120px 4%;
	background-image:
		url(common/img/top_about_left.svg),
    	url(common/img/top_about_right.svg);
  	background-position:
    	top left,
    	bottom right;
	background-repeat:
		no-repeat,
		no-repeat;
	background-size:
		33%;
}
.top_about h2{
	text-align:center;
	font-size: 40px;
}
.top_about p{
	text-align:center;
	padding-top:3em;
	line-height:2em;
}

.top_about_list{
	display:flex;
	padding:80px 4% 0;
	width:100%;
	max-width:1280px;
	margin:0 auto;
	gap: 1em;
}
.top_about_list .top_aboutbox{
	width:33.33%;
	position:relative;
	padding:2%;
	display: flex;
	flex-direction: column;
	flex: 1 0 auto; /* fix IE11 */
	background-color:#eee;
}
.top_about_list .top_aboutbox img{
	position:relative;
}
.top_about_list .top_aboutbox h3{
	color:#0082AF;
	font-size:24px;
	line-height:1em;
	padding-top:1em;
}
.top_about_list .top_aboutbox h3 span{
	font-size:14px;
	color:#000;
	padding:20px 0 0 0;
}
.top_about_list .top_aboutbox p{
	padding:10px 0;
	text-align:left;
	display: flex;
    flex-direction: column;
    flex: 1 0 auto; /* fix IE11 */
}
.top_about_list .top_aboutbox .button{
	margin-top: auto; /* 位置を下に揃える */
}

/* Voice */
.top_voice h2{
	padding:160px 4%;
	background:url(common/img/top_voice.jpg) center 50% no-repeat;
	background-size: cover;
	font-size:48px;
	text-align:center;
	color:#fff;
	line-height:1em;
}
.top_voice h2 span{
	font-size:20px;
}
.top_voicebox{
	padding:120px 4%;
}
.top_voicebox h3{
	text-align:center;
	font-size:40px;
}
.top_voicebox p{
	text-align:center;
	padding-top:3em;
	line-height:2em;
}
.top_voice_img{
	width:100%;
	max-width:2000px;
	margin:0 auto;
	display:flex;
}
.top_voice_photo{
	width:25%;
	background:#07264B;
}
.top_voice_photo a{
	transition:.3s;
	display:block;
	position:relative;
	color:#fff;
	text-decoration:none;
}
.top_voice_photo a:hover{
	opacity:.8;
}
.top_voice_img p{
	width:100%;
	position:absolute;
	left:0;
	bottom:0;
	background:rgba(0, 0, 0, 0.6);
	padding:3%;
	text-align:center;
}
.top_voice_img p span{
	display:inline-block;
}


/* 会社概要 */
.link_bn{
	width:96%;
	max-width:880px;
	margin:40px auto 0;
	display:flex;
}
.link_bn .bn_box{
	width:50%;
	padding:0 2%;
}
.link_bn .bn_box a{
	transition:.3s;
}
.link_bn .bn_box a:hover{
	opacity:.6;
}

.list-square{
	max-width:800px;
	margin:0 auto;
	padding-top:60px;
}
.list-square li{
	padding-bottom:0.8em;
	padding-left:1.2em;
	position:relative;
}
.list-square li:before{
	content:'■ ';
	color:#0070A0;
	position:absolute;
	left:0;
	top:0;
}

.message{
	background:url(common/img/company/message.jpg) center bottom no-repeat;
	background-size:cover;
	padding:80px 4%;
	position: relative;
	overflow: hidden;
	margin-bottom:120px;
}

.message_inner{
	width:92%;
	max-width:1040px;
	margin:0 auto;
}
.message h3{
	width: 120px;
	height: 120px; 
	background-color: #fff;
	color:#07264B;
	border-radius: 50%; 
	margin: 0 auto;/* ←円を中央揃え */
	text-align: center;/* ←文字を左右に中央揃え */
	line-height: 120px;/* ←文字を上下に中央揃え */
}
.message_box{
	padding-top:4em;
	color:#fff;
}
.message_box h4{
	font-size:30px;
	padding-bottom:1em;
	line-height:1.4;
}
.message_box h4 span {
	display: inline-block;
}
.message_box p{
	padding-bottom:0.5em;
	line-height:1.8em;
}

.message_name{
	padding-top:2em;
	text-align:right;
	font-size:20px;
}
.message_name .small{
	font-size:13px;
}
.tree{
	padding-top:80px;
	width:92%;
	max-width:960px;
	margin:0 auto;
}

.col.map{
	padding-bottom:0;
}

/* アクセス詳細 */
.access_details h4{
padding:10px 20px;
background:#0082af;
		font-size:1.8rem;
		color:#fff;
		margin-bottom:60px;
}
@media (max-width: 800px) {
	.access_details h4{
		font-size:1.3rem;
	}}
/* ---- スライド ---- */
.slider-wrapper {
  position: relative;
max-width: 1000px;
  margin: 0 auto;
}
.my-slider .slick-slide {
  opacity: 0.6;
  transition: opacity .3s;
padding:0 10px;  /* 左右のすきま */
}
.my-slider .slick-center {
  opacity: 1;
}
.my-slider img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}
/* ---- ボタン ---- */
.arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 10;
}
.arrow img {
  width: 40px;
  height: auto;
}
/* ← 左右の「すきま中央」へ配置する */
.arrow-prev {
  left: 20px;
}
.arrow-next {
  right: 20px;
}
/* スマホ用調整 */
@media (max-width: 600px) {
  .my-slider .slick-slide { padding: 0 5px; }
  .arrow img { width: 30px; }
  .arrow-prev { left: 10px; }
  .arrow-next { right: 10px; }
}

/* 動画 */
.access-dtl {
    display: flex;
    align-items: center;
	gap:20px;
    width: 100%;
	max-width:1000px;
	margin:auto;
}
.access-dtl img{
    width: 100%;
}
.access-dtl p{
    font-size:1.2rem;
	text-align:center;
	margin-bottom:20px;
}

@media (max-width: 600px) {
	.access-dtl {
		flex-direction: column;
	}
	.access-dtl p{
    font-size:1rem;
}
}

/* マウスカーソルを手にする */
.open-video-modal {
  cursor: pointer;
}

/* モーダル初期状態 */
/* モーダル全体 */
.video-modal {
  /* display をやめる */
  opacity: 0;
  visibility: hidden;

  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.75);

  /* フェードアニメーション */
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

/* モーダル表示状態 */
.video-modal.active {
  opacity: 1;
  visibility: visible;
}

/* モーダルセンタリング */
.video-modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 800px;
  background: #000;
  padding: 0;
  border-radius: 8px;
  overflow: hidden;
}

/* × ボタン */
.video-modal-close {
  position: absolute;
  right: 15px;
  top: 10px;
  color: #fff;
  font-size: 32px;
  cursor: pointer;
  z-index: 99999;
}

/* アスペクト比 16:9（YouTubeと同じ比率） */
.video-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}

.video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* 事業内容 */
.service_about{
	padding-bottom:80px;
}
.service_about h3{
	text-align:center;
	font-size: 40px;
	line-height:1.5;
}
.service_about h3 span{display:inline-block;}
.service_about h4{
	text-align:center;
	font-size: 24px;
	line-height:1.5em;
}
.service_about h4 span{display:inline-block;}
.service_about p{
	text-align:center;
	padding-top:3em;
	line-height:2em;
}
.service_about p span {
	display: inline-block
}

.service01{
	background:url(common/img/service/service01_back.jpg) right 50% no-repeat;
	background-size:cover;
	padding:3%;
}
.service02{
	background:url(common/img/service/service02_back.jpg) left 50% no-repeat;
	background-size:cover;
	padding:3%;
}
.service03{
	background:url(common/img/service/service03_back.jpg) left 50% no-repeat;
	background-size:cover;
	padding:3%;
}

.service_top_box{
	background:rgba(255, 255, 255, 0.9);
	padding:6% 4%;
	text-align:center;
	width:44%;
}
.service_top_box p{
	padding-bottom:2em;
}
.service_top_box p span{
	display:inline-block;
}
.service_top_box h4{
	font-size:40px;
	padding-bottom:2em;
    line-height:1.5;
}
.service02 .service_top_box{
	margin:0 0 0 auto;
}
.service_bn{
	padding-bottom:60px;
}
.service_bn a{transition:.3s;}
.service_bn :hover{opacity:.8;}
.esg{
	background:url(common/img/service/esg.jpg) center 50% no-repeat;
	background-size:cover;
	padding:12% 3% 18%;
}
.esg h4{
	text-align:center;
	font-weight:700;
	font-size:30px;
	color:#fff;
	line-height:1.5em;
}
.esg h4 span{display:inline-block;}
.esg_list{
	padding:2% 4%;
}
.esg_list li{
	margin:1em 0;
	text-align:center;
	background:#28C895;
	color:#fff;
	padding:0.7em;
	border-radius: 1.5em;
	font-size:110%;
}
.esg_list li span{
	display:inline-block;
}

/* AMCO PRIDE */
.content.pride {
    padding: 0 3%;
    max-width: 1600px;
    margin: 0 auto;
}
.team-pride {
	position: relative;
}
.team-pride .bg-img{
	width:100%; display:block;
}
.team-pride .type-img{
	display:flex; position: absolute; top:0; left:0; width:100%; padding:20px;
}
.team-pride .type-img .main-title{
	width:96.5%; padding-right:15%;
}
.team-pride .type-img .type-eng{
	width:3.5%;
}
.team-pride .catch-txt {
	position: absolute; right: 0; bottom: 0;padding:20px;
}
.safety{
	display:flex; width:100%; padding:20px;background-image: linear-gradient(90deg, #187fc4, #ffffff);
}
.safety .type-eng{
	width:3.0%;margin: auto 0;
}
.safety .outer-flex{
	width:97%;display:flex;display:flex; justify-content: space-between; align-items: center;
}
.safety .img-photo{
	width: 50%; margin: auto 0; padding: 0 0 0 30px;
}
.safety .inner-block{
	width:50%; padding:0 3% 0 0;
}
.safety .inner-block .type-block{
	width:35%;margin: 0 0 6% auto;font-size:2rem;font-weight:bold;
}
.comfort{
	display:flex; width:100%; padding:20px;background-color:#efefef;
}
.comfort .type-eng{
	width:3.0%;margin: auto 0;
}
.comfort .outer-flex{
	width:97%;display:flex;display:flex; justify-content: space-between; align-items: center;
}
.comfort .img-photo{
	width:50%;margin: auto 0; padding:20px 30px;
}
.comfort .inner-block{
	width:50%; padding-left:30px;
}
.comfort .inner-block .type-block{
	width:35%;margin: 0 auto 6% 0;
}
.pride{
	display:flex; width:100%; padding:20px;background-color:#bae2f7;
}
.pride .type-eng{
	width:3.0%;margin: auto 0;
}
.pride .outer-flex{
	width:97%;display:flex;display:flex; justify-content: space-between; align-items: center;
}
.pride .img-photo{
	width:50%;margin: auto 0; padding:20px 30px;
}
.pride .inner-block{
	width:50%; padding-left:30px;
}
.pride .inner-block .type-block{
	width:80%;margin: 0 auto 6% 0;
}
.design{
	display:flex; width:100%; padding:20px;align-items: center;
}
.design .type-eng{
	width:3.0%;margin: auto 0;
}
.design .outer-flex{
	width:97%;display:flex;display:flex; justify-content: space-between; align-items: center;
}
.design .img-photo{
	width: 50%; margin: auto 0; padding: 20px 30px;
}
.design .inner-block{
	width:50%; padding:0 3% 0 0;
}
.design .inner-block .type-block{
	width:100%;margin: 0 0 6% auto;
}
.sleeve{
	position:relative;margin-bottom:60px;
}
.sleeve .txt-catch{
	background-color:#fff;padding:2%;color:#036eb8;position:absolute;top:50%;left:50%;transform: translate(-50%, -50%);line-height:0;
}
.focus-point{
	width:80%;margin:auto;
}
.focus-point .title{
	font-size:30px;font-weight:bold;color:#ffffff;background-color:#036eb8;width:40%;margin:auto;text-align:center;padding:10px 0;margin-bottom:60px;
}
.focus-point .point{
	display:flex;padding-bottom:50px;
}
.focus-point .photo-img{
	width:40%;
}
.focus-point .text-block{
	width:60%; padding-left:20px;
}
.focus-point .text-block .title-block{
	font-size:1.4rem;font-weight:bold;padding-bottom:1rem;line-height:1.6;
}
.focus-point .text-block p span{
	font-size:0.85rem;
}
.pride-slider .slick-slide img {
    width: auto;
    height: 300px;
    display: block;
}

@media screen and (max-width: 800px) {
.pride-slider .slick-slide img {
	height: 200px;
	}
.safety .outer-flex,.comfort .outer-flex,.pride .outer-flex{
	flex-direction:column;
}
.safety .img-photo {
	width:100%;
	padding:0;
}
.safety .inner-block {
	width:100%;
}
.comfort .inner-block,.pride .inner-block {
    width: 100%;
    padding-left: 3%;
}
.comfort .img-photo,.pride .img-photo {
    width: 100%;
    padding: 20px 20px 0 3%;
}
	.design .outer-flex{
			flex-direction:column-reverse;
}
.design .inner-block {
    width: 100%;
    padding: 0 0 0 20px;
}
.design .img-photo {
    width: 100%;
    padding: 20px 0 0 0;
}
.sleeve .txt-catch {
	width:70%;
}
.focus-point .title {
    width: 100%;
}
.focus-point .point {
    flex-direction:column;
}
.focus-point .photo-img {
    width: 100%;
	padding-bottom:20px;
}
.focus-point .text-block {
    width: 100%;
}
}

/* 採用情報 */
.recruit{
	display:flex;
	align-items: center;
	width:100%;
}
.reverce{
	flex-direction: row-reverse;
}

.recruit_img{
	width:36%;
}
.recruit_txt{
	width:64%;
	padding:0 3%;
}

.recruit_txt h5{
	width: 64px;
	height: 64px; 
	background-color: #07264B;
	color:#fff;
	border-radius: 50%; 
	margin: 0 auto;/* ←円を中央揃え */
	text-align: center;/* ←文字を左右に中央揃え */
	line-height: 64px;/* ←文字を上下に中央揃え */
}
.recruit_txt h6{
	font-size:24px;
	text-align:center;
	line-height:1.5em;
}
.recruit_txt h6 span{
	display:inline-block;
}
.recruit_txt p{
	padding-top:40px;
}

.entry{
	text-align:center;
}
.entry h3{
	font-size:30px;
}


.entry_btn{
	display:flex;
	align-items: center;
	width:100%;
}
.entry_btn .button{
	text-align:center;
	width:50%;
	margin:0 auto;
}
.entry_btn .button a {
	display: block;
	padding: 2em 0;
	width: 90%;
	max-width:360px;
	color: #fff;
	font-size:18px;
	text-decoration:none;
	background-color: #07264B;
	transition: 0.3s;
	position:relative;
	margin:0 auto;
}
  
.entry_btn .button a::after {
	content: '';
	position: absolute;
	bottom: 8px;
	right: 8px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 12px 12px;
	border-color: transparent transparent #fff transparent;
	transition: 0.3s;
}
  
.entry_btn .button a:hover {
	text-decoration: none;
	background-color: #0082AF;
}

.entry_btn .button a:hover::after {
	bottom: 4px;
	right: 4px;
}

.interview{
	background:#F5F5F5;
	padding:60px 0;
}
.interview h3{
	font-size:30px;
	text-align:center;
}

.interview_box{
	background:#07264B;
	display:flex;
	align-items: center;
	width:100%;
}
.interview_box .img{
	width:38%;
}
.interview_box .txt{
	width:62%;
	padding:4%;
	color:#fff;
}
.interview_box .txt .text01{
	font-size:1.6vw;
	line-height:1.4;
	padding:0;
}
.interview_box .txt .text02{
	font-size:2.4vw;
	line-height:1.2;
	padding-bottom:0;
	padding-top:20px;
}
.interview_box .txt .text02 span{
	font-size:1.4vw;
	line-height:1.2;
}

.interview_box .txt .button{
	text-align:center;
	width:50%;
	margin:0;
}
.interview_box .txt .button span {
	display: block;
	padding: 0.7em 0;
	max-width:360px;
	color: #fff;
	font-size:1vw;
	text-decoration:none;
	background-color: #07264B;
	border:solid 1px #fff;
	transition: 0.3s;
	position:relative;
	margin:0 auto;
}

    .voice_box01 li,.voice_box02 li {
        width: 62%;list-style:none;
    }

@media (max-width: 800px) {
    .voice_box01 li,.voice_box02 li {
        width: 100%;list-style:none;
    }
}

.slick-slider li a,.voice_box01 li a,.voice_box02 li a{
	text-decoration:none;
}

.interview_box .txt .button span::after {
	content: '';
	position: absolute;
	bottom: 6px;
	right: 6px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 8px 8px;
	border-color: transparent transparent #fff transparent;
	transition: 0.3s;
}
 
.slick-slider li a:hover .interview_box .txt .button span,
.voice_box01 li a:hover .interview_box .txt .button span,
.voice_box02 li a:hover .interview_box .txt .button span,
.voice_box03 li a:hover .interview_box .txt .button span,
.voice_box04 li a:hover .interview_box .txt .button span
{
	text-decoration: none;
	background-color: #0082AF;
}

.slick-slider li a:hover .interview_box .txt .button span::after,
.voice_box01 li a:hover .interview_box .txt .button span::after,
.voice_box02 li a:hover .interview_box .txt .button span::after,
.voice_box03 li a:hover .interview_box .txt .button span::after,
.voice_box04 li a:hover .interview_box .txt .button span::after
{
	bottom: 4px;
	right: 4px;
}

.slick-slider li{
	padding:20px;
}

.voice_name{
	padding-top:40px;
	text-align:center;
}
.name01{
	padding-top:0;
	font-size:24px;
}
.name02{
	padding-top:10px;
	font-size:36px;
}
.name03{
	padding-top:20px;
	font-size:18px;
}

.job{
	background:#FFF898;
	display:flex;
	align-items: center;
	width:100%;
	margin-top:30px;
	padding:1%;
}
.job_circle{
	width: 80px;
	height: 80px; 
	background-color:#0070A0;
	color:#fff;
	border-radius: 50%; 
	margin: 0 auto;/* ←円を中央揃え */
	text-align: center;/* ←文字を左右に中央揃え */
	line-height: 80px;/* ←文字を上下に中央揃え */
	font-size:24px;
}
.job_text{
	width:90%;
	padding:0 3%;
}

.voice_box01{
	display:flex;
	padding-top:60px;
}
.voice_box01 .photo{
	width:40%;
}
.voice_box01 .text{
	width:60%;
	padding:0 3%;
}

.voice_box02{
	display:flex;
	padding:60px 0;
}
.voice_box02 .photo{
	width:60%;
}
.voice_box02 .text{
	width:40%;
	padding:0 3%;
}

.voice_box01 h4,
.voice_box02 h4{
	font-size:24px;
	color:#0070A0;
}
.voice_box01 h4 span,
.voice_box02 h4 span{
	display:inline-block;
}
.voice_box01 p,
.voice_box02 p{
	padding:1em 0 3em;
}

.link_bn02{
	width:96%;
	max-width:880px;
	margin:40px auto 0;
	text-align:center;
}
.link_bn02 .bn_box{
	width:50%;
	max-width:195px;
	margin:0 auto;
}
.link_bn02 .bn_box a{
	transition:.3s;
}
.link_bn02 .bn_box a:hover{
	opacity:.6;
}

/* お問い合わせ */
.service_about p.tel{
	padding-top:10px;
}
.service_about p.tel span{
	font-size:36px;
	font-weight:bold;
	color:#0070A0;
}
.service_about p.tel a{
	text-decoration:none;
}

/* 採用フローティングバナー */
/* PCのみ表示 */
@media screen and (min-width: 768px) {

    .floating-banners {
        position: fixed;
        top: 68px;           /* 右上の位置 */
        right: 0;
        z-index: 9998;
    }

    .banner-item {
        position: relative;
        width: 235px;        /* 画像サイズ */
        height: 95px;
        margin-bottom: 0; /* 縦間隔 */
        display: block;
        overflow: hidden;
        transform: translateX(155px); /* ← 235pxの半分程度を隠して半分だけ見せる */
        transition: transform 0.4s ease;
        cursor: pointer;
    }

    /* 通常オフ画像を表示、オン画像は透明 */
    .banner-item img {
        position: absolute;
        top: 0;
        left: 0;
        width: 235px;
        height: 95px;
        transition: opacity 0.4s ease;
    }

    .banner-item img.on {
        opacity: 0;
    }

    /* ホバー時：左へスライド＆オン画像フェードイン */
    .banner-item:hover {
        transform: translateX(0);
    }
    .banner-item:hover img.off {
        opacity: 0;
    }
    .banner-item:hover img.on {
        opacity: 1;
    }
}

/* SP時は非表示 */
@media screen and (max-width: 767px) {
    .floating-banners {
        display: none;
    }
}

/* 社員紹介 */
.w-o-70 {
	width: 70% !important;
	margin: 0 auto;
}
.s-interview__column {
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
	gap: 1rem;
}
.s-interview__column > * {
	cursor: pointer;
	width: -webkit-calc((100% / 2) - .5rem);
	width: -moz-calc((100% / 2) - .5rem);
	width: calc((100% / 2) - .5rem);
}
.s-interview__column figcaption {
	text-align: center;
}
.s-interview__modal {
	opacity: 0;
	pointer-events: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	   -moz-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		 -o-transform: translate(-50%, -50%);
			transform: translate(-50%, -50%);
	background: rgba(0,0,0,.75);
	-webkit-transition: opacity 1s;
	-moz-transition: opacity 1s;
	-o-transition: opacity 1s;
	transition: opacity 1s;
}

.s-interview__modal.is-view {
	opacity: 1;
	pointer-events: auto;
}

.s-interview__modal__container {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	   -moz-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		 -o-transform: translate(-50%, -50%);
			transform: translate(-50%, -50%);
	width: 75%;
	max-width: 500px;   
}

.s-interview__modal-close {
	position: absolute;
	top: 0;
	right: 0;
	-webkit-transform: translate(100%, -100%);
	   -moz-transform: translate(100%, -100%);
		-ms-transform: translate(100%, -100%);
		 -o-transform: translate(100%, -100%);
			transform: translate(100%, -100%);
	width: 30px;
	aspect-ratio: 1;
	-webkit-border-radius: 50%;
	   -moz-border-radius: 50%;
			border-radius: 50%;
	background: rgba(255,255,255,.75);
	cursor: pointer;
}
.s-interview__modal-close::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	   -moz-transform: translate(-50%, -50%) rotate(-45deg);
		-ms-transform: translate(-50%, -50%) rotate(-45deg);
		 -o-transform: translate(-50%, -50%) rotate(-45deg);
			transform: translate(-50%, -50%) rotate(-45deg);
	width: 75%;
	height: 2px;
	background: #000;
}

.s-interview__modal-close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	   -moz-transform: translate(-50%, -50%) rotate(45deg);
		-ms-transform: translate(-50%, -50%) rotate(45deg);
		 -o-transform: translate(-50%, -50%) rotate(45deg);
			transform: translate(-50%, -50%) rotate(45deg);
	width: 75%;
	height: 2px;
	background: #000;
}

/* 働く環境 */
.working_environment h4{
padding:10px 3%;
background:#2496ea;
		font-size:1.8rem;
		color:#fff;
		margin-bottom:20px;
}

/* -- 2025.11.04 -- update */
.page-header{
  position: relative;
  width: 100%;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.page-header.about{
  background: url('/wp-content/themes/e-amco/common/img/company/cover.jpg') center/cover no-repeat;
}
.page-header.service{
  background: url('/wp-content/themes/e-amco/common/img/service/cover.jpg') center/cover no-repeat;
}
.page-header.service02{
  background: url('/wp-content/themes/e-amco/common/img/service/cover02.jpg') center/cover no-repeat;
}
.page-header.service03{
  background: url('/wp-content/themes/e-amco/common/img/service/cover03.jpg') center/cover no-repeat;
}
.page-header.service04{
  background: url('/wp-content/themes/e-amco/common/img/service/cover04.jpg') center/cover no-repeat;
}
.page-header.service05{
  background: url('/wp-content/themes/e-amco/common/img/service/cover05.jpg') center/cover no-repeat;
}
.page-header.recruit{
  background: url('/wp-content/themes/e-amco/common/img/recruit/cover.jpg') center/cover no-repeat;
}

.page-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(5, 33, 71, 0.35);
  z-index: 0;
}

.diamond-box {
  position: relative;
  text-align: center;
  color: #fff;
  z-index: 1;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
}

/* ダイヤ背景（正方形を中央に固定） */
.diamond-box::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 260px;  /* 正方形サイズ（ここが重要） */
  height: 260px; /* 同じ値で正方形に */
  background: rgba(7, 38, 75, 0.8);
  transform: translate(-50%, -50%) rotate(45deg);
  z-index: -1;
}

/* タイトル部分 */
.diamond-box h1 {
  margin-top: 20px;
  font-size: 2.2rem;
  margin-bottom: 5px;
}

.diamond-box p {
  font-size: 1rem;
  margin-top: 0;
  opacity: 0.9;
}
@media (max-width: 800px) {
  .page-header {
  height: 220px;
}
  .diamond-box::before {
    width: 140px;
    height: 140px;
  }
  .diamond-box h1 {
    font-size: 1.3rem;
  }
  .diamond-box p {
    font-size: 0.7rem;
  }
}