.PCnone{
	display:none;
}
/*ヘッダー*/
#NextPC-header{
	width:1200px;
	position:relative;
	display:flex;
	margin:auto;
	align-items: center;
	padding-top:10px;
}
#NextPC-header h1{
	width:330px;
	display:flex;
}
#NextLogoImg{
	width:85px;
	padding-right:5px;
}
#NextLogo{
	width:210px;
}
#NextLogo small{
	display:block;
	text-align:center;
	font-weight:300;
}
#Icon-home{
	width:75px;
	padding-right:30px;
}
#HeaderNav{
	width:450px;
	display:flex;
	justify-content: space-between;
	border-left:1px solid #999;
	padding-right:20px;
}
#HeaderNav li{
	font-size:15px;
	text-align:center;
	width:150px;
	border-right:1px solid #999;
	font-weight:500;
	line-height:1.3em;
	letter-spacing:3px;
}
#HeaderNav li small{
	display:block;
	font-size:11px;
	font-weight:300;
	color:#627377;
	letter-spacing:0px;
}

#HeaderNav a {
    display: block;
    padding: 15px 20px 20px;
    color: #222;
    text-decoration: none;
    text-transform: uppercase;
    position: relative;
  }
#HeaderNav a::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 5px;
    width: 0;
    height: 1px;
    background: #2B73AD;
    transition: all 0.3s ease-out;
  }
 #HeaderNav a:hover::after {
    width: 100%;
    left: 0;
  }
#HeaderNav a:hover{
	color:#000000;
	font-weight:500;
}

#Header-NextInfo{
	width:250px;
	padding-top:10px;
	padding-bottom:10px;
}
#Header-NextInfo p{
	font-size:23px;
	font-family: "Arial Black", Gadget, "sans-serif"
}
#Header-NextInfo p span{
	font-size:17px;
	padding-right:5px;
	font-family: Arial, Helvetica, "sans-serif";
}
#Header-NextInfo small{
	display:block;
	line-height:1.2em;
	font-size:14px;
	padding-top:2px;
}
#Header-NextInfo small a{
	display:block;
	color:#333;
}
#Header-ContactBtn{
	width:120px;
}
#Header-ContactBtn p {
  background: linear-gradient(to right, #003faa, #0f0055);
  background-size: 200% 100%;
  background-position: left center;
  text-align: center;
  height: 75px;
  color: #FFF;
  border-radius: 7px;
  transition: background-position 1s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
}

#Header-ContactBtn p a {
  color: #FFF;
  text-decoration: none;
  display: inline-block;
  width: 100%;
  height: 100%;
}

/* Hover時に背景の位置を反転 */
#Header-ContactBtn p:hover {
  background-position: right center;
}
#Header-ContactBtn p span{
	display:block;
	width:55px;
	margin:auto;
	padding-top:13px;
}
#Header-ContactBtn p small{
	display:block;
	font-size:12px;
	color:#FFF;
}

/*TopCont*/
#NextTopCont{
	width:1050px;
	position:relative;
	margin:auto;
	padding-top:50px;
	display:flex;
	padding-bottom:50px;
}
#NXT-LEFT{
	width:580px;
	padding-right:20px;
	position:relative;
}
#NXT-RIGHT{
	width:450px;
	padding-top:130px;
	position:relative;
}
#NXT-catch1{
	font-size:22px;
	position:absolute;
	top:45px;
	right:-410px;
	letter-spacing:3px;
	font-weight:600;
}
#NXT-catch2{
	text-align:center;
	font-size:23px;
	padding-top:45px;
	letter-spacing:3px;
	font-weight:600;
}

.NXT-text1{
	width:800px;
	text-align:center;
	font-size:18px;
	margin:auto;
	line-height:2.2em;
	letter-spacing:3px;
	padding-bottom:50px;
}

#TopCont2{
    width: 100%;
    height: 400px;
    position: relative;
    background-repeat: no-repeat;
    background-position: center top;
    background-image: url(../img/topcont2_bg.jpg);
    background-size: cover;
}
#LinkBOX{
	width:700px;
	position:relative;
	margin:auto;
	display:flex;
	justify-content: space-around;
	padding-top:90px;
}
#LinkBOX div{
	width:300px;
	text-align:center;
	line-height:200px;
	background-color:rgba(64,38,22,0.54);
	color:#FFF;
	font-size:21px;
	letter-spacing:3px;
	border:1px solid #FFF;
}
#LinkBOX div a{
	display:block;
	color:#FFF;
}
#LinkBOX div a:hover{
	background-color:rgba(64,38,22,0.58);
}
.BnnArea{
	width:680px;
	margin:auto;
	padding-top:50px;
	padding-bottom:50px;
	position: relative;
}

