/* CSS Document */

/* common
---------------------------------------------------------*/
.pc { display:none; }
.sp { display:block; }
@media screen and (min-width: 769px){   
  .pc { display:block; }
  .sp { display:none; }
}

/* top
---------------------------------------------------------*/
#latest_news{
	
	}
#latest_news h2{
    font-weight: bold;
    letter-spacing: 0.2em;
    margin: 1.5em auto 0;
	text-align:center;
	}

#latest_news h2 a{
	color:#000;
	border-bottom: 3px solid #000000;
	}
/* news
---------------------------------------------------------*/
#news{}
#news .article{
	clear:both;
	padding-bottom:5em;
	}

#news .article_head{
    border-bottom: 3px solid #000000;
    margin-bottom: 1em;
	position:relative;
	width:100%;
	}
#news .article_head h2{
    font-size: 130%;
	margin-bottom:-1em;
	}
#news .article_head .date{
	text-align:right;
	font-family: 'nordbold';
	color:#9e9e9e;
	}

#news .article_text{
	clear:both;
	}
#news .article_text .photo{
    width: 800px;
	margin:0 auto 0 auto;	
	}
#news .article_text .photo img{
	width:800px;
	height:auto;
	overflow:hidden;
	margin-bottom:1em;
	}

#news .article_text .text{
	}
#news .article_text .text p{
	margin-bottom:1em;
	}
#news .text p img.aligncenter{
	margin:0 auto;
	display:block;
	}
#news .text p img{
	}

/* character
---------------------------------------------------------*/	
#character{
	/*height: 1280px;*/
	}

#character li{
	float:left;
	}


/* company
---------------------------------------------------------*/	
#company{
	padding-bottom:2em;
	}
#company h2{
    font-size: 200%;
    letter-spacing: 0.1em;
    margin-bottom: 2em;
	}
@media screen and (max-width: 768px) {
#company h2{
    font-size: 120%;
	}
}
#company .company-form {
	margin-bottom: 1em;
	}
#company .company-form::after {
	content: "";
	display: block;
	clear: both;
	}
#company dl{
	width:100%;
	}
@media screen and (max-width: 768px) {
#company dl{
	margin-top: 5%;
	}
}
#company dt, #company dl{
    min-height: 1em;
	}
#company dt{
    clear: both;
    float: left;
    margin-bottom: 2em;
    width: 10em;
	font-weight: bold;
	}
#company dd{
    float: left;
    margin-bottom: 2em;
	width: calc(100% - 11em);
	}
@media screen and (max-width: 768px) {
#company dt{
    width: 30%;
	}
#company dd{
    width: 65%;
	}
#company .group-company-item{
	margin-bottom: 2em;
	}
}
#company dd span{
    display: block;
    font-size: 90%;
	}
#company .group-company-item{
	margin-bottom: 2.5em;
	}
#company .group-company-item:last-child{
	margin-bottom: 0;
	}
#company .company-name{
	font-weight: normal;
	margin-bottom: 0.2em;
	}
#company .company-name-en{
	font-size: 90%;
	margin-bottom: 0.3em;
	}
#company .company-business{
	line-height: 1.6;
	font-feature-settings: "palt";
	}
#company dl a{
	color:#000 !important;
	text-decoration: none;
}
#company dl a:hover{
	text-decoration: underline;
}
#company .company-button {
	clear: both;
	text-align: center;
	margin-top: 3em;
	padding-top: 2em;
	border-top: 2px solid #000;
	}
#company .company-button img {
	width: 15%;
	}
@media screen and (max-width: 768px) {
#company .company-button {
	margin-top: 2em;
	padding-top: 1.5em;
	}
#company .company-button img {
	width: 28%;
	}
}

/* 連絡先の整形 */
#company .contact-info {
	display: block;
	clear: both;
}

#company .contact-row {
	display: flex;
	align-items: baseline;
	margin-bottom: 0.3em;
}

#company .contact-label {
	width: 2.5em;
	/*width: 3.5em;*/
	text-align: left;
	flex-shrink: 0;
}

#company .contact-colon {
	width: 1em;
	/*width: 1.5em;*/
	text-align: center;
	flex-shrink: 0;
}

#company .contact-value {
	flex: 1;
	text-align: left;
}

@media screen and (max-width: 768px) {
	#company .contact-label {
		width: 2.2em;
		/*width: 3em;*/
	}
	
	#company .contact-colon {
		width: 1.5em;
		/*width: 1.2em;*/
	}
}

@media screen and (min-width: 769px) {
	#company .contact-value {
		padding-left: 0.1rem;
	}
}
	
/* contact
---------------------------------------------------------*/	
#contact{
	margin-bottom:3em;
	}
#contact_head{
    border-bottom: 3px solid #000000;
    margin-bottom: 3em;
	width:100%;
	}
#contact form{
	}
#contact form dl{
	width:80%;
	max-width: 900px;
	margin:0 auto;
	}

#contact form dt{
	clear: both;
    float: left;
    margin-bottom: 2em;
    width: 200px;
	font-weight: bold;
	padding-top: 0.5em;
	}
#contact form dt span{
	font-size:85%;
	display:block;
	font-weight: normal;
	color: #666;
	margin-top: 0.3em;
	}
#contact form dd{
    float: left;
    margin-bottom: 2em;
	width: calc(100% - 220px);
	}
#contact form dd input{
	width: 100%;
	max-width: 600px;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	font-size: 100%;
	}
#contact form dd select{
	width: 100%;
	max-width: 600px;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	font-size: 100%;
	}
#contact form dd textarea{
    height: 200px;
    width: 100%;
	max-width: 600px;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	font-size: 100%;
	line-height: 1.6;
	}
