@import url("style.css");

div[id] {
  scroll-margin-top: 120px; /* 固定ヘッダー高さ＋余白 */
}

#page{
	padding-top:0;
	padding-bottom:0;
	margin-top:-250px;
}

#page-contents{
	padding-top:0;
}

h1.section-title{
font-size: 1.4rem;
color:#000;
font-weight:700;
position: relative;
text-align:center;
margin-bottom:90px;
}

h1.section-title:after{
content: "";
position: absolute;
left: 50%;
bottom: -30px; /* テキストの下に余白 */
width: 4%;
height: 3px;
background-color: #2A45B2;
transform: translateX(-50%);
}


h1.section-title span{
display:block;
margin-top:20px;
font-size:0.9rem;
text-align:left;
}

p.section-title-eng{
	text-transform: uppercase
}

p.page-eng{
	font-size:3rem;
	font-weight:900;
	color:#008CD6;
	margin:0;
}

h2{
	font-size:1rem;
}

.page-btn1 a{
	color:#FFF;
	background:#008CD6;
	padding:20px 40px;
	border: 2px solid #008CD6;
  text-decoration: none;
  transition: all 0.3s ease;
}

.page-btn1 a:hover{
	border: 2px solid #008CD6;
	color:#008CD6;
	background:#FFF;
}

/* company */

.page-company table{
	width:100%;
}

.page-company table th{
	width:25%;
	padding:25px 15px;
	color:#008CD6;
	border-bottom:solid 2px #008CD6;
	font-weight:normal;
}

.page-company table td{
	width:75%;
	padding:25px 15px;
	border-bottom:solid 1px #666;
}

.company-table-wapper{
	background:#f8faff;
	padding:40px;
}

.map-left,.map-right{
	padding:15px;
}

/* recruit */

.recruit{
width: 100%;
background: url("../img/recruit-bg.jpg") center top no-repeat;
background-size: auto;
background-size: contain;
position: relative;
padding-top:80px!important;
}

.apply {
width: 100%;
background: url("../img/recruit-tel-bg.jpg") center top no-repeat;
background-size: auto;
background-size: cover;
position: relative;
}

.recruit h2{
	color:#FFF;
}

.recruit-message{
	color:#FFF;
	font-size:1.2rem;
	line-height:1.8;
}

.recruit .tel-right,.recruit .tel-left{
	padding:0 15px;
}

.recruit .tel-left{
	font-weight:800;
}

.recruit .tel-right{
	font-size:3rem;
	font-weight:800;
}

.recruit .apply {
	padding:40px 20px;
	color:#FFF;
	border-radius:5px;
}

.recruit .apply img{
	width:40px;
}

/* contact */

.contact-lead{
	background:#008CD6;
	color:#FFF;
	padding:25px;
	text-align:center;
}