#TopNews{
	background-color:#f7f1eb;
	padding:60px;
}
#TopNews h2{
	text-align:center;
	font-size:28px;
	padding-bottom:35px;
}
#TopNews dl{
	position:relative;
	width:800px;
	margin:auto;
	display:flex;
	padding-bottom:15px;
}
#TopNews dl dt{
	font-size:15px;
	width:120px;
}
#TopNews dl dd{
	font-size:16px;
	line-height:1.3em;
}
#TopNews dl dd a{
	color:#00178b;
}
#TopNews dl dd a:hover{
	color:#0020C3;
}
#TopNews p{
	text-align:center;
	line-height:50px;
	border:1px solid #333;
	width:250px;
	margin:auto;
	margin-top:30px;
}
#TopNews p a{
	display:block;
	color:#222;
}
#TopNews p a:hover{
	background-color:#F0E4DA;
}

/*footer*/
#Footer{
	background-color:#196baf;
	padding:50px;
}
#Footer footer{
	

	width:1000px;
	margin:auto;
	position:relative;
	display:flex;
}
#FooterLEFT{
	width:350px;
	padding-right:50px;
}
#FooterLEFT h1{
	width:200px;
	padding-bottom:10px;
}
#FooterLEFT p{
	font-size:15px;
	color:#FFF;
}
#FooterRIGHT{
	position:relative;
	color:#FFF;
	width:650px;
}
#FooterRIGHT nav{
	display:flex;
	justify-content: space-between;
	width:100%;
	padding-bottom:25px;
}
#FooterRIGHT nav li{
	font-size:15px;
}
#FooterRIGHT nav li a{
	color:#FFF;
}
#FooterRIGHT nav li a:hover{
	color:#DAEBF9;
}
.FR-P1{
	fnt-size:15px;
	position:relative;
	padding-bottom:5px;
}
#FooterRIGHT small{
	display:block;
	text-align:right;
	font-size:13px;
	font-weight:300;
	letter-spacing:1px;
	padding-top:10px;
}

/*about us*/
.CEOgreeting{
	width:1000px;
	position:relative;
	margin:auto;
	padding-top:80px;
	padding-bottom:80px;
	display:flex;
}
.CEO-greetingImg{
	width:450px;
}
.CEO-BK{
	width:350px;
	height:400px;
	display:block;
	background-color:#E5E9EA;
	margin-left:25px;
	margin-top:50px;
}

.masked-image {
  width: 350px;
height:400px;
  clip-path: polygon(0% 5%, 100% 0%, 100% 95%, 0% 100%);
  box-shadow: 10px 10px 25px rgba(0, 0, 0, 0.3); /* ドロップシャドウ */
  transition: box-shadow 0.3s ease;
  overflow: hidden;
	position:absolute;
	top:85px;
}

.masked-image img {
  width: 100%;
	height:100%;
  height: auto;
  display: block;
	object-fit:cover;
}
.CEO-greetingInfo{
	position:relative;
	width:600px;
}
.CEO-greetingInfo h2{
	font-size:23px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	position:relative;
	padding-bottom:15px;
}
.CEO-name{
	text-align:right;
	font-size:20px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	position:relative;
	padding-bottom:35px;
}
.CEO-name small{
	padding-right:15px;
	font-size:15px;
}
.CEO-greetingInfo h3{
	font-size:23px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	position:relative;
	padding-bottom:35px;
}
.CEO-comment{
	font-size:16px;
	line-height:2em;
}
#CorporateInfo{
	width:800px;
	position:relative;
	margin:auto;
	padding-bottom:80px;
}
#CorporateInfo h2{
	font-size:15px;
	font-weight:600;
	padding-bottom:35px;
}
.CorporateData{
	position:relative;
}
.CorporateData dl{
	position:relative;
	display:flex;
	align-items: stretch;
}
.CorporateData dl > *{
	padding:20px;
}
.CorporateData dl dt{
	width:200px;
	border-top:2px solid #A0D1E0;
	font-size:15px;
}
.CorporateData dl dd{
	width:600px;
	border-top:1px solid #CCC;
	font-size:16px;
}
.CorporateData dl dd small{
	padding-right:10px;
}