#contact form .subit{
	clear:both;
	text-align:center;
	margin-top: 2em;
	}

#contact form .subit input{
    padding: 15px 80px;
    background-color: #000;
    color: #fff;
    border-style: none;
	cursor:pointer;
	font-size: 100%;
	border-radius: 4px;
	transition: background-color 0.3s ease;
	}
#contact form .subit input:hover{
	background-color: #333;
	}
#contact .caution{
    clear: both;
    font-size: 85%;
    margin-bottom: 1em;
    padding-top: 2em;
    text-align: center;
	line-height: 1.8;
	color: #666;
	}
#contact .caution span{
	display:block;
	}
#contact .wpcf7-form-control-wrap{
	position:relative;
	display: block;
	}
	
#contact .wpcf7-not-valid-tip-no-ajax{
    color: #e71e0f;
    font-size: 85%;
    display: block;
    margin-top: 0.3em;
	}
#contact .wpcf7-validation-errors{
    background: #fff3f3;
    border: 2px solid #E71E0F;
    color: #E71E0F;
    font-size: 100%;
    padding: 15px;
    text-align: center;
    margin: 20px auto;
	max-width: 600px;
	border-radius: 4px;
	}
#contact .wpcf7-mail-sent-ok{
    background: #f0f9ff;
    border: 2px solid #239fde;
    color: #239fde;
    font-size: 100%;
    padding: 15px;
    text-align: center;
    margin: 20px auto;
	max-width: 600px;
	border-radius: 4px;
	}

@media screen and (max-width: 768px) {
#contact{
	margin-bottom: 2em;
	}
#contact_head{
	margin-bottom: 2em;
	}
#contact form dl{
    width: 90%;
	}
#contact form dt{
    width: 100%;
	float: none;
	margin-bottom: 0.8em;
	padding-top: 0;
	}
#contact form dt span{
	margin-top: 0.5em;
	}
#contact form dd{
    width: 100%;
	float: none;
	margin-bottom: 2.5em;
	}
#contact input[type="text"] {
    font-size: 16px;
	}
#contact form dd input {
    width: 100% !important;
	max-width: 100%;
	padding: 14px 15px !important;
	height: auto !important;
	min-height: 48px;
	}
#contact form dd select {
    width: 100% !important;
    max-width: 100%;
    padding: 14px 15px !important;
    height: auto !important;
    min-height: 48px;
    -webkit-appearance: none; /* 追加: iOSのネイティブスタイルをリセット */
    appearance: none; /* 追加 */
    line-height: 1.5; /* 追加: 行の高さを明示的に指定 */
	background-color: #fff; /* 追加: 背景色を白に */
    background-image: url('data:image/svg+xml;utf8,<svg fill="%23333" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>'); /* 追加: カスタム矢印アイコン */
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
    padding-right: 40px !important; /* 矢印用のスペースを確保 */
	}
#contact form dd textarea {
    width: 100% !important;
	max-width: 100%;
	padding: 14px 15px !important;
	height: 180px !important;
	min-height: 180px;
	}
#contact form .subit{
	margin-top: 1.5em;
	}
#contact form .subit input{
    padding: 16px 40px;
	width: 100%;
	max-width: 100%;
	min-height: 54px;
	font-size: 110%;
	}
#contact .caution{
	padding-top: 2em;
	font-size: 80%;
	}
}

/* pager
---------------------------------------------------------*/	
.pager{
	text-align:center;
	margin-bottom:20px;
	}

.pager .page-numbers{
    border: 1px solid #CCCCCC;
    padding: 10px;
	}
.pager a{
	}
.pager a:hover{
	}
.pager .current{
	}
.pager .prev{
	}
.pager .next{
	}


/* recruit
---------------------------------------------------------*/	

#recruit{

	}
.recruit-table{
    margin: 40px auto;
	}
.recruit-table__row{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    font-size: 13px;
    line-height: 1.8;
    font-weight: 400;
    border-bottom: 1px solid #999;
    border-right: 1px solid #999;
	}
.recruit-table__row:first-of-type{
    border-top: 1px solid #999;
	}
.recruit-table__title{
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #888;
    color: #ffffff;
    font-size: 18px;
    /*font-size: 20px;*/
    line-height: 1.5;
    min-height: 90px;
    padding: 10px;
    font-weight: 700;
    width: 20%;
	}
.recruit-table__content__press{
    margin-top: 10px;
	}
.recruit-table__content__pm{
	}
.recruit-table__content__title{
    font-weight: bold;
	}
.recruit-table__content{
    font-size: 18px;
    line-height: 1.8;
    padding: 20px;
    font-weight: 400;
    width: 70%;
    display: flex;
    align-items: center;
	}
.recruit-table__content ul{
    margin-left: 1.4em;
	}
.recruit-table__content ul li{
    margin-left: 1em;
    text-indent: -1em;
	}
.recruit-table__content ul li::before{
    content: "・";
	}
.recruit-table__content .list2{
    margin-left: 1.4em;
	}
.recruit-table__content .list2 li{
    margin-left: 1em;
    text-indent: -1em;
	}
.recruit-table__content .list2 li::before{
    content: "※";
	}
#recruit　.tel-link-none {
    pointer-events: none;
	}

@media screen and (max-width: 768px) {
#recruit {
	}
.recruit-table__row {
    flex-direction: column;
    border-right: none;
}
.recruit-table__title{
    width: 100%;
	padding: 0;
    min-height: 50px;
	font-size: 100% !important;
	}
.recruit-table__content{
    width: 100%;
	padding: 2% 0 5%;
	font-size: 100% !important;
	}
	}