.contact-form-area{
	font-weight:700;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea{
width:100%;
padding:20px;
border-radius:10px;
background:#FFF;
}

input[type="submit"]{
width:30%;
padding:20px;
border-radius:10px;
border:none;
background:#124693;
color:#FFF;
font-size:1.3rem;
appearance: none; /* OS依存の見た目を無効化 */
-webkit-appearance: none; /* Safari用 */
}

.contact-form-area span.title{
	display:inline-block;
	margin-bottom:10px;
	margin-top:30px;
}

.contact-btn{
	text-align:center;
	padding:40px 0 80px;
}

.wpcf7-spinner{
	display:block!important;
	margin:0 auto!important;
}

.required,.err{
color:red;
}

/* service */

.service{
width: 100%;
background: url("../img/service-bg.png") center top no-repeat;
background-size: auto;
background-size: contain;
position: relative;
padding-top:80px!important;
}

.page-service h2{
	font-size:1.8rem;
	margin-bottom:20px;
}

.page-service h2 span{
	font-size:2.4rem;
	padding-right:10px;
	color:#2A45B2;
}

.bg-white-gra{
	background:#FFF;
	padding:40px;
}

.service01-link{
	position:relative;
}

.service01-link a{
	display:block;
	background:#2A45B2;
	color:#FFF;
	padding:20px;
	transition: all 0.3s ease;
}

.service01-link a:hover{
	opacity:0.5;
}

.service01-link p{
	margin:0;
}

.service01-link a h3{
	font-size:1.1rem;
}

.service01-link a+p{
	display:none;
}

.service01-link a span{
	font-size:0.8rem;
	margin:0;
}

.service-info{
	display:inline-block;
	position:absolute;
	background:#FFF;
	right:4px;
	top:4px;
	color:#2A45B2;
	font-size:1rem;
	padding:0 8px;
	font-weight:600;
}

/* support */

.page-support h2{
	font-size:1.2rem;
	padding-top:30px;
}

.support-wapper{
	padding:10px 0 30px;
	border-bottom:solid 1px #666;
}

.support-content{
	width:70%;
	padding:5px;
}

.support-content a i{
	padding-left:10px;
}

.support-field{
	width:30%;
	padding:5px;
}

/* single */

.single-contents h2{
	font-size:1.4rem;
	font-weight:600;
}

.single-contents time{
	padding-bottom:20px;
	display:inline-block;
}
.single-contents time i{
	padding-right:5px;
}

/* single list */

.news-list{
	border-bottom:solid 1px #666;
	padding:30px 30px 15px;
}

.news-list time{
	font-weight:700;
	display:inline-block;
	color:#008CD6;
	font-size: 0.8rem;
}

.news-list time span.j{
	font-size: 2.6rem;
    line-height: 0.8;
	display:block;
}

.news-list a{
	display:block;
	color:#111;
	position: relative;
}

.news-list a::after {
  content: "→";          /* 矢印 */
  position: absolute;     /* 絶対配置 */
  right: -10px;               /* 右端に配置 */
  top: 50%;               /* 垂直中央 */
  transform: translateY(-50%); /* 中央揃え */
  font-size: 0.9em;       /* サイズ調整 */
font-weight:500;
color:#008CD6;
}


.news-list a h2{
	color:#008CD6;
	font-weight:600;
}

.news-time,.news-content{
	padding:0 10px;
}

.news-time{
	width:10%;
}

.news-content{
	width:90%;
}

/* error 404 */

.error{
	margin-top:130px!important;
}

/* ################################
 * レスポンシブメディアクエリ CSS
 * ################################ */

/* Extra extra large (xxl) - ~1399.98px 以下 */
@media (max-width: 1399.98px) {
}

/* Extra large (xl) - ~1199.98px 以下 */
@media (max-width: 1199.98px) {

}

/* Large (lg) - ~991.98px 以下 */
@media (max-width: 991.98px) {

}

/* Medium (md) - ~767.98px 以下 */
@media (max-width: 767.98px) {
	#page{
		margin-top:-36vw;
	}
	section.page-hero{
		margin-top:18px;
	}
	.company-table-wapper table th,.company-table-wapper table td{
		width:100%;
		display:block;
		border:none;
	}
	.company-table-wapper table th{
		background:#0088D0;
		color:#FFF;
	}
	.page-company .d-flex{
		text-align:center;
		display:block!important;
	}
	.company-table-wapper{
		padding:20px;
	}
	.support-wapper{
		display:block!important;
	}
	.support-content,.support-field{
		width:100%;
	}
	.recruit{
		background-size:auto;
	}
	.news-list .d-flex{
		display:block!important;
	}
	.news-time,.news-content{
		width:100%;
	}
	.news-time{
		margin-bottom:5px;
	}
	.news-list {
		padding:20px 10px 10px;
	}
	.news-list time span.j{
		display:inline;
		font-size:0.8rem;
	}
	.news-list a::after{
		right:-15px;
	}
	.single-list-contents{
		padding-top:0;
	}
}


/* Small (sm) - ~575.98px 以下 */
@media (max-width: 575.98px) {
	.recruit-message{
		font-size:1.1rem;
	}
	.recruit .tel-right{
		font-size:10vw;
	}
	.recruit .apply img{
		width:8vw;
	}
	h1.section-title{
		font-size:5vw;
	}
	.page-service h2{
		font-size:6vw;
	}
	.page-service h2 span {
		font-size:8vw;
	}
	.tel-left{
		font-size:3.4vw;
	}
	.contact-lead{
		text-align:left;
	}
	input[type="submit"] {
		width:62%;
	}
	.contact-btn{
		padding-bottom:0;
	}
	.wpcf7{
		padding:0 20px;
	}
}