/*service*/
#ServiceLead{
    position: relative;
    height: 450px;
    padding: 50px;
    background-image: url(../img/kyoto_bk.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
	margin-bottom:80px;
}
#ServiceLead p{
	margin:auto;
	font-size:16px;
	letter-spacing:2px;
	line-height:2em;
}
#serviceComment{
	padding:50px 25px;
	background-color:rgba(21,35,92,0.50);
	color:#FFF;
	width:820px;
	margin:auto;
}
.ServiceCAT{
	width:1000px;
	position:relative;
	margin:auto;
	padding-bottom:80px;
}
.ServiceCAT h2{
    font-size: 30px;
    position: relative;
    padding-bottom: 25px;
    letter-spacing: 3px;
    background-image: url(../img/title_headimg.svg);
    background-repeat: no-repeat;
    background-size: auto 35px;
	line-height:35px;
	padding-left:45px;
}
.Scat-Info{
	position:relative;
	display:flex;
}
.ScatIn-Img{
	width:500px;
	padding-right:25px;
}
.ScatIn-tx{
	width:475px;
	padding-top:15px;
}
.ScatIn-tx p{
	font-size:17px;
	line-height:1.6em;
	padding-bottom:15px;
	position:relative;
	letter-spacing:2px;
}

.ADDcont{
	position:relative;
}
.ADDcont h2{
   text-align: center;
   height: 250px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.ADDcont h2 span{
	background-color:rgba(0,47,126,0.70);
	 font-size: 25px;line-height:60px;
	display:block;
	color:#FFF;
	position:relative;
	top:40%;
	width:500px;
	margin:auto;
}
.ADDcont p{
	width:800px;
	position:relative;
	margin:auto;
	padding-top:50px;
	font-size:17px;
	letter-spacing:2px;
	line-height:2em;
	padding-bottom:80px;
}
#SDGsBK{
	background-image: url(../img/slide5.jpg);
}
#SafetyBK{
	background-image: url(../img/service_titlebk.jpg);
}
#FosterBK{
	background-image: url(../img/slide33.jpg);
}

.ArtBX-TYP1{
	width:800px;
	position:relative;
	margin:auto;
	padding-top:50px;
	padding-bottom:100px;
}
.ArtBX-TYP1 h2{
	text-align:center;
	font-size:25px;
	line-height:1.4em;
	padding-bottom:50px;
}
.ArtBX-TYP1 p{
	font-size:17px;
	letter-spacing:2px;
	line-height:1.8em;
}

/*career*/
#JobOffer{
	position:relative;
	
}
#JobOffer h2{
	border-top:1px solid #56AACC;
	font-size:33px;
	color:#56AACC;
	padding-bottom:70px;
}
#JobOffer h2 span{
	background-color:#FFF;
	position:absolute;
	top:-10px;
	display:block;
	margin:auto;
	left:0px;
	right:0px;
	width:300px;
	text-align:center;
}
#JobOffer h3{
	text-align:center;
	font-size:23px;
	line-height:1.4em;
	padding-bottom:50px;
	color:#1683A5;
	font-weight:500;
}
#JBO-tex{
	width:800px;
	margin:auto;
	font-size:17px;
	line-height:1.8em;
	position:relative;
	padding-bottom:80px;
}

.JobAR-BK{
	background-color:#E3EBF2;
	padding-top:50px;
}
.JobItems{
	width:800px;
	margin:auto;
	position:relative;
	padding-bottom:80px;
}
.JobArea{
	border:1px solid #56AACC;
	width:150px;
	text-align:center;
	line-height:40px;
	color:#1683A5;
	font-size:17px;
	margin-bottom:15px;
	background-color:#FFF;
}
.JobItems article{
	width:800px;
	border:1px solid #A5A098;
	background-color:#E8E5E2;
	margin-bottom:35px;
}
.JobItems article section{
	background-color:#FFF;
	display:flex;
	padding:20px;
}
.JobItems article section div{
	width:55%;
	font-size:20px;
}
.JobItems article section div a{
	font-weight:600;
	color:#333;
}
.JobItems article section .DTList{
	width:45%;
}
.JobItems article section .DTList li{
	border-bottom:1px dotted #CCC;
	padding:5px;
}
.JobItems article section .DTList li i{
	background-color:#2DB6D6;
	width:25px;
	line-height:25px;
	text-align:center;
	color:#FFF;
	margin-right:10px;
	font-size:17px;
	border-radius:5px;
}
.JobClick{
	background-color:#2DB6D6;
	width:300px;
	margin:auto;
	text-align:center;
	line-height:50px;
	margin-top:15px;
	margin-bottom:15px;
	font-size:20px;
}
.JobClick a{
	display:block;
	color:#FFF;
}
.JobClick a:hover{
	background-color:#6ACBE2;
}
.TaGs{
	position:relative;
	padding-top:10px;
}
.TaGs li{
	font-size:14px;
	background-color:#E8E5E2;
	color:#555;
	display:inline-block;
	line-height:23px;
	padding-left:10px;
	padding-right:10px;
	border-radius:3px;
	margin-bottom:3px;
		
}
.SSin{
	background-color:#DD2F3E!important;
	color:#FFF!important;
}
.ABit{
	background-color:#386DC3!important;
	color:#FFF!important;
}

