.SPnone{
	display:none;
}

/*ヘッダー*/
#NextPC-header{
	position:relative;
	margin:auto;
	align-items: center;
	padding-top:10px;
}
#NextPC-header h1{
	display:flex;
}
#NextLogoImg{
	width:60px;
	padding-right:5px;
}
#NextLogo{
	width:200px;
}
#NextLogo img{
	width:150px;
}
#NextLogo small{
	display:block;
	text-align:center;
	font-weight:300;
}
#Icon-home{
	display:none;
}
#HeaderNav{
	display:none;
}

#Header-NextInfo{
	display:none;
}
#Header-ContactBtn{
	display:none;
}
#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{
	position:relative;
	margin:auto;
	padding-bottom:10px;
}
#NXT-LEFT{
	position:relative;
	width:90%;
	margin:auto;
	margin-top:15px;
}
#NXT-RIGHT{
	position:relative;
	width:90%;
	margin:auto;
}
#NXT-catch1{
	font-size:17px;
	letter-spacing:3px;
	font-weight:600;
	text-align:center;
	padding-bottom:10px;
}
#NXT-catch2{
	text-align:center;
	font-size:17px;
	letter-spacing:1px;
	font-weight:400;
	background-color:#4E9CC1;
	color:#FFF;
	line-height:40px;
}

.NXT-text1{
	text-align:left;
	font-size:15px;
	margin:auto;
	line-height:2.2em;
	letter-spacing:1px;
	padding-bottom:50px;
	width:90%;
}
.NXT-text1 br{
	display:none;
}

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

#TopNews{
	background-color:#f7f1eb;
	padding:40px 20px;
}
#TopNews h2{
	text-align:center;
	font-size:18px;
	padding-bottom:15px;
}
#TopNews dl{
	position:relative;
	margin:auto;
	padding-bottom:15px;
	padding-top:15px;
	border-bottom:dashed 1px #CCC;
}
#TopNews dl dt{
	font-size:15px;
	padding-bottom:5px;
}
#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:20px;
}
#Footer footer{
	margin:auto;
	position:relative;
}
#FooterLEFT{
	padding-bottom:15px;
}
#FooterLEFT h1{
	width:150px;
	padding-bottom:10px;
}
#FooterLEFT p{
	font-size:13px;
	color:#FFF;
	line-height:1.1em;
}
#FooterRIGHT{
	position:relative;
	color:#FFF;
}
#FooterRIGHT nav{
	display:none;
}
#FooterRIGHT nav li{
	font-size:15px;
}
.FR-P1{
	font-size:14px!important;
	position:relative;
	padding-bottom:5px;
}
#FooterRIGHT small{
	display:block;
	text-align:right;
	font-size:11px;
	font-weight:300;
	letter-spacing:1px;
	padding-top:10px;
}

/*about us*/
.CEOgreeting{
	position:relative;
	margin:auto;
	padding-top:30px;
	padding-bottom:50px;
}
.CEO-greetingImg{
	width:90%;
	margin:auto;
}
.CEO-BK{
	width:90%;
	height:300px;
	display:block;
	background-color:#E5E9EA;
	margin-top:20px;
	margin:auto;
}

.masked-image {
  width: 90%;
height:350px;
  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:25px;
}

.masked-image img {
  width: 100%;
	height:100%;
  height: auto;
  display: block;
	object-fit:cover;
}
.CEO-greetingInfo{
	position:relative;
	width:90%;
	padding-top:70px;
	margin:auto;
}
.CEO-greetingInfo h2{
	font-size:18px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	position:relative;
	padding-bottom:15px;
}
.CEO-name{
	text-align:right;
	font-size:17px;
	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:18px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	position:relative;
	padding-bottom:35px;
}
.CEO-comment{
	font-size:15px;
	line-height:2em;
}
#CorporateInfo{
	position:relative;
	margin:auto;
	padding-bottom:10px;
}
#CorporateInfo h2{
	font-size:15px;
	font-weight:600;
	padding-bottom:35px;
	padding-left:15px;
}
.CorporateData{
	position:relative;
}
.CorporateData dl{
	position:relative;
	align-items: stretch;
}
.CorporateData dl > *{
	padding:10px;
}
.CorporateData dl dt{
	border-top:2px solid #A0D1E0;
	font-size:15px;
	color:#4b9bad;
}
.CorporateData dl dd{
	border-top:1px solid #CCC;
	font-size:15px;
}
.CorporateData dl dd small{
	padding-right:10px;
}