.TaGs2{
	position:relative;
	padding-top:10px;
}
.TaGs2 li{
	font-size:16px;
	background-color:#E8E5E2;
	color:#333;
	display:inline-block;
	line-height:28px;
	padding-left:10px;
	padding-right:10px;
	border-radius:3px;
	margin-bottom:3px;	
}

.JBofferTable{
	width:800px;
	position:relative;
	margin:auto;
	border:1px solid #B7AEA4;
}
.JBofferTable dl{
	position:relative;
	display:flex;
	border-top:1px solid #B7AEA4;
}
.JBofferTable dl:first-child{
	border-top:0px;
}
.JBofferTable dl > *{
	padding:20px;
}
.JBofferTable dl dt{
	width:180px;
	background-color:#E8E5E2;
}
.EntryBtn{
	width:300px;
	background-color:#D01518;
	color:#FFF;
	line-height:70px;
	margin:auto;
	text-align:center;
	font-size:20px;
	margin-top:50px;
}
.EntryBtn a{
	display:block;
	color:#FFF;
}
.EntryBtn a:hover{
	background-color:#EB3C3F;
}
.JBO-ul{
	padding:15px;
}
.JBO-ul li{
	position:relative;
	padding-bottom:5px;
	color:#0987AA;
}
.JBO-ul span{
	display:block;
	padding-bottom:10px;
}

.PersonalData{
	width:600px;
	position:relative;
margin:auto;
	padding-top:35px;
}
.PersonalData h4{
	text-align:center;
	font-size:18px;
font-weight:500;
border-top:1px solid #333;
	padding:25px;
}
.PrivacyWrap dl{
	position:relative;
	padding-bottom:15px;
}
.PrivacyWrap dl dt{
	font-size:14px;
	font-weight:500;
}
.PrivacyWrap dl dd{
	font-size:13px;
	font-weight:300;
}
.PrivacyWrap dl dd ol{
	
}
.PrivacyWrap dl dd ol li{
    position: relative;
    list-style-position: outside;
    list-style-type: decimal;
}
.PrivacyWrap{
	position:relative;
	border:1px solid #CCC;
	padding:10px;
	overflow-y: scroll;
	background-color:#FFF;
	height:200px;
	margin-bottom:25px;
}
.SendCheck{
	background-color:#E0E9EE;
	text-align:center;
width:300px;
line-height:50px;
margin:auto;
border-radius:50px;
	font-size:15px;
	color:#113D83;
}
.SendBtn{
	text-align:center;
	padding-top:20px;
}
 .SendBtn input {
            width: 300px;
            height: 60px;
            background-color: #ccc; /* デフォルトはグレー */
            border: 0px;
            color: #FFF;
            font-size: 17px;
            letter-spacing: 2px;
            border-radius: 3px;
            cursor: not-allowed; /* 押せない状態を明示 */
        }

        .SendBtn input.enabled {
            background-color: #044470; /* 有効化された時の色 */
            cursor: pointer;
        }
.SendBtn input.enabled:hover{
	background-color:#0668AB;
}
.SendBtn small{
	padding-bottom:15px;
	display:block;
}

.JBformTable{
	width:800px;
	position:relative;
	margin:auto;
	border:1px solid #B2BCDA;
}
.JBformTable dl{
	position:relative;
	display:flex;
	border-top:1px solid #B2BCDA;
}
.JBformTable dl:first-child{
	border-top:0px;
}
.JBformTable dl > *{
	padding:20px;
}
.JBformTable dl dt{
	width:250px;
	background-color:#63B2DA;
	color:#FFF;
}
.JBformTable dl dt small{
	background-color:#FB7E00;
	color:#FFF;
	font-size:12px;
	padding:2px 5px;
	margin-left:10px;
}
.JBformTable dl dd{
	font-size:16px;
	width:650px;
	background-color:#F3F9FE;
}
.DDinput{
	height:40px;
	padding:2px;
	width:100%;
	border:1px solid #CCC;
}
.DDtextarea{
	height:250px;
	padding:2px;
	width:100%;
	border:1px solid #CCC;
}
.JBformTable dl dd select{
	height:35px;
	border:1px solid #CCC;
}

input[type=radio] {
  display: none;
}

input[type=radio] + label::before {
  content: "";
  display: inline-block;
  background-size: contain;
  width: 30px;
  height: 45px;
  background-repeat: no-repeat;
  background-position: 0px 10px;
  background-origin: padding-box;
  background-image: url(../img/radio_off.png); /* デフォルト */
}

input[type=radio]:checked + label::before {
  background-image: url(../img/radio_on.png); /* チェックされた時 */
}
input[type=radio]{
        display: none;
    }
		
		ul.radioList{
			display:table;
		}
		ul.radioList li{
			display:inline-block;
			padding-left:15px;
		}
		li > *{
			display:table-cell;
			vertical-align:middle;
		}
		li span{
			padding-left:5px;
		}


.ContactBX{
	width:500px;
	margin:auto;
	border:1px solid #CCC;
}
.ContactBX > *{
	padding:10px 15px;
}
.ContactBX  dt{
	background-color:#006FB7;
	color:#FFF;
	text-align:center;
}
.ContactBX  dd{
	text-align:center;
	font-size:20px;
	border-bottom:1px dotted #CCC;
	font-weight:600;
	background-color:#F9F9F9
}
.ContactBX  dd small{
	font-size:16px;
	padding-right:15px;
	font-weight:500;
}
.ContactBX  dd:last-child{
	border-bottom:none;
}

#NewAR dl{
	position:relative;
	width:800px;
	margin:auto;
	display:flex;
	padding-bottom:15px;
	padding-top:15px;
	border-bottom:1px dashed#95AFC2;
}
#NewAR dl dt{
	font-size:15px;
	width:120px;
}
#NewAR dl dd{
	font-size:17px;
	line-height:1.3em;
}
#NewAR dl dd a{
	color:#00178b;
}
#NewAR dl dd a:hover{
	color:#0020C3;
}
.TopicsArticle{
	width:1000px;
	position:relative;
	margin:auto;
}
.TopicsArticle dt{
	position:relative;
	font-size:21px;
	text-align:center;
	padding-bottom:50px;
	letter-spacing:3px;
	font-weight:500;
}
.TopicsArticle dt small{
	display:block;
	padding-bottom:10px;
	letter-spacing:0px;
	font-weight:400;
}
.TopicsArticle dd{
	font-size:16px;
	letter-spacing:3px;
	line-height:2.5em;
}
.TopicsArticle dd span{
	display: block;
        max-width: 300px;
        vertical-align: top;
        float: left;
        padding-right: 25px;
	max-height:350px;
}
.TopicsArticle dd span img{
	width:100%;
	height:100%;
	object-fit:cover;
}
input[type="checkbox"] {
            width: 15px; /* 横幅を設定 */
            height: 15px; /* 高さを設定 */
            transform: scale(1.5); /* 拡大率を設定 */
            -webkit-transform: scale(1.5); /* Safari用 */
        }

.breadcrumb {
  font-size: 14px;
  margin: 20px auto;
  padding: 8px 12px;
  background-color: #f8f8f8;
  border-radius: 5px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
	width:1000px;
}

.breadcrumb a {
  text-decoration: none;
  color: #0077cc;
  transition: color 0.2s;
}

.breadcrumb a:hover {
  color: #005999;
}

.breadcrumb::before {
  content: "📍";
  margin-right: 6px;
}
.related-posts {
  margin: 60px auto;
  max-width: 1100px;
}

.related-posts h2 {
  font-size: 24px;
  border-left: 6px solid #333;
  padding-left: 12px;
  margin-bottom: 30px;
  font-weight: bold;
}

.related-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.related-list li {
  width: calc(25% - 15px);
  background: #fafafa;
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.3s ease;
}

.related-list li:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.related-list li a {
  display: block;
  text-decoration: none;
  color: #333;
  padding: 10px;
}

.related-list img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 10px;
  border-radius: 4px;
}

.related-list .title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 6px;
}

.related-list .excerpt {
  font-size: 14px;
  color: #666;
}