/*service*/
#ServiceLead{
    position: relative;

    padding: 30px;
    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;
	margin:auto;
}
.ServiceCAT{
	position:relative;
	margin:auto;
	padding-bottom:30px;
}
.ServiceCAT h2{
    font-size: 20px;
    position: relative;
    padding-bottom: 25px;
    letter-spacing: 3px;
    background-image: url(../img/title_headimg.svg);
    background-repeat: no-repeat;
    background-size: auto 30px;
	line-height:25px;
	padding-left:35px;
	margin-left:15px;
}
.Scat-Info{
	position:relative;
}
.ScatIn-Img{
	width:90%;
	margin:auto;
}
.ScatIn-tx{
	width:90%;
	padding-top:15px;
	margin:auto;
}
.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: 18px;line-height:60px;
	display:block;
	color:#FFF;
	position:relative;
	top:40%;
	margin:auto;
}
.ADDcont p{
	width:90%;
	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:90%;
	position:relative;
	margin:auto;
	padding-top:30px;
	padding-bottom:100px;
}
.ArtBX-TYP1 h2{
	text-align:center;
	font-size:18px;
	line-height:1.6em;
	padding-bottom:30px;
}
.ArtBX-TYP1 p{
	font-size:16px;
	letter-spacing:1px;
	line-height:1.8em;
	color:#494949;
}

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

.JobAR-BK{
	background-color:#E3EBF2;
	padding-top:20px;
}
.JobItems{
	margin:auto;
	position:relative;
	padding:15px;
	padding-bottom:10px;
}
.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:100%;
	border:1px solid #A5A098;
	background-color:#E8E5E2;
	margin-bottom:35px;
}
.JobItems article section{
	background-color:#FFF;
	padding:20px;
}
.JobItems article section div{
	font-size:20px;
}
.JobItems article section div a{
	font-weight:600;
	color:#333;
}
.JobItems article section .DTList{
}
.JobItems article section .DTList li{
	border-bottom:1px dotted #CCC;
	padding:5px;
	font-size:15px;
}
.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;
	padding-bottom: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{
	position:relative;
	margin:auto;
	border:1px solid #B7AEA4;
}
.JBofferTable dl{
	position:relative;
	border-top:1px solid #B7AEA4;
}
.JBofferTable dl:first-child{
	border-top:0px;
}
.JBofferTable dl > *{
	padding:10px 20px;
}
.JBofferTable dl dt{
	background-color:#E8E5E2;
	font-size:14px;
}
.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{
	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:90%;*/
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{
	position:relative;
	margin:auto;
	border:1px solid #B2BCDA;
}
.JBformTable dl{
	position:relative;
}
.JBformTable dl:first-child{
	border-top:0px;
}
.JBformTable dl > *{
	padding:10px;
}
.JBformTable dl dt{
	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;
	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]+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;
    }
input[type=radio][value="option1"]+label:before{
        background-image: url(../img/radio_off.png);
    }
input[type=radio][value="option2"]+label:before{
        background-image: url(../img/radio_off.png);
    }
input[type=radio][value="option1"]:checked+label::before{
        background-image: url(../img/radio_on.png);
    }
input[type=radio][value="option2"]: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{
	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:18px;
	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;
	margin:auto;
	padding-bottom:15px;
	padding-top:15px;
	border-bottom:1px dashed#95AFC2;
}
#NewAR dl dt{
	font-size:14px;
	padding-bottom:10px;
}
#NewAR dl dd{
	font-size:16px;
	line-height:1.3em;
}
#NewAR dl dd a{
	color:#00178b;
}
#NewAR dl dd a:hover{
	color:#0020C3;
}
.TopicsArticle{
	position:relative;
	margin:auto;
}
.TopicsArticle dt{
	position:relative;
	font-size:18px;
	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:1px;
	line-height:2.5em;
}
.TopicsArticle dd span{
	display:block;
	height:240px;

}
.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: 13px;
  margin: 10px 0;
  padding: 10px 8px;
  background-color: #f0f0f0;
  border-left: 4px solid #0077cc;
  border-radius: 4px;
  line-height: 1.6;
}

.breadcrumb a {
  color: #0077cc;
  text-decoration: underline;
}

.breadcrumb a:hover {
  opacity: 0.7;
}

.breadcrumb::before {
  content: "🔗";
  margin-right: 4px;
	margin-left:10px;
}
.related-posts {
  margin: 40px 15px;
}

.related-posts h2 {
  font-size: 20px;
  border-left: 4px solid #333;
  padding-left: 10px;
  margin-bottom: 20px;
  font-weight: bold;
}

.related-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.related-list li {
  background: #fdfdfd;
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
}

.related-list li a {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  text-decoration: none;
  color: #333;
  padding: 10px;
}

.related-list img {
  width: 80px;
  height: auto;
  flex-shrink: 0;
  border-radius: 4px;
}

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

.related-list .excerpt {
  font-size: 13px;
  color: #666;
  line-height: 1.4;
}